@nextclaw/service 0.2.13 → 0.2.14

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 (846) hide show
  1. package/dist/app/nextclaw-service-runtime.d.ts +41 -0
  2. package/dist/app/nextclaw-service-runtime.d.ts.map +1 -0
  3. package/dist/app/nextclaw-service-runtime.js +136 -0
  4. package/dist/app/nextclaw-service-runtime.js.map +1 -0
  5. package/dist/controllers/commands/agent-command.controller.d.ts +3 -0
  6. package/dist/controllers/commands/agent-command.controller.js +3 -0
  7. package/dist/controllers/commands/channel-command.controller.d.ts +21 -0
  8. package/dist/controllers/commands/channel-command.controller.d.ts.map +1 -0
  9. package/dist/controllers/commands/channel-command.controller.js +115 -0
  10. package/dist/controllers/commands/channel-command.controller.js.map +1 -0
  11. package/dist/controllers/commands/config-command.controller.d.ts +2 -0
  12. package/dist/controllers/commands/config-command.controller.js +2 -0
  13. package/dist/controllers/commands/cron-command.controller.d.ts +2 -0
  14. package/dist/controllers/commands/cron-command.controller.js +2 -0
  15. package/dist/controllers/commands/diagnostics-command.controller.d.ts +2 -0
  16. package/dist/controllers/commands/diagnostics-command.controller.js +2 -0
  17. package/dist/controllers/commands/gateway-command.controller.d.ts +15 -0
  18. package/dist/controllers/commands/gateway-command.controller.d.ts.map +1 -0
  19. package/dist/controllers/commands/gateway-command.controller.js +17 -0
  20. package/dist/controllers/commands/gateway-command.controller.js.map +1 -0
  21. package/dist/controllers/commands/logs-command.controller.d.ts +13 -0
  22. package/dist/controllers/commands/logs-command.controller.d.ts.map +1 -0
  23. package/dist/controllers/commands/logs-command.controller.js +31 -0
  24. package/dist/controllers/commands/logs-command.controller.js.map +1 -0
  25. package/dist/controllers/commands/marketplace-skill-command.controller.d.ts +28 -0
  26. package/dist/controllers/commands/marketplace-skill-command.controller.d.ts.map +1 -0
  27. package/dist/controllers/commands/marketplace-skill-command.controller.js +170 -0
  28. package/dist/controllers/commands/marketplace-skill-command.controller.js.map +1 -0
  29. package/dist/controllers/commands/mcp-command.controller.d.ts +15 -0
  30. package/dist/controllers/commands/mcp-command.controller.d.ts.map +1 -0
  31. package/dist/controllers/commands/mcp-command.controller.js +195 -0
  32. package/dist/controllers/commands/mcp-command.controller.js.map +1 -0
  33. package/dist/controllers/commands/platform-auth-command.controller.d.ts +2 -0
  34. package/dist/controllers/commands/platform-auth-command.controller.js +2 -0
  35. package/dist/controllers/commands/remote-command.controller.d.ts +48 -0
  36. package/dist/controllers/commands/remote-command.controller.d.ts.map +1 -0
  37. package/dist/controllers/commands/remote-command.controller.js +176 -0
  38. package/dist/controllers/commands/remote-command.controller.js.map +1 -0
  39. package/dist/controllers/commands/restart-command.controller.d.ts +21 -0
  40. package/dist/controllers/commands/restart-command.controller.d.ts.map +1 -0
  41. package/dist/controllers/commands/restart-command.controller.js +90 -0
  42. package/dist/controllers/commands/restart-command.controller.js.map +1 -0
  43. package/dist/controllers/commands/secrets-command.controller.d.ts +23 -0
  44. package/dist/controllers/commands/secrets-command.controller.d.ts.map +1 -0
  45. package/dist/controllers/commands/secrets-command.controller.js +282 -0
  46. package/dist/controllers/commands/secrets-command.controller.js.map +1 -0
  47. package/dist/controllers/commands/serve-command.controller.d.ts +15 -0
  48. package/dist/controllers/commands/serve-command.controller.d.ts.map +1 -0
  49. package/dist/controllers/commands/serve-command.controller.js +21 -0
  50. package/dist/controllers/commands/serve-command.controller.js.map +1 -0
  51. package/dist/controllers/commands/service-command.controller.d.ts +17 -0
  52. package/dist/controllers/commands/service-command.controller.d.ts.map +1 -0
  53. package/dist/controllers/commands/service-command.controller.js +33 -0
  54. package/dist/controllers/commands/service-command.controller.js.map +1 -0
  55. package/dist/controllers/commands/start-command.controller.d.ts +19 -0
  56. package/dist/controllers/commands/start-command.controller.d.ts.map +1 -0
  57. package/dist/controllers/commands/start-command.controller.js +27 -0
  58. package/dist/controllers/commands/start-command.controller.js.map +1 -0
  59. package/dist/controllers/commands/stop-command.controller.d.ts +13 -0
  60. package/dist/controllers/commands/stop-command.controller.d.ts.map +1 -0
  61. package/dist/controllers/commands/stop-command.controller.js +13 -0
  62. package/dist/controllers/commands/stop-command.controller.js.map +1 -0
  63. package/dist/controllers/commands/ui-command.controller.d.ts +15 -0
  64. package/dist/controllers/commands/ui-command.controller.d.ts.map +1 -0
  65. package/dist/controllers/commands/ui-command.controller.js +19 -0
  66. package/dist/controllers/commands/ui-command.controller.js.map +1 -0
  67. package/dist/controllers/commands/usage-command.controller.d.ts +2 -0
  68. package/dist/controllers/commands/usage-command.controller.js +2 -0
  69. package/dist/controllers/gateway.controller.d.ts +54 -0
  70. package/dist/controllers/gateway.controller.d.ts.map +1 -0
  71. package/dist/controllers/gateway.controller.js +162 -0
  72. package/dist/controllers/gateway.controller.js.map +1 -0
  73. package/dist/index.d.ts +4 -4
  74. package/dist/index.js +2 -2
  75. package/dist/launcher/npm-runtime-launcher.service.d.ts +1 -1
  76. package/dist/launcher/npm-runtime-launcher.service.js +6 -6
  77. package/dist/launcher/npm-runtime-launcher.service.js.map +1 -1
  78. package/dist/managers/gateway-extension.manager.d.ts +29 -0
  79. package/dist/managers/gateway-extension.manager.d.ts.map +1 -0
  80. package/dist/managers/gateway-extension.manager.js +78 -0
  81. package/dist/managers/gateway-extension.manager.js.map +1 -0
  82. package/dist/managers/gateway-remote.manager.d.ts +23 -0
  83. package/dist/managers/gateway-remote.manager.d.ts.map +1 -0
  84. package/dist/managers/gateway-remote.manager.js +28 -0
  85. package/dist/managers/gateway-remote.manager.js.map +1 -0
  86. package/dist/managers/managed-service.manager.d.ts +42 -0
  87. package/dist/managers/managed-service.manager.d.ts.map +1 -0
  88. package/dist/managers/managed-service.manager.js +195 -0
  89. package/dist/managers/managed-service.manager.js.map +1 -0
  90. package/dist/managers/runtime-update.manager.d.ts +43 -0
  91. package/dist/managers/runtime-update.manager.d.ts.map +1 -0
  92. package/dist/managers/runtime-update.manager.js +185 -0
  93. package/dist/managers/runtime-update.manager.js.map +1 -0
  94. package/dist/managers/service-command.manager.d.ts +67 -0
  95. package/dist/managers/service-command.manager.d.ts.map +1 -0
  96. package/dist/managers/service-command.manager.js +94 -0
  97. package/dist/managers/service-command.manager.js.map +1 -0
  98. package/dist/managers/service-gateway.manager.d.ts +85 -0
  99. package/dist/managers/service-gateway.manager.d.ts.map +1 -0
  100. package/dist/managers/service-gateway.manager.js +278 -0
  101. package/dist/managers/service-gateway.manager.js.map +1 -0
  102. package/dist/managers/service-restart.manager.d.ts +22 -0
  103. package/dist/managers/service-restart.manager.d.ts.map +1 -0
  104. package/dist/managers/service-restart.manager.js +183 -0
  105. package/dist/managers/service-restart.manager.js.map +1 -0
  106. package/dist/managers/service-workspace.manager.d.ts +14 -0
  107. package/dist/managers/service-workspace.manager.d.ts.map +1 -0
  108. package/dist/managers/service-workspace.manager.js +86 -0
  109. package/dist/managers/service-workspace.manager.js.map +1 -0
  110. package/dist/services/agent/agent-commands.service.d.ts +17 -0
  111. package/dist/services/agent/agent-commands.service.d.ts.map +1 -0
  112. package/dist/services/agent/agent-commands.service.js +111 -0
  113. package/dist/services/agent/agent-commands.service.js.map +1 -0
  114. package/dist/services/autostart/host-autostart-command.service.d.ts +30 -0
  115. package/dist/services/autostart/host-autostart-command.service.d.ts.map +1 -0
  116. package/dist/services/autostart/host-autostart-command.service.js +160 -0
  117. package/dist/services/autostart/host-autostart-command.service.js.map +1 -0
  118. package/dist/services/autostart/host-autostart-runtime.service.d.ts +24 -0
  119. package/dist/services/autostart/host-autostart-runtime.service.d.ts.map +1 -0
  120. package/dist/services/autostart/host-autostart-runtime.service.js +55 -0
  121. package/dist/services/autostart/host-autostart-runtime.service.js.map +1 -0
  122. package/dist/services/autostart/host-autostart.service.d.ts +42 -0
  123. package/dist/services/autostart/host-autostart.service.d.ts.map +1 -0
  124. package/dist/services/autostart/host-autostart.service.js +50 -0
  125. package/dist/services/autostart/host-autostart.service.js.map +1 -0
  126. package/dist/services/autostart/linux-systemd-autostart.service.d.ts +49 -0
  127. package/dist/services/autostart/linux-systemd-autostart.service.d.ts.map +1 -0
  128. package/dist/services/autostart/linux-systemd-autostart.service.js +435 -0
  129. package/dist/services/autostart/linux-systemd-autostart.service.js.map +1 -0
  130. package/dist/services/autostart/macos-launch-agent-autostart.service.d.ts +55 -0
  131. package/dist/services/autostart/macos-launch-agent-autostart.service.d.ts.map +1 -0
  132. package/dist/services/autostart/macos-launch-agent-autostart.service.js +407 -0
  133. package/dist/services/autostart/macos-launch-agent-autostart.service.js.map +1 -0
  134. package/dist/services/autostart/windows-task-autostart.service.d.ts +55 -0
  135. package/dist/services/autostart/windows-task-autostart.service.d.ts.map +1 -0
  136. package/dist/services/autostart/windows-task-autostart.service.js +406 -0
  137. package/dist/services/autostart/windows-task-autostart.service.js.map +1 -0
  138. package/dist/services/channel/channel-list-view.service.d.ts +29 -0
  139. package/dist/services/channel/channel-list-view.service.d.ts.map +1 -0
  140. package/dist/services/channel/channel-list-view.service.js +53 -0
  141. package/dist/services/channel/channel-list-view.service.js.map +1 -0
  142. package/dist/services/config/config-commands.service.d.ts +17 -0
  143. package/dist/services/config/config-commands.service.d.ts.map +1 -0
  144. package/dist/services/config/config-commands.service.js +117 -0
  145. package/dist/services/config/config-commands.service.js.map +1 -0
  146. package/dist/services/cron/cron-commands.service.d.ts +23 -0
  147. package/dist/services/cron/cron-commands.service.d.ts.map +1 -0
  148. package/dist/services/cron/cron-commands.service.js +109 -0
  149. package/dist/services/cron/cron-commands.service.js.map +1 -0
  150. package/dist/services/cron/cron-local.service.d.ts +26 -0
  151. package/dist/services/cron/cron-local.service.d.ts.map +1 -0
  152. package/dist/services/cron/cron-local.service.js +89 -0
  153. package/dist/services/cron/cron-local.service.js.map +1 -0
  154. package/dist/services/diagnostics/diagnostics-commands.service.d.ts +25 -0
  155. package/dist/services/diagnostics/diagnostics-commands.service.d.ts.map +1 -0
  156. package/dist/services/diagnostics/diagnostics-commands.service.js +345 -0
  157. package/dist/services/diagnostics/diagnostics-commands.service.js.map +1 -0
  158. package/dist/services/gateway/gateway-restart-wake.service.d.ts +13 -0
  159. package/dist/services/gateway/gateway-restart-wake.service.d.ts.map +1 -0
  160. package/dist/services/gateway/gateway-restart-wake.service.js +99 -0
  161. package/dist/services/gateway/gateway-restart-wake.service.js.map +1 -0
  162. package/dist/services/gateway/nextclaw-app.service.d.ts +18 -0
  163. package/dist/services/gateway/nextclaw-app.service.d.ts.map +1 -0
  164. package/dist/services/gateway/nextclaw-app.service.js +44 -0
  165. package/dist/services/gateway/nextclaw-app.service.js.map +1 -0
  166. package/dist/services/gateway/service-bootstrap-status.service.d.ts +33 -0
  167. package/dist/services/gateway/service-bootstrap-status.service.d.ts.map +1 -0
  168. package/dist/services/gateway/service-bootstrap-status.service.js +144 -0
  169. package/dist/services/gateway/service-bootstrap-status.service.js.map +1 -0
  170. package/dist/services/gateway/service-startup-support.service.d.ts +35 -0
  171. package/dist/services/gateway/service-startup-support.service.d.ts.map +1 -0
  172. package/dist/services/gateway/service-startup-support.service.js +83 -0
  173. package/dist/services/gateway/service-startup-support.service.js.map +1 -0
  174. package/dist/services/marketplace/service-marketplace-installer.service.d.ts +29 -0
  175. package/dist/services/marketplace/service-marketplace-installer.service.d.ts.map +1 -0
  176. package/dist/services/marketplace/service-marketplace-installer.service.js +87 -0
  177. package/dist/services/marketplace/service-marketplace-installer.service.js.map +1 -0
  178. package/dist/services/marketplace/service-mcp-marketplace-ops.service.d.ts +40 -0
  179. package/dist/services/marketplace/service-mcp-marketplace-ops.service.d.ts.map +1 -0
  180. package/dist/services/marketplace/service-mcp-marketplace-ops.service.js +69 -0
  181. package/dist/services/marketplace/service-mcp-marketplace-ops.service.js.map +1 -0
  182. package/dist/services/marketplace/skills-query.service.d.ts +110 -0
  183. package/dist/services/marketplace/skills-query.service.d.ts.map +1 -0
  184. package/dist/services/marketplace/skills-query.service.js +132 -0
  185. package/dist/services/marketplace/skills-query.service.js.map +1 -0
  186. package/dist/services/platform-auth/account-status.service.d.ts +20 -0
  187. package/dist/services/platform-auth/account-status.service.d.ts.map +1 -0
  188. package/dist/services/platform-auth/account-status.service.js +36 -0
  189. package/dist/services/platform-auth/account-status.service.js.map +1 -0
  190. package/dist/services/platform-auth/platform-auth-commands.service.d.ts +78 -0
  191. package/dist/services/platform-auth/platform-auth-commands.service.d.ts.map +1 -0
  192. package/dist/services/platform-auth/platform-auth-commands.service.js +297 -0
  193. package/dist/services/platform-auth/platform-auth-commands.service.js.map +1 -0
  194. package/dist/services/remote/remote-access-host.service.d.ts +42 -0
  195. package/dist/services/remote/remote-access-host.service.d.ts.map +1 -0
  196. package/dist/services/remote/remote-access-host.service.js +128 -0
  197. package/dist/services/remote/remote-access-host.service.js.map +1 -0
  198. package/dist/services/remote/remote-service-control.service.d.ts +34 -0
  199. package/dist/services/remote/remote-service-control.service.d.ts.map +1 -0
  200. package/dist/services/remote/remote-service-control.service.js +247 -0
  201. package/dist/services/remote/remote-service-control.service.js.map +1 -0
  202. package/dist/services/restart/restart-coordinator.service.d.ts +31 -0
  203. package/dist/services/restart/restart-coordinator.service.d.ts.map +1 -0
  204. package/dist/services/restart/restart-coordinator.service.js +53 -0
  205. package/dist/services/restart/restart-coordinator.service.js.map +1 -0
  206. package/dist/services/runtime/managed-service-supervisor.service.d.ts +85 -0
  207. package/dist/services/runtime/managed-service-supervisor.service.d.ts.map +1 -0
  208. package/dist/services/runtime/managed-service-supervisor.service.js +271 -0
  209. package/dist/services/runtime/managed-service-supervisor.service.js.map +1 -0
  210. package/dist/services/runtime/nextclaw-distribution.service.d.ts +11 -0
  211. package/dist/services/runtime/nextclaw-distribution.service.d.ts.map +1 -0
  212. package/dist/services/runtime/nextclaw-distribution.service.js +15 -0
  213. package/dist/services/runtime/nextclaw-distribution.service.js.map +1 -0
  214. package/dist/services/runtime/npm-runtime-bundle-manifest.service.d.ts +10 -0
  215. package/dist/services/runtime/npm-runtime-bundle-manifest.service.d.ts.map +1 -0
  216. package/dist/services/runtime/npm-runtime-bundle-manifest.service.js +41 -0
  217. package/dist/services/runtime/npm-runtime-bundle-manifest.service.js.map +1 -0
  218. package/dist/services/runtime/npm-runtime-bundle.service.d.ts +48 -0
  219. package/dist/services/runtime/npm-runtime-bundle.service.d.ts.map +1 -0
  220. package/dist/services/runtime/npm-runtime-bundle.service.js +152 -0
  221. package/dist/services/runtime/npm-runtime-bundle.service.js.map +1 -0
  222. package/dist/services/runtime/npm-runtime-update-command.service.d.ts +16 -0
  223. package/dist/services/runtime/npm-runtime-update-command.service.d.ts.map +1 -0
  224. package/dist/services/runtime/npm-runtime-update-command.service.js +120 -0
  225. package/dist/services/runtime/npm-runtime-update-command.service.js.map +1 -0
  226. package/dist/services/runtime/npm-runtime-update-host.service.d.ts +41 -0
  227. package/dist/services/runtime/npm-runtime-update-host.service.d.ts.map +1 -0
  228. package/dist/services/runtime/npm-runtime-update-host.service.js +189 -0
  229. package/dist/services/runtime/npm-runtime-update-host.service.js.map +1 -0
  230. package/dist/services/runtime/npm-runtime-update-source.service.d.ts +22 -0
  231. package/dist/services/runtime/npm-runtime-update-source.service.d.ts.map +1 -0
  232. package/dist/services/runtime/npm-runtime-update-source.service.js +61 -0
  233. package/dist/services/runtime/npm-runtime-update-source.service.js.map +1 -0
  234. package/dist/services/runtime/npm-runtime-update.service.d.ts +55 -0
  235. package/dist/services/runtime/npm-runtime-update.service.d.ts.map +1 -0
  236. package/dist/services/runtime/npm-runtime-update.service.js +185 -0
  237. package/dist/services/runtime/npm-runtime-update.service.js.map +1 -0
  238. package/dist/services/runtime/runtime-config-init.service.d.ts +5 -0
  239. package/dist/services/runtime/runtime-config-init.service.d.ts.map +1 -0
  240. package/dist/services/runtime/runtime-config-init.service.js +12 -0
  241. package/dist/services/runtime/runtime-config-init.service.js.map +1 -0
  242. package/dist/services/runtime/service-managed-startup.service.d.ts +95 -0
  243. package/dist/services/runtime/service-managed-startup.service.d.ts.map +1 -0
  244. package/dist/services/runtime/service-managed-startup.service.js +341 -0
  245. package/dist/services/runtime/service-managed-startup.service.js.map +1 -0
  246. package/dist/services/ui/companion-runtime.service.d.ts +36 -0
  247. package/dist/services/ui/companion-runtime.service.d.ts.map +1 -0
  248. package/dist/services/ui/companion-runtime.service.js +180 -0
  249. package/dist/services/ui/companion-runtime.service.js.map +1 -0
  250. package/dist/services/ui/local-ui-discovery.service.d.ts +20 -0
  251. package/dist/services/ui/local-ui-discovery.service.d.ts.map +1 -0
  252. package/dist/services/ui/local-ui-discovery.service.js +43 -0
  253. package/dist/services/ui/local-ui-discovery.service.js.map +1 -0
  254. package/dist/services/ui/runtime-control-host.service.d.ts +29 -0
  255. package/dist/services/ui/runtime-control-host.service.d.ts.map +1 -0
  256. package/dist/services/ui/runtime-control-host.service.js +91 -0
  257. package/dist/services/ui/runtime-control-host.service.js.map +1 -0
  258. package/dist/services/ui/service-remote-access.service.d.ts +26 -0
  259. package/dist/services/ui/service-remote-access.service.d.ts.map +1 -0
  260. package/dist/services/ui/service-remote-access.service.js +40 -0
  261. package/dist/services/ui/service-remote-access.service.js.map +1 -0
  262. package/dist/services/ui/ui-bridge-api.service.d.ts +17 -0
  263. package/dist/services/ui/ui-bridge-api.service.d.ts.map +1 -0
  264. package/dist/services/ui/ui-bridge-api.service.js +45 -0
  265. package/dist/services/ui/ui-bridge-api.service.js.map +1 -0
  266. package/dist/services/usage/llm-usage-command.service.d.ts +21 -0
  267. package/dist/services/usage/llm-usage-command.service.d.ts.map +1 -0
  268. package/dist/services/usage/llm-usage-command.service.js +152 -0
  269. package/dist/services/usage/llm-usage-command.service.js.map +1 -0
  270. package/dist/stores/companion-runtime.store.d.ts +16 -0
  271. package/dist/stores/companion-runtime.store.d.ts.map +1 -0
  272. package/dist/stores/companion-runtime.store.js +29 -0
  273. package/dist/stores/companion-runtime.store.js.map +1 -0
  274. package/dist/stores/local-ui-runtime.store.d.ts +26 -0
  275. package/dist/stores/local-ui-runtime.store.d.ts.map +1 -0
  276. package/dist/stores/local-ui-runtime.store.js +56 -0
  277. package/dist/stores/local-ui-runtime.store.js.map +1 -0
  278. package/dist/stores/managed-service-state.store.d.ts +46 -0
  279. package/dist/stores/managed-service-state.store.d.ts.map +1 -0
  280. package/dist/stores/managed-service-state.store.js +40 -0
  281. package/dist/stores/managed-service-state.store.js.map +1 -0
  282. package/dist/stores/marketplace-install-state.store.d.ts +39 -0
  283. package/dist/stores/marketplace-install-state.store.d.ts.map +1 -0
  284. package/dist/stores/marketplace-install-state.store.js +58 -0
  285. package/dist/stores/marketplace-install-state.store.js.map +1 -0
  286. package/dist/stores/npm-runtime-bundle-layout.store.d.ts +24 -0
  287. package/dist/stores/npm-runtime-bundle-layout.store.d.ts.map +1 -0
  288. package/dist/stores/npm-runtime-bundle-layout.store.js +39 -0
  289. package/dist/stores/npm-runtime-bundle-layout.store.js.map +1 -0
  290. package/dist/stores/npm-runtime-update-state.store.d.ts +18 -0
  291. package/dist/stores/npm-runtime-update-state.store.d.ts.map +1 -0
  292. package/dist/stores/npm-runtime-update-state.store.js +94 -0
  293. package/dist/stores/npm-runtime-update-state.store.js.map +1 -0
  294. package/dist/stores/pending-restart.store.d.ts +22 -0
  295. package/dist/stores/pending-restart.store.d.ts.map +1 -0
  296. package/dist/stores/pending-restart.store.js +37 -0
  297. package/dist/stores/pending-restart.store.js.map +1 -0
  298. package/dist/types/cli.types.d.ts +304 -0
  299. package/dist/types/cli.types.d.ts.map +1 -0
  300. package/dist/types/distribution.types.d.ts +11 -0
  301. package/dist/types/distribution.types.d.ts.map +1 -0
  302. package/dist/types/host-autostart.types.d.ts +65 -0
  303. package/dist/types/host-autostart.types.d.ts.map +1 -0
  304. package/dist/types/npm-runtime-bundle.types.d.ts +50 -0
  305. package/dist/types/npm-runtime-bundle.types.d.ts.map +1 -0
  306. package/dist/utils/agent-runtime.utils.d.ts +15 -0
  307. package/dist/utils/agent-runtime.utils.d.ts.map +1 -0
  308. package/dist/utils/agent-runtime.utils.js +40 -0
  309. package/dist/utils/agent-runtime.utils.js.map +1 -0
  310. package/dist/utils/channel-config-view.utils.d.ts +7 -0
  311. package/dist/utils/channel-config-view.utils.d.ts.map +1 -0
  312. package/dist/utils/channel-config-view.utils.js +9 -0
  313. package/dist/utils/channel-config-view.utils.js.map +1 -0
  314. package/dist/utils/cli-agent-runner.utils.d.ts +14 -0
  315. package/dist/utils/cli-agent-runner.utils.d.ts.map +1 -0
  316. package/dist/utils/cli-agent-runner.utils.js +94 -0
  317. package/dist/utils/cli-agent-runner.utils.js.map +1 -0
  318. package/dist/utils/cli.utils.d.ts +32 -0
  319. package/dist/utils/cli.utils.d.ts.map +1 -0
  320. package/dist/utils/cli.utils.js +254 -0
  321. package/dist/utils/cli.utils.js.map +1 -0
  322. package/dist/utils/config-path.utils.d.ts +16 -0
  323. package/dist/utils/config-path.utils.d.ts.map +1 -0
  324. package/dist/utils/config-path.utils.js +169 -0
  325. package/dist/utils/config-path.utils.js.map +1 -0
  326. package/dist/utils/cron/cron-job.utils.d.ts +28 -0
  327. package/dist/utils/cron/cron-job.utils.d.ts.map +1 -0
  328. package/dist/utils/cron/cron-job.utils.js +17 -0
  329. package/dist/utils/cron/cron-job.utils.js.map +1 -0
  330. package/dist/utils/diagnostics/diagnostics-render.utils.d.ts +24 -0
  331. package/dist/utils/diagnostics/diagnostics-render.utils.d.ts.map +1 -0
  332. package/dist/utils/diagnostics/diagnostics-render.utils.js +74 -0
  333. package/dist/utils/diagnostics/diagnostics-render.utils.js.map +1 -0
  334. package/dist/utils/gateway-cron-job-handler.utils.d.ts +18 -0
  335. package/dist/utils/gateway-cron-job-handler.utils.d.ts.map +1 -0
  336. package/dist/utils/gateway-cron-job-handler.utils.js +56 -0
  337. package/dist/utils/gateway-cron-job-handler.utils.js.map +1 -0
  338. package/dist/utils/gateway-runtime-lifecycle.utils.d.ts +10 -0
  339. package/dist/utils/gateway-runtime-lifecycle.utils.d.ts.map +1 -0
  340. package/dist/utils/gateway-runtime-lifecycle.utils.js +12 -0
  341. package/dist/utils/gateway-runtime-lifecycle.utils.js.map +1 -0
  342. package/dist/utils/marketplace/cli-subcommand-launch.utils.d.ts +17 -0
  343. package/dist/utils/marketplace/cli-subcommand-launch.utils.d.ts.map +1 -0
  344. package/dist/utils/marketplace/cli-subcommand-launch.utils.js +48 -0
  345. package/dist/utils/marketplace/cli-subcommand-launch.utils.js.map +1 -0
  346. package/dist/utils/marketplace/marketplace-client.utils.d.ts +46 -0
  347. package/dist/utils/marketplace/marketplace-client.utils.d.ts.map +1 -0
  348. package/dist/utils/marketplace/marketplace-client.utils.js +137 -0
  349. package/dist/utils/marketplace/marketplace-client.utils.js.map +1 -0
  350. package/dist/utils/marketplace/marketplace-command-options.utils.d.ts +26 -0
  351. package/dist/utils/marketplace/marketplace-command-options.utils.d.ts.map +1 -0
  352. package/dist/utils/marketplace/marketplace-command-options.utils.js +33 -0
  353. package/dist/utils/marketplace/marketplace-command-options.utils.js.map +1 -0
  354. package/dist/utils/marketplace/marketplace-identity.utils.d.ts +15 -0
  355. package/dist/utils/marketplace/marketplace-identity.utils.d.ts.map +1 -0
  356. package/dist/utils/marketplace/marketplace-identity.utils.js +79 -0
  357. package/dist/utils/marketplace/marketplace-identity.utils.js.map +1 -0
  358. package/dist/utils/marketplace/marketplace-metadata.utils.d.ts +21 -0
  359. package/dist/utils/marketplace/marketplace-metadata.utils.d.ts.map +1 -0
  360. package/dist/utils/marketplace/marketplace-metadata.utils.js +74 -0
  361. package/dist/utils/marketplace/marketplace-metadata.utils.js.map +1 -0
  362. package/dist/utils/marketplace/marketplace-network-retry.utils.d.ts +5 -0
  363. package/dist/utils/marketplace/marketplace-network-retry.utils.d.ts.map +1 -0
  364. package/dist/utils/marketplace/marketplace-network-retry.utils.js +34 -0
  365. package/dist/utils/marketplace/marketplace-network-retry.utils.js.map +1 -0
  366. package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.d.ts +27 -0
  367. package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.d.ts.map +1 -0
  368. package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.js +206 -0
  369. package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.js.map +1 -0
  370. package/dist/utils/marketplace/marketplace.utils.d.ts +34 -0
  371. package/dist/utils/marketplace/marketplace.utils.d.ts.map +1 -0
  372. package/dist/utils/marketplace/marketplace.utils.js +77 -0
  373. package/dist/utils/marketplace/marketplace.utils.js.map +1 -0
  374. package/dist/utils/marketplace/service-marketplace-helpers.utils.d.ts +15 -0
  375. package/dist/utils/marketplace/service-marketplace-helpers.utils.d.ts.map +1 -0
  376. package/dist/utils/marketplace/service-marketplace-helpers.utils.js +47 -0
  377. package/dist/utils/marketplace/service-marketplace-helpers.utils.js.map +1 -0
  378. package/dist/utils/package/package-manifest.utils.d.ts +5 -0
  379. package/dist/utils/package/package-manifest.utils.d.ts.map +1 -0
  380. package/dist/utils/package/package-manifest.utils.js +40 -0
  381. package/dist/utils/package/package-manifest.utils.js.map +1 -0
  382. package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts +5 -0
  383. package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts.map +1 -0
  384. package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js +37 -0
  385. package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js.map +1 -0
  386. package/dist/utils/platform-auth/payload.utils.d.ts +30 -0
  387. package/dist/utils/platform-auth/payload.utils.d.ts.map +1 -0
  388. package/dist/utils/platform-auth/payload.utils.js +89 -0
  389. package/dist/utils/platform-auth/payload.utils.js.map +1 -0
  390. package/dist/utils/remote/platform-api-base.utils.d.ts +15 -0
  391. package/dist/utils/remote/platform-api-base.utils.d.ts.map +1 -0
  392. package/dist/utils/remote/platform-api-base.utils.js +41 -0
  393. package/dist/utils/remote/platform-api-base.utils.js.map +1 -0
  394. package/dist/utils/remote/remote-runtime-support.utils.d.ts +16 -0
  395. package/dist/utils/remote/remote-runtime-support.utils.d.ts.map +1 -0
  396. package/dist/utils/remote/remote-runtime-support.utils.js +82 -0
  397. package/dist/utils/remote/remote-runtime-support.utils.js.map +1 -0
  398. package/dist/utils/restart-sentinel.utils.d.ts +37 -0
  399. package/dist/utils/restart-sentinel.utils.d.ts.map +1 -0
  400. package/dist/utils/restart-sentinel.utils.js +76 -0
  401. package/dist/utils/restart-sentinel.utils.js.map +1 -0
  402. package/dist/utils/runtime/managed-service-routing.utils.d.ts +31 -0
  403. package/dist/utils/runtime/managed-service-routing.utils.d.ts.map +1 -0
  404. package/dist/utils/runtime/managed-service-routing.utils.js +64 -0
  405. package/dist/utils/runtime/managed-service-routing.utils.js.map +1 -0
  406. package/dist/utils/runtime/service-remote-runtime.utils.d.ts +58 -0
  407. package/dist/utils/runtime/service-remote-runtime.utils.d.ts.map +1 -0
  408. package/dist/utils/runtime/service-remote-runtime.utils.js +184 -0
  409. package/dist/utils/runtime/service-remote-runtime.utils.js.map +1 -0
  410. package/dist/utils/runtime-helpers.utils.d.ts +15 -0
  411. package/dist/utils/runtime-helpers.utils.d.ts.map +1 -0
  412. package/dist/utils/runtime-helpers.utils.js +28 -0
  413. package/dist/utils/runtime-helpers.utils.js.map +1 -0
  414. package/dist/utils/service-port-probe.utils.d.ts +42 -0
  415. package/dist/utils/service-port-probe.utils.d.ts.map +1 -0
  416. package/dist/utils/service-port-probe.utils.js +166 -0
  417. package/dist/utils/service-port-probe.utils.js.map +1 -0
  418. package/dist/utils/startup-trace.utils.d.ts +8 -0
  419. package/dist/utils/startup-trace.utils.d.ts.map +1 -0
  420. package/dist/utils/startup-trace.utils.js +39 -0
  421. package/dist/utils/startup-trace.utils.js.map +1 -0
  422. package/dist/utils/top-level-nextclaw-command-env.utils.d.ts +5 -0
  423. package/dist/utils/top-level-nextclaw-command-env.utils.d.ts.map +1 -0
  424. package/dist/utils/top-level-nextclaw-command-env.utils.js +12 -0
  425. package/dist/utils/top-level-nextclaw-command-env.utils.js.map +1 -0
  426. package/package.json +26 -26
  427. package/dist/cli/commands/agent/agent-runtime.utils.d.ts +0 -15
  428. package/dist/cli/commands/agent/agent-runtime.utils.d.ts.map +0 -1
  429. package/dist/cli/commands/agent/agent-runtime.utils.js +0 -43
  430. package/dist/cli/commands/agent/agent-runtime.utils.js.map +0 -1
  431. package/dist/cli/commands/agent/cli-agent-runner.utils.d.ts +0 -14
  432. package/dist/cli/commands/agent/cli-agent-runner.utils.d.ts.map +0 -1
  433. package/dist/cli/commands/agent/cli-agent-runner.utils.js +0 -94
  434. package/dist/cli/commands/agent/cli-agent-runner.utils.js.map +0 -1
  435. package/dist/cli/commands/agent/index.d.ts +0 -3
  436. package/dist/cli/commands/agent/index.js +0 -3
  437. package/dist/cli/commands/agent/services/agent-commands.service.d.ts +0 -18
  438. package/dist/cli/commands/agent/services/agent-commands.service.d.ts.map +0 -1
  439. package/dist/cli/commands/agent/services/agent-commands.service.js +0 -113
  440. package/dist/cli/commands/agent/services/agent-commands.service.js.map +0 -1
  441. package/dist/cli/commands/config/index.d.ts +0 -2
  442. package/dist/cli/commands/config/index.js +0 -2
  443. package/dist/cli/commands/config/services/config-commands.service.d.ts +0 -17
  444. package/dist/cli/commands/config/services/config-commands.service.d.ts.map +0 -1
  445. package/dist/cli/commands/config/services/config-commands.service.js +0 -117
  446. package/dist/cli/commands/config/services/config-commands.service.js.map +0 -1
  447. package/dist/cli/commands/cron/index.d.ts +0 -2
  448. package/dist/cli/commands/cron/index.js +0 -2
  449. package/dist/cli/commands/cron/services/cron-commands.service.d.ts +0 -23
  450. package/dist/cli/commands/cron/services/cron-commands.service.d.ts.map +0 -1
  451. package/dist/cli/commands/cron/services/cron-commands.service.js +0 -109
  452. package/dist/cli/commands/cron/services/cron-commands.service.js.map +0 -1
  453. package/dist/cli/commands/cron/services/cron-local.service.d.ts +0 -26
  454. package/dist/cli/commands/cron/services/cron-local.service.d.ts.map +0 -1
  455. package/dist/cli/commands/cron/services/cron-local.service.js +0 -89
  456. package/dist/cli/commands/cron/services/cron-local.service.js.map +0 -1
  457. package/dist/cli/commands/cron/utils/cron-job.utils.d.ts +0 -28
  458. package/dist/cli/commands/cron/utils/cron-job.utils.d.ts.map +0 -1
  459. package/dist/cli/commands/cron/utils/cron-job.utils.js +0 -17
  460. package/dist/cli/commands/cron/utils/cron-job.utils.js.map +0 -1
  461. package/dist/cli/commands/diagnostics/index.d.ts +0 -2
  462. package/dist/cli/commands/diagnostics/index.js +0 -2
  463. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.d.ts +0 -25
  464. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.d.ts.map +0 -1
  465. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.js +0 -345
  466. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.js.map +0 -1
  467. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.d.ts +0 -24
  468. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.d.ts.map +0 -1
  469. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.js +0 -74
  470. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.js.map +0 -1
  471. package/dist/cli/commands/gateway/index.d.ts +0 -15
  472. package/dist/cli/commands/gateway/index.d.ts.map +0 -1
  473. package/dist/cli/commands/gateway/index.js +0 -17
  474. package/dist/cli/commands/gateway/index.js.map +0 -1
  475. package/dist/cli/commands/logs/index.d.ts +0 -13
  476. package/dist/cli/commands/logs/index.d.ts.map +0 -1
  477. package/dist/cli/commands/logs/index.js +0 -31
  478. package/dist/cli/commands/logs/index.js.map +0 -1
  479. package/dist/cli/commands/mcp/index.d.ts +0 -15
  480. package/dist/cli/commands/mcp/index.d.ts.map +0 -1
  481. package/dist/cli/commands/mcp/index.js +0 -195
  482. package/dist/cli/commands/mcp/index.js.map +0 -1
  483. package/dist/cli/commands/restart/index.d.ts +0 -21
  484. package/dist/cli/commands/restart/index.d.ts.map +0 -1
  485. package/dist/cli/commands/restart/index.js +0 -90
  486. package/dist/cli/commands/restart/index.js.map +0 -1
  487. package/dist/cli/commands/secrets/index.d.ts +0 -23
  488. package/dist/cli/commands/secrets/index.d.ts.map +0 -1
  489. package/dist/cli/commands/secrets/index.js +0 -282
  490. package/dist/cli/commands/secrets/index.js.map +0 -1
  491. package/dist/cli/commands/serve/index.d.ts +0 -15
  492. package/dist/cli/commands/serve/index.d.ts.map +0 -1
  493. package/dist/cli/commands/serve/index.js +0 -21
  494. package/dist/cli/commands/serve/index.js.map +0 -1
  495. package/dist/cli/commands/skills/index.d.ts +0 -28
  496. package/dist/cli/commands/skills/index.d.ts.map +0 -1
  497. package/dist/cli/commands/skills/index.js +0 -170
  498. package/dist/cli/commands/skills/index.js.map +0 -1
  499. package/dist/cli/commands/skills/marketplace-client.d.ts +0 -46
  500. package/dist/cli/commands/skills/marketplace-client.d.ts.map +0 -1
  501. package/dist/cli/commands/skills/marketplace-client.js +0 -137
  502. package/dist/cli/commands/skills/marketplace-client.js.map +0 -1
  503. package/dist/cli/commands/skills/marketplace-command-options.utils.d.ts +0 -26
  504. package/dist/cli/commands/skills/marketplace-command-options.utils.d.ts.map +0 -1
  505. package/dist/cli/commands/skills/marketplace-command-options.utils.js +0 -33
  506. package/dist/cli/commands/skills/marketplace-command-options.utils.js.map +0 -1
  507. package/dist/cli/commands/skills/marketplace-identity.utils.d.ts +0 -15
  508. package/dist/cli/commands/skills/marketplace-identity.utils.d.ts.map +0 -1
  509. package/dist/cli/commands/skills/marketplace-identity.utils.js +0 -79
  510. package/dist/cli/commands/skills/marketplace-identity.utils.js.map +0 -1
  511. package/dist/cli/commands/skills/marketplace-network-retry.d.ts +0 -5
  512. package/dist/cli/commands/skills/marketplace-network-retry.d.ts.map +0 -1
  513. package/dist/cli/commands/skills/marketplace-network-retry.js +0 -34
  514. package/dist/cli/commands/skills/marketplace-network-retry.js.map +0 -1
  515. package/dist/cli/commands/skills/marketplace.metadata.d.ts +0 -21
  516. package/dist/cli/commands/skills/marketplace.metadata.d.ts.map +0 -1
  517. package/dist/cli/commands/skills/marketplace.metadata.js +0 -74
  518. package/dist/cli/commands/skills/marketplace.metadata.js.map +0 -1
  519. package/dist/cli/commands/skills/marketplace.utils.d.ts +0 -34
  520. package/dist/cli/commands/skills/marketplace.utils.d.ts.map +0 -1
  521. package/dist/cli/commands/skills/marketplace.utils.js +0 -77
  522. package/dist/cli/commands/skills/marketplace.utils.js.map +0 -1
  523. package/dist/cli/commands/skills/skills-query.service.d.ts +0 -110
  524. package/dist/cli/commands/skills/skills-query.service.d.ts.map +0 -1
  525. package/dist/cli/commands/skills/skills-query.service.js +0 -132
  526. package/dist/cli/commands/skills/skills-query.service.js.map +0 -1
  527. package/dist/cli/commands/skills/stores/marketplace-install-state.store.d.ts +0 -39
  528. package/dist/cli/commands/skills/stores/marketplace-install-state.store.d.ts.map +0 -1
  529. package/dist/cli/commands/skills/stores/marketplace-install-state.store.js +0 -58
  530. package/dist/cli/commands/skills/stores/marketplace-install-state.store.js.map +0 -1
  531. package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.d.ts +0 -27
  532. package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.d.ts.map +0 -1
  533. package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.js +0 -206
  534. package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.js.map +0 -1
  535. package/dist/cli/commands/start/index.d.ts +0 -19
  536. package/dist/cli/commands/start/index.d.ts.map +0 -1
  537. package/dist/cli/commands/start/index.js +0 -27
  538. package/dist/cli/commands/start/index.js.map +0 -1
  539. package/dist/cli/commands/stop/index.d.ts +0 -13
  540. package/dist/cli/commands/stop/index.d.ts.map +0 -1
  541. package/dist/cli/commands/stop/index.js +0 -13
  542. package/dist/cli/commands/stop/index.js.map +0 -1
  543. package/dist/cli/commands/ui/index.d.ts +0 -15
  544. package/dist/cli/commands/ui/index.d.ts.map +0 -1
  545. package/dist/cli/commands/ui/index.js +0 -19
  546. package/dist/cli/commands/ui/index.js.map +0 -1
  547. package/dist/cli/commands/usage/index.d.ts +0 -2
  548. package/dist/cli/commands/usage/index.js +0 -2
  549. package/dist/cli/commands/usage/services/llm-usage-command.service.d.ts +0 -21
  550. package/dist/cli/commands/usage/services/llm-usage-command.service.d.ts.map +0 -1
  551. package/dist/cli/commands/usage/services/llm-usage-command.service.js +0 -152
  552. package/dist/cli/commands/usage/services/llm-usage-command.service.js.map +0 -1
  553. package/dist/commands/channel/channel-config-view.utils.d.ts +0 -7
  554. package/dist/commands/channel/channel-config-view.utils.d.ts.map +0 -1
  555. package/dist/commands/channel/channel-config-view.utils.js +0 -9
  556. package/dist/commands/channel/channel-config-view.utils.js.map +0 -1
  557. package/dist/commands/channel/channel-list-view.service.d.ts +0 -29
  558. package/dist/commands/channel/channel-list-view.service.d.ts.map +0 -1
  559. package/dist/commands/channel/channel-list-view.service.js +0 -53
  560. package/dist/commands/channel/channel-list-view.service.js.map +0 -1
  561. package/dist/commands/channel/index.d.ts +0 -21
  562. package/dist/commands/channel/index.d.ts.map +0 -1
  563. package/dist/commands/channel/index.js +0 -115
  564. package/dist/commands/channel/index.js.map +0 -1
  565. package/dist/commands/platform-auth/index.d.ts +0 -2
  566. package/dist/commands/platform-auth/index.js +0 -2
  567. package/dist/commands/platform-auth/services/account-status.service.d.ts +0 -19
  568. package/dist/commands/platform-auth/services/account-status.service.d.ts.map +0 -1
  569. package/dist/commands/platform-auth/services/account-status.service.js +0 -36
  570. package/dist/commands/platform-auth/services/account-status.service.js.map +0 -1
  571. package/dist/commands/platform-auth/services/platform-auth-commands.service.d.ts +0 -78
  572. package/dist/commands/platform-auth/services/platform-auth-commands.service.d.ts.map +0 -1
  573. package/dist/commands/platform-auth/services/platform-auth-commands.service.js +0 -297
  574. package/dist/commands/platform-auth/services/platform-auth-commands.service.js.map +0 -1
  575. package/dist/commands/platform-auth/utils/payload.utils.d.ts +0 -29
  576. package/dist/commands/platform-auth/utils/payload.utils.d.ts.map +0 -1
  577. package/dist/commands/platform-auth/utils/payload.utils.js +0 -89
  578. package/dist/commands/platform-auth/utils/payload.utils.js.map +0 -1
  579. package/dist/commands/remote/index.d.ts +0 -48
  580. package/dist/commands/remote/index.d.ts.map +0 -1
  581. package/dist/commands/remote/index.js +0 -176
  582. package/dist/commands/remote/index.js.map +0 -1
  583. package/dist/commands/remote/services/remote-access-host.service.d.ts +0 -42
  584. package/dist/commands/remote/services/remote-access-host.service.d.ts.map +0 -1
  585. package/dist/commands/remote/services/remote-access-host.service.js +0 -128
  586. package/dist/commands/remote/services/remote-access-host.service.js.map +0 -1
  587. package/dist/commands/remote/services/remote-service-control.service.d.ts +0 -34
  588. package/dist/commands/remote/services/remote-service-control.service.d.ts.map +0 -1
  589. package/dist/commands/remote/services/remote-service-control.service.js +0 -247
  590. package/dist/commands/remote/services/remote-service-control.service.js.map +0 -1
  591. package/dist/commands/remote/utils/platform-api-base.utils.d.ts +0 -15
  592. package/dist/commands/remote/utils/platform-api-base.utils.d.ts.map +0 -1
  593. package/dist/commands/remote/utils/platform-api-base.utils.js +0 -41
  594. package/dist/commands/remote/utils/platform-api-base.utils.js.map +0 -1
  595. package/dist/commands/remote/utils/remote-runtime-support.utils.d.ts +0 -16
  596. package/dist/commands/remote/utils/remote-runtime-support.utils.d.ts.map +0 -1
  597. package/dist/commands/remote/utils/remote-runtime-support.utils.js +0 -82
  598. package/dist/commands/remote/utils/remote-runtime-support.utils.js.map +0 -1
  599. package/dist/commands/service/index.d.ts +0 -17
  600. package/dist/commands/service/index.d.ts.map +0 -1
  601. package/dist/commands/service/index.js +0 -33
  602. package/dist/commands/service/index.js.map +0 -1
  603. package/dist/commands/service/services/autostart/host-autostart-command.service.d.ts +0 -30
  604. package/dist/commands/service/services/autostart/host-autostart-command.service.d.ts.map +0 -1
  605. package/dist/commands/service/services/autostart/host-autostart-command.service.js +0 -160
  606. package/dist/commands/service/services/autostart/host-autostart-command.service.js.map +0 -1
  607. package/dist/commands/service/services/autostart/host-autostart-runtime.service.d.ts +0 -24
  608. package/dist/commands/service/services/autostart/host-autostart-runtime.service.d.ts.map +0 -1
  609. package/dist/commands/service/services/autostart/host-autostart-runtime.service.js +0 -55
  610. package/dist/commands/service/services/autostart/host-autostart-runtime.service.js.map +0 -1
  611. package/dist/commands/service/services/autostart/host-autostart.service.d.ts +0 -42
  612. package/dist/commands/service/services/autostart/host-autostart.service.d.ts.map +0 -1
  613. package/dist/commands/service/services/autostart/host-autostart.service.js +0 -50
  614. package/dist/commands/service/services/autostart/host-autostart.service.js.map +0 -1
  615. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.d.ts +0 -49
  616. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.d.ts.map +0 -1
  617. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.js +0 -435
  618. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.js.map +0 -1
  619. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.d.ts +0 -55
  620. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.d.ts.map +0 -1
  621. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.js +0 -407
  622. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.js.map +0 -1
  623. package/dist/commands/service/services/autostart/windows-task-autostart.service.d.ts +0 -55
  624. package/dist/commands/service/services/autostart/windows-task-autostart.service.d.ts.map +0 -1
  625. package/dist/commands/service/services/autostart/windows-task-autostart.service.js +0 -406
  626. package/dist/commands/service/services/autostart/windows-task-autostart.service.js.map +0 -1
  627. package/dist/commands/service/types/autostart/host-autostart.types.d.ts +0 -65
  628. package/dist/commands/service/types/autostart/host-autostart.types.d.ts.map +0 -1
  629. package/dist/launcher/npm-runtime-bundle-layout.store.d.ts +0 -24
  630. package/dist/launcher/npm-runtime-bundle-layout.store.d.ts.map +0 -1
  631. package/dist/launcher/npm-runtime-bundle-layout.store.js +0 -39
  632. package/dist/launcher/npm-runtime-bundle-layout.store.js.map +0 -1
  633. package/dist/launcher/npm-runtime-bundle-manifest.service.d.ts +0 -10
  634. package/dist/launcher/npm-runtime-bundle-manifest.service.d.ts.map +0 -1
  635. package/dist/launcher/npm-runtime-bundle-manifest.service.js +0 -41
  636. package/dist/launcher/npm-runtime-bundle-manifest.service.js.map +0 -1
  637. package/dist/launcher/npm-runtime-bundle.service.d.ts +0 -48
  638. package/dist/launcher/npm-runtime-bundle.service.d.ts.map +0 -1
  639. package/dist/launcher/npm-runtime-bundle.service.js +0 -152
  640. package/dist/launcher/npm-runtime-bundle.service.js.map +0 -1
  641. package/dist/launcher/npm-runtime-bundle.types.d.ts +0 -50
  642. package/dist/launcher/npm-runtime-bundle.types.d.ts.map +0 -1
  643. package/dist/launcher/npm-runtime-update-command.service.d.ts +0 -16
  644. package/dist/launcher/npm-runtime-update-command.service.d.ts.map +0 -1
  645. package/dist/launcher/npm-runtime-update-command.service.js +0 -120
  646. package/dist/launcher/npm-runtime-update-command.service.js.map +0 -1
  647. package/dist/launcher/npm-runtime-update-source.service.d.ts +0 -22
  648. package/dist/launcher/npm-runtime-update-source.service.d.ts.map +0 -1
  649. package/dist/launcher/npm-runtime-update-source.service.js +0 -61
  650. package/dist/launcher/npm-runtime-update-source.service.js.map +0 -1
  651. package/dist/launcher/npm-runtime-update-state.store.d.ts +0 -18
  652. package/dist/launcher/npm-runtime-update-state.store.d.ts.map +0 -1
  653. package/dist/launcher/npm-runtime-update-state.store.js +0 -94
  654. package/dist/launcher/npm-runtime-update-state.store.js.map +0 -1
  655. package/dist/launcher/npm-runtime-update.manager.d.ts +0 -43
  656. package/dist/launcher/npm-runtime-update.manager.d.ts.map +0 -1
  657. package/dist/launcher/npm-runtime-update.manager.js +0 -185
  658. package/dist/launcher/npm-runtime-update.manager.js.map +0 -1
  659. package/dist/launcher/npm-runtime-update.service.d.ts +0 -55
  660. package/dist/launcher/npm-runtime-update.service.d.ts.map +0 -1
  661. package/dist/launcher/npm-runtime-update.service.js +0 -185
  662. package/dist/launcher/npm-runtime-update.service.js.map +0 -1
  663. package/dist/service-runtime.service.d.ts +0 -88
  664. package/dist/service-runtime.service.d.ts.map +0 -1
  665. package/dist/service-runtime.service.js +0 -366
  666. package/dist/service-runtime.service.js.map +0 -1
  667. package/dist/shared/controllers/gateway.controller.d.ts +0 -54
  668. package/dist/shared/controllers/gateway.controller.d.ts.map +0 -1
  669. package/dist/shared/controllers/gateway.controller.js +0 -162
  670. package/dist/shared/controllers/gateway.controller.js.map +0 -1
  671. package/dist/shared/services/gateway/gateway-restart-wake.service.d.ts +0 -13
  672. package/dist/shared/services/gateway/gateway-restart-wake.service.d.ts.map +0 -1
  673. package/dist/shared/services/gateway/gateway-restart-wake.service.js +0 -99
  674. package/dist/shared/services/gateway/gateway-restart-wake.service.js.map +0 -1
  675. package/dist/shared/services/gateway/managers/gateway-extension.manager.d.ts +0 -29
  676. package/dist/shared/services/gateway/managers/gateway-extension.manager.d.ts.map +0 -1
  677. package/dist/shared/services/gateway/managers/gateway-extension.manager.js +0 -78
  678. package/dist/shared/services/gateway/managers/gateway-extension.manager.js.map +0 -1
  679. package/dist/shared/services/gateway/managers/gateway-remote.manager.d.ts +0 -23
  680. package/dist/shared/services/gateway/managers/gateway-remote.manager.d.ts.map +0 -1
  681. package/dist/shared/services/gateway/managers/gateway-remote.manager.js +0 -28
  682. package/dist/shared/services/gateway/managers/gateway-remote.manager.js.map +0 -1
  683. package/dist/shared/services/gateway/nextclaw-app.service.d.ts +0 -18
  684. package/dist/shared/services/gateway/nextclaw-app.service.d.ts.map +0 -1
  685. package/dist/shared/services/gateway/nextclaw-app.service.js +0 -44
  686. package/dist/shared/services/gateway/nextclaw-app.service.js.map +0 -1
  687. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.d.ts +0 -85
  688. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.d.ts.map +0 -1
  689. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.js +0 -278
  690. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.js.map +0 -1
  691. package/dist/shared/services/gateway/service-bootstrap-status.service.d.ts +0 -33
  692. package/dist/shared/services/gateway/service-bootstrap-status.service.d.ts.map +0 -1
  693. package/dist/shared/services/gateway/service-bootstrap-status.service.js +0 -144
  694. package/dist/shared/services/gateway/service-bootstrap-status.service.js.map +0 -1
  695. package/dist/shared/services/gateway/service-startup-support.service.d.ts +0 -35
  696. package/dist/shared/services/gateway/service-startup-support.service.d.ts.map +0 -1
  697. package/dist/shared/services/gateway/service-startup-support.service.js +0 -85
  698. package/dist/shared/services/gateway/service-startup-support.service.js.map +0 -1
  699. package/dist/shared/services/gateway/utils/cron-job-handler.utils.d.ts +0 -18
  700. package/dist/shared/services/gateway/utils/cron-job-handler.utils.d.ts.map +0 -1
  701. package/dist/shared/services/gateway/utils/cron-job-handler.utils.js +0 -56
  702. package/dist/shared/services/gateway/utils/cron-job-handler.utils.js.map +0 -1
  703. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.d.ts +0 -10
  704. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.d.ts.map +0 -1
  705. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.js +0 -12
  706. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.js.map +0 -1
  707. package/dist/shared/services/marketplace/service-marketplace-installer.service.d.ts +0 -29
  708. package/dist/shared/services/marketplace/service-marketplace-installer.service.d.ts.map +0 -1
  709. package/dist/shared/services/marketplace/service-marketplace-installer.service.js +0 -87
  710. package/dist/shared/services/marketplace/service-marketplace-installer.service.js.map +0 -1
  711. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.d.ts +0 -40
  712. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.d.ts.map +0 -1
  713. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.js +0 -69
  714. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.js.map +0 -1
  715. package/dist/shared/services/restart/restart-coordinator.service.d.ts +0 -31
  716. package/dist/shared/services/restart/restart-coordinator.service.d.ts.map +0 -1
  717. package/dist/shared/services/restart/restart-coordinator.service.js +0 -53
  718. package/dist/shared/services/restart/restart-coordinator.service.js.map +0 -1
  719. package/dist/shared/services/restart/runtime-restart-request.service.d.ts +0 -25
  720. package/dist/shared/services/restart/runtime-restart-request.service.d.ts.map +0 -1
  721. package/dist/shared/services/restart/runtime-restart-request.service.js +0 -44
  722. package/dist/shared/services/restart/runtime-restart-request.service.js.map +0 -1
  723. package/dist/shared/services/runtime/managed-service-supervisor.service.d.ts +0 -85
  724. package/dist/shared/services/runtime/managed-service-supervisor.service.d.ts.map +0 -1
  725. package/dist/shared/services/runtime/managed-service-supervisor.service.js +0 -271
  726. package/dist/shared/services/runtime/managed-service-supervisor.service.js.map +0 -1
  727. package/dist/shared/services/runtime/nextclaw-distribution.service.d.ts +0 -11
  728. package/dist/shared/services/runtime/nextclaw-distribution.service.d.ts.map +0 -1
  729. package/dist/shared/services/runtime/nextclaw-distribution.service.js +0 -15
  730. package/dist/shared/services/runtime/nextclaw-distribution.service.js.map +0 -1
  731. package/dist/shared/services/runtime/runtime-command.service.d.ts +0 -42
  732. package/dist/shared/services/runtime/runtime-command.service.d.ts.map +0 -1
  733. package/dist/shared/services/runtime/runtime-command.service.js +0 -195
  734. package/dist/shared/services/runtime/runtime-command.service.js.map +0 -1
  735. package/dist/shared/services/runtime/runtime-config-init.service.d.ts +0 -5
  736. package/dist/shared/services/runtime/runtime-config-init.service.d.ts.map +0 -1
  737. package/dist/shared/services/runtime/runtime-config-init.service.js +0 -12
  738. package/dist/shared/services/runtime/runtime-config-init.service.js.map +0 -1
  739. package/dist/shared/services/runtime/service-managed-startup.service.d.ts +0 -95
  740. package/dist/shared/services/runtime/service-managed-startup.service.d.ts.map +0 -1
  741. package/dist/shared/services/runtime/service-managed-startup.service.js +0 -341
  742. package/dist/shared/services/runtime/service-managed-startup.service.js.map +0 -1
  743. package/dist/shared/services/runtime/utils/managed-service-routing.utils.d.ts +0 -31
  744. package/dist/shared/services/runtime/utils/managed-service-routing.utils.d.ts.map +0 -1
  745. package/dist/shared/services/runtime/utils/managed-service-routing.utils.js +0 -64
  746. package/dist/shared/services/runtime/utils/managed-service-routing.utils.js.map +0 -1
  747. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.d.ts +0 -58
  748. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.d.ts.map +0 -1
  749. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.js +0 -184
  750. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.js.map +0 -1
  751. package/dist/shared/services/ui/companion-runtime.service.d.ts +0 -36
  752. package/dist/shared/services/ui/companion-runtime.service.d.ts.map +0 -1
  753. package/dist/shared/services/ui/companion-runtime.service.js +0 -180
  754. package/dist/shared/services/ui/companion-runtime.service.js.map +0 -1
  755. package/dist/shared/services/ui/local-ui-discovery.service.d.ts +0 -20
  756. package/dist/shared/services/ui/local-ui-discovery.service.d.ts.map +0 -1
  757. package/dist/shared/services/ui/local-ui-discovery.service.js +0 -43
  758. package/dist/shared/services/ui/local-ui-discovery.service.js.map +0 -1
  759. package/dist/shared/services/ui/npm-runtime-update-host.service.d.ts +0 -41
  760. package/dist/shared/services/ui/npm-runtime-update-host.service.d.ts.map +0 -1
  761. package/dist/shared/services/ui/npm-runtime-update-host.service.js +0 -189
  762. package/dist/shared/services/ui/npm-runtime-update-host.service.js.map +0 -1
  763. package/dist/shared/services/ui/runtime-control-host.service.d.ts +0 -29
  764. package/dist/shared/services/ui/runtime-control-host.service.d.ts.map +0 -1
  765. package/dist/shared/services/ui/runtime-control-host.service.js +0 -91
  766. package/dist/shared/services/ui/runtime-control-host.service.js.map +0 -1
  767. package/dist/shared/services/ui/service-remote-access.service.d.ts +0 -26
  768. package/dist/shared/services/ui/service-remote-access.service.d.ts.map +0 -1
  769. package/dist/shared/services/ui/service-remote-access.service.js +0 -40
  770. package/dist/shared/services/ui/service-remote-access.service.js.map +0 -1
  771. package/dist/shared/services/ui/ui-bridge-api.service.d.ts +0 -17
  772. package/dist/shared/services/ui/ui-bridge-api.service.d.ts.map +0 -1
  773. package/dist/shared/services/ui/ui-bridge-api.service.js +0 -45
  774. package/dist/shared/services/ui/ui-bridge-api.service.js.map +0 -1
  775. package/dist/shared/services/workspace/workspace-manager.service.d.ts +0 -14
  776. package/dist/shared/services/workspace/workspace-manager.service.d.ts.map +0 -1
  777. package/dist/shared/services/workspace/workspace-manager.service.js +0 -86
  778. package/dist/shared/services/workspace/workspace-manager.service.js.map +0 -1
  779. package/dist/shared/stores/companion-runtime.store.d.ts +0 -16
  780. package/dist/shared/stores/companion-runtime.store.d.ts.map +0 -1
  781. package/dist/shared/stores/companion-runtime.store.js +0 -29
  782. package/dist/shared/stores/companion-runtime.store.js.map +0 -1
  783. package/dist/shared/stores/local-ui-runtime.store.d.ts +0 -26
  784. package/dist/shared/stores/local-ui-runtime.store.d.ts.map +0 -1
  785. package/dist/shared/stores/local-ui-runtime.store.js +0 -56
  786. package/dist/shared/stores/local-ui-runtime.store.js.map +0 -1
  787. package/dist/shared/stores/managed-service-state.store.d.ts +0 -46
  788. package/dist/shared/stores/managed-service-state.store.d.ts.map +0 -1
  789. package/dist/shared/stores/managed-service-state.store.js +0 -40
  790. package/dist/shared/stores/managed-service-state.store.js.map +0 -1
  791. package/dist/shared/stores/pending-restart.store.d.ts +0 -22
  792. package/dist/shared/stores/pending-restart.store.d.ts.map +0 -1
  793. package/dist/shared/stores/pending-restart.store.js +0 -37
  794. package/dist/shared/stores/pending-restart.store.js.map +0 -1
  795. package/dist/shared/types/cli.types.d.ts +0 -304
  796. package/dist/shared/types/cli.types.d.ts.map +0 -1
  797. package/dist/shared/types/distribution.types.d.ts +0 -11
  798. package/dist/shared/types/distribution.types.d.ts.map +0 -1
  799. package/dist/shared/utils/cli.utils.d.ts +0 -32
  800. package/dist/shared/utils/cli.utils.d.ts.map +0 -1
  801. package/dist/shared/utils/cli.utils.js +0 -254
  802. package/dist/shared/utils/cli.utils.js.map +0 -1
  803. package/dist/shared/utils/config-path.d.ts +0 -16
  804. package/dist/shared/utils/config-path.d.ts.map +0 -1
  805. package/dist/shared/utils/config-path.js +0 -169
  806. package/dist/shared/utils/config-path.js.map +0 -1
  807. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.d.ts +0 -17
  808. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.d.ts.map +0 -1
  809. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.js +0 -48
  810. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.js.map +0 -1
  811. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.d.ts +0 -15
  812. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.d.ts.map +0 -1
  813. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.js +0 -47
  814. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.js.map +0 -1
  815. package/dist/shared/utils/package/package-manifest.utils.d.ts +0 -5
  816. package/dist/shared/utils/package/package-manifest.utils.d.ts.map +0 -1
  817. package/dist/shared/utils/package/package-manifest.utils.js +0 -40
  818. package/dist/shared/utils/package/package-manifest.utils.js.map +0 -1
  819. package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts +0 -5
  820. package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts.map +0 -1
  821. package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js +0 -37
  822. package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js.map +0 -1
  823. package/dist/shared/utils/restart/restart-sentinel.utils.d.ts +0 -37
  824. package/dist/shared/utils/restart/restart-sentinel.utils.d.ts.map +0 -1
  825. package/dist/shared/utils/restart/restart-sentinel.utils.js +0 -76
  826. package/dist/shared/utils/restart/restart-sentinel.utils.js.map +0 -1
  827. package/dist/shared/utils/runtime-helpers.d.ts +0 -15
  828. package/dist/shared/utils/runtime-helpers.d.ts.map +0 -1
  829. package/dist/shared/utils/runtime-helpers.js +0 -28
  830. package/dist/shared/utils/runtime-helpers.js.map +0 -1
  831. package/dist/shared/utils/service-port-probe.utils.d.ts +0 -42
  832. package/dist/shared/utils/service-port-probe.utils.d.ts.map +0 -1
  833. package/dist/shared/utils/service-port-probe.utils.js +0 -166
  834. package/dist/shared/utils/service-port-probe.utils.js.map +0 -1
  835. package/dist/shared/utils/startup-trace.d.ts +0 -8
  836. package/dist/shared/utils/startup-trace.d.ts.map +0 -1
  837. package/dist/shared/utils/startup-trace.js +0 -39
  838. package/dist/shared/utils/startup-trace.js.map +0 -1
  839. package/dist/shared/utils/top-level-nextclaw-command-env.utils.d.ts +0 -5
  840. package/dist/shared/utils/top-level-nextclaw-command-env.utils.d.ts.map +0 -1
  841. package/dist/shared/utils/top-level-nextclaw-command-env.utils.js +0 -12
  842. package/dist/shared/utils/top-level-nextclaw-command-env.utils.js.map +0 -1
  843. /package/dist/{shared/types → types}/cli.types.js +0 -0
  844. /package/dist/{shared/types → types}/distribution.types.js +0 -0
  845. /package/dist/{commands/service/types/autostart → types}/host-autostart.types.js +0 -0
  846. /package/dist/{launcher → types}/npm-runtime-bundle.types.js +0 -0
@@ -0,0 +1,37 @@
1
+ //#region src/utils/restart-sentinel.utils.d.ts
2
+ type RestartSentinelDeliveryContext = {
3
+ channel?: string;
4
+ chatId?: string;
5
+ replyTo?: string | null;
6
+ accountId?: string | null;
7
+ metadata?: Record<string, unknown>;
8
+ };
9
+ type RestartSentinelPayload = {
10
+ kind: "config.apply" | "config.patch" | "update.run" | "restart";
11
+ status: "ok" | "error" | "skipped";
12
+ ts: number;
13
+ sessionKey?: string;
14
+ deliveryContext?: RestartSentinelDeliveryContext;
15
+ message?: string | null;
16
+ stats?: {
17
+ reason?: string | null;
18
+ strategy?: string | null;
19
+ durationMs?: number | null;
20
+ };
21
+ };
22
+ type RestartSentinelFile = {
23
+ version: 1;
24
+ payload: RestartSentinelPayload;
25
+ };
26
+ declare function resolveRestartSentinelPath(): string;
27
+ declare function writeRestartSentinel(payload: RestartSentinelPayload): Promise<string>;
28
+ declare function consumeRestartSentinel(): Promise<RestartSentinelFile | null>;
29
+ declare function summarizeRestartSentinel(payload: RestartSentinelPayload): string;
30
+ declare function formatRestartSentinelMessage(payload: RestartSentinelPayload): string;
31
+ declare function parseSessionKey(sessionKey?: string): {
32
+ channel: string;
33
+ chatId: string;
34
+ } | null;
35
+ //#endregion
36
+ export { RestartSentinelDeliveryContext, RestartSentinelPayload, consumeRestartSentinel, formatRestartSentinelMessage, parseSessionKey, resolveRestartSentinelPath, summarizeRestartSentinel, writeRestartSentinel };
37
+ //# sourceMappingURL=restart-sentinel.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart-sentinel.utils.d.ts","names":[],"sources":["../../src/utils/restart-sentinel.utils.ts"],"mappings":";KAIY,8BAAA;EACV,OAAA;EACA,MAAA;EACA,OAAA;EACA,SAAA;EACA,QAAA,GAAW,MAAA;AAAA;AAAA,KAGD,sBAAA;EACV,IAAA;EACA,MAAA;EACA,EAAA;EACA,UAAA;EACA,eAAA,GAAkB,8BAAA;EAClB,OAAA;EACA,KAAA;IACE,MAAA;IACA,QAAA;IACA,UAAA;EAAA;AAAA;AAAA,KAIC,mBAAA;EACH,OAAA;EACA,OAAA,EAAS,sBAAA;AAAA;AAAA,iBAwBK,0BAAA,CAAA;AAAA,iBAIM,oBAAA,CAAqB,OAAA,EAAS,sBAAA,GAAyB,OAAA;AAAA,iBAWvD,sBAAA,CAAA,GAA0B,OAAA,CAAQ,mBAAA;AAAA,iBAoBxC,wBAAA,CAAyB,OAAA,EAAS,sBAAA;AAAA,iBAkBlC,4BAAA,CAA6B,OAAA,EAAS,sBAAA;AAAA,iBAetC,eAAA,CACd,UAAA;EACG,OAAA;EAAiB,MAAA;AAAA"}
@@ -0,0 +1,76 @@
1
+ import { getRunPath } from "@nextclaw/core";
2
+ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
3
+ import { resolve } from "node:path";
4
+ //#region src/utils/restart-sentinel.utils.ts
5
+ const RESTART_SENTINEL_FILENAME = "restart-sentinel.json";
6
+ const RESTART_REASON_MAX_CHARS = 240;
7
+ const RESTART_NOTE_MAX_CHARS = 600;
8
+ const RESTART_OUTBOUND_MAX_CHARS = 1200;
9
+ function trimTo(value, maxChars) {
10
+ const text = value.trim();
11
+ if (!text) return "";
12
+ if (text.length <= maxChars) return text;
13
+ return `${text.slice(0, Math.max(0, maxChars - 1)).trimEnd()}…`;
14
+ }
15
+ function normalizeLine(value, maxChars) {
16
+ const trimmed = trimTo(value, maxChars);
17
+ return trimmed ? trimmed : null;
18
+ }
19
+ function resolveRestartSentinelPath() {
20
+ return resolve(getRunPath(), RESTART_SENTINEL_FILENAME);
21
+ }
22
+ async function writeRestartSentinel(payload) {
23
+ const path = resolveRestartSentinelPath();
24
+ mkdirSync(resolve(path, ".."), { recursive: true });
25
+ writeFileSync(path, `${JSON.stringify({
26
+ version: 1,
27
+ payload
28
+ }, null, 2)}\n`, "utf-8");
29
+ return path;
30
+ }
31
+ async function consumeRestartSentinel() {
32
+ const path = resolveRestartSentinelPath();
33
+ if (!existsSync(path)) return null;
34
+ try {
35
+ const raw = readFileSync(path, "utf-8");
36
+ const parsed = JSON.parse(raw);
37
+ if (!parsed || parsed.version !== 1 || !parsed.payload) {
38
+ rmSync(path, { force: true });
39
+ return null;
40
+ }
41
+ rmSync(path, { force: true });
42
+ return parsed;
43
+ } catch {
44
+ rmSync(path, { force: true });
45
+ return null;
46
+ }
47
+ }
48
+ function summarizeRestartSentinel(payload) {
49
+ const reason = normalizeLine(payload.stats?.reason ?? "", RESTART_REASON_MAX_CHARS);
50
+ if (payload.kind === "update.run") return payload.status === "ok" ? "✅ NextClaw update completed and service restarted." : "⚠️ NextClaw update finished with issues.";
51
+ if (payload.kind === "config.apply" || payload.kind === "config.patch") return payload.status === "ok" ? "✅ Config applied and service restarted." : "⚠️ Config change restart finished with issues.";
52
+ if (reason) return `Gateway restart complete (${reason}).`;
53
+ return "Gateway restart complete.";
54
+ }
55
+ function formatRestartSentinelMessage(payload) {
56
+ const lines = [summarizeRestartSentinel(payload)];
57
+ const note = normalizeLine(payload.message ?? "", RESTART_NOTE_MAX_CHARS);
58
+ if (note) lines.push(note);
59
+ const reason = normalizeLine(payload.stats?.reason ?? "", RESTART_REASON_MAX_CHARS);
60
+ if (reason && !lines.some((line) => line.includes(reason))) lines.push(`Reason: ${reason}`);
61
+ return trimTo(lines.join("\n").trim(), RESTART_OUTBOUND_MAX_CHARS);
62
+ }
63
+ function parseSessionKey(sessionKey) {
64
+ const value = sessionKey?.trim();
65
+ if (!value) return null;
66
+ const separator = value.indexOf(":");
67
+ if (separator <= 0 || separator >= value.length - 1) return null;
68
+ return {
69
+ channel: value.slice(0, separator),
70
+ chatId: value.slice(separator + 1)
71
+ };
72
+ }
73
+ //#endregion
74
+ export { consumeRestartSentinel, formatRestartSentinelMessage, parseSessionKey, resolveRestartSentinelPath, summarizeRestartSentinel, writeRestartSentinel };
75
+
76
+ //# sourceMappingURL=restart-sentinel.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart-sentinel.utils.js","names":[],"sources":["../../src/utils/restart-sentinel.utils.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { getRunPath } from \"@nextclaw/core\";\n\nexport type RestartSentinelDeliveryContext = {\n channel?: string;\n chatId?: string;\n replyTo?: string | null;\n accountId?: string | null;\n metadata?: Record<string, unknown>;\n};\n\nexport type RestartSentinelPayload = {\n kind: \"config.apply\" | \"config.patch\" | \"update.run\" | \"restart\";\n status: \"ok\" | \"error\" | \"skipped\";\n ts: number;\n sessionKey?: string;\n deliveryContext?: RestartSentinelDeliveryContext;\n message?: string | null;\n stats?: {\n reason?: string | null;\n strategy?: string | null;\n durationMs?: number | null;\n };\n};\n\ntype RestartSentinelFile = {\n version: 1;\n payload: RestartSentinelPayload;\n};\n\nconst RESTART_SENTINEL_FILENAME = \"restart-sentinel.json\";\nconst RESTART_REASON_MAX_CHARS = 240;\nconst RESTART_NOTE_MAX_CHARS = 600;\nconst RESTART_OUTBOUND_MAX_CHARS = 1200;\n\nfunction trimTo(value: string, maxChars: number): string {\n const text = value.trim();\n if (!text) {\n return \"\";\n }\n if (text.length <= maxChars) {\n return text;\n }\n return `${text.slice(0, Math.max(0, maxChars - 1)).trimEnd()}…`;\n}\n\nfunction normalizeLine(value: string, maxChars: number): string | null {\n const trimmed = trimTo(value, maxChars);\n return trimmed ? trimmed : null;\n}\n\nexport function resolveRestartSentinelPath(): string {\n return resolve(getRunPath(), RESTART_SENTINEL_FILENAME);\n}\n\nexport async function writeRestartSentinel(payload: RestartSentinelPayload): Promise<string> {\n const path = resolveRestartSentinelPath();\n mkdirSync(resolve(path, \"..\"), { recursive: true });\n const file: RestartSentinelFile = {\n version: 1,\n payload\n };\n writeFileSync(path, `${JSON.stringify(file, null, 2)}\\n`, \"utf-8\");\n return path;\n}\n\nexport async function consumeRestartSentinel(): Promise<RestartSentinelFile | null> {\n const path = resolveRestartSentinelPath();\n if (!existsSync(path)) {\n return null;\n }\n try {\n const raw = readFileSync(path, \"utf-8\");\n const parsed = JSON.parse(raw) as RestartSentinelFile;\n if (!parsed || parsed.version !== 1 || !parsed.payload) {\n rmSync(path, { force: true });\n return null;\n }\n rmSync(path, { force: true });\n return parsed;\n } catch {\n rmSync(path, { force: true });\n return null;\n }\n}\n\nexport function summarizeRestartSentinel(payload: RestartSentinelPayload): string {\n const reason = normalizeLine(payload.stats?.reason ?? \"\", RESTART_REASON_MAX_CHARS);\n if (payload.kind === \"update.run\") {\n return payload.status === \"ok\"\n ? \"✅ NextClaw update completed and service restarted.\"\n : \"⚠️ NextClaw update finished with issues.\";\n }\n if (payload.kind === \"config.apply\" || payload.kind === \"config.patch\") {\n return payload.status === \"ok\"\n ? \"✅ Config applied and service restarted.\"\n : \"⚠️ Config change restart finished with issues.\";\n }\n if (reason) {\n return `Gateway restart complete (${reason}).`;\n }\n return \"Gateway restart complete.\";\n}\n\nexport function formatRestartSentinelMessage(payload: RestartSentinelPayload): string {\n const lines = [summarizeRestartSentinel(payload)];\n const note = normalizeLine(payload.message ?? \"\", RESTART_NOTE_MAX_CHARS);\n if (note) {\n lines.push(note);\n }\n const reason = normalizeLine(payload.stats?.reason ?? \"\", RESTART_REASON_MAX_CHARS);\n if (reason && !lines.some((line) => line.includes(reason))) {\n lines.push(`Reason: ${reason}`);\n }\n\n const message = lines.join(\"\\n\").trim();\n return trimTo(message, RESTART_OUTBOUND_MAX_CHARS);\n}\n\nexport function parseSessionKey(\n sessionKey?: string\n): { channel: string; chatId: string } | null {\n const value = sessionKey?.trim();\n if (!value) {\n return null;\n }\n const separator = value.indexOf(\":\");\n if (separator <= 0 || separator >= value.length - 1) {\n return null;\n }\n return {\n channel: value.slice(0, separator),\n chatId: value.slice(separator + 1)\n };\n}\n"],"mappings":";;;;AA+BA,MAAM,4BAA4B;AAClC,MAAM,2BAA2B;AACjC,MAAM,yBAAyB;AAC/B,MAAM,6BAA6B;AAEnC,SAAS,OAAO,OAAe,UAA0B;CACvD,MAAM,OAAO,MAAM,MAAM;AACzB,KAAI,CAAC,KACH,QAAO;AAET,KAAI,KAAK,UAAU,SACjB,QAAO;AAET,QAAO,GAAG,KAAK,MAAM,GAAG,KAAK,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;;AAG/D,SAAS,cAAc,OAAe,UAAiC;CACrE,MAAM,UAAU,OAAO,OAAO,SAAS;AACvC,QAAO,UAAU,UAAU;;AAG7B,SAAgB,6BAAqC;AACnD,QAAO,QAAQ,YAAY,EAAE,0BAA0B;;AAGzD,eAAsB,qBAAqB,SAAkD;CAC3F,MAAM,OAAO,4BAA4B;AACzC,WAAU,QAAQ,MAAM,KAAK,EAAE,EAAE,WAAW,MAAM,CAAC;AAKnD,eAAc,MAAM,GAAG,KAAK,UAJM;EAChC,SAAS;EACT;EACD,EAC2C,MAAM,EAAE,CAAC,KAAK,QAAQ;AAClE,QAAO;;AAGT,eAAsB,yBAA8D;CAClF,MAAM,OAAO,4BAA4B;AACzC,KAAI,CAAC,WAAW,KAAK,CACnB,QAAO;AAET,KAAI;EACF,MAAM,MAAM,aAAa,MAAM,QAAQ;EACvC,MAAM,SAAS,KAAK,MAAM,IAAI;AAC9B,MAAI,CAAC,UAAU,OAAO,YAAY,KAAK,CAAC,OAAO,SAAS;AACtD,UAAO,MAAM,EAAE,OAAO,MAAM,CAAC;AAC7B,UAAO;;AAET,SAAO,MAAM,EAAE,OAAO,MAAM,CAAC;AAC7B,SAAO;SACD;AACN,SAAO,MAAM,EAAE,OAAO,MAAM,CAAC;AAC7B,SAAO;;;AAIX,SAAgB,yBAAyB,SAAyC;CAChF,MAAM,SAAS,cAAc,QAAQ,OAAO,UAAU,IAAI,yBAAyB;AACnF,KAAI,QAAQ,SAAS,aACnB,QAAO,QAAQ,WAAW,OACtB,uDACA;AAEN,KAAI,QAAQ,SAAS,kBAAkB,QAAQ,SAAS,eACtD,QAAO,QAAQ,WAAW,OACtB,4CACA;AAEN,KAAI,OACF,QAAO,6BAA6B,OAAO;AAE7C,QAAO;;AAGT,SAAgB,6BAA6B,SAAyC;CACpF,MAAM,QAAQ,CAAC,yBAAyB,QAAQ,CAAC;CACjD,MAAM,OAAO,cAAc,QAAQ,WAAW,IAAI,uBAAuB;AACzE,KAAI,KACF,OAAM,KAAK,KAAK;CAElB,MAAM,SAAS,cAAc,QAAQ,OAAO,UAAU,IAAI,yBAAyB;AACnF,KAAI,UAAU,CAAC,MAAM,MAAM,SAAS,KAAK,SAAS,OAAO,CAAC,CACxD,OAAM,KAAK,WAAW,SAAS;AAIjC,QAAO,OADS,MAAM,KAAK,KAAK,CAAC,MAAM,EAChB,2BAA2B;;AAGpD,SAAgB,gBACd,YAC4C;CAC5C,MAAM,QAAQ,YAAY,MAAM;AAChC,KAAI,CAAC,MACH,QAAO;CAET,MAAM,YAAY,MAAM,QAAQ,IAAI;AACpC,KAAI,aAAa,KAAK,aAAa,MAAM,SAAS,EAChD,QAAO;AAET,QAAO;EACL,SAAS,MAAM,MAAM,GAAG,UAAU;EAClC,QAAQ,MAAM,MAAM,YAAY,EAAE;EACnC"}
@@ -0,0 +1,31 @@
1
+ import { ManagedServiceState } from "../../stores/managed-service-state.store.js";
2
+ import { localUiRuntimeStore } from "../../stores/local-ui-runtime.store.js";
3
+
4
+ //#region src/utils/runtime/managed-service-routing.utils.d.ts
5
+ type ManagedServiceSnapshot = {
6
+ pid: number;
7
+ uiUrl: string;
8
+ apiUrl: string;
9
+ uiHost: string;
10
+ uiPort: number;
11
+ logPath: string;
12
+ };
13
+ declare function resolveManagedServiceReadySnapshot(params: {
14
+ snapshot: ManagedServiceSnapshot;
15
+ readLocalUiRuntimeState?: typeof localUiRuntimeStore.read;
16
+ isProcessRunningFn?: (pid: number) => boolean;
17
+ }): ManagedServiceSnapshot;
18
+ declare function resolveManagedServiceUiBinding(state: ManagedServiceState): {
19
+ host: string;
20
+ port: number;
21
+ };
22
+ declare function resolveSessionRouteCandidate(params: {
23
+ session: unknown;
24
+ normalizeOptionalString: (value: unknown) => string | undefined;
25
+ }): {
26
+ key: string;
27
+ updatedAt: number;
28
+ } | null;
29
+ //#endregion
30
+ export { ManagedServiceSnapshot, resolveManagedServiceReadySnapshot, resolveManagedServiceUiBinding, resolveSessionRouteCandidate };
31
+ //# sourceMappingURL=managed-service-routing.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-service-routing.utils.d.ts","names":[],"sources":["../../../src/utils/runtime/managed-service-routing.utils.ts"],"mappings":";;;;KAIY,sBAAA;EACV,GAAA;EACA,KAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,OAAA;AAAA;AAAA,iBAGc,kCAAA,CAAmC,MAAA;EACjD,QAAA,EAAU,sBAAA;EACV,uBAAA,UAAiC,mBAAA,CAAoB,IAAA;EACrD,kBAAA,IAAsB,GAAA;AAAA,IACpB,sBAAA;AAAA,iBA6CY,8BAAA,CAA+B,KAAA,EAAO,mBAAA;EACpD,IAAA;EACA,IAAA;AAAA;AAAA,iBAiBc,4BAAA,CAA6B,MAAA;EAC3C,OAAA;EACA,uBAAA,GAA0B,KAAA;AAAA;EACtB,GAAA;EAAa,SAAA;AAAA"}
@@ -0,0 +1,64 @@
1
+ import { isProcessRunning } from "../cli.utils.js";
2
+ import { localUiRuntimeStore } from "../../stores/local-ui-runtime.store.js";
3
+ import "../../stores/managed-service-state.store.js";
4
+ //#region src/utils/runtime/managed-service-routing.utils.ts
5
+ function resolveManagedServiceReadySnapshot(params) {
6
+ const { snapshot, readLocalUiRuntimeState, isProcessRunningFn: providedIsProcessRunningFn } = params;
7
+ const localUiRuntimeState = (readLocalUiRuntimeState ?? localUiRuntimeStore.read)();
8
+ const isProcessRunningFn = providedIsProcessRunningFn ?? isProcessRunning;
9
+ if (!localUiRuntimeState || typeof localUiRuntimeState.pid !== "number" || !Number.isFinite(localUiRuntimeState.pid) || localUiRuntimeState.uiPort !== snapshot.uiPort || !isProcessRunningFn(localUiRuntimeState.pid)) return snapshot;
10
+ return {
11
+ ...snapshot,
12
+ pid: localUiRuntimeState.pid,
13
+ uiUrl: localUiRuntimeState.uiUrl,
14
+ apiUrl: localUiRuntimeState.apiUrl,
15
+ uiHost: localUiRuntimeState.uiHost ?? snapshot.uiHost,
16
+ uiPort: localUiRuntimeState.uiPort ?? snapshot.uiPort
17
+ };
18
+ }
19
+ function toObjectRecord(value) {
20
+ if (!value || typeof value !== "object" || Array.isArray(value)) return null;
21
+ return value;
22
+ }
23
+ function hasSessionRoutingMetadata(params) {
24
+ const { metadata, normalizeOptionalString } = params;
25
+ const context = toObjectRecord(metadata.last_delivery_context) ?? {};
26
+ const hasPrimaryRoute = Boolean(normalizeOptionalString(context.channel)) && Boolean(normalizeOptionalString(context.chatId));
27
+ const hasFallbackRoute = Boolean(normalizeOptionalString(metadata.last_channel)) && Boolean(normalizeOptionalString(metadata.last_to));
28
+ return hasPrimaryRoute || hasFallbackRoute;
29
+ }
30
+ function resolveManagedServiceUiBinding(state) {
31
+ try {
32
+ const parsed = new URL(state.uiUrl);
33
+ const parsedPort = Number(parsed.port || 80);
34
+ return {
35
+ host: state.uiHost ?? parsed.hostname,
36
+ port: Number.isFinite(parsedPort) ? parsedPort : state.uiPort ?? 55667
37
+ };
38
+ } catch {
39
+ return {
40
+ host: state.uiHost ?? "127.0.0.1",
41
+ port: state.uiPort ?? 55667
42
+ };
43
+ }
44
+ }
45
+ function resolveSessionRouteCandidate(params) {
46
+ const { session, normalizeOptionalString } = params;
47
+ const sessionRecord = toObjectRecord(session);
48
+ const key = normalizeOptionalString(sessionRecord?.key);
49
+ if (!key || key.startsWith("cli:")) return null;
50
+ if (!hasSessionRoutingMetadata({
51
+ metadata: toObjectRecord(sessionRecord?.metadata) ?? {},
52
+ normalizeOptionalString
53
+ })) return null;
54
+ const updatedAtRaw = normalizeOptionalString(sessionRecord?.updated_at);
55
+ const updatedAt = updatedAtRaw ? Date.parse(updatedAtRaw) : NaN;
56
+ return {
57
+ key,
58
+ updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0
59
+ };
60
+ }
61
+ //#endregion
62
+ export { resolveManagedServiceReadySnapshot, resolveManagedServiceUiBinding, resolveSessionRouteCandidate };
63
+
64
+ //# sourceMappingURL=managed-service-routing.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-service-routing.utils.js","names":[],"sources":["../../../src/utils/runtime/managed-service-routing.utils.ts"],"sourcesContent":["import { type ManagedServiceState } from \"@nextclaw-service/stores/managed-service-state.store.js\";\nimport { localUiRuntimeStore } from \"@nextclaw-service/stores/local-ui-runtime.store.js\";\nimport { isProcessRunning } from \"@nextclaw-service/utils/cli.utils.js\";\n\nexport type ManagedServiceSnapshot = {\n pid: number;\n uiUrl: string;\n apiUrl: string;\n uiHost: string;\n uiPort: number;\n logPath: string;\n};\n\nexport function resolveManagedServiceReadySnapshot(params: {\n snapshot: ManagedServiceSnapshot;\n readLocalUiRuntimeState?: typeof localUiRuntimeStore.read;\n isProcessRunningFn?: (pid: number) => boolean;\n}): ManagedServiceSnapshot {\n const { snapshot, readLocalUiRuntimeState, isProcessRunningFn: providedIsProcessRunningFn } = params;\n const localUiRuntimeState = (readLocalUiRuntimeState ?? localUiRuntimeStore.read)();\n const isProcessRunningFn = providedIsProcessRunningFn ?? isProcessRunning;\n if (\n !localUiRuntimeState\n || typeof localUiRuntimeState.pid !== \"number\"\n || !Number.isFinite(localUiRuntimeState.pid)\n || localUiRuntimeState.uiPort !== snapshot.uiPort\n || !isProcessRunningFn(localUiRuntimeState.pid)\n ) {\n return snapshot;\n }\n return {\n ...snapshot,\n pid: localUiRuntimeState.pid,\n uiUrl: localUiRuntimeState.uiUrl,\n apiUrl: localUiRuntimeState.apiUrl,\n uiHost: localUiRuntimeState.uiHost ?? snapshot.uiHost,\n uiPort: localUiRuntimeState.uiPort ?? snapshot.uiPort\n };\n}\n\nfunction toObjectRecord(value: unknown): Record<string, unknown> | null {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n return null;\n }\n return value as Record<string, unknown>;\n}\n\nfunction hasSessionRoutingMetadata(params: {\n metadata: Record<string, unknown>;\n normalizeOptionalString: (value: unknown) => string | undefined;\n}): boolean {\n const { metadata, normalizeOptionalString } = params;\n const context = toObjectRecord(metadata.last_delivery_context) ?? {};\n const hasPrimaryRoute =\n Boolean(normalizeOptionalString(context.channel)) &&\n Boolean(normalizeOptionalString(context.chatId));\n const hasFallbackRoute =\n Boolean(normalizeOptionalString(metadata.last_channel)) &&\n Boolean(normalizeOptionalString(metadata.last_to));\n return hasPrimaryRoute || hasFallbackRoute;\n}\n\nexport function resolveManagedServiceUiBinding(state: ManagedServiceState): {\n host: string;\n port: number;\n} {\n try {\n const parsed = new URL(state.uiUrl);\n const parsedPort = Number(parsed.port || 80);\n return {\n host: state.uiHost ?? parsed.hostname,\n port: Number.isFinite(parsedPort) ? parsedPort : state.uiPort ?? 55667\n };\n } catch {\n return {\n host: state.uiHost ?? \"127.0.0.1\",\n port: state.uiPort ?? 55667\n };\n }\n}\n\nexport function resolveSessionRouteCandidate(params: {\n session: unknown;\n normalizeOptionalString: (value: unknown) => string | undefined;\n}): { key: string; updatedAt: number } | null {\n const { session, normalizeOptionalString } = params;\n const sessionRecord = toObjectRecord(session);\n const key = normalizeOptionalString(sessionRecord?.key);\n if (!key || key.startsWith(\"cli:\")) {\n return null;\n }\n const metadata = toObjectRecord(sessionRecord?.metadata) ?? {};\n if (!hasSessionRoutingMetadata({ metadata, normalizeOptionalString })) {\n return null;\n }\n const updatedAtRaw = normalizeOptionalString(sessionRecord?.updated_at);\n const updatedAt = updatedAtRaw ? Date.parse(updatedAtRaw) : Number.NaN;\n return {\n key,\n updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0\n };\n}\n"],"mappings":";;;;AAaA,SAAgB,mCAAmC,QAIxB;CACzB,MAAM,EAAE,UAAU,yBAAyB,oBAAoB,+BAA+B;CAC9F,MAAM,uBAAuB,2BAA2B,oBAAoB,OAAO;CACnF,MAAM,qBAAqB,8BAA8B;AACzD,KACE,CAAC,uBACE,OAAO,oBAAoB,QAAQ,YACnC,CAAC,OAAO,SAAS,oBAAoB,IAAI,IACzC,oBAAoB,WAAW,SAAS,UACxC,CAAC,mBAAmB,oBAAoB,IAAI,CAE/C,QAAO;AAET,QAAO;EACL,GAAG;EACH,KAAK,oBAAoB;EACzB,OAAO,oBAAoB;EAC3B,QAAQ,oBAAoB;EAC5B,QAAQ,oBAAoB,UAAU,SAAS;EAC/C,QAAQ,oBAAoB,UAAU,SAAS;EAChD;;AAGH,SAAS,eAAe,OAAgD;AACtE,KAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CAC7D,QAAO;AAET,QAAO;;AAGT,SAAS,0BAA0B,QAGvB;CACV,MAAM,EAAE,UAAU,4BAA4B;CAC9C,MAAM,UAAU,eAAe,SAAS,sBAAsB,IAAI,EAAE;CACpE,MAAM,kBACJ,QAAQ,wBAAwB,QAAQ,QAAQ,CAAC,IACjD,QAAQ,wBAAwB,QAAQ,OAAO,CAAC;CAClD,MAAM,mBACJ,QAAQ,wBAAwB,SAAS,aAAa,CAAC,IACvD,QAAQ,wBAAwB,SAAS,QAAQ,CAAC;AACpD,QAAO,mBAAmB;;AAG5B,SAAgB,+BAA+B,OAG7C;AACA,KAAI;EACF,MAAM,SAAS,IAAI,IAAI,MAAM,MAAM;EACnC,MAAM,aAAa,OAAO,OAAO,QAAQ,GAAG;AAC5C,SAAO;GACL,MAAM,MAAM,UAAU,OAAO;GAC7B,MAAM,OAAO,SAAS,WAAW,GAAG,aAAa,MAAM,UAAU;GAClE;SACK;AACN,SAAO;GACL,MAAM,MAAM,UAAU;GACtB,MAAM,MAAM,UAAU;GACvB;;;AAIL,SAAgB,6BAA6B,QAGC;CAC5C,MAAM,EAAE,SAAS,4BAA4B;CAC7C,MAAM,gBAAgB,eAAe,QAAQ;CAC7C,MAAM,MAAM,wBAAwB,eAAe,IAAI;AACvD,KAAI,CAAC,OAAO,IAAI,WAAW,OAAO,CAChC,QAAO;AAGT,KAAI,CAAC,0BAA0B;EAAE,UADhB,eAAe,eAAe,SAAS,IAAI,EAAE;EACnB;EAAyB,CAAC,CACnE,QAAO;CAET,MAAM,eAAe,wBAAwB,eAAe,WAAW;CACvE,MAAM,YAAY,eAAe,KAAK,MAAM,aAAa,GAAG;AAC5D,QAAO;EACL;EACA,WAAW,OAAO,SAAS,UAAU,GAAG,YAAY;EACrD"}
@@ -0,0 +1,58 @@
1
+ import { ManagedServiceLease, ManagedServiceState } from "../../stores/managed-service-state.store.js";
2
+ import { Config } from "@nextclaw/core";
3
+ import { RemoteRuntimeState, RemoteServiceModule } from "@nextclaw/remote";
4
+
5
+ //#region src/utils/runtime/service-remote-runtime.utils.d.ts
6
+ type ManagedServiceSnapshot = {
7
+ pid: number;
8
+ uiUrl: string;
9
+ apiUrl: string;
10
+ uiHost: string;
11
+ uiPort: number;
12
+ logPath: string;
13
+ };
14
+ type RemoteRuntimeOwnershipClaim = {
15
+ ok: true;
16
+ release: () => void;
17
+ } | {
18
+ ok: false;
19
+ error: string;
20
+ };
21
+ declare function claimManagedRemoteRuntimeOwnership(params: {
22
+ localOrigin: string;
23
+ lockPath?: string;
24
+ currentPid?: number;
25
+ now?: () => string;
26
+ isProcessRunningFn?: (pid: number) => boolean;
27
+ readServiceStateFn?: () => ManagedServiceState | null;
28
+ }): RemoteRuntimeOwnershipClaim;
29
+ declare function createManagedRemoteModule(params: {
30
+ loadConfig: () => Config;
31
+ uiEnabled: boolean;
32
+ localOrigin: string;
33
+ onRemoteStateChange?: (state: RemoteRuntimeState) => void;
34
+ }): RemoteServiceModule | null;
35
+ declare function createManagedRemoteModuleForUi(params: {
36
+ loadConfig: () => Config;
37
+ uiConfig: Pick<Config["ui"], "enabled" | "host" | "port">;
38
+ localOriginOverride?: string;
39
+ onRemoteStateChange?: (state: RemoteRuntimeState) => void;
40
+ }): RemoteServiceModule | null;
41
+ declare function writeInitialManagedServiceState(params: {
42
+ config: Config;
43
+ lease?: ManagedServiceLease;
44
+ readinessTimeoutMs: number;
45
+ snapshot: ManagedServiceSnapshot;
46
+ }): void;
47
+ declare function writeReadyManagedServiceState(params: {
48
+ lease?: ManagedServiceLease;
49
+ readinessTimeoutMs: number;
50
+ readiness: {
51
+ ready: boolean;
52
+ lastProbeError: string | null;
53
+ };
54
+ snapshot: ManagedServiceSnapshot;
55
+ }): ManagedServiceState;
56
+ //#endregion
57
+ export { claimManagedRemoteRuntimeOwnership, createManagedRemoteModule, createManagedRemoteModuleForUi, writeInitialManagedServiceState, writeReadyManagedServiceState };
58
+ //# sourceMappingURL=service-remote-runtime.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-remote-runtime.utils.d.ts","names":[],"sources":["../../../src/utils/runtime/service-remote-runtime.utils.ts"],"mappings":";;;;;KA0BK,sBAAA;EACH,GAAA;EACA,KAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,OAAA;AAAA;AAAA,KASG,2BAAA;EAAgC,EAAA;EAAU,OAAA;AAAA;EAA0B,EAAA;EAAW,KAAA;AAAA;AAAA,iBA4IpE,kCAAA,CAAmC,MAAA;EACjD,WAAA;EACA,QAAA;EACA,UAAA;EACA,GAAA;EACA,kBAAA,IAAsB,GAAA;EACtB,kBAAA,SAA2B,mBAAA;AAAA,IACzB,2BAAA;AAAA,iBAuCY,yBAAA,CAA0B,MAAA;EACxC,UAAA,QAAkB,MAAA;EAClB,SAAA;EACA,WAAA;EACA,mBAAA,IAAuB,KAAA,EAAO,kBAAA;AAAA,IAC5B,mBAAA;AAAA,iBAoBY,8BAAA,CAA+B,MAAA;EAC7C,UAAA,QAAkB,MAAA;EAClB,QAAA,EAAU,IAAA,CAAK,MAAA;EACf,mBAAA;EAA8B,mBAAA,IAAuB,KAAA,EAAO,kBAAA;AAAA,IAC1D,mBAAA;AAAA,iBAcY,+BAAA,CAAgC,MAAA;EAC9C,MAAA,EAAQ,MAAA;EACR,KAAA,GAAQ,mBAAA;EACR,kBAAA;EACA,QAAA,EAAU,sBAAA;AAAA;AAAA,iBAmBI,6BAAA,CAA8B,MAAA;EAC5C,KAAA,GAAQ,mBAAA;EACR,kBAAA;EACA,SAAA;IAAa,KAAA;IAAgB,cAAA;EAAA;EAC7B,QAAA,EAAU,sBAAA;AAAA,IACR,mBAAA"}
@@ -0,0 +1,184 @@
1
+ import { isProcessRunning, resolveUiApiBase } from "../cli.utils.js";
2
+ import { managedServiceStateStore } from "../../stores/managed-service-state.store.js";
3
+ import { buildNextclawConfiguredRemoteState, createNextclawRemoteConnector, createNextclawRemoteStatusStore } from "../remote/remote-runtime-support.utils.js";
4
+ import { getRunPath } from "@nextclaw/core";
5
+ import { closeSync, existsSync, mkdirSync, openSync, readFileSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
6
+ import { dirname, resolve } from "node:path";
7
+ import { RemoteServiceModule } from "@nextclaw/remote";
8
+ //#region src/utils/runtime/service-remote-runtime.utils.ts
9
+ function resolveRemoteOwnershipLockPath() {
10
+ return resolve(getRunPath(), "remote-owner.lock.json");
11
+ }
12
+ function readRemoteOwnershipRecord(lockPath) {
13
+ try {
14
+ const raw = JSON.parse(readFileSync(lockPath, "utf-8"));
15
+ if (typeof raw.pid !== "number" || !Number.isFinite(raw.pid)) return null;
16
+ return {
17
+ pid: raw.pid,
18
+ localOrigin: typeof raw.localOrigin === "string" ? raw.localOrigin : "",
19
+ claimedAt: typeof raw.claimedAt === "string" ? raw.claimedAt : ""
20
+ };
21
+ } catch {
22
+ return null;
23
+ }
24
+ }
25
+ function removeRemoteOwnershipLock(lockPath) {
26
+ if (!existsSync(lockPath)) return;
27
+ try {
28
+ unlinkSync(lockPath);
29
+ } catch {
30
+ try {
31
+ rmSync(lockPath, { force: true });
32
+ } catch {}
33
+ }
34
+ }
35
+ function buildManagedServiceOwnershipError(params) {
36
+ return `Remote access is already owned by running NextClaw service PID ${params.pid}${params.ownerOrigin ? ` (${params.ownerOrigin})` : ""}. Stop that service or disable remote there before starting another process with the same NEXTCLAW_HOME.`;
37
+ }
38
+ function buildLocalProcessOwnershipError(record) {
39
+ const originText = record.localOrigin ? ` (${record.localOrigin})` : "";
40
+ return `Remote access is already owned by local NextClaw process PID ${record.pid}${originText}. Stop that process or use a different NEXTCLAW_HOME before starting another remote-enabled process.`;
41
+ }
42
+ function createRemoteOwnershipRelease(params) {
43
+ let released = false;
44
+ return () => {
45
+ if (released) return;
46
+ released = true;
47
+ const current = readRemoteOwnershipRecord(params.lockPath);
48
+ if (!current || current.pid === params.claim.pid && current.claimedAt === params.claim.claimedAt) removeRemoteOwnershipLock(params.lockPath);
49
+ };
50
+ }
51
+ function detectManagedRemoteOwnershipConflict(params) {
52
+ const runningService = params.readServiceStateFn();
53
+ if (!runningService || runningService.pid === params.currentPid || !params.isProcessRunningFn(runningService.pid) || !runningService.remote?.enabled) return null;
54
+ return buildManagedServiceOwnershipError({
55
+ pid: runningService.pid,
56
+ ownerOrigin: runningService.remote.localOrigin ?? runningService.uiUrl
57
+ });
58
+ }
59
+ function tryClaimRemoteOwnershipLock(params) {
60
+ const { claim, currentPid, isProcessRunningFn, lockPath } = params;
61
+ for (let attempt = 0; attempt < 2; attempt += 1) try {
62
+ const fd = openSync(lockPath, "wx");
63
+ writeFileSync(fd, `${JSON.stringify(claim, null, 2)}\n`, "utf-8");
64
+ closeSync(fd);
65
+ return {
66
+ ok: true,
67
+ release: createRemoteOwnershipRelease({
68
+ lockPath,
69
+ claim
70
+ })
71
+ };
72
+ } catch (error) {
73
+ if ((typeof error === "object" && error && "code" in error ? String(error.code) : "") !== "EEXIST") return {
74
+ ok: false,
75
+ error: `Failed to claim local remote runtime ownership: ${error instanceof Error ? error.message : String(error)}`
76
+ };
77
+ const existing = readRemoteOwnershipRecord(lockPath);
78
+ if (existing && existing.pid !== currentPid && isProcessRunningFn(existing.pid)) return {
79
+ ok: false,
80
+ error: buildLocalProcessOwnershipError(existing)
81
+ };
82
+ removeRemoteOwnershipLock(lockPath);
83
+ }
84
+ return {
85
+ ok: false,
86
+ error: "Failed to claim local remote runtime ownership after clearing a stale lock."
87
+ };
88
+ }
89
+ function claimManagedRemoteRuntimeOwnership(params) {
90
+ const { localOrigin, lockPath: lockPathOverride, currentPid: currentPidOverride, now: nowOverride, isProcessRunningFn: isProcessRunningOverride, readServiceStateFn: readServiceStateOverride } = params;
91
+ const lockPath = lockPathOverride ?? resolveRemoteOwnershipLockPath();
92
+ const currentPid = currentPidOverride ?? process.pid;
93
+ const now = nowOverride ?? (() => (/* @__PURE__ */ new Date()).toISOString());
94
+ const isProcessRunningFn = isProcessRunningOverride ?? isProcessRunning;
95
+ const managedConflict = detectManagedRemoteOwnershipConflict({
96
+ currentPid,
97
+ isProcessRunningFn,
98
+ readServiceStateFn: readServiceStateOverride ?? managedServiceStateStore.read
99
+ });
100
+ if (managedConflict) return {
101
+ ok: false,
102
+ error: managedConflict
103
+ };
104
+ mkdirSync(dirname(lockPath), { recursive: true });
105
+ return tryClaimRemoteOwnershipLock({
106
+ lockPath,
107
+ claim: {
108
+ pid: currentPid,
109
+ localOrigin,
110
+ claimedAt: now()
111
+ },
112
+ currentPid,
113
+ isProcessRunningFn
114
+ });
115
+ }
116
+ function createManagedRemoteModule(params) {
117
+ const { loadConfig, localOrigin, onRemoteStateChange, uiEnabled } = params;
118
+ if (!uiEnabled) return null;
119
+ return new RemoteServiceModule({
120
+ loadConfig,
121
+ uiEnabled,
122
+ localOrigin,
123
+ statusStore: createNextclawRemoteStatusStore("service", onRemoteStateChange),
124
+ createConnector: (logger) => createNextclawRemoteConnector({ logger }),
125
+ claimOwnership: () => claimManagedRemoteRuntimeOwnership({ localOrigin }),
126
+ logger: {
127
+ info: (message) => console.log(`[remote] ${message}`),
128
+ warn: (message) => console.warn(`[remote] ${message}`),
129
+ error: (message) => console.error(`[remote] ${message}`)
130
+ }
131
+ });
132
+ }
133
+ function createManagedRemoteModuleForUi(params) {
134
+ const { loadConfig, localOriginOverride, onRemoteStateChange, uiConfig } = params;
135
+ const explicitLocalOrigin = localOriginOverride?.trim() ?? process.env.NEXTCLAW_REMOTE_LOCAL_ORIGIN?.trim();
136
+ return createManagedRemoteModule({
137
+ loadConfig,
138
+ uiEnabled: uiConfig.enabled,
139
+ onRemoteStateChange,
140
+ localOrigin: explicitLocalOrigin && explicitLocalOrigin.length > 0 ? explicitLocalOrigin.replace(/\/+$/, "") : resolveUiApiBase(uiConfig.host, uiConfig.port)
141
+ });
142
+ }
143
+ function writeInitialManagedServiceState(params) {
144
+ const { config, lease, readinessTimeoutMs, snapshot } = params;
145
+ managedServiceStateStore.write({
146
+ pid: snapshot.pid,
147
+ startedAt: (/* @__PURE__ */ new Date()).toISOString(),
148
+ uiUrl: snapshot.uiUrl,
149
+ apiUrl: snapshot.apiUrl,
150
+ uiHost: snapshot.uiHost,
151
+ uiPort: snapshot.uiPort,
152
+ logPath: snapshot.logPath,
153
+ ...lease ? { lease } : {},
154
+ startupLastProbeError: null,
155
+ startupTimeoutMs: readinessTimeoutMs,
156
+ startupCheckedAt: (/* @__PURE__ */ new Date()).toISOString(),
157
+ ...config.remote.enabled ? { remote: buildNextclawConfiguredRemoteState(config) } : {}
158
+ });
159
+ }
160
+ function writeReadyManagedServiceState(params) {
161
+ const { lease, readiness, readinessTimeoutMs, snapshot } = params;
162
+ const currentState = managedServiceStateStore.read();
163
+ const state = {
164
+ pid: snapshot.pid,
165
+ startedAt: currentState?.startedAt ?? (/* @__PURE__ */ new Date()).toISOString(),
166
+ uiUrl: snapshot.uiUrl,
167
+ apiUrl: snapshot.apiUrl,
168
+ uiHost: snapshot.uiHost,
169
+ uiPort: snapshot.uiPort,
170
+ logPath: snapshot.logPath,
171
+ ...lease ? { lease } : currentState?.lease ? { lease: currentState.lease } : {},
172
+ startupState: readiness.ready ? "ready" : "degraded",
173
+ startupLastProbeError: readiness.lastProbeError,
174
+ startupTimeoutMs: readinessTimeoutMs,
175
+ startupCheckedAt: (/* @__PURE__ */ new Date()).toISOString(),
176
+ ...currentState?.remote ? { remote: currentState.remote } : {}
177
+ };
178
+ managedServiceStateStore.write(state);
179
+ return state;
180
+ }
181
+ //#endregion
182
+ export { claimManagedRemoteRuntimeOwnership, createManagedRemoteModule, createManagedRemoteModuleForUi, writeInitialManagedServiceState, writeReadyManagedServiceState };
183
+
184
+ //# sourceMappingURL=service-remote-runtime.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-remote-runtime.utils.js","names":[],"sources":["../../../src/utils/runtime/service-remote-runtime.utils.ts"],"sourcesContent":["import type { Config } from \"@nextclaw/core\";\nimport { RemoteServiceModule, type RemoteRuntimeState } from \"@nextclaw/remote\";\nimport {\n closeSync,\n existsSync,\n mkdirSync,\n openSync,\n readFileSync,\n rmSync,\n unlinkSync,\n writeFileSync\n} from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport { getRunPath } from \"@nextclaw/core\";\nimport { resolveUiApiBase, isProcessRunning } from \"@nextclaw-service/utils/cli.utils.js\";\nimport {\n managedServiceStateStore,\n type ManagedServiceLease,\n type ManagedServiceState\n} from \"@nextclaw-service/stores/managed-service-state.store.js\";\nimport {\n buildNextclawConfiguredRemoteState,\n createNextclawRemoteConnector,\n createNextclawRemoteStatusStore\n} from \"@nextclaw-service/utils/remote/remote-runtime-support.utils.js\";\n\ntype ManagedServiceSnapshot = {\n pid: number;\n uiUrl: string;\n apiUrl: string;\n uiHost: string;\n uiPort: number;\n logPath: string;\n};\n\ntype RemoteRuntimeOwnerRecord = {\n pid: number;\n localOrigin: string;\n claimedAt: string;\n};\n\ntype RemoteRuntimeOwnershipClaim = { ok: true; release: () => void } | { ok: false; error: string };\n\nfunction resolveRemoteOwnershipLockPath(): string {\n return resolve(getRunPath(), \"remote-owner.lock.json\");\n}\n\nfunction readRemoteOwnershipRecord(lockPath: string): RemoteRuntimeOwnerRecord | null {\n try {\n const raw = JSON.parse(readFileSync(lockPath, \"utf-8\")) as Partial<RemoteRuntimeOwnerRecord>;\n if (typeof raw.pid !== \"number\" || !Number.isFinite(raw.pid)) {\n return null;\n }\n return {\n pid: raw.pid,\n localOrigin: typeof raw.localOrigin === \"string\" ? raw.localOrigin : \"\",\n claimedAt: typeof raw.claimedAt === \"string\" ? raw.claimedAt : \"\"\n };\n } catch {\n return null;\n }\n}\n\nfunction removeRemoteOwnershipLock(lockPath: string): void {\n if (!existsSync(lockPath)) {\n return;\n }\n try {\n unlinkSync(lockPath);\n } catch {\n try {\n rmSync(lockPath, { force: true });\n } catch {\n // Ignore cleanup failures.\n }\n }\n}\n\nfunction buildManagedServiceOwnershipError(params: {\n pid: number;\n ownerOrigin?: string;\n}): string {\n return (\n `Remote access is already owned by running NextClaw service PID ${params.pid}`\n + `${params.ownerOrigin ? ` (${params.ownerOrigin})` : \"\"}. `\n + \"Stop that service or disable remote there before starting another process with the same NEXTCLAW_HOME.\"\n );\n}\n\nfunction buildLocalProcessOwnershipError(record: RemoteRuntimeOwnerRecord): string {\n const originText = record.localOrigin ? ` (${record.localOrigin})` : \"\";\n return (\n `Remote access is already owned by local NextClaw process PID ${record.pid}${originText}. `\n + \"Stop that process or use a different NEXTCLAW_HOME before starting another remote-enabled process.\"\n );\n}\n\nfunction createRemoteOwnershipRelease(params: {\n lockPath: string;\n claim: RemoteRuntimeOwnerRecord;\n}): () => void {\n let released = false;\n return () => {\n if (released) {\n return;\n }\n released = true;\n const current = readRemoteOwnershipRecord(params.lockPath);\n if (!current || (current.pid === params.claim.pid && current.claimedAt === params.claim.claimedAt)) {\n removeRemoteOwnershipLock(params.lockPath);\n }\n };\n}\n\nfunction detectManagedRemoteOwnershipConflict(params: {\n currentPid: number;\n isProcessRunningFn: (pid: number) => boolean;\n readServiceStateFn: () => ManagedServiceState | null;\n}): string | null {\n const runningService = params.readServiceStateFn();\n if (\n !runningService\n || runningService.pid === params.currentPid\n || !params.isProcessRunningFn(runningService.pid)\n || !runningService.remote?.enabled\n ) {\n return null;\n }\n\n return buildManagedServiceOwnershipError({\n pid: runningService.pid,\n ownerOrigin: runningService.remote.localOrigin ?? runningService.uiUrl\n });\n}\n\nfunction tryClaimRemoteOwnershipLock(params: {\n lockPath: string;\n claim: RemoteRuntimeOwnerRecord;\n currentPid: number;\n isProcessRunningFn: (pid: number) => boolean;\n}): RemoteRuntimeOwnershipClaim {\n const { claim, currentPid, isProcessRunningFn, lockPath } = params;\n for (let attempt = 0; attempt < 2; attempt += 1) {\n try {\n const fd = openSync(lockPath, \"wx\");\n writeFileSync(fd, `${JSON.stringify(claim, null, 2)}\\n`, \"utf-8\");\n closeSync(fd);\n return {\n ok: true,\n release: createRemoteOwnershipRelease({\n lockPath,\n claim\n })\n };\n } catch (error) {\n const code = typeof error === \"object\" && error && \"code\" in error ? String(error.code) : \"\";\n if (code !== \"EEXIST\") {\n return {\n ok: false,\n error: `Failed to claim local remote runtime ownership: ${error instanceof Error ? error.message : String(error)}`\n };\n }\n\n const existing = readRemoteOwnershipRecord(lockPath);\n if (existing && existing.pid !== currentPid && isProcessRunningFn(existing.pid)) {\n return {\n ok: false,\n error: buildLocalProcessOwnershipError(existing)\n };\n }\n\n removeRemoteOwnershipLock(lockPath);\n }\n }\n\n return {\n ok: false,\n error: \"Failed to claim local remote runtime ownership after clearing a stale lock.\"\n };\n}\n\nexport function claimManagedRemoteRuntimeOwnership(params: {\n localOrigin: string;\n lockPath?: string;\n currentPid?: number;\n now?: () => string;\n isProcessRunningFn?: (pid: number) => boolean;\n readServiceStateFn?: () => ManagedServiceState | null;\n}): RemoteRuntimeOwnershipClaim {\n const {\n localOrigin,\n lockPath: lockPathOverride,\n currentPid: currentPidOverride,\n now: nowOverride,\n isProcessRunningFn: isProcessRunningOverride,\n readServiceStateFn: readServiceStateOverride\n } = params;\n const lockPath = lockPathOverride ?? resolveRemoteOwnershipLockPath();\n const currentPid = currentPidOverride ?? process.pid;\n const now = nowOverride ?? (() => new Date().toISOString());\n const isProcessRunningFn = isProcessRunningOverride ?? isProcessRunning;\n const readServiceStateFn = readServiceStateOverride ?? managedServiceStateStore.read;\n const managedConflict = detectManagedRemoteOwnershipConflict({\n currentPid,\n isProcessRunningFn,\n readServiceStateFn\n });\n if (managedConflict) {\n return {\n ok: false,\n error: managedConflict\n };\n }\n\n mkdirSync(dirname(lockPath), { recursive: true });\n return tryClaimRemoteOwnershipLock({\n lockPath,\n claim: {\n pid: currentPid,\n localOrigin,\n claimedAt: now()\n },\n currentPid,\n isProcessRunningFn\n });\n}\n\nexport function createManagedRemoteModule(params: {\n loadConfig: () => Config;\n uiEnabled: boolean;\n localOrigin: string;\n onRemoteStateChange?: (state: RemoteRuntimeState) => void;\n}): RemoteServiceModule | null {\n const { loadConfig, localOrigin, onRemoteStateChange, uiEnabled } = params;\n if (!uiEnabled) {\n return null;\n }\n return new RemoteServiceModule({\n loadConfig,\n uiEnabled,\n localOrigin,\n statusStore: createNextclawRemoteStatusStore(\"service\", onRemoteStateChange),\n createConnector: (logger) => createNextclawRemoteConnector({ logger }),\n claimOwnership: () => claimManagedRemoteRuntimeOwnership({ localOrigin }),\n logger: {\n info: (message) => console.log(`[remote] ${message}`),\n warn: (message) => console.warn(`[remote] ${message}`),\n error: (message) => console.error(`[remote] ${message}`)\n }\n });\n}\n\nexport function createManagedRemoteModuleForUi(params: {\n loadConfig: () => Config;\n uiConfig: Pick<Config[\"ui\"], \"enabled\" | \"host\" | \"port\">;\n localOriginOverride?: string; onRemoteStateChange?: (state: RemoteRuntimeState) => void;\n}): RemoteServiceModule | null {\n const { loadConfig, localOriginOverride, onRemoteStateChange, uiConfig } = params;\n const explicitLocalOrigin = localOriginOverride?.trim() ?? process.env.NEXTCLAW_REMOTE_LOCAL_ORIGIN?.trim();\n return createManagedRemoteModule({\n loadConfig,\n uiEnabled: uiConfig.enabled,\n onRemoteStateChange,\n localOrigin:\n explicitLocalOrigin && explicitLocalOrigin.length > 0\n ? explicitLocalOrigin.replace(/\\/+$/, \"\")\n : resolveUiApiBase(uiConfig.host, uiConfig.port)\n });\n}\n\nexport function writeInitialManagedServiceState(params: {\n config: Config;\n lease?: ManagedServiceLease;\n readinessTimeoutMs: number;\n snapshot: ManagedServiceSnapshot;\n}): void {\n const { config, lease, readinessTimeoutMs, snapshot } = params;\n managedServiceStateStore.write({\n pid: snapshot.pid,\n startedAt: new Date().toISOString(),\n uiUrl: snapshot.uiUrl,\n apiUrl: snapshot.apiUrl,\n uiHost: snapshot.uiHost,\n uiPort: snapshot.uiPort,\n logPath: snapshot.logPath,\n ...(lease ? { lease } : {}),\n startupLastProbeError: null,\n startupTimeoutMs: readinessTimeoutMs,\n startupCheckedAt: new Date().toISOString(),\n ...(config.remote.enabled ? { remote: buildNextclawConfiguredRemoteState(config) } : {})\n });\n}\n\nexport function writeReadyManagedServiceState(params: {\n lease?: ManagedServiceLease;\n readinessTimeoutMs: number;\n readiness: { ready: boolean; lastProbeError: string | null };\n snapshot: ManagedServiceSnapshot;\n}): ManagedServiceState {\n const { lease, readiness, readinessTimeoutMs, snapshot } = params;\n const currentState = managedServiceStateStore.read();\n const state: ManagedServiceState = {\n pid: snapshot.pid,\n startedAt: currentState?.startedAt ?? new Date().toISOString(),\n uiUrl: snapshot.uiUrl,\n apiUrl: snapshot.apiUrl,\n uiHost: snapshot.uiHost,\n uiPort: snapshot.uiPort,\n logPath: snapshot.logPath,\n ...(lease ? { lease } : currentState?.lease ? { lease: currentState.lease } : {}),\n startupState: readiness.ready ? \"ready\" : \"degraded\",\n startupLastProbeError: readiness.lastProbeError,\n startupTimeoutMs: readinessTimeoutMs,\n startupCheckedAt: new Date().toISOString(),\n ...(currentState?.remote ? { remote: currentState.remote } : {})\n };\n managedServiceStateStore.write(state);\n return state;\n}\n"],"mappings":";;;;;;;;AA2CA,SAAS,iCAAyC;AAChD,QAAO,QAAQ,YAAY,EAAE,yBAAyB;;AAGxD,SAAS,0BAA0B,UAAmD;AACpF,KAAI;EACF,MAAM,MAAM,KAAK,MAAM,aAAa,UAAU,QAAQ,CAAC;AACvD,MAAI,OAAO,IAAI,QAAQ,YAAY,CAAC,OAAO,SAAS,IAAI,IAAI,CAC1D,QAAO;AAET,SAAO;GACL,KAAK,IAAI;GACT,aAAa,OAAO,IAAI,gBAAgB,WAAW,IAAI,cAAc;GACrE,WAAW,OAAO,IAAI,cAAc,WAAW,IAAI,YAAY;GAChE;SACK;AACN,SAAO;;;AAIX,SAAS,0BAA0B,UAAwB;AACzD,KAAI,CAAC,WAAW,SAAS,CACvB;AAEF,KAAI;AACF,aAAW,SAAS;SACd;AACN,MAAI;AACF,UAAO,UAAU,EAAE,OAAO,MAAM,CAAC;UAC3B;;;AAMZ,SAAS,kCAAkC,QAGhC;AACT,QACE,kEAAkE,OAAO,MACpE,OAAO,cAAc,KAAK,OAAO,YAAY,KAAK,GAAG;;AAK9D,SAAS,gCAAgC,QAA0C;CACjF,MAAM,aAAa,OAAO,cAAc,KAAK,OAAO,YAAY,KAAK;AACrE,QACE,gEAAgE,OAAO,MAAM,WAAW;;AAK5F,SAAS,6BAA6B,QAGvB;CACb,IAAI,WAAW;AACf,cAAa;AACX,MAAI,SACF;AAEF,aAAW;EACX,MAAM,UAAU,0BAA0B,OAAO,SAAS;AAC1D,MAAI,CAAC,WAAY,QAAQ,QAAQ,OAAO,MAAM,OAAO,QAAQ,cAAc,OAAO,MAAM,UACtF,2BAA0B,OAAO,SAAS;;;AAKhD,SAAS,qCAAqC,QAI5B;CAChB,MAAM,iBAAiB,OAAO,oBAAoB;AAClD,KACE,CAAC,kBACE,eAAe,QAAQ,OAAO,cAC9B,CAAC,OAAO,mBAAmB,eAAe,IAAI,IAC9C,CAAC,eAAe,QAAQ,QAE3B,QAAO;AAGT,QAAO,kCAAkC;EACvC,KAAK,eAAe;EACpB,aAAa,eAAe,OAAO,eAAe,eAAe;EAClE,CAAC;;AAGJ,SAAS,4BAA4B,QAKL;CAC9B,MAAM,EAAE,OAAO,YAAY,oBAAoB,aAAa;AAC5D,MAAK,IAAI,UAAU,GAAG,UAAU,GAAG,WAAW,EAC5C,KAAI;EACF,MAAM,KAAK,SAAS,UAAU,KAAK;AACnC,gBAAc,IAAI,GAAG,KAAK,UAAU,OAAO,MAAM,EAAE,CAAC,KAAK,QAAQ;AACjE,YAAU,GAAG;AACb,SAAO;GACL,IAAI;GACJ,SAAS,6BAA6B;IACpC;IACA;IACD,CAAC;GACH;UACM,OAAO;AAEd,OADa,OAAO,UAAU,YAAY,SAAS,UAAU,QAAQ,OAAO,MAAM,KAAK,GAAG,QAC7E,SACX,QAAO;GACL,IAAI;GACJ,OAAO,mDAAmD,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;GACjH;EAGH,MAAM,WAAW,0BAA0B,SAAS;AACpD,MAAI,YAAY,SAAS,QAAQ,cAAc,mBAAmB,SAAS,IAAI,CAC7E,QAAO;GACL,IAAI;GACJ,OAAO,gCAAgC,SAAS;GACjD;AAGH,4BAA0B,SAAS;;AAIvC,QAAO;EACL,IAAI;EACJ,OAAO;EACR;;AAGH,SAAgB,mCAAmC,QAOnB;CAC9B,MAAM,EACJ,aACA,UAAU,kBACV,YAAY,oBACZ,KAAK,aACL,oBAAoB,0BACpB,oBAAoB,6BAClB;CACJ,MAAM,WAAW,oBAAoB,gCAAgC;CACrE,MAAM,aAAa,sBAAsB,QAAQ;CACjD,MAAM,MAAM,uCAAsB,IAAI,MAAM,EAAC,aAAa;CAC1D,MAAM,qBAAqB,4BAA4B;CAEvD,MAAM,kBAAkB,qCAAqC;EAC3D;EACA;EACA,oBAJyB,4BAA4B,yBAAyB;EAK/E,CAAC;AACF,KAAI,gBACF,QAAO;EACL,IAAI;EACJ,OAAO;EACR;AAGH,WAAU,QAAQ,SAAS,EAAE,EAAE,WAAW,MAAM,CAAC;AACjD,QAAO,4BAA4B;EACjC;EACA,OAAO;GACL,KAAK;GACL;GACA,WAAW,KAAK;GACjB;EACD;EACA;EACD,CAAC;;AAGJ,SAAgB,0BAA0B,QAKX;CAC7B,MAAM,EAAE,YAAY,aAAa,qBAAqB,cAAc;AACpE,KAAI,CAAC,UACH,QAAO;AAET,QAAO,IAAI,oBAAoB;EAC7B;EACA;EACA;EACA,aAAa,gCAAgC,WAAW,oBAAoB;EAC5E,kBAAkB,WAAW,8BAA8B,EAAE,QAAQ,CAAC;EACtE,sBAAsB,mCAAmC,EAAE,aAAa,CAAC;EACzE,QAAQ;GACN,OAAO,YAAY,QAAQ,IAAI,YAAY,UAAU;GACrD,OAAO,YAAY,QAAQ,KAAK,YAAY,UAAU;GACtD,QAAQ,YAAY,QAAQ,MAAM,YAAY,UAAU;GACzD;EACF,CAAC;;AAGJ,SAAgB,+BAA+B,QAIhB;CAC7B,MAAM,EAAE,YAAY,qBAAqB,qBAAqB,aAAa;CAC3E,MAAM,sBAAsB,qBAAqB,MAAM,IAAI,QAAQ,IAAI,8BAA8B,MAAM;AAC3G,QAAO,0BAA0B;EAC/B;EACA,WAAW,SAAS;EACpB;EACA,aACE,uBAAuB,oBAAoB,SAAS,IAChD,oBAAoB,QAAQ,QAAQ,GAAG,GACvC,iBAAiB,SAAS,MAAM,SAAS,KAAK;EACrD,CAAC;;AAGJ,SAAgB,gCAAgC,QAKvC;CACP,MAAM,EAAE,QAAQ,OAAO,oBAAoB,aAAa;AACxD,0BAAyB,MAAM;EAC7B,KAAK,SAAS;EACd,4BAAW,IAAI,MAAM,EAAC,aAAa;EACnC,OAAO,SAAS;EAChB,QAAQ,SAAS;EACjB,QAAQ,SAAS;EACjB,QAAQ,SAAS;EACjB,SAAS,SAAS;EAClB,GAAI,QAAQ,EAAE,OAAO,GAAG,EAAE;EAC1B,uBAAuB;EACvB,kBAAkB;EAClB,mCAAkB,IAAI,MAAM,EAAC,aAAa;EAC1C,GAAI,OAAO,OAAO,UAAU,EAAE,QAAQ,mCAAmC,OAAO,EAAE,GAAG,EAAE;EACxF,CAAC;;AAGJ,SAAgB,8BAA8B,QAKtB;CACtB,MAAM,EAAE,OAAO,WAAW,oBAAoB,aAAa;CAC3D,MAAM,eAAe,yBAAyB,MAAM;CACpD,MAAM,QAA6B;EACjC,KAAK,SAAS;EACd,WAAW,cAAc,8BAAa,IAAI,MAAM,EAAC,aAAa;EAC9D,OAAO,SAAS;EAChB,QAAQ,SAAS;EACjB,QAAQ,SAAS;EACjB,QAAQ,SAAS;EACjB,SAAS,SAAS;EAClB,GAAI,QAAQ,EAAE,OAAO,GAAG,cAAc,QAAQ,EAAE,OAAO,aAAa,OAAO,GAAG,EAAE;EAChF,cAAc,UAAU,QAAQ,UAAU;EAC1C,uBAAuB,UAAU;EACjC,kBAAkB;EAClB,mCAAkB,IAAI,MAAM,EAAC,aAAa;EAC1C,GAAI,cAAc,SAAS,EAAE,QAAQ,aAAa,QAAQ,GAAG,EAAE;EAChE;AACD,0BAAyB,MAAM,MAAM;AACrC,QAAO"}
@@ -0,0 +1,15 @@
1
+ import { Config } from "@nextclaw/core";
2
+
3
+ //#region src/utils/runtime-helpers.utils.d.ts
4
+ declare function resolveSkillsInstallWorkdir(params: {
5
+ explicitWorkdir?: string;
6
+ configuredWorkspace?: string;
7
+ }): string;
8
+ declare function parseStartTimeoutMs(value: string | number | undefined): number | undefined;
9
+ declare function resolveManagedServiceUiOverrides(params: {
10
+ uiPort: string | number | undefined;
11
+ forcedPublicHost: string;
12
+ }): Partial<Config["ui"]>;
13
+ //#endregion
14
+ export { parseStartTimeoutMs, resolveManagedServiceUiOverrides, resolveSkillsInstallWorkdir };
15
+ //# sourceMappingURL=runtime-helpers.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-helpers.utils.d.ts","names":[],"sources":["../../src/utils/runtime-helpers.utils.ts"],"mappings":";;;iBAEgB,2BAAA,CAA4B,MAAA;EAC1C,eAAA;EACA,mBAAA;AAAA;AAAA,iBAQc,mBAAA,CAAoB,KAAA;AAAA,iBAYpB,gCAAA,CAAiC,MAAA;EAC/C,MAAA;EACA,gBAAA;AAAA,IACE,OAAA,CAAQ,MAAA"}
@@ -0,0 +1,28 @@
1
+ import { expandHome, getWorkspacePath } from "@nextclaw/core";
2
+ //#region src/utils/runtime-helpers.utils.ts
3
+ function resolveSkillsInstallWorkdir(params) {
4
+ if (params.explicitWorkdir) return expandHome(params.explicitWorkdir);
5
+ return getWorkspacePath(params.configuredWorkspace);
6
+ }
7
+ function parseStartTimeoutMs(value) {
8
+ if (value === void 0) return;
9
+ const parsed = Number(value);
10
+ if (!Number.isFinite(parsed) || parsed <= 0) {
11
+ console.error("Invalid --start-timeout value. Provide milliseconds (e.g. 45000).");
12
+ process.exit(1);
13
+ }
14
+ return Math.floor(parsed);
15
+ }
16
+ function resolveManagedServiceUiOverrides(params) {
17
+ const uiOverrides = {
18
+ enabled: true,
19
+ host: params.forcedPublicHost,
20
+ open: false
21
+ };
22
+ if (params.uiPort) uiOverrides.port = Number(params.uiPort);
23
+ return uiOverrides;
24
+ }
25
+ //#endregion
26
+ export { parseStartTimeoutMs, resolveManagedServiceUiOverrides, resolveSkillsInstallWorkdir };
27
+
28
+ //# sourceMappingURL=runtime-helpers.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-helpers.utils.js","names":[],"sources":["../../src/utils/runtime-helpers.utils.ts"],"sourcesContent":["import { expandHome, getWorkspacePath, type Config } from \"@nextclaw/core\";\n\nexport function resolveSkillsInstallWorkdir(params: {\n explicitWorkdir?: string;\n configuredWorkspace?: string;\n}): string {\n if (params.explicitWorkdir) {\n return expandHome(params.explicitWorkdir);\n }\n return getWorkspacePath(params.configuredWorkspace);\n}\n\nexport function parseStartTimeoutMs(value: string | number | undefined): number | undefined {\n if (value === undefined) {\n return undefined;\n }\n const parsed = Number(value);\n if (!Number.isFinite(parsed) || parsed <= 0) {\n console.error(\"Invalid --start-timeout value. Provide milliseconds (e.g. 45000).\");\n process.exit(1);\n }\n return Math.floor(parsed);\n}\n\nexport function resolveManagedServiceUiOverrides(params: {\n uiPort: string | number | undefined;\n forcedPublicHost: string;\n}): Partial<Config[\"ui\"]> {\n const uiOverrides: Partial<Config[\"ui\"]> = {\n enabled: true,\n host: params.forcedPublicHost,\n open: false,\n };\n if (params.uiPort) {\n uiOverrides.port = Number(params.uiPort);\n }\n return uiOverrides;\n}\n"],"mappings":";;AAEA,SAAgB,4BAA4B,QAGjC;AACT,KAAI,OAAO,gBACT,QAAO,WAAW,OAAO,gBAAgB;AAE3C,QAAO,iBAAiB,OAAO,oBAAoB;;AAGrD,SAAgB,oBAAoB,OAAwD;AAC1F,KAAI,UAAU,KAAA,EACZ;CAEF,MAAM,SAAS,OAAO,MAAM;AAC5B,KAAI,CAAC,OAAO,SAAS,OAAO,IAAI,UAAU,GAAG;AAC3C,UAAQ,MAAM,oEAAoE;AAClF,UAAQ,KAAK,EAAE;;AAEjB,QAAO,KAAK,MAAM,OAAO;;AAG3B,SAAgB,iCAAiC,QAGvB;CACxB,MAAM,cAAqC;EACzC,SAAS;EACT,MAAM,OAAO;EACb,MAAM;EACP;AACD,KAAI,OAAO,OACT,aAAY,OAAO,OAAO,OAAO,OAAO;AAE1C,QAAO"}
@@ -0,0 +1,42 @@
1
+ import { Config } from "@nextclaw/core";
2
+
3
+ //#region src/utils/service-port-probe.utils.d.ts
4
+ declare function checkPortAvailability(params: {
5
+ host: string;
6
+ port: number;
7
+ }): Promise<{
8
+ available: boolean;
9
+ detail: string;
10
+ }>;
11
+ declare function probeHealthEndpoint(healthUrl: string): Promise<{
12
+ healthy: boolean;
13
+ error: string | null;
14
+ }>;
15
+ type UiTargetProbeResult = {
16
+ state: "available";
17
+ availabilityDetail: string;
18
+ probeError: null;
19
+ } | {
20
+ state: "healthy-existing";
21
+ availabilityDetail: string;
22
+ probeError: null;
23
+ } | {
24
+ state: "occupied-unhealthy";
25
+ availabilityDetail: string;
26
+ probeError: string | null;
27
+ };
28
+ declare function inspectUiTarget(params: {
29
+ host: string;
30
+ port: number;
31
+ healthUrl: string;
32
+ checkPortAvailabilityFn?: typeof checkPortAvailability;
33
+ probeHealthEndpointFn?: typeof probeHealthEndpoint;
34
+ }): Promise<UiTargetProbeResult>;
35
+ declare function describeUnmanagedHealthyTargetMessage(params: {
36
+ uiOverrides: Partial<Config["ui"]>;
37
+ checkPortAvailabilityFn?: typeof checkPortAvailability;
38
+ probeHealthEndpointFn?: typeof probeHealthEndpoint;
39
+ }): Promise<string | null>;
40
+ //#endregion
41
+ export { UiTargetProbeResult, checkPortAvailability, describeUnmanagedHealthyTargetMessage, inspectUiTarget, probeHealthEndpoint };
42
+ //# sourceMappingURL=service-port-probe.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-port-probe.utils.d.ts","names":[],"sources":["../../src/utils/service-port-probe.utils.ts"],"mappings":";;;iBA6BsB,qBAAA,CAAsB,MAAA;EAC1C,IAAA;EACA,IAAA;AAAA,IACE,OAAA;EAAU,SAAA;EAAoB,MAAA;AAAA;AAAA,iBAoBZ,mBAAA,CAAoB,SAAA,WAAoB,OAAA;EAAU,OAAA;EAAkB,KAAA;AAAA;AAAA,KA6E9E,mBAAA;EAEN,KAAA;EACA,kBAAA;EACA,UAAA;AAAA;EAGA,KAAA;EACA,kBAAA;EACA,UAAA;AAAA;EAGA,KAAA;EACA,kBAAA;EACA,UAAA;AAAA;AAAA,iBAGgB,eAAA,CAAgB,MAAA;EACpC,IAAA;EACA,IAAA;EACA,SAAA;EACA,uBAAA,UAAiC,qBAAA;EACjC,qBAAA,UAA+B,mBAAA;AAAA,IAC7B,OAAA,CAAQ,mBAAA;AAAA,iBA8BU,qCAAA,CAAsC,MAAA;EAC1D,WAAA,EAAa,OAAA,CAAQ,MAAA;EACrB,uBAAA,UAAiC,qBAAA;EACjC,qBAAA,UAA+B,mBAAA;AAAA,IAC7B,OAAA"}