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,427 @@
1
+ // src/service/extension-registry.ts
2
+ import { createHash } from "node:crypto";
3
+ var CLI_PROXY_GATEWAY_ADAPTER_SCHEMA_V1 = "https://raw.githubusercontent.com/cordisx/plugin-cli-proxy-api/main/schemas/cli-proxy-gateway-adapter.v1.schema.json";
4
+ var CLI_PROXY_GATEWAY_CONNECTION_SCHEMA_V1 = "https://raw.githubusercontent.com/cordisx/plugin-cli-proxy-api/main/schemas/cli-proxy-gateway-connection.v1.schema.json";
5
+ var CLI_PROXY_GATEWAY_ADAPTER_CONTRACT_V1 = "cordisx.cli-proxy-gateway-adapter/v1";
6
+ var CLI_PROXY_GATEWAY_CONNECTION_CONTRACT_V1 = "cordisx.cli-proxy-gateway-connection/v1";
7
+ var CLI_PROXY_GATEWAY_EXTENSION_PLAN_CONTRACT_V1 = "cordisx.cli-proxy-gateway-extension-plan/v1";
8
+ var CLI_PROXY_GATEWAY_EXTENSION_REGISTRY_SERVICE_V1 = "cliProxyGatewayExtensions";
9
+ var ID_PATTERN = /^[a-z0-9][a-z0-9._-]{0,95}$/;
10
+ var HEADER_PATTERN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]{1,128}$/;
11
+ var POINTER_PATTERN = /^(?:\/(?:[^~/]|~0|~1)*)+$/;
12
+ var MAX_ADAPTERS = 64;
13
+ var MAX_CONNECTIONS = 128;
14
+ var MAX_MODELS = 256;
15
+ function isText(value, maximum) {
16
+ return value.length > 0 && value.length <= maximum && value === value.trim() && !/[\u0000-\u001f\u007f]/.test(value);
17
+ }
18
+ function stableValue(value) {
19
+ if (Array.isArray(value)) return value.map(stableValue);
20
+ if (value === null || typeof value !== "object") return value;
21
+ return Object.fromEntries(
22
+ Object.entries(value).sort(([left], [right]) => left.localeCompare(right)).map(
23
+ ([key, item]) => [key, stableValue(item)]
24
+ )
25
+ );
26
+ }
27
+ function stableStringify(value) {
28
+ return JSON.stringify(stableValue(value));
29
+ }
30
+ function digest(value) {
31
+ return `sha256:${createHash("sha256").update(stableStringify(value)).digest("hex")}`;
32
+ }
33
+ function rejection(failure) {
34
+ return { status: "rejected", diagnostic: failure };
35
+ }
36
+ function validRevision(value) {
37
+ return Number.isSafeInteger(value) && value > 0;
38
+ }
39
+ function validTemplate(value, depth = 0) {
40
+ if (depth > 12) return false;
41
+ if (value === null || typeof value === "boolean") return true;
42
+ if (typeof value === "number") return Number.isFinite(value);
43
+ if (typeof value === "string") return value.length <= 8192 && !value.includes("\0");
44
+ if (Array.isArray(value)) return value.length <= 128 && value.every((item) => validTemplate(item, depth + 1));
45
+ const entries = Object.entries(value);
46
+ return entries.length <= 128 && entries.every(([key, item]) => isText(key, 256) && validTemplate(item, depth + 1));
47
+ }
48
+ function validateAdapter(adapter) {
49
+ if (adapter.$schema !== CLI_PROXY_GATEWAY_ADAPTER_SCHEMA_V1 || adapter.contract !== CLI_PROXY_GATEWAY_ADAPTER_CONTRACT_V1 || adapter.schemaVersion !== 1) return { code: "invalid-registration", field: "contract", message: "Unsupported gateway adapter contract" };
50
+ if (!ID_PATTERN.test(adapter.adapterId)) {
51
+ return { code: "invalid-registration", field: "adapterId", message: "Invalid adapter id" };
52
+ }
53
+ if (!validRevision(adapter.revision)) {
54
+ return { code: "invalid-registration", field: "revision", message: "Revision must be a positive safe integer" };
55
+ }
56
+ if (adapter.sessionSources.length > 16) {
57
+ return { code: "invalid-registration", field: "sessionSources", message: "Too many session sources" };
58
+ }
59
+ for (const source of adapter.sessionSources) {
60
+ if (source.kind === "header" ? !HEADER_PATTERN.test(source.name) : !POINTER_PATTERN.test(source.pointer) || source.pointer.length > 512) return { code: "invalid-registration", field: "sessionSources", message: "Invalid session source" };
61
+ }
62
+ for (const name of adapter.request.clearHeaders ?? []) {
63
+ if (!HEADER_PATTERN.test(name)) {
64
+ return { code: "invalid-registration", field: "request.clearHeaders", message: "Invalid header name" };
65
+ }
66
+ }
67
+ for (const [name, value] of Object.entries(adapter.request.setHeaders ?? {})) {
68
+ if (!HEADER_PATTERN.test(name) || !validTemplate(value)) {
69
+ return { code: "invalid-registration", field: "request.setHeaders", message: "Invalid header transform" };
70
+ }
71
+ }
72
+ for (const [pointer, value] of Object.entries(adapter.request.setBody ?? {})) {
73
+ if (!POINTER_PATTERN.test(pointer) || pointer.length > 512 || !validTemplate(value)) {
74
+ return { code: "invalid-registration", field: "request.setBody", message: "Invalid body transform" };
75
+ }
76
+ }
77
+ if (stableStringify(adapter).length > 64 * 1024) {
78
+ return { code: "invalid-registration", message: "Adapter exceeds the supported size" };
79
+ }
80
+ return void 0;
81
+ }
82
+ function validateConnection(connection) {
83
+ if (connection.$schema !== CLI_PROXY_GATEWAY_CONNECTION_SCHEMA_V1 || connection.contract !== CLI_PROXY_GATEWAY_CONNECTION_CONTRACT_V1 || connection.schemaVersion !== 1) return { code: "invalid-registration", field: "contract", message: "Unsupported gateway connection contract" };
84
+ if (!ID_PATTERN.test(connection.connectionId)) {
85
+ return { code: "invalid-registration", field: "connectionId", message: "Invalid connection id" };
86
+ }
87
+ if (!validRevision(connection.revision)) {
88
+ return { code: "invalid-registration", field: "revision", message: "Revision must be a positive safe integer" };
89
+ }
90
+ if (connection.wireApi !== "responses" && connection.wireApi !== "chat-completions") {
91
+ return { code: "invalid-registration", field: "wireApi", message: "Unsupported wire API" };
92
+ }
93
+ if (!connection.endpointPath.startsWith("/") || connection.endpointPath.startsWith("//") || connection.endpointPath.length > 512 || /[?#\u0000-\u001f\u007f]/.test(connection.endpointPath)) return { code: "invalid-registration", field: "endpointPath", message: "Invalid endpoint path" };
94
+ if (!ID_PATTERN.test(connection.adapter.adapterId) || !validRevision(connection.adapter.revision)) {
95
+ return { code: "invalid-registration", field: "adapter", message: "Invalid adapter reference" };
96
+ }
97
+ if (connection.models.length === 0 || connection.models.length > MAX_MODELS) {
98
+ return { code: "invalid-registration", field: "models", message: "Model routes are outside the supported range" };
99
+ }
100
+ const gatewayModels = /* @__PURE__ */ new Set();
101
+ const sourceModels = /* @__PURE__ */ new Set();
102
+ let defaults = 0;
103
+ for (const model of connection.models) {
104
+ if (!isText(model.sourceModelId, 256) || !isText(model.modelId, 256) || model.modelId.includes("/")) {
105
+ return { code: "invalid-registration", field: "models", message: "Invalid model identity" };
106
+ }
107
+ if (model.displayName !== void 0 && !isText(model.displayName, 200)) {
108
+ return { code: "invalid-registration", field: "models.displayName", message: "Invalid model display name" };
109
+ }
110
+ if (gatewayModels.has(model.modelId) || sourceModels.has(model.sourceModelId)) {
111
+ return { code: "conflicting-model", field: "models", message: "Duplicate connection model route" };
112
+ }
113
+ gatewayModels.add(model.modelId);
114
+ sourceModels.add(model.sourceModelId);
115
+ if (model.enabled && model.isDefault) defaults += 1;
116
+ }
117
+ if (!connection.models.some((model) => model.enabled)) {
118
+ return { code: "invalid-registration", field: "models", message: "At least one enabled model route is required" };
119
+ }
120
+ if (defaults > 1) {
121
+ return { code: "conflicting-model", field: "models.isDefault", message: "Only one default model is allowed" };
122
+ }
123
+ return void 0;
124
+ }
125
+ var CliProxyGatewayExtensionRegistryV1 = class {
126
+ constructor(pluginGeneration, sourceKey) {
127
+ this.pluginGeneration = pluginGeneration;
128
+ this.sourceKey = sourceKey;
129
+ if (!isText(pluginGeneration, 256)) throw new Error("Invalid plugin generation");
130
+ }
131
+ pluginGeneration;
132
+ sourceKey;
133
+ adapters = /* @__PURE__ */ new Map();
134
+ connections = /* @__PURE__ */ new Map();
135
+ producerGenerations = /* @__PURE__ */ new Map();
136
+ listeners = /* @__PURE__ */ new Set();
137
+ revision = 0;
138
+ disposed = false;
139
+ activateProducer(producer, registryGeneration) {
140
+ if (this.disposed || registryGeneration !== this.pluginGeneration) {
141
+ throw new Error("Gateway extension registry generation is stale");
142
+ }
143
+ if (!ID_PATTERN.test(producer.pluginId) || !isText(producer.pluginGeneration, 256)) {
144
+ throw new Error("Invalid gateway extension producer authority");
145
+ }
146
+ if (this.producerGenerations.get(producer.pluginId) === producer.pluginGeneration) return;
147
+ this.producerGenerations.set(producer.pluginId, producer.pluginGeneration);
148
+ if (this.removeProducerEntries(producer.pluginId)) this.changed();
149
+ }
150
+ registerAdapter(adapter, registryGeneration, producer) {
151
+ const generationFailure = this.generationFailure(registryGeneration, producer);
152
+ if (generationFailure !== void 0) return generationFailure;
153
+ const validation = validateAdapter(adapter);
154
+ if (validation !== void 0) return rejection(validation);
155
+ const current = this.adapters.get(adapter.adapterId);
156
+ const ownership = this.ownershipFailure(current?.producer, producer);
157
+ if (ownership !== void 0) return ownership;
158
+ if (current !== void 0) {
159
+ const revision = this.revisionResult(current.adapter.revision, adapter.revision, current.adapter, adapter);
160
+ if (revision !== void 0) return revision;
161
+ } else if (this.adapters.size >= MAX_ADAPTERS) {
162
+ return rejection({ code: "capacity-exceeded", message: "Gateway adapter capacity was reached" });
163
+ }
164
+ this.adapters.set(adapter.adapterId, { producer, adapter: structuredClone(adapter) });
165
+ this.changed();
166
+ return { status: current === void 0 ? "registered" : "updated", registryRevision: this.revision };
167
+ }
168
+ registerConnection(connection, registryGeneration, producer) {
169
+ const generationFailure = this.generationFailure(registryGeneration, producer);
170
+ if (generationFailure !== void 0) return generationFailure;
171
+ const validation = validateConnection(connection);
172
+ if (validation !== void 0) return rejection(validation);
173
+ const current = this.connections.get(connection.connectionId);
174
+ const ownership = this.ownershipFailure(current?.producer, producer);
175
+ if (ownership !== void 0) return ownership;
176
+ const sourceKey = this.sourceKey(connection.source);
177
+ if (!isText(sourceKey, 512)) {
178
+ return rejection({
179
+ code: "invalid-registration",
180
+ field: "source",
181
+ message: "Invalid connection source reference"
182
+ });
183
+ }
184
+ if (current !== void 0) {
185
+ const revision = this.revisionResult(
186
+ current.connection.revision,
187
+ connection.revision,
188
+ { ...current.connection, source: current.sourceKey },
189
+ { ...connection, source: sourceKey }
190
+ );
191
+ if (revision !== void 0) return revision;
192
+ } else if (this.connections.size >= MAX_CONNECTIONS) {
193
+ return rejection({ code: "capacity-exceeded", message: "Gateway connection capacity was reached" });
194
+ }
195
+ for (const [connectionId, entry] of this.connections) {
196
+ if (connectionId === connection.connectionId) continue;
197
+ if (entry.sourceKey === sourceKey) {
198
+ return rejection({
199
+ code: "conflicting-source",
200
+ field: "source",
201
+ message: "Connection source is already registered"
202
+ });
203
+ }
204
+ const existingModels = new Set(
205
+ entry.connection.models.filter((model) => entry.connection.enabled && model.enabled).map(
206
+ (model) => `${entry.connection.connectionId}/${model.modelId}`
207
+ )
208
+ );
209
+ if (connection.models.some(
210
+ (model) => connection.enabled && model.enabled && existingModels.has(
211
+ `${connection.connectionId}/${model.modelId}`
212
+ )
213
+ )) return rejection({ code: "conflicting-model", field: "models", message: "Gateway model is already registered" });
214
+ }
215
+ this.connections.set(connection.connectionId, {
216
+ producer,
217
+ sourceKey,
218
+ connection: structuredClone(connection)
219
+ });
220
+ this.changed();
221
+ return { status: current === void 0 ? "registered" : "updated", registryRevision: this.revision };
222
+ }
223
+ revokeAdapter(input, registryGeneration, producer) {
224
+ const generationFailure = this.generationFailure(registryGeneration, producer);
225
+ if (generationFailure !== void 0) return generationFailure;
226
+ const current = this.adapters.get(input.adapterId);
227
+ if (current === void 0) {
228
+ return rejection({ code: "not-found", field: "adapterId", message: "Adapter is not registered" });
229
+ }
230
+ const ownership = this.ownershipFailure(current.producer, producer);
231
+ if (ownership !== void 0) return ownership;
232
+ if (current.adapter.revision !== input.expectedRevision) {
233
+ return rejection({ code: "stale-revision", field: "expectedRevision", message: "Adapter revision is stale" });
234
+ }
235
+ this.adapters.delete(input.adapterId);
236
+ this.changed();
237
+ return { status: "revoked", registryRevision: this.revision };
238
+ }
239
+ revokeConnection(input, registryGeneration, producer) {
240
+ const generationFailure = this.generationFailure(registryGeneration, producer);
241
+ if (generationFailure !== void 0) return generationFailure;
242
+ const current = this.connections.get(input.connectionId);
243
+ if (current === void 0) {
244
+ return rejection({ code: "not-found", field: "connectionId", message: "Connection is not registered" });
245
+ }
246
+ const ownership = this.ownershipFailure(current.producer, producer);
247
+ if (ownership !== void 0) return ownership;
248
+ if (current.connection.revision !== input.expectedRevision) {
249
+ return rejection({ code: "stale-revision", field: "expectedRevision", message: "Connection revision is stale" });
250
+ }
251
+ this.connections.delete(input.connectionId);
252
+ this.changed();
253
+ return { status: "revoked", registryRevision: this.revision };
254
+ }
255
+ disposeProducer(producer, registryGeneration) {
256
+ const generationFailure = this.generationFailure(registryGeneration, producer);
257
+ if (generationFailure !== void 0) return generationFailure;
258
+ this.producerGenerations.delete(producer.pluginId);
259
+ if (!this.removeProducerEntries(producer.pluginId, producer.pluginGeneration)) {
260
+ return { status: "unchanged", registryRevision: this.revision };
261
+ }
262
+ this.changed();
263
+ return { status: "revoked", registryRevision: this.revision };
264
+ }
265
+ subscribe(listener) {
266
+ if (this.disposed) throw new Error("Gateway extension registry generation is stale");
267
+ this.listeners.add(listener);
268
+ return () => this.listeners.delete(listener);
269
+ }
270
+ plan(pluginGeneration) {
271
+ if (this.disposed || pluginGeneration !== this.pluginGeneration) {
272
+ return { code: "stale-generation", message: "Gateway extension plan generation is stale" };
273
+ }
274
+ const adapters = [...this.adapters.values()].map((entry) => structuredClone(entry.adapter)).sort(
275
+ (left, right) => left.adapterId.localeCompare(right.adapterId)
276
+ );
277
+ const connections = [];
278
+ const composition = [];
279
+ for (const entry of [...this.connections.values()].sort(
280
+ (left, right) => left.connection.connectionId.localeCompare(right.connection.connectionId)
281
+ )) {
282
+ const connection = entry.connection;
283
+ const adapter = this.adapters.get(connection.adapter.adapterId)?.adapter;
284
+ const adapterAvailable = adapter?.enabled === true && adapter.revision === connection.adapter.revision;
285
+ const enabled = connection.enabled && (!connection.adapter.required || adapterAvailable);
286
+ const index = connections.length;
287
+ connections.push({
288
+ connectionId: connection.connectionId,
289
+ revision: connection.revision,
290
+ enabled,
291
+ adapterId: connection.adapter.adapterId,
292
+ adapterRevision: connection.adapter.revision,
293
+ adapterRequired: connection.adapter.required,
294
+ adapterAvailable,
295
+ wireApi: connection.wireApi,
296
+ endpointPath: connection.endpointPath,
297
+ endpoint: null,
298
+ authorization: connection.authorization,
299
+ credential: null,
300
+ models: connection.models.filter((model) => model.enabled).sort(
301
+ (left, right) => left.modelId.localeCompare(right.modelId)
302
+ ).map((model) => ({
303
+ sourceModelId: model.sourceModelId,
304
+ gatewayModelId: `${connection.connectionId}/${model.modelId}`,
305
+ displayName: model.displayName ?? model.modelId,
306
+ isDefault: model.isDefault
307
+ }))
308
+ });
309
+ if (!enabled) continue;
310
+ const sourceAlias = `extension-${index}`;
311
+ composition.push({
312
+ connectionId: connection.connectionId,
313
+ sourceAlias,
314
+ source: connection.source,
315
+ originPointer: `/connections/${index}/endpoint`,
316
+ ...connection.authorization === "bearer" ? { authorizationPointer: `/connections/${index}/credential` } : {}
317
+ });
318
+ }
319
+ const base = {
320
+ contract: CLI_PROXY_GATEWAY_EXTENSION_PLAN_CONTRACT_V1,
321
+ schemaVersion: 1,
322
+ pluginGeneration: this.pluginGeneration,
323
+ registryRevision: this.revision,
324
+ configuration: { adapters, connections },
325
+ composition
326
+ };
327
+ return { ...base, planDigest: digest({ ...base, composition: composition.map(({ source: _, ...item }) => item) }) };
328
+ }
329
+ dispose() {
330
+ if (this.disposed) return;
331
+ this.disposed = true;
332
+ this.adapters.clear();
333
+ this.connections.clear();
334
+ this.producerGenerations.clear();
335
+ this.listeners.clear();
336
+ this.revision += 1;
337
+ }
338
+ revisionResult(currentRevision, nextRevision, current, next) {
339
+ if (nextRevision < currentRevision) {
340
+ return rejection({ code: "stale-revision", field: "revision", message: "Extension revision is stale" });
341
+ }
342
+ if (nextRevision !== currentRevision) return void 0;
343
+ return stableStringify(current) === stableStringify(next) ? { status: "unchanged", registryRevision: this.revision } : rejection({ code: "stale-revision", field: "revision", message: "Revision was reused with different content" });
344
+ }
345
+ ownershipFailure(current, producer) {
346
+ if (current === void 0) return void 0;
347
+ if (current.pluginId !== producer.pluginId) {
348
+ return rejection({ code: "conflicting-producer", message: "Extension is owned by another producer" });
349
+ }
350
+ if (current.pluginGeneration !== producer.pluginGeneration) {
351
+ return {
352
+ status: "stale-generation",
353
+ diagnostic: { code: "stale-generation", message: "Extension producer generation is stale" }
354
+ };
355
+ }
356
+ return void 0;
357
+ }
358
+ generationFailure(registryGeneration, producer) {
359
+ if (this.disposed || registryGeneration !== this.pluginGeneration || this.producerGenerations.get(producer.pluginId) !== producer.pluginGeneration) {
360
+ return {
361
+ status: "stale-generation",
362
+ diagnostic: { code: "stale-generation", message: "Gateway extension registry generation is stale" }
363
+ };
364
+ }
365
+ return void 0;
366
+ }
367
+ removeProducerEntries(pluginId, pluginGeneration) {
368
+ let removed = false;
369
+ for (const [adapterId, entry] of this.adapters) {
370
+ if (entry.producer.pluginId !== pluginId || pluginGeneration !== void 0 && entry.producer.pluginGeneration !== pluginGeneration) continue;
371
+ this.adapters.delete(adapterId);
372
+ removed = true;
373
+ }
374
+ for (const [connectionId, entry] of this.connections) {
375
+ if (entry.producer.pluginId !== pluginId || pluginGeneration !== void 0 && entry.producer.pluginGeneration !== pluginGeneration) continue;
376
+ this.connections.delete(connectionId);
377
+ removed = true;
378
+ }
379
+ return removed;
380
+ }
381
+ changed() {
382
+ this.revision += 1;
383
+ for (const listener of this.listeners) listener(this.revision);
384
+ }
385
+ };
386
+ function createCliProxyGatewayExtensionRegistrarV1(registry, producer) {
387
+ registry.activateProducer(producer, registry.pluginGeneration);
388
+ let disposed = false;
389
+ const currentRevision = () => {
390
+ const plan = registry.plan(registry.pluginGeneration);
391
+ return "code" in plan ? 0 : plan.registryRevision;
392
+ };
393
+ return Object.freeze({
394
+ producer,
395
+ registerAdapter: (adapter) => disposed ? {
396
+ status: "stale-generation",
397
+ diagnostic: { code: "stale-generation", message: "Extension registrar is disposed" }
398
+ } : registry.registerAdapter(adapter, registry.pluginGeneration, producer),
399
+ revokeAdapter: (input) => disposed ? {
400
+ status: "stale-generation",
401
+ diagnostic: { code: "stale-generation", message: "Extension registrar is disposed" }
402
+ } : registry.revokeAdapter(input, registry.pluginGeneration, producer),
403
+ registerConnection: (connection) => disposed ? {
404
+ status: "stale-generation",
405
+ diagnostic: { code: "stale-generation", message: "Extension registrar is disposed" }
406
+ } : registry.registerConnection(connection, registry.pluginGeneration, producer),
407
+ revokeConnection: (input) => disposed ? {
408
+ status: "stale-generation",
409
+ diagnostic: { code: "stale-generation", message: "Extension registrar is disposed" }
410
+ } : registry.revokeConnection(input, registry.pluginGeneration, producer),
411
+ dispose: () => {
412
+ if (disposed) return { status: "unchanged", registryRevision: currentRevision() };
413
+ disposed = true;
414
+ return registry.disposeProducer(producer, registry.pluginGeneration);
415
+ }
416
+ });
417
+ }
418
+ export {
419
+ CLI_PROXY_GATEWAY_ADAPTER_CONTRACT_V1,
420
+ CLI_PROXY_GATEWAY_ADAPTER_SCHEMA_V1,
421
+ CLI_PROXY_GATEWAY_CONNECTION_CONTRACT_V1,
422
+ CLI_PROXY_GATEWAY_CONNECTION_SCHEMA_V1,
423
+ CLI_PROXY_GATEWAY_EXTENSION_PLAN_CONTRACT_V1,
424
+ CLI_PROXY_GATEWAY_EXTENSION_REGISTRY_SERVICE_V1,
425
+ CliProxyGatewayExtensionRegistryV1,
426
+ createCliProxyGatewayExtensionRegistrarV1
427
+ };