studiograph 1.3.48-next.170 → 1.3.48-next.172

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 (405) hide show
  1. package/README.md +6 -0
  2. package/dist/agent/orchestrator.d.ts +6 -0
  3. package/dist/agent/orchestrator.js +14 -2
  4. package/dist/agent/orchestrator.js.map +1 -1
  5. package/dist/agent/prompts/system.md +1 -0
  6. package/dist/core/commit-messages.d.ts +57 -0
  7. package/dist/core/commit-messages.js +85 -0
  8. package/dist/core/commit-messages.js.map +1 -0
  9. package/dist/core/field-library.d.ts +62 -0
  10. package/dist/core/field-library.js +129 -0
  11. package/dist/core/field-library.js.map +1 -0
  12. package/dist/core/graph.d.ts +34 -0
  13. package/dist/core/graph.js +118 -22
  14. package/dist/core/graph.js.map +1 -1
  15. package/dist/core/history-diff.d.ts +35 -0
  16. package/dist/core/history-diff.js +114 -0
  17. package/dist/core/history-diff.js.map +1 -0
  18. package/dist/core/schema-registry.d.ts +7 -0
  19. package/dist/core/schema-registry.js +9 -0
  20. package/dist/core/schema-registry.js.map +1 -1
  21. package/dist/mcp/tools.js +56 -0
  22. package/dist/mcp/tools.js.map +1 -1
  23. package/dist/server/index.js +10 -3
  24. package/dist/server/index.js.map +1 -1
  25. package/dist/server/routes/auth-api.js +134 -2
  26. package/dist/server/routes/auth-api.js.map +1 -1
  27. package/dist/server/routes/chat.js +75 -3
  28. package/dist/server/routes/chat.js.map +1 -1
  29. package/dist/server/routes/event-ingest-api.d.ts +2 -2
  30. package/dist/server/routes/event-ingest-api.js +4 -4
  31. package/dist/server/routes/event-ingest-api.js.map +1 -1
  32. package/dist/server/routes/field-library-api.d.ts +28 -0
  33. package/dist/server/routes/field-library-api.js +126 -0
  34. package/dist/server/routes/field-library-api.js.map +1 -0
  35. package/dist/server/routes/graph-api.js +72 -4
  36. package/dist/server/routes/graph-api.js.map +1 -1
  37. package/dist/server/session-manager.js +9 -5
  38. package/dist/server/session-manager.js.map +1 -1
  39. package/dist/services/auth-service.d.ts +6 -0
  40. package/dist/services/auth-service.js +26 -1
  41. package/dist/services/auth-service.js.map +1 -1
  42. package/dist/services/cloud-inference-billing.d.ts +58 -0
  43. package/dist/services/cloud-inference-billing.js +173 -0
  44. package/dist/services/cloud-inference-billing.js.map +1 -0
  45. package/dist/services/event-processor.d.ts +4 -4
  46. package/dist/services/event-processor.js +2 -2
  47. package/dist/web/_app/immutable/assets/0.DGQkw-DV.css +2 -0
  48. package/dist/web/_app/immutable/assets/12.QqJyWqt5.css +1 -0
  49. package/dist/web/_app/immutable/assets/2.mm3a1OW0.css +1 -0
  50. package/dist/web/_app/immutable/assets/{3.BdNa1z-b.css → 3.CRpWyOfW.css} +1 -1
  51. package/dist/web/_app/immutable/assets/4.aABm4N6t.css +1 -0
  52. package/dist/web/_app/immutable/assets/AgentOverlay.BnqDGRGF.css +1 -0
  53. package/dist/web/_app/immutable/assets/AssetManagerModal.BKJfPAPk.css +1 -0
  54. package/dist/web/_app/immutable/assets/CalendarView.bNewSxkH.css +1 -0
  55. package/dist/web/_app/immutable/assets/FolderMembersPanel.DX1oBeF_.css +1 -0
  56. package/dist/web/_app/immutable/assets/GalleryView.DgvSjS0I.css +1 -0
  57. package/dist/web/_app/immutable/assets/{GraphView.BHnGIltS.css → GraphView.BJtGL9py.css} +1 -1
  58. package/dist/web/_app/immutable/assets/KanbanView.D0QbZFd6.css +1 -0
  59. package/dist/web/_app/immutable/assets/SettingsDialog.CqPGXSmw.css +1 -0
  60. package/dist/web/_app/immutable/assets/TimelineView.DA-H6dvv.css +1 -0
  61. package/dist/web/_app/immutable/assets/WorkspaceView.BS1ildu7.css +1 -0
  62. package/dist/web/_app/immutable/assets/entity-row.vV0ne105.css +1 -0
  63. package/dist/web/_app/immutable/assets/{inline-list.DORLo4xF.css → inline-list.cqga56xT.css} +1 -1
  64. package/dist/web/_app/immutable/assets/list-columns.DCMVmy_Q.css +1 -0
  65. package/dist/web/_app/immutable/assets/speech-dictation.C5CYFhS1.css +1 -0
  66. package/dist/web/_app/immutable/chunks/0iDDDyaZ.js +1 -0
  67. package/dist/web/_app/immutable/chunks/19s92Yak2.js +1 -0
  68. package/dist/web/_app/immutable/chunks/2QJ_zo3Z.js +1 -0
  69. package/dist/web/_app/immutable/chunks/3UsK_Qzm2.js +1 -0
  70. package/dist/web/_app/immutable/chunks/{DEyd-YQw.js → 7Bu427my2.js} +1 -1
  71. package/dist/web/_app/immutable/chunks/96h3ktuk.js +1 -0
  72. package/dist/web/_app/immutable/chunks/B-V5eMSw2.js +1 -0
  73. package/dist/web/_app/immutable/chunks/B-i9_YVM.js +1 -0
  74. package/dist/web/_app/immutable/chunks/B15-kvCe2.js +1 -0
  75. package/dist/web/_app/immutable/chunks/B1kq3m4u.js +1 -0
  76. package/dist/web/_app/immutable/chunks/B3wOM4jg2.js +1 -0
  77. package/dist/web/_app/immutable/chunks/B7EOyBxX2.js +2 -0
  78. package/dist/web/_app/immutable/chunks/BBxt8lpa.js +1 -0
  79. package/dist/web/_app/immutable/chunks/{ClfZwNp32.js → BCaRi2AF.js} +1 -1
  80. package/dist/web/_app/immutable/chunks/{CcTkKa7t.js → BG4fZrg8.js} +1 -1
  81. package/dist/web/_app/immutable/chunks/BGDeSoy-.js +1 -0
  82. package/dist/web/_app/immutable/chunks/BGyxDnT5.js +2 -0
  83. package/dist/web/_app/immutable/chunks/{ABFIeViK2.js → BIcQ547M2.js} +1 -1
  84. package/dist/web/_app/immutable/chunks/BL1MlIiX2.js +2 -0
  85. package/dist/web/_app/immutable/chunks/{BY9JAHZa.js → BM_vIwVC.js} +1 -1
  86. package/dist/web/_app/immutable/chunks/BNAV-nMs2.js +9 -0
  87. package/dist/web/_app/immutable/chunks/{CI0x_Zvz2.js → BQULA6er.js} +1 -1
  88. package/dist/web/_app/immutable/chunks/{C24IUqw0.js → BQW-EDgP2.js} +1 -1
  89. package/dist/web/_app/immutable/chunks/BR6jMpLB.js +1 -0
  90. package/dist/web/_app/immutable/chunks/BXQQ0GB32.js +1 -0
  91. package/dist/web/_app/immutable/chunks/BZPIpkdc2.js +1 -0
  92. package/dist/web/_app/immutable/chunks/BddNmQ8j.js +1 -0
  93. package/dist/web/_app/immutable/chunks/{D25CpUpa.js → BeuunHPO.js} +1 -1
  94. package/dist/web/_app/immutable/chunks/BkZRaY_G2.js +1 -0
  95. package/dist/web/_app/immutable/chunks/{D-qftGmx.js → BlyFGPFV.js} +1 -1
  96. package/dist/web/_app/immutable/chunks/Bo5dghSu.js +3 -0
  97. package/dist/web/_app/immutable/chunks/BsbGW3Vx.js +1 -0
  98. package/dist/web/_app/immutable/chunks/{eJNbcV2s.js → BuKi0vpu2.js} +7 -7
  99. package/dist/web/_app/immutable/chunks/ByidpUhu.js +1 -0
  100. package/dist/web/_app/immutable/chunks/C35TIzaB.js +1 -0
  101. package/dist/web/_app/immutable/chunks/C6Nx0jpM.js +1 -0
  102. package/dist/web/_app/immutable/chunks/C94TJqPI.js +1 -0
  103. package/dist/web/_app/immutable/chunks/{CdWZV3Mv.js → CCLR-AJL2.js} +1 -1
  104. package/dist/web/_app/immutable/chunks/CCNBBsnV.js +7 -0
  105. package/dist/web/_app/immutable/chunks/{CW-tcm9w.js → CD0X7XPW.js} +1 -1
  106. package/dist/web/_app/immutable/chunks/{BQ7FQO6Y.js → CDTjuBSm.js} +1 -1
  107. package/dist/web/_app/immutable/chunks/{Brnt5OaR.js → CMZ2ry7F.js} +1 -1
  108. package/dist/web/_app/immutable/chunks/CPs6_Z_p.js +1 -0
  109. package/dist/web/_app/immutable/chunks/{BLbv79id.js → CSUrYOis.js} +1 -1
  110. package/dist/web/_app/immutable/chunks/CTE3TEJQ.js +1 -0
  111. package/dist/web/_app/immutable/chunks/CXTGng1_2.js +1 -0
  112. package/dist/web/_app/immutable/chunks/CYQndkfp.js +1 -0
  113. package/dist/web/_app/immutable/chunks/CYTTTma0.js +3 -0
  114. package/dist/web/_app/immutable/chunks/CkLfUXwy.js +1 -0
  115. package/dist/web/_app/immutable/chunks/CokE4L8B.js +1 -0
  116. package/dist/web/_app/immutable/chunks/Cqpi9I1u2.js +1 -0
  117. package/dist/web/_app/immutable/chunks/CsWlW0fr2.js +1 -0
  118. package/dist/web/_app/immutable/chunks/{DDADdPaI.js → CssyKCTO2.js} +1 -1
  119. package/dist/web/_app/immutable/chunks/CvZglTbX2.js +1 -0
  120. package/dist/web/_app/immutable/chunks/D00MFB9_2.js +1 -0
  121. package/dist/web/_app/immutable/chunks/D00luDVW.js +64 -0
  122. package/dist/web/_app/immutable/chunks/D41CbXmM.js +1 -0
  123. package/dist/web/_app/immutable/chunks/DAUWNKOW.js +2 -0
  124. package/dist/web/_app/immutable/chunks/DAXW5iLp.js +1 -0
  125. package/dist/web/_app/immutable/chunks/{CQ3GQmfw.js → DBHPsjQz.js} +1 -1
  126. package/dist/web/_app/immutable/chunks/{DVs2iynz.js → DBzQ8LyQ2.js} +1 -1
  127. package/dist/web/_app/immutable/chunks/DC9IV1c2.js +1 -0
  128. package/dist/web/_app/immutable/chunks/DM6fKNiF2.js +2 -0
  129. package/dist/web/_app/immutable/chunks/DM8wTDvD.js +1 -0
  130. package/dist/web/_app/immutable/chunks/{D0BO6Lbw.js → DOmH4G9o.js} +1 -1
  131. package/dist/web/_app/immutable/chunks/DQMWa2t72.js +1 -0
  132. package/dist/web/_app/immutable/chunks/DRFvVw-h2.js +2 -0
  133. package/dist/web/_app/immutable/chunks/DTCHhxD5.js +1 -0
  134. package/dist/web/_app/immutable/chunks/{CfwZNkcR.js → DWygwzcO.js} +1 -1
  135. package/dist/web/_app/immutable/chunks/{DtX0WmTj.js → DYXDRmoo.js} +1 -1
  136. package/dist/web/_app/immutable/chunks/Da_yN2Ht.js +1 -0
  137. package/dist/web/_app/immutable/chunks/{CAnnQJhK.js → DaoOQFPb.js} +1 -1
  138. package/dist/web/_app/immutable/chunks/{BJ1WyX5l.js → DdLkNvPf.js} +1 -1
  139. package/dist/web/_app/immutable/chunks/DfbocD1I.js +1 -0
  140. package/dist/web/_app/immutable/chunks/{DGYUucD9.js → Dg18MlDf2.js} +1 -1
  141. package/dist/web/_app/immutable/chunks/DiMQob8p.js +1 -0
  142. package/dist/web/_app/immutable/chunks/DiQJ9DLy.js +1 -0
  143. package/dist/web/_app/immutable/chunks/DlZS_4WM2.js +1 -0
  144. package/dist/web/_app/immutable/chunks/Dng3OcRd2.js +1 -0
  145. package/dist/web/_app/immutable/chunks/DpzG2mVI.js +1 -0
  146. package/dist/web/_app/immutable/chunks/{yfO96jud.js → DqVbIdQZ.js} +1 -1
  147. package/dist/web/_app/immutable/chunks/Dr9hW7k42.js +1 -0
  148. package/dist/web/_app/immutable/chunks/{CkX_FgeP.js → DvJSCDuZ2.js} +1 -1
  149. package/dist/web/_app/immutable/chunks/{sEj1Ztgn.js → DvPuaTCl2.js} +1 -1
  150. package/dist/web/_app/immutable/chunks/DxBNZUIY.js +1 -0
  151. package/dist/web/_app/immutable/chunks/JImE4-DI2.js +1 -0
  152. package/dist/web/_app/immutable/chunks/MgrdPbGs2.js +1 -0
  153. package/dist/web/_app/immutable/chunks/{BFdSOeRg2.js → RmiWpCin2.js} +1 -1
  154. package/dist/web/_app/immutable/chunks/SGLDTLoP.js +1 -0
  155. package/dist/web/_app/immutable/chunks/SJxmN1T3.js +1 -0
  156. package/dist/web/_app/immutable/chunks/cHsneAeX.js +3 -0
  157. package/dist/web/_app/immutable/chunks/d58PT3PS2.js +1 -0
  158. package/dist/web/_app/immutable/chunks/{Buq5akT7.js → g09ZrevW.js} +1 -1
  159. package/dist/web/_app/immutable/chunks/hqkW5OQY.js +2 -0
  160. package/dist/web/_app/immutable/chunks/jC_svd2L.js +1 -0
  161. package/dist/web/_app/immutable/chunks/jKb0RD872.js +2692 -0
  162. package/dist/web/_app/immutable/chunks/p5m0R6Px2.js +1 -0
  163. package/dist/web/_app/immutable/chunks/qTHc6Pzq2.js +1 -0
  164. package/dist/web/_app/immutable/chunks/tvymYcS6.js +5 -0
  165. package/dist/web/_app/immutable/chunks/uuFM-ygL.js +1 -0
  166. package/dist/web/_app/immutable/chunks/v7me-ydg.js +2 -0
  167. package/dist/web/_app/immutable/chunks/xYnAx0Ae2.js +2 -0
  168. package/dist/web/_app/immutable/chunks/zl16E4yc2.js +1 -0
  169. package/dist/web/_app/immutable/entry/app.BHdvXX9o.js +2 -0
  170. package/dist/web/_app/immutable/entry/start.B2NlpImp.js +1 -0
  171. package/dist/web/_app/immutable/nodes/0.DRTyfJYD.js +2 -0
  172. package/dist/web/_app/immutable/nodes/1.B4z7ZSap.js +1 -0
  173. package/dist/web/_app/immutable/nodes/10.CJL6o_IN.js +1 -0
  174. package/dist/web/_app/immutable/nodes/11.CgPa2AiR.js +1 -0
  175. package/dist/web/_app/immutable/nodes/12.3TmikszN.js +1 -0
  176. package/dist/web/_app/immutable/nodes/13.C9PuSUPT.js +1 -0
  177. package/dist/web/_app/immutable/nodes/2.Bb5gassg.js +109 -0
  178. package/dist/web/_app/immutable/nodes/3.3rYw8Dqc.js +2 -0
  179. package/dist/web/_app/immutable/nodes/4.DTnhDJEf.js +14 -0
  180. package/dist/web/_app/immutable/nodes/5.DFzBaYKs.js +1 -0
  181. package/dist/web/_app/immutable/nodes/6.Bz9Lbyhb.js +1 -0
  182. package/dist/web/_app/immutable/nodes/7.Bx0j39kw.js +1 -0
  183. package/dist/web/_app/immutable/nodes/8.BLltWMse.js +1 -0
  184. package/dist/web/_app/immutable/nodes/9.V5BCrlK9.js +1 -0
  185. package/dist/web/_app/version.json +1 -1
  186. package/dist/web/index.html +26 -36
  187. package/package.json +2 -1
  188. package/dist/agent/tools/message-tools.d.ts +0 -44
  189. package/dist/agent/tools/message-tools.js +0 -98
  190. package/dist/agent/tools/message-tools.js.map +0 -1
  191. package/dist/cli/commands/audit.d.ts +0 -21
  192. package/dist/cli/commands/audit.js +0 -174
  193. package/dist/cli/commands/audit.js.map +0 -1
  194. package/dist/cli/commands/clear.d.ts +0 -10
  195. package/dist/cli/commands/clear.js +0 -179
  196. package/dist/cli/commands/clear.js.map +0 -1
  197. package/dist/cli/commands/folder.d.ts +0 -11
  198. package/dist/cli/commands/folder.js +0 -186
  199. package/dist/cli/commands/folder.js.map +0 -1
  200. package/dist/cli/commands/join.d.ts +0 -9
  201. package/dist/cli/commands/join.js +0 -267
  202. package/dist/cli/commands/join.js.map +0 -1
  203. package/dist/cli/commands/secrets.d.ts +0 -23
  204. package/dist/cli/commands/secrets.js +0 -256
  205. package/dist/cli/commands/secrets.js.map +0 -1
  206. package/dist/cli/commands/settings.d.ts +0 -28
  207. package/dist/cli/commands/settings.js +0 -284
  208. package/dist/cli/commands/settings.js.map +0 -1
  209. package/dist/cli/commands/start.d.ts +0 -7
  210. package/dist/cli/commands/start.js +0 -653
  211. package/dist/cli/commands/start.js.map +0 -1
  212. package/dist/cli/commands/update.d.ts +0 -8
  213. package/dist/cli/commands/update.js +0 -155
  214. package/dist/cli/commands/update.js.map +0 -1
  215. package/dist/cli/commands/user.d.ts +0 -7
  216. package/dist/cli/commands/user.js +0 -181
  217. package/dist/cli/commands/user.js.map +0 -1
  218. package/dist/cli/scaffolding.d.ts +0 -14
  219. package/dist/cli/scaffolding.js +0 -392
  220. package/dist/cli/scaffolding.js.map +0 -1
  221. package/dist/core/feature-flags.d.ts +0 -22
  222. package/dist/core/feature-flags.js +0 -15
  223. package/dist/core/feature-flags.js.map +0 -1
  224. package/dist/core/features.d.ts +0 -16
  225. package/dist/core/features.js +0 -48
  226. package/dist/core/features.js.map +0 -1
  227. package/dist/core/secrets/importer.d.ts +0 -94
  228. package/dist/core/secrets/importer.js +0 -319
  229. package/dist/core/secrets/importer.js.map +0 -1
  230. package/dist/server/routes/features-api.d.ts +0 -19
  231. package/dist/server/routes/features-api.js +0 -28
  232. package/dist/server/routes/features-api.js.map +0 -1
  233. package/dist/server/routes/messages-api.d.ts +0 -15
  234. package/dist/server/routes/messages-api.js +0 -582
  235. package/dist/server/routes/messages-api.js.map +0 -1
  236. package/dist/services/briefing.d.ts +0 -26
  237. package/dist/services/briefing.js +0 -207
  238. package/dist/services/briefing.js.map +0 -1
  239. package/dist/services/heartbeat.d.ts +0 -35
  240. package/dist/services/heartbeat.js +0 -238
  241. package/dist/services/heartbeat.js.map +0 -1
  242. package/dist/services/message-service.d.ts +0 -109
  243. package/dist/services/message-service.js +0 -337
  244. package/dist/services/message-service.js.map +0 -1
  245. package/dist/web/_app/immutable/assets/0.BA9zEqMO.css +0 -2
  246. package/dist/web/_app/immutable/assets/12.Dmlt28l2.css +0 -1
  247. package/dist/web/_app/immutable/assets/2.UPfaLUj4.css +0 -1
  248. package/dist/web/_app/immutable/assets/4.09F-KSoB.css +0 -1
  249. package/dist/web/_app/immutable/assets/AgentOverlay.C9xf50ov.css +0 -1
  250. package/dist/web/_app/immutable/assets/AssetManagerModal.ZfasE2L3.css +0 -1
  251. package/dist/web/_app/immutable/assets/CalendarView.CxdTsBOU.css +0 -1
  252. package/dist/web/_app/immutable/assets/Filters.BNSqCL2w.css +0 -1
  253. package/dist/web/_app/immutable/assets/FolderMembersPanel.BTK40ZV-.css +0 -1
  254. package/dist/web/_app/immutable/assets/GalleryView.CJM0qb0Z.css +0 -1
  255. package/dist/web/_app/immutable/assets/KanbanView.BykCv6-6.css +0 -1
  256. package/dist/web/_app/immutable/assets/SettingsDialog.DWIvReSL.css +0 -1
  257. package/dist/web/_app/immutable/assets/TimelineView.C97Q_R7Q.css +0 -1
  258. package/dist/web/_app/immutable/assets/WorkspaceView.BZIvO04T.css +0 -1
  259. package/dist/web/_app/immutable/assets/dialog.BxVal_19.css +0 -1
  260. package/dist/web/_app/immutable/assets/dist.U57Jb1b6.css +0 -1
  261. package/dist/web/_app/immutable/assets/dropdown-menu.BSsUUQ3o.css +0 -1
  262. package/dist/web/_app/immutable/assets/entity-row.Bl5FyNCt.css +0 -1
  263. package/dist/web/_app/immutable/assets/radio-group.GJJRVPUJ.css +0 -1
  264. package/dist/web/_app/immutable/assets/select.D_AV992j.css +0 -1
  265. package/dist/web/_app/immutable/assets/speech-dictation.DOnQxxBP.css +0 -1
  266. package/dist/web/_app/immutable/chunks/3RiSoUyU.js +0 -1
  267. package/dist/web/_app/immutable/chunks/3h94PB-X.js +0 -1
  268. package/dist/web/_app/immutable/chunks/9bCTHkeS.js +0 -1
  269. package/dist/web/_app/immutable/chunks/B0QlKv_y2.js +0 -1
  270. package/dist/web/_app/immutable/chunks/B3wplzwT.js +0 -5
  271. package/dist/web/_app/immutable/chunks/B5Msg8c9.js +0 -1
  272. package/dist/web/_app/immutable/chunks/B6jmww-W.js +0 -1
  273. package/dist/web/_app/immutable/chunks/B78yLITZ2.js +0 -1
  274. package/dist/web/_app/immutable/chunks/BA10-DAl2.js +0 -1
  275. package/dist/web/_app/immutable/chunks/BBVb0hAs.js +0 -1
  276. package/dist/web/_app/immutable/chunks/BCVEaBWw.js +0 -1
  277. package/dist/web/_app/immutable/chunks/BChTKONz.js +0 -41
  278. package/dist/web/_app/immutable/chunks/BE2ewAd6.js +0 -1
  279. package/dist/web/_app/immutable/chunks/BHEaUcm-.js +0 -1
  280. package/dist/web/_app/immutable/chunks/BHdtIHph2.js +0 -1
  281. package/dist/web/_app/immutable/chunks/BKJxbYlw2.js +0 -1
  282. package/dist/web/_app/immutable/chunks/BMF2kgRl.js +0 -1
  283. package/dist/web/_app/immutable/chunks/BNTlsKDJ.js +0 -1
  284. package/dist/web/_app/immutable/chunks/BOLBnq4S2.js +0 -1
  285. package/dist/web/_app/immutable/chunks/BPphsWzE2.js +0 -2
  286. package/dist/web/_app/immutable/chunks/BT3KAag_.js +0 -3
  287. package/dist/web/_app/immutable/chunks/BZnJ8tbJ.js +0 -1
  288. package/dist/web/_app/immutable/chunks/BdmrtKYp2.js +0 -1
  289. package/dist/web/_app/immutable/chunks/BiFpvCJe2.js +0 -1
  290. package/dist/web/_app/immutable/chunks/BjGNHoI_.js +0 -1
  291. package/dist/web/_app/immutable/chunks/Bsokmj9K.js +0 -3
  292. package/dist/web/_app/immutable/chunks/BuzQceOn.js +0 -1
  293. package/dist/web/_app/immutable/chunks/By52SWFQ.js +0 -1
  294. package/dist/web/_app/immutable/chunks/C-OaypFN.js +0 -1
  295. package/dist/web/_app/immutable/chunks/C2pzynAx.js +0 -1
  296. package/dist/web/_app/immutable/chunks/CA-SSsmA2.js +0 -64
  297. package/dist/web/_app/immutable/chunks/CCIXvL-4.js +0 -1
  298. package/dist/web/_app/immutable/chunks/CFFwOnjy2.js +0 -1
  299. package/dist/web/_app/immutable/chunks/CFMXRG2C.js +0 -1
  300. package/dist/web/_app/immutable/chunks/CHgG1pyP.js +0 -3
  301. package/dist/web/_app/immutable/chunks/CJ6d6ePw2.js +0 -2
  302. package/dist/web/_app/immutable/chunks/COcA3ksE2.js +0 -1
  303. package/dist/web/_app/immutable/chunks/CSvuCeFa.js +0 -1
  304. package/dist/web/_app/immutable/chunks/CWJVikgc.js +0 -1
  305. package/dist/web/_app/immutable/chunks/CWYxmjA9.js +0 -1
  306. package/dist/web/_app/immutable/chunks/CZXBk6f7.js +0 -1
  307. package/dist/web/_app/immutable/chunks/C_DPJIiI.js +0 -1
  308. package/dist/web/_app/immutable/chunks/C_OQGsMP.js +0 -1
  309. package/dist/web/_app/immutable/chunks/CaWyI47y2.js +0 -1
  310. package/dist/web/_app/immutable/chunks/CcVuIXb4.js +0 -1
  311. package/dist/web/_app/immutable/chunks/CdxueNVV2.js +0 -1
  312. package/dist/web/_app/immutable/chunks/Cdzi5eXS2.js +0 -5
  313. package/dist/web/_app/immutable/chunks/Ce2BYFn2.js +0 -1
  314. package/dist/web/_app/immutable/chunks/Cf9Tl9SZ.js +0 -1
  315. package/dist/web/_app/immutable/chunks/CjrvnLDf.js +0 -1
  316. package/dist/web/_app/immutable/chunks/CkxWsTxP.js +0 -1
  317. package/dist/web/_app/immutable/chunks/CmYHsiEp2.js +0 -1
  318. package/dist/web/_app/immutable/chunks/Cn4uWvXa.js +0 -11
  319. package/dist/web/_app/immutable/chunks/CnIuUOU82.js +0 -1
  320. package/dist/web/_app/immutable/chunks/CryKRL4O2.js +0 -1
  321. package/dist/web/_app/immutable/chunks/Cy7CbwT6.js +0 -1
  322. package/dist/web/_app/immutable/chunks/D17NMdKc.js +0 -2
  323. package/dist/web/_app/immutable/chunks/D1ZDlb582.js +0 -1
  324. package/dist/web/_app/immutable/chunks/D2w4mPEF.js +0 -1
  325. package/dist/web/_app/immutable/chunks/D7L6XPS4.js +0 -5
  326. package/dist/web/_app/immutable/chunks/DDrZo1ja.js +0 -1
  327. package/dist/web/_app/immutable/chunks/DGpZN1Lp2.js +0 -1
  328. package/dist/web/_app/immutable/chunks/DNLox5BN2.js +0 -3
  329. package/dist/web/_app/immutable/chunks/DPBBzmNi2.js +0 -1
  330. package/dist/web/_app/immutable/chunks/DPNVpxC52.js +0 -1
  331. package/dist/web/_app/immutable/chunks/DPtEUAYV2.js +0 -1
  332. package/dist/web/_app/immutable/chunks/DQ7LjxZD.js +0 -2
  333. package/dist/web/_app/immutable/chunks/DRDas3EM2.js +0 -1
  334. package/dist/web/_app/immutable/chunks/DSC6ch4B.js +0 -2
  335. package/dist/web/_app/immutable/chunks/DVXrH9Sk.js +0 -1
  336. package/dist/web/_app/immutable/chunks/DXOmI705.js +0 -1
  337. package/dist/web/_app/immutable/chunks/DXfqlchZ2.js +0 -1
  338. package/dist/web/_app/immutable/chunks/DZRz5Jaz.js +0 -1
  339. package/dist/web/_app/immutable/chunks/DZWSKD4B.js +0 -1
  340. package/dist/web/_app/immutable/chunks/DZzqmhRV2.js +0 -1
  341. package/dist/web/_app/immutable/chunks/DcXSx4DX.js +0 -1
  342. package/dist/web/_app/immutable/chunks/De4vjwu82.js +0 -1
  343. package/dist/web/_app/immutable/chunks/Dj8qQTtH2.js +0 -1
  344. package/dist/web/_app/immutable/chunks/Dk-ks0hL.js +0 -1
  345. package/dist/web/_app/immutable/chunks/DkZkS2e3.js +0 -1
  346. package/dist/web/_app/immutable/chunks/Dmtw4IHL.js +0 -1
  347. package/dist/web/_app/immutable/chunks/DoRjlkba.js +0 -1
  348. package/dist/web/_app/immutable/chunks/DoU_ZN0V2.js +0 -2
  349. package/dist/web/_app/immutable/chunks/DqZmeWn2.js +0 -1
  350. package/dist/web/_app/immutable/chunks/Dqujpr2J2.js +0 -1
  351. package/dist/web/_app/immutable/chunks/DrMTtpP7.js +0 -2
  352. package/dist/web/_app/immutable/chunks/DrRcjjPn.js +0 -9
  353. package/dist/web/_app/immutable/chunks/Du5wbcRu.js +0 -1
  354. package/dist/web/_app/immutable/chunks/Dxq8WNsL.js +0 -1
  355. package/dist/web/_app/immutable/chunks/Dy0wJ-2i.js +0 -1
  356. package/dist/web/_app/immutable/chunks/HeIhAG8e2.js +0 -1
  357. package/dist/web/_app/immutable/chunks/JdxLEXV1.js +0 -1
  358. package/dist/web/_app/immutable/chunks/LxsXcms32.js +0 -1
  359. package/dist/web/_app/immutable/chunks/NUWxw3q-.js +0 -1
  360. package/dist/web/_app/immutable/chunks/NqVTtJWQ2.js +0 -1
  361. package/dist/web/_app/immutable/chunks/PKJwETHu.js +0 -1
  362. package/dist/web/_app/immutable/chunks/Qfl7tlUB.js +0 -1
  363. package/dist/web/_app/immutable/chunks/RSiqYyjk2.js +0 -1
  364. package/dist/web/_app/immutable/chunks/TK5UsGfg2.js +0 -1
  365. package/dist/web/_app/immutable/chunks/TNy_tmA22.js +0 -1
  366. package/dist/web/_app/immutable/chunks/U1-Tn4Xg2.js +0 -2
  367. package/dist/web/_app/immutable/chunks/YajMQay-2.js +0 -1
  368. package/dist/web/_app/immutable/chunks/_G6O77q2.js +0 -156
  369. package/dist/web/_app/immutable/chunks/fpcthsge2.js +0 -1
  370. package/dist/web/_app/immutable/chunks/ikKa4mia.js +0 -1
  371. package/dist/web/_app/immutable/chunks/ipYqP0P92.js +0 -1
  372. package/dist/web/_app/immutable/chunks/jUv7UbKo.js +0 -1
  373. package/dist/web/_app/immutable/chunks/jb3wXG-M2.js +0 -1
  374. package/dist/web/_app/immutable/chunks/kC2Bqqp-.js +0 -1
  375. package/dist/web/_app/immutable/chunks/lfhdjeJB.js +0 -1
  376. package/dist/web/_app/immutable/chunks/mIAuGNVb.js +0 -1
  377. package/dist/web/_app/immutable/chunks/osHKvPM1.js +0 -1
  378. package/dist/web/_app/immutable/chunks/soMdXAIS.js +0 -2487
  379. package/dist/web/_app/immutable/chunks/vepwPm-7.js +0 -2
  380. package/dist/web/_app/immutable/chunks/wcGRWqFZ.js +0 -1
  381. package/dist/web/_app/immutable/chunks/xTCGZyVl2.js +0 -1
  382. package/dist/web/_app/immutable/entry/app.3rnl6ema.js +0 -2
  383. package/dist/web/_app/immutable/entry/start.eJznUT0J.js +0 -1
  384. package/dist/web/_app/immutable/nodes/0.CjpyY_9c.js +0 -2
  385. package/dist/web/_app/immutable/nodes/1.CFKD033o.js +0 -1
  386. package/dist/web/_app/immutable/nodes/10.BWzbX_BH.js +0 -1
  387. package/dist/web/_app/immutable/nodes/11.Dk7hAs7F.js +0 -1
  388. package/dist/web/_app/immutable/nodes/12.BmDyynW-.js +0 -1
  389. package/dist/web/_app/immutable/nodes/13.BTnFNmK-.js +0 -1
  390. package/dist/web/_app/immutable/nodes/2.x3yEhnol.js +0 -109
  391. package/dist/web/_app/immutable/nodes/3.CkgtaaDz.js +0 -2
  392. package/dist/web/_app/immutable/nodes/4.BOvkeFYn.js +0 -14
  393. package/dist/web/_app/immutable/nodes/5.C6BWLpdY.js +0 -1
  394. package/dist/web/_app/immutable/nodes/6.DOXMfqzx.js +0 -1
  395. package/dist/web/_app/immutable/nodes/7.CyXZWz_j.js +0 -1
  396. package/dist/web/_app/immutable/nodes/8.DmOwNPM1.js +0 -1
  397. package/dist/web/_app/immutable/nodes/9.aXRWDgir.js +0 -1
  398. /package/dist/web/_app/immutable/assets/{dist.DDCWxn3B.css → scroll-lock.DDCWxn3B.css} +0 -0
  399. /package/dist/web/_app/immutable/chunks/{1IUi-LlN2.js → B6Lt-qaJ2.js} +0 -0
  400. /package/dist/web/_app/immutable/chunks/{BRAte_-b.js → B7tbGyiU2.js} +0 -0
  401. /package/dist/web/_app/immutable/chunks/{uqxmB78b.js → B9RESVsC.js} +0 -0
  402. /package/dist/web/_app/immutable/chunks/{DgyLeDN4.js → CU98xe6n2.js} +0 -0
  403. /package/dist/web/_app/immutable/chunks/{C9mSWIDl2.js → DMtXGKK32.js} +0 -0
  404. /package/dist/web/_app/immutable/chunks/{B9dk7OcQ.js → oBQOivfH2.js} +0 -0
  405. /package/dist/web/_app/immutable/chunks/{t62M88qj.js → xihTtKlq.js} +0 -0
package/README.md CHANGED
@@ -249,6 +249,12 @@ The guided wizard walks through setup. Required environment variables:
249
249
  | `API_KEYS` | Semicolon-separated bearer tokens for client auth |
250
250
  | `WEBHOOK_SECRET` | GitHub webhook HMAC-SHA256 secret (optional) |
251
251
  | `PORT` | Set automatically by Railway |
252
+ | `STUDIOGRAPH_CLOUD_URL` | Optional Studiograph Cloud control-plane URL for hosted inference billing |
253
+ | `STUDIOGRAPH_CLOUD_ORG_ID` | Optional cloud organization ID for this managed runtime |
254
+ | `STUDIOGRAPH_CLOUD_WORKSPACE_ID` | Optional cloud workspace ID for this managed runtime |
255
+ | `STUDIOGRAPH_CLOUD_TOKEN` | Optional bearer token for machine-to-machine cloud billing calls |
256
+ | `STUDIOGRAPH_CLOUD_BILLING_REQUIRED` | Set to `1` to fail chat when cloud billing reservation/settlement fails |
257
+ | `STUDIOGRAPH_CLOUD_INFERENCE_ESTIMATE_CENTS` | Reservation estimate per chat turn, default `100` |
252
258
 
253
259
  On first boot, the server clones the config repo and all content repos automatically.
254
260
 
@@ -12,6 +12,7 @@ import { type MutationEvent } from './tools/graph-tools.js';
12
12
  import { AuthService } from '../services/auth-service.js';
13
13
  import type { AuthUser } from '../services/auth-service.js';
14
14
  import { AgentPool } from './agent-pool.js';
15
+ import { type InferenceUsageSummary } from '../services/cloud-inference-billing.js';
15
16
  export interface AgentConfig {
16
17
  workspacePath: string;
17
18
  workspaceConfig: WorkspaceConfig;
@@ -50,6 +51,7 @@ export interface AgentResponse {
50
51
  input: any;
51
52
  output: any;
52
53
  }>;
54
+ usage?: InferenceUsageSummary;
53
55
  }
54
56
  export declare class AgentOrchestrator {
55
57
  private workspacePath;
@@ -147,6 +149,10 @@ export declare class AgentOrchestrator {
147
149
  * Get workspace manager (for tools)
148
150
  */
149
151
  getWorkspaceManager(): WorkspaceManager;
152
+ getModelSelection(): {
153
+ provider: string;
154
+ modelId: string;
155
+ };
150
156
  /**
151
157
  * Get workspace summary
152
158
  */
@@ -34,6 +34,7 @@ import * as access from '../services/access-control.js';
34
34
  import { loadUserConfig, resolveApiKey, resolveProvider, resolveModelId } from '../core/user-config.js';
35
35
  import { onSecretMutation } from '../core/secrets/index.js';
36
36
  import { AgentPool } from './agent-pool.js';
37
+ import { addInferenceUsage, createInferenceUsageSummary, } from '../services/cloud-inference-billing.js';
37
38
  export class AgentOrchestrator {
38
39
  workspacePath;
39
40
  workspaceManager;
@@ -588,10 +589,12 @@ ${repoList}`;
588
589
  return new Promise((resolve, reject) => {
589
590
  let content = '';
590
591
  const toolCalls = [];
592
+ const usage = createInferenceUsageSummary();
591
593
  const unsubscribe = agent.subscribe((event) => {
592
594
  if (event.type === 'message_end') {
593
595
  const msg = event.message;
594
596
  if (msg?.role === 'assistant') {
597
+ addInferenceUsage(usage, msg.usage);
595
598
  content = msg.content
596
599
  .filter((b) => b.type === 'text')
597
600
  .map((b) => b.text)
@@ -605,7 +608,7 @@ ${repoList}`;
605
608
  }
606
609
  else if (event.type === 'agent_end') {
607
610
  unsubscribe();
608
- resolve({ content, toolCalls });
611
+ resolve({ content, toolCalls, usage });
609
612
  }
610
613
  });
611
614
  agent.prompt(userMessage).catch((error) => {
@@ -625,10 +628,12 @@ ${repoList}`;
625
628
  return new Promise((resolve, reject) => {
626
629
  let content = '';
627
630
  const toolCalls = [];
631
+ const usage = createInferenceUsageSummary();
628
632
  const unsubscribe = agent.subscribe((event) => {
629
633
  if (event.type === 'message_end') {
630
634
  const msg = event.message;
631
635
  if (msg?.role === 'assistant') {
636
+ addInferenceUsage(usage, msg.usage);
632
637
  content = msg.content
633
638
  .filter((b) => b.type === 'text')
634
639
  .map((b) => b.text)
@@ -642,7 +647,7 @@ ${repoList}`;
642
647
  }
643
648
  else if (event.type === 'agent_end') {
644
649
  unsubscribe();
645
- resolve({ content, toolCalls });
650
+ resolve({ content, toolCalls, usage });
646
651
  }
647
652
  });
648
653
  agent.prompt(userMessage).catch((error) => {
@@ -658,6 +663,13 @@ ${repoList}`;
658
663
  getWorkspaceManager() {
659
664
  return this.workspaceManager;
660
665
  }
666
+ getModelSelection() {
667
+ const userConfig = loadUserConfig();
668
+ return {
669
+ provider: resolveProvider(userConfig, this.config),
670
+ modelId: resolveModelId(userConfig, this.config),
671
+ };
672
+ }
661
673
  /**
662
674
  * Get workspace summary
663
675
  */
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ You can help users with:
57
57
  - Use plain text only: dashes, bullets, and bold for emphasis
58
58
  - Keep language clear, direct, and professional
59
59
  - When you create, update, or otherwise reference entries, link to them inline using `[[entry-id]]` wikilinks so the user can click through if they want to. Do not assume the user has been navigated anywhere — they stay on whatever page they were on when they called you.
60
+ - To link to a **folder**, use a wikilink with the repo-qualified path: `[[repo/path/to/folder]]` (e.g. `[[meridian-rebrand/analogous-experiences]]`). The repo prefix disambiguates same-named folders. Do **not** wrap wikilinks in backticks — a backticked `` `[[…]]` `` renders as literal code, not a clickable link.
60
61
 
61
62
  **Respect Structure:**
62
63
  - Follow the established entry schemas
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Human-readable commit messages for entity + folder mutations.
3
+ *
4
+ * These strings are display-only — nothing parses them for behavior. Restore
5
+ * keys off the commit hash + the entity from the request, and the audit log
6
+ * only records the string. They surface in `git log`, the audit log, MCP file
7
+ * history, and any future cross-entity history view, where the entity name +
8
+ * type IS the useful context.
9
+ *
10
+ * The per-entity History panel renders its own change summary (computed from
11
+ * the file diff) and does NOT show these messages, so we optimize purely for
12
+ * how they read in a flat log.
13
+ *
14
+ * Format decisions:
15
+ * - Past tense ("Created", "Edited", "Moved") — it's a log of what happened.
16
+ * - `"Display Title" (Type)` — the title in quotes, the friendly type in parens.
17
+ * - Batches enumerate up to 3 names + "(+N more)".
18
+ */
19
+ /**
20
+ * Title-case an internal type key for display:
21
+ * "deal" → "Deal", "meeting_note" → "Meeting Note".
22
+ * Built-in types have no stored label, so this is their friendly name.
23
+ */
24
+ export declare function titleCaseType(type: string): string;
25
+ export interface EntityRef {
26
+ /** Friendly type label, already resolved (e.g. "Deal"). */
27
+ typeLabel: string;
28
+ /** Display title (frontmatter `name`). Falls back to `id` when absent. */
29
+ title?: string | null;
30
+ /** Slug id — the fallback when there's no title. */
31
+ id: string;
32
+ }
33
+ /** `"Acme Corp Redesign" (Deal)` */
34
+ export declare function entityLabel(ref: EntityRef): string;
35
+ export declare const commitMessage: {
36
+ created: (ref: EntityRef) => string;
37
+ edited: (ref: EntityRef) => string;
38
+ editedBatch: (refs: EntityRef[]) => string;
39
+ deleted: (ref: EntityRef) => string;
40
+ deletedBatch: (refs: EntityRef[]) => string;
41
+ /** Rename changes the slug id; the title may be unchanged, so show the ids. */
42
+ renamed: (typeLabel: string, oldId: string, newId: string) => string;
43
+ changedType: (ref: EntityRef, fromLabel: string, toLabel: string) => string;
44
+ /** `folder` is the destination path display, or "(root)" for the repo root. */
45
+ movedTo: (ref: EntityRef, folder: string) => string;
46
+ /** Bulk move: count + destination reads cleaner than enumerate + target. */
47
+ movedBatch: (count: number, where: string) => string;
48
+ receivedBatch: (count: number, fromRepo: string) => string;
49
+ restored: (ref: EntityRef, shortHash: string) => string;
50
+ relinked: (oldId: string, newId: string) => string;
51
+ folderCreated: (path: string) => string;
52
+ folderRenamed: (from: string, to: string) => string;
53
+ folderDisplayRenamed: (path: string) => string;
54
+ folderDeleted: (path: string) => string;
55
+ folderMoved: (from: string, toRepo: string, to: string) => string;
56
+ folderReceived: (fromRepo: string, from: string, to: string) => string;
57
+ };
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Human-readable commit messages for entity + folder mutations.
3
+ *
4
+ * These strings are display-only — nothing parses them for behavior. Restore
5
+ * keys off the commit hash + the entity from the request, and the audit log
6
+ * only records the string. They surface in `git log`, the audit log, MCP file
7
+ * history, and any future cross-entity history view, where the entity name +
8
+ * type IS the useful context.
9
+ *
10
+ * The per-entity History panel renders its own change summary (computed from
11
+ * the file diff) and does NOT show these messages, so we optimize purely for
12
+ * how they read in a flat log.
13
+ *
14
+ * Format decisions:
15
+ * - Past tense ("Created", "Edited", "Moved") — it's a log of what happened.
16
+ * - `"Display Title" (Type)` — the title in quotes, the friendly type in parens.
17
+ * - Batches enumerate up to 3 names + "(+N more)".
18
+ */
19
+ /** Cap a title so it can't blow out a one-line subject. */
20
+ const MAX_TITLE = 80;
21
+ /**
22
+ * Title-case an internal type key for display:
23
+ * "deal" → "Deal", "meeting_note" → "Meeting Note".
24
+ * Built-in types have no stored label, so this is their friendly name.
25
+ */
26
+ export function titleCaseType(type) {
27
+ const cased = type
28
+ .split(/[_-]+/)
29
+ .filter(Boolean)
30
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
31
+ .join(' ');
32
+ return cased || type;
33
+ }
34
+ /** Collapse whitespace and cap length so a title is safe in a subject line. */
35
+ function cleanTitle(title) {
36
+ if (!title)
37
+ return '';
38
+ const flat = String(title).replace(/\s+/g, ' ').trim();
39
+ return flat.length > MAX_TITLE ? `${flat.slice(0, MAX_TITLE - 1)}…` : flat;
40
+ }
41
+ /** The user-facing name for an entity: cleaned title, or the slug as fallback. */
42
+ function displayName(ref) {
43
+ return cleanTitle(ref.title) || ref.id;
44
+ }
45
+ /** `"Acme Corp Redesign" (Deal)` */
46
+ export function entityLabel(ref) {
47
+ return `"${displayName(ref)}" (${ref.typeLabel})`;
48
+ }
49
+ /** Just the quoted name (no type) — for batch enumeration. */
50
+ function quotedName(ref) {
51
+ return `"${displayName(ref)}"`;
52
+ }
53
+ /** `"A", "B", "C" (+2 more)` — enumerate up to `max` names. */
54
+ function enumerateNames(refs, max = 3) {
55
+ const names = refs.map(quotedName);
56
+ if (names.length <= max)
57
+ return names.join(', ');
58
+ return `${names.slice(0, max).join(', ')} (+${names.length - max} more)`;
59
+ }
60
+ const plural = (n) => (n === 1 ? 'entry' : 'entries');
61
+ export const commitMessage = {
62
+ created: (ref) => `Created ${entityLabel(ref)}`,
63
+ edited: (ref) => `Edited ${entityLabel(ref)}`,
64
+ editedBatch: (refs) => `Edited ${enumerateNames(refs)}`,
65
+ deleted: (ref) => `Deleted ${entityLabel(ref)}`,
66
+ deletedBatch: (refs) => `Deleted ${enumerateNames(refs)}`,
67
+ /** Rename changes the slug id; the title may be unchanged, so show the ids. */
68
+ renamed: (typeLabel, oldId, newId) => `Renamed "${oldId}" → "${newId}" (${typeLabel})`,
69
+ changedType: (ref, fromLabel, toLabel) => `Changed ${quotedName(ref)} from ${fromLabel} to ${toLabel}`,
70
+ /** `folder` is the destination path display, or "(root)" for the repo root. */
71
+ movedTo: (ref, folder) => `Moved ${entityLabel(ref)} → ${folder}`,
72
+ /** Bulk move: count + destination reads cleaner than enumerate + target. */
73
+ movedBatch: (count, where) => `Moved ${count} ${plural(count)} → ${where}`,
74
+ receivedBatch: (count, fromRepo) => `Received ${count} ${plural(count)} from ${fromRepo}`,
75
+ restored: (ref, shortHash) => `Restored ${entityLabel(ref)} from ${shortHash}`,
76
+ relinked: (oldId, newId) => `Relinked "${oldId}" → "${newId}"`,
77
+ // Folders are path-based (no type/title).
78
+ folderCreated: (path) => `Created folder "${path}"`,
79
+ folderRenamed: (from, to) => `Renamed folder "${from}" → "${to}"`,
80
+ folderDisplayRenamed: (path) => `Renamed folder "${path}"`,
81
+ folderDeleted: (path) => `Deleted folder "${path}"`,
82
+ folderMoved: (from, toRepo, to) => `Moved folder "${from}" → ${toRepo}:${to || '/'}`,
83
+ folderReceived: (fromRepo, from, to) => `Received folder from ${fromRepo}:${from} → ${to || '/'}`,
84
+ };
85
+ //# sourceMappingURL=commit-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-messages.js","sourceRoot":"","sources":["../../src/core/commit-messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Field library mutation helpers
3
+ *
4
+ * Pure, framework-free functions that add / edit / remove a reusable custom
5
+ * field definition on a WorkspaceConfig. They return a new config object (the
6
+ * input is never mutated) so the HTTP layer can persist the result through
7
+ * `Workspace.writeConfig()`.
8
+ *
9
+ * Deliberately independent of SchemaRegistry / Zod entity validation: the
10
+ * field library is *soft* metadata (it drives the picker + agent awareness),
11
+ * not an enforced schema. Applying a field to an entry is an ordinary
12
+ * frontmatter write elsewhere; nothing here touches entity validation.
13
+ *
14
+ * Identity is `key`, global across the workspace (one `phase` everywhere).
15
+ * Editing options ripples to every entry using the field; existing entry
16
+ * values are never touched (removal is non-destructive — orphaned values stay
17
+ * on disk and simply stop being offered).
18
+ */
19
+ import { type CustomFieldDef, type WorkspaceConfig } from './types.js';
20
+ /** A mutation that fails a precondition (not found, collision, bad shape). */
21
+ export declare class FieldLibraryError extends Error {
22
+ /** Stable machine code so the route maps to a status without string-matching. */
23
+ code: 'key_exists' | 'key_not_found' | 'invalid_field';
24
+ constructor(message: string,
25
+ /** Stable machine code so the route maps to a status without string-matching. */
26
+ code: 'key_exists' | 'key_not_found' | 'invalid_field');
27
+ }
28
+ /** Current field library (empty when none defined). */
29
+ export declare function getFieldLibrary(config: WorkspaceConfig): CustomFieldDef[];
30
+ /** Look up one definition by key. */
31
+ export declare function getFieldDef(config: WorkspaceConfig, key: string): CustomFieldDef | undefined;
32
+ /**
33
+ * Validate a field definition's shape. Enforces the key shape and, for select
34
+ * fields, a non-empty list of unique, non-empty options. Throws
35
+ * FieldLibraryError on failure. Returns the parsed definition.
36
+ */
37
+ export declare function validateFieldDef(input: unknown): CustomFieldDef;
38
+ /**
39
+ * Add a new field definition. Returns a new WorkspaceConfig.
40
+ * Rejects a key already used by another definition.
41
+ */
42
+ export declare function addFieldDef(config: WorkspaceConfig, input: {
43
+ key: string;
44
+ label?: string;
45
+ type?: 'select';
46
+ options: string[];
47
+ created_by?: string;
48
+ }): WorkspaceConfig;
49
+ /**
50
+ * Update an existing definition's options and/or label. The key is the
51
+ * identity and is not changed (renaming a key = add + remove, since it would
52
+ * orphan existing usages). Returns a new WorkspaceConfig.
53
+ */
54
+ export declare function updateFieldDef(config: WorkspaceConfig, key: string, patch: {
55
+ options?: string[];
56
+ label?: string;
57
+ }): WorkspaceConfig;
58
+ /**
59
+ * Remove a definition from the library. Returns a new WorkspaceConfig.
60
+ * Non-destructive to entries — any stored values stay in their frontmatter.
61
+ */
62
+ export declare function removeFieldDef(config: WorkspaceConfig, key: string): WorkspaceConfig;
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Field library mutation helpers
3
+ *
4
+ * Pure, framework-free functions that add / edit / remove a reusable custom
5
+ * field definition on a WorkspaceConfig. They return a new config object (the
6
+ * input is never mutated) so the HTTP layer can persist the result through
7
+ * `Workspace.writeConfig()`.
8
+ *
9
+ * Deliberately independent of SchemaRegistry / Zod entity validation: the
10
+ * field library is *soft* metadata (it drives the picker + agent awareness),
11
+ * not an enforced schema. Applying a field to an entry is an ordinary
12
+ * frontmatter write elsewhere; nothing here touches entity validation.
13
+ *
14
+ * Identity is `key`, global across the workspace (one `phase` everywhere).
15
+ * Editing options ripples to every entry using the field; existing entry
16
+ * values are never touched (removal is non-destructive — orphaned values stay
17
+ * on disk and simply stop being offered).
18
+ */
19
+ import { CustomFieldDefSchema } from './types.js';
20
+ /** A mutation that fails a precondition (not found, collision, bad shape). */
21
+ export class FieldLibraryError extends Error {
22
+ code;
23
+ constructor(message,
24
+ /** Stable machine code so the route maps to a status without string-matching. */
25
+ code) {
26
+ super(message);
27
+ this.code = code;
28
+ this.name = 'FieldLibraryError';
29
+ }
30
+ }
31
+ /** Field key shape: lowercase, snake_case, must start with a letter. Mirrors
32
+ * the client's `normalizedKey` normalization. */
33
+ const KEY_RE = /^[a-z][a-z0-9_]*$/;
34
+ /** Current field library (empty when none defined). */
35
+ export function getFieldLibrary(config) {
36
+ return config.field_library ?? [];
37
+ }
38
+ /** Look up one definition by key. */
39
+ export function getFieldDef(config, key) {
40
+ return getFieldLibrary(config).find(f => f.key === key);
41
+ }
42
+ /**
43
+ * Validate a field definition's shape. Enforces the key shape and, for select
44
+ * fields, a non-empty list of unique, non-empty options. Throws
45
+ * FieldLibraryError on failure. Returns the parsed definition.
46
+ */
47
+ export function validateFieldDef(input) {
48
+ const parsed = CustomFieldDefSchema.safeParse(input);
49
+ if (!parsed.success) {
50
+ throw new FieldLibraryError(`Invalid field definition: ${parsed.error.issues.map(i => i.message).join('; ')}`, 'invalid_field');
51
+ }
52
+ const def = parsed.data;
53
+ if (!KEY_RE.test(def.key)) {
54
+ throw new FieldLibraryError(`Field key "${def.key}" must be lowercase snake_case and start with a letter`, 'invalid_field');
55
+ }
56
+ validateOptions(def.options);
57
+ return def;
58
+ }
59
+ /** Shared option-list validation (non-empty, no blanks, unique). */
60
+ function validateOptions(options) {
61
+ if (options.length === 0) {
62
+ throw new FieldLibraryError('A Select field needs at least one option', 'invalid_field');
63
+ }
64
+ if (options.some(v => v.trim() === '')) {
65
+ throw new FieldLibraryError('Select options cannot be empty', 'invalid_field');
66
+ }
67
+ if (new Set(options).size !== options.length) {
68
+ throw new FieldLibraryError('Select options must be unique', 'invalid_field');
69
+ }
70
+ }
71
+ /** Deep-clone the library so callers never mutate the live config. */
72
+ function cloneLibrary(config) {
73
+ return structuredClone(config.field_library ?? []);
74
+ }
75
+ /**
76
+ * Add a new field definition. Returns a new WorkspaceConfig.
77
+ * Rejects a key already used by another definition.
78
+ */
79
+ export function addFieldDef(config, input) {
80
+ const def = validateFieldDef({
81
+ key: input.key,
82
+ type: 'select',
83
+ options: input.options,
84
+ ...(input.label !== undefined ? { label: input.label } : {}),
85
+ ...(input.created_by !== undefined ? { created_by: input.created_by } : {}),
86
+ created_at: new Date().toISOString(),
87
+ });
88
+ if (getFieldDef(config, def.key)) {
89
+ throw new FieldLibraryError(`A field named "${def.key}" already exists`, 'key_exists');
90
+ }
91
+ const library = [...cloneLibrary(config), def];
92
+ return { ...config, field_library: library };
93
+ }
94
+ /**
95
+ * Update an existing definition's options and/or label. The key is the
96
+ * identity and is not changed (renaming a key = add + remove, since it would
97
+ * orphan existing usages). Returns a new WorkspaceConfig.
98
+ */
99
+ export function updateFieldDef(config, key, patch) {
100
+ const current = getFieldDef(config, key);
101
+ if (!current) {
102
+ throw new FieldLibraryError(`No field named "${key}"`, 'key_not_found');
103
+ }
104
+ if (patch.options !== undefined)
105
+ validateOptions(patch.options);
106
+ const next = {
107
+ ...current,
108
+ ...(patch.options !== undefined ? { options: patch.options } : {}),
109
+ ...(patch.label !== undefined ? { label: patch.label } : {}),
110
+ };
111
+ const library = cloneLibrary(config).map(f => (f.key === key ? next : f));
112
+ return { ...config, field_library: library };
113
+ }
114
+ /**
115
+ * Remove a definition from the library. Returns a new WorkspaceConfig.
116
+ * Non-destructive to entries — any stored values stay in their frontmatter.
117
+ */
118
+ export function removeFieldDef(config, key) {
119
+ if (!getFieldDef(config, key)) {
120
+ throw new FieldLibraryError(`No field named "${key}"`, 'key_not_found');
121
+ }
122
+ const library = cloneLibrary(config).filter(f => f.key !== key);
123
+ // Drop the array entirely when it empties, to keep workspace.json tidy.
124
+ const next = { ...config, field_library: library };
125
+ if (library.length === 0)
126
+ delete next.field_library;
127
+ return next;
128
+ }
129
+ //# sourceMappingURL=field-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-library.js","sourceRoot":"","sources":["../../src/core/field-library.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,oBAAoB,EAA6C,MAAM,YAAY,CAAC;AAE7F,8EAA8E;AAC9E,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAIjC;IAHT,YACE,OAAe;IACf,iFAAiF;IAC1E,IAAsD;QAE7D,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,SAAI,GAAJ,IAAI,CAAkD;QAG7D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;kDACkD;AAClD,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC,uDAAuD;AACvD,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,OAAO,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,WAAW,CAAC,MAAuB,EAAE,GAAW;IAC9D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,iBAAiB,CACzB,6BAA6B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjF,eAAe,CAChB,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,iBAAiB,CACzB,cAAc,GAAG,CAAC,GAAG,wDAAwD,EAC7E,eAAe,CAChB,CAAC;IACJ,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oEAAoE;AACpE,SAAS,eAAe,CAAC,OAAiB;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,iBAAiB,CAAC,0CAA0C,EAAE,eAAe,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,SAAS,YAAY,CAAC,MAAuB;IAC3C,OAAO,eAAe,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,MAAuB,EACvB,KAA+F;IAE/F,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,GAAG,CAAC,GAAG,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAuB,EACvB,GAAW,EACX,KAA6C;IAE7C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,GAAG,GAAG,EAAE,eAAe,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAmB;QAC3B,GAAG,OAAO;QACV,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC;IACF,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,GAAW;IACjE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,GAAG,GAAG,EAAE,eAAe,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAChE,wEAAwE;IACxE,MAAM,IAAI,GAAoB,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAQ,IAAoC,CAAC,aAAa,CAAC;IACrF,OAAO,IAAI,CAAC;AACd,CAAC"}