@rubytech/create-maxy-code 0.1.41 → 0.1.43

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 (137) hide show
  1. package/package.json +2 -2
  2. package/payload/platform/plugins/docs/references/deployment.md +6 -0
  3. package/payload/platform/plugins/docs/references/platform.md +1 -1
  4. package/payload/platform/scripts/check-no-esm-require.mjs +132 -0
  5. package/payload/platform/scripts/smoke-boot-services.sh +175 -0
  6. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts +9 -0
  7. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts.map +1 -1
  8. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js +2 -4
  9. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js.map +1 -1
  10. package/payload/server/public/assets/{admin-C3EvHpLN.js → admin-CzJDs5FQ.js} +24 -24
  11. package/payload/server/public/assets/{arc-DMDAZHAN.js → arc-aUiRP9AS.js} +1 -1
  12. package/payload/server/public/assets/architecture-YZFGNWBL--v-pJPNp.js +1 -0
  13. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-bETsVzGS.js → architectureDiagram-Q4EWVU46-DJvcnhtT.js} +1 -1
  14. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-5y0GBnfQ.js → blockDiagram-DXYQGD6D-_vt7n9ql.js} +1 -1
  15. package/payload/server/public/assets/{brand-DQlLKLDH.css → brand-DNSV7-vn.css} +1 -1
  16. package/payload/server/public/assets/{brand-D6mXeyxV.js → brand-FZ59T8pI.js} +1 -1
  17. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-C1znpVGu.js → c4Diagram-AHTNJAMY-CdEo9QqN.js} +1 -1
  18. package/payload/server/public/assets/channel-DzmCBQ_9.js +1 -0
  19. package/payload/server/public/assets/{chunk-2KRD3SAO-Di4bO8ir.js → chunk-2KRD3SAO-BK3470lx.js} +1 -1
  20. package/payload/server/public/assets/chunk-336JU56O-JmuLOuir.js +2 -0
  21. package/payload/server/public/assets/chunk-426QAEUC-10f8pXpz.js +1 -0
  22. package/payload/server/public/assets/{chunk-4BX2VUAB-DyEhFk-Z.js → chunk-4BX2VUAB-BOvVdJLf.js} +1 -1
  23. package/payload/server/public/assets/{chunk-4TB4RGXK-6Sb0Undm.js → chunk-4TB4RGXK-DajMd0ug.js} +1 -1
  24. package/payload/server/public/assets/{chunk-55IACEB6-BRJOZLpU.js → chunk-55IACEB6-BwZyF7vR.js} +1 -1
  25. package/payload/server/public/assets/{chunk-5FUZZQ4R-CAT_Pq2T.js → chunk-5FUZZQ4R-B4A-XUHI.js} +1 -1
  26. package/payload/server/public/assets/{chunk-5PVQY5BW-j231ESse.js → chunk-5PVQY5BW-BNM3rT14.js} +1 -1
  27. package/payload/server/public/assets/{chunk-67CJDMHE-BG6-9r6c.js → chunk-67CJDMHE-D5bhMrtY.js} +1 -1
  28. package/payload/server/public/assets/{chunk-7N4EOEYR-BvMbitX7.js → chunk-7N4EOEYR-Si7Lgrwc.js} +1 -1
  29. package/payload/server/public/assets/{chunk-AA7GKIK3-CE8mGBD5.js → chunk-AA7GKIK3-DMuHtDqO.js} +1 -1
  30. package/payload/server/public/assets/{chunk-BSJP7CBP-DP7LTBll.js → chunk-BSJP7CBP-L79XKVcb.js} +1 -1
  31. package/payload/server/public/assets/{chunk-CIAEETIT-VfnIdN-h.js → chunk-CIAEETIT-C0O7Upmg.js} +1 -1
  32. package/payload/server/public/assets/{chunk-EDXVE4YY-BAlS4QL7.js → chunk-EDXVE4YY-atMwO81K.js} +1 -1
  33. package/payload/server/public/assets/{chunk-ENJZ2VHE-D3Ku_BMP.js → chunk-ENJZ2VHE-BUbZv2Nz.js} +1 -1
  34. package/payload/server/public/assets/{chunk-FMBD7UC4-w-yBZsN2.js → chunk-FMBD7UC4-C_E43NFJ.js} +1 -1
  35. package/payload/server/public/assets/{chunk-FOC6F5B3-f9cFywhd.js → chunk-FOC6F5B3-D9lWWHAu.js} +1 -1
  36. package/payload/server/public/assets/{chunk-ICPOFSXX-AR86A5WB.js → chunk-ICPOFSXX-BMF-eWHb.js} +2 -2
  37. package/payload/server/public/assets/{chunk-K5T4RW27-B_ZUrFUq.js → chunk-K5T4RW27-DuhsNH4c.js} +1 -1
  38. package/payload/server/public/assets/{chunk-KGLVRYIC-CcWTvRlI.js → chunk-KGLVRYIC-B4-A1Abi.js} +1 -1
  39. package/payload/server/public/assets/{chunk-LIHQZDEY-D-5-peQw.js → chunk-LIHQZDEY-BxqgHRgT.js} +1 -1
  40. package/payload/server/public/assets/{chunk-ORNJ4GCN-B4Z5L25I.js → chunk-ORNJ4GCN-DEYQ5WaJ.js} +1 -1
  41. package/payload/server/public/assets/{chunk-OYMX7WX6-DxGhapkW.js → chunk-OYMX7WX6-BEMDmPTI.js} +1 -1
  42. package/payload/server/public/assets/chunk-QZHKN3VN-Bd-GrQM6.js +1 -0
  43. package/payload/server/public/assets/{chunk-U2HBQHQK-DAlqsDo_.js → chunk-U2HBQHQK-DOM7Y4f1.js} +1 -1
  44. package/payload/server/public/assets/{chunk-X2U36JSP-lZdkkdyB.js → chunk-X2U36JSP-C_uWyW6Y.js} +1 -1
  45. package/payload/server/public/assets/{chunk-XPW4576I-m1Y_r88I.js → chunk-XPW4576I-CBfZXZDB.js} +1 -1
  46. package/payload/server/public/assets/{chunk-YZCP3GAM-CCjtXOFD.js → chunk-YZCP3GAM-DQbgl47k.js} +1 -1
  47. package/payload/server/public/assets/{chunk-ZZ45TVLE-ComtdKny.js → chunk-ZZ45TVLE-C44DEAgq.js} +1 -1
  48. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DVoOmecn.js +1 -0
  49. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-B0r3hpf9.js +1 -0
  50. package/payload/server/public/assets/clone-Dde30M8J.js +1 -0
  51. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-BhtgY3T7.js → cose-bilkent-S5V4N54A-Br2gjtEO.js} +1 -1
  52. package/payload/server/public/assets/{dagre-KV5264BT-BcRbiZ1q.js → dagre-KV5264BT-CE3meBlZ.js} +1 -1
  53. package/payload/server/public/assets/{dagre-DX8QJeVt.js → dagre-lNEvWLDX.js} +1 -1
  54. package/payload/server/public/assets/data-DW6QAnMD.js +1 -0
  55. package/payload/server/public/assets/{device-url-actions-Cag9IJ7n.js → device-url-actions-a6Bd-MRk.js} +1 -1
  56. package/payload/server/public/assets/{diagram-5BDNPKRD-Bw47VwHO.js → diagram-5BDNPKRD-BqR72jWu.js} +1 -1
  57. package/payload/server/public/assets/{diagram-G4DWMVQ6-B-aVfhiD.js → diagram-G4DWMVQ6-DOjamNAP.js} +1 -1
  58. package/payload/server/public/assets/{diagram-MMDJMWI5-DERz2dKo.js → diagram-MMDJMWI5-DAUB-aPu.js} +1 -1
  59. package/payload/server/public/assets/{diagram-TYMM5635-B7eEX9Ta.js → diagram-TYMM5635-DpToW00F.js} +1 -1
  60. package/payload/server/public/assets/{erDiagram-SMLLAGMA-G_JJq3zB.js → erDiagram-SMLLAGMA-C-p2ze2T.js} +1 -1
  61. package/payload/server/public/assets/{flatten-BsWEYbBB.js → flatten-Bo6YRmWl.js} +1 -1
  62. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BeY9QaO0.js → flowDiagram-DWJPFMVM-B9SS6a8F.js} +1 -1
  63. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-IXviGYnx.js → ganttDiagram-T4ZO3ILL-DnXZX0Gp.js} +1 -1
  64. package/payload/server/public/assets/gitGraph-7Q5UKJZL-CI0s_tqn.js +1 -0
  65. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-GlY6pZQ1.js → gitGraphDiagram-UUTBAWPF-CtQ0FzPg.js} +1 -1
  66. package/payload/server/public/assets/graph-D13IJB3w.js +1 -0
  67. package/payload/server/public/assets/graph-labels-CI9WmEiE.js +1 -0
  68. package/payload/server/public/assets/{graphlib-BWgAjZSb.js → graphlib-nUaDKzkp.js} +1 -1
  69. package/payload/server/public/assets/info-OMHHGYJF-g3gYW7Qm.js +1 -0
  70. package/payload/server/public/assets/infoDiagram-42DDH7IO-c2wWbEaX.js +2 -0
  71. package/payload/server/public/assets/{isEmpty-BWl67LAZ.js → isEmpty-D6Kr-M1M.js} +1 -1
  72. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-fR71GDOp.js → ishikawaDiagram-UXIWVN3A-BBOgnjrU.js} +1 -1
  73. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-C1TcY_6m.js → journeyDiagram-VCZTEJTY-DzIkOZor.js} +1 -1
  74. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-IPZKpnnG.js → kanban-definition-6JOO6SKY-NoAdbB_E.js} +1 -1
  75. package/payload/server/public/assets/{line-B2JtEL1B.js → line-BRK1p00q.js} +1 -1
  76. package/payload/server/public/assets/{linear-0O14Y6uf.js → linear-DOh_6k2k.js} +1 -1
  77. package/payload/server/public/assets/{mermaid-parser.core-BKCLXqUh.js → mermaid-parser.core-Bm0OvYTL.js} +2 -2
  78. package/payload/server/public/assets/{mermaid.core-CmNpCLB-.js → mermaid.core-CTznq93v.js} +3 -3
  79. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-BS0E2FPD.js → mindmap-definition-QFDTVHPH-BOQ1enWi.js} +1 -1
  80. package/payload/server/public/assets/{ordinal-krseTxxN.js → ordinal-BDi6f4xk.js} +1 -1
  81. package/payload/server/public/assets/packet-4T2RLAQJ-CT0TB9HI.js +1 -0
  82. package/payload/server/public/assets/{page-BdI3GCun.js → page-BLNJpxTT.js} +2 -2
  83. package/payload/server/public/assets/{page-zIjAkU2y.js → page-Dn3gASQM.js} +1 -1
  84. package/payload/server/public/assets/pie-ZZUOXDRM-CXLe7TFF.js +1 -0
  85. package/payload/server/public/assets/{pieDiagram-DEJITSTG-J61JDyk8.js → pieDiagram-DEJITSTG-2S-XHkal.js} +1 -1
  86. package/payload/server/public/assets/{public-C5vaQnC_.js → public-D0z7BALL.js} +5 -5
  87. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CLI03OtR.js → quadrantDiagram-34T5L4WZ-CncZqXXr.js} +1 -1
  88. package/payload/server/public/assets/radar-PYXPWWZC-DnPLBl-D.js +1 -0
  89. package/payload/server/public/assets/{reduce-tk-xY6Fv.js → reduce-CGi9ik8i.js} +1 -1
  90. package/payload/server/public/assets/{requirementDiagram-MS252O5E-C8MCt5NO.js → requirementDiagram-MS252O5E-CPeWs9fs.js} +1 -1
  91. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DQuugruj.js → sankeyDiagram-XADWPNL6-A4_669ey.js} +1 -1
  92. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-CoYitwhO.js → sequenceDiagram-FGHM5R23-DD-qEurY.js} +1 -1
  93. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-G68cHHoI.js → stateDiagram-FHFEXIEX-CdO6Mw_T.js} +1 -1
  94. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-D28bJZnf.js +1 -0
  95. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CelLeJVS.js → timeline-definition-GMOUNBTQ-JH65fN1V.js} +1 -1
  96. package/payload/server/public/assets/treeView-SZITEDCU-C3cb7Xwe.js +1 -0
  97. package/payload/server/public/assets/treemap-W4RFUUIX-Dc7G3Bgm.js +1 -0
  98. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BVgFPkJq.js → vennDiagram-DHZGUBPP-CJLoNrBL.js} +1 -1
  99. package/payload/server/public/assets/wardley-RL74JXVD-DtgibWAt.js +1 -0
  100. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-CzD_8hl2.js → wardleyDiagram-NUSXRM2D-BgM9eEf7.js} +1 -1
  101. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-BuTxWdX5.js → xychartDiagram-5P7HB3ND-DCmesmc9.js} +1 -1
  102. package/payload/server/public/data.html +5 -5
  103. package/payload/server/public/graph.html +5 -6
  104. package/payload/server/public/index.html +7 -8
  105. package/payload/server/public/public.html +4 -5
  106. package/payload/server/public/assets/Checkbox-blxv2XPY.js +0 -1
  107. package/payload/server/public/assets/architecture-YZFGNWBL-COhEvUpo.js +0 -1
  108. package/payload/server/public/assets/channel-BWqTaXzb.js +0 -1
  109. package/payload/server/public/assets/chunk-336JU56O-DlCVUGzQ.js +0 -2
  110. package/payload/server/public/assets/chunk-426QAEUC-bGYkmA4z.js +0 -1
  111. package/payload/server/public/assets/chunk-QZHKN3VN-CWh_0JsP.js +0 -1
  112. package/payload/server/public/assets/classDiagram-6PBFFD2Q-B9hC6fOR.js +0 -1
  113. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-afl_ydIG.js +0 -1
  114. package/payload/server/public/assets/clone-Lj83OaZ3.js +0 -1
  115. package/payload/server/public/assets/data-CS_R5VWQ.js +0 -1
  116. package/payload/server/public/assets/gitGraph-7Q5UKJZL-DeTNsAO0.js +0 -1
  117. package/payload/server/public/assets/graph-DtGkQBFr.js +0 -1
  118. package/payload/server/public/assets/graph-labels-Dwu1ON5v.js +0 -1
  119. package/payload/server/public/assets/info-OMHHGYJF-DJJ9GlS6.js +0 -1
  120. package/payload/server/public/assets/infoDiagram-42DDH7IO-D4YZM0gD.js +0 -2
  121. package/payload/server/public/assets/packet-4T2RLAQJ-CGbvGkvF.js +0 -1
  122. package/payload/server/public/assets/pie-ZZUOXDRM-BZy8rjFn.js +0 -1
  123. package/payload/server/public/assets/radar-PYXPWWZC-DcfWIVXr.js +0 -1
  124. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Dtgpgr_D.js +0 -1
  125. package/payload/server/public/assets/treeView-SZITEDCU-3WugwVdj.js +0 -1
  126. package/payload/server/public/assets/treemap-W4RFUUIX-Cf5mDLlu.js +0 -1
  127. package/payload/server/public/assets/wardley-RL74JXVD-Bv4md4b3.js +0 -1
  128. /package/payload/server/public/assets/{_baseFor-BHtDrjIo.js → _baseFor-Cam2PbSt.js} +0 -0
  129. /package/payload/server/public/assets/{array-DetWRiSa.js → array-DYRGGQae.js} +0 -0
  130. /package/payload/server/public/assets/{cytoscape.esm-C9yNhe1u.js → cytoscape.esm-nWsJMTNI.js} +0 -0
  131. /package/payload/server/public/assets/{defaultLocale-_WRwicXn.js → defaultLocale-Du1XY3Dp.js} +0 -0
  132. /package/payload/server/public/assets/{dist-Bd4S37oi.js → dist-BzAsli7o.js} +0 -0
  133. /package/payload/server/public/assets/{init-sTEcj9YX.js → init-B5BXBRcm.js} +0 -0
  134. /package/payload/server/public/assets/{katex-s61Rgv6l.js → katex-HOUACuRw.js} +0 -0
  135. /package/payload/server/public/assets/{path-B0Ik7Tu9.js → path-CNO468J-.js} +0 -0
  136. /package/payload/server/public/assets/{rough.esm-DKRO8IF-.js → rough.esm-DRO6hWPh.js} +0 -0
  137. /package/payload/server/public/assets/{src-B6XdH6xq.js → src-CWiyyVfn.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -13,7 +13,7 @@
13
13
  "build": "tsc",
14
14
  "bundle": "node scripts/bundle.js",
15
15
  "test": "npm run build && node --test 'dist/__tests__/*.test.js'",
16
- "prepublishOnly": "bash ../../platform/scripts/verify-skill-tool-surface.sh && node ../../platform/scripts/check-no-task-id-leaks.mjs && node ../../platform/scripts/check-skill-load-coverage.mjs && node ../../platform/ui/scripts/check-route-wiring.mjs && node ../../platform/ui/scripts/check-edge-admin-routes.mjs && npm run build && node --test 'dist/__tests__/*.test.js' && chmod +x dist/index.js && npm run bundle && node ../../platform/ui/scripts/check-bundle-node-imports.mjs --dir=./payload/server/public/assets"
16
+ "prepublishOnly": "bash ../../platform/scripts/verify-skill-tool-surface.sh && node ../../platform/scripts/check-no-task-id-leaks.mjs && node ../../platform/scripts/check-no-esm-require.mjs && node ../../platform/scripts/check-skill-load-coverage.mjs && node ../../platform/ui/scripts/check-route-wiring.mjs && node ../../platform/ui/scripts/check-edge-admin-routes.mjs && npm run build && node --test 'dist/__tests__/*.test.js' && chmod +x dist/index.js && npm run bundle && bash ../../platform/scripts/smoke-boot-services.sh && node ../../platform/ui/scripts/check-bundle-node-imports.mjs --dir=./payload/server/public/assets"
17
17
  },
18
18
  "files": [
19
19
  "dist",
@@ -87,6 +87,12 @@ The manager also runs a boot-time self-test that renders a fixture compose call
87
87
 
88
88
  LOUD-FAIL output is `startup-self-test system-prompt-sentinels=fail missing=<tag>` followed by an immediate process exit. Catches IDENTITY-promise-vs-emitter drift at boot rather than at the first real spawn.
89
89
 
90
+ ### Pre-publish boot smoke
91
+
92
+ `platform/scripts/smoke-boot-services.sh` runs inside `prepublishOnly` of the installer (`packages/create-maxy-code/`). For every service in its `SERVICES` list it builds a synthetic install dir (`brand.json`, empty `plugins/`, a single `account.json` with `agents/admin/{IDENTITY,SOUL}.md`), spawns `node dist/index.js`, waits up to 5 s for the canonical `[claude-session-manager] boot port=…` line, SIGTERMs, and fails publish if any `^\[.*\] fatal ` line appears in stdout/stderr. Catches the class of regressions tsc and vitest miss because they evaluate TS source rather than the compiled ESM module (e.g. a stray `require()` in an ESM-typed package: tsc allows it because `@types/node` declares `require` globally, and Vite's vitest loader shims it, but native Node ESM throws `ReferenceError: require is not defined` at boot).
93
+
94
+ Companion lint: `platform/scripts/check-no-esm-require.mjs` rejects `require(` calls in any `.ts/.tsx/.js` file inside a package with `"type": "module"`, also wired into `prepublishOnly`. Allowlist lives at the top of the script.
95
+
90
96
  ## Service Management
91
97
 
92
98
  {{productName}} runs via systemd and starts automatically on boot. You don't need to start it manually. To check if it's running, ask {{productName}} "Check system status."
@@ -70,7 +70,7 @@ There is no dashboard, no settings panel, no menus. Everything is done through c
70
70
 
71
71
  The chat input auto-grows as you type — it expands to fit your message and shrinks back when you delete text. You can also drag the resize handle above the input to set a custom height.
72
72
 
73
- The admin interface is a three-pane layout: a sidebar on the left with navigation (Sessions, People, Agents, Projects, Tasks, Artefacts) and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu, holding the surface side-by-side with the conversation so the chat stays live while you work in it. At the very top of the sidebar — above the nav rows — a borderless row holds two controls: a "+ New session" button on the left that spawns a fresh Claude Code session, and a Mode trigger on the right showing the current permission mode (Ask, Accept edits, Plan, or Auto). The sidebar's vertical order is: new-session strip first, then the nav (Sessions, People, Agents, Projects, Tasks, Artefacts), then the sessions list, then the footer. Both controls render as plain text-plus-icon affordances with no surrounding rectangle. The "+ New session" button is a text-width hit target — its clickable area is exactly the icon plus label, not the whole row — and shows no hover fill; the only hover feedback is the pointer cursor. The Mode trigger is pushed flush to the right edge of the row. Clicking the Mode trigger opens a popover downward from the row whose header reads "Mode" and lists the four permission modes with the current selection check-marked. The sidebar's nav rows swap the list view in place: Sessions shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Each recent session row carries a three-state indicator: three pulsing dots when the session is busy (currently processing a turn), a solid sage dot when it is idle (live PTY waiting for input), and a hollow ring when it is archived (PTY exited, JSONL on disk for audit). The list itself splits into three views via a segmented control above the rows: **Active** shows every live session, **Archived** shows every JSONL on disk whose PTY has exited, and **All** shows both. The view choice persists across reloads. An "Include background" toggle inside the Active view surfaces specialist spawns (the database-operator recorder, premium-plugin agents, anything spawned with a `--agent` flag) which are hidden by default so the list reflects what you started directly. Each row also carries a small uppercase badge — `admin` for operator-driven sessions, the specialist name (for example `db-op`) for background work — so the source of any row is unambiguous at a glance. The People, Agents, and Tasks rows are graph shortcuts: clicking each opens the artefact-pane Graph filtered to every Person, every public Agent, or every Task in your account respectively, with no side-list, because the graph itself is the result. Public agents become first-class graph entities the moment you create them, with edges to their IDENTITY/SOUL/KNOWLEDGE files, edges to every knowledge document they have access to, and edges from every conversation they have handled, so a single Agents click reveals the whole shape of who knows what and who has been talking to whom. Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable: type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. If your browser doesn't have a built-in PDF viewer, a Download button appears instead. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood; clicking a second project swaps the focus rather than stacking on top. The chat and artefact divider is drag-resizable: drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat and artefact min-width floors. Your chosen width is remembered across reloads. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On every viewport the chat header reads left to right as a triptych: a dedicated sidebar toggle (the panel-right icon, which swaps to panel-right-open when the sidebar is showing), the brand mark next to the title in the centre, and the menu burger on the right. This header toggle is the sole sidebar-toggle button; the sidebar itself no longer carries a duplicate. Tap the sidebar toggle to show or hide the sidebar: on phones (<720px) it slides the drawer in or out, on wider screens it collapses or expands the sidebar column. The brand mark in the centre is decorative; clicks go through the dedicated toggle so the affordance is unambiguous. The drawer animation only fires on tap (220ms slide in or out); resizing your window across the 720px boundary snaps the layout without animation, so you never see a half-open flash. At ≤640px the session metadata pane stacks each label above its value instead of the desktop two-column grid, and the row of action buttons (Open in new tab / Open JSONL / Rename / Pin / Archive / End or Purge) collapses behind a single Actions trigger that opens a popover upward from the foot of the pane. Breakpoint summary: >1280px = full sidebar + chat + artefact pane (drag-resizable divider); 1280px→1080px = sidebar narrows; 1080px→820px = artefact pane hides (Browser/Data/Graph open as full-window pages instead); 820px→720px = sidebar collapses to 56px icon rail; ≤720px = sidebar becomes off-canvas drawer (vertical stack of nav, recents list, foot, the same shape as the desktop sidebar, just on top of the chat instead of beside it).
73
+ The admin interface is a three-pane layout: a sidebar on the left with navigation (Sessions, People, Agents, Projects, Tasks, Artefacts) and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu, holding the surface side-by-side with the conversation so the chat stays live while you work in it. At the very top of the sidebar — above the nav rows — a borderless row holds two controls: a "+ New session" button on the left that spawns a fresh Claude Code session, and a Mode trigger on the right showing the current permission mode (Ask, Accept edits, Plan, or Auto). The sidebar's vertical order is: new-session strip first, then the nav (Sessions, People, Agents, Projects, Tasks, Artefacts), then the sessions list, then the footer. Both controls render as plain text-plus-icon affordances with no surrounding rectangle. The "+ New session" button is a text-width hit target — its clickable area is exactly the icon plus label, not the whole row — and shows no hover fill; the only hover feedback is the pointer cursor. The Mode trigger is pushed flush to the right edge of the row. Clicking the Mode trigger opens a popover downward from the row whose header reads "Mode" and lists the four permission modes with the current selection check-marked. The sidebar's nav rows swap the list view in place: Sessions shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Each recent session row carries a three-state indicator: three pulsing dots when the session is busy (currently processing a turn), a solid sage dot when it is idle (live PTY waiting for input), and a hollow ring when it is archived (PTY exited, JSONL on disk for audit). The list itself splits into three views via a segmented control above the rows: **Active** shows every live session, **Archived** shows every JSONL on disk whose PTY has exited, and **All** shows both. The view choice persists across reloads. An "Include subagents" toggle inside the Active view surfaces specialist spawns (the database-operator recorder, premium-plugin agents, anything spawned with a `--agent` flag) which are hidden by default so the list reflects what you started directly. Each row also carries a small uppercase badge — `admin` for operator-driven sessions, the specialist name (for example `db-op`) for background work — so the source of any row is unambiguous at a glance. The People, Agents, and Tasks rows are graph shortcuts: clicking each opens the artefact-pane Graph filtered to every Person, every public Agent, or every Task in your account respectively, with no side-list, because the graph itself is the result. Public agents become first-class graph entities the moment you create them, with edges to their IDENTITY/SOUL/KNOWLEDGE files, edges to every knowledge document they have access to, and edges from every conversation they have handled, so a single Agents click reveals the whole shape of who knows what and who has been talking to whom. Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable: type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. If your browser doesn't have a built-in PDF viewer, a Download button appears instead. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood; clicking a second project swaps the focus rather than stacking on top. The chat and artefact divider is drag-resizable: drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat and artefact min-width floors. Your chosen width is remembered across reloads. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On every viewport the chat header reads left to right as a triptych: a dedicated sidebar toggle (the panel-right icon, which swaps to panel-right-open when the sidebar is showing), the brand mark next to the title in the centre, and the menu burger on the right. This header toggle is the sole sidebar-toggle button; the sidebar itself no longer carries a duplicate. Tap the sidebar toggle to show or hide the sidebar: on phones (<720px) it slides the drawer in or out, on wider screens it collapses or expands the sidebar column. The brand mark in the centre is decorative; clicks go through the dedicated toggle so the affordance is unambiguous. The drawer animation only fires on tap (220ms slide in or out); resizing your window across the 720px boundary snaps the layout without animation, so you never see a half-open flash. At ≤640px the session metadata pane stacks each label above its value instead of the desktop two-column grid, and the row of action buttons (Open in new tab / Open JSONL / Rename / Pin / Archive / End or Purge) collapses behind a single Actions trigger that opens a popover upward from the foot of the pane. Breakpoint summary: >1280px = full sidebar + chat + artefact pane (drag-resizable divider); 1280px→1080px = sidebar narrows; 1080px→820px = artefact pane hides (Browser/Data/Graph open as full-window pages instead); 820px→720px = sidebar collapses to 56px icon rail; ≤720px = sidebar becomes off-canvas drawer (vertical stack of nav, recents list, foot, the same shape as the desktop sidebar, just on top of the chat instead of beside it).
74
74
 
75
75
  Page titles are brand-aware: the browser tab shows your product name (e.g. `Real Agent` instead of `Maxy`) on every shell — chat, graph, and data — so a non-default brand never leaks the default name in tab strips or browser history.
76
76
 
@@ -0,0 +1,132 @@
1
+ #!/usr/bin/env node
2
+ // Build-time gate: reject `require(` calls in TS/JS files that belong to a
3
+ // package whose package.json declares `"type": "module"`. Such calls compile
4
+ // fine under `tsc` (because `@types/node` declares `require` globally) and
5
+ // pass vitest (Vite shims `require` in its loader), but throw
6
+ // `ReferenceError: require is not defined` at runtime in native ESM.
7
+ //
8
+ // Live repro: Task 094 introduced `const { mkdirSync } = require('node:fs')`
9
+ // in claude-session-manager/src/fs-watcher.ts. tsc + vitest were green; the
10
+ // installed service crash-looped on boot at every admin request. See Task 099.
11
+ //
12
+ // Scope: walks every directory under REPO_ROOT containing a package.json with
13
+ // `"type": "module"`, and scans .ts/.tsx/.js (NOT .cjs / .mjs / node_modules /
14
+ // dist / payload / build) for `require(`. Comments are skipped. An explicit
15
+ // allowlist names files where `require` is intentional (e.g. vitest tests that
16
+ // load CJS-only modules via `vi.hoisted`).
17
+
18
+ import { readFileSync, readdirSync, statSync } from 'node:fs'
19
+ import { dirname, join, relative, sep } from 'node:path'
20
+ import { fileURLToPath } from 'node:url'
21
+
22
+ const SCRIPT_DIR = dirname(fileURLToPath(import.meta.url))
23
+ const REPO_ROOT = join(SCRIPT_DIR, '..', '..')
24
+
25
+ const SCANNABLE_EXTS = new Set(['.ts', '.tsx', '.js'])
26
+ const SKIP_DIR_NAMES = new Set([
27
+ 'node_modules', 'dist', 'build', '.next', 'payload', '.git', 'coverage',
28
+ // Worktree checkouts under .claude/worktrees/** are siblings of the live tree
29
+ // and their own gate runs scan them; the top-level gate must not double-scan.
30
+ 'worktrees',
31
+ ])
32
+
33
+ // Files where `require()` is intentional. Each entry is a path relative to
34
+ // REPO_ROOT. Add with a one-line comment explaining why the call is required
35
+ // in an ESM package; if the reason no longer applies, delete the entry.
36
+ const ALLOWLIST = new Set([
37
+ // vitest hoists this fixture BEFORE the test module's own ESM imports are
38
+ // resolved; `vi.hoisted` runs in CJS context where `require` is the only
39
+ // available loader. The module under test is pure ESM.
40
+ 'platform/ui/server/routes/admin/__tests__/files-delete-cascade.test.ts',
41
+ ])
42
+
43
+ const REQUIRE_CALL_RE = /\brequire\s*\(/
44
+
45
+ /** Walk REPO_ROOT and collect every directory containing a package.json that
46
+ * declares `"type": "module"`. The walk skips SKIP_DIR_NAMES (node_modules,
47
+ * dist, etc.) to keep the cost bounded. */
48
+ function findEsmPackageRoots(root) {
49
+ const roots = []
50
+ function walk(dir) {
51
+ let entries
52
+ try { entries = readdirSync(dir, { withFileTypes: true }) } catch { return }
53
+ const hasPkg = entries.some((e) => e.isFile() && e.name === 'package.json')
54
+ if (hasPkg) {
55
+ const pkgPath = join(dir, 'package.json')
56
+ try {
57
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'))
58
+ if (pkg.type === 'module') roots.push(dir)
59
+ } catch {
60
+ // malformed package.json — not this gate's job
61
+ }
62
+ }
63
+ for (const e of entries) {
64
+ if (!e.isDirectory()) continue
65
+ if (SKIP_DIR_NAMES.has(e.name)) continue
66
+ walk(join(dir, e.name))
67
+ }
68
+ }
69
+ walk(root)
70
+ return roots
71
+ }
72
+
73
+ function collectFiles(root) {
74
+ const out = []
75
+ function walk(dir) {
76
+ let entries
77
+ try { entries = readdirSync(dir, { withFileTypes: true }) } catch { return }
78
+ for (const e of entries) {
79
+ const full = join(dir, e.name)
80
+ if (e.isDirectory()) {
81
+ if (SKIP_DIR_NAMES.has(e.name)) continue
82
+ walk(full)
83
+ continue
84
+ }
85
+ if (!e.isFile()) continue
86
+ const dot = e.name.lastIndexOf('.')
87
+ if (dot < 0) continue
88
+ const ext = e.name.slice(dot)
89
+ if (!SCANNABLE_EXTS.has(ext)) continue
90
+ out.push(full)
91
+ }
92
+ }
93
+ walk(root)
94
+ return out
95
+ }
96
+
97
+ function isCommentLine(line) {
98
+ const t = line.trimStart()
99
+ return t.startsWith('//') || t.startsWith('*') || t.startsWith('/*')
100
+ }
101
+
102
+ const esmRoots = findEsmPackageRoots(REPO_ROOT)
103
+ const violations = []
104
+
105
+ for (const root of esmRoots) {
106
+ for (const file of collectFiles(root)) {
107
+ const rel = relative(REPO_ROOT, file).split(sep).join('/')
108
+ if (ALLOWLIST.has(rel)) continue
109
+ const lines = readFileSync(file, 'utf-8').split('\n')
110
+ for (let i = 0; i < lines.length; i++) {
111
+ const line = lines[i]
112
+ if (!REQUIRE_CALL_RE.test(line)) continue
113
+ if (isCommentLine(line)) continue
114
+ violations.push({ file: rel, lineNumber: i + 1, line: line.trim() })
115
+ }
116
+ }
117
+ }
118
+
119
+ if (violations.length > 0) {
120
+ console.error(`[check-no-esm-require] ${violations.length} require() call(s) in ESM package(s):`)
121
+ for (const v of violations) {
122
+ console.error(` ${v.file}:${v.lineNumber} ${v.line}`)
123
+ }
124
+ console.error('')
125
+ console.error('require() throws ReferenceError at runtime in native ESM.')
126
+ console.error('Replace with a top-of-file `import` statement, or add an explicit')
127
+ console.error('ALLOWLIST entry in platform/scripts/check-no-esm-require.mjs with a')
128
+ console.error('one-line comment explaining why the call is required.')
129
+ process.exit(1)
130
+ }
131
+
132
+ console.log(`[check-no-esm-require] scanned ${esmRoots.length} ESM package(s); 0 violations`)
@@ -0,0 +1,175 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # smoke-boot-services.sh — boot every compiled service against a synthetic
4
+ # install fixture, assert the canonical `boot port=` log line appears and no
5
+ # `^\[.*\] fatal ` line is emitted before SIGTERM.
6
+ #
7
+ # Motivation: Task 099 — `claude-session-manager` shipped a `require()` call
8
+ # in an ESM module. tsc + vitest (Vite shims `require`) were green; native
9
+ # Node ESM at boot threw `ReferenceError: require is not defined` and crash-
10
+ # looped the service. This gate boots the compiled service from a temp
11
+ # install dir — the same shape the installer writes — so the runtime
12
+ # evaluator runs every module-load and arm()/init path the production
13
+ # service runs.
14
+ #
15
+ # Service list: extend SERVICES below as additional services adopt the
16
+ # smoke gate. Each entry needs a fixture function that creates the temp
17
+ # install dir layout the service's loadConfig expects.
18
+
19
+ set -euo pipefail
20
+
21
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
22
+ REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
23
+
24
+ # Services to smoke. Add new entries as `<name>:<dist-entry-relative-to-REPO_ROOT>`.
25
+ SERVICES=(
26
+ "claude-session-manager:platform/services/claude-session-manager/dist/index.js"
27
+ )
28
+
29
+ TMP_ROOT="$(mktemp -d -t maxy-smoke-boot.XXXXXX)"
30
+ cleanup() {
31
+ rm -rf "$TMP_ROOT"
32
+ }
33
+ trap cleanup EXIT
34
+
35
+ # Build the synthetic install dir for claude-session-manager. The layout
36
+ # mirrors what the installer writes (and what loadConfig walks):
37
+ # $INSTALL_DIR/platform/config/brand.json
38
+ # $INSTALL_DIR/platform/plugins/ (empty — tool surface is empty)
39
+ # $INSTALL_DIR/data/accounts/<uuid>/account.json
40
+ # $INSTALL_DIR/data/accounts/<uuid>/agents/admin/{IDENTITY,SOUL}.md
41
+ fixture_claude_session_manager() {
42
+ local install_dir="$1"
43
+ local platform_root="$install_dir/platform"
44
+ local account_id="00000000-0000-4000-8000-000000000000"
45
+ local account_dir="$install_dir/data/accounts/$account_id"
46
+
47
+ mkdir -p "$platform_root/config"
48
+ mkdir -p "$platform_root/plugins"
49
+ mkdir -p "$account_dir/agents/admin"
50
+
51
+ cat > "$platform_root/config/brand.json" <<'BRAND'
52
+ {
53
+ "hostname": "smoke",
54
+ "domain": null
55
+ }
56
+ BRAND
57
+
58
+ echo '{}' > "$account_dir/account.json"
59
+ # IDENTITY.md references no `<sentinels>`, so runIdentityDriftAssertion has
60
+ # nothing to verify and trivially passes. SOUL.md is read per-spawn (not at
61
+ # boot) but the file presence is convention.
62
+ echo "smoke identity" > "$account_dir/agents/admin/IDENTITY.md"
63
+ echo "smoke soul" > "$account_dir/agents/admin/SOUL.md"
64
+ }
65
+
66
+ # Pick an unlikely-to-clash port per service run. mktemp's tail gives entropy.
67
+ random_port() {
68
+ printf '%d\n' $(( 40000 + RANDOM % 20000 ))
69
+ }
70
+
71
+ run_one() {
72
+ local name="$1"
73
+ local dist_entry="$2"
74
+ local dist_path="$REPO_ROOT/$dist_entry"
75
+
76
+ if [ ! -f "$dist_path" ]; then
77
+ echo "[smoke] service=$name reason=dist-missing path=$dist_path" >&2
78
+ return 1
79
+ fi
80
+
81
+ local install_dir="$TMP_ROOT/$name"
82
+ mkdir -p "$install_dir"
83
+ case "$name" in
84
+ claude-session-manager) fixture_claude_session_manager "$install_dir" ;;
85
+ *) echo "[smoke] service=$name reason=no-fixture-function" >&2; return 1 ;;
86
+ esac
87
+
88
+ local log_file="$TMP_ROOT/$name.log"
89
+ local port; port="$(random_port)"
90
+ local start_ms; start_ms="$(python3 -c 'import time;print(int(time.time()*1000))')"
91
+
92
+ # Spawn the service. PLATFORM_ROOT is the synthetic platform dir; loadConfig
93
+ # walks $(dirname PLATFORM_ROOT)/data/accounts for the account dir.
94
+ PLATFORM_ROOT="$install_dir/platform" \
95
+ CLAUDE_SESSION_MANAGER_PORT="$port" \
96
+ CLAUDE_SESSION_MANAGER_PERSIST_DIR="$install_dir/persist" \
97
+ node "$dist_path" >"$log_file" 2>&1 &
98
+ local pid=$!
99
+
100
+ # Poll up to 5s for either the success line or a fatal line.
101
+ local boot_line=""
102
+ local fatal_line=""
103
+ local waited_ms=0
104
+ while [ "$waited_ms" -lt 5000 ]; do
105
+ if [ -s "$log_file" ]; then
106
+ boot_line="$(grep -m1 -E '^\[claude-session-manager\] boot port=' "$log_file" || true)"
107
+ fatal_line="$(grep -m1 -E '^\[.*\] fatal ' "$log_file" || true)"
108
+ if [ -n "$boot_line" ] || [ -n "$fatal_line" ]; then break; fi
109
+ fi
110
+ if ! kill -0 "$pid" 2>/dev/null; then break; fi
111
+ sleep 0.1
112
+ waited_ms=$((waited_ms + 100))
113
+ done
114
+
115
+ # Terminate the service. SIGTERM hits the registered shutdown handler.
116
+ if kill -0 "$pid" 2>/dev/null; then
117
+ kill -TERM "$pid" 2>/dev/null || true
118
+ # Wait briefly for clean exit before falling through to SIGKILL.
119
+ local term_waited=0
120
+ while kill -0 "$pid" 2>/dev/null && [ "$term_waited" -lt 2000 ]; do
121
+ sleep 0.1
122
+ term_waited=$((term_waited + 100))
123
+ done
124
+ if kill -0 "$pid" 2>/dev/null; then
125
+ kill -KILL "$pid" 2>/dev/null || true
126
+ fi
127
+ fi
128
+ wait "$pid" 2>/dev/null || true
129
+ local exit_code=$?
130
+
131
+ local end_ms; end_ms="$(python3 -c 'import time;print(int(time.time()*1000))')"
132
+ local elapsed_ms=$((end_ms - start_ms))
133
+
134
+ # Re-scan after the process has exited; the boot line may have arrived
135
+ # in the same tick as termination on a fast host.
136
+ fatal_line="$(grep -m1 -E '^\[.*\] fatal ' "$log_file" || true)"
137
+ if [ -z "$boot_line" ]; then
138
+ boot_line="$(grep -m1 -E '^\[claude-session-manager\] boot port=' "$log_file" || true)"
139
+ fi
140
+
141
+ if [ -n "$fatal_line" ]; then
142
+ echo "[smoke] service=$name reason=fatal-detected matched=$fatal_line" >&2
143
+ echo "--- log ($log_file) ---" >&2
144
+ cat "$log_file" >&2
145
+ return 1
146
+ fi
147
+ if [ -z "$boot_line" ]; then
148
+ echo "[smoke] service=$name reason=no-boot-line matched=" >&2
149
+ echo "--- log ($log_file) ---" >&2
150
+ cat "$log_file" >&2
151
+ return 1
152
+ fi
153
+ # SIGTERM yields exit code 0 (clean shutdown handler called process.exit(0))
154
+ # or 143 (128 + 15) if the handler did not run; SIGKILL yields 137.
155
+ if [ "$exit_code" -ne 0 ] && [ "$exit_code" -ne 143 ]; then
156
+ echo "[smoke] service=$name reason=exit-code matched=$exit_code boot-line=$boot_line" >&2
157
+ echo "--- log ($log_file) ---" >&2
158
+ cat "$log_file" >&2
159
+ return 1
160
+ fi
161
+
162
+ echo "[smoke] service=$name ok boot-line=\"$boot_line\" elapsed-ms=$elapsed_ms"
163
+ return 0
164
+ }
165
+
166
+ rc=0
167
+ for entry in "${SERVICES[@]}"; do
168
+ name="${entry%%:*}"
169
+ dist_entry="${entry#*:}"
170
+ if ! run_one "$name" "$dist_entry"; then
171
+ rc=1
172
+ fi
173
+ done
174
+
175
+ exit "$rc"
@@ -45,6 +45,15 @@ export interface FsWatcher {
45
45
  /** Resolve once a PID-file event lands for `pid`. Rejects on `timeoutMs`. */
46
46
  waitForPid(pid: number, timeoutMs: number): Promise<SessionRow>;
47
47
  close(): void;
48
+ /** Test seam: drive reconciliation directly, bypassing fs.watch + debounce.
49
+ * Production code uses the same closures via the watch callback; the seam
50
+ * exists because fs.watch on macOS coalesces tight create/delete bursts in
51
+ * vitest, leaving live-event tests timing-dependent. Tests call these
52
+ * after performing the same fs mutation a real session would emit. */
53
+ __internal: {
54
+ reconcilePidFile(path: string): void;
55
+ reconcileJsonlFile(path: string): void;
56
+ };
48
57
  }
49
58
  export declare function createFsWatcher(opts: {
50
59
  sessionsDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fs-watcher.d.ts","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAsCxC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;mEAC+D;IAC/D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;;;qCAIiC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,SAAS,CAAA;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACpC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAA;IACvB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;AAEtD,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,IAAI,CAAA;IAChB,GAAG,IAAI,IAAI,CAAA;IACX,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,IAAI,CAAA;IACtC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAClD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACxD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC7C,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/D,KAAK,IAAI,IAAI,CAAA;CACd;AA0DD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,SAAS,CAyVZ"}
1
+ {"version":3,"file":"fs-watcher.d.ts","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAsCxC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;mEAC+D;IAC/D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;;;qCAIiC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,SAAS,CAAA;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACpC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAA;IACvB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;AAEtD,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,IAAI,CAAA;IAChB,GAAG,IAAI,IAAI,CAAA;IACX,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,IAAI,CAAA;IACtC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAClD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACxD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC7C,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/D,KAAK,IAAI,IAAI,CAAA;IACb;;;;2EAIuE;IACvE,UAAU,EAAE;QACV,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KACvC,CAAA;CACF;AA0DD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,SAAS,CAuVZ"}
@@ -38,7 +38,7 @@
38
38
  // - pid (null on archived JSONL-only rows)
39
39
  // The store/HTTP layer resolves an inbound id against all four keys so a
40
40
  // caller holding any one of them resolves to the same row.
41
- import { existsSync, openSync, closeSync, readSync, readFileSync, readdirSync, statSync, watch } from 'node:fs';
41
+ import { existsSync, mkdirSync, openSync, closeSync, readSync, readFileSync, readdirSync, statSync, watch } from 'node:fs';
42
42
  import { join } from 'node:path';
43
43
  const DEBOUNCE_MS = 200;
44
44
  // First `agent-setting` record sits near the JSONL head (Claude Code writes
@@ -404,9 +404,6 @@ export function createFsWatcher(opts) {
404
404
  return;
405
405
  if (!seeded)
406
406
  bootSeed();
407
- // mkdirSync via require so we do not import yet another fs symbol
408
- // up top — the dir may legitimately not yet exist at boot.
409
- const { mkdirSync } = require('node:fs');
410
407
  try {
411
408
  mkdirSync(sessionsDir, { recursive: true });
412
409
  }
@@ -511,6 +508,7 @@ export function createFsWatcher(opts) {
511
508
  all,
512
509
  waitForPid,
513
510
  close,
511
+ __internal: { reconcilePidFile, reconcileJsonlFile },
514
512
  };
515
513
  }
516
514
  //# sourceMappingURL=fs-watcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}