cordisx 0.1.0-beta.21 → 0.1.0-beta.23

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 (566) hide show
  1. package/THIRD_PARTY_NOTICES.md +10 -0
  2. package/dist/assets/launcher/native-app-server-intermediary.mjs +4 -0
  3. package/dist/assets/model-brands/aws-bedrock.svg +12 -0
  4. package/dist/assets/model-brands/azure-foundry.svg +1 -0
  5. package/dist/assets/model-brands/azure-openai.svg +1 -0
  6. package/dist/assets/model-brands/cerebras.png +0 -0
  7. package/dist/assets/model-brands/claude.svg +1 -0
  8. package/dist/assets/model-brands/dashscope.svg +45 -0
  9. package/dist/assets/model-brands/deepseek.svg +3 -0
  10. package/dist/assets/model-brands/fireworks.svg +5 -0
  11. package/dist/assets/model-brands/gemini.png +0 -0
  12. package/dist/assets/model-brands/google-vertex.svg +25 -0
  13. package/dist/assets/model-brands/huggingface.svg +8 -0
  14. package/dist/assets/model-brands/kimi-dark.svg +5 -0
  15. package/dist/assets/model-brands/kimi-light.svg +5 -0
  16. package/dist/assets/model-brands/minimax-dark.svg +1 -0
  17. package/dist/assets/model-brands/minimax-light.svg +1 -0
  18. package/dist/assets/model-brands/moonshot-dark.svg +1 -0
  19. package/dist/assets/model-brands/moonshot-light.svg +1 -0
  20. package/dist/assets/model-brands/openai.svg +1 -0
  21. package/dist/assets/model-brands/opencode-dark.svg +18 -0
  22. package/dist/assets/model-brands/opencode-light.svg +18 -0
  23. package/dist/assets/model-brands/openrouter-dark.svg +3 -0
  24. package/dist/assets/model-brands/openrouter-light.svg +3 -0
  25. package/dist/assets/model-brands/siliconflow.png +0 -0
  26. package/dist/assets/model-brands/together.svg +21 -0
  27. package/dist/assets/model-brands/xai-dark.svg +19 -0
  28. package/dist/assets/model-brands/xai-light.svg +19 -0
  29. package/dist/assets/model-brands/zai-dark.svg +35 -0
  30. package/dist/assets/model-brands/zai-light.svg +35 -0
  31. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/README.md +68 -33
  32. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/README.zh-Hans.md +59 -25
  33. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/THIRD_PARTY_NOTICES.md +6 -2
  34. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/config/cli-proxy-api.yaml +7 -0
  35. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/cordisx-package.json +2 -2
  36. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/extensions.mjs +427 -0
  37. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/gateway.mjs +600 -56
  38. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/service.mjs +426 -0
  39. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/types/service/extension-context.d.ts +2 -0
  40. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/types/service/extension-registry.d.ts +163 -0
  41. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/types/service/gateway-definition.d.ts +7 -0
  42. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/types/service/gateway.d.ts +4 -1
  43. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/dist/types/service/index.d.ts +1 -0
  44. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/package.json +10 -3
  45. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/runtime/cli-proxy-plugins/darwin/arm64/cordisx-gateway-bridge.dylib +0 -0
  46. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/runtime/cli-proxy-plugins/linux/x64/cordisx-gateway-bridge.so +0 -0
  47. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/runtime-manifest.json +44 -2
  48. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/schemas/cli-proxy-gateway-adapter.v1.schema.json +94 -0
  49. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/schemas/cli-proxy-gateway-connection.v1.schema.json +66 -0
  50. package/dist/bundled-plugins/@cordisx/plugin-cli-proxy-api/schemas/cli-proxy-gateway-extension-plan.v1.schema.json +71 -0
  51. package/dist/shortcut-presentation.js +19 -2
  52. package/dist/src/app-launcher/install.test.d.ts +2 -0
  53. package/dist/src/app-launcher/install.test.d.ts.map +1 -0
  54. package/dist/src/app-launcher/install.test.js +204 -0
  55. package/dist/src/app-launcher/install.test.js.map +1 -0
  56. package/dist/src/app-launcher/model.d.ts +23 -0
  57. package/dist/src/app-launcher/model.d.ts.map +1 -0
  58. package/dist/src/app-launcher/model.js +18 -0
  59. package/dist/src/app-launcher/model.js.map +1 -0
  60. package/dist/src/app-launcher/postinstall.d.ts +12 -0
  61. package/dist/src/app-launcher/postinstall.d.ts.map +1 -0
  62. package/dist/src/app-launcher/postinstall.js +39 -0
  63. package/dist/src/app-launcher/postinstall.js.map +1 -0
  64. package/dist/src/app-launcher/runtime-install.d.ts +16 -0
  65. package/dist/src/app-launcher/runtime-install.d.ts.map +1 -0
  66. package/dist/src/app-launcher/runtime-install.js +276 -0
  67. package/dist/src/app-launcher/runtime-install.js.map +1 -0
  68. package/dist/src/app-launcher/runtime.test.d.ts +2 -0
  69. package/dist/src/app-launcher/runtime.test.d.ts.map +1 -0
  70. package/dist/src/app-launcher/runtime.test.js +106 -0
  71. package/dist/src/app-launcher/runtime.test.js.map +1 -0
  72. package/dist/src/cli/activate-owned-host.d.ts +10 -0
  73. package/dist/src/cli/activate-owned-host.d.ts.map +1 -0
  74. package/dist/src/cli/activate-owned-host.js +29 -0
  75. package/dist/src/cli/activate-owned-host.js.map +1 -0
  76. package/dist/src/cli/app-command.d.ts +19 -0
  77. package/dist/src/cli/app-command.d.ts.map +1 -0
  78. package/dist/src/cli/app-command.js +246 -0
  79. package/dist/src/cli/app-command.js.map +1 -0
  80. package/dist/src/cli/app-entry.d.ts +13 -0
  81. package/dist/src/cli/app-entry.d.ts.map +1 -0
  82. package/dist/src/cli/app-entry.js +105 -0
  83. package/dist/src/cli/app-entry.js.map +1 -0
  84. package/dist/src/cli/help.d.ts +2 -0
  85. package/dist/src/cli/help.d.ts.map +1 -0
  86. package/dist/src/cli/help.js +30 -0
  87. package/dist/src/cli/help.js.map +1 -0
  88. package/dist/src/cli/host-lifecycle.d.ts +38 -0
  89. package/dist/src/cli/host-lifecycle.d.ts.map +1 -0
  90. package/dist/src/cli/host-lifecycle.js +57 -0
  91. package/dist/src/cli/host-lifecycle.js.map +1 -0
  92. package/dist/src/cli/native-submission-catalog-options.d.ts +17 -0
  93. package/dist/src/cli/native-submission-catalog-options.d.ts.map +1 -0
  94. package/dist/src/cli/native-submission-catalog-options.js +17 -0
  95. package/dist/src/cli/native-submission-catalog-options.js.map +1 -0
  96. package/dist/src/cli/parse.d.ts +6 -2
  97. package/dist/src/cli/parse.d.ts.map +1 -1
  98. package/dist/src/cli/parse.js +11 -4
  99. package/dist/src/cli/parse.js.map +1 -1
  100. package/dist/src/cli/production-host-bootstrap.d.ts +26 -0
  101. package/dist/src/cli/production-host-bootstrap.d.ts.map +1 -0
  102. package/dist/src/cli/production-host-bootstrap.js +115 -0
  103. package/dist/src/cli/production-host-bootstrap.js.map +1 -0
  104. package/dist/src/cli/production-plugin-management.d.ts +17 -0
  105. package/dist/src/cli/production-plugin-management.d.ts.map +1 -0
  106. package/dist/src/cli/production-plugin-management.js +52 -0
  107. package/dist/src/cli/production-plugin-management.js.map +1 -0
  108. package/dist/src/cli/renderer-composition.d.ts +2 -0
  109. package/dist/src/cli/renderer-composition.d.ts.map +1 -1
  110. package/dist/src/cli/renderer-composition.js +37 -17
  111. package/dist/src/cli/renderer-composition.js.map +1 -1
  112. package/dist/src/cli/run-command-dispatch.d.ts.map +1 -1
  113. package/dist/src/cli/run-command-dispatch.js +18 -2
  114. package/dist/src/cli/run-command-dispatch.js.map +1 -1
  115. package/dist/src/cli/run-command.d.ts +1 -16
  116. package/dist/src/cli/run-command.d.ts.map +1 -1
  117. package/dist/src/cli/run-command.js +96 -112
  118. package/dist/src/cli/run-command.js.map +1 -1
  119. package/dist/src/cli/run-support.d.ts +25 -13
  120. package/dist/src/cli/run-support.d.ts.map +1 -1
  121. package/dist/src/cli/run-support.js +86 -77
  122. package/dist/src/cli/run-support.js.map +1 -1
  123. package/dist/src/cli/shortcut-entry.d.ts +2 -6
  124. package/dist/src/cli/shortcut-entry.d.ts.map +1 -1
  125. package/dist/src/cli/shortcut-entry.js +2 -25
  126. package/dist/src/cli/shortcut-entry.js.map +1 -1
  127. package/dist/src/cli/shortcut-presentation-worker.d.ts +25 -0
  128. package/dist/src/cli/shortcut-presentation-worker.d.ts.map +1 -0
  129. package/dist/src/cli/shortcut-presentation-worker.js +125 -0
  130. package/dist/src/cli/shortcut-presentation-worker.js.map +1 -0
  131. package/dist/src/cli/startup-gate.d.ts +11 -0
  132. package/dist/src/cli/startup-gate.d.ts.map +1 -0
  133. package/dist/src/cli/startup-gate.js +156 -0
  134. package/dist/src/cli/startup-gate.js.map +1 -0
  135. package/dist/src/cli/supervisor-command.d.ts +7 -2
  136. package/dist/src/cli/supervisor-command.d.ts.map +1 -1
  137. package/dist/src/cli/supervisor-command.js +187 -46
  138. package/dist/src/cli/supervisor-command.js.map +1 -1
  139. package/dist/src/cli/supervisor-control.d.ts +1 -1
  140. package/dist/src/cli/supervisor-control.d.ts.map +1 -1
  141. package/dist/src/cli/supervisor-control.js +19 -4
  142. package/dist/src/cli/supervisor-control.js.map +1 -1
  143. package/dist/src/cli/supervisor-cwd.test.d.ts +2 -0
  144. package/dist/src/cli/supervisor-cwd.test.d.ts.map +1 -0
  145. package/dist/src/cli/supervisor-cwd.test.js +101 -0
  146. package/dist/src/cli/supervisor-cwd.test.js.map +1 -0
  147. package/dist/src/cli/supervisor-generation.test.d.ts +2 -0
  148. package/dist/src/cli/supervisor-generation.test.d.ts.map +1 -0
  149. package/dist/src/cli/supervisor-generation.test.js +91 -0
  150. package/dist/src/cli/supervisor-generation.test.js.map +1 -0
  151. package/dist/src/cli/supervisor-runtime.d.ts +6 -3
  152. package/dist/src/cli/supervisor-runtime.d.ts.map +1 -1
  153. package/dist/src/cli/supervisor-runtime.js +113 -32
  154. package/dist/src/cli/supervisor-runtime.js.map +1 -1
  155. package/dist/src/cli/supervisor-state.d.ts +8 -0
  156. package/dist/src/cli/supervisor-state.d.ts.map +1 -1
  157. package/dist/src/cli/supervisor-state.js +22 -33
  158. package/dist/src/cli/supervisor-state.js.map +1 -1
  159. package/dist/src/config/home-config-model-catalogs.d.ts +27 -0
  160. package/dist/src/config/home-config-model-catalogs.d.ts.map +1 -0
  161. package/dist/src/config/home-config-model-catalogs.js +168 -0
  162. package/dist/src/config/home-config-model-catalogs.js.map +1 -0
  163. package/dist/src/config/home-config.d.ts +5 -0
  164. package/dist/src/config/home-config.d.ts.map +1 -1
  165. package/dist/src/config/home-config.js +10 -8
  166. package/dist/src/config/home-config.js.map +1 -1
  167. package/dist/src/current-user-native-pins.d.ts +6 -0
  168. package/dist/src/current-user-native-pins.d.ts.map +1 -1
  169. package/dist/src/current-user-native-pins.js +7 -0
  170. package/dist/src/current-user-native-pins.js.map +1 -1
  171. package/dist/src/launcher/bundle.d.ts +4 -0
  172. package/dist/src/launcher/bundle.d.ts.map +1 -1
  173. package/dist/src/launcher/bundle.js +25 -0
  174. package/dist/src/launcher/bundle.js.map +1 -1
  175. package/dist/src/launcher/cdp-installation-bootstrap.d.ts.map +1 -1
  176. package/dist/src/launcher/cdp-installation-bootstrap.js +4 -2
  177. package/dist/src/launcher/cdp-installation-bootstrap.js.map +1 -1
  178. package/dist/src/launcher/cdp-installation-support.d.ts +3 -22
  179. package/dist/src/launcher/cdp-installation-support.d.ts.map +1 -1
  180. package/dist/src/launcher/cdp-installation-support.js +58 -131
  181. package/dist/src/launcher/cdp-installation-support.js.map +1 -1
  182. package/dist/src/launcher/cdp-installation.d.ts.map +1 -1
  183. package/dist/src/launcher/cdp-installation.js +18 -32
  184. package/dist/src/launcher/cdp-installation.js.map +1 -1
  185. package/dist/src/launcher/cdp-runtime-bindings.d.ts +4 -0
  186. package/dist/src/launcher/cdp-runtime-bindings.d.ts.map +1 -0
  187. package/dist/src/launcher/cdp-runtime-bindings.js +8 -0
  188. package/dist/src/launcher/cdp-runtime-bindings.js.map +1 -0
  189. package/dist/src/launcher/cdp.d.ts.map +1 -1
  190. package/dist/src/launcher/cdp.js +52 -3
  191. package/dist/src/launcher/cdp.js.map +1 -1
  192. package/dist/src/launcher/codex-config-model-providers.d.ts +25 -1
  193. package/dist/src/launcher/codex-config-model-providers.d.ts.map +1 -1
  194. package/dist/src/launcher/codex-config-model-providers.js +113 -23
  195. package/dist/src/launcher/codex-config-model-providers.js.map +1 -1
  196. package/dist/src/launcher/host-generation-bootloader.d.ts +3 -0
  197. package/dist/src/launcher/host-generation-bootloader.d.ts.map +1 -0
  198. package/dist/src/launcher/host-generation-bootloader.js +94 -0
  199. package/dist/src/launcher/host-generation-bootloader.js.map +1 -0
  200. package/dist/src/launcher/host-generation-graph.d.ts +11 -5
  201. package/dist/src/launcher/host-generation-graph.d.ts.map +1 -1
  202. package/dist/src/launcher/host-generation-graph.js +197 -29
  203. package/dist/src/launcher/host-generation-graph.js.map +1 -1
  204. package/dist/src/launcher/kernel-operation-lock.d.ts +5 -0
  205. package/dist/src/launcher/kernel-operation-lock.d.ts.map +1 -0
  206. package/dist/src/launcher/kernel-operation-lock.js +42 -0
  207. package/dist/src/launcher/kernel-operation-lock.js.map +1 -0
  208. package/dist/src/launcher/loopback-permissions.d.ts +25 -0
  209. package/dist/src/launcher/loopback-permissions.d.ts.map +1 -0
  210. package/dist/src/launcher/loopback-permissions.js +112 -0
  211. package/dist/src/launcher/loopback-permissions.js.map +1 -0
  212. package/dist/src/launcher/main-inspector.d.ts +22 -0
  213. package/dist/src/launcher/main-inspector.d.ts.map +1 -0
  214. package/dist/src/launcher/main-inspector.js +101 -0
  215. package/dist/src/launcher/main-inspector.js.map +1 -0
  216. package/dist/src/launcher/model-catalog/abort.d.ts +3 -0
  217. package/dist/src/launcher/model-catalog/abort.d.ts.map +1 -0
  218. package/dist/src/launcher/model-catalog/abort.js +16 -0
  219. package/dist/src/launcher/model-catalog/abort.js.map +1 -0
  220. package/dist/src/launcher/model-catalog/atomic-store.d.ts +13 -0
  221. package/dist/src/launcher/model-catalog/atomic-store.d.ts.map +1 -0
  222. package/dist/src/launcher/model-catalog/atomic-store.js +85 -0
  223. package/dist/src/launcher/model-catalog/atomic-store.js.map +1 -0
  224. package/dist/src/launcher/model-catalog/builtin-registry.d.ts +4 -0
  225. package/dist/src/launcher/model-catalog/builtin-registry.d.ts.map +1 -0
  226. package/dist/src/launcher/model-catalog/builtin-registry.js +13 -0
  227. package/dist/src/launcher/model-catalog/builtin-registry.js.map +1 -0
  228. package/dist/src/launcher/model-catalog/configured-source.d.ts +15 -0
  229. package/dist/src/launcher/model-catalog/configured-source.d.ts.map +1 -0
  230. package/dist/src/launcher/model-catalog/configured-source.js +99 -0
  231. package/dist/src/launcher/model-catalog/configured-source.js.map +1 -0
  232. package/dist/src/launcher/model-catalog/contracts.d.ts +95 -0
  233. package/dist/src/launcher/model-catalog/contracts.d.ts.map +1 -0
  234. package/dist/src/launcher/model-catalog/contracts.js +55 -0
  235. package/dist/src/launcher/model-catalog/contracts.js.map +1 -0
  236. package/dist/src/launcher/model-catalog/deepseek.d.ts +4 -0
  237. package/dist/src/launcher/model-catalog/deepseek.d.ts.map +1 -0
  238. package/dist/src/launcher/model-catalog/deepseek.js +47 -0
  239. package/dist/src/launcher/model-catalog/deepseek.js.map +1 -0
  240. package/dist/src/launcher/model-catalog/discovery-http.d.ts +3 -0
  241. package/dist/src/launcher/model-catalog/discovery-http.d.ts.map +1 -0
  242. package/dist/src/launcher/model-catalog/discovery-http.js +90 -0
  243. package/dist/src/launcher/model-catalog/discovery-http.js.map +1 -0
  244. package/dist/src/launcher/model-catalog/file-source.d.ts +10 -0
  245. package/dist/src/launcher/model-catalog/file-source.d.ts.map +1 -0
  246. package/dist/src/launcher/model-catalog/file-source.js +136 -0
  247. package/dist/src/launcher/model-catalog/file-source.js.map +1 -0
  248. package/dist/src/launcher/model-catalog/managed-catalog-composition.d.ts +36 -0
  249. package/dist/src/launcher/model-catalog/managed-catalog-composition.d.ts.map +1 -0
  250. package/dist/src/launcher/model-catalog/managed-catalog-composition.js +568 -0
  251. package/dist/src/launcher/model-catalog/managed-catalog-composition.js.map +1 -0
  252. package/dist/src/launcher/model-catalog/managed-catalog-state.d.ts +16 -0
  253. package/dist/src/launcher/model-catalog/managed-catalog-state.d.ts.map +1 -0
  254. package/dist/src/launcher/model-catalog/managed-catalog-state.js +130 -0
  255. package/dist/src/launcher/model-catalog/managed-catalog-state.js.map +1 -0
  256. package/dist/src/launcher/model-catalog/managed-provider-api.d.ts +14 -0
  257. package/dist/src/launcher/model-catalog/managed-provider-api.d.ts.map +1 -0
  258. package/dist/src/launcher/model-catalog/managed-provider-api.js +53 -0
  259. package/dist/src/launcher/model-catalog/managed-provider-api.js.map +1 -0
  260. package/dist/src/launcher/model-catalog/managed-provider-capture.d.ts +4 -0
  261. package/dist/src/launcher/model-catalog/managed-provider-capture.d.ts.map +1 -0
  262. package/dist/src/launcher/model-catalog/managed-provider-capture.js +71 -0
  263. package/dist/src/launcher/model-catalog/managed-provider-capture.js.map +1 -0
  264. package/dist/src/launcher/model-catalog/managed-provider-owner.d.ts +38 -0
  265. package/dist/src/launcher/model-catalog/managed-provider-owner.d.ts.map +1 -0
  266. package/dist/src/launcher/model-catalog/managed-provider-owner.js +352 -0
  267. package/dist/src/launcher/model-catalog/managed-provider-owner.js.map +1 -0
  268. package/dist/src/launcher/model-catalog/managed-provider-schema.d.ts +28 -0
  269. package/dist/src/launcher/model-catalog/managed-provider-schema.d.ts.map +1 -0
  270. package/dist/src/launcher/model-catalog/managed-provider-schema.js +71 -0
  271. package/dist/src/launcher/model-catalog/managed-provider-schema.js.map +1 -0
  272. package/dist/src/launcher/model-catalog/native-catalog-management.d.ts +60 -0
  273. package/dist/src/launcher/model-catalog/native-catalog-management.d.ts.map +1 -0
  274. package/dist/src/launcher/model-catalog/native-catalog-management.js +408 -0
  275. package/dist/src/launcher/model-catalog/native-catalog-management.js.map +1 -0
  276. package/dist/src/launcher/model-catalog/native-config-catalog-discovery.d.ts +28 -0
  277. package/dist/src/launcher/model-catalog/native-config-catalog-discovery.d.ts.map +1 -0
  278. package/dist/src/launcher/model-catalog/native-config-catalog-discovery.js +203 -0
  279. package/dist/src/launcher/model-catalog/native-config-catalog-discovery.js.map +1 -0
  280. package/dist/src/launcher/model-catalog/opencode-go.d.ts +4 -0
  281. package/dist/src/launcher/model-catalog/opencode-go.d.ts.map +1 -0
  282. package/dist/src/launcher/model-catalog/opencode-go.js +39 -0
  283. package/dist/src/launcher/model-catalog/opencode-go.js.map +1 -0
  284. package/dist/src/launcher/model-catalog/openrouter.d.ts +4 -0
  285. package/dist/src/launcher/model-catalog/openrouter.d.ts.map +1 -0
  286. package/dist/src/launcher/model-catalog/openrouter.js +71 -0
  287. package/dist/src/launcher/model-catalog/openrouter.js.map +1 -0
  288. package/dist/src/launcher/model-catalog/owner-projection.d.ts +20 -0
  289. package/dist/src/launcher/model-catalog/owner-projection.d.ts.map +1 -0
  290. package/dist/src/launcher/model-catalog/owner-projection.js +37 -0
  291. package/dist/src/launcher/model-catalog/owner-projection.js.map +1 -0
  292. package/dist/src/launcher/model-catalog/registry.d.ts +7 -0
  293. package/dist/src/launcher/model-catalog/registry.d.ts.map +1 -0
  294. package/dist/src/launcher/model-catalog/registry.js +19 -0
  295. package/dist/src/launcher/model-catalog/registry.js.map +1 -0
  296. package/dist/src/launcher/model-catalog/request-capability.d.ts +10 -0
  297. package/dist/src/launcher/model-catalog/request-capability.d.ts.map +1 -0
  298. package/dist/src/launcher/model-catalog/request-capability.js +74 -0
  299. package/dist/src/launcher/model-catalog/request-capability.js.map +1 -0
  300. package/dist/src/launcher/model-catalog/script-composition.d.ts +21 -0
  301. package/dist/src/launcher/model-catalog/script-composition.d.ts.map +1 -0
  302. package/dist/src/launcher/model-catalog/script-composition.js +26 -0
  303. package/dist/src/launcher/model-catalog/script-composition.js.map +1 -0
  304. package/dist/src/launcher/model-catalog/script-executor.d.ts +5 -0
  305. package/dist/src/launcher/model-catalog/script-executor.d.ts.map +1 -0
  306. package/dist/src/launcher/model-catalog/script-executor.js +140 -0
  307. package/dist/src/launcher/model-catalog/script-executor.js.map +1 -0
  308. package/dist/src/launcher/model-catalog/script-management.d.ts +4 -0
  309. package/dist/src/launcher/model-catalog/script-management.d.ts.map +1 -0
  310. package/dist/src/launcher/model-catalog/script-management.js +29 -0
  311. package/dist/src/launcher/model-catalog/script-management.js.map +1 -0
  312. package/dist/src/launcher/model-catalog/script-output-parser.d.ts +3 -0
  313. package/dist/src/launcher/model-catalog/script-output-parser.d.ts.map +1 -0
  314. package/dist/src/launcher/model-catalog/script-output-parser.js +59 -0
  315. package/dist/src/launcher/model-catalog/script-output-parser.js.map +1 -0
  316. package/dist/src/launcher/model-catalog/script-runtime.d.ts +30 -0
  317. package/dist/src/launcher/model-catalog/script-runtime.d.ts.map +1 -0
  318. package/dist/src/launcher/model-catalog/script-runtime.js +164 -0
  319. package/dist/src/launcher/model-catalog/script-runtime.js.map +1 -0
  320. package/dist/src/launcher/model-catalog/script-schema.d.ts +42 -0
  321. package/dist/src/launcher/model-catalog/script-schema.d.ts.map +1 -0
  322. package/dist/src/launcher/model-catalog/script-schema.js +129 -0
  323. package/dist/src/launcher/model-catalog/script-schema.js.map +1 -0
  324. package/dist/src/launcher/model-catalog/script-types.d.ts +84 -0
  325. package/dist/src/launcher/model-catalog/script-types.d.ts.map +1 -0
  326. package/dist/src/launcher/model-catalog/script-types.js +9 -0
  327. package/dist/src/launcher/model-catalog/script-types.js.map +1 -0
  328. package/dist/src/launcher/model-catalog/service.d.ts +39 -0
  329. package/dist/src/launcher/model-catalog/service.d.ts.map +1 -0
  330. package/dist/src/launcher/model-catalog/service.js +292 -0
  331. package/dist/src/launcher/model-catalog/service.js.map +1 -0
  332. package/dist/src/launcher/model-catalog/supplement.d.ts +4 -0
  333. package/dist/src/launcher/model-catalog/supplement.d.ts.map +1 -0
  334. package/dist/src/launcher/model-catalog/supplement.js +59 -0
  335. package/dist/src/launcher/model-catalog/supplement.js.map +1 -0
  336. package/dist/src/launcher/native-account-structure.d.ts +3 -0
  337. package/dist/src/launcher/native-account-structure.d.ts.map +1 -1
  338. package/dist/src/launcher/native-account-structure.js +5 -2
  339. package/dist/src/launcher/native-account-structure.js.map +1 -1
  340. package/dist/src/launcher/native-model-provider-catalog.d.ts +6 -1
  341. package/dist/src/launcher/native-model-provider-catalog.d.ts.map +1 -1
  342. package/dist/src/launcher/native-model-provider-catalog.js +16 -3
  343. package/dist/src/launcher/native-model-provider-catalog.js.map +1 -1
  344. package/dist/src/launcher/native-predispatch-interception.d.ts +6 -2
  345. package/dist/src/launcher/native-predispatch-interception.d.ts.map +1 -1
  346. package/dist/src/launcher/native-predispatch-interception.js +5 -1
  347. package/dist/src/launcher/native-predispatch-interception.js.map +1 -1
  348. package/dist/src/launcher/native-submission-cdp-channel.d.ts +7 -0
  349. package/dist/src/launcher/native-submission-cdp-channel.d.ts.map +1 -1
  350. package/dist/src/launcher/native-submission-cdp-channel.js +54 -7
  351. package/dist/src/launcher/native-submission-cdp-channel.js.map +1 -1
  352. package/dist/src/launcher/native-submission-composition.d.ts +25 -2
  353. package/dist/src/launcher/native-submission-composition.d.ts.map +1 -1
  354. package/dist/src/launcher/native-submission-composition.js +378 -59
  355. package/dist/src/launcher/native-submission-composition.js.map +1 -1
  356. package/dist/src/launcher/native-submission-controller.d.ts +1 -0
  357. package/dist/src/launcher/native-submission-controller.d.ts.map +1 -1
  358. package/dist/src/launcher/native-submission-controller.js +27 -3
  359. package/dist/src/launcher/native-submission-controller.js.map +1 -1
  360. package/dist/src/launcher/native-submission-structure.d.ts +7 -0
  361. package/dist/src/launcher/native-submission-structure.d.ts.map +1 -1
  362. package/dist/src/launcher/native-submission-structure.js +25 -3
  363. package/dist/src/launcher/native-submission-structure.js.map +1 -1
  364. package/dist/src/launcher/process-identity.d.ts +25 -0
  365. package/dist/src/launcher/process-identity.d.ts.map +1 -0
  366. package/dist/src/launcher/process-identity.js +126 -0
  367. package/dist/src/launcher/process-identity.js.map +1 -0
  368. package/dist/src/launcher/process.d.ts +18 -6
  369. package/dist/src/launcher/process.d.ts.map +1 -1
  370. package/dist/src/launcher/process.js +186 -145
  371. package/dist/src/launcher/process.js.map +1 -1
  372. package/dist/src/launcher/production-graph-admission.d.ts +1 -1
  373. package/dist/src/launcher/production-graph-admission.d.ts.map +1 -1
  374. package/dist/src/launcher/production-graph-admission.js +8 -3
  375. package/dist/src/launcher/production-graph-admission.js.map +1 -1
  376. package/dist/src/launcher/profile-launch-lease.d.ts +17 -0
  377. package/dist/src/launcher/profile-launch-lease.d.ts.map +1 -0
  378. package/dist/src/launcher/profile-launch-lease.js +180 -0
  379. package/dist/src/launcher/profile-launch-lease.js.map +1 -0
  380. package/dist/src/launcher/provider-profile-sync-codex-target.d.ts +22 -0
  381. package/dist/src/launcher/provider-profile-sync-codex-target.d.ts.map +1 -0
  382. package/dist/src/launcher/provider-profile-sync-codex-target.js +213 -0
  383. package/dist/src/launcher/provider-profile-sync-codex-target.js.map +1 -0
  384. package/dist/src/launcher/provider-profile-sync-codex.d.ts +21 -0
  385. package/dist/src/launcher/provider-profile-sync-codex.d.ts.map +1 -0
  386. package/dist/src/launcher/provider-profile-sync-codex.js +589 -0
  387. package/dist/src/launcher/provider-profile-sync-codex.js.map +1 -0
  388. package/dist/src/launcher/provider-profile-sync-contracts.d.ts +134 -0
  389. package/dist/src/launcher/provider-profile-sync-contracts.d.ts.map +1 -0
  390. package/dist/src/launcher/provider-profile-sync-contracts.js +114 -0
  391. package/dist/src/launcher/provider-profile-sync-contracts.js.map +1 -0
  392. package/dist/src/launcher/provider-profile-sync-ledger.d.ts +82 -0
  393. package/dist/src/launcher/provider-profile-sync-ledger.d.ts.map +1 -0
  394. package/dist/src/launcher/provider-profile-sync-ledger.js +355 -0
  395. package/dist/src/launcher/provider-profile-sync-ledger.js.map +1 -0
  396. package/dist/src/launcher/provider-profile-sync-projection.d.ts +21 -0
  397. package/dist/src/launcher/provider-profile-sync-projection.d.ts.map +1 -0
  398. package/dist/src/launcher/provider-profile-sync-projection.js +120 -0
  399. package/dist/src/launcher/provider-profile-sync-projection.js.map +1 -0
  400. package/dist/src/launcher/secret-resolver.d.ts.map +1 -1
  401. package/dist/src/launcher/secret-resolver.js +3 -0
  402. package/dist/src/launcher/secret-resolver.js.map +1 -1
  403. package/dist/src/model-catalog/management-overlay.d.ts +67 -0
  404. package/dist/src/model-catalog/management-overlay.d.ts.map +1 -0
  405. package/dist/src/model-catalog/management-overlay.js +193 -0
  406. package/dist/src/model-catalog/management-overlay.js.map +1 -0
  407. package/dist/src/model-catalog-management.d.ts +132 -0
  408. package/dist/src/model-catalog-management.d.ts.map +1 -0
  409. package/dist/src/model-catalog-management.js +2 -0
  410. package/dist/src/model-catalog-management.js.map +1 -0
  411. package/dist/src/model-selector-branding.d.ts +24 -0
  412. package/dist/src/model-selector-branding.d.ts.map +1 -0
  413. package/dist/src/model-selector-branding.js +201 -0
  414. package/dist/src/model-selector-branding.js.map +1 -0
  415. package/dist/src/renderer/adapter/native-model-provider-interaction.d.ts +4 -0
  416. package/dist/src/renderer/adapter/native-model-provider-interaction.d.ts.map +1 -0
  417. package/dist/src/renderer/adapter/native-model-provider-interaction.js +45 -0
  418. package/dist/src/renderer/adapter/native-model-provider-interaction.js.map +1 -0
  419. package/dist/src/renderer/adapter/native-model-provider-seat.d.ts +2 -0
  420. package/dist/src/renderer/adapter/native-model-provider-seat.d.ts.map +1 -1
  421. package/dist/src/renderer/adapter/native-model-provider-seat.js +7 -7
  422. package/dist/src/renderer/adapter/native-model-provider-seat.js.map +1 -1
  423. package/dist/src/renderer/adapter/reasoning.d.ts.map +1 -1
  424. package/dist/src/renderer/adapter/reasoning.js +6 -3
  425. package/dist/src/renderer/adapter/reasoning.js.map +1 -1
  426. package/dist/src/renderer/adapter/startup-presentation.d.ts +17 -0
  427. package/dist/src/renderer/adapter/startup-presentation.d.ts.map +1 -0
  428. package/dist/src/renderer/adapter/startup-presentation.js +21 -0
  429. package/dist/src/renderer/adapter/startup-presentation.js.map +1 -0
  430. package/dist/src/renderer/adapter/startup-readiness.d.ts +21 -0
  431. package/dist/src/renderer/adapter/startup-readiness.d.ts.map +1 -0
  432. package/dist/src/renderer/adapter/startup-readiness.js +196 -0
  433. package/dist/src/renderer/adapter/startup-readiness.js.map +1 -0
  434. package/dist/src/renderer/current-user/native.d.ts +17 -1
  435. package/dist/src/renderer/current-user/native.d.ts.map +1 -1
  436. package/dist/src/renderer/current-user/native.js +20 -7
  437. package/dist/src/renderer/current-user/native.js.map +1 -1
  438. package/dist/src/renderer/host-ui/HostMenu.d.ts +2 -1
  439. package/dist/src/renderer/host-ui/HostMenu.d.ts.map +1 -1
  440. package/dist/src/renderer/host-ui/HostMenu.js +17 -5
  441. package/dist/src/renderer/host-ui/HostMenu.js.map +1 -1
  442. package/dist/src/renderer/host-ui/ModelBrandIcon.d.ts +8 -0
  443. package/dist/src/renderer/host-ui/ModelBrandIcon.d.ts.map +1 -0
  444. package/dist/src/renderer/host-ui/ModelBrandIcon.js +93 -0
  445. package/dist/src/renderer/host-ui/ModelBrandIcon.js.map +1 -0
  446. package/dist/src/renderer/host-ui/SelectField.d.ts +2 -1
  447. package/dist/src/renderer/host-ui/SelectField.d.ts.map +1 -1
  448. package/dist/src/renderer/host-ui/SelectField.js +2 -2
  449. package/dist/src/renderer/host-ui/SelectField.js.map +1 -1
  450. package/dist/src/renderer/install-model-provider-selector.d.ts.map +1 -1
  451. package/dist/src/renderer/install-model-provider-selector.js +24 -8
  452. package/dist/src/renderer/install-model-provider-selector.js.map +1 -1
  453. package/dist/src/renderer/manager/pages/ModelServicesPage.d.ts.map +1 -1
  454. package/dist/src/renderer/manager/pages/ModelServicesPage.js +47 -6
  455. package/dist/src/renderer/manager/pages/ModelServicesPage.js.map +1 -1
  456. package/dist/src/renderer/manager/pages/model-catalog/CatalogBinding.d.ts +16 -0
  457. package/dist/src/renderer/manager/pages/model-catalog/CatalogBinding.d.ts.map +1 -0
  458. package/dist/src/renderer/manager/pages/model-catalog/CatalogBinding.js +131 -0
  459. package/dist/src/renderer/manager/pages/model-catalog/CatalogBinding.js.map +1 -0
  460. package/dist/src/renderer/manager/pages/model-catalog/CatalogInput.d.ts +6 -0
  461. package/dist/src/renderer/manager/pages/model-catalog/CatalogInput.d.ts.map +1 -0
  462. package/dist/src/renderer/manager/pages/model-catalog/CatalogInput.js +12 -0
  463. package/dist/src/renderer/manager/pages/model-catalog/CatalogInput.js.map +1 -0
  464. package/dist/src/renderer/manager/pages/model-catalog/ConnectionEditor.d.ts +8 -0
  465. package/dist/src/renderer/manager/pages/model-catalog/ConnectionEditor.d.ts.map +1 -0
  466. package/dist/src/renderer/manager/pages/model-catalog/ConnectionEditor.js +82 -0
  467. package/dist/src/renderer/manager/pages/model-catalog/ConnectionEditor.js.map +1 -0
  468. package/dist/src/renderer/manager/pages/model-catalog/ModelEditor.d.ts +10 -0
  469. package/dist/src/renderer/manager/pages/model-catalog/ModelEditor.d.ts.map +1 -0
  470. package/dist/src/renderer/manager/pages/model-catalog/ModelEditor.js +74 -0
  471. package/dist/src/renderer/manager/pages/model-catalog/ModelEditor.js.map +1 -0
  472. package/dist/src/renderer/manager/pages/model-catalog/ScriptEditor.d.ts +9 -0
  473. package/dist/src/renderer/manager/pages/model-catalog/ScriptEditor.d.ts.map +1 -0
  474. package/dist/src/renderer/manager/pages/model-catalog/ScriptEditor.js +82 -0
  475. package/dist/src/renderer/manager/pages/model-catalog/ScriptEditor.js.map +1 -0
  476. package/dist/src/renderer/manager/pages/model-catalog/model-catalog.css +254 -0
  477. package/dist/src/renderer/model-catalog-client.d.ts +26 -0
  478. package/dist/src/renderer/model-catalog-client.d.ts.map +1 -0
  479. package/dist/src/renderer/model-catalog-client.js +122 -0
  480. package/dist/src/renderer/model-catalog-client.js.map +1 -0
  481. package/dist/src/renderer/model-catalog-projection.d.ts +5 -0
  482. package/dist/src/renderer/model-catalog-projection.d.ts.map +1 -0
  483. package/dist/src/renderer/model-catalog-projection.js +176 -0
  484. package/dist/src/renderer/model-catalog-projection.js.map +1 -0
  485. package/dist/src/renderer/model-provider-selector.d.ts +2 -1
  486. package/dist/src/renderer/model-provider-selector.d.ts.map +1 -1
  487. package/dist/src/renderer/model-provider-selector.js +58 -18
  488. package/dist/src/renderer/model-provider-selector.js.map +1 -1
  489. package/dist/src/renderer/model-providers.css +14 -1
  490. package/dist/src/renderer/model-providers.d.ts +19 -2
  491. package/dist/src/renderer/model-providers.d.ts.map +1 -1
  492. package/dist/src/renderer/model-providers.js +62 -2
  493. package/dist/src/renderer/model-providers.js.map +1 -1
  494. package/dist/src/renderer/native-model-provider-transport.d.ts +2 -0
  495. package/dist/src/renderer/native-model-provider-transport.d.ts.map +1 -1
  496. package/dist/src/renderer/native-model-provider-transport.js +57 -9
  497. package/dist/src/renderer/native-model-provider-transport.js.map +1 -1
  498. package/dist/src/renderer/native-provider-selection-client.d.ts +8 -1
  499. package/dist/src/renderer/native-provider-selection-client.d.ts.map +1 -1
  500. package/dist/src/renderer/native-provider-selection-client.js.map +1 -1
  501. package/dist/src/renderer/runtime-install.d.ts +2 -2
  502. package/dist/src/renderer/runtime-install.d.ts.map +1 -1
  503. package/dist/src/renderer/runtime-install.js +27 -11
  504. package/dist/src/renderer/runtime-install.js.map +1 -1
  505. package/dist/src/renderer/runtime-plugin-mount.d.ts +1 -1
  506. package/dist/src/renderer/runtime-plugin-mount.d.ts.map +1 -1
  507. package/dist/src/renderer/runtime-plugin-mount.js +5 -1
  508. package/dist/src/renderer/runtime-plugin-mount.js.map +1 -1
  509. package/dist/src/renderer/runtime-shared.d.ts +1 -0
  510. package/dist/src/renderer/runtime-shared.d.ts.map +1 -1
  511. package/dist/src/renderer/runtime-shared.js.map +1 -1
  512. package/dist/src/renderer/runtime-start-completion.d.ts +3 -0
  513. package/dist/src/renderer/runtime-start-completion.d.ts.map +1 -0
  514. package/dist/src/renderer/runtime-start-completion.js +12 -0
  515. package/dist/src/renderer/runtime-start-completion.js.map +1 -0
  516. package/dist/src/renderer/runtime-start.d.ts.map +1 -1
  517. package/dist/src/renderer/runtime-start.js +7 -6
  518. package/dist/src/renderer/runtime-start.js.map +1 -1
  519. package/dist/src/renderer/ui-copy/model-catalog.d.ts +455 -0
  520. package/dist/src/renderer/ui-copy/model-catalog.d.ts.map +1 -0
  521. package/dist/src/renderer/ui-copy/model-catalog.js +158 -0
  522. package/dist/src/renderer/ui-copy/model-catalog.js.map +1 -0
  523. package/dist/src/renderer/ui-copy.d.ts +453 -1
  524. package/dist/src/renderer/ui-copy.d.ts.map +1 -1
  525. package/dist/src/renderer/ui-copy.js +2 -0
  526. package/dist/src/renderer/ui-copy.js.map +1 -1
  527. package/dist/src/shortcuts/create.d.ts +17 -1
  528. package/dist/src/shortcuts/create.d.ts.map +1 -1
  529. package/dist/src/shortcuts/create.js +37 -0
  530. package/dist/src/shortcuts/create.js.map +1 -1
  531. package/dist/src/shortcuts/create.test.js +22 -1
  532. package/dist/src/shortcuts/create.test.js.map +1 -1
  533. package/dist/src/shortcuts/dock.d.ts +22 -6
  534. package/dist/src/shortcuts/dock.d.ts.map +1 -1
  535. package/dist/src/shortcuts/dock.js +156 -33
  536. package/dist/src/shortcuts/dock.js.map +1 -1
  537. package/dist/src/shortcuts/model.d.ts +7 -0
  538. package/dist/src/shortcuts/model.d.ts.map +1 -1
  539. package/dist/src/shortcuts/model.js +5 -1
  540. package/dist/src/shortcuts/model.js.map +1 -1
  541. package/dist/src/shortcuts/native.d.ts +6 -2
  542. package/dist/src/shortcuts/native.d.ts.map +1 -1
  543. package/dist/src/shortcuts/native.js +18 -4
  544. package/dist/src/shortcuts/native.js.map +1 -1
  545. package/dist/src/shortcuts/presentation.test.js +45 -0
  546. package/dist/src/shortcuts/presentation.test.js.map +1 -1
  547. package/dist/src/shortcuts/startup-brand.d.ts +6 -0
  548. package/dist/src/shortcuts/startup-brand.d.ts.map +1 -0
  549. package/dist/src/shortcuts/startup-brand.js +32 -0
  550. package/dist/src/shortcuts/startup-brand.js.map +1 -0
  551. package/dist/src/shortcuts/startup-cover.d.ts +15 -0
  552. package/dist/src/shortcuts/startup-cover.d.ts.map +1 -0
  553. package/dist/src/shortcuts/startup-cover.js +202 -0
  554. package/dist/src/shortcuts/startup-cover.js.map +1 -0
  555. package/dist/src/shortcuts/startup-release.d.ts +7 -0
  556. package/dist/src/shortcuts/startup-release.d.ts.map +1 -0
  557. package/dist/src/shortcuts/startup-release.js +11 -0
  558. package/dist/src/shortcuts/startup-release.js.map +1 -0
  559. package/dist/src/shortcuts/startup-timing.d.ts +7 -0
  560. package/dist/src/shortcuts/startup-timing.d.ts.map +1 -0
  561. package/dist/src/shortcuts/startup-timing.js +77 -0
  562. package/dist/src/shortcuts/startup-timing.js.map +1 -0
  563. package/package.json +4 -2
  564. package/scripts/refresh-existing-app.mjs +11 -0
  565. package/third_party/lobe-icons-MIT.txt +21 -0
  566. package/third_party/openai-apps-sdk-ui-MIT.txt +19 -0
@@ -0,0 +1,23 @@
1
+ export interface AppLauncherRuntime {
2
+ readonly schemaVersion: 1;
3
+ readonly node: string;
4
+ readonly entryScript: string;
5
+ readonly cordisxHome: string;
6
+ readonly cwd: string;
7
+ readonly cacheDirectory: string;
8
+ readonly cacheRegistry: string;
9
+ readonly codexHome?: string;
10
+ }
11
+ export interface AppLauncherProfile {
12
+ readonly id: string;
13
+ readonly displayName: string;
14
+ readonly dataMode: 'shared' | 'host-isolated';
15
+ }
16
+ export interface AppLauncherMenu {
17
+ readonly ok: true;
18
+ readonly appId: string;
19
+ readonly defaultProfile: string;
20
+ readonly profiles: readonly AppLauncherProfile[];
21
+ }
22
+ export declare function validAppLauncherRuntime(value: unknown): value is AppLauncherRuntime;
23
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/app-launcher/model.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAAA;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAcnF"}
@@ -0,0 +1,18 @@
1
+ import path from 'node:path';
2
+ export function validAppLauncherRuntime(value) {
3
+ if (!value || typeof value !== 'object')
4
+ return false;
5
+ const runtime = value;
6
+ return runtime.schemaVersion === 1
7
+ && [
8
+ runtime.node,
9
+ runtime.entryScript,
10
+ runtime.cordisxHome,
11
+ runtime.cwd,
12
+ runtime.cacheDirectory,
13
+ runtime.cacheRegistry,
14
+ ]
15
+ .every(item => typeof item === 'string' && path.isAbsolute(item))
16
+ && (runtime.codexHome === undefined || path.isAbsolute(runtime.codexHome));
17
+ }
18
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/app-launcher/model.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AA0B5B,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,OAAO,GAAG,KAA2B,CAAA;IAC3C,OAAO,OAAO,CAAC,aAAa,KAAK,CAAC;WAC7B;YACD,OAAO,CAAC,IAAI;YACZ,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,GAAG;YACX,OAAO,CAAC,cAAc;YACtB,OAAO,CAAC,aAAa;SACtB;aACE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;WAChE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;AAC9E,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { CordisXCliRuntime } from '../cli/run-support.js';
2
+ export interface AppPostinstallOptions {
3
+ readonly platform?: NodeJS.Platform;
4
+ readonly globalInstall?: boolean;
5
+ readonly homedir?: string;
6
+ readonly warn?: (message: string) => void;
7
+ /** Test-only isolated App installation source. */
8
+ readonly internalAppOutput?: CordisXCliRuntime['internalAppOutput'];
9
+ }
10
+ /** Refresh only an existing owned App; package installation never creates or opens one. */
11
+ export declare function refreshInstalledAppAfterUpgrade(options?: AppPostinstallOptions): Promise<boolean>;
12
+ //# sourceMappingURL=postinstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../../../src/app-launcher/postinstall.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,kDAAkD;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;CACpE;AAED,2FAA2F;AAC3F,wBAAsB,+BAA+B,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC3G"}
@@ -0,0 +1,39 @@
1
+ import { lstat } from 'node:fs/promises';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ /** Refresh only an existing owned App; package installation never creates or opens one. */
5
+ export async function refreshInstalledAppAfterUpgrade(options = {}) {
6
+ const platform = options.platform ?? process.platform;
7
+ const globalInstall = options.globalInstall ?? process.env.npm_config_global === 'true';
8
+ if (platform !== 'darwin' || !globalInstall)
9
+ return false;
10
+ const homedir = options.homedir ?? os.homedir();
11
+ const app = path.join(homedir, 'Applications', 'CordisX.app');
12
+ try {
13
+ const metadata = await lstat(app);
14
+ if (!metadata.isDirectory() || metadata.isSymbolicLink())
15
+ return false;
16
+ }
17
+ catch (error) {
18
+ if (error.code === 'ENOENT')
19
+ return false;
20
+ const detail = error instanceof Error ? error.message : String(error);
21
+ (options.warn ?? console.warn)(`[cordisx] Could not check CordisX.app during upgrade: ${detail}`);
22
+ return false;
23
+ }
24
+ try {
25
+ const { runAppUpdateCommand } = await import('../cli/app-command.js');
26
+ await runAppUpdateCommand({
27
+ homedir,
28
+ ...(options.internalAppOutput ? { internalAppOutput: options.internalAppOutput } : {}),
29
+ stdout: () => { },
30
+ });
31
+ return true;
32
+ }
33
+ catch (error) {
34
+ const detail = error instanceof Error ? error.message : String(error);
35
+ (options.warn ?? console.warn)(`[cordisx] Existing CordisX.app was not upgraded: ${detail}. Run \`cordisx app update\` to retry.`);
36
+ return false;
37
+ }
38
+ }
39
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../../src/app-launcher/postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAY5B,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,UAAiC,EAAE;IACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAA;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAA;IACvF,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAA;IAEzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;IAC7D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE;YAAE,OAAO,KAAK,CAAA;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QACpE,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpE;QAAA,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAA;QAClG,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;QACrE,MAAM,mBAAmB,CAAC;YACxB,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACjB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpE;QAAA,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAC7B,oDAAoD,MAAM,wCAAwC,CACnG,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface AppRuntimeSource {
2
+ readonly entryScript: string;
3
+ readonly packageRoot: string;
4
+ readonly dependencyRoots: readonly string[];
5
+ }
6
+ export interface AppCommandOutputOptions {
7
+ readonly directory: string;
8
+ readonly path?: string;
9
+ readonly runtimeSource?: AppRuntimeSource;
10
+ }
11
+ export declare function resolveAppRuntimeSource(entryScript: string): Promise<AppRuntimeSource>;
12
+ /** Computes the exact installed entry for a CLI source without writing to disk. */
13
+ export declare function expectedVersionedAppRuntimeEntry(support: string, source: AppRuntimeSource): Promise<string>;
14
+ /** Installs one immutable app runtime, then returns its exact copied entry. */
15
+ export declare function installVersionedAppRuntime(support: string, source: AppRuntimeSource, node: string): Promise<string>;
16
+ //# sourceMappingURL=runtime-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-install.d.ts","sourceRoot":"","sources":["../../../src/app-launcher/runtime-install.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAA;CAC1C;AA4BD,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAc5F;AAyMD,mFAAmF;AACnF,wBAAsB,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjH;AAED,+EAA+E;AAC/E,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -0,0 +1,276 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { execFile } from 'node:child_process';
3
+ import { lstat, mkdir, mkdtemp, opendir, readFile, realpath, rename, rm, symlink, writeFile } from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import { pathToFileURL } from 'node:url';
6
+ import { promisify } from 'node:util';
7
+ import { isMissing, privateDirectory } from '../shortcuts/store.js';
8
+ const run = promisify(execFile);
9
+ const DEPENDENCY_LAYER_SCHEMA = 2;
10
+ const DEPENDENCY_LAYER_RECORD = 'layer.json';
11
+ async function existingDirectory(candidate) {
12
+ try {
13
+ const resolved = await realpath(candidate);
14
+ return (await lstat(resolved)).isDirectory() ? resolved : undefined;
15
+ }
16
+ catch (error) {
17
+ if (isMissing(error))
18
+ return undefined;
19
+ throw error;
20
+ }
21
+ }
22
+ async function workspaceRoot(packageRoot) {
23
+ let current = path.dirname(packageRoot);
24
+ while (current !== path.dirname(current)) {
25
+ try {
26
+ const manifest = JSON.parse(await readFile(path.join(current, 'package.json'), 'utf8'));
27
+ if (manifest.workspaces !== undefined)
28
+ return current;
29
+ }
30
+ catch (error) {
31
+ if (!isMissing(error) && !(error instanceof SyntaxError))
32
+ throw error;
33
+ }
34
+ current = path.dirname(current);
35
+ }
36
+ return undefined;
37
+ }
38
+ export async function resolveAppRuntimeSource(entryScript) {
39
+ const resolvedEntry = await realpath(entryScript);
40
+ const dist = path.resolve(path.dirname(resolvedEntry), '..', '..');
41
+ if (path.basename(dist) !== 'dist')
42
+ throw new Error('CordisX app entry is outside its packaged distribution');
43
+ const packageRoot = path.dirname(dist);
44
+ const workspace = await workspaceRoot(packageRoot);
45
+ const dependencyRoots = [];
46
+ if (workspace) {
47
+ const root = await existingDirectory(path.join(workspace, 'node_modules'));
48
+ if (root)
49
+ dependencyRoots.push(root);
50
+ }
51
+ const local = await existingDirectory(path.join(packageRoot, 'node_modules'));
52
+ if (local && !dependencyRoots.includes(local))
53
+ dependencyRoots.push(local);
54
+ return { entryScript: resolvedEntry, packageRoot, dependencyRoots };
55
+ }
56
+ async function digestTree(root) {
57
+ const hash = createHash('sha256');
58
+ const visited = new Set();
59
+ const visit = async (directory, logical = '') => {
60
+ const resolvedDirectory = await realpath(directory);
61
+ if (visited.has(resolvedDirectory)) {
62
+ hash.update(`seen:${logical}\0`);
63
+ return;
64
+ }
65
+ visited.add(resolvedDirectory);
66
+ const entries = [];
67
+ const handle = await opendir(resolvedDirectory);
68
+ for await (const entry of handle)
69
+ entries.push(entry);
70
+ entries.sort((left, right) => left.name.localeCompare(right.name));
71
+ for (const entry of entries) {
72
+ const absolute = path.join(resolvedDirectory, entry.name);
73
+ const relative = path.join(logical, entry.name);
74
+ const resolved = entry.isSymbolicLink() ? await realpath(absolute) : absolute;
75
+ const metadata = await lstat(resolved);
76
+ hash.update(metadata.isDirectory() ? `d:${relative}\0` : `f:${relative}\0`);
77
+ if (metadata.isDirectory())
78
+ await visit(resolved, relative);
79
+ else
80
+ hash.update(await readFile(resolved));
81
+ }
82
+ };
83
+ await visit(root);
84
+ return hash.digest('hex');
85
+ }
86
+ async function cloneDirectory(source, target) {
87
+ await run('/bin/cp', ['-cRL', source, target]);
88
+ }
89
+ async function mergeClonedDirectory(source, target) {
90
+ await mkdir(target, { recursive: true });
91
+ const handle = await opendir(source);
92
+ for await (const entry of handle) {
93
+ const sourcePath = path.join(source, entry.name);
94
+ const resolvedSource = entry.isSymbolicLink() ? await realpath(sourcePath) : sourcePath;
95
+ const sourceMetadata = await lstat(resolvedSource);
96
+ const targetPath = path.join(target, entry.name);
97
+ let mergeDirectory = false;
98
+ if (sourceMetadata.isDirectory()) {
99
+ try {
100
+ const targetMetadata = await lstat(targetPath);
101
+ mergeDirectory = targetMetadata.isDirectory() && !targetMetadata.isSymbolicLink();
102
+ }
103
+ catch (error) {
104
+ if (!isMissing(error))
105
+ throw error;
106
+ }
107
+ }
108
+ if (mergeDirectory)
109
+ await mergeClonedDirectory(resolvedSource, targetPath);
110
+ else {
111
+ await rm(targetPath, { recursive: true, force: true });
112
+ await cloneDirectory(resolvedSource, targetPath);
113
+ }
114
+ }
115
+ }
116
+ async function validDependencyLayer(target, digest) {
117
+ try {
118
+ const targetMetadata = await lstat(target);
119
+ const modulesMetadata = await lstat(path.join(target, 'node_modules'));
120
+ const recordPath = path.join(target, DEPENDENCY_LAYER_RECORD);
121
+ const recordMetadata = await lstat(recordPath);
122
+ if (!targetMetadata.isDirectory() || targetMetadata.isSymbolicLink()
123
+ || !modulesMetadata.isDirectory() || modulesMetadata.isSymbolicLink()
124
+ || !recordMetadata.isFile() || recordMetadata.isSymbolicLink())
125
+ return false;
126
+ const record = JSON.parse(await readFile(recordPath, 'utf8'));
127
+ return record.schemaVersion === DEPENDENCY_LAYER_SCHEMA && record.digest === digest;
128
+ }
129
+ catch (error) {
130
+ if (isMissing(error) || error instanceof SyntaxError)
131
+ return false;
132
+ throw error;
133
+ }
134
+ }
135
+ async function validInstalledRuntime(directory, relativeEntry, expectedNodeModules) {
136
+ try {
137
+ const metadata = await lstat(directory);
138
+ const entry = await lstat(path.join(directory, relativeEntry));
139
+ return metadata.isDirectory() && !metadata.isSymbolicLink() && entry.isFile() && !entry.isSymbolicLink()
140
+ && (expectedNodeModules === undefined
141
+ || await realpath(path.join(directory, 'node_modules')) === await realpath(expectedNodeModules));
142
+ }
143
+ catch (error) {
144
+ if (isMissing(error))
145
+ return false;
146
+ throw error;
147
+ }
148
+ }
149
+ async function installDependencyLayer(support, description) {
150
+ if (!description)
151
+ return { digest: 'none' };
152
+ const { digest, resolvedRoots, sourceDigest } = description;
153
+ const layers = path.join(support, 'dependencies');
154
+ await privateDirectory(layers);
155
+ const target = path.join(layers, digest);
156
+ const nodeModules = path.join(target, 'node_modules');
157
+ if (await validDependencyLayer(target, digest))
158
+ return { digest, nodeModules };
159
+ const stage = await mkdtemp(path.join(layers, '.dependencies-'));
160
+ try {
161
+ const stagedModules = path.join(stage, 'node_modules');
162
+ for (const root of resolvedRoots) {
163
+ if (await existingDirectory(stagedModules))
164
+ await mergeClonedDirectory(root, stagedModules);
165
+ else
166
+ await cloneDirectory(root, stagedModules);
167
+ }
168
+ await writeFile(path.join(stage, DEPENDENCY_LAYER_RECORD), JSON.stringify({ schemaVersion: DEPENDENCY_LAYER_SCHEMA, digest, sourceDigest }) + '\n', { mode: 0o600 });
169
+ try {
170
+ await rename(stage, target);
171
+ }
172
+ catch (error) {
173
+ if (await validDependencyLayer(target, digest)) {
174
+ await rm(stage, { recursive: true, force: true });
175
+ return { digest, nodeModules };
176
+ }
177
+ const code = error.code;
178
+ if (code !== 'EEXIST' && code !== 'ENOTEMPTY')
179
+ throw error;
180
+ await rm(target, { recursive: true, force: true });
181
+ await rename(stage, target);
182
+ }
183
+ return { digest, nodeModules };
184
+ }
185
+ catch (error) {
186
+ await rm(stage, { recursive: true, force: true });
187
+ throw error;
188
+ }
189
+ }
190
+ async function describeDependencyLayer(roots) {
191
+ const hash = createHash('sha256');
192
+ const resolvedRoots = [];
193
+ for (const root of roots) {
194
+ const resolved = await existingDirectory(root);
195
+ if (!resolved)
196
+ throw new Error(`CordisX runtime dependency root is unavailable: ${root}`);
197
+ resolvedRoots.push(resolved);
198
+ hash.update(await digestTree(resolved));
199
+ }
200
+ const sourceDigest = hash.digest('hex');
201
+ const digest = createHash('sha256')
202
+ .update(`cordisx.app-runtime-dependencies.v${DEPENDENCY_LAYER_SCHEMA}\0`)
203
+ .update(sourceDigest)
204
+ .digest('hex');
205
+ return { digest, sourceDigest, resolvedRoots };
206
+ }
207
+ async function describeRuntimeSource(support, source) {
208
+ const packageRoot = await realpath(source.packageRoot);
209
+ const sourceEntry = await realpath(source.entryScript);
210
+ const dist = path.join(packageRoot, 'dist');
211
+ const relativeEntry = path.relative(packageRoot, sourceEntry);
212
+ if (!relativeEntry.startsWith(`dist${path.sep}`) || path.isAbsolute(relativeEntry)) {
213
+ throw new Error('CordisX app entry is outside its runtime package');
214
+ }
215
+ const manifestText = await readFile(path.join(packageRoot, 'package.json'), 'utf8');
216
+ const manifest = JSON.parse(manifestText);
217
+ if (typeof manifest.version !== 'string' || !/^[0-9A-Za-z.+-]+$/u.test(manifest.version)) {
218
+ throw new Error('CordisX runtime package has no portable version');
219
+ }
220
+ const dependencies = source.dependencyRoots.length === 0
221
+ ? undefined
222
+ : await describeDependencyLayer(source.dependencyRoots);
223
+ const digest = createHash('sha256')
224
+ .update(manifestText)
225
+ .update(await digestTree(dist))
226
+ .update(dependencies?.digest ?? 'none')
227
+ .digest('hex');
228
+ const runtimeRoot = path.join(support, 'runtimes', `${manifest.version}-${digest}`);
229
+ return {
230
+ entryScript: path.join(runtimeRoot, relativeEntry),
231
+ packageRoot,
232
+ dist,
233
+ relativeEntry,
234
+ manifestText,
235
+ dependencies,
236
+ runtimeRoot,
237
+ };
238
+ }
239
+ /** Computes the exact installed entry for a CLI source without writing to disk. */
240
+ export async function expectedVersionedAppRuntimeEntry(support, source) {
241
+ return (await describeRuntimeSource(support, source)).entryScript;
242
+ }
243
+ /** Installs one immutable app runtime, then returns its exact copied entry. */
244
+ export async function installVersionedAppRuntime(support, source, node) {
245
+ const description = await describeRuntimeSource(support, source);
246
+ const { dist, relativeEntry, manifestText, entryScript } = description;
247
+ const dependencies = await installDependencyLayer(support, description.dependencies);
248
+ const runtimes = path.join(support, 'runtimes');
249
+ await privateDirectory(runtimes);
250
+ const target = description.runtimeRoot;
251
+ if (await validInstalledRuntime(target, relativeEntry, dependencies.nodeModules)) {
252
+ return path.join(target, relativeEntry);
253
+ }
254
+ const stage = await mkdtemp(path.join(runtimes, '.runtime-'));
255
+ try {
256
+ await cloneDirectory(dist, path.join(stage, 'dist'));
257
+ await writeFile(path.join(stage, 'package.json'), manifestText, { mode: 0o600 });
258
+ if (dependencies.nodeModules) {
259
+ await symlink(path.relative(stage, dependencies.nodeModules), path.join(stage, 'node_modules'), 'dir');
260
+ }
261
+ const installedEntry = path.join(stage, relativeEntry);
262
+ await run(node, [
263
+ '--input-type=module',
264
+ '--eval',
265
+ 'await import(process.argv[1])',
266
+ pathToFileURL(installedEntry).href,
267
+ ]);
268
+ await rename(stage, target);
269
+ return path.join(target, relativeEntry);
270
+ }
271
+ catch (error) {
272
+ await rm(stage, { recursive: true, force: true });
273
+ throw error;
274
+ }
275
+ }
276
+ //# sourceMappingURL=runtime-install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-install.js","sourceRoot":"","sources":["../../../src/app-launcher/runtime-install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runtime.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.test.d.ts","sourceRoot":"","sources":["../../../src/app-launcher/runtime.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,106 @@
1
+ import { afterEach, describe, expect, it, vi } from 'vitest';
2
+ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ import { ensureHomeConfig } from '../config/home-config.js';
7
+ import { runAppLauncherOperation } from '../cli/app-entry.js';
8
+ import { writePrivateJson } from '../shortcuts/store.js';
9
+ let roots = [];
10
+ afterEach(async () => {
11
+ vi.restoreAllMocks();
12
+ for (const root of roots)
13
+ await rm(root, { recursive: true, force: true });
14
+ roots = [];
15
+ });
16
+ async function fixture() {
17
+ const root = await mkdtemp(path.join(os.tmpdir(), 'cx-app-runtime-'));
18
+ roots.push(root);
19
+ const home = path.join(root, 'home');
20
+ const configPath = path.join(home, 'config.json');
21
+ const config = await ensureHomeConfig({ configPath });
22
+ await writeFile(configPath, JSON.stringify({
23
+ ...config,
24
+ apps: {
25
+ ...config.apps,
26
+ codex: {
27
+ defaultProfile: 'work',
28
+ profiles: {
29
+ personal: { displayName: 'Personal', dataMode: 'host-isolated' },
30
+ work: { displayName: 'Work', dataMode: 'shared' },
31
+ },
32
+ },
33
+ },
34
+ }, null, 2));
35
+ const cacheDirectory = path.join(root, 'cache'), cacheRegistry = path.join(root, 'records');
36
+ await mkdir(cacheDirectory);
37
+ await mkdir(cacheRegistry);
38
+ const runtimePath = path.join(root, 'runtime.json');
39
+ await writePrivateJson(runtimePath, {
40
+ schemaVersion: 1,
41
+ node: process.execPath,
42
+ entryScript: fileURLToPath(new URL('../cli/app-entry.ts', import.meta.url)),
43
+ cordisxHome: home,
44
+ cwd: root,
45
+ cacheDirectory,
46
+ cacheRegistry,
47
+ });
48
+ return { root, home, configPath, runtimePath };
49
+ }
50
+ describe('CordisX app runtime', () => {
51
+ it('preserves the selected request and never retries a failed startup as another Host', async () => {
52
+ const f = await fixture();
53
+ const run = vi.fn(async (_invocation) => {
54
+ throw new Error('startup failed');
55
+ });
56
+ const activate = vi.fn();
57
+ await expect(runAppLauncherOperation(f.runtimePath, 'launch-profile', 'codex', 'work', {
58
+ runSupervisor: run,
59
+ activate,
60
+ })).rejects.toThrow('startup failed');
61
+ expect(run).toHaveBeenCalledTimes(1);
62
+ expect(run.mock.calls[0]?.[0]).toMatchObject({ app: 'codex', profile: 'work', createShortcut: true });
63
+ expect(activate).not.toHaveBeenCalled();
64
+ });
65
+ it('lists only real profiles from the current default app without mutating config', async () => {
66
+ const f = await fixture();
67
+ const before = await readFile(f.configPath, 'utf8');
68
+ await expect(runAppLauncherOperation(f.runtimePath, 'menu')).resolves.toEqual({
69
+ ok: true,
70
+ appId: 'codex',
71
+ defaultProfile: 'work',
72
+ profiles: [
73
+ { id: 'personal', displayName: 'Personal', dataMode: 'host-isolated' },
74
+ { id: 'work', displayName: 'Work', dataMode: 'shared' },
75
+ ],
76
+ });
77
+ expect(await readFile(f.configPath, 'utf8')).toBe(before);
78
+ });
79
+ it('launches the realtime default or an existing menu profile and activates the returned owned Host', async () => {
80
+ const f = await fixture();
81
+ const invocations = [];
82
+ const ready = { state: { hostPid: 42, hostProcessStartedAt: 'owned' }, target: {} };
83
+ const run = vi.fn(async (invocation) => {
84
+ invocations.push(invocation);
85
+ return ready;
86
+ });
87
+ const activate = vi.fn(async () => ({ ok: true, hostPid: 42, hostStartedAt: 'owned' }));
88
+ await runAppLauncherOperation(f.runtimePath, 'launch-default', undefined, undefined, {
89
+ runSupervisor: run,
90
+ activate,
91
+ });
92
+ await runAppLauncherOperation(f.runtimePath, 'launch-profile', 'codex', 'personal', {
93
+ runSupervisor: run,
94
+ activate,
95
+ });
96
+ expect(invocations).toEqual([
97
+ expect.objectContaining({ action: 'start', createShortcut: true }),
98
+ expect.objectContaining({ action: 'start', createShortcut: true, app: 'codex', profile: 'personal' }),
99
+ ]);
100
+ expect(invocations[0]).not.toHaveProperty('app');
101
+ expect(invocations[0]).not.toHaveProperty('profile');
102
+ expect(activate).toHaveBeenCalledTimes(2);
103
+ await expect(runAppLauncherOperation(f.runtimePath, 'launch-profile', 'codex', 'missing', { runSupervisor: run, activate })).rejects.toThrow('no longer exists');
104
+ });
105
+ });
106
+ //# sourceMappingURL=runtime.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.test.js","sourceRoot":"","sources":["../../../src/app-launcher/runtime.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ReadyLaunchResult } from './supervisor-command.js';
2
+ export interface ActivatedOwnedHost {
3
+ readonly ok: true;
4
+ readonly hostPid: number;
5
+ readonly hostStartedAt: string;
6
+ readonly warning?: string;
7
+ }
8
+ /** Activate only the Host PID whose start identity is still owned by this ready supervisor. */
9
+ export declare function activateOwnedHost(ready: ReadyLaunchResult): Promise<ActivatedOwnedHost>;
10
+ //# sourceMappingURL=activate-owned-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activate-owned-host.d.ts","sourceRoot":"","sources":["../../../src/cli/activate-owned-host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;IACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,+FAA+F;AAC/F,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0B7F"}
@@ -0,0 +1,29 @@
1
+ import { hasMatchingProcessIdentity } from './supervisor-state.js';
2
+ import { nativeOperation } from '../shortcuts/native.js';
3
+ /** Activate only the Host PID whose start identity is still owned by this ready supervisor. */
4
+ export async function activateOwnedHost(ready) {
5
+ const state = ready.state;
6
+ if (!state.hostPid || !state.hostProcessStartedAt
7
+ || !await hasMatchingProcessIdentity(state.hostPid, state.hostProcessStartedAt)) {
8
+ return {
9
+ ok: true,
10
+ hostPid: state.hostPid ?? 0,
11
+ hostStartedAt: state.hostProcessStartedAt ?? '',
12
+ warning: '应用已运行,未能确认对应窗口,未切到前台。',
13
+ };
14
+ }
15
+ const activated = await nativeOperation({
16
+ operation: 'activate',
17
+ pid: state.hostPid,
18
+ startedAt: state.hostProcessStartedAt,
19
+ }).catch(() => ({ activated: false }));
20
+ return activated.activated
21
+ ? { ok: true, hostPid: state.hostPid, hostStartedAt: state.hostProcessStartedAt }
22
+ : {
23
+ ok: true,
24
+ hostPid: state.hostPid,
25
+ hostStartedAt: state.hostProcessStartedAt,
26
+ warning: '应用已运行,未能切到前台。',
27
+ };
28
+ }
29
+ //# sourceMappingURL=activate-owned-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activate-owned-host.js","sourceRoot":"","sources":["../../../src/cli/activate-owned-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AASxD,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAwB;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACzB,IACE,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB;WAC1C,CAAC,MAAM,0BAA0B,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,oBAAoB,CAAC,EAC/E,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC;YAC3B,aAAa,EAAE,KAAK,CAAC,oBAAoB,IAAI,EAAE;YAC/C,OAAO,EAAE,uBAAuB;SACjC,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAyB;QAC9D,SAAS,EAAE,UAAU;QACrB,GAAG,EAAE,KAAK,CAAC,OAAO;QAClB,SAAS,EAAE,KAAK,CAAC,oBAAoB;KACtC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACtC,OAAO,SAAS,CAAC,SAAS;QACxB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,oBAAoB,EAAE;QACjF,CAAC,CAAC;YACA,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,oBAAoB;YACzC,OAAO,EAAE,eAAe;SACzB,CAAA;AACL,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { CordisXCliRuntime } from './run-support.js';
2
+ export interface AppCommandResult {
3
+ readonly status: 'installed' | 'reused';
4
+ readonly path: string;
5
+ }
6
+ export interface AppCheckResult {
7
+ readonly status: 'missing' | 'current' | 'update-available';
8
+ readonly path: string;
9
+ readonly installedVersion?: string;
10
+ readonly availableVersion?: string;
11
+ }
12
+ /** Inspect the owned App without creating config, App bundles, or runtime directories. */
13
+ export declare function runAppCheckCommand(runtime: CordisXCliRuntime): Promise<AppCheckResult>;
14
+ /** Refresh an already installed App while preserving its recorded data roots and leaving it closed. */
15
+ export declare function runAppUpdateCommand(runtime: CordisXCliRuntime): Promise<AppCommandResult>;
16
+ export declare function runAppCommand(runtime: CordisXCliRuntime, options?: {
17
+ readonly requireExisting?: boolean;
18
+ }): Promise<AppCommandResult>;
19
+ //# sourceMappingURL=app-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-command.d.ts","sourceRoot":"","sources":["../../../src/cli/app-command.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAMzD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,kBAAkB,CAAA;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AA4CD,0FAA0F;AAC1F,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAkC5F;AAED,uGAAuG;AACvG,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkB/F;AAgBD,wBAAsB,aAAa,CACjC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE;IAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,gBAAgB,CAAC,CAqI3B"}