@felan-ai/daemon 0.3.2 → 0.4.1

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 (55) hide show
  1. package/NOTICE +0 -2
  2. package/dist/daemon/admission.d.ts +1 -1
  3. package/dist/daemon/admission.d.ts.map +1 -1
  4. package/dist/daemon/admission.js +2 -3
  5. package/dist/daemon/admission.js.map +1 -1
  6. package/dist/daemon/commands.d.ts +2 -1
  7. package/dist/daemon/commands.d.ts.map +1 -1
  8. package/dist/daemon/commands.js +90 -19
  9. package/dist/daemon/commands.js.map +1 -1
  10. package/dist/daemon/control-state.d.ts +10 -0
  11. package/dist/daemon/control-state.d.ts.map +1 -1
  12. package/dist/daemon/control-state.js +3 -0
  13. package/dist/daemon/control-state.js.map +1 -1
  14. package/dist/daemon/control-store.d.ts +2 -2
  15. package/dist/daemon/control-store.d.ts.map +1 -1
  16. package/dist/daemon/control-store.js +34 -6
  17. package/dist/daemon/control-store.js.map +1 -1
  18. package/dist/daemon/extension-ui.js +1 -1
  19. package/dist/daemon/extension-ui.js.map +1 -1
  20. package/dist/daemon/legacy-sessions.d.ts +3 -2
  21. package/dist/daemon/legacy-sessions.d.ts.map +1 -1
  22. package/dist/daemon/legacy-sessions.js +26 -7
  23. package/dist/daemon/legacy-sessions.js.map +1 -1
  24. package/dist/daemon/legacy-summary-cache.d.ts +20 -0
  25. package/dist/daemon/legacy-summary-cache.d.ts.map +1 -0
  26. package/dist/daemon/legacy-summary-cache.js +150 -0
  27. package/dist/daemon/legacy-summary-cache.js.map +1 -0
  28. package/dist/daemon/message-bounds.d.ts +3 -0
  29. package/dist/daemon/message-bounds.d.ts.map +1 -0
  30. package/dist/daemon/message-bounds.js +61 -0
  31. package/dist/daemon/message-bounds.js.map +1 -0
  32. package/dist/daemon/operational-log.d.ts +5 -0
  33. package/dist/daemon/operational-log.d.ts.map +1 -1
  34. package/dist/daemon/operational-log.js +7 -2
  35. package/dist/daemon/operational-log.js.map +1 -1
  36. package/dist/daemon/processes.d.ts.map +1 -1
  37. package/dist/daemon/processes.js +40 -23
  38. package/dist/daemon/processes.js.map +1 -1
  39. package/dist/daemon/projection.d.ts +16 -1
  40. package/dist/daemon/projection.d.ts.map +1 -1
  41. package/dist/daemon/projection.js +77 -12
  42. package/dist/daemon/projection.js.map +1 -1
  43. package/dist/daemon/registry.d.ts +8 -0
  44. package/dist/daemon/registry.d.ts.map +1 -1
  45. package/dist/daemon/registry.js +128 -27
  46. package/dist/daemon/registry.js.map +1 -1
  47. package/dist/daemon/server.d.ts +1 -0
  48. package/dist/daemon/server.d.ts.map +1 -1
  49. package/dist/daemon/server.js +23 -6
  50. package/dist/daemon/server.js.map +1 -1
  51. package/dist/daemon/service.d.ts +1 -1
  52. package/dist/daemon/service.d.ts.map +1 -1
  53. package/dist/daemon/service.js +1 -0
  54. package/dist/daemon/service.js.map +1 -1
  55. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-sessions.js","sourceRoot":"","sources":["../../src/daemon/legacy-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy-sessions.js","sourceRoot":"","sources":["../../src/daemon/legacy-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2B,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAY/D,MAAM,SAAS,GAAG,+CAA+C,CAAC;AAClE,MAAM,KAAK,GAAkB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AACvE,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,+FAA+F;AAC/F,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAQA;IAPZ,OAAO,GAAG,IAAI,GAAG,EAA2D,CAAC;IAC7E,SAAS,GAAG,IAAI,GAAG,EAAmE,CAAC;IACvF,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC9E,mFAAmF;IAClE,KAAK,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,KAAK,CAAqB;IAE3C,YAA6B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAAI,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAE1F,4GAA4G;IAC5G,KAAK,CAAC,QAAQ,CAAC,UAA4D,EAAE,UAAkD,EAAE;QAC/H,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9D,8HAA8H;QAC9H,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnJ,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;QACjJ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE,CACvF,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;QACrD,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YAC1E,IAAI,IAAW,CAAC;YAChB,IAAI,CAAC;gBAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,SAAS,CAAC;YAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,SAAS,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACvG,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7E,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAAC,MAAM,KAAK,GAAoB,EAAE,CAAC;QACtF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/I,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,OAAO,CAAC,OAA2C,EAAE,MAAoB;QAC7E,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,IAAI,IAAW,CAAC;QAChB,IAAI,CAAC;YAAC,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAChE,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,OAAO,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;gBAC3F,MAAM,EAAE,cAAc,EAAE,CAAC;gBACzB,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClG,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACtE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI;wBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;oBAC3F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;QAC1B,OAAO,MAAM,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9F,CAAC;IAED,2GAA2G;IAC3G,KAAK,CAAC,IAAI,CAAC,QAAkC,EAAE,MAAmB;QAChE,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,IAAW;QAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,OAAO,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACtD,IAAI,MAA0B,CAAC;QAC/B,sFAAsF;QACtF,IAAI,CAAC;YAAC,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,oHAAoH;AACpH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAY;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC;oBAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAChH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,OAAO,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB,CAAC,OAA0B;IAC1D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,IAAW;IAC9B,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,SAAiB;IACtC,IAAI,CAAC;QAAC,OAAO,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxF,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,wEAAwE;IACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,SAAS,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAAC,IAAI,MAAM,GAAG,CAAC,CAAC;QAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO,GAAG,GAAG,CAAC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAChH,IAAI,CAAC,SAAS;gBAAE,MAAM;YACtB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC;QACtB,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,KAAK,MAAM,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC1D,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AACrC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,WAAoB,EAAE,MAAoB;IACpF,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAAE,OAAO,SAAS,CAAC;YACtD,IAAI,MAA0B,CAAC;YAC/B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,MAAM;wBAAE,OAAO,SAAS,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE;oBAAE,MAAM;YACjD,CAAC;YACD,OAAO,MAAM,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,CAAC;gBAAS,CAAC;YAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AACzD,CAAC;AAED,iDAAiD;AACjD,SAAS,UAAU;IACjB,IAAI,IAAwB,CAAC;IAAC,IAAI,OAA2B,CAAC;IAC9D,MAAM,GAAG,GAAG,CAAC,KAAc,EAAQ,EAAE;QACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO;QAChD,MAAM,GAAG,GAAG,KAA4F,CAAC;QACzG,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc;YAAE,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACvF,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM;YAAE,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7H,CAAC,CAAC;IACF,OAAO;QACL,GAAG;QACH,IAAI,CAAC,IAAY;YACf,kIAAkI;YAClI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO;YAC9F,IAAI,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,+CAA+C,CAAC,CAAC;QAC1F,CAAC;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE;QACnC,MAAM,EAAE,GAAkB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;KACvG,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,OAAgB;IAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACpF,CAAC;AAED,0IAA0I;AAC1I,KAAK,UAAU,OAAO,CAAO,KAAmB,EAAE,KAAa,EAAE,MAA+B,EAAE,GAA4B;IAC5H,MAAM,OAAO,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAAC,IAAI,MAAM,GAAG,KAAK,CAAC;IAC7E,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,EAAE,cAAc,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;IACjD,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAAE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC;IACpK,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAChF,MAAM,KAAK;IAGoB;IAFrB,MAAM,GAAG,CAAC,CAAC;IACF,OAAO,GAAmB,EAAE,CAAC;IAC9C,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAC7C,KAAK,CAAC,GAAG,CAAI,IAAsB;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;YACtC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC;YAAC,OAAO,MAAM,IAAI,EAAE,CAAC;QAAC,CAAC;gBACpB,CAAC;YAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,IAAI;gBAAE,IAAI,EAAE,CAAC;;gBAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,CAAC;IACtF,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import type { DaemonOwnership } from './ownership.js';
2
+ import type { LegacySummary } from './legacy-sessions.js';
3
+ type Owner = Pick<DaemonOwnership, 'target'> & Partial<Pick<DaemonOwnership, 'assertCurrent' | 'assertOwnsPath'>>;
4
+ /** Disposable, bounded hints; transcript headers and file versions remain authoritative. */
5
+ export declare class LegacySummaryCache {
6
+ private readonly owner;
7
+ private readonly entries;
8
+ private loaded;
9
+ private dirty;
10
+ private readonly path;
11
+ constructor(owner: Owner);
12
+ get(path: string, version: string, id: string): LegacySummary | undefined;
13
+ set(path: string, version: string, id: string, summary: LegacySummary): void;
14
+ /** One atomic write after a completed warm-up, never one rewrite per transcript. */
15
+ save(signal: AbortSignal): void;
16
+ private guard;
17
+ private load;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=legacy-summary-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-summary-cache.d.ts","sourceRoot":"","sources":["../../src/daemon/legacy-summary-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,KAAK,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAMlH,4FAA4F;AAC5F,qBAAa,kBAAkB;IAMjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,KAAK,EAAE,KAAK;IAIzC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAMzE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAS5E,oFAAoF;IACpF,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAyB/B,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,IAAI;CA8Bb"}
@@ -0,0 +1,150 @@
1
+ import { createHash, randomUUID } from 'node:crypto';
2
+ import { closeSync, constants, fstatSync, openSync, readSync, renameSync, unlinkSync, writeFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { assertPathIdentity, assertPrivateStat, pinPathAncestry } from './target.js';
5
+ const MAX_ENTRIES = 2048;
6
+ const MAX_BYTES = 2 * 1024 * 1024;
7
+ const keyOf = (path) => createHash('sha256').update(path).digest('hex');
8
+ /** Disposable, bounded hints; transcript headers and file versions remain authoritative. */
9
+ export class LegacySummaryCache {
10
+ owner;
11
+ entries = new Map();
12
+ loaded = false;
13
+ dirty = false;
14
+ path;
15
+ constructor(owner) {
16
+ this.owner = owner;
17
+ this.path = join(owner.target.agentDir, 'legacy-session-summaries.json');
18
+ }
19
+ get(path, version, id) {
20
+ this.load();
21
+ const entry = this.entries.get(keyOf(path));
22
+ return entry?.version === version && entry.id === id ? entry.summary : undefined;
23
+ }
24
+ set(path, version, id, summary) {
25
+ this.load();
26
+ const key = keyOf(path);
27
+ this.entries.delete(key);
28
+ this.entries.set(key, { key, version, id, summary });
29
+ if (this.entries.size > MAX_ENTRIES)
30
+ this.entries.delete(this.entries.keys().next().value);
31
+ this.dirty = true;
32
+ }
33
+ /** One atomic write after a completed warm-up, never one rewrite per transcript. */
34
+ save(signal) {
35
+ signal.throwIfAborted();
36
+ if (!this.dirty)
37
+ return;
38
+ let temporary;
39
+ try {
40
+ const check = this.guard();
41
+ if (!check)
42
+ return;
43
+ const data = JSON.stringify({ format: 1, namespace: this.owner.target.namespaceId, agentDir: this.owner.target.agentDir, entries: [...this.entries.values()] });
44
+ if (Buffer.byteLength(data) > MAX_BYTES)
45
+ return;
46
+ temporary = `${this.path}.${randomUUID()}.tmp`;
47
+ check();
48
+ signal.throwIfAborted();
49
+ const fd = openSync(temporary, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW, 0o600);
50
+ try {
51
+ writeFileSync(fd, data);
52
+ }
53
+ finally {
54
+ closeSync(fd);
55
+ }
56
+ check();
57
+ signal.throwIfAborted();
58
+ renameSync(temporary, this.path);
59
+ temporary = undefined;
60
+ this.dirty = false;
61
+ }
62
+ catch {
63
+ signal.throwIfAborted();
64
+ }
65
+ finally {
66
+ if (temporary) {
67
+ try {
68
+ const check = this.guard();
69
+ if (check) {
70
+ check();
71
+ unlinkSync(temporary);
72
+ }
73
+ }
74
+ catch { /* Ownership loss forbids cleanup writes too. */ }
75
+ }
76
+ }
77
+ }
78
+ guard() {
79
+ const { owner } = this;
80
+ // Lightweight discovery-only callers have no authority to read or write persistent hints.
81
+ if (!owner.assertCurrent || !owner.assertOwnsPath)
82
+ return undefined;
83
+ owner.assertCurrent();
84
+ if (owner.assertOwnsPath(this.path) !== this.path)
85
+ throw new Error('Redirected legacy summary cache');
86
+ const pins = pinPathAncestry(owner.target.agentDir);
87
+ return () => {
88
+ owner.assertCurrent();
89
+ for (const pin of pins)
90
+ assertPathIdentity(pin);
91
+ if (owner.assertOwnsPath(this.path) !== this.path)
92
+ throw new Error('Redirected legacy summary cache');
93
+ };
94
+ }
95
+ load() {
96
+ if (this.loaded)
97
+ return;
98
+ this.loaded = true;
99
+ try {
100
+ const check = this.guard();
101
+ if (!check)
102
+ return;
103
+ const fd = openSync(this.path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
104
+ let value;
105
+ try {
106
+ const info = fstatSync(fd, { bigint: true });
107
+ assertPrivateStat(info, this.owner.target.uid, false);
108
+ if (info.size > BigInt(MAX_BYTES))
109
+ return;
110
+ const data = Buffer.alloc(Number(info.size) + 1);
111
+ let length = 0;
112
+ while (length < data.length) {
113
+ const count = readSync(fd, data, length, data.length - length, length);
114
+ if (!count)
115
+ break;
116
+ length += count;
117
+ }
118
+ check();
119
+ if (length > MAX_BYTES)
120
+ return;
121
+ value = JSON.parse(data.toString('utf8', 0, length));
122
+ }
123
+ finally {
124
+ closeSync(fd);
125
+ }
126
+ if (!value || typeof value !== 'object')
127
+ return;
128
+ const cache = value;
129
+ if (cache.format !== 1 || cache.namespace !== this.owner.target.namespaceId || cache.agentDir !== this.owner.target.agentDir
130
+ || !Array.isArray(cache.entries) || cache.entries.length > MAX_ENTRIES || !cache.entries.every(validEntry))
131
+ return;
132
+ for (const entry of cache.entries)
133
+ this.entries.set(entry.key, entry);
134
+ }
135
+ catch { /* A cache is optional; missing, foreign or malformed hints are rebuilt. */ }
136
+ }
137
+ }
138
+ function validEntry(value) {
139
+ if (!value || typeof value !== 'object')
140
+ return false;
141
+ const entry = value;
142
+ return typeof entry.key === 'string' && /^[a-f0-9]{64}$/u.test(entry.key)
143
+ && typeof entry.version === 'string' && entry.version.length <= 200 && /^[0-9.:]+$/u.test(entry.version)
144
+ && typeof entry.id === 'string' && entry.id.length <= 128 && /^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/u.test(entry.id)
145
+ && !!entry.summary && validSnippet(entry.summary.title) && validSnippet(entry.summary.preview);
146
+ }
147
+ function validSnippet(value) {
148
+ return typeof value === 'string' && value.length <= 240 && [...value].length <= 120 && !/[\p{Cc}\p{Cf}]/u.test(value);
149
+ }
150
+ //# sourceMappingURL=legacy-summary-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-summary-cache.js","sourceRoot":"","sources":["../../src/daemon/legacy-summary-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type Message } from '@felan-ai/session-protocol';
2
+ export declare function boundMessage(message: Message): Message;
3
+ //# sourceMappingURL=message-bounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-bounds.d.ts","sourceRoot":"","sources":["../../src/daemon/message-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAOvF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA+BtD"}
@@ -0,0 +1,61 @@
1
+ import { LIMITS, MESSAGE_DISPLAY_KEY } from '@felan-ai/session-protocol';
2
+ const messageBytes = LIMITS.pageBytes / 4;
3
+ const notice = '[Clipped for display; full content remains in the canonical transcript.]';
4
+ const omitted = { projectionNotice: notice };
5
+ const bytes = (value) => Buffer.byteLength(JSON.stringify(value));
6
+ export function boundMessage(message) {
7
+ if (bytes(message) <= messageBytes)
8
+ return message;
9
+ const details = message.details;
10
+ const projected = { ...message, content: [], ...(details === undefined ? {} : {
11
+ details: bytes(details) <= LIMITS.structuredBytes ? details : {
12
+ ...omitted,
13
+ ...(details && typeof details === 'object' && !Array.isArray(details) && MESSAGE_DISPLAY_KEY in details
14
+ && bytes(details[MESSAGE_DISPLAY_KEY]) <= LIMITS.structuredBytes / 2 ? { [MESSAGE_DISPLAY_KEY]: details[MESSAGE_DISPLAY_KEY] } : {}),
15
+ },
16
+ }) };
17
+ const marker = { type: 'text', text: notice };
18
+ let remaining = messageBytes - bytes(projected) - bytes(marker) - 2;
19
+ for (const original of message.content) {
20
+ if (remaining < 256)
21
+ break;
22
+ let part = original;
23
+ if (part.type === 'tool_call' && bytes(part.arguments) > LIMITS.structuredBytes)
24
+ part = { ...part, arguments: omitted };
25
+ if (part.type === 'tool_result' && part.details !== undefined && bytes(part.details) > LIMITS.structuredBytes)
26
+ part = { ...part, details: omitted };
27
+ if (bytes(part) + 1 > remaining) {
28
+ if (part.type === 'text' || part.type === 'thinking' || part.type === 'tool_result') {
29
+ const overhead = bytes({ ...part, text: '' });
30
+ part = { ...part, text: encodedPrefix(part.text, remaining - overhead - 1) };
31
+ }
32
+ else if (part.type === 'tool_call')
33
+ part = { ...part, arguments: omitted };
34
+ else
35
+ part = { type: 'text', text: '[Image omitted from display.]' };
36
+ }
37
+ const size = bytes(part) + 1;
38
+ if (size > remaining)
39
+ break;
40
+ projected.content.push(part);
41
+ remaining -= size;
42
+ }
43
+ projected.content.push(marker);
44
+ return projected;
45
+ }
46
+ function encodedPrefix(text, budget) {
47
+ let low = 0;
48
+ let high = text.length;
49
+ while (low < high) {
50
+ const middle = Math.ceil((low + high) / 2);
51
+ if (bytes(text.slice(0, middle)) - 2 <= budget)
52
+ low = middle;
53
+ else
54
+ high = middle - 1;
55
+ }
56
+ const last = text.charCodeAt(low - 1);
57
+ if (last >= 0xd800 && last <= 0xdbff)
58
+ low--;
59
+ return text.slice(0, low);
60
+ }
61
+ //# sourceMappingURL=message-bounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-bounds.js","sourceRoot":"","sources":["../../src/daemon/message-bounds.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,11 @@ export declare class DaemonOperationalLog {
17
17
  constructor(sink: BoundedDaemonLogs, now?: () => number);
18
18
  record(event: keyof typeof messages): void;
19
19
  blocked(blocked: HostBlocked): void;
20
+ failure(event: {
21
+ scope: 'projection' | 'registry';
22
+ session?: string;
23
+ error: unknown;
24
+ }): void;
20
25
  page(input: OperationParams<'host.logs'>): OperationResult<'host.logs'>;
21
26
  }
22
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"operational-log.d.ts","sourceRoot":"","sources":["../../src/daemon/operational-log.ts"],"names":[],"mappings":"AACA,OAAO,EAAwD,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEhK,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,QAAA,MAAM,QAAQ;;;;;;;;;;CAUJ,CAAC;AAIX,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAqB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAA7C,IAAI,EAAE,iBAAiB,EAAmB,GAAG,GAAE,MAAM,MAAiB;IAEnG,MAAM,CAAC,KAAK,EAAE,MAAM,OAAO,QAAQ,GAAG,IAAI;IAM1C,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKnC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC;CA2BxE"}
1
+ {"version":3,"file":"operational-log.d.ts","sourceRoot":"","sources":["../../src/daemon/operational-log.ts"],"names":[],"mappings":"AACA,OAAO,EAAwD,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEhK,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,QAAA,MAAM,QAAQ;;;;;;;;;;CAUJ,CAAC;AAKX,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAqB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAA7C,IAAI,EAAE,iBAAiB,EAAmB,GAAG,GAAE,MAAM,MAAiB;IAEnG,MAAM,CAAC,KAAK,EAAE,MAAM,OAAO,QAAQ,GAAG,IAAI;IAM1C,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKnC,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,YAAY,GAAG,UAAU,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK5F,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC;CA2BxE"}
@@ -2,7 +2,7 @@ import { createHash } from 'node:crypto';
2
2
  import { DiagnosticTextSchema, PageRequestSchema, parseSchema } from '@felan-ai/session-protocol';
3
3
  import { commandError } from './commands.js';
4
4
  import { BoundedDaemonLogs } from './supervisor.js';
5
- import { shutdownText } from './shutdown-error.js';
5
+ import { shutdownMessage, shutdownStack, shutdownText } from './shutdown-error.js';
6
6
  const messages = {
7
7
  started: 'Daemon is ready.',
8
8
  stop_requested: 'Explicit daemon stop requested.',
@@ -15,6 +15,7 @@ const messages = {
15
15
  legacy_warmup_failed: 'Pre-daemon session titles could not be read in the background; listings read them on request.',
16
16
  };
17
17
  const blockedPrefix = 'Daemon shutdown failed at ';
18
+ const diagnosticPrefix = 'Daemon failure in ';
18
19
  export class DaemonOperationalLog {
19
20
  sink;
20
21
  now;
@@ -32,6 +33,10 @@ export class DaemonOperationalLog {
32
33
  const message = shutdownText(`${blockedPrefix}${blocked.step ?? 'settlement'}${blocked.session ? ` (session ${blocked.session})` : ''}: ${blocked.message}`, 2000);
33
34
  this.sink.write('stdout', JSON.stringify({ timestamp: this.now(), level: 'error', message }));
34
35
  }
36
+ failure(event) {
37
+ const message = shutdownText(`${diagnosticPrefix}${event.scope}${event.session ? ` (session ${event.session})` : ''}: ${shutdownMessage(event.error)} ${shutdownStack(event.error)}`, 2000);
38
+ this.sink.write('stdout', JSON.stringify({ timestamp: this.now(), level: 'error', message }));
39
+ }
35
40
  page(input) {
36
41
  const params = parseSchema(PageRequestSchema, input);
37
42
  const known = new Set(Object.values(messages));
@@ -50,7 +55,7 @@ export class DaemonOperationalLog {
50
55
  if (!Number.isSafeInteger(row.timestamp) || row.timestamp < 0 || !['info', 'warning', 'error'].includes(row.level ?? ''))
51
56
  continue;
52
57
  if (!known.has(row.message ?? '')) {
53
- if (row.level !== 'error' || typeof row.message !== 'string' || !row.message.startsWith(blockedPrefix) || row.message.length > 2000)
58
+ if (row.level !== 'error' || typeof row.message !== 'string' || ![blockedPrefix, diagnosticPrefix].some(prefix => row.message.startsWith(prefix)) || row.message.length > 2000)
54
59
  continue;
55
60
  try {
56
61
  parseSchema(DiagnosticTextSchema, row.message);
@@ -1 +1 @@
1
- {"version":3,"file":"operational-log.js","sourceRoot":"","sources":["../../src/daemon/operational-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operational-log.js","sourceRoot":"","sources":["../../src/daemon/operational-log.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"processes.d.ts","sourceRoot":"","sources":["../../src/daemon/processes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processes.d.ts","sourceRoot":"","sources":["../../src/daemon/processes.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { AsyncLocalStorage } from 'node:async_hooks';
2
2
  import { createHash, randomUUID } from 'node:crypto';
3
3
  import { join, resolve } from 'node:path';
4
4
  import { setImmediate as yieldTurn } from 'node:timers/promises';
5
- import { stripVTControlCharacters } from 'node:util';
5
+ import { isDeepStrictEqual, stripVTControlCharacters } from 'node:util';
6
6
  import { DEFAULT_MAX_BYTES, getShellConfig, truncateTail } from '@earendil-works/pi-coding-agent';
7
7
  import { LIMITS, canonicalRequestPayload } from '@felan-ai/session-protocol';
8
8
  import { boundedText } from './projection.js';
@@ -139,11 +139,7 @@ export class RegistryProcesses {
139
139
  };
140
140
  }
141
141
  list(root) {
142
- return this.options.store.resources().filter(row => row.root === root).map(row => {
143
- const known = this.views.get(row.id);
144
- return known ?? { id: row.id, session: row.session, root, kind: row.kind,
145
- state: row.state === 'reconciling' ? 'interrupted' : row.state, command: '', startedAt: row.updatedAt, controllable: false, outputOffset: 0 };
146
- });
142
+ return this.options.store.resources(root).map(row => this.views.get(row.id) ?? resourceView(row));
147
143
  }
148
144
  prepareForeground(session, settings = {}) {
149
145
  const lifetime = this.currentLifetime(session);
@@ -288,15 +284,17 @@ export class RegistryProcesses {
288
284
  this.assertLifetime(lifetime);
289
285
  this.assertLifetime(root);
290
286
  this.authorizeResource(requester, id);
291
- const state = current.state === 'reconciling' ? 'interrupted' : info.status === 'unknown' ? 'missing'
287
+ const state = current.state === 'exited' ? 'exited' : current.state === 'reconciling' ? 'interrupted' : info.status === 'unknown' ? 'missing'
292
288
  : info.status !== 'running' ? 'exited' : current.state;
289
+ const exitCode = current.state === 'exited' ? current.exitCode ?? info.exitCode : info.exitCode;
293
290
  return { data, offset, nextOffset: offset + data.byteLength, state,
294
- ...(state === 'exited' && typeof info.exitCode === 'number' && Number.isInteger(info.exitCode) ? { exitCode: info.exitCode } : {}) };
291
+ ...(state === 'exited' && typeof exitCode === 'number' && Number.isInteger(exitCode) ? { exitCode } : {}) };
295
292
  })(), lifetime.scope);
296
293
  }
297
294
  const live = this.live.get(id);
298
295
  if (!live)
299
- return { data: new Uint8Array(), offset, nextOffset: offset, state: row.state === 'interrupted' ? 'interrupted' : 'missing' };
296
+ return { data: new Uint8Array(), offset, nextOffset: offset, state: row.state === 'exited' ? 'exited' : row.state === 'interrupted' ? 'interrupted' : 'missing',
297
+ ...(row.exitCode === undefined ? {} : { exitCode: row.exitCode }) };
300
298
  const lifetime = this.creatorLifetime(row);
301
299
  this.assertLifetime(lifetime);
302
300
  this.assertLiveIdentity(row, live);
@@ -406,7 +404,7 @@ export class RegistryProcesses {
406
404
  /** In-flight runtime operations plus running or unverified processes of a root; stdio service transports are excluded. */
407
405
  activeCount(root) {
408
406
  return [...this.operations.values()].filter(({ scope, passive }) => scope.root === root && !passive).length
409
- + this.options.store.resources().filter(row => row.root === root && !this.live.get(row.id)?.transport && (row.state === 'running' || row.state === 'reconciling')).length;
407
+ + this.options.store.resources(root).filter(row => !this.live.get(row.id)?.transport && (row.state === 'running' || row.state === 'reconciling')).length;
410
408
  }
411
409
  /** Work a daemon stop would interrupt: in-flight runtime operations and live non-transport processes. Detached jobs survive the daemon. */
412
410
  async interruptibleCount() {
@@ -421,12 +419,14 @@ export class RegistryProcesses {
421
419
  liveRoots() { return new Set([...this.live.values()].filter(item => !item.disposed).map(item => item.view.root)); }
422
420
  /** Reconciles a root's processes; a failed per-process probe leaves that row unchanged, while store and ownership failures propagate. */
423
421
  async refresh(root) {
424
- for (const row of this.options.store.resources().filter(row => row.root === root)) {
422
+ for (const row of this.options.store.resources(root)) {
425
423
  const live = this.live.get(row.id);
426
424
  if (live) {
427
425
  await this.observe(live);
428
426
  continue;
429
427
  }
428
+ if (row.state === 'exited')
429
+ continue;
430
430
  // Live handles end with the daemon that started them.
431
431
  if (row.kind !== 'detached' && row.state === 'running' && !this.starting.has(row.id)) {
432
432
  this.update(row, 'interrupted');
@@ -465,7 +465,9 @@ export class RegistryProcesses {
465
465
  if (!job)
466
466
  continue;
467
467
  if (job.status !== 'running') {
468
- this.update(row, job.status === 'unknown' ? 'missing' : 'exited');
468
+ const state = job.status === 'unknown' ? 'missing' : 'exited';
469
+ this.update(row, state, { ...resourceView(row), state, command: boundedText(info.command, 16384), startedAt: info.startedAt,
470
+ ...(info.exitCode === undefined ? {} : { exitCode: info.exitCode }) });
469
471
  continue;
470
472
  }
471
473
  const pid = job.pid;
@@ -533,7 +535,8 @@ export class RegistryProcesses {
533
535
  if (!fenced) {
534
536
  item.view = { ...item.view, state: 'exited', controllable: false, outputOffset: snapshot.nextOffset, ...(snapshot.exitCode === undefined ? {} : { exitCode: snapshot.exitCode }) };
535
537
  const row = this.options.store.resource(item.view.id);
536
- this.update(row, 'exited', item.view);
538
+ if (row)
539
+ this.update(row, 'exited', item.view);
537
540
  }
538
541
  await item.raw.dispose();
539
542
  item.disposed = true;
@@ -650,12 +653,14 @@ export class RegistryProcesses {
650
653
  this.update(row, info.status === 'running' ? 'running' : info.status === 'unknown' ? 'missing' : 'exited', {
651
654
  id: info.id, session: row.session, root: row.root, kind: row.kind, state: info.status === 'running' ? 'running' : info.status === 'unknown' ? 'missing' : 'exited',
652
655
  command: boundedText(info.command, 16384), startedAt: info.startedAt, controllable: this.live.has(info.id), outputOffset: 0,
656
+ ...(info.exitCode === undefined ? {} : { exitCode: info.exitCode }),
653
657
  });
654
658
  }
655
659
  record(live, row, snapshot, advance) {
656
660
  live.settled ||= !snapshot.running;
657
661
  live.view = { ...live.view, state: live.settled ? 'exited' : 'running', controllable: !live.settled, outputOffset: advance ? Math.max(live.view.outputOffset, snapshot.nextOffset) : live.view.outputOffset, ...(snapshot.exitCode === undefined ? {} : { exitCode: snapshot.exitCode }) };
658
- this.update(row, live.view.state, live.view);
662
+ if (this.options.store.resource(row.id))
663
+ this.update(row, live.view.state, live.view);
659
664
  }
660
665
  /** Records an exit nobody has read yet, e.g. a PTY kept across reload; a failed probe leaves the handle as it was. */
661
666
  async observe(live) {
@@ -671,15 +676,22 @@ export class RegistryProcesses {
671
676
  update(row, state, view) {
672
677
  this.options.assertCurrent();
673
678
  const old = this.options.store.resource(row.id);
674
- const known = view ?? this.views.get(row.id);
675
- const next = known ? { ...known, state: state === 'reconciling' ? 'interrupted' : state, controllable: state === 'running' && known.controllable }
676
- : { id: row.id, session: row.session, root: row.root, kind: row.kind, state: state === 'reconciling' ? 'interrupted' : state,
677
- command: '', startedAt: row.updatedAt, controllable: false, outputOffset: 0 };
678
- if (!old || old.state !== state || JSON.stringify(this.views.get(row.id)) !== JSON.stringify(next)) {
679
- const commit = this.options.store.putResource({ ...row, state });
680
- this.views.set(row.id, next);
681
- this.options.changed(row.session, next, commit.revisions[row.session]);
682
- }
679
+ const previous = this.views.get(row.id) ?? resourceView(old ?? row);
680
+ const known = view ?? previous;
681
+ const next = { ...known, state: state === 'reconciling' ? 'interrupted' : state, controllable: state === 'running' && known.controllable };
682
+ const resource = { ...(old ?? row), state,
683
+ ...(view ? { command: next.command, startedAt: next.startedAt } : {}),
684
+ ...(next.exitCode === undefined ? {} : { exitCode: next.exitCode }) };
685
+ if (state !== 'exited')
686
+ delete resource.exitCode;
687
+ const resourceChanged = !old || !isDeepStrictEqual(old, resource);
688
+ const viewChanged = !isDeepStrictEqual(previous, next);
689
+ if (!resourceChanged && !viewChanged)
690
+ return;
691
+ const revision = resourceChanged ? this.options.store.putResource(resource).revisions[row.session]
692
+ : this.options.store.advanceTransientRevision(row.session);
693
+ this.views.set(row.id, next);
694
+ this.options.changed(row.session, next, revision);
683
695
  }
684
696
  track(operation, scope, passive = false) {
685
697
  this.operations.set(operation, { scope, passive });
@@ -687,6 +699,11 @@ export class RegistryProcesses {
687
699
  return operation;
688
700
  }
689
701
  }
702
+ function resourceView(row) {
703
+ return { id: row.id, session: row.session, root: row.root, kind: row.kind,
704
+ state: row.state === 'reconciling' ? 'interrupted' : row.state, command: row.command ?? '', startedAt: row.startedAt ?? row.updatedAt,
705
+ controllable: false, outputOffset: 0, ...(row.exitCode === undefined ? {} : { exitCode: row.exitCode }) };
706
+ }
690
707
  function processFault(code, message) { return Object.assign(new Error(message), { code }); }
691
708
  function splitShellOutput(value) {
692
709
  const start = Math.max(0, value.length - 256);