@theruansilva/omp-web 2.0.0 → 2.2.0

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 (206) hide show
  1. package/dist/cli.js +83 -3
  2. package/dist/cli.js.map +1 -1
  3. package/dist/client/assets/CodeViewer-DEVekDfo.js +4 -0
  4. package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  5. package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  6. package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  7. package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  8. package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  11. package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  12. package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  13. package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  14. package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  17. package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  18. package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  19. package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  20. package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  21. package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  22. package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  23. package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  24. package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  25. package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  26. package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  27. package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  28. package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  29. package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  30. package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  31. package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  32. package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  33. package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  34. package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  35. package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  36. package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  37. package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  38. package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  44. package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  45. package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  46. package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  47. package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  48. package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  49. package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  50. package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  51. package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  52. package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  53. package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  54. package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  55. package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  56. package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  57. package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  58. package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  59. package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  60. package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  61. package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  62. package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  63. package/dist/client/assets/{TerminalPanel-B9-LUv7E.js → TerminalPanel-CLZRR8T3.js} +8 -8
  64. package/dist/client/assets/{UnifiedDiffViewer-BUqme4se.js → UnifiedDiffViewer-DkUYn4xn.js} +2 -2
  65. package/dist/client/assets/_basePickBy-vr4256UX.js +1 -0
  66. package/dist/client/assets/_baseUniq-CHc60b6y.js +1 -0
  67. package/dist/client/assets/abnfDiagram-O67JEVCF-CN3HoUk0.js +1 -0
  68. package/dist/client/assets/arc-DfCyV39Y.js +1 -0
  69. package/dist/client/assets/architectureDiagram-NJMV4G6O-B18ZPEpX.js +36 -0
  70. package/dist/client/assets/blockDiagram-BEXU5L5S-DauyTopu.js +140 -0
  71. package/dist/client/assets/c4Diagram-YGBWAQC7-BzItBhD8.js +38 -0
  72. package/dist/client/assets/channel-BeMMNdGw.js +1 -0
  73. package/dist/client/assets/chunk-2Q5K7J3B-CTeOQu6b.js +1 -0
  74. package/dist/client/assets/chunk-3FUC2YCW-OWYL0CxB.js +2 -0
  75. package/dist/client/assets/chunk-5VM5RSS4-BPto9x5-.js +15 -0
  76. package/dist/client/assets/chunk-GTNCS2PH-DqPy7R2d.js +88 -0
  77. package/dist/client/assets/chunk-GWA4HPMP-C4N-dUua.js +1 -0
  78. package/dist/client/assets/chunk-JWPE2WC7-C4b1ijjH.js +1 -0
  79. package/dist/client/assets/chunk-NETBCI7D-Ds_9Juid.js +1 -0
  80. package/dist/client/assets/chunk-WEXAMYUT-DC9hisqc.js +1 -0
  81. package/dist/client/assets/chunk-XXDRQBXY-DZnUPupk.js +1 -0
  82. package/dist/client/assets/classDiagram-v2-NBCMYWYE-CDSg6Hoa.js +217 -0
  83. package/dist/client/assets/cose-bilkent-JH36ORCC-B4ISJxq4.js +1 -0
  84. package/dist/client/assets/cynefin-OW5HDTMX-Dk9BE-CS.js +166 -0
  85. package/dist/client/assets/cynefinDiagram-VND7K2PF-D4LOjD3M.js +62 -0
  86. package/dist/client/assets/cytoscape.esm-BB4DxJjf.js +321 -0
  87. package/dist/client/assets/dagre-6A5THRUB-BdboVbbt.js +4 -0
  88. package/dist/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  89. package/dist/client/assets/diagram-22UHCM2B-D_zb_SLQ.js +200 -0
  90. package/dist/client/assets/diagram-3UASUU5V-D5rEpDmK.js +24 -0
  91. package/dist/client/assets/diagram-ATOU4E4O-BdTFXxOS.js +3 -0
  92. package/dist/client/assets/diagram-CDSNMT55-B8gtHdg9.js +30 -0
  93. package/dist/client/assets/diagram-MLGK6HIB-C-NGINWH.js +24 -0
  94. package/dist/client/assets/diagram-MPIPVDR6-D3_T-c5C.js +41 -0
  95. package/dist/client/assets/ebnfDiagram-ZINNZB2B-BIASbt52.js +1 -0
  96. package/dist/client/assets/elk-276RUBZZ-CuNF0hHg.js +27 -0
  97. package/dist/client/assets/erDiagram-OPXOYQCR-Cmi_qmGj.js +99 -0
  98. package/dist/client/assets/flowDiagram-KWPJA3E3-DP-SrXc2.js +213 -0
  99. package/dist/client/assets/ganttDiagram-FUAMR5RP-olLEnoMM.js +292 -0
  100. package/dist/client/assets/gitGraphDiagram-X574FWY7-uPZ9lEq1.js +106 -0
  101. package/dist/client/assets/graph-C2De1HlQ.js +1 -0
  102. package/dist/client/assets/index-D-PvDSJs.js +5657 -0
  103. package/dist/client/assets/{index-DGBYb2j9.css → index-DSGiUJZL.css} +1 -1
  104. package/dist/client/assets/infoDiagram-VRGFBTTK-D0Q5E5gc.js +2 -0
  105. package/dist/client/assets/init-Gi6I4Gst.js +1 -0
  106. package/dist/client/assets/ishikawaDiagram-OU5B5YK6-C21L3hk6.js +70 -0
  107. package/dist/client/assets/journeyDiagram-ZHPQQLJL-C9o5XEso.js +139 -0
  108. package/dist/client/assets/kanban-definition-PNTS6WVX-BioH9OyY.js +89 -0
  109. package/dist/client/assets/katex-HP8lGamR.js +257 -0
  110. package/dist/client/assets/linear-BwJ7-DLx.js +1 -0
  111. package/dist/client/assets/mindmap-definition-NLK3R4M7-ogoKSGSi.js +96 -0
  112. package/dist/client/assets/ordinal-Cboi1Yqb.js +1 -0
  113. package/dist/client/assets/pegDiagram-GJSIUBJH-Ck2_wE3g.js +1 -0
  114. package/dist/client/assets/pieDiagram-5QR66LMP-C5wm07EA.js +39 -0
  115. package/dist/client/assets/quadrantDiagram-O4NWA36T-UKQ2brr3.js +7 -0
  116. package/dist/client/assets/railroadDiagram-XR7U4H2S-BgY4ABv4.js +1 -0
  117. package/dist/client/assets/requirementDiagram-PLB6GJNP-B50WsncI.js +84 -0
  118. package/dist/client/assets/sankeyDiagram-IPEJSGJF-BHtyWxOk.js +40 -0
  119. package/dist/client/assets/sequenceDiagram-PO4LG4MO-D_kxHIBS.js +169 -0
  120. package/dist/client/assets/sizeCapture-INFHLROL-MzN60-aT.js +1 -0
  121. package/dist/client/assets/stateDiagram-v2-GCMORJYK-CBiPlAo0.js +291 -0
  122. package/dist/client/assets/swimlanes-2SLR337P-BCdsVfp-.js +1 -0
  123. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-Da17CLQY.js +8 -0
  124. package/dist/client/assets/timeline-definition-EJHVYXUP-BemXf1bb.js +120 -0
  125. package/dist/client/assets/usecaseDiagram-POWQR4AR-Vqj4Zp6V.js +370 -0
  126. package/dist/client/assets/vendor-editor-core-BG7M-EQ-.js +10 -0
  127. package/dist/client/assets/vendor-editor-languages-pDmyn-oC.js +26 -0
  128. package/dist/client/assets/vennDiagram-UO4OBE2U-2mimeV2G.js +34 -0
  129. package/dist/client/assets/wardleyDiagram-VNRHLVJA-Bg2MjtpE.js +78 -0
  130. package/dist/client/assets/xychartDiagram-PMCCYNJV-7_nvdM0t.js +7 -0
  131. package/dist/client/index.html +4 -4
  132. package/dist/omp-web-plugins/mcps/mcpsLogic.js +78 -0
  133. package/dist/omp-web-plugins/mcps/mcpsPanelElement.js +417 -0
  134. package/dist/omp-web-plugins/mcps/omp-web-plugin.js +45 -0
  135. package/dist/omp-web-plugins/mcps/package.json +9 -0
  136. package/dist/omp-web-plugins/mcps/types.js +2 -0
  137. package/dist/plugin-api.d.ts +1 -0
  138. package/dist/server/app.js +24 -1
  139. package/dist/server/app.js.map +1 -1
  140. package/dist/server/index.js +0 -0
  141. package/dist/server/machines/machineService.js +3 -0
  142. package/dist/server/machines/machineService.js.map +1 -1
  143. package/dist/server/mcpRoutes.js +73 -0
  144. package/dist/server/mcpRoutes.js.map +1 -0
  145. package/dist/server/push/PushNotificationService.js +16 -3
  146. package/dist/server/push/PushNotificationService.js.map +1 -1
  147. package/dist/server/security.js +172 -0
  148. package/dist/server/security.js.map +1 -0
  149. package/dist/server/sessiond/sessionProxyRoutes.js +11 -5
  150. package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
  151. package/dist/server/sessiond.js +28 -1
  152. package/dist/server/sessiond.js.map +1 -1
  153. package/dist/server/sessions/piAgentSession.js +2 -1
  154. package/dist/server/sessions/piAgentSession.js.map +1 -1
  155. package/dist/server/sessions/piSessionService.js +168 -16
  156. package/dist/server/sessions/piSessionService.js.map +1 -1
  157. package/dist/server/sessions/schedulePrompt/scheduler.js +17 -13
  158. package/dist/server/sessions/schedulePrompt/scheduler.js.map +1 -1
  159. package/dist/server/sessions/schedulePrompt/tool.js +13 -1
  160. package/dist/server/sessions/schedulePrompt/tool.js.map +1 -1
  161. package/dist/server/sessions/sessionEventMapper.js +36 -2
  162. package/dist/server/sessions/sessionEventMapper.js.map +1 -1
  163. package/dist/server/sessions/sessionRoutes.js +3 -0
  164. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  165. package/dist/server/workspaceExplorerRoutes.js +16 -9
  166. package/dist/server/workspaceExplorerRoutes.js.map +1 -1
  167. package/dist/server/workspaces/fileContentService.js +9 -4
  168. package/dist/server/workspaces/fileContentService.js.map +1 -1
  169. package/dist/server/workspaces/imagePreviewService.js +63 -13
  170. package/dist/server/workspaces/imagePreviewService.js.map +1 -1
  171. package/dist/shared/apiTypes.d.ts +16 -1
  172. package/dist/shared/federatedRoutes.js +2 -0
  173. package/dist/shared/federatedRoutes.js.map +1 -1
  174. package/package.json +4 -1
  175. package/dist/client/assets/CodeViewer-CJNBz-Ox.js +0 -4
  176. package/dist/client/assets/index-uWm_YNRB.js +0 -4427
  177. package/dist/client/assets/vendor-editor-core-D9EJm1dE.js +0 -10
  178. package/dist/client/assets/vendor-editor-languages-N6dcxgRO.js +0 -26
  179. package/dist/client-react/assets/index-BQ6zLLfz.js +0 -51
  180. package/dist/client-react/assets/index-Befs78HG.css +0 -1
  181. package/dist/client-react/index.html +0 -16
  182. package/dist/docker/piWebDockerCommandPlan.js +0 -211
  183. package/dist/docker/piWebDockerCommandPlan.js.map +0 -1
  184. package/dist/pi-web-plugins/info/package.json +0 -9
  185. package/dist/pi-web-plugins/info/pi-web-plugin.js +0 -51
  186. package/dist/pi-web-plugins/schedule-prompts/package.json +0 -9
  187. package/dist/pi-web-plugins/schedule-prompts/pi-web-plugin.js +0 -43
  188. package/dist/pi-web-plugins/schedule-prompts/schedulePromptsPanelElement.js +0 -226
  189. package/dist/pi-web-plugins/schedule-prompts/types.js +0 -2
  190. package/dist/pi-web-plugins/updates/package.json +0 -9
  191. package/dist/pi-web-plugins/updates/pi-web-plugin.js +0 -173
  192. package/dist/pi-web-plugins/updates/updatesLogic.js +0 -97
  193. package/dist/piWebVersionReport.js +0 -225
  194. package/dist/piWebVersionReport.js.map +0 -1
  195. package/dist/server/diagnostics/nodePtySpawnHelper.js +0 -130
  196. package/dist/server/diagnostics/nodePtySpawnHelper.js.map +0 -1
  197. package/dist/server/piWebPluginService.js +0 -283
  198. package/dist/server/piWebPluginService.js.map +0 -1
  199. package/dist/server/piWebStatus.js +0 -602
  200. package/dist/server/piWebStatus.js.map +0 -1
  201. package/dist/server/piWebStatusCache.js +0 -32
  202. package/dist/server/piWebStatusCache.js.map +0 -1
  203. package/dist/server/workspaces/projectPiWebConfig.js +0 -61
  204. package/dist/server/workspaces/projectPiWebConfig.js.map +0 -1
  205. package/dist/shared/piWebStatusParsing.js +0 -102
  206. package/dist/shared/piWebStatusParsing.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"machineService.js","sourceRoot":"","sources":["../../../src/server/machines/machineService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machineService.js","sourceRoot":"","sources":["../../../src/server/machines/machineService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { connectToServer, disconnectServer } from "@oh-my-pi/pi-coding-agent/mcp";
5
+ export function defaultGlobalMcpPath(env = process.env) {
6
+ const agentDir = env["PI_CODING_AGENT_DIR"] || join(homedir(), ".omp", "agent");
7
+ return join(agentDir, "mcp.json");
8
+ }
9
+ export function readGlobalMcpConfig(mcpPath = defaultGlobalMcpPath()) {
10
+ if (!existsSync(mcpPath)) {
11
+ return { path: mcpPath, exists: false, servers: {} };
12
+ }
13
+ try {
14
+ const raw = readFileSync(mcpPath, "utf8");
15
+ const parsed = JSON.parse(raw);
16
+ return {
17
+ path: mcpPath,
18
+ exists: true,
19
+ servers: parsed.mcpServers ?? {},
20
+ };
21
+ }
22
+ catch {
23
+ return { path: mcpPath, exists: true, servers: {} };
24
+ }
25
+ }
26
+ export async function checkMcpServer(name, config) {
27
+ if (config.enabled === false) {
28
+ return { name, status: "disabled" };
29
+ }
30
+ try {
31
+ const probeConfig = {
32
+ ...config,
33
+ timeout: typeof config.timeout === "number" ? Math.min(config.timeout, 5000) : 5000,
34
+ };
35
+ /* eslint-disable @typescript-eslint/consistent-type-assertions */
36
+ const conn = await connectToServer(name, probeConfig);
37
+ /* eslint-enable @typescript-eslint/consistent-type-assertions */
38
+ const serverInfo = conn.serverInfo ? { name: conn.serverInfo.name, version: conn.serverInfo.version } : undefined;
39
+ await disconnectServer(conn).catch(() => undefined);
40
+ return { name, status: "connected", ...(serverInfo ? { serverInfo } : {}) };
41
+ }
42
+ catch (err) {
43
+ return {
44
+ name,
45
+ status: "failed",
46
+ error: err instanceof Error ? err.message : String(err),
47
+ };
48
+ }
49
+ }
50
+ export async function checkMcpServers(servers) {
51
+ const results = {};
52
+ await Promise.all(Object.entries(servers).map(async ([name, config]) => {
53
+ results[name] = await checkMcpServer(name, config);
54
+ }));
55
+ return results;
56
+ }
57
+ export function registerMcpRoutes(app, prefix = "/api", customPath) {
58
+ app.get(`${prefix}/mcps`, (c) => {
59
+ return c.json(readGlobalMcpConfig(customPath));
60
+ });
61
+ app.post(`${prefix}/mcps/check`, async (c) => {
62
+ try {
63
+ const body = (await c.req.json().catch(() => ({})));
64
+ const servers = body.servers ?? {};
65
+ const results = await checkMcpServers(servers);
66
+ return c.json({ results });
67
+ }
68
+ catch (err) {
69
+ return c.json({ error: err instanceof Error ? err.message : String(err) }, 500);
70
+ }
71
+ });
72
+ }
73
+ //# sourceMappingURL=mcpRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpRoutes.js","sourceRoot":"","sources":["../../src/server/mcpRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAwB,MAAM,+BAA+B,CAAC;AA0BxG,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACvE,MAAM,QAAQ,GAAG,GAAG,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAG,oBAAoB,EAAE;IAClE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqD,CAAC;QACnF,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;SACjC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,MAAuB;IACxE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG;YAClB,GAAG,MAAM;YACT,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACpF,CAAC;QACF,kEAAkE;QAClE,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,WAAyC,CAAC,CAAC;QACpF,iEAAiE;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAwC;IAC5E,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QACnD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC,CACH,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAS,EAAE,MAAM,GAAG,MAAM,EAAE,UAAmB;IAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAkD,CAAC;YACrG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import webPush from "web-push";
4
4
  import { ompWebDataDir } from "../../config.js";
@@ -20,7 +20,13 @@ function loadOrGenerateVapidKeys() {
20
20
  const keys = webPush.generateVAPIDKeys();
21
21
  const pair = { publicKey: keys.publicKey, privateKey: keys.privateKey };
22
22
  mkdirSync(ompWebDataDir(), { recursive: true });
23
- writeFileSync(path, `${JSON.stringify(pair, null, 2)}\n`, "utf8");
23
+ writeFileSync(path, `${JSON.stringify(pair, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
24
+ if (process.platform !== "win32") {
25
+ try {
26
+ chmodSync(path, 0o600);
27
+ }
28
+ catch { }
29
+ }
24
30
  return pair;
25
31
  }
26
32
  function loadSubscriptions() {
@@ -44,7 +50,14 @@ function loadSubscriptions() {
44
50
  }
45
51
  function saveSubscriptions(subs) {
46
52
  mkdirSync(ompWebDataDir(), { recursive: true });
47
- writeFileSync(join(ompWebDataDir(), "push-subscriptions.json"), `${JSON.stringify(subs, null, 2)}\n`, "utf8");
53
+ const subPath = join(ompWebDataDir(), "push-subscriptions.json");
54
+ writeFileSync(subPath, `${JSON.stringify(subs, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
55
+ if (process.platform !== "win32") {
56
+ try {
57
+ chmodSync(subPath, 0o600);
58
+ }
59
+ catch { }
60
+ }
48
61
  }
49
62
  // ── Helpers ──────────────────────────────────────────────────────────────────
50
63
  function sessionLastMessagePreview(messages) {
@@ -1 +1 @@
1
- {"version":3,"file":"PushNotificationService.js","sourceRoot":"","sources":["../../../src/server/push/PushNotificationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PushNotificationService.js","sourceRoot":"","sources":["../../../src/server/push/PushNotificationService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { randomBytes } from "node:crypto";
3
+ import { join } from "node:path";
4
+ import { defaultOmpWebDataDir } from "../config.js";
5
+ export function getOrGenerateAuthToken(dataDir = defaultOmpWebDataDir(), env = process.env) {
6
+ const fromEnv = env["OMP_WEB_AUTH_TOKEN"];
7
+ if (fromEnv !== undefined && fromEnv.trim() !== "") {
8
+ return fromEnv.trim();
9
+ }
10
+ const tokenPath = join(dataDir, "auth-token");
11
+ if (existsSync(tokenPath)) {
12
+ try {
13
+ const content = readFileSync(tokenPath, "utf8").trim();
14
+ if (content !== "")
15
+ return content;
16
+ }
17
+ catch {
18
+ // fall through to generate
19
+ }
20
+ }
21
+ const token = randomBytes(32).toString("hex");
22
+ try {
23
+ mkdirSync(dataDir, { recursive: true });
24
+ writeFileSync(tokenPath, `${token}\n`, { encoding: "utf8", mode: 0o600 });
25
+ if (process.platform !== "win32") {
26
+ chmodSync(tokenPath, 0o600);
27
+ }
28
+ }
29
+ catch {
30
+ // Return generated token even if saving fails
31
+ }
32
+ return token;
33
+ }
34
+ export function parseHostHeader(hostHeader) {
35
+ if (hostHeader === undefined || hostHeader.trim() === "")
36
+ return undefined;
37
+ const raw = hostHeader.trim().toLowerCase();
38
+ // Handle IPv6 bracketed hosts like [::1]:8504
39
+ if (raw.startsWith("[")) {
40
+ const bracketEnd = raw.indexOf("]");
41
+ if (bracketEnd !== -1)
42
+ return raw.slice(1, bracketEnd);
43
+ }
44
+ const colonIdx = raw.indexOf(":");
45
+ return colonIdx !== -1 ? raw.slice(0, colonIdx) : raw;
46
+ }
47
+ export function normalizeAllowedHost(entry) {
48
+ const trimmed = entry.trim().toLowerCase();
49
+ if (trimmed === "*")
50
+ return "*";
51
+ if (trimmed.includes("://")) {
52
+ try {
53
+ return new URL(trimmed).hostname.toLowerCase();
54
+ }
55
+ catch {
56
+ // fallback
57
+ }
58
+ }
59
+ return parseHostHeader(trimmed) ?? trimmed;
60
+ }
61
+ export function matchAllowedHost(requestHost, allowedPattern) {
62
+ if (allowedPattern === "*")
63
+ return true;
64
+ if (allowedPattern.startsWith("*.")) {
65
+ const suffix = allowedPattern.slice(2);
66
+ return requestHost === suffix || requestHost.endsWith(`.${suffix}`);
67
+ }
68
+ return requestHost === allowedPattern;
69
+ }
70
+ export function validateHostHeader(hostHeader, allowedHosts) {
71
+ if (allowedHosts === true)
72
+ return true;
73
+ if (hostHeader === undefined || hostHeader.trim() === "")
74
+ return true;
75
+ const requestHost = parseHostHeader(hostHeader);
76
+ if (requestHost === undefined)
77
+ return false;
78
+ const baseAllowed = ["127.0.0.1", "localhost", "::1"];
79
+ const allowedList = Array.isArray(allowedHosts) ? [...baseAllowed, ...allowedHosts] : baseAllowed;
80
+ return allowedList.some((h) => matchAllowedHost(requestHost, normalizeAllowedHost(h)));
81
+ }
82
+ export function validateOriginHeader(originHeader, hostHeader, allowedHosts) {
83
+ if (originHeader === undefined || originHeader.trim() === "")
84
+ return true;
85
+ let originUrl;
86
+ try {
87
+ originUrl = new URL(originHeader);
88
+ }
89
+ catch {
90
+ return false;
91
+ }
92
+ const originHost = originUrl.hostname.toLowerCase();
93
+ if (allowedHosts === true)
94
+ return true;
95
+ // Check if Origin matches request Host
96
+ const requestHostName = parseHostHeader(hostHeader);
97
+ if (requestHostName !== undefined && originHost === requestHostName) {
98
+ return true;
99
+ }
100
+ // Check against allowedHosts
101
+ const baseAllowed = ["127.0.0.1", "localhost", "::1"];
102
+ const allowedList = Array.isArray(allowedHosts) ? [...baseAllowed, ...allowedHosts] : baseAllowed;
103
+ return allowedList.some((h) => matchAllowedHost(originHost, normalizeAllowedHost(h)));
104
+ }
105
+ export function isPrivateOrReservedHost(hostname, env = process.env) {
106
+ if (env["OMP_WEB_ALLOW_PRIVATE_MACHINES"] === "1" || env["OMP_WEB_ALLOW_PRIVATE_MACHINES"] === "true") {
107
+ return false;
108
+ }
109
+ const host = hostname.toLowerCase().replace(/^\[|\]$/g, "");
110
+ if (host === "localhost" || host.endsWith(".local") || host.endsWith(".internal"))
111
+ return true;
112
+ // Check IPv4
113
+ const ipv4Match = host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
114
+ if (ipv4Match) {
115
+ const [, aStr, bStr] = ipv4Match;
116
+ const a = Number(aStr);
117
+ const b = Number(bStr);
118
+ if (a === 127)
119
+ return true; // 127.0.0.0/8
120
+ if (a === 10)
121
+ return true; // 10.0.0.0/8
122
+ if (a === 169 && b === 254)
123
+ return true; // 169.254.0.0/16
124
+ if (a === 172 && b >= 16 && b <= 31)
125
+ return true; // 172.16.0.0/12
126
+ if (a === 192 && b === 168)
127
+ return true; // 192.168.0.0/16
128
+ if (a === 100 && b >= 64 && b <= 127)
129
+ return true; // 100.64.0.0/10
130
+ if (a === 0)
131
+ return true; // 0.0.0.0/8
132
+ }
133
+ // Check IPv6
134
+ if (host === "::1" || (host.includes(":") && (host.startsWith("fe80:") || host.startsWith("fd") || host.startsWith("fc")))) {
135
+ return true;
136
+ }
137
+ return false;
138
+ }
139
+ export function createSecurityMiddleware(options = {}) {
140
+ return async (c, next) => {
141
+ const path = c.req.path;
142
+ const hostHeader = c.req.header("host");
143
+ const originHeader = c.req.header("origin");
144
+ const allowedHosts = typeof options.allowedHosts === "function"
145
+ ? await options.allowedHosts()
146
+ : options.allowedHosts;
147
+ // 1. Host header validation
148
+ if (!validateHostHeader(hostHeader, allowedHosts)) {
149
+ return c.json({ error: "Forbidden: Host not allowed" }, 403);
150
+ }
151
+ // 2. Origin header validation for WebSockets / CSRF
152
+ if (!validateOriginHeader(originHeader, hostHeader, allowedHosts)) {
153
+ return c.json({ error: "Forbidden: Cross-Origin request blocked" }, 403);
154
+ }
155
+ // 3. Auth Token validation (if required or authToken provided)
156
+ if (options.authRequired && options.authToken) {
157
+ const isExempt = path === "/health" || path === "/runtime" || path === "/api/omp-web/status" || path.startsWith("/omp-web-plugins/");
158
+ if (!isExempt) {
159
+ const authHeader = c.req.header("authorization");
160
+ const bearerToken = authHeader?.startsWith("Bearer ") ? authHeader.slice(7).trim() : undefined;
161
+ const queryToken = c.req.query("token");
162
+ const token = bearerToken ?? queryToken;
163
+ if (token !== options.authToken) {
164
+ return c.json({ error: "Unauthorized: Invalid or missing auth token" }, 401);
165
+ }
166
+ }
167
+ }
168
+ await next();
169
+ return;
170
+ };
171
+ }
172
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/server/security.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  import { SessionDaemonClient } from "../../sessiond/sessionDaemonClient.js";
2
2
  import { bridgeHonoSocketToUpstream } from "../webSocketBridge.js";
3
3
  export function registerSessionProxyRoutes(app, daemon = new SessionDaemonClient(), prefix = "/api", upgradeWebSocket) {
4
- const proxy = async (c) => {
4
+ const proxy = async (c, explicitPath) => {
5
5
  try {
6
- const url = new URL(c.req.url);
7
- const strippedPath = stripPrefix(url.pathname + url.search, prefix);
6
+ let strippedPath;
7
+ if (explicitPath !== undefined) {
8
+ strippedPath = explicitPath;
9
+ }
10
+ else {
11
+ const url = new URL(c.req.url);
12
+ strippedPath = stripPrefix(url.pathname + url.search, prefix);
13
+ }
8
14
  const method = c.req.method;
9
15
  const body = method === "GET" || method === "HEAD" ? undefined : await c.req.raw.json().catch(() => undefined);
10
16
  const upstream = await daemon.request(method, strippedPath, body);
@@ -19,8 +25,8 @@ export function registerSessionProxyRoutes(app, daemon = new SessionDaemonClient
19
25
  return Response.json({ error: `Session daemon unavailable: ${error instanceof Error ? error.message : String(error)}` }, { status: 502 });
20
26
  }
21
27
  };
22
- app.get(`${prefix}/sessiond/health`, (c) => proxy({ req: { method: "GET", url: `${prefix}/health`, raw: c.req.raw } }));
23
- app.get(`${prefix}/sessiond/runtime`, (c) => proxy({ req: { method: "GET", url: `${prefix}/runtime`, raw: c.req.raw } }));
28
+ app.get(`${prefix}/sessiond/health`, (c) => proxy(c, "/health"));
29
+ app.get(`${prefix}/sessiond/runtime`, (c) => proxy(c, "/runtime"));
24
30
  if (upgradeWebSocket !== undefined) {
25
31
  app.get(`${prefix}/sessions/:sessionId/events`, upgradeWebSocket((c) => {
26
32
  const url = new URL(c.req.url);
@@ -1 +1 @@
1
- {"version":3,"file":"sessionProxyRoutes.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionProxyRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionProxyRoutes.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionProxyRoutes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAInE,MAAM,UAAU,0BAA0B,CACxC,GAAS,EACT,SAA6B,IAAI,mBAAmB,EAAE,EACtD,MAAM,GAAG,MAAM,EACf,gBAAmC;IAEnC,MAAM,KAAK,GAAG,KAAK,EAAE,CAAyD,EAAE,YAAqB,EAAqB,EAAE;QAC1H,IAAI,CAAC;YACH,IAAI,YAAoB,CAAC;YACzB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,GAAG,YAAY,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/B,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC/G,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAElE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5I,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,6BAA6B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;YACrE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpE,IAAI,QAA+B,CAAC;YAEpC,OAAO;gBACL,MAAM,CAAC,IAAI,EAAE,EAAE;oBACb,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;oBACjD,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;QAEJ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,EAAE;YACzD,IAAI,QAA+B,CAAC;YACpC,OAAO;gBACL,MAAM,CAAC,IAAI,EAAE,EAAE;oBACb,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;oBACvD,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;QAEJ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,EAAE,gBAAgB,CAAC,GAAG,EAAE;YAChD,IAAI,QAA+B,CAAC;YACpC,OAAO;gBACL,MAAM,CAAC,IAAI,EAAE,EAAE;oBACb,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC9C,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,MAAc;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACxF,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,CAAC"}
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  import { mkdir, rm } from "node:fs/promises";
3
+ import { chmodSync } from "node:fs";
4
+ import { createSecurityMiddleware } from "./security.js";
3
5
  import { dirname } from "node:path";
4
6
  import { Hono } from "hono";
5
7
  import { createBunWebSocket } from "hono/bun";
@@ -25,6 +27,22 @@ import { registerPushRoutes } from "./push/pushRoutes.js";
25
27
  const { config } = effectiveOmpWebConfig();
26
28
  const { upgradeWebSocket, websocket } = createBunWebSocket();
27
29
  const app = new Hono();
30
+ let cachedAllowedHosts = config.allowedHosts;
31
+ let lastCheck = 0;
32
+ const getAllowedHosts = () => {
33
+ const now = Date.now();
34
+ if (now - lastCheck < 1000)
35
+ return cachedAllowedHosts;
36
+ lastCheck = now;
37
+ try {
38
+ cachedAllowedHosts = effectiveOmpWebConfig().config.allowedHosts;
39
+ }
40
+ catch {
41
+ // keep cached
42
+ }
43
+ return cachedAllowedHosts;
44
+ };
45
+ app.use("*", createSecurityMiddleware({ allowedHosts: getAllowedHosts }));
28
46
  const eventHub = new SessionEventHub();
29
47
  const workspaceActivity = new WorkspaceActivityService(eventHub);
30
48
  const auth = await AuthService.create();
@@ -48,9 +66,11 @@ registerTerminalRoutes(app, terminals, "", upgradeWebSocket);
48
66
  registerPushRoutes(app, pushService);
49
67
  app.get("/health", (c) => {
50
68
  const runtime = getOmpWebRuntimeComponent("sessiond", SESSIOND_RUNTIME_CAPABILITIES);
69
+ const activeSummaries = sessions.activeSessionsSummary();
51
70
  return c.json({
52
71
  ok: true,
53
- activeSessions: sessions.activeCount(),
72
+ activeSessions: activeSummaries.length,
73
+ activeWorkingSessions: activeSummaries.filter((s) => s.status === "working").length,
54
74
  checkedAt: new Date().toISOString(),
55
75
  version: {
56
76
  component: runtime.component,
@@ -99,6 +119,13 @@ else {
99
119
  websocket,
100
120
  maxRequestBodySize,
101
121
  });
122
+ if (process.platform !== "win32") {
123
+ try {
124
+ chmodSync(dirname(path), 0o700);
125
+ chmodSync(path, 0o600);
126
+ }
127
+ catch { }
128
+ }
102
129
  process.on("exit", () => void rm(path, { force: true }));
103
130
  }
104
131
  //# sourceMappingURL=sessiond.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessiond.js","sourceRoot":"","sources":["../../src/server/sessiond.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessiond.js","sourceRoot":"","sources":["../../src/server/sessiond.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ export class DefaultPiAgentSession {
29
29
  return configured !== undefined && isKnownThinkingLevel(configured) ? configured : "off";
30
30
  }
31
31
  get isStreaming() { return this.ompSession.isStreaming; }
32
+ get streamMessage() { return this.ompSession.state.streamMessage ?? undefined; }
32
33
  get isCompacting() { return this.ompSession.isCompacting; }
33
34
  get isBashRunning() { return this._isBashRunning; }
34
35
  get pendingMessageCount() { return this.ompSession.queuedMessageCount; }
@@ -307,7 +308,7 @@ export class DefaultPiAgentSession {
307
308
  isIdle: () => !this.ompSession.isStreaming,
308
309
  abort: () => { void this.ompSession.abort(); },
309
310
  hasPendingMessages: () => this.ompSession.queuedMessageCount > 0,
310
- shutdown: () => { },
311
+ shutdown: () => { this.onShutdown?.(); },
311
312
  getContextUsage: () => this.ompSession.getContextUsage(),
312
313
  getSystemPrompt: () => this.ompSession.systemPrompt,
313
314
  compact: async (opts) => { await this.ompSession.compact(typeof opts === "string" ? opts : undefined); },