@nextclaw/service 0.1.15 → 0.1.16

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 (417) hide show
  1. package/dist/cli/commands/agent/agent-runtime.utils.d.ts +2 -1
  2. package/dist/cli/commands/agent/agent-runtime.utils.d.ts.map +1 -0
  3. package/dist/cli/commands/agent/agent-runtime.utils.js +2 -0
  4. package/dist/cli/commands/agent/agent-runtime.utils.js.map +1 -0
  5. package/dist/cli/commands/agent/cli-agent-runner.utils.d.ts +2 -1
  6. package/dist/cli/commands/agent/cli-agent-runner.utils.d.ts.map +1 -0
  7. package/dist/cli/commands/agent/cli-agent-runner.utils.js +2 -0
  8. package/dist/cli/commands/agent/cli-agent-runner.utils.js.map +1 -0
  9. package/dist/cli/commands/agent/services/agent-commands.service.d.ts +2 -1
  10. package/dist/cli/commands/agent/services/agent-commands.service.d.ts.map +1 -0
  11. package/dist/cli/commands/agent/services/agent-commands.service.js +2 -0
  12. package/dist/cli/commands/agent/services/agent-commands.service.js.map +1 -0
  13. package/dist/cli/commands/config/services/config-commands.service.d.ts +2 -1
  14. package/dist/cli/commands/config/services/config-commands.service.d.ts.map +1 -0
  15. package/dist/cli/commands/config/services/config-commands.service.js +2 -0
  16. package/dist/cli/commands/config/services/config-commands.service.js.map +1 -0
  17. package/dist/cli/commands/cron/services/cron-commands.service.d.ts +2 -1
  18. package/dist/cli/commands/cron/services/cron-commands.service.d.ts.map +1 -0
  19. package/dist/cli/commands/cron/services/cron-commands.service.js +2 -0
  20. package/dist/cli/commands/cron/services/cron-commands.service.js.map +1 -0
  21. package/dist/cli/commands/cron/services/cron-local.service.d.ts +2 -1
  22. package/dist/cli/commands/cron/services/cron-local.service.d.ts.map +1 -0
  23. package/dist/cli/commands/cron/services/cron-local.service.js +2 -0
  24. package/dist/cli/commands/cron/services/cron-local.service.js.map +1 -0
  25. package/dist/cli/commands/cron/utils/cron-job.utils.d.ts +2 -1
  26. package/dist/cli/commands/cron/utils/cron-job.utils.d.ts.map +1 -0
  27. package/dist/cli/commands/cron/utils/cron-job.utils.js +2 -0
  28. package/dist/cli/commands/cron/utils/cron-job.utils.js.map +1 -0
  29. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.d.ts +2 -1
  30. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.d.ts.map +1 -0
  31. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.js +2 -0
  32. package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.js.map +1 -0
  33. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.d.ts +2 -1
  34. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.d.ts.map +1 -0
  35. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.js +2 -0
  36. package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.js.map +1 -0
  37. package/dist/cli/commands/gateway/index.d.ts +2 -1
  38. package/dist/cli/commands/gateway/index.d.ts.map +1 -0
  39. package/dist/cli/commands/gateway/index.js +2 -0
  40. package/dist/cli/commands/gateway/index.js.map +1 -0
  41. package/dist/cli/commands/logs/index.d.ts +2 -1
  42. package/dist/cli/commands/logs/index.d.ts.map +1 -0
  43. package/dist/cli/commands/logs/index.js +2 -0
  44. package/dist/cli/commands/logs/index.js.map +1 -0
  45. package/dist/cli/commands/mcp/index.d.ts +2 -1
  46. package/dist/cli/commands/mcp/index.d.ts.map +1 -0
  47. package/dist/cli/commands/mcp/index.js +2 -0
  48. package/dist/cli/commands/mcp/index.js.map +1 -0
  49. package/dist/cli/commands/restart/index.d.ts +2 -1
  50. package/dist/cli/commands/restart/index.d.ts.map +1 -0
  51. package/dist/cli/commands/restart/index.js +2 -0
  52. package/dist/cli/commands/restart/index.js.map +1 -0
  53. package/dist/cli/commands/secrets/index.d.ts +2 -1
  54. package/dist/cli/commands/secrets/index.d.ts.map +1 -0
  55. package/dist/cli/commands/secrets/index.js +2 -0
  56. package/dist/cli/commands/secrets/index.js.map +1 -0
  57. package/dist/cli/commands/serve/index.d.ts +2 -1
  58. package/dist/cli/commands/serve/index.d.ts.map +1 -0
  59. package/dist/cli/commands/serve/index.js +2 -0
  60. package/dist/cli/commands/serve/index.js.map +1 -0
  61. package/dist/cli/commands/skills/index.d.ts +2 -1
  62. package/dist/cli/commands/skills/index.d.ts.map +1 -0
  63. package/dist/cli/commands/skills/index.js +2 -0
  64. package/dist/cli/commands/skills/index.js.map +1 -0
  65. package/dist/cli/commands/skills/marketplace-client.d.ts +2 -1
  66. package/dist/cli/commands/skills/marketplace-client.d.ts.map +1 -0
  67. package/dist/cli/commands/skills/marketplace-client.js +2 -0
  68. package/dist/cli/commands/skills/marketplace-client.js.map +1 -0
  69. package/dist/cli/commands/skills/marketplace-command-options.utils.d.ts +2 -1
  70. package/dist/cli/commands/skills/marketplace-command-options.utils.d.ts.map +1 -0
  71. package/dist/cli/commands/skills/marketplace-command-options.utils.js +2 -0
  72. package/dist/cli/commands/skills/marketplace-command-options.utils.js.map +1 -0
  73. package/dist/cli/commands/skills/marketplace-identity.utils.d.ts +2 -1
  74. package/dist/cli/commands/skills/marketplace-identity.utils.d.ts.map +1 -0
  75. package/dist/cli/commands/skills/marketplace-identity.utils.js +2 -0
  76. package/dist/cli/commands/skills/marketplace-identity.utils.js.map +1 -0
  77. package/dist/cli/commands/skills/marketplace-network-retry.d.ts +2 -1
  78. package/dist/cli/commands/skills/marketplace-network-retry.d.ts.map +1 -0
  79. package/dist/cli/commands/skills/marketplace-network-retry.js +2 -0
  80. package/dist/cli/commands/skills/marketplace-network-retry.js.map +1 -0
  81. package/dist/cli/commands/skills/marketplace.metadata.d.ts +2 -1
  82. package/dist/cli/commands/skills/marketplace.metadata.d.ts.map +1 -0
  83. package/dist/cli/commands/skills/marketplace.metadata.js +2 -0
  84. package/dist/cli/commands/skills/marketplace.metadata.js.map +1 -0
  85. package/dist/cli/commands/skills/marketplace.utils.d.ts +2 -1
  86. package/dist/cli/commands/skills/marketplace.utils.d.ts.map +1 -0
  87. package/dist/cli/commands/skills/marketplace.utils.js +2 -0
  88. package/dist/cli/commands/skills/marketplace.utils.js.map +1 -0
  89. package/dist/cli/commands/skills/skills-query.service.d.ts +2 -1
  90. package/dist/cli/commands/skills/skills-query.service.d.ts.map +1 -0
  91. package/dist/cli/commands/skills/skills-query.service.js +2 -0
  92. package/dist/cli/commands/skills/skills-query.service.js.map +1 -0
  93. package/dist/cli/commands/start/index.d.ts +2 -1
  94. package/dist/cli/commands/start/index.d.ts.map +1 -0
  95. package/dist/cli/commands/start/index.js +2 -0
  96. package/dist/cli/commands/start/index.js.map +1 -0
  97. package/dist/cli/commands/stop/index.d.ts +2 -1
  98. package/dist/cli/commands/stop/index.d.ts.map +1 -0
  99. package/dist/cli/commands/stop/index.js +2 -0
  100. package/dist/cli/commands/stop/index.js.map +1 -0
  101. package/dist/cli/commands/ui/index.d.ts +2 -1
  102. package/dist/cli/commands/ui/index.d.ts.map +1 -0
  103. package/dist/cli/commands/ui/index.js +2 -0
  104. package/dist/cli/commands/ui/index.js.map +1 -0
  105. package/dist/cli/commands/usage/services/llm-usage-command.service.d.ts +2 -1
  106. package/dist/cli/commands/usage/services/llm-usage-command.service.d.ts.map +1 -0
  107. package/dist/cli/commands/usage/services/llm-usage-command.service.js +2 -0
  108. package/dist/cli/commands/usage/services/llm-usage-command.service.js.map +1 -0
  109. package/dist/commands/channel/channel-config-view.d.ts +2 -1
  110. package/dist/commands/channel/channel-config-view.d.ts.map +1 -0
  111. package/dist/commands/channel/channel-config-view.js +2 -0
  112. package/dist/commands/channel/channel-config-view.js.map +1 -0
  113. package/dist/commands/channel/channel-list-view.service.d.ts +2 -1
  114. package/dist/commands/channel/channel-list-view.service.d.ts.map +1 -0
  115. package/dist/commands/channel/channel-list-view.service.js +2 -0
  116. package/dist/commands/channel/channel-list-view.service.js.map +1 -0
  117. package/dist/commands/channel/index.d.ts +2 -1
  118. package/dist/commands/channel/index.d.ts.map +1 -0
  119. package/dist/commands/channel/index.js +2 -0
  120. package/dist/commands/channel/index.js.map +1 -0
  121. package/dist/commands/platform-auth/services/account-status.service.d.ts +2 -1
  122. package/dist/commands/platform-auth/services/account-status.service.d.ts.map +1 -0
  123. package/dist/commands/platform-auth/services/account-status.service.js +2 -0
  124. package/dist/commands/platform-auth/services/account-status.service.js.map +1 -0
  125. package/dist/commands/platform-auth/services/platform-auth-commands.service.d.ts +2 -1
  126. package/dist/commands/platform-auth/services/platform-auth-commands.service.d.ts.map +1 -0
  127. package/dist/commands/platform-auth/services/platform-auth-commands.service.js +2 -0
  128. package/dist/commands/platform-auth/services/platform-auth-commands.service.js.map +1 -0
  129. package/dist/commands/platform-auth/utils/payload.utils.d.ts +2 -1
  130. package/dist/commands/platform-auth/utils/payload.utils.d.ts.map +1 -0
  131. package/dist/commands/platform-auth/utils/payload.utils.js +2 -0
  132. package/dist/commands/platform-auth/utils/payload.utils.js.map +1 -0
  133. package/dist/commands/plugin/index.d.ts +2 -1
  134. package/dist/commands/plugin/index.d.ts.map +1 -0
  135. package/dist/commands/plugin/index.js +2 -0
  136. package/dist/commands/plugin/index.js.map +1 -0
  137. package/dist/commands/plugin/plugin-command.utils.d.ts +4 -3
  138. package/dist/commands/plugin/plugin-command.utils.d.ts.map +1 -0
  139. package/dist/commands/plugin/plugin-command.utils.js +2 -0
  140. package/dist/commands/plugin/plugin-command.utils.js.map +1 -0
  141. package/dist/commands/plugin/plugin-mutation-actions.utils.d.ts +2 -1
  142. package/dist/commands/plugin/plugin-mutation-actions.utils.d.ts.map +1 -0
  143. package/dist/commands/plugin/plugin-mutation-actions.utils.js +2 -0
  144. package/dist/commands/plugin/plugin-mutation-actions.utils.js.map +1 -0
  145. package/dist/commands/remote/index.d.ts +2 -1
  146. package/dist/commands/remote/index.d.ts.map +1 -0
  147. package/dist/commands/remote/index.js +2 -0
  148. package/dist/commands/remote/index.js.map +1 -0
  149. package/dist/commands/remote/services/remote-access-host.service.d.ts +2 -1
  150. package/dist/commands/remote/services/remote-access-host.service.d.ts.map +1 -0
  151. package/dist/commands/remote/services/remote-access-host.service.js +2 -0
  152. package/dist/commands/remote/services/remote-access-host.service.js.map +1 -0
  153. package/dist/commands/remote/services/remote-service-control.service.d.ts +2 -1
  154. package/dist/commands/remote/services/remote-service-control.service.d.ts.map +1 -0
  155. package/dist/commands/remote/services/remote-service-control.service.js +2 -0
  156. package/dist/commands/remote/services/remote-service-control.service.js.map +1 -0
  157. package/dist/commands/remote/utils/platform-api-base.utils.d.ts +2 -1
  158. package/dist/commands/remote/utils/platform-api-base.utils.d.ts.map +1 -0
  159. package/dist/commands/remote/utils/platform-api-base.utils.js +2 -0
  160. package/dist/commands/remote/utils/platform-api-base.utils.js.map +1 -0
  161. package/dist/commands/remote/utils/remote-runtime-support.utils.d.ts +2 -1
  162. package/dist/commands/remote/utils/remote-runtime-support.utils.d.ts.map +1 -0
  163. package/dist/commands/remote/utils/remote-runtime-support.utils.js +2 -0
  164. package/dist/commands/remote/utils/remote-runtime-support.utils.js.map +1 -0
  165. package/dist/commands/service/index.d.ts +2 -1
  166. package/dist/commands/service/index.d.ts.map +1 -0
  167. package/dist/commands/service/index.js +2 -0
  168. package/dist/commands/service/index.js.map +1 -0
  169. package/dist/commands/service/services/autostart/host-autostart-command.service.d.ts +2 -1
  170. package/dist/commands/service/services/autostart/host-autostart-command.service.d.ts.map +1 -0
  171. package/dist/commands/service/services/autostart/host-autostart-command.service.js +2 -0
  172. package/dist/commands/service/services/autostart/host-autostart-command.service.js.map +1 -0
  173. package/dist/commands/service/services/autostart/host-autostart-runtime.service.d.ts +2 -1
  174. package/dist/commands/service/services/autostart/host-autostart-runtime.service.d.ts.map +1 -0
  175. package/dist/commands/service/services/autostart/host-autostart-runtime.service.js +2 -0
  176. package/dist/commands/service/services/autostart/host-autostart-runtime.service.js.map +1 -0
  177. package/dist/commands/service/services/autostart/host-autostart.service.d.ts +2 -1
  178. package/dist/commands/service/services/autostart/host-autostart.service.d.ts.map +1 -0
  179. package/dist/commands/service/services/autostart/host-autostart.service.js +2 -0
  180. package/dist/commands/service/services/autostart/host-autostart.service.js.map +1 -0
  181. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.d.ts +2 -1
  182. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.d.ts.map +1 -0
  183. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.js +2 -0
  184. package/dist/commands/service/services/autostart/linux-systemd-autostart.service.js.map +1 -0
  185. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.d.ts +2 -1
  186. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.d.ts.map +1 -0
  187. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.js +2 -0
  188. package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.js.map +1 -0
  189. package/dist/commands/service/services/autostart/windows-task-autostart.service.d.ts +2 -1
  190. package/dist/commands/service/services/autostart/windows-task-autostart.service.d.ts.map +1 -0
  191. package/dist/commands/service/services/autostart/windows-task-autostart.service.js +2 -0
  192. package/dist/commands/service/services/autostart/windows-task-autostart.service.js.map +1 -0
  193. package/dist/commands/service/types/autostart/host-autostart.types.d.ts +2 -1
  194. package/dist/commands/service/types/autostart/host-autostart.types.d.ts.map +1 -0
  195. package/dist/launcher/npm-runtime-bundle-layout.store.d.ts +2 -1
  196. package/dist/launcher/npm-runtime-bundle-layout.store.d.ts.map +1 -0
  197. package/dist/launcher/npm-runtime-bundle-layout.store.js +2 -0
  198. package/dist/launcher/npm-runtime-bundle-layout.store.js.map +1 -0
  199. package/dist/launcher/npm-runtime-bundle-manifest.service.d.ts +2 -1
  200. package/dist/launcher/npm-runtime-bundle-manifest.service.d.ts.map +1 -0
  201. package/dist/launcher/npm-runtime-bundle-manifest.service.js +2 -0
  202. package/dist/launcher/npm-runtime-bundle-manifest.service.js.map +1 -0
  203. package/dist/launcher/npm-runtime-bundle.service.d.ts +2 -1
  204. package/dist/launcher/npm-runtime-bundle.service.d.ts.map +1 -0
  205. package/dist/launcher/npm-runtime-bundle.service.js +2 -0
  206. package/dist/launcher/npm-runtime-bundle.service.js.map +1 -0
  207. package/dist/launcher/npm-runtime-bundle.types.d.ts +2 -1
  208. package/dist/launcher/npm-runtime-bundle.types.d.ts.map +1 -0
  209. package/dist/launcher/npm-runtime-launcher.service.d.ts +2 -1
  210. package/dist/launcher/npm-runtime-launcher.service.d.ts.map +1 -0
  211. package/dist/launcher/npm-runtime-launcher.service.js +2 -0
  212. package/dist/launcher/npm-runtime-launcher.service.js.map +1 -0
  213. package/dist/launcher/npm-runtime-update-command.service.d.ts +5 -1
  214. package/dist/launcher/npm-runtime-update-command.service.d.ts.map +1 -0
  215. package/dist/launcher/npm-runtime-update-command.service.js +32 -0
  216. package/dist/launcher/npm-runtime-update-command.service.js.map +1 -0
  217. package/dist/launcher/npm-runtime-update-source.service.d.ts +2 -1
  218. package/dist/launcher/npm-runtime-update-source.service.d.ts.map +1 -0
  219. package/dist/launcher/npm-runtime-update-source.service.js +2 -0
  220. package/dist/launcher/npm-runtime-update-source.service.js.map +1 -0
  221. package/dist/launcher/npm-runtime-update-state.store.d.ts +2 -1
  222. package/dist/launcher/npm-runtime-update-state.store.d.ts.map +1 -0
  223. package/dist/launcher/npm-runtime-update-state.store.js +2 -0
  224. package/dist/launcher/npm-runtime-update-state.store.js.map +1 -0
  225. package/dist/launcher/npm-runtime-update.manager.d.ts +2 -1
  226. package/dist/launcher/npm-runtime-update.manager.d.ts.map +1 -0
  227. package/dist/launcher/npm-runtime-update.manager.js +2 -0
  228. package/dist/launcher/npm-runtime-update.manager.js.map +1 -0
  229. package/dist/launcher/npm-runtime-update.service.d.ts +2 -1
  230. package/dist/launcher/npm-runtime-update.service.d.ts.map +1 -0
  231. package/dist/launcher/npm-runtime-update.service.js +2 -0
  232. package/dist/launcher/npm-runtime-update.service.js.map +1 -0
  233. package/dist/service-runtime.service.d.ts +2 -1
  234. package/dist/service-runtime.service.d.ts.map +1 -0
  235. package/dist/service-runtime.service.js +6 -1
  236. package/dist/service-runtime.service.js.map +1 -0
  237. package/dist/shared/controllers/gateway.controller.d.ts +2 -1
  238. package/dist/shared/controllers/gateway.controller.d.ts.map +1 -0
  239. package/dist/shared/controllers/gateway.controller.js +2 -0
  240. package/dist/shared/controllers/gateway.controller.js.map +1 -0
  241. package/dist/shared/services/gateway/gateway-restart-wake.service.d.ts +2 -1
  242. package/dist/shared/services/gateway/gateway-restart-wake.service.d.ts.map +1 -0
  243. package/dist/shared/services/gateway/gateway-restart-wake.service.js +2 -0
  244. package/dist/shared/services/gateway/gateway-restart-wake.service.js.map +1 -0
  245. package/dist/shared/services/gateway/managers/gateway-plugin.manager.d.ts +2 -1
  246. package/dist/shared/services/gateway/managers/gateway-plugin.manager.d.ts.map +1 -0
  247. package/dist/shared/services/gateway/managers/gateway-plugin.manager.js +2 -0
  248. package/dist/shared/services/gateway/managers/gateway-plugin.manager.js.map +1 -0
  249. package/dist/shared/services/gateway/managers/gateway-remote.manager.d.ts +2 -1
  250. package/dist/shared/services/gateway/managers/gateway-remote.manager.d.ts.map +1 -0
  251. package/dist/shared/services/gateway/managers/gateway-remote.manager.js +2 -0
  252. package/dist/shared/services/gateway/managers/gateway-remote.manager.js.map +1 -0
  253. package/dist/shared/services/gateway/nextclaw-app.service.d.ts +2 -1
  254. package/dist/shared/services/gateway/nextclaw-app.service.d.ts.map +1 -0
  255. package/dist/shared/services/gateway/nextclaw-app.service.js +2 -0
  256. package/dist/shared/services/gateway/nextclaw-app.service.js.map +1 -0
  257. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.d.ts +2 -1
  258. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.d.ts.map +1 -0
  259. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.js +2 -0
  260. package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.js.map +1 -0
  261. package/dist/shared/services/gateway/service-bootstrap-status.service.d.ts +2 -1
  262. package/dist/shared/services/gateway/service-bootstrap-status.service.d.ts.map +1 -0
  263. package/dist/shared/services/gateway/service-bootstrap-status.service.js +2 -0
  264. package/dist/shared/services/gateway/service-bootstrap-status.service.js.map +1 -0
  265. package/dist/shared/services/gateway/service-startup-support.service.d.ts +2 -1
  266. package/dist/shared/services/gateway/service-startup-support.service.d.ts.map +1 -0
  267. package/dist/shared/services/gateway/service-startup-support.service.js +2 -0
  268. package/dist/shared/services/gateway/service-startup-support.service.js.map +1 -0
  269. package/dist/shared/services/gateway/utils/cron-job-handler.utils.d.ts +2 -1
  270. package/dist/shared/services/gateway/utils/cron-job-handler.utils.d.ts.map +1 -0
  271. package/dist/shared/services/gateway/utils/cron-job-handler.utils.js +2 -0
  272. package/dist/shared/services/gateway/utils/cron-job-handler.utils.js.map +1 -0
  273. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.d.ts +2 -1
  274. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.d.ts.map +1 -0
  275. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.js +2 -0
  276. package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.js.map +1 -0
  277. package/dist/shared/services/marketplace/service-marketplace-installer.service.d.ts +2 -1
  278. package/dist/shared/services/marketplace/service-marketplace-installer.service.d.ts.map +1 -0
  279. package/dist/shared/services/marketplace/service-marketplace-installer.service.js +2 -0
  280. package/dist/shared/services/marketplace/service-marketplace-installer.service.js.map +1 -0
  281. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.d.ts +2 -1
  282. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.d.ts.map +1 -0
  283. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.js +2 -0
  284. package/dist/shared/services/marketplace/service-mcp-marketplace-ops.js.map +1 -0
  285. package/dist/shared/services/plugin/utils/plugin-dev-hot-reload.utils.d.ts +2 -1
  286. package/dist/shared/services/plugin/utils/plugin-dev-hot-reload.utils.d.ts.map +1 -0
  287. package/dist/shared/services/plugin/utils/plugin-dev-hot-reload.utils.js +2 -0
  288. package/dist/shared/services/plugin/utils/plugin-dev-hot-reload.utils.js.map +1 -0
  289. package/dist/shared/services/plugin/utils/plugin-runtime-bridge.utils.d.ts +2 -1
  290. package/dist/shared/services/plugin/utils/plugin-runtime-bridge.utils.d.ts.map +1 -0
  291. package/dist/shared/services/plugin/utils/plugin-runtime-bridge.utils.js +2 -0
  292. package/dist/shared/services/plugin/utils/plugin-runtime-bridge.utils.js.map +1 -0
  293. package/dist/shared/services/restart/restart-coordinator.service.d.ts +2 -1
  294. package/dist/shared/services/restart/restart-coordinator.service.d.ts.map +1 -0
  295. package/dist/shared/services/restart/restart-coordinator.service.js +2 -0
  296. package/dist/shared/services/restart/restart-coordinator.service.js.map +1 -0
  297. package/dist/shared/services/restart/restart-sentinel.service.d.ts +2 -1
  298. package/dist/shared/services/restart/restart-sentinel.service.d.ts.map +1 -0
  299. package/dist/shared/services/restart/restart-sentinel.service.js +2 -0
  300. package/dist/shared/services/restart/restart-sentinel.service.js.map +1 -0
  301. package/dist/shared/services/restart/runtime-restart-request.service.d.ts +2 -1
  302. package/dist/shared/services/restart/runtime-restart-request.service.d.ts.map +1 -0
  303. package/dist/shared/services/restart/runtime-restart-request.service.js +2 -0
  304. package/dist/shared/services/restart/runtime-restart-request.service.js.map +1 -0
  305. package/dist/shared/services/runtime/managed-service-supervisor.service.d.ts +2 -1
  306. package/dist/shared/services/runtime/managed-service-supervisor.service.d.ts.map +1 -0
  307. package/dist/shared/services/runtime/managed-service-supervisor.service.js +2 -0
  308. package/dist/shared/services/runtime/managed-service-supervisor.service.js.map +1 -0
  309. package/dist/shared/services/runtime/nextclaw-distribution.service.d.ts +2 -1
  310. package/dist/shared/services/runtime/nextclaw-distribution.service.d.ts.map +1 -0
  311. package/dist/shared/services/runtime/nextclaw-distribution.service.js +2 -0
  312. package/dist/shared/services/runtime/nextclaw-distribution.service.js.map +1 -0
  313. package/dist/shared/services/runtime/runtime-command.service.d.ts +2 -1
  314. package/dist/shared/services/runtime/runtime-command.service.d.ts.map +1 -0
  315. package/dist/shared/services/runtime/runtime-command.service.js +2 -0
  316. package/dist/shared/services/runtime/runtime-command.service.js.map +1 -0
  317. package/dist/shared/services/runtime/runtime-config-init.service.d.ts +2 -1
  318. package/dist/shared/services/runtime/runtime-config-init.service.d.ts.map +1 -0
  319. package/dist/shared/services/runtime/runtime-config-init.service.js +2 -0
  320. package/dist/shared/services/runtime/runtime-config-init.service.js.map +1 -0
  321. package/dist/shared/services/runtime/service-managed-startup.service.d.ts +2 -1
  322. package/dist/shared/services/runtime/service-managed-startup.service.d.ts.map +1 -0
  323. package/dist/shared/services/runtime/service-managed-startup.service.js +2 -0
  324. package/dist/shared/services/runtime/service-managed-startup.service.js.map +1 -0
  325. package/dist/shared/services/runtime/utils/managed-service-routing.utils.d.ts +2 -1
  326. package/dist/shared/services/runtime/utils/managed-service-routing.utils.d.ts.map +1 -0
  327. package/dist/shared/services/runtime/utils/managed-service-routing.utils.js +2 -0
  328. package/dist/shared/services/runtime/utils/managed-service-routing.utils.js.map +1 -0
  329. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.d.ts +2 -1
  330. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.d.ts.map +1 -0
  331. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.js +2 -0
  332. package/dist/shared/services/runtime/utils/service-remote-runtime.utils.js.map +1 -0
  333. package/dist/shared/services/ui/companion-runtime.service.d.ts +2 -1
  334. package/dist/shared/services/ui/companion-runtime.service.d.ts.map +1 -0
  335. package/dist/shared/services/ui/companion-runtime.service.js +2 -0
  336. package/dist/shared/services/ui/companion-runtime.service.js.map +1 -0
  337. package/dist/shared/services/ui/local-ui-discovery.service.d.ts +2 -1
  338. package/dist/shared/services/ui/local-ui-discovery.service.d.ts.map +1 -0
  339. package/dist/shared/services/ui/local-ui-discovery.service.js +2 -0
  340. package/dist/shared/services/ui/local-ui-discovery.service.js.map +1 -0
  341. package/dist/shared/services/ui/npm-runtime-update-host.service.d.ts +2 -1
  342. package/dist/shared/services/ui/npm-runtime-update-host.service.d.ts.map +1 -0
  343. package/dist/shared/services/ui/npm-runtime-update-host.service.js +2 -0
  344. package/dist/shared/services/ui/npm-runtime-update-host.service.js.map +1 -0
  345. package/dist/shared/services/ui/runtime-control-host.service.d.ts +2 -1
  346. package/dist/shared/services/ui/runtime-control-host.service.d.ts.map +1 -0
  347. package/dist/shared/services/ui/runtime-control-host.service.js +2 -0
  348. package/dist/shared/services/ui/runtime-control-host.service.js.map +1 -0
  349. package/dist/shared/services/ui/service-remote-access.service.d.ts +2 -1
  350. package/dist/shared/services/ui/service-remote-access.service.d.ts.map +1 -0
  351. package/dist/shared/services/ui/service-remote-access.service.js +2 -0
  352. package/dist/shared/services/ui/service-remote-access.service.js.map +1 -0
  353. package/dist/shared/services/ui/ui-bridge-api.service.d.ts +2 -1
  354. package/dist/shared/services/ui/ui-bridge-api.service.d.ts.map +1 -0
  355. package/dist/shared/services/ui/ui-bridge-api.service.js +2 -0
  356. package/dist/shared/services/ui/ui-bridge-api.service.js.map +1 -0
  357. package/dist/shared/services/workspace/workspace-manager.service.d.ts +2 -1
  358. package/dist/shared/services/workspace/workspace-manager.service.d.ts.map +1 -0
  359. package/dist/shared/services/workspace/workspace-manager.service.js +2 -0
  360. package/dist/shared/services/workspace/workspace-manager.service.js.map +1 -0
  361. package/dist/shared/stores/companion-runtime.store.d.ts +2 -1
  362. package/dist/shared/stores/companion-runtime.store.d.ts.map +1 -0
  363. package/dist/shared/stores/companion-runtime.store.js +2 -0
  364. package/dist/shared/stores/companion-runtime.store.js.map +1 -0
  365. package/dist/shared/stores/local-ui-runtime.store.d.ts +2 -1
  366. package/dist/shared/stores/local-ui-runtime.store.d.ts.map +1 -0
  367. package/dist/shared/stores/local-ui-runtime.store.js +2 -0
  368. package/dist/shared/stores/local-ui-runtime.store.js.map +1 -0
  369. package/dist/shared/stores/managed-service-state.store.d.ts +2 -1
  370. package/dist/shared/stores/managed-service-state.store.d.ts.map +1 -0
  371. package/dist/shared/stores/managed-service-state.store.js +2 -0
  372. package/dist/shared/stores/managed-service-state.store.js.map +1 -0
  373. package/dist/shared/stores/pending-restart.store.d.ts +2 -1
  374. package/dist/shared/stores/pending-restart.store.d.ts.map +1 -0
  375. package/dist/shared/stores/pending-restart.store.js +2 -0
  376. package/dist/shared/stores/pending-restart.store.js.map +1 -0
  377. package/dist/shared/types/cli.types.d.ts +2 -1
  378. package/dist/shared/types/cli.types.d.ts.map +1 -0
  379. package/dist/shared/types/distribution.types.d.ts +2 -1
  380. package/dist/shared/types/distribution.types.d.ts.map +1 -0
  381. package/dist/shared/utils/cli.utils.d.ts +2 -1
  382. package/dist/shared/utils/cli.utils.d.ts.map +1 -0
  383. package/dist/shared/utils/cli.utils.js +2 -0
  384. package/dist/shared/utils/cli.utils.js.map +1 -0
  385. package/dist/shared/utils/config-path.d.ts +2 -1
  386. package/dist/shared/utils/config-path.d.ts.map +1 -0
  387. package/dist/shared/utils/config-path.js +2 -0
  388. package/dist/shared/utils/config-path.js.map +1 -0
  389. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.d.ts +2 -1
  390. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.d.ts.map +1 -0
  391. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.js +2 -0
  392. package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.js.map +1 -0
  393. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.d.ts +2 -1
  394. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.d.ts.map +1 -0
  395. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.js +2 -0
  396. package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.js.map +1 -0
  397. package/dist/shared/utils/package/package-manifest.utils.d.ts +2 -1
  398. package/dist/shared/utils/package/package-manifest.utils.d.ts.map +1 -0
  399. package/dist/shared/utils/package/package-manifest.utils.js +2 -0
  400. package/dist/shared/utils/package/package-manifest.utils.js.map +1 -0
  401. package/dist/shared/utils/runtime-helpers.d.ts +2 -1
  402. package/dist/shared/utils/runtime-helpers.d.ts.map +1 -0
  403. package/dist/shared/utils/runtime-helpers.js +2 -0
  404. package/dist/shared/utils/runtime-helpers.js.map +1 -0
  405. package/dist/shared/utils/service-port-probe.utils.d.ts +2 -1
  406. package/dist/shared/utils/service-port-probe.utils.d.ts.map +1 -0
  407. package/dist/shared/utils/service-port-probe.utils.js +2 -0
  408. package/dist/shared/utils/service-port-probe.utils.js.map +1 -0
  409. package/dist/shared/utils/startup-trace.d.ts +2 -1
  410. package/dist/shared/utils/startup-trace.d.ts.map +1 -0
  411. package/dist/shared/utils/startup-trace.js +2 -0
  412. package/dist/shared/utils/startup-trace.js.map +1 -0
  413. package/dist/shared/utils/top-level-nextclaw-command-env.utils.d.ts +2 -1
  414. package/dist/shared/utils/top-level-nextclaw-command-env.utils.d.ts.map +1 -0
  415. package/dist/shared/utils/top-level-nextclaw-command-env.utils.js +2 -0
  416. package/dist/shared/utils/top-level-nextclaw-command-env.utils.js.map +1 -0
  417. package/package.json +20 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-ui-runtime.store.js","names":[],"sources":["../../../src/shared/stores/local-ui-runtime.store.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { getDataDir, type Config } from \"@nextclaw/core\";\nimport type { RemoteRuntimeState } from \"@nextclaw/remote\";\nimport { resolveUiApiBase } from \"../utils/cli.utils.js\";\n\nexport type LocalUiRuntimeState = {\n pid: number;\n startedAt: string;\n uiUrl: string;\n apiUrl: string;\n uiHost?: string;\n uiPort?: number;\n remote?: RemoteRuntimeState;\n};\n\nexport class LocalUiRuntimeStore {\n get path(): string {\n return resolve(getDataDir(), \"run\", \"ui-runtime.json\");\n }\n\n readonly read = (): LocalUiRuntimeState | null => {\n if (!existsSync(this.path)) {\n return null;\n }\n try {\n const raw = readFileSync(this.path, \"utf-8\");\n return JSON.parse(raw) as LocalUiRuntimeState;\n } catch {\n return null;\n }\n };\n\n readonly write = (state: LocalUiRuntimeState): void => {\n mkdirSync(resolve(this.path, \"..\"), { recursive: true });\n writeFileSync(this.path, JSON.stringify(state, null, 2));\n };\n\n readonly update = (updater: (state: LocalUiRuntimeState) => LocalUiRuntimeState): LocalUiRuntimeState | null => {\n const current = this.read();\n if (!current) {\n return null;\n }\n const next = updater(current);\n this.write(next);\n return next;\n };\n\n readonly clear = (): void => {\n if (existsSync(this.path)) {\n rmSync(this.path, { force: true });\n }\n };\n\n readonly clearIfOwnedByProcess = (pid = process.pid): void => {\n if (this.read()?.pid === pid) {\n this.clear();\n }\n };\n\n readonly writeCurrentProcess = (\n uiConfig: Pick<Config[\"ui\"], \"host\" | \"port\">,\n pid = process.pid\n ): LocalUiRuntimeState => {\n const existing = this.read();\n const uiUrl = resolveUiApiBase(uiConfig.host, uiConfig.port);\n const state: LocalUiRuntimeState = {\n pid,\n startedAt:\n existing?.pid === pid && typeof existing.startedAt === \"string\"\n ? existing.startedAt\n : new Date().toISOString(),\n uiUrl,\n apiUrl: `${uiUrl}/api`,\n uiHost: uiConfig.host,\n uiPort: uiConfig.port,\n ...(existing?.remote ? { remote: existing.remote } : {})\n };\n this.write(state);\n return state;\n };\n}\n\nexport const localUiRuntimeStore = new LocalUiRuntimeStore();\n"],"mappings":";;;;;AAgBA,IAAa,sBAAb,MAAiC;CAC/B,IAAI,OAAe;AACjB,SAAO,QAAQ,YAAY,EAAE,OAAO,kBAAkB;;CAGxD,aAAkD;AAChD,MAAI,CAAC,WAAW,KAAK,KAAK,CACxB,QAAO;AAET,MAAI;GACF,MAAM,MAAM,aAAa,KAAK,MAAM,QAAQ;AAC5C,UAAO,KAAK,MAAM,IAAI;UAChB;AACN,UAAO;;;CAIX,SAAkB,UAAqC;AACrD,YAAU,QAAQ,KAAK,MAAM,KAAK,EAAE,EAAE,WAAW,MAAM,CAAC;AACxD,gBAAc,KAAK,MAAM,KAAK,UAAU,OAAO,MAAM,EAAE,CAAC;;CAG1D,UAAmB,YAA6F;EAC9G,MAAM,UAAU,KAAK,MAAM;AAC3B,MAAI,CAAC,QACH,QAAO;EAET,MAAM,OAAO,QAAQ,QAAQ;AAC7B,OAAK,MAAM,KAAK;AAChB,SAAO;;CAGT,cAA6B;AAC3B,MAAI,WAAW,KAAK,KAAK,CACvB,QAAO,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC;;CAItC,yBAAkC,MAAM,QAAQ,QAAc;AAC5D,MAAI,KAAK,MAAM,EAAE,QAAQ,IACvB,MAAK,OAAO;;CAIhB,uBACE,UACA,MAAM,QAAQ,QACU;EACxB,MAAM,WAAW,KAAK,MAAM;EAC5B,MAAM,QAAQ,iBAAiB,SAAS,MAAM,SAAS,KAAK;EAC5D,MAAM,QAA6B;GACjC;GACA,WACE,UAAU,QAAQ,OAAO,OAAO,SAAS,cAAc,WACnD,SAAS,6BACT,IAAI,MAAM,EAAC,aAAa;GAC9B;GACA,QAAQ,GAAG,MAAM;GACjB,QAAQ,SAAS;GACjB,QAAQ,SAAS;GACjB,GAAI,UAAU,SAAS,EAAE,QAAQ,SAAS,QAAQ,GAAG,EAAE;GACxD;AACD,OAAK,MAAM,MAAM;AACjB,SAAO;;;AAIX,MAAa,sBAAsB,IAAI,qBAAqB"}
@@ -42,4 +42,5 @@ declare class ManagedServiceStateStore {
42
42
  }
43
43
  declare const managedServiceStateStore: ManagedServiceStateStore;
44
44
  //#endregion
45
- export { ManagedServiceLastExit, ManagedServiceLease, ManagedServiceState, ManagedServiceStateStore, managedServiceStateStore };
45
+ export { ManagedServiceLastExit, ManagedServiceLease, ManagedServiceState, ManagedServiceStateStore, managedServiceStateStore };
46
+ //# sourceMappingURL=managed-service-state.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-service-state.store.d.ts","names":[],"sources":["../../../src/shared/stores/managed-service-state.store.ts"],"mappings":";;;KAKY,mBAAA;EACV,QAAA;EACA,WAAA;EACA,mBAAA;EACA,KAAA;AAAA;AAAA,KAGG,wBAAA;AAAA,KAKO,sBAAA;EACV,GAAA;EACA,MAAA,EAAQ,wBAAA;EACR,QAAA;EACA,IAAA;EACA,MAAA;EACA,OAAA;AAAA;AAAA,KAGU,mBAAA;EACV,GAAA;EACA,SAAA;EACA,KAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,OAAA;EACA,YAAA;EACA,qBAAA;EACA,gBAAA;EACA,gBAAA;EACA,KAAA,GAAQ,mBAAA;EACR,QAAA,GAAW,sBAAA;EACX,MAAA,GAAS,kBAAA;AAAA;AAAA,cAGE,wBAAA;EAAA,IACP,IAAA,CAAA;EAAA,SAIK,IAAA,QAAW,mBAAA;EAAA,SAYX,KAAA,GAAS,KAAA,EAAO,mBAAA;EAAA,SAKhB,MAAA,GAAU,OAAA,GAAU,KAAA,EAAO,mBAAA,KAAwB,mBAAA,KAAsB,mBAAA;EAAA,SAUzE,KAAA;EAAA,SAMA,qBAAA,GAAyB,GAAA;AAAA;AAAA,cAOvB,wBAAA,EAAwB,wBAAA"}
@@ -36,3 +36,5 @@ var ManagedServiceStateStore = class {
36
36
  const managedServiceStateStore = new ManagedServiceStateStore();
37
37
  //#endregion
38
38
  export { ManagedServiceStateStore, managedServiceStateStore };
39
+
40
+ //# sourceMappingURL=managed-service-state.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-service-state.store.js","names":[],"sources":["../../../src/shared/stores/managed-service-state.store.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { getDataDir } from \"@nextclaw/core\";\nimport type { RemoteRuntimeState } from \"@nextclaw/remote\";\n\nexport type ManagedServiceLease = {\n ownerPid: number;\n heartbeatAt: string;\n heartbeatIntervalMs: number;\n ttlMs: number;\n};\n\ntype ManagedServiceExitReason =\n | \"exit\"\n | \"signal\"\n | \"uncaughtException\";\n\nexport type ManagedServiceLastExit = {\n pid: number;\n reason: ManagedServiceExitReason;\n exitedAt: string;\n code?: number | null;\n signal?: string | null;\n message?: string | null;\n};\n\nexport type ManagedServiceState = {\n pid: number;\n startedAt: string;\n uiUrl: string;\n apiUrl: string;\n uiHost?: string;\n uiPort?: number;\n logPath: string;\n startupState?: \"ready\" | \"degraded\";\n startupLastProbeError?: string | null;\n startupTimeoutMs?: number;\n startupCheckedAt?: string;\n lease?: ManagedServiceLease;\n lastExit?: ManagedServiceLastExit;\n remote?: RemoteRuntimeState;\n};\n\nexport class ManagedServiceStateStore {\n get path(): string {\n return resolve(getDataDir(), \"run\", \"service.json\");\n }\n\n readonly read = (): ManagedServiceState | null => {\n if (!existsSync(this.path)) {\n return null;\n }\n try {\n const raw = readFileSync(this.path, \"utf-8\");\n return JSON.parse(raw) as ManagedServiceState;\n } catch {\n return null;\n }\n };\n\n readonly write = (state: ManagedServiceState): void => {\n mkdirSync(resolve(this.path, \"..\"), { recursive: true });\n writeFileSync(this.path, JSON.stringify(state, null, 2));\n };\n\n readonly update = (updater: (state: ManagedServiceState) => ManagedServiceState): ManagedServiceState | null => {\n const current = this.read();\n if (!current) {\n return null;\n }\n const next = updater(current);\n this.write(next);\n return next;\n };\n\n readonly clear = (): void => {\n if (existsSync(this.path)) {\n rmSync(this.path, { force: true });\n }\n };\n\n readonly clearIfOwnedByProcess = (pid = process.pid): void => {\n if (this.read()?.pid === pid) {\n this.clear();\n }\n };\n}\n\nexport const managedServiceStateStore = new ManagedServiceStateStore();\n"],"mappings":";;;;AA2CA,IAAa,2BAAb,MAAsC;CACpC,IAAI,OAAe;AACjB,SAAO,QAAQ,YAAY,EAAE,OAAO,eAAe;;CAGrD,aAAkD;AAChD,MAAI,CAAC,WAAW,KAAK,KAAK,CACxB,QAAO;AAET,MAAI;GACF,MAAM,MAAM,aAAa,KAAK,MAAM,QAAQ;AAC5C,UAAO,KAAK,MAAM,IAAI;UAChB;AACN,UAAO;;;CAIX,SAAkB,UAAqC;AACrD,YAAU,QAAQ,KAAK,MAAM,KAAK,EAAE,EAAE,WAAW,MAAM,CAAC;AACxD,gBAAc,KAAK,MAAM,KAAK,UAAU,OAAO,MAAM,EAAE,CAAC;;CAG1D,UAAmB,YAA6F;EAC9G,MAAM,UAAU,KAAK,MAAM;AAC3B,MAAI,CAAC,QACH,QAAO;EAET,MAAM,OAAO,QAAQ,QAAQ;AAC7B,OAAK,MAAM,KAAK;AAChB,SAAO;;CAGT,cAA6B;AAC3B,MAAI,WAAW,KAAK,KAAK,CACvB,QAAO,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC;;CAItC,yBAAkC,MAAM,QAAQ,QAAc;AAC5D,MAAI,KAAK,MAAM,EAAE,QAAQ,IACvB,MAAK,OAAO;;;AAKlB,MAAa,2BAA2B,IAAI,0BAA0B"}
@@ -18,4 +18,5 @@ declare class PendingRestartStore {
18
18
  }
19
19
  declare const pendingRestartStore: PendingRestartStore;
20
20
  //#endregion
21
- export { PendingRestartState, PendingRestartStore, pendingRestartStore };
21
+ export { PendingRestartState, PendingRestartStore, pendingRestartStore };
22
+ //# sourceMappingURL=pending-restart.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-restart.store.d.ts","names":[],"sources":["../../../src/shared/stores/pending-restart.store.ts"],"mappings":";KAAY,mBAAA;EACV,YAAA;EACA,OAAA;EACA,OAAA;EACA,WAAA;AAAA;AAAA,KAGG,wBAAA;EACH,YAAA;EACA,aAAA;EACA,MAAA;AAAA;AAAA,cAyBW,mBAAA;EAAA,QACH,KAAA;EAAA,SAEC,IAAA,QAAW,mBAAA;EAAA,SAIX,IAAA,GAAQ,MAAA,EAAQ,wBAAA,KAA2B,mBAAA;EAAA,SAW3C,KAAA;AAAA;AAAA,cAKE,mBAAA,EAAmB,mBAAA"}
@@ -33,3 +33,5 @@ var PendingRestartStore = class {
33
33
  const pendingRestartStore = new PendingRestartStore();
34
34
  //#endregion
35
35
  export { PendingRestartStore, pendingRestartStore };
36
+
37
+ //# sourceMappingURL=pending-restart.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-restart.store.js","names":[],"sources":["../../../src/shared/stores/pending-restart.store.ts"],"sourcesContent":["export type PendingRestartState = {\n changedPaths: string[];\n message: string;\n reasons: string[];\n requestedAt: string;\n};\n\ntype MarkPendingRestartParams = {\n changedPaths?: string[];\n manualMessage: string;\n reason: string;\n};\n\nconst clonePendingRestartState = (state: PendingRestartState | null): PendingRestartState | null => {\n if (!state) {\n return null;\n }\n return {\n changedPaths: [...state.changedPaths],\n message: state.message,\n reasons: [...state.reasons],\n requestedAt: state.requestedAt\n };\n};\n\nconst dedupeStrings = (values: string[]): string[] => {\n return Array.from(\n new Set(\n values\n .map((value) => value.trim())\n .filter((value) => value.length > 0)\n )\n );\n};\n\nexport class PendingRestartStore {\n private state: PendingRestartState | null = null;\n\n readonly read = (): PendingRestartState | null => {\n return clonePendingRestartState(this.state);\n };\n\n readonly mark = (params: MarkPendingRestartParams): PendingRestartState => {\n const nextState: PendingRestartState = {\n changedPaths: dedupeStrings([...(this.state?.changedPaths ?? []), ...(params.changedPaths ?? [])]),\n message: params.manualMessage.trim() || this.state?.message || \"Restart required to apply saved changes.\",\n reasons: dedupeStrings([...(this.state?.reasons ?? []), params.reason]),\n requestedAt: new Date().toISOString()\n };\n this.state = nextState;\n return clonePendingRestartState(nextState)!;\n };\n\n readonly clear = (): void => {\n this.state = null;\n };\n}\n\nexport const pendingRestartStore = new PendingRestartStore();\n"],"mappings":";AAaA,MAAM,4BAA4B,UAAkE;AAClG,KAAI,CAAC,MACH,QAAO;AAET,QAAO;EACL,cAAc,CAAC,GAAG,MAAM,aAAa;EACrC,SAAS,MAAM;EACf,SAAS,CAAC,GAAG,MAAM,QAAQ;EAC3B,aAAa,MAAM;EACpB;;AAGH,MAAM,iBAAiB,WAA+B;AACpD,QAAO,MAAM,KACX,IAAI,IACF,OACG,KAAK,UAAU,MAAM,MAAM,CAAC,CAC5B,QAAQ,UAAU,MAAM,SAAS,EAAE,CACvC,CACF;;AAGH,IAAa,sBAAb,MAAiC;CAC/B,QAA4C;CAE5C,aAAkD;AAChD,SAAO,yBAAyB,KAAK,MAAM;;CAG7C,QAAiB,WAA0D;EACzE,MAAM,YAAiC;GACrC,cAAc,cAAc,CAAC,GAAI,KAAK,OAAO,gBAAgB,EAAE,EAAG,GAAI,OAAO,gBAAgB,EAAE,CAAE,CAAC;GAClG,SAAS,OAAO,cAAc,MAAM,IAAI,KAAK,OAAO,WAAW;GAC/D,SAAS,cAAc,CAAC,GAAI,KAAK,OAAO,WAAW,EAAE,EAAG,OAAO,OAAO,CAAC;GACvE,8BAAa,IAAI,MAAM,EAAC,aAAa;GACtC;AACD,OAAK,QAAQ;AACb,SAAO,yBAAyB,UAAU;;CAG5C,cAA6B;AAC3B,OAAK,QAAQ;;;AAIjB,MAAa,sBAAsB,IAAI,qBAAqB"}
@@ -297,4 +297,5 @@ type RequestRestartParams = {
297
297
  mode?: "execute" | "notify";
298
298
  };
299
299
  //#endregion
300
- export { AccountCommandOptions, AccountSetUsernameCommandOptions, AgentCommandOptions, AgentsListCommandOptions, AgentsNewCommandOptions, AgentsRemoveCommandOptions, AgentsRuntimesCommandOptions, AgentsUpdateCommandOptions, ChannelsAddOptions, ChannelsListOptions, ChannelsLoginOptions, ConfigGetOptions, ConfigSetOptions, CronAddOptions, DoctorCommandOptions, GatewayCommandOptions, HealthProbe, LoginCommandOptions, LogsTailCommandOptions, MarketplaceSkillsRecommendCommandOptions, MarketplaceSkillsSearchCommandOptions, McpAddCommandOptions, McpDoctorOptions, McpListOptions, PluginsInfoOptions, PluginsInstallOptions, PluginsListOptions, PluginsUninstallOptions, type RemoteConnectCommandOptions, type RemoteDoctorCommandOptions, type RemoteEnableCommandOptions, type RemoteStatusCommandOptions, RequestRestartParams, RuntimeStatusReport, SecretsApplyOptions, SecretsAuditOptions, SecretsConfigureOptions, SecretsReloadOptions, ServiceAutostartCommandOptions, SkillsInfoCommandOptions, SkillsInstalledCommandOptions, StartCommandOptions, StatusCommandOptions, UiCommandOptions, UpdateCommandOptions, UsageCommandOptions };
300
+ export { AccountCommandOptions, AccountSetUsernameCommandOptions, AgentCommandOptions, AgentsListCommandOptions, AgentsNewCommandOptions, AgentsRemoveCommandOptions, AgentsRuntimesCommandOptions, AgentsUpdateCommandOptions, ChannelsAddOptions, ChannelsListOptions, ChannelsLoginOptions, ConfigGetOptions, ConfigSetOptions, CronAddOptions, DoctorCommandOptions, GatewayCommandOptions, HealthProbe, LoginCommandOptions, LogsTailCommandOptions, MarketplaceSkillsRecommendCommandOptions, MarketplaceSkillsSearchCommandOptions, McpAddCommandOptions, McpDoctorOptions, McpListOptions, PluginsInfoOptions, PluginsInstallOptions, PluginsListOptions, PluginsUninstallOptions, type RemoteConnectCommandOptions, type RemoteDoctorCommandOptions, type RemoteEnableCommandOptions, type RemoteStatusCommandOptions, RequestRestartParams, RuntimeStatusReport, SecretsApplyOptions, SecretsAuditOptions, SecretsConfigureOptions, SecretsReloadOptions, ServiceAutostartCommandOptions, SkillsInfoCommandOptions, SkillsInstalledCommandOptions, StartCommandOptions, StatusCommandOptions, UiCommandOptions, UpdateCommandOptions, UsageCommandOptions };
301
+ //# sourceMappingURL=cli.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.types.d.ts","names":[],"sources":["../../../src/shared/types/cli.types.ts"],"mappings":"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"}
@@ -7,4 +7,5 @@ type NextclawDistribution = {
7
7
  runtimeUpdatePublicKeyPath: string;
8
8
  };
9
9
  //#endregion
10
- export { NextclawDistribution };
10
+ export { NextclawDistribution };
11
+ //# sourceMappingURL=distribution.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.types.d.ts","names":[],"sources":["../../../src/shared/types/distribution.types.ts"],"mappings":";KAAY,oBAAA;EACV,OAAA;EACA,WAAA;EACA,aAAA;EACA,SAAA;EACA,0BAAA;AAAA"}
@@ -28,4 +28,5 @@ declare function findExecutableOnPath(binary: string, env?: ExecutableLookupEnv,
28
28
  declare function printAgentResponse(response: string): void;
29
29
  declare function prompt(rl: Interface, question: string): Promise<string>;
30
30
  //#endregion
31
- export { ExecutableLookupEnv, ListeningProcessInfo, findExecutableOnPath, findListeningProcessByPort, getPackageVersion, isLoopbackHost, isProcessRunning, openBrowser, printAgentResponse, prompt, resolvePublicIp, resolveServiceLogPath, resolveUiApiBase, resolveUiConfig, resolveUiStaticDir, waitForExit };
31
+ export { ExecutableLookupEnv, ListeningProcessInfo, findExecutableOnPath, findListeningProcessByPort, getPackageVersion, isLoopbackHost, isProcessRunning, openBrowser, printAgentResponse, prompt, resolvePublicIp, resolveServiceLogPath, resolveUiApiBase, resolveUiConfig, resolveUiStaticDir, waitForExit };
32
+ //# sourceMappingURL=cli.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.utils.d.ts","names":[],"sources":["../../../src/shared/utils/cli.utils.ts"],"mappings":";;;;;iBAcgB,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,SAAA,GAAY,OAAA,CAAQ,MAAA,UAAgB,MAAA;AAAA,iBAKpE,gBAAA,CAAiB,IAAA,UAAc,IAAA;AAAA,iBAI/B,cAAA,CAAe,IAAA;AAAA,iBA6BT,eAAA,CAAgB,SAAA,YAAmB,OAAA;AAAA,iBAUzC,qBAAA,CAAA;AAAA,iBAIA,gBAAA,CAAiB,GAAA;AAAA,iBASX,WAAA,CAAY,GAAA,UAAa,SAAA,WAAoB,OAAA;AAAA,KAWvD,oBAAA;EACV,GAAA;EACA,OAAA;AAAA;AAAA,iBA2Fc,0BAAA,CAA2B,IAAA,WAAe,oBAAA;AAAA,iBA8B1C,kBAAA,CAAmB,iBAAA;AAAA,iBAgBnB,WAAA,CAAY,GAAA;AAAA,KA+BhB,mBAAA;EAAA,CACT,GAAA;EACD,IAAA;EACA,IAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,iBA0Bc,oBAAA,CACd,MAAA,UACA,GAAA,GAAK,mBAAA,EACL,QAAA,GAAU,MAAA,CAAO,QAAA;AAAA,iBA0CH,kBAAA,CAAmB,QAAA;AAAA,iBAIb,MAAA,CAAO,EAAA,EAAI,SAAA,EAAW,QAAA,WAAmB,OAAA"}
@@ -250,3 +250,5 @@ async function prompt(rl, question) {
250
250
  }
251
251
  //#endregion
252
252
  export { findExecutableOnPath, findListeningProcessByPort, getPackageVersion, isLoopbackHost, isProcessRunning, openBrowser, printAgentResponse, prompt, resolvePublicIp, resolveServiceLogPath, resolveUiApiBase, resolveUiConfig, resolveUiStaticDir, waitForExit };
253
+
254
+ //# sourceMappingURL=cli.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.utils.js","names":[],"sources":["../../../src/shared/utils/cli.utils.ts"],"sourcesContent":["import { existsSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { spawn, spawnSync } from \"node:child_process\";\nimport { isIP } from \"node:net\";\nimport type { Interface } from \"node:readline\";\nimport {\n createExternalCommandEnv,\n getLogsPath,\n resolveLocalUiBaseUrl,\n type Config\n} from \"@nextclaw/core\";\n\nexport { getPackageVersion } from \"./package/package-manifest.utils.js\";\n\nexport function resolveUiConfig(config: Config, overrides?: Partial<Config[\"ui\"]>): Config[\"ui\"] {\n const base = config.ui ?? { enabled: false, host: \"127.0.0.1\", port: 55667, open: false };\n return { ...base, ...(overrides ?? {}) };\n}\n\nexport function resolveUiApiBase(host: string, port: number): string {\n return resolveLocalUiBaseUrl({ host, port });\n}\n\nexport function isLoopbackHost(host: string): boolean {\n const normalized = host.trim().toLowerCase();\n return normalized === \"127.0.0.1\" || normalized === \"localhost\" || normalized === \"::1\";\n}\n\nconst PUBLIC_IP_CHECK_URLS = [\"https://api.ipify.org\", \"https://ifconfig.me/ip\"];\n\nasync function fetchPublicIpFrom(url: string, timeoutMs: number): Promise<string | null> {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n try {\n const response = await fetch(url, {\n signal: controller.signal,\n headers: {\n Accept: \"text/plain\"\n }\n });\n if (!response.ok) {\n return null;\n }\n const text = (await response.text()).trim();\n return isIP(text) ? text : null;\n } catch {\n return null;\n } finally {\n clearTimeout(timer);\n }\n}\n\nexport async function resolvePublicIp(timeoutMs = 1500): Promise<string | null> {\n for (const endpoint of PUBLIC_IP_CHECK_URLS) {\n const candidate = await fetchPublicIpFrom(endpoint, timeoutMs);\n if (candidate) {\n return candidate;\n }\n }\n return null;\n}\n\nexport function resolveServiceLogPath(): string {\n return resolve(getLogsPath(), \"service.log\");\n}\n\nexport function isProcessRunning(pid: number): boolean {\n try {\n process.kill(pid, 0);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function waitForExit(pid: number, timeoutMs: number): Promise<boolean> {\n const start = Date.now();\n while (Date.now() - start < timeoutMs) {\n if (!isProcessRunning(pid)) {\n return true;\n }\n await new Promise((resolve) => setTimeout(resolve, 200));\n }\n return !isProcessRunning(pid);\n}\n\nexport type ListeningProcessInfo = {\n pid: number;\n command: string | null;\n};\n\ntype CommandResult = {\n ok: boolean;\n stdout: string;\n};\n\nfunction runLookupCommand(command: string, args: string[]): CommandResult {\n try {\n const result = spawnSync(command, args, {\n encoding: \"utf8\",\n env: createExternalCommandEnv(process.env)\n });\n if (result.error || result.status !== 0) {\n return {\n ok: false,\n stdout: \"\"\n };\n }\n return {\n ok: true,\n stdout: result.stdout ?? \"\"\n };\n } catch {\n return {\n ok: false,\n stdout: \"\"\n };\n }\n}\n\nfunction parseListeningPidFromLsof(raw: string): number | null {\n for (const line of raw.split(\"\\n\")) {\n if (!line.startsWith(\"p\")) {\n continue;\n }\n const pid = Number(line.slice(1));\n if (Number.isFinite(pid) && pid > 0) {\n return pid;\n }\n }\n return null;\n}\n\nfunction parseListeningPidFromNetstat(raw: string, port: number): number | null {\n const portSuffix = `:${port}`;\n for (const line of raw.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed || !trimmed.includes(\"LISTEN\")) {\n continue;\n }\n const columns = trimmed.split(/\\s+/);\n if (columns.length < 5) {\n continue;\n }\n const localAddress = columns[1] ?? \"\";\n if (!localAddress.endsWith(portSuffix)) {\n continue;\n }\n const pid = Number(columns[4]);\n if (Number.isFinite(pid) && pid > 0) {\n return pid;\n }\n }\n return null;\n}\n\nfunction lookupProcessCommandByPid(pid: number): string | null {\n if (!Number.isFinite(pid) || pid <= 0) {\n return null;\n }\n\n if (process.platform === \"win32\") {\n const script = `(Get-CimInstance Win32_Process -Filter \"ProcessId = ${pid}\").CommandLine`;\n const result = runLookupCommand(\"powershell\", [\"-NoProfile\", \"-Command\", script]);\n if (!result.ok) {\n return null;\n }\n const command = result.stdout.trim();\n return command.length > 0 ? command : null;\n }\n\n const result = runLookupCommand(\"ps\", [\"-p\", String(pid), \"-o\", \"command=\"]);\n if (!result.ok) {\n return null;\n }\n const command = result.stdout.trim();\n return command.length > 0 ? command : null;\n}\n\nexport function findListeningProcessByPort(port: number): ListeningProcessInfo | null {\n if (!Number.isFinite(port) || port <= 0) {\n return null;\n }\n\n let pid: number | null = null;\n if (process.platform === \"win32\") {\n const result = runLookupCommand(\"netstat\", [\"-ano\", \"-p\", \"tcp\"]);\n if (!result.ok) {\n return null;\n }\n pid = parseListeningPidFromNetstat(result.stdout, port);\n } else {\n const result = runLookupCommand(\"lsof\", [\"-nP\", `-iTCP:${port}`, \"-sTCP:LISTEN\", \"-F\", \"p\"]);\n if (!result.ok) {\n return null;\n }\n pid = parseListeningPidFromLsof(result.stdout);\n }\n\n if (!pid) {\n return null;\n }\n\n return {\n pid,\n command: lookupProcessCommandByPid(pid)\n };\n}\n\nexport function resolveUiStaticDir(packagedUiDistDir?: string | null): string | null {\n if (process.env.NEXTCLAW_DISABLE_STATIC_UI === \"1\") {\n return null;\n }\n\n const envDir = process.env.NEXTCLAW_UI_STATIC_DIR;\n if (envDir) {\n return existsSync(join(envDir, \"index.html\")) ? envDir : null;\n }\n\n if (!packagedUiDistDir) {\n return null;\n }\n return existsSync(join(packagedUiDistDir, \"index.html\")) ? packagedUiDistDir : null;\n}\n\nexport function openBrowser(url: string): boolean {\n const platform = process.platform;\n let command: string;\n let args: string[];\n if (platform === \"darwin\") {\n command = \"open\";\n args = [url];\n } else if (platform === \"win32\") {\n command = \"cmd\";\n args = [\"/c\", \"start\", \"\", url];\n } else {\n command = \"xdg-open\";\n args = [url];\n }\n if (!findExecutableOnPath(command)) {\n return false;\n }\n try {\n const child = spawn(command, args, {\n stdio: \"ignore\",\n detached: true,\n env: createExternalCommandEnv(process.env),\n windowsHide: true\n });\n child.unref();\n return true;\n } catch {\n return false;\n }\n}\n\nexport type ExecutableLookupEnv = {\n [key: string]: string | undefined;\n PATH?: string;\n Path?: string;\n path?: string;\n PATHEXT?: string;\n};\n\nfunction normalizePathEntries(rawPath: string, platform: NodeJS.Platform): string[] {\n const delimiter = platform === \"win32\" ? \";\" : \":\";\n return rawPath.split(delimiter).map((entry) => entry.trim().replace(/^\"+|\"+$/g, \"\")).filter(Boolean);\n}\n\nfunction normalizeWindowsPathExt(rawPathExt: string | undefined): string[] {\n const source = (rawPathExt && rawPathExt.trim().length > 0) ? rawPathExt : \".COM;.EXE;.BAT;.CMD\";\n const unique = new Set<string>();\n for (const ext of source.split(\";\")) {\n const trimmed = ext.trim();\n if (!trimmed) {\n continue;\n }\n const normalized = trimmed.startsWith(\".\") ? trimmed : `.${trimmed}`;\n unique.add(normalized.toUpperCase());\n }\n return [...unique];\n}\n\nfunction hasFileExtension(binary: string): boolean {\n return binary.lastIndexOf(\".\") > Math.max(binary.lastIndexOf(\"/\"), binary.lastIndexOf(\"\\\\\"));\n}\n\nexport function findExecutableOnPath(\n binary: string,\n env: ExecutableLookupEnv = process.env,\n platform: NodeJS.Platform = process.platform\n): string | null {\n const target = binary.trim();\n if (!target) {\n return null;\n }\n\n if (target.includes(\"/\") || target.includes(\"\\\\\")) {\n return existsSync(target) ? target : null;\n }\n\n const rawPath = env.PATH ?? env.Path ?? env.path ?? \"\";\n if (!rawPath.trim()) {\n return null;\n }\n\n const entries = normalizePathEntries(rawPath, platform);\n if (entries.length === 0) {\n return null;\n }\n\n for (const dir of entries) {\n const direct = join(dir, target);\n if (existsSync(direct)) {\n return direct;\n }\n\n if (platform !== \"win32\" || hasFileExtension(target)) {\n continue;\n }\n\n for (const ext of normalizeWindowsPathExt(env.PATHEXT)) {\n const withExt = join(dir, `${target}${ext}`);\n if (existsSync(withExt)) {\n return withExt;\n }\n }\n }\n\n return null;\n}\n\nexport function printAgentResponse(response: string): void {\n console.log(\"\\n\" + response + \"\\n\");\n}\n\nexport async function prompt(rl: Interface, question: string): Promise<string> {\n rl.setPrompt(question);\n rl.prompt();\n return new Promise((resolve) => {\n rl.once(\"line\", (line) => resolve(line));\n });\n}\n"],"mappings":"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"}
@@ -12,4 +12,5 @@ declare function getAtConfigPath(root: unknown, pathSegments: string[]): {
12
12
  declare function setAtConfigPath(root: Record<string, unknown>, pathSegments: string[], value: unknown): void;
13
13
  declare function unsetAtConfigPath(root: Record<string, unknown>, pathSegments: string[]): boolean;
14
14
  //#endregion
15
- export { getAtConfigPath, isIndexSegment, parseConfigPath, parseConfigSetValue, parseRequiredConfigPath, setAtConfigPath, unsetAtConfigPath };
15
+ export { getAtConfigPath, isIndexSegment, parseConfigPath, parseConfigSetValue, parseRequiredConfigPath, setAtConfigPath, unsetAtConfigPath };
16
+ //# sourceMappingURL=config-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-path.d.ts","names":[],"sources":["../../../src/shared/utils/config-path.ts"],"mappings":";;;iBAEgB,cAAA,CAAe,GAAA;AAAA,iBAIf,eAAA,CAAgB,GAAA;AAAA,iBAwDhB,uBAAA,CAAwB,GAAA;AAAA,iBAQxB,mBAAA,CAAoB,GAAA,UAAa,IAAA,EAAM,gBAAA;AAAA,iBAYvC,eAAA,CAAgB,IAAA,WAAe,YAAA;EAA2B,KAAA;EAAgB,KAAA;AAAA;AAAA,iBA6B1E,eAAA,CAAgB,IAAA,EAAM,MAAA,mBAAyB,YAAA,YAAwB,KAAA;AAAA,iBA6FvE,iBAAA,CAAkB,IAAA,EAAM,MAAA,mBAAyB,YAAA"}
@@ -165,3 +165,5 @@ function unsetAtConfigPath(root, pathSegments) {
165
165
  }
166
166
  //#endregion
167
167
  export { getAtConfigPath, isIndexSegment, parseConfigPath, parseConfigSetValue, parseRequiredConfigPath, setAtConfigPath, unsetAtConfigPath };
168
+
169
+ //# sourceMappingURL=config-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-path.js","names":[],"sources":["../../../src/shared/utils/config-path.ts"],"sourcesContent":["import type { ConfigSetOptions } from \"../types/cli.types.js\";\n\nexport function isIndexSegment(raw: string): boolean {\n return /^[0-9]+$/.test(raw);\n}\n\nexport function parseConfigPath(raw: string): string[] {\n const trimmed = raw.trim();\n if (!trimmed) {\n return [];\n }\n\n const parts: string[] = [];\n let current = \"\";\n let i = 0;\n\n while (i < trimmed.length) {\n const ch = trimmed[i];\n if (ch === \"\\\\\") {\n const next = trimmed[i + 1];\n if (next) {\n current += next;\n }\n i += 2;\n continue;\n }\n if (ch === \".\") {\n if (current) {\n parts.push(current);\n }\n current = \"\";\n i += 1;\n continue;\n }\n if (ch === \"[\") {\n if (current) {\n parts.push(current);\n }\n current = \"\";\n const close = trimmed.indexOf(\"]\", i);\n if (close === -1) {\n throw new Error(`Invalid path (missing \"]\"): ${raw}`);\n }\n const inside = trimmed.slice(i + 1, close).trim();\n if (!inside) {\n throw new Error(`Invalid path (empty \"[]\"): ${raw}`);\n }\n parts.push(inside);\n i = close + 1;\n continue;\n }\n current += ch;\n i += 1;\n }\n\n if (current) {\n parts.push(current);\n }\n\n return parts.map((part) => part.trim()).filter(Boolean);\n}\n\nexport function parseRequiredConfigPath(raw: string): string[] {\n const parsedPath = parseConfigPath(raw);\n if (parsedPath.length === 0) {\n throw new Error(\"Path is empty.\");\n }\n return parsedPath;\n}\n\nexport function parseConfigSetValue(raw: string, opts: ConfigSetOptions): unknown {\n const trimmed = raw.trim();\n if (opts.json) {\n return JSON.parse(trimmed);\n }\n try {\n return JSON.parse(trimmed);\n } catch {\n return raw;\n }\n}\n\nexport function getAtConfigPath(root: unknown, pathSegments: string[]): { found: boolean; value?: unknown } {\n let current: unknown = root;\n for (const segment of pathSegments) {\n if (!current || typeof current !== \"object\") {\n return { found: false };\n }\n\n if (Array.isArray(current)) {\n if (!isIndexSegment(segment)) {\n return { found: false };\n }\n const index = Number.parseInt(segment, 10);\n if (!Number.isFinite(index) || index < 0 || index >= current.length) {\n return { found: false };\n }\n current = current[index];\n continue;\n }\n\n const record = current as Record<string, unknown>;\n if (!Object.prototype.hasOwnProperty.call(record, segment)) {\n return { found: false };\n }\n current = record[segment];\n }\n\n return { found: true, value: current };\n}\n\nexport function setAtConfigPath(root: Record<string, unknown>, pathSegments: string[], value: unknown): void {\n let current: unknown = root;\n\n for (let i = 0; i < pathSegments.length - 1; i += 1) {\n const segment = pathSegments[i];\n const next = pathSegments[i + 1];\n const nextIsIndex = Boolean(next && isIndexSegment(next));\n\n if (Array.isArray(current)) {\n current = getOrCreateArraySegment(current, segment, nextIsIndex, pathSegments.slice(0, i));\n continue;\n }\n\n current = getOrCreateObjectSegment(current, segment, nextIsIndex);\n }\n\n setConfigPathValue(current, pathSegments[pathSegments.length - 1], value, pathSegments.slice(0, -1));\n}\n\nfunction ensureWritableArrayIndex(current: unknown[], index: number, parentPath: string[]): void {\n if (!Number.isFinite(index) || index < 0) {\n throw new Error(`Invalid array index \"${index}\"`);\n }\n if (index <= current.length) {\n return;\n }\n const parentPathExpr = formatConfigPath(parentPath);\n const parentLabel = parentPathExpr ? `\"${parentPathExpr}\"` : \"the root array\";\n throw new Error(`Cannot set sparse array index ${index} under ${parentLabel}. Set indices in order.`);\n}\n\nfunction getOrCreateArraySegment(\n current: unknown[],\n segment: string,\n nextIsIndex: boolean,\n parentPath: string[]\n): unknown {\n const index = parseArrayIndexSegment(segment);\n ensureWritableArrayIndex(current, index, parentPath);\n const existing = current[index];\n if (!existing || typeof existing !== \"object\") {\n current[index] = nextIsIndex ? [] : {};\n }\n return current[index];\n}\n\nfunction getOrCreateObjectSegment(current: unknown, segment: string, nextIsIndex: boolean): unknown {\n if (!current || typeof current !== \"object\") {\n throw new Error(`Cannot traverse into \"${segment}\" (not an object)`);\n }\n\n const record = current as Record<string, unknown>;\n const existing = record[segment];\n if (!existing || typeof existing !== \"object\") {\n record[segment] = nextIsIndex ? [] : {};\n }\n return record[segment];\n}\n\nfunction setConfigPathValue(current: unknown, last: string, value: unknown, parentPath: string[]): void {\n if (Array.isArray(current)) {\n const index = parseArrayIndexSegment(last);\n ensureWritableArrayIndex(current, index, parentPath);\n current[index] = value;\n return;\n }\n\n if (!current || typeof current !== \"object\") {\n throw new Error(`Cannot set \"${last}\" (parent is not an object)`);\n }\n\n (current as Record<string, unknown>)[last] = value;\n}\n\nfunction parseArrayIndexSegment(segment: string): number {\n if (!isIndexSegment(segment)) {\n throw new Error(`Expected numeric index for array segment \"${segment}\"`);\n }\n return Number.parseInt(segment, 10);\n}\n\nfunction formatConfigPath(pathSegments: string[]): string {\n let expr = \"\";\n for (const segment of pathSegments) {\n if (isIndexSegment(segment)) {\n expr += `[${segment}]`;\n continue;\n }\n expr += expr ? `.${segment}` : segment;\n }\n return expr;\n}\n\nexport function unsetAtConfigPath(root: Record<string, unknown>, pathSegments: string[]): boolean {\n let current: unknown = root;\n\n for (let i = 0; i < pathSegments.length - 1; i += 1) {\n const segment = pathSegments[i];\n if (!current || typeof current !== \"object\") {\n return false;\n }\n\n if (Array.isArray(current)) {\n if (!isIndexSegment(segment)) {\n return false;\n }\n const index = Number.parseInt(segment, 10);\n if (!Number.isFinite(index) || index < 0 || index >= current.length) {\n return false;\n }\n current = current[index];\n continue;\n }\n\n const record = current as Record<string, unknown>;\n if (!Object.prototype.hasOwnProperty.call(record, segment)) {\n return false;\n }\n current = record[segment];\n }\n\n const last = pathSegments[pathSegments.length - 1];\n if (Array.isArray(current)) {\n if (!isIndexSegment(last)) {\n return false;\n }\n const index = Number.parseInt(last, 10);\n if (!Number.isFinite(index) || index < 0 || index >= current.length) {\n return false;\n }\n current.splice(index, 1);\n return true;\n }\n\n if (!current || typeof current !== \"object\") {\n return false;\n }\n\n const record = current as Record<string, unknown>;\n if (!Object.prototype.hasOwnProperty.call(record, last)) {\n return false;\n }\n delete record[last];\n return true;\n}\n"],"mappings":"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"}
@@ -13,4 +13,5 @@ declare const resolveCliSubcommandLaunch: (params: {
13
13
  args: string[];
14
14
  };
15
15
  //#endregion
16
- export { resolveCliSubcommandEntry, resolveCliSubcommandLaunch };
16
+ export { resolveCliSubcommandEntry, resolveCliSubcommandLaunch };
17
+ //# sourceMappingURL=cli-subcommand-launch.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-subcommand-launch.utils.d.ts","names":[],"sources":["../../../../src/shared/utils/marketplace/cli-subcommand-launch.utils.ts"],"mappings":";cAwBa,yBAAA,GAA6B,MAAA;EACxC,SAAA;EACA,aAAA;AAAA;AAAA,cASW,0BAAA,GAA8B,MAAA;EACzC,SAAA;EACA,aAAA;EACA,OAAA;EACA,QAAA;AAAA;EACI,OAAA;EAAiB,IAAA;AAAA"}
@@ -44,3 +44,5 @@ const resolveCliSubcommandLaunch = (params) => {
44
44
  };
45
45
  //#endregion
46
46
  export { resolveCliSubcommandEntry, resolveCliSubcommandLaunch };
47
+
48
+ //# sourceMappingURL=cli-subcommand-launch.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-subcommand-launch.utils.js","names":[],"sources":["../../../../src/shared/utils/marketplace/cli-subcommand-launch.utils.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { extname, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst require = createRequire(import.meta.url);\n\nconst TYPESCRIPT_EXTENSIONS = new Set([\".ts\", \".tsx\", \".mts\", \".cts\"]);\n\nconst isTypeScriptEntry = (entry: string): boolean => TYPESCRIPT_EXTENSIONS.has(extname(entry).toLowerCase());\n\nconst resolveTsxCliEntry = (): string => require.resolve(\"tsx/cli\");\n\nconst resolveCliAppEntryFromImportMeta = (importMetaUrl: string): string => {\n const modulePath = fileURLToPath(importMetaUrl);\n const normalizedPath = modulePath.replace(/\\\\/g, \"/\");\n const cliRootIndex = normalizedPath.lastIndexOf(\"/cli/\");\n if (cliRootIndex === -1) {\n return fileURLToPath(new URL(\"../../../app/index.js\", importMetaUrl));\n }\n const extension = extname(modulePath) || \".js\";\n const cliRootPath = modulePath.slice(0, cliRootIndex + \"/cli/\".length);\n return resolve(cliRootPath, \"app\", `index${extension}`);\n};\n\nexport const resolveCliSubcommandEntry = (params: {\n argvEntry?: string;\n importMetaUrl: string;\n}): string => {\n const argvEntry = params.argvEntry?.trim();\n if (argvEntry) {\n return resolve(argvEntry);\n }\n return resolveCliAppEntryFromImportMeta(params.importMetaUrl);\n};\n\nexport const resolveCliSubcommandLaunch = (params: {\n argvEntry?: string;\n importMetaUrl: string;\n cliArgs: string[];\n nodePath?: string;\n}): { command: string; args: string[] } => {\n const cliEntry = resolveCliSubcommandEntry({\n argvEntry: params.argvEntry,\n importMetaUrl: params.importMetaUrl,\n });\n const command = params.nodePath?.trim() || process.execPath;\n\n if (isTypeScriptEntry(cliEntry)) {\n return {\n command,\n args: [resolveTsxCliEntry(), cliEntry, ...params.cliArgs],\n };\n }\n\n return {\n command,\n args: [cliEntry, ...params.cliArgs],\n };\n};\n"],"mappings":";;;;AAIA,MAAM,UAAU,cAAc,OAAO,KAAK,IAAI;AAE9C,MAAM,wBAAwB,IAAI,IAAI;CAAC;CAAO;CAAQ;CAAQ;CAAO,CAAC;AAEtE,MAAM,qBAAqB,UAA2B,sBAAsB,IAAI,QAAQ,MAAM,CAAC,aAAa,CAAC;AAE7G,MAAM,2BAAmC,QAAQ,QAAQ,UAAU;AAEnE,MAAM,oCAAoC,kBAAkC;CAC1E,MAAM,aAAa,cAAc,cAAc;CAE/C,MAAM,eADiB,WAAW,QAAQ,OAAO,IAAI,CACjB,YAAY,QAAQ;AACxD,KAAI,iBAAiB,GACnB,QAAO,cAAc,IAAI,IAAI,yBAAyB,cAAc,CAAC;CAEvE,MAAM,YAAY,QAAQ,WAAW,IAAI;AAEzC,QAAO,QADa,WAAW,MAAM,GAAG,eAAe,EAAe,EAC1C,OAAO,QAAQ,YAAY;;AAGzD,MAAa,6BAA6B,WAG5B;CACZ,MAAM,YAAY,OAAO,WAAW,MAAM;AAC1C,KAAI,UACF,QAAO,QAAQ,UAAU;AAE3B,QAAO,iCAAiC,OAAO,cAAc;;AAG/D,MAAa,8BAA8B,WAKA;CACzC,MAAM,WAAW,0BAA0B;EACzC,WAAW,OAAO;EAClB,eAAe,OAAO;EACvB,CAAC;CACF,MAAM,UAAU,OAAO,UAAU,MAAM,IAAI,QAAQ;AAEnD,KAAI,kBAAkB,SAAS,CAC7B,QAAO;EACL;EACA,MAAM;GAAC,oBAAoB;GAAE;GAAU,GAAG,OAAO;GAAQ;EAC1D;AAGH,QAAO;EACL;EACA,MAAM,CAAC,UAAU,GAAG,OAAO,QAAQ;EACpC"}
@@ -6,4 +6,5 @@ declare const buildMarketplaceSkillInstallArgs: (params: {
6
6
  force?: boolean;
7
7
  }) => string[];
8
8
  //#endregion
9
- export { buildMarketplaceSkillInstallArgs, pickUserFacingCommandSummary };
9
+ export { buildMarketplaceSkillInstallArgs, pickUserFacingCommandSummary };
10
+ //# sourceMappingURL=service-marketplace-helpers.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-marketplace-helpers.utils.d.ts","names":[],"sources":["../../../../src/shared/utils/marketplace/service-marketplace-helpers.utils.ts"],"mappings":";cAkBa,4BAAA,GAAgC,MAAA,UAAgB,QAAA;AAAA,cA+BhD,gCAAA,GAAoC,MAAA;EAC/C,IAAA;EACA,SAAA;EACA,KAAA;AAAA"}
@@ -31,3 +31,5 @@ const buildMarketplaceSkillInstallArgs = (params) => {
31
31
  };
32
32
  //#endregion
33
33
  export { buildMarketplaceSkillInstallArgs, pickUserFacingCommandSummary };
34
+
35
+ //# sourceMappingURL=service-marketplace-helpers.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-marketplace-helpers.utils.js","names":[],"sources":["../../../../src/shared/utils/marketplace/service-marketplace-helpers.utils.ts"],"sourcesContent":["const containsAbsoluteFsPath = (line: string): boolean => {\n const normalized = line.trim();\n if (!normalized) {\n return false;\n }\n\n const lowered = normalized.toLowerCase();\n if (lowered.includes(\"http://\") || lowered.includes(\"https://\")) {\n return false;\n }\n\n if (/^[A-Za-z]:\\\\/.test(normalized)) {\n return true;\n }\n\n return /(?:^|\\s)(?:~\\/|\\/[^\\s]+)/.test(normalized);\n};\n\nexport const pickUserFacingCommandSummary = (output: string, fallback: string): string => {\n const lines = output\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean);\n\n if (lines.length === 0) {\n return fallback;\n }\n\n const visibleLines = lines.filter((line) => {\n if (/^(path|install path|source path|destination|location)\\s*:/i.test(line)) {\n return false;\n }\n if (containsAbsoluteFsPath(line)) {\n return false;\n }\n return true;\n });\n\n if (visibleLines.length === 0) {\n return fallback;\n }\n\n const preferred = [...visibleLines].reverse().find((line) =>\n /\\b(installed|enabled|disabled|uninstalled|published|updated|already installed|removed)\\b/i.test(line),\n );\n\n return preferred ?? visibleLines[visibleLines.length - 1] ?? fallback;\n};\n\nexport const buildMarketplaceSkillInstallArgs = (params: {\n slug: string;\n workspace: string;\n force?: boolean;\n}): string[] => {\n const args = [\"skills\", \"install\", params.slug, \"--workdir\", params.workspace];\n if (params.force) {\n args.push(\"--force\");\n }\n return args;\n};\n"],"mappings":";AAAA,MAAM,0BAA0B,SAA0B;CACxD,MAAM,aAAa,KAAK,MAAM;AAC9B,KAAI,CAAC,WACH,QAAO;CAGT,MAAM,UAAU,WAAW,aAAa;AACxC,KAAI,QAAQ,SAAS,UAAU,IAAI,QAAQ,SAAS,WAAW,CAC7D,QAAO;AAGT,KAAI,eAAe,KAAK,WAAW,CACjC,QAAO;AAGT,QAAO,2BAA2B,KAAK,WAAW;;AAGpD,MAAa,gCAAgC,QAAgB,aAA6B;CACxF,MAAM,QAAQ,OACX,MAAM,KAAK,CACX,KAAK,SAAS,KAAK,MAAM,CAAC,CAC1B,OAAO,QAAQ;AAElB,KAAI,MAAM,WAAW,EACnB,QAAO;CAGT,MAAM,eAAe,MAAM,QAAQ,SAAS;AAC1C,MAAI,6DAA6D,KAAK,KAAK,CACzE,QAAO;AAET,MAAI,uBAAuB,KAAK,CAC9B,QAAO;AAET,SAAO;GACP;AAEF,KAAI,aAAa,WAAW,EAC1B,QAAO;AAOT,QAJkB,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,SAClD,4FAA4F,KAAK,KAAK,CACvG,IAEmB,aAAa,aAAa,SAAS,MAAM;;AAG/D,MAAa,oCAAoC,WAIjC;CACd,MAAM,OAAO;EAAC;EAAU;EAAW,OAAO;EAAM;EAAa,OAAO;EAAU;AAC9E,KAAI,OAAO,MACT,MAAK,KAAK,UAAU;AAEtB,QAAO"}
@@ -1,4 +1,5 @@
1
1
  //#region src/shared/utils/package/package-manifest.utils.d.ts
2
2
  declare function getPackageVersion(importMetaUrl?: string): string;
3
3
  //#endregion
4
- export { getPackageVersion };
4
+ export { getPackageVersion };
5
+ //# sourceMappingURL=package-manifest.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manifest.utils.d.ts","names":[],"sources":["../../../../src/shared/utils/package/package-manifest.utils.ts"],"mappings":";iBAsDgB,iBAAA,CAAkB,aAAA"}
@@ -36,3 +36,5 @@ function getPackageVersion(importMetaUrl = import.meta.url) {
36
36
  }
37
37
  //#endregion
38
38
  export { getPackageVersion };
39
+
40
+ //# sourceMappingURL=package-manifest.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manifest.utils.js","names":["getCorePackageVersion"],"sources":["../../../../src/shared/utils/package/package-manifest.utils.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { getPackageVersion as getCorePackageVersion } from \"@nextclaw/core\";\n\ntype PackageManifestView = {\n name?: string;\n version?: string;\n};\n\nfunction readPackageManifest(pkgPath: string): PackageManifestView | null {\n try {\n return JSON.parse(readFileSync(pkgPath, \"utf-8\")) as PackageManifestView;\n } catch {\n return null;\n }\n}\n\nfunction findNearestPackageVersion(startDir: string, expectedName?: string): string | undefined {\n let current = resolve(startDir);\n while (current.length > 0) {\n const parsed = readPackageManifest(join(current, \"package.json\"));\n const matchesExpectedName = parsed && (!expectedName || parsed.name === expectedName);\n if (matchesExpectedName) {\n return typeof parsed.version === \"string\" ? parsed.version : undefined;\n }\n\n const parent = resolve(current, \"..\");\n if (parent === current) {\n break;\n }\n current = parent;\n }\n return undefined;\n}\n\nfunction findWorkspacePackageVersion(startDir: string, packageName: string): string | undefined {\n let current = resolve(startDir);\n while (current.length > 0) {\n const rootDir = join(current, \"packages\", packageName);\n const parsed = readPackageManifest(join(rootDir, \"package.json\"));\n if (parsed?.name === packageName) {\n return typeof parsed.version === \"string\" ? parsed.version : undefined;\n }\n\n const parent = resolve(current, \"..\");\n if (parent === current) {\n break;\n }\n current = parent;\n }\n return undefined;\n}\n\nexport function getPackageVersion(importMetaUrl = import.meta.url): string {\n const cliDir = resolve(fileURLToPath(new URL(\".\", importMetaUrl)));\n const packageVersion =\n findNearestPackageVersion(cliDir, \"nextclaw\") ??\n findWorkspacePackageVersion(cliDir, \"nextclaw\") ??\n findNearestPackageVersion(cliDir);\n return packageVersion ?? getCorePackageVersion();\n}\n"],"mappings":";;;;;AAUA,SAAS,oBAAoB,SAA6C;AACxE,KAAI;AACF,SAAO,KAAK,MAAM,aAAa,SAAS,QAAQ,CAAC;SAC3C;AACN,SAAO;;;AAIX,SAAS,0BAA0B,UAAkB,cAA2C;CAC9F,IAAI,UAAU,QAAQ,SAAS;AAC/B,QAAO,QAAQ,SAAS,GAAG;EACzB,MAAM,SAAS,oBAAoB,KAAK,SAAS,eAAe,CAAC;AAEjE,MAD4B,WAAW,CAAC,gBAAgB,OAAO,SAAS,cAEtE,QAAO,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU,KAAA;EAG/D,MAAM,SAAS,QAAQ,SAAS,KAAK;AACrC,MAAI,WAAW,QACb;AAEF,YAAU;;;AAKd,SAAS,4BAA4B,UAAkB,aAAyC;CAC9F,IAAI,UAAU,QAAQ,SAAS;AAC/B,QAAO,QAAQ,SAAS,GAAG;EAEzB,MAAM,SAAS,oBAAoB,KADnB,KAAK,SAAS,YAAY,YAAY,EACL,eAAe,CAAC;AACjE,MAAI,QAAQ,SAAS,YACnB,QAAO,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU,KAAA;EAG/D,MAAM,SAAS,QAAQ,SAAS,KAAK;AACrC,MAAI,WAAW,QACb;AAEF,YAAU;;;AAKd,SAAgB,kBAAkB,gBAAgB,OAAO,KAAK,KAAa;CACzE,MAAM,SAAS,QAAQ,cAAc,IAAI,IAAI,KAAK,cAAc,CAAC,CAAC;AAKlE,QAHE,0BAA0B,QAAQ,WAAW,IAC7C,4BAA4B,QAAQ,WAAW,IAC/C,0BAA0B,OAAO,IACVA,qBAAuB"}
@@ -11,4 +11,5 @@ declare function resolveManagedServiceUiOverrides(params: {
11
11
  forcedPublicHost: string;
12
12
  }): Partial<Config["ui"]>;
13
13
  //#endregion
14
- export { parseStartTimeoutMs, resolveManagedServiceUiOverrides, resolveSkillsInstallWorkdir };
14
+ export { parseStartTimeoutMs, resolveManagedServiceUiOverrides, resolveSkillsInstallWorkdir };
15
+ //# sourceMappingURL=runtime-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-helpers.d.ts","names":[],"sources":["../../../src/shared/utils/runtime-helpers.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"}
@@ -24,3 +24,5 @@ function resolveManagedServiceUiOverrides(params) {
24
24
  }
25
25
  //#endregion
26
26
  export { parseStartTimeoutMs, resolveManagedServiceUiOverrides, resolveSkillsInstallWorkdir };
27
+
28
+ //# sourceMappingURL=runtime-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-helpers.js","names":[],"sources":["../../../src/shared/utils/runtime-helpers.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"}
@@ -38,4 +38,5 @@ declare function describeUnmanagedHealthyTargetMessage(params: {
38
38
  probeHealthEndpointFn?: typeof probeHealthEndpoint;
39
39
  }): Promise<string | null>;
40
40
  //#endregion
41
- export { UiTargetProbeResult, checkPortAvailability, describeUnmanagedHealthyTargetMessage, inspectUiTarget, probeHealthEndpoint };
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/shared/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"}
@@ -162,3 +162,5 @@ async function describeUnmanagedHealthyTargetMessage(params) {
162
162
  }
163
163
  //#endregion
164
164
  export { checkPortAvailability, describeUnmanagedHealthyTargetMessage, inspectUiTarget, probeHealthEndpoint };
165
+
166
+ //# sourceMappingURL=service-port-probe.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-port-probe.utils.js","names":["createNetServer","httpsRequest","httpRequest"],"sources":["../../../src/shared/utils/service-port-probe.utils.ts"],"sourcesContent":["import { APP_NAME, loadConfig, type Config } from \"@nextclaw/core\";\nimport { request as httpRequest } from \"node:http\";\nimport { request as httpsRequest } from \"node:https\";\nimport { createServer as createNetServer } from \"node:net\";\nimport { resolveUiApiBase, resolveUiConfig } from \"@nextclaw-service/shared/utils/cli.utils.js\";\nimport { managedServiceStateStore } from \"@nextclaw-service/shared/stores/managed-service-state.store.js\";\n\nfunction getHeaderValue(headers: Record<string, string | string[] | undefined>, key: string): string | null {\n const value = headers[key];\n if (typeof value === \"string\") {\n const normalized = value.trim();\n return normalized.length > 0 ? normalized : null;\n }\n if (Array.isArray(value)) {\n const joined = value.map((item) => item.trim()).filter(Boolean).join(\", \");\n return joined.length > 0 ? joined : null;\n }\n return null;\n}\n\nfunction formatProbeBodySnippet(raw: string, maxLength = 180): string | null {\n const normalized = raw.replace(/\\s+/g, \" \").trim();\n if (!normalized) {\n return null;\n }\n const clipped = normalized.length > maxLength ? `${normalized.slice(0, maxLength)}...` : normalized;\n return JSON.stringify(clipped);\n}\n\nexport async function checkPortAvailability(params: {\n host: string;\n port: number;\n}): Promise<{ available: boolean; detail: string }> {\n return await new Promise((resolve) => {\n const server = createNetServer();\n server.once(\"error\", (error) => {\n resolve({\n available: false,\n detail: `bind failed on ${params.host}:${params.port} (${String(error)})`\n });\n });\n server.listen(params.port, params.host, () => {\n server.close(() => {\n resolve({\n available: true,\n detail: `bind ok on ${params.host}:${params.port}`\n });\n });\n });\n });\n}\n\nexport async function probeHealthEndpoint(healthUrl: string): Promise<{ healthy: boolean; error: string | null }> {\n let parsed: URL;\n try {\n parsed = new URL(healthUrl);\n } catch {\n return { healthy: false, error: \"invalid health URL\" };\n }\n\n const requestImpl = parsed.protocol === \"https:\" ? httpsRequest : httpRequest;\n return await new Promise((resolve) => {\n const req = requestImpl(\n {\n protocol: parsed.protocol,\n hostname: parsed.hostname,\n port: parsed.port ? Number(parsed.port) : parsed.protocol === \"https:\" ? 443 : 80,\n method: \"GET\",\n path: `${parsed.pathname}${parsed.search}`,\n timeout: 1000,\n headers: { Accept: \"application/json\" }\n },\n (res) => {\n const chunks: Buffer[] = [];\n res.on(\"data\", (chunk) => {\n if (typeof chunk === \"string\") {\n chunks.push(Buffer.from(chunk));\n return;\n }\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n const responseText = Buffer.concat(chunks).toString(\"utf-8\");\n if ((res.statusCode ?? 0) < 200 || (res.statusCode ?? 0) >= 300) {\n const serverHeader = getHeaderValue(res.headers, \"server\");\n const contentType = getHeaderValue(res.headers, \"content-type\");\n const bodySnippet = formatProbeBodySnippet(responseText);\n const details = [`http ${res.statusCode ?? \"unknown\"}`];\n if (serverHeader) {\n details.push(`server=${serverHeader}`);\n }\n if (contentType) {\n details.push(`content-type=${contentType}`);\n }\n if (bodySnippet) {\n details.push(`body=${bodySnippet}`);\n }\n resolve({ healthy: false, error: details.join(\"; \") });\n return;\n }\n\n try {\n const payload = JSON.parse(responseText) as {\n ok?: boolean;\n data?: { status?: string };\n };\n const healthy = payload?.ok === true && payload?.data?.status === \"ok\";\n if (!healthy) {\n resolve({ healthy: false, error: \"health payload not ok\" });\n return;\n }\n resolve({ healthy: true, error: null });\n } catch {\n resolve({ healthy: false, error: \"invalid health JSON response\" });\n }\n });\n }\n );\n\n req.on(\"timeout\", () => {\n req.destroy(new Error(\"probe timeout\"));\n });\n req.on(\"error\", (error) => {\n resolve({ healthy: false, error: error.message || String(error) });\n });\n req.end();\n });\n}\n\nexport type UiTargetProbeResult =\n | {\n state: \"available\";\n availabilityDetail: string;\n probeError: null;\n }\n | {\n state: \"healthy-existing\";\n availabilityDetail: string;\n probeError: null;\n }\n | {\n state: \"occupied-unhealthy\";\n availabilityDetail: string;\n probeError: string | null;\n };\n\nexport async function inspectUiTarget(params: {\n host: string;\n port: number;\n healthUrl: string;\n checkPortAvailabilityFn?: typeof checkPortAvailability;\n probeHealthEndpointFn?: typeof probeHealthEndpoint;\n}): Promise<UiTargetProbeResult> {\n const { checkPortAvailabilityFn, healthUrl, host, port, probeHealthEndpointFn } = params;\n const availability = await (checkPortAvailabilityFn ?? checkPortAvailability)({\n host,\n port\n });\n if (availability.available) {\n return {\n state: \"available\",\n availabilityDetail: availability.detail,\n probeError: null\n };\n }\n\n const probe = await (probeHealthEndpointFn ?? probeHealthEndpoint)(healthUrl);\n if (probe.healthy) {\n return {\n state: \"healthy-existing\",\n availabilityDetail: availability.detail,\n probeError: null\n };\n }\n\n return {\n state: \"occupied-unhealthy\",\n availabilityDetail: availability.detail,\n probeError: probe.error\n };\n}\n\nexport async function describeUnmanagedHealthyTargetMessage(params: {\n uiOverrides: Partial<Config[\"ui\"]>;\n checkPortAvailabilityFn?: typeof checkPortAvailability;\n probeHealthEndpointFn?: typeof probeHealthEndpoint;\n}): Promise<string | null> {\n const config = loadConfig();\n const uiConfig = resolveUiConfig(config, params.uiOverrides);\n const uiUrl = resolveUiApiBase(uiConfig.host, uiConfig.port);\n const healthUrl = `${uiUrl}/api/health`;\n const target = await inspectUiTarget({\n host: uiConfig.host,\n port: uiConfig.port,\n healthUrl,\n checkPortAvailabilityFn: params.checkPortAvailabilityFn,\n probeHealthEndpointFn: params.probeHealthEndpointFn\n });\n if (target.state !== \"healthy-existing\") {\n return null;\n }\n\n return [\n `Target UI health: ${healthUrl}`,\n `A healthy ${APP_NAME} service is already responding on this port, but it is not tracked by ${managedServiceStateStore.path}.`,\n `${APP_NAME} restart only stops the background service recorded in managed state; it will not auto-kill Docker or other external listeners.`,\n `Fix: stop that external service first or rerun with --ui-port <port>.`\n ].join(\"\\n\");\n}\n"],"mappings":"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"}
@@ -4,4 +4,5 @@ declare function logStartupTrace(step: string, fields?: TraceFields): void;
4
4
  declare function measureStartupSync<T>(step: string, fn: () => T, fields?: TraceFields): T;
5
5
  declare function measureStartupAsync<T>(step: string, fn: () => Promise<T>, fields?: TraceFields): Promise<T>;
6
6
  //#endregion
7
- export { logStartupTrace, measureStartupAsync, measureStartupSync };
7
+ export { logStartupTrace, measureStartupAsync, measureStartupSync };
8
+ //# sourceMappingURL=startup-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup-trace.d.ts","names":[],"sources":["../../../src/shared/utils/startup-trace.ts"],"mappings":";KAGK,WAAA,GAAc,MAAA;AAAA,iBAYH,eAAA,CAAgB,IAAA,UAAc,MAAA,GAAS,WAAA;AAAA,iBAQvC,kBAAA,GAAA,CAAsB,IAAA,UAAc,EAAA,QAAU,CAAA,EAAG,MAAA,GAAS,WAAA,GAAc,CAAA;AAAA,iBAYlE,mBAAA,GAAA,CAAuB,IAAA,UAAc,EAAA,QAAU,OAAA,CAAQ,CAAA,GAAI,MAAA,GAAS,WAAA,GAAc,OAAA,CAAQ,CAAA"}
@@ -35,3 +35,5 @@ async function measureStartupAsync(step, fn, fields) {
35
35
  }
36
36
  //#endregion
37
37
  export { logStartupTrace, measureStartupAsync, measureStartupSync };
38
+
39
+ //# sourceMappingURL=startup-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup-trace.js","names":[],"sources":["../../../src/shared/utils/startup-trace.ts"],"sourcesContent":["const STARTUP_TRACE_ENABLED = process.env.NEXTCLAW_STARTUP_TRACE === \"1\";\nconst STARTUP_TRACE_ORIGIN_MS = Date.now();\n\ntype TraceFields = Record<string, string | number | boolean | null | undefined>;\n\nfunction formatFields(fields: TraceFields | undefined): string {\n if (!fields) {\n return \"\";\n }\n const parts = Object.entries(fields)\n .filter(([, value]) => value !== undefined)\n .map(([key, value]) => `${key}=${String(value)}`);\n return parts.length > 0 ? ` ${parts.join(\" \")}` : \"\";\n}\n\nexport function logStartupTrace(step: string, fields?: TraceFields): void {\n if (!STARTUP_TRACE_ENABLED) {\n return;\n }\n const elapsedMs = Date.now() - STARTUP_TRACE_ORIGIN_MS;\n console.log(`[startup-trace] +${elapsedMs}ms ${step}${formatFields(fields)}`);\n}\n\nexport function measureStartupSync<T>(step: string, fn: () => T, fields?: TraceFields): T {\n const startedAt = Date.now();\n try {\n return fn();\n } finally {\n logStartupTrace(step, {\n ...fields,\n duration_ms: Date.now() - startedAt,\n });\n }\n}\n\nexport async function measureStartupAsync<T>(step: string, fn: () => Promise<T>, fields?: TraceFields): Promise<T> {\n const startedAt = Date.now();\n try {\n return await fn();\n } finally {\n logStartupTrace(step, {\n ...fields,\n duration_ms: Date.now() - startedAt,\n });\n }\n}\n"],"mappings":";AAAA,MAAM,wBAAwB,QAAQ,IAAI,2BAA2B;AACrE,MAAM,0BAA0B,KAAK,KAAK;AAI1C,SAAS,aAAa,QAAyC;AAC7D,KAAI,CAAC,OACH,QAAO;CAET,MAAM,QAAQ,OAAO,QAAQ,OAAO,CACjC,QAAQ,GAAG,WAAW,UAAU,KAAA,EAAU,CAC1C,KAAK,CAAC,KAAK,WAAW,GAAG,IAAI,GAAG,OAAO,MAAM,GAAG;AACnD,QAAO,MAAM,SAAS,IAAI,IAAI,MAAM,KAAK,IAAI,KAAK;;AAGpD,SAAgB,gBAAgB,MAAc,QAA4B;AACxE,KAAI,CAAC,sBACH;CAEF,MAAM,YAAY,KAAK,KAAK,GAAG;AAC/B,SAAQ,IAAI,oBAAoB,UAAU,KAAK,OAAO,aAAa,OAAO,GAAG;;AAG/E,SAAgB,mBAAsB,MAAc,IAAa,QAAyB;CACxF,MAAM,YAAY,KAAK,KAAK;AAC5B,KAAI;AACF,SAAO,IAAI;WACH;AACR,kBAAgB,MAAM;GACpB,GAAG;GACH,aAAa,KAAK,KAAK,GAAG;GAC3B,CAAC;;;AAIN,eAAsB,oBAAuB,MAAc,IAAsB,QAAkC;CACjH,MAAM,YAAY,KAAK,KAAK;AAC5B,KAAI;AACF,SAAO,MAAM,IAAI;WACT;AACR,kBAAgB,MAAM;GACpB,GAAG;GACH,aAAa,KAAK,KAAK,GAAG;GAC3B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  //#region src/shared/utils/top-level-nextclaw-command-env.utils.d.ts
2
2
  declare function createTopLevelNextclawCommandEnv(baseEnv?: NodeJS.ProcessEnv, extraEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
3
3
  //#endregion
4
- export { createTopLevelNextclawCommandEnv };
4
+ export { createTopLevelNextclawCommandEnv };
5
+ //# sourceMappingURL=top-level-nextclaw-command-env.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-level-nextclaw-command-env.utils.d.ts","names":[],"sources":["../../../src/shared/utils/top-level-nextclaw-command-env.utils.ts"],"mappings":";iBAOgB,gCAAA,CACd,OAAA,GAAS,MAAA,CAAO,UAAA,EAChB,QAAA,GAAU,MAAA,CAAO,UAAA,GAChB,MAAA,CAAO,UAAA"}
@@ -8,3 +8,5 @@ function createTopLevelNextclawCommandEnv(baseEnv = process.env, extraEnv = {})
8
8
  }
9
9
  //#endregion
10
10
  export { createTopLevelNextclawCommandEnv };
11
+
12
+ //# sourceMappingURL=top-level-nextclaw-command-env.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-level-nextclaw-command-env.utils.js","names":[],"sources":["../../../src/shared/utils/top-level-nextclaw-command-env.utils.ts"],"sourcesContent":["import { createExternalCommandEnv } from \"@nextclaw/core\";\n\nconst NEXTCLAW_RUNTIME_BUNDLE_ENV_KEYS = [\n \"NEXTCLAW_RUNTIME_BUNDLE_CHILD\",\n \"NEXTCLAW_DISABLE_RUNTIME_BUNDLE_LAUNCHER\",\n] as const;\n\nexport function createTopLevelNextclawCommandEnv(\n baseEnv: NodeJS.ProcessEnv = process.env,\n extraEnv: NodeJS.ProcessEnv = {},\n): NodeJS.ProcessEnv {\n const env = createExternalCommandEnv(baseEnv, extraEnv);\n for (const key of NEXTCLAW_RUNTIME_BUNDLE_ENV_KEYS) {\n delete env[key];\n }\n return env;\n}\n"],"mappings":";;AAEA,MAAM,mCAAmC,CACvC,iCACA,2CACD;AAED,SAAgB,iCACd,UAA6B,QAAQ,KACrC,WAA8B,EAAE,EACb;CACnB,MAAM,MAAM,yBAAyB,SAAS,SAAS;AACvD,MAAK,MAAM,OAAO,iCAChB,QAAO,IAAI;AAEb,QAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextclaw/service",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "private": false,
5
5
  "description": "NextClaw long-running service host and runtime lifecycle.",
6
6
  "type": "module",
@@ -35,24 +35,24 @@
35
35
  "chokidar": "^3.6.0",
36
36
  "commander": "^12.1.0",
37
37
  "jszip": "^3.10.1",
38
- "@nextclaw/channel-extension-qq": "0.1.3",
39
- "@nextclaw/channel-extension-feishu": "0.1.6",
40
- "@nextclaw/channel-extension-weixin": "0.1.9",
41
- "@nextclaw/core": "0.12.22",
42
- "@nextclaw/kernel": "0.1.12",
43
- "@nextclaw/mcp": "0.1.87",
44
- "@nextclaw/ncp-agent-runtime": "0.3.26",
45
- "@nextclaw/ncp": "0.5.15",
46
- "@nextclaw/ncp-toolkit": "0.5.20",
47
- "@nextclaw/ncp-mcp": "0.1.89",
48
- "@nextclaw/nextclaw-ncp-runtime-http-client": "0.1.14",
49
- "@nextclaw/nextclaw-hermes-acp-bridge": "0.1.14",
50
- "@nextclaw/nextclaw-ncp-runtime-stdio-client": "0.1.15",
51
- "@nextclaw/remote": "0.1.100",
52
- "@nextclaw/openclaw-compat": "1.0.22",
53
- "@nextclaw/runtime": "0.2.54",
54
- "@nextclaw/shared": "0.1.9",
55
- "@nextclaw/server": "0.12.23"
38
+ "@nextclaw/channel-extension-feishu": "0.1.7",
39
+ "@nextclaw/core": "0.12.23",
40
+ "@nextclaw/channel-extension-weixin": "0.1.10",
41
+ "@nextclaw/channel-extension-qq": "0.1.4",
42
+ "@nextclaw/kernel": "0.1.13",
43
+ "@nextclaw/mcp": "0.1.88",
44
+ "@nextclaw/ncp": "0.5.16",
45
+ "@nextclaw/ncp-toolkit": "0.5.21",
46
+ "@nextclaw/ncp-mcp": "0.1.90",
47
+ "@nextclaw/ncp-agent-runtime": "0.3.27",
48
+ "@nextclaw/nextclaw-ncp-runtime-http-client": "0.1.15",
49
+ "@nextclaw/nextclaw-hermes-acp-bridge": "0.1.15",
50
+ "@nextclaw/nextclaw-ncp-runtime-stdio-client": "0.1.16",
51
+ "@nextclaw/openclaw-compat": "1.0.23",
52
+ "@nextclaw/remote": "0.1.101",
53
+ "@nextclaw/shared": "0.1.10",
54
+ "@nextclaw/server": "0.12.24",
55
+ "@nextclaw/runtime": "0.2.55"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@types/node": "^20.17.6",
@@ -62,7 +62,7 @@
62
62
  "vitest": "^4.1.2"
63
63
  },
64
64
  "scripts": {
65
- "build": "tsdown \"src/**/*.ts\" \"!src/**/*.test.ts\" \"!src/**/tests/**\" --dts --clean --target es2022 --no-fixedExtension --unbundle",
65
+ "build": "tsdown \"src/**/*.ts\" \"!src/**/*.test.ts\" \"!src/**/tests/**\" --dts.sourcemap --clean --target es2022 --no-fixedExtension --unbundle",
66
66
  "lint": "eslint .",
67
67
  "tsc": "tsc -p tsconfig.json",
68
68
  "test": "vitest"