@jingyi0605/codingns4dsh 0.2.1-beta.12 → 0.2.1-beta.13

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 (441) hide show
  1. package/README.en.md +3 -3
  2. package/README.md +3 -3
  3. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  4. package/data/build/dist/client/account-bar.js +24 -70
  5. package/data/build/dist/client/account-bar.js.map +1 -1
  6. package/data/build/dist/client/adapter-catalog-watch.d.ts +1 -1
  7. package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -1
  8. package/data/build/dist/client/adapter-catalog-watch.js +2 -2
  9. package/data/build/dist/client/adapter-catalog-watch.js.map +1 -1
  10. package/data/build/dist/client/bundle.js +30007 -15931
  11. package/data/build/dist/client/bundle.js.map +1 -1
  12. package/data/build/dist/client/cli-management-dialog.d.ts +21 -0
  13. package/data/build/dist/client/cli-management-dialog.d.ts.map +1 -0
  14. package/data/build/dist/client/cli-management-dialog.js +215 -0
  15. package/data/build/dist/client/cli-management-dialog.js.map +1 -0
  16. package/data/build/dist/client/cli-management-terminal.d.ts +9 -0
  17. package/data/build/dist/client/cli-management-terminal.d.ts.map +1 -0
  18. package/data/build/dist/client/cli-management-terminal.js +30 -0
  19. package/data/build/dist/client/cli-management-terminal.js.map +1 -0
  20. package/data/build/dist/client/cli-settings-dialog.d.ts +9 -0
  21. package/data/build/dist/client/cli-settings-dialog.d.ts.map +1 -0
  22. package/data/build/dist/client/cli-settings-dialog.js +45 -0
  23. package/data/build/dist/client/cli-settings-dialog.js.map +1 -0
  24. package/data/build/dist/client/cli-settings-rpc.js +1 -1
  25. package/data/build/dist/client/cli-settings-rpc.js.map +1 -1
  26. package/data/build/dist/client/cli-slots.d.ts +4 -0
  27. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  28. package/data/build/dist/client/cli-slots.js +15 -7
  29. package/data/build/dist/client/cli-slots.js.map +1 -1
  30. package/data/build/dist/client/client.editor-engine.js +4 -1
  31. package/data/build/dist/client/client.editor-engine.js.map +1 -1
  32. package/data/build/dist/client/client.native-workspace-store.js +1 -1
  33. package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
  34. package/data/build/dist/client/client.primitives-adapter.js +53 -0
  35. package/data/build/dist/client/client.primitives-adapter.js.map +1 -1
  36. package/data/build/dist/client/client.session-translation.js +16 -0
  37. package/data/build/dist/client/client.session-translation.js.map +1 -1
  38. package/data/build/dist/client/client.transport.js +459 -44
  39. package/data/build/dist/client/client.transport.js.map +1 -1
  40. package/data/build/dist/client/conversation-translation-settings.d.ts +2 -1
  41. package/data/build/dist/client/conversation-translation-settings.d.ts.map +1 -1
  42. package/data/build/dist/client/conversation-translation-settings.js +7 -5
  43. package/data/build/dist/client/conversation-translation-settings.js.map +1 -1
  44. package/data/build/dist/client/desktop-assistant.js +457 -42
  45. package/data/build/dist/client/editor-engine.d.ts +1 -1
  46. package/data/build/dist/client/editor-engine.d.ts.map +1 -1
  47. package/data/build/dist/client/editor-engine.js +4 -1
  48. package/data/build/dist/client/editor-engine.js.map +1 -1
  49. package/data/build/dist/client/features/cli-adapters.d.ts +3 -1
  50. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  51. package/data/build/dist/client/features/cli-adapters.js +181 -105
  52. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  53. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  54. package/data/build/dist/client/features/file-management.js +2 -0
  55. package/data/build/dist/client/features/file-management.js.map +1 -1
  56. package/data/build/dist/client/features/index.d.ts.map +1 -1
  57. package/data/build/dist/client/features/index.js +2 -0
  58. package/data/build/dist/client/features/index.js.map +1 -1
  59. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  60. package/data/build/dist/client/features/peer-host.js +3 -0
  61. package/data/build/dist/client/features/peer-host.js.map +1 -1
  62. package/data/build/dist/client/features/quick-apps.d.ts +3 -0
  63. package/data/build/dist/client/features/quick-apps.d.ts.map +1 -0
  64. package/data/build/dist/client/features/quick-apps.js +14 -0
  65. package/data/build/dist/client/features/quick-apps.js.map +1 -0
  66. package/data/build/dist/client/html-workspace-files.d.ts +4 -0
  67. package/data/build/dist/client/html-workspace-files.d.ts.map +1 -0
  68. package/data/build/dist/client/html-workspace-files.js +114 -0
  69. package/data/build/dist/client/html-workspace-files.js.map +1 -0
  70. package/data/build/dist/client/locale.d.ts.map +1 -1
  71. package/data/build/dist/client/locale.js +6 -0
  72. package/data/build/dist/client/locale.js.map +1 -1
  73. package/data/build/dist/client/locales/cliManagement.d.ts +3 -0
  74. package/data/build/dist/client/locales/cliManagement.d.ts.map +1 -0
  75. package/data/build/dist/client/locales/cliManagement.js +139 -0
  76. package/data/build/dist/client/locales/cliManagement.js.map +1 -0
  77. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  78. package/data/build/dist/client/locales/fileWorkspace.js +4 -0
  79. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  80. package/data/build/dist/client/locales/panels.js +2 -2
  81. package/data/build/dist/client/locales/panels.js.map +1 -1
  82. package/data/build/dist/client/locales/quickApps.d.ts +130 -0
  83. package/data/build/dist/client/locales/quickApps.d.ts.map +1 -0
  84. package/data/build/dist/client/locales/quickApps.js +150 -0
  85. package/data/build/dist/client/locales/quickApps.js.map +1 -0
  86. package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -1
  87. package/data/build/dist/client/native-model-translation-menu.js +3 -1
  88. package/data/build/dist/client/native-model-translation-menu.js.map +1 -1
  89. package/data/build/dist/client/quick-apps/client.d.ts +29 -0
  90. package/data/build/dist/client/quick-apps/client.d.ts.map +1 -0
  91. package/data/build/dist/client/quick-apps/client.js +68 -0
  92. package/data/build/dist/client/quick-apps/client.js.map +1 -0
  93. package/data/build/dist/client/quick-apps/document.d.ts +26 -0
  94. package/data/build/dist/client/quick-apps/document.d.ts.map +1 -0
  95. package/data/build/dist/client/quick-apps/document.js +110 -0
  96. package/data/build/dist/client/quick-apps/document.js.map +1 -0
  97. package/data/build/dist/client/quick-apps/file-picker.d.ts +14 -0
  98. package/data/build/dist/client/quick-apps/file-picker.d.ts.map +1 -0
  99. package/data/build/dist/client/quick-apps/file-picker.js +51 -0
  100. package/data/build/dist/client/quick-apps/file-picker.js.map +1 -0
  101. package/data/build/dist/client/quick-apps/launcher.d.ts +7 -0
  102. package/data/build/dist/client/quick-apps/launcher.d.ts.map +1 -0
  103. package/data/build/dist/client/quick-apps/launcher.js +252 -0
  104. package/data/build/dist/client/quick-apps/launcher.js.map +1 -0
  105. package/data/build/dist/client/quick-apps/presentation.d.ts +16 -0
  106. package/data/build/dist/client/quick-apps/presentation.d.ts.map +1 -0
  107. package/data/build/dist/client/quick-apps/presentation.js +31 -0
  108. package/data/build/dist/client/quick-apps/presentation.js.map +1 -0
  109. package/data/build/dist/client/quick-apps/reorder-animation.d.ts +6 -0
  110. package/data/build/dist/client/quick-apps/reorder-animation.d.ts.map +1 -0
  111. package/data/build/dist/client/quick-apps/reorder-animation.js +50 -0
  112. package/data/build/dist/client/quick-apps/reorder-animation.js.map +1 -0
  113. package/data/build/dist/client/quick-apps/reorder.d.ts +26 -0
  114. package/data/build/dist/client/quick-apps/reorder.d.ts.map +1 -0
  115. package/data/build/dist/client/quick-apps/reorder.js +128 -0
  116. package/data/build/dist/client/quick-apps/reorder.js.map +1 -0
  117. package/data/build/dist/client/quick-apps/styles.d.ts +3 -0
  118. package/data/build/dist/client/quick-apps/styles.d.ts.map +1 -0
  119. package/data/build/dist/client/quick-apps/styles.js +143 -0
  120. package/data/build/dist/client/quick-apps/styles.js.map +1 -0
  121. package/data/build/dist/client/quick-apps/ui.d.ts +20 -0
  122. package/data/build/dist/client/quick-apps/ui.d.ts.map +1 -0
  123. package/data/build/dist/client/quick-apps/ui.js +21 -0
  124. package/data/build/dist/client/quick-apps/ui.js.map +1 -0
  125. package/data/build/dist/client/quick-apps/viewer.d.ts +16 -0
  126. package/data/build/dist/client/quick-apps/viewer.d.ts.map +1 -0
  127. package/data/build/dist/client/quick-apps/viewer.js +155 -0
  128. package/data/build/dist/client/quick-apps/viewer.js.map +1 -0
  129. package/data/build/dist/client/quick-apps/workspace-picker.d.ts +19 -0
  130. package/data/build/dist/client/quick-apps/workspace-picker.d.ts.map +1 -0
  131. package/data/build/dist/client/quick-apps/workspace-picker.js +30 -0
  132. package/data/build/dist/client/quick-apps/workspace-picker.js.map +1 -0
  133. package/data/build/dist/client/session-translation-chat.d.ts +1 -1
  134. package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
  135. package/data/build/dist/client/session-translation-chat.js +26 -22
  136. package/data/build/dist/client/session-translation-chat.js.map +1 -1
  137. package/data/build/dist/client/sidebar-footer-style.d.ts +13 -0
  138. package/data/build/dist/client/sidebar-footer-style.d.ts.map +1 -0
  139. package/data/build/dist/client/sidebar-footer-style.js +54 -0
  140. package/data/build/dist/client/sidebar-footer-style.js.map +1 -0
  141. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  142. package/data/build/dist/client/terminal/model.js +2 -1
  143. package/data/build/dist/client/terminal/model.js.map +1 -1
  144. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts +4 -0
  145. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts.map +1 -0
  146. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js +8 -0
  147. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js.map +1 -0
  148. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +18 -0
  149. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  150. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +21 -0
  151. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  152. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts +18 -0
  153. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts.map +1 -0
  154. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js +11 -0
  155. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js.map +1 -0
  156. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts +8 -0
  157. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -0
  158. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +100 -0
  159. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -0
  160. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts +3 -0
  161. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts.map +1 -0
  162. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js +22 -0
  163. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js.map +1 -0
  164. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts +11 -0
  165. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts.map +1 -0
  166. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js +97 -0
  167. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js.map +1 -0
  168. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts +36 -0
  169. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts.map +1 -0
  170. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js +164 -0
  171. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js.map +1 -0
  172. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts +44 -0
  173. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts.map +1 -0
  174. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js +240 -0
  175. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js.map +1 -0
  176. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts +37 -0
  177. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts.map +1 -0
  178. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js +35 -0
  179. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js.map +1 -0
  180. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts +13 -0
  181. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts.map +1 -0
  182. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js +30 -0
  183. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js.map +1 -0
  184. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts +21 -0
  185. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts.map +1 -0
  186. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js +132 -0
  187. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js.map +1 -0
  188. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts +10 -0
  189. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts.map +1 -0
  190. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js +33 -0
  191. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js.map +1 -0
  192. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts +7 -0
  193. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts.map +1 -0
  194. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js +18 -0
  195. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js.map +1 -0
  196. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts +13 -0
  197. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts.map +1 -0
  198. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js +24 -0
  199. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js.map +1 -0
  200. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  201. package/data/build/dist/dsh-capabilities/matrix.js +7 -1
  202. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  203. package/data/build/dist/dsh-capabilities/routes.d.ts +1 -0
  204. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  205. package/data/build/dist/dsh-capabilities/routes.js +16 -0
  206. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  207. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  208. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  209. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  210. package/data/build/dist/host/cli-adapters/binary-detection.d.ts.map +1 -1
  211. package/data/build/dist/host/cli-adapters/binary-detection.js +7 -3
  212. package/data/build/dist/host/cli-adapters/binary-detection.js.map +1 -1
  213. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +1 -0
  214. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  215. package/data/build/dist/host/cli-adapters/claude-driver.js +179 -20
  216. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  217. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +18 -0
  218. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  219. package/data/build/dist/host/cli-adapters/codex-driver.js +97 -5
  220. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  221. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts +91 -0
  222. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts.map +1 -0
  223. package/data/build/dist/host/cli-adapters/codex-performance-projection.js +8 -0
  224. package/data/build/dist/host/cli-adapters/codex-performance-projection.js.map +1 -0
  225. package/data/build/dist/host/cli-adapters/codex-performance.d.ts +16 -0
  226. package/data/build/dist/host/cli-adapters/codex-performance.d.ts.map +1 -0
  227. package/data/build/dist/host/cli-adapters/codex-performance.js +81 -0
  228. package/data/build/dist/host/cli-adapters/codex-performance.js.map +1 -0
  229. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  230. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +17 -4
  231. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  232. package/data/build/dist/host/cli-adapters/feature.d.ts +2 -0
  233. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  234. package/data/build/dist/host/cli-adapters/feature.js +37 -8
  235. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  236. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +2 -0
  237. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  238. package/data/build/dist/host/cli-adapters/grok-driver.js +161 -25
  239. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  240. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts +123 -0
  241. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts.map +1 -0
  242. package/data/build/dist/host/cli-adapters/grok-performance-projection.js +47 -0
  243. package/data/build/dist/host/cli-adapters/grok-performance-projection.js.map +1 -0
  244. package/data/build/dist/host/cli-adapters/grok-usage.d.ts +45 -0
  245. package/data/build/dist/host/cli-adapters/grok-usage.d.ts.map +1 -0
  246. package/data/build/dist/host/cli-adapters/grok-usage.js +197 -0
  247. package/data/build/dist/host/cli-adapters/grok-usage.js.map +1 -0
  248. package/data/build/dist/host/cli-adapters/management-installation.d.ts +5 -0
  249. package/data/build/dist/host/cli-adapters/management-installation.d.ts.map +1 -0
  250. package/data/build/dist/host/cli-adapters/management-installation.js +131 -0
  251. package/data/build/dist/host/cli-adapters/management-installation.js.map +1 -0
  252. package/data/build/dist/host/cli-adapters/management-methods.d.ts +32 -0
  253. package/data/build/dist/host/cli-adapters/management-methods.d.ts.map +1 -0
  254. package/data/build/dist/host/cli-adapters/management-methods.js +135 -0
  255. package/data/build/dist/host/cli-adapters/management-methods.js.map +1 -0
  256. package/data/build/dist/host/cli-adapters/management-process.d.ts +7 -0
  257. package/data/build/dist/host/cli-adapters/management-process.d.ts.map +1 -0
  258. package/data/build/dist/host/cli-adapters/management-process.js +51 -0
  259. package/data/build/dist/host/cli-adapters/management-process.js.map +1 -0
  260. package/data/build/dist/host/cli-adapters/management.d.ts +32 -0
  261. package/data/build/dist/host/cli-adapters/management.d.ts.map +1 -0
  262. package/data/build/dist/host/cli-adapters/management.js +172 -0
  263. package/data/build/dist/host/cli-adapters/management.js.map +1 -0
  264. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +1 -0
  265. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  266. package/data/build/dist/host/cli-adapters/model-catalog.js +62 -0
  267. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  268. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +22 -0
  269. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  270. package/data/build/dist/host/cli-adapters/opencode-driver.js +105 -17
  271. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  272. package/data/build/dist/host/cli-adapters/process-utils.d.ts +2 -0
  273. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  274. package/data/build/dist/host/cli-adapters/process-utils.js +16 -11
  275. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  276. package/data/build/dist/host/cli-adapters/registry.d.ts +3 -0
  277. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  278. package/data/build/dist/host/cli-adapters/registry.js +33 -5
  279. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  280. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts +74 -0
  281. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts.map +1 -0
  282. package/data/build/dist/host/cli-adapters/session-performance-projection.js +83 -0
  283. package/data/build/dist/host/cli-adapters/session-performance-projection.js.map +1 -0
  284. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts +3 -1
  285. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
  286. package/data/build/dist/host/cli-adapters/stream-normalizer.js +2 -0
  287. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
  288. package/data/build/dist/host/cli-adapters/update-check.d.ts +34 -0
  289. package/data/build/dist/host/cli-adapters/update-check.d.ts.map +1 -0
  290. package/data/build/dist/host/cli-adapters/update-check.js +263 -0
  291. package/data/build/dist/host/cli-adapters/update-check.js.map +1 -0
  292. package/data/build/dist/host/features/file-management.d.ts.map +1 -1
  293. package/data/build/dist/host/features/file-management.js +8 -0
  294. package/data/build/dist/host/features/file-management.js.map +1 -1
  295. package/data/build/dist/host/features/index.d.ts.map +1 -1
  296. package/data/build/dist/host/features/index.js +2 -0
  297. package/data/build/dist/host/features/index.js.map +1 -1
  298. package/data/build/dist/host/features/lan-access-dsh.js +1 -1
  299. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
  300. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  301. package/data/build/dist/host/features/peer-host.js +7 -0
  302. package/data/build/dist/host/features/peer-host.js.map +1 -1
  303. package/data/build/dist/host/features/quick-apps.d.ts +4 -0
  304. package/data/build/dist/host/features/quick-apps.d.ts.map +1 -0
  305. package/data/build/dist/host/features/quick-apps.js +158 -0
  306. package/data/build/dist/host/features/quick-apps.js.map +1 -0
  307. package/data/build/dist/host/features/session-prompt-translation.d.ts +1 -1
  308. package/data/build/dist/host/features/session-prompt-translation.d.ts.map +1 -1
  309. package/data/build/dist/host/features/session-prompt-translation.js +2 -1
  310. package/data/build/dist/host/features/session-prompt-translation.js.map +1 -1
  311. package/data/build/dist/host/features/session-translation-protection.d.ts +6 -0
  312. package/data/build/dist/host/features/session-translation-protection.d.ts.map +1 -1
  313. package/data/build/dist/host/features/session-translation-protection.js +21 -0
  314. package/data/build/dist/host/features/session-translation-protection.js.map +1 -1
  315. package/data/build/dist/host/features/session-translation-recovery.d.ts +3 -2
  316. package/data/build/dist/host/features/session-translation-recovery.d.ts.map +1 -1
  317. package/data/build/dist/host/features/session-translation-recovery.js +6 -3
  318. package/data/build/dist/host/features/session-translation-recovery.js.map +1 -1
  319. package/data/build/dist/host/features/session-translation-service.d.ts +3 -0
  320. package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -1
  321. package/data/build/dist/host/features/session-translation-service.js +14 -8
  322. package/data/build/dist/host/features/session-translation-service.js.map +1 -1
  323. package/data/build/dist/host/features/types.d.ts +10 -0
  324. package/data/build/dist/host/features/types.d.ts.map +1 -1
  325. package/data/build/dist/host/html-workspace-files.d.ts +3 -0
  326. package/data/build/dist/host/html-workspace-files.d.ts.map +1 -0
  327. package/data/build/dist/host/html-workspace-files.js +135 -0
  328. package/data/build/dist/host/html-workspace-files.js.map +1 -0
  329. package/data/build/dist/host/index.d.ts.map +1 -1
  330. package/data/build/dist/host/index.js +27 -2
  331. package/data/build/dist/host/index.js.map +1 -1
  332. package/data/build/dist/host/lan-access-dsh.d.ts +5 -1
  333. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  334. package/data/build/dist/host/lan-access-dsh.js +43 -2
  335. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  336. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts +5 -0
  337. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts.map +1 -0
  338. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js +27 -0
  339. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js.map +1 -0
  340. package/data/build/dist/host/modules/quick-apps/browse.d.ts +5 -0
  341. package/data/build/dist/host/modules/quick-apps/browse.d.ts.map +1 -0
  342. package/data/build/dist/host/modules/quick-apps/browse.js +37 -0
  343. package/data/build/dist/host/modules/quick-apps/browse.js.map +1 -0
  344. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts +4 -0
  345. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts.map +1 -0
  346. package/data/build/dist/host/modules/quick-apps/code-revision.js +39 -0
  347. package/data/build/dist/host/modules/quick-apps/code-revision.js.map +1 -0
  348. package/data/build/dist/host/modules/quick-apps/documents.d.ts +14 -0
  349. package/data/build/dist/host/modules/quick-apps/documents.d.ts.map +1 -0
  350. package/data/build/dist/host/modules/quick-apps/documents.js +87 -0
  351. package/data/build/dist/host/modules/quick-apps/documents.js.map +1 -0
  352. package/data/build/dist/host/modules/quick-apps/errors.d.ts +8 -0
  353. package/data/build/dist/host/modules/quick-apps/errors.d.ts.map +1 -0
  354. package/data/build/dist/host/modules/quick-apps/errors.js +15 -0
  355. package/data/build/dist/host/modules/quick-apps/errors.js.map +1 -0
  356. package/data/build/dist/host/modules/quick-apps/file-api.d.ts +30 -0
  357. package/data/build/dist/host/modules/quick-apps/file-api.d.ts.map +1 -0
  358. package/data/build/dist/host/modules/quick-apps/file-api.js +149 -0
  359. package/data/build/dist/host/modules/quick-apps/file-api.js.map +1 -0
  360. package/data/build/dist/host/modules/quick-apps/launches.d.ts +35 -0
  361. package/data/build/dist/host/modules/quick-apps/launches.d.ts.map +1 -0
  362. package/data/build/dist/host/modules/quick-apps/launches.js +80 -0
  363. package/data/build/dist/host/modules/quick-apps/launches.js.map +1 -0
  364. package/data/build/dist/host/modules/quick-apps/paths.d.ts +14 -0
  365. package/data/build/dist/host/modules/quick-apps/paths.d.ts.map +1 -0
  366. package/data/build/dist/host/modules/quick-apps/paths.js +72 -0
  367. package/data/build/dist/host/modules/quick-apps/paths.js.map +1 -0
  368. package/data/build/dist/host/modules/quick-apps/registry.d.ts +30 -0
  369. package/data/build/dist/host/modules/quick-apps/registry.d.ts.map +1 -0
  370. package/data/build/dist/host/modules/quick-apps/registry.js +186 -0
  371. package/data/build/dist/host/modules/quick-apps/registry.js.map +1 -0
  372. package/data/build/dist/host/modules/quick-apps/remote.d.ts +38 -0
  373. package/data/build/dist/host/modules/quick-apps/remote.d.ts.map +1 -0
  374. package/data/build/dist/host/modules/quick-apps/remote.js +237 -0
  375. package/data/build/dist/host/modules/quick-apps/remote.js.map +1 -0
  376. package/data/build/dist/host/modules/quick-apps/service.d.ts +27 -0
  377. package/data/build/dist/host/modules/quick-apps/service.d.ts.map +1 -0
  378. package/data/build/dist/host/modules/quick-apps/service.js +170 -0
  379. package/data/build/dist/host/modules/quick-apps/service.js.map +1 -0
  380. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts +8 -0
  381. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts.map +1 -0
  382. package/data/build/dist/host/modules/quick-apps/static-handler.js +181 -0
  383. package/data/build/dist/host/modules/quick-apps/static-handler.js.map +1 -0
  384. package/data/build/dist/host/native-session-bridge.d.ts +5 -0
  385. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  386. package/data/build/dist/host/native-session-bridge.js +3 -0
  387. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  388. package/data/build/dist/host/rpc.d.ts.map +1 -1
  389. package/data/build/dist/host/rpc.js +8 -3
  390. package/data/build/dist/host/rpc.js.map +1 -1
  391. package/data/build/dist/host/settings.d.ts.map +1 -1
  392. package/data/build/dist/host/settings.js +13 -0
  393. package/data/build/dist/host/settings.js.map +1 -1
  394. package/data/build/dist/host/workspace-file-mutations.d.ts +2 -0
  395. package/data/build/dist/host/workspace-file-mutations.d.ts.map +1 -0
  396. package/data/build/dist/host/workspace-file-mutations.js +15 -0
  397. package/data/build/dist/host/workspace-file-mutations.js.map +1 -0
  398. package/data/build/dist/shared/codex-performance.d.ts +3 -0
  399. package/data/build/dist/shared/codex-performance.d.ts.map +1 -0
  400. package/data/build/dist/shared/codex-performance.js +2 -0
  401. package/data/build/dist/shared/codex-performance.js.map +1 -0
  402. package/data/build/dist/shared/contracts/cli-adapter.d.ts +25 -0
  403. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  404. package/data/build/dist/shared/contracts/cli-management.d.ts +29 -0
  405. package/data/build/dist/shared/contracts/cli-management.d.ts.map +1 -0
  406. package/data/build/dist/shared/contracts/cli-management.js +2 -0
  407. package/data/build/dist/shared/contracts/cli-management.js.map +1 -0
  408. package/data/build/dist/shared/contracts/config.d.ts +2 -0
  409. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  410. package/data/build/dist/shared/contracts/config.js.map +1 -1
  411. package/data/build/dist/shared/contracts/quick-apps.d.ts +68 -0
  412. package/data/build/dist/shared/contracts/quick-apps.d.ts.map +1 -0
  413. package/data/build/dist/shared/contracts/quick-apps.js +4 -0
  414. package/data/build/dist/shared/contracts/quick-apps.js.map +1 -0
  415. package/data/build/dist/shared/contracts/session-translation.d.ts +8 -3
  416. package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
  417. package/data/build/dist/shared/contracts/session-translation.js +14 -0
  418. package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
  419. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  420. package/data/build/dist/shared/contracts/version.js +1 -1
  421. package/data/build/dist/shared/peer-host-http-routes.d.ts +4 -0
  422. package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -1
  423. package/data/build/dist/shared/peer-host-http-routes.js +4 -0
  424. package/data/build/dist/shared/peer-host-http-routes.js.map +1 -1
  425. package/data/build/dist/shared/quick-app-proxy-path.d.ts +6 -0
  426. package/data/build/dist/shared/quick-app-proxy-path.d.ts.map +1 -0
  427. package/data/build/dist/shared/quick-app-proxy-path.js +18 -0
  428. package/data/build/dist/shared/quick-app-proxy-path.js.map +1 -0
  429. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts +7 -0
  430. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts.map +1 -0
  431. package/data/build/dist/shared/quick-apps-bootstrap-locale.js +10 -0
  432. package/data/build/dist/shared/quick-apps-bootstrap-locale.js.map +1 -0
  433. package/data/build/dist/shared/request-performance.d.ts +15 -0
  434. package/data/build/dist/shared/request-performance.d.ts.map +1 -0
  435. package/data/build/dist/shared/request-performance.js +3 -0
  436. package/data/build/dist/shared/request-performance.js.map +1 -0
  437. package/package.json +1 -1
  438. package/profile/README.md +2 -2
  439. package/profile/package.json +2 -2
  440. package/profile/version.json +1 -1
  441. package/version.json +1 -1
@@ -0,0 +1,123 @@
1
+ import { z } from 'zod';
2
+ export declare const grokPerformanceProjection: {
3
+ key: string;
4
+ stateVersion: number;
5
+ stateSchema: z.ZodObject<{
6
+ turns: z.ZodNumber;
7
+ steps: z.ZodNumber;
8
+ llmMs: z.ZodNumber;
9
+ toolMs: z.ZodNumber;
10
+ ttftMs: z.ZodNumber;
11
+ ttftSteps: z.ZodNumber;
12
+ decodeMs: z.ZodNumber;
13
+ decodeTokens: z.ZodNumber;
14
+ lastTurn: z.ZodNullable<z.ZodNumber>;
15
+ lastRequestId: z.ZodNullable<z.ZodString>;
16
+ pendingCalls: z.ZodRecord<z.ZodString, z.ZodNumber>;
17
+ }, z.core.$strict>;
18
+ init: () => {
19
+ turns: number;
20
+ steps: number;
21
+ llmMs: number;
22
+ toolMs: number;
23
+ ttftMs: number;
24
+ ttftSteps: number;
25
+ decodeMs: number;
26
+ decodeTokens: number;
27
+ lastTurn: number | null;
28
+ lastRequestId: string | null;
29
+ pendingCalls: Record<string, number>;
30
+ };
31
+ apply(state: {
32
+ turns: number;
33
+ steps: number;
34
+ llmMs: number;
35
+ toolMs: number;
36
+ ttftMs: number;
37
+ ttftSteps: number;
38
+ decodeMs: number;
39
+ decodeTokens: number;
40
+ lastTurn: number | null;
41
+ lastRequestId: string | null;
42
+ pendingCalls: Record<string, number>;
43
+ }, event: import("./session-performance-projection.js").RequestPerformanceEvent): {
44
+ turns: number;
45
+ steps: number;
46
+ llmMs: number;
47
+ toolMs: number;
48
+ ttftMs: number;
49
+ ttftSteps: number;
50
+ decodeMs: number;
51
+ decodeTokens: number;
52
+ lastTurn: number | null;
53
+ lastRequestId: string | null;
54
+ pendingCalls: Record<string, number>;
55
+ };
56
+ wire: {
57
+ viewSchema: z.ZodObject<{
58
+ turns: z.ZodNumber;
59
+ steps: z.ZodNumber;
60
+ llmMs: z.ZodNumber;
61
+ toolMs: z.ZodNumber;
62
+ ttftMs: z.ZodNumber;
63
+ ttftSteps: z.ZodNumber;
64
+ decodeMs: z.ZodNumber;
65
+ decodeTokens: z.ZodNumber;
66
+ }, z.core.$strict>;
67
+ view: ({ lastTurn: _turn, lastRequestId: _request, pendingCalls: _calls, ...totals }: {
68
+ turns: number;
69
+ steps: number;
70
+ llmMs: number;
71
+ toolMs: number;
72
+ ttftMs: number;
73
+ ttftSteps: number;
74
+ decodeMs: number;
75
+ decodeTokens: number;
76
+ lastTurn: number | null;
77
+ lastRequestId: string | null;
78
+ pendingCalls: Record<string, number>;
79
+ }) => {
80
+ turns: number;
81
+ steps: number;
82
+ llmMs: number;
83
+ toolMs: number;
84
+ ttftMs: number;
85
+ ttftSteps: number;
86
+ decodeMs: number;
87
+ decodeTokens: number;
88
+ };
89
+ };
90
+ };
91
+ declare const contextStateSchema: z.ZodObject<{
92
+ contextWindow: z.ZodOptional<z.ZodNumber>;
93
+ pressureTokens: z.ZodOptional<z.ZodNumber>;
94
+ model: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strict>;
96
+ type ContextState = z.infer<typeof contextStateSchema>;
97
+ /** Grok's current context is not the sum of the prompts billed during its tool loop. */
98
+ export declare const grokContextProjection: {
99
+ key: string;
100
+ stateVersion: number;
101
+ stateSchema: z.ZodObject<{
102
+ contextWindow: z.ZodOptional<z.ZodNumber>;
103
+ pressureTokens: z.ZodOptional<z.ZodNumber>;
104
+ model: z.ZodOptional<z.ZodString>;
105
+ }, z.core.$strict>;
106
+ init: () => ContextState;
107
+ apply(state: ContextState, event: {
108
+ type: string;
109
+ data: any;
110
+ }): ContextState;
111
+ wire: {
112
+ viewSchema: z.ZodObject<{
113
+ contextWindow: z.ZodOptional<z.ZodNumber>;
114
+ pressureTokens: z.ZodOptional<z.ZodNumber>;
115
+ }, z.core.$strict>;
116
+ view: ({ model: _model, ...pressure }: ContextState) => {
117
+ contextWindow?: number | undefined;
118
+ pressureTokens?: number | undefined;
119
+ };
120
+ };
121
+ };
122
+ export {};
123
+ //# sourceMappingURL=grok-performance-projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-performance-projection.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/grok-performance-projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpC,CAAA;AAMF,QAAA,MAAM,kBAAkB;;;;kBAA0D,CAAA;AAClF,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEtD,wFAAwF;AACxF,eAAO,MAAM,qBAAqB;;;;;;;;gBAEtB,YAAY;iBACT,YAAY,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,YAAY;;;;;;+CAsBD,YAAY;;;;;CACxF,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ import { GROK_CONTEXT_PROJECTION, GROK_PERFORMANCE_PROJECTION } from '../../shared/request-performance.js';
3
+ import { createSessionPerformanceProjection } from './session-performance-projection.js';
4
+ export const grokPerformanceProjection = createSessionPerformanceProjection(GROK_PERFORMANCE_PROJECTION, chunk => {
5
+ const batch = chunk.codingnsRequestPerformance;
6
+ return Array.isArray(batch?.samples) ? batch : undefined;
7
+ });
8
+ const pressureSchema = z.object({
9
+ contextWindow: z.number().int().positive().optional(),
10
+ pressureTokens: z.number().int().nonnegative().optional(),
11
+ }).strict();
12
+ const contextStateSchema = pressureSchema.extend({ model: z.string().optional() });
13
+ /** Grok's current context is not the sum of the prompts billed during its tool loop. */
14
+ export const grokContextProjection = {
15
+ key: GROK_CONTEXT_PROJECTION, stateVersion: 1, stateSchema: contextStateSchema,
16
+ init: () => ({}),
17
+ apply(state, event) {
18
+ if (event.type === 'request/context') {
19
+ if (event.data.provider !== 'grok')
20
+ return {};
21
+ // Step placeholders and the legacy meter's capacity anchor cannot replace
22
+ // a live provider observation, including a resized window on the same model.
23
+ return state;
24
+ }
25
+ if (event.type !== 'assistant/attempt' || !Array.isArray(event.data.stream))
26
+ return state;
27
+ for (const record of event.data.stream) {
28
+ if (record?.type !== 'chunk' || record.chunk?.type !== 'usage')
29
+ continue;
30
+ const usage = record.chunk.codingnsContextObservation;
31
+ if (usage === undefined)
32
+ continue;
33
+ if (typeof usage.contextModelId === 'string' && usage.contextModelId !== state.model)
34
+ state = { model: usage.contextModelId };
35
+ const parsed = pressureSchema.safeParse({ contextWindow: usage.contextWindow, pressureTokens: usage.contextTokens });
36
+ if (parsed.success)
37
+ state = {
38
+ ...state,
39
+ ...(parsed.data.contextWindow === undefined ? {} : { contextWindow: parsed.data.contextWindow }),
40
+ ...(parsed.data.pressureTokens === undefined ? {} : { pressureTokens: parsed.data.pressureTokens }),
41
+ };
42
+ }
43
+ return state;
44
+ },
45
+ wire: { viewSchema: pressureSchema, view: ({ model: _model, ...pressure }) => pressure },
46
+ };
47
+ //# sourceMappingURL=grok-performance-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-performance-projection.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/grok-performance-projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AAC1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAA;AAExF,MAAM,CAAC,MAAM,yBAAyB,GAAG,kCAAkC,CAAC,2BAA2B,EAAE,KAAK,CAAC,EAAE;IAC/G,MAAM,KAAK,GAAG,KAAK,CAAC,0BAA0B,CAAA;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1D,CAAC,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAC1D,CAAC,CAAC,MAAM,EAAE,CAAA;AACX,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAGlF,wFAAwF;AACxF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,kBAAkB;IAC9E,IAAI,EAAE,GAAiB,EAAE,CAAC,CAAC,EAAE,CAAC;IAC9B,KAAK,CAAC,KAAmB,EAAE,KAAkC;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM;gBAAE,OAAO,EAAE,CAAA;YAC7C,0EAA0E;YAC1E,6EAA6E;YAC7E,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QACzF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO;gBAAE,SAAQ;YACxE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAA;YACrD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAQ;YACjC,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK;gBAAE,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,CAAA;YAC7H,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;YACpH,IAAI,MAAM,CAAC,OAAO;gBAAE,KAAK,GAAG;oBAC1B,GAAG,KAAK;oBACR,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;iBACpG,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAgB,EAAE,EAAE,CAAC,QAAQ,EAAE;CACvG,CAAA"}
@@ -0,0 +1,45 @@
1
+ import type { CodingNsAgentEvent } from '../../shared/contracts/cli-adapter.js';
2
+ import type { JsonRpcMessage } from './json-rpc-process.js';
3
+ type Usage = Extract<CodingNsAgentEvent, {
4
+ type: 'usage';
5
+ }>;
6
+ type Observation = Extract<CodingNsAgentEvent, {
7
+ type: 'usage-observation';
8
+ }>;
9
+ /** Model capacity belongs to the provider session, not to a billed request total. */
10
+ export declare class GrokContextUsage {
11
+ modelId: string | undefined;
12
+ private readonly windows;
13
+ observe(value: unknown): void;
14
+ get contextWindow(): number | undefined;
15
+ setWindow(window: number): void;
16
+ }
17
+ /** Observe the RPC reader while DSH consumers and translation may be suspended. */
18
+ export declare class GrokPromptUsage {
19
+ private readonly id;
20
+ private readonly context;
21
+ private readonly now;
22
+ private aggregate;
23
+ private responseUsage;
24
+ private readonly requests;
25
+ private readonly samples;
26
+ private readonly completedStreams;
27
+ private readonly signatures;
28
+ private active;
29
+ private startedAt;
30
+ private contextTokens;
31
+ private responseContextTokens;
32
+ private contextWindow;
33
+ private observedSamples;
34
+ private lastContext;
35
+ constructor(id: string, context: GrokContextUsage, now?: () => number);
36
+ observe(message: JsonRpcMessage): void;
37
+ observeResponse(value: unknown): void;
38
+ finish(): Usage | undefined;
39
+ /** Drain each measurement once into the notification queue, before a consumer can block it. */
40
+ takeObservation(): Observation | undefined;
41
+ private contextFields;
42
+ private completeRequest;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=grok-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-usage.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/grok-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAG3D,KAAK,KAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAC3D,KAAK,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAA;AAE7E,qFAAqF;AACrF,qBAAa,gBAAgB;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAkB7B,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC;AAED,mFAAmF;AACnF,qBAAa,eAAe;IAed,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAoB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAdzG,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,MAAM,CAAyD;IACvE,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,WAAW,CAAqF;gBAE3E,EAAE,EAAE,MAAM,EAAmB,OAAO,EAAE,gBAAgB,EAAmB,GAAG,GAAE,MAAM,MAAiB;IAIlI,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IA+CtC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAWrC,MAAM,IAAI,KAAK,GAAG,SAAS;IAY3B,+FAA+F;IAC/F,eAAe,IAAI,WAAW,GAAG,SAAS;IAc1C,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,eAAe;CASxB"}
@@ -0,0 +1,197 @@
1
+ import { isRecord, usageChunk } from './rpc-driver-utils.js';
2
+ /** Model capacity belongs to the provider session, not to a billed request total. */
3
+ export class GrokContextUsage {
4
+ modelId;
5
+ windows = new Map();
6
+ observe(value) {
7
+ if (!isRecord(value))
8
+ return;
9
+ const params = isRecord(value.params) ? value.params : value;
10
+ const meta = isRecord(params._meta) ? params._meta : {};
11
+ if (meta.isReplay === true)
12
+ return;
13
+ const models = [params.models, meta.modelState, params].find(item => isRecord(item) && Array.isArray(item.availableModels));
14
+ if (isRecord(models)) {
15
+ for (const model of models.availableModels) {
16
+ if (!isRecord(model))
17
+ continue;
18
+ const id = model.modelId ?? model.id;
19
+ const window = token(model._meta?.totalContextTokens);
20
+ if (typeof id === 'string' && window !== undefined && window > 0)
21
+ this.windows.set(id, window);
22
+ }
23
+ if (typeof models.currentModelId === 'string')
24
+ this.modelId = models.currentModelId;
25
+ }
26
+ if (typeof meta.modelId === 'string')
27
+ this.modelId = meta.modelId;
28
+ }
29
+ get contextWindow() {
30
+ return this.modelId === undefined ? undefined : this.windows.get(this.modelId);
31
+ }
32
+ setWindow(window) {
33
+ if (this.modelId !== undefined && window > 0)
34
+ this.windows.set(this.modelId, window);
35
+ }
36
+ }
37
+ /** Observe the RPC reader while DSH consumers and translation may be suspended. */
38
+ export class GrokPromptUsage {
39
+ id;
40
+ context;
41
+ now;
42
+ aggregate;
43
+ responseUsage;
44
+ requests = [];
45
+ samples = [];
46
+ completedStreams = new Set();
47
+ signatures = new Set();
48
+ active;
49
+ startedAt;
50
+ contextTokens;
51
+ responseContextTokens;
52
+ contextWindow;
53
+ observedSamples = 0;
54
+ lastContext;
55
+ constructor(id, context, now = Date.now) {
56
+ this.id = id;
57
+ this.context = context;
58
+ this.now = now;
59
+ this.startedAt = now();
60
+ }
61
+ observe(message) {
62
+ const params = isRecord(message.params) ? message.params : message;
63
+ const update = isRecord(params.update) ? params.update : params;
64
+ const meta = isRecord(params._meta) ? params._meta : {};
65
+ if (meta.isReplay === true)
66
+ return;
67
+ this.context.observe(message);
68
+ const time = this.now();
69
+ const streamStart = token(meta.streamStartMs);
70
+ if (streamStart !== undefined && !this.completedStreams.has(streamStart)
71
+ && this.active?.firstTokenAt !== streamStart) {
72
+ // Native stream start includes hidden reasoning that precedes visible text.
73
+ const start = this.samples.length === 0 ? token(meta.turnStartMs) ?? this.startedAt : this.startedAt;
74
+ this.active = { startedAt: Math.min(start, streamStart), firstTokenAt: streamStart };
75
+ }
76
+ this.contextTokens = token(meta.totalTokens) ?? this.contextTokens;
77
+ const type = String(update.sessionUpdate ?? update.type ?? '').toLowerCase();
78
+ if (type === 'usage_update' || type === 'usage-update') {
79
+ this.aggregate = readUsage(update) ?? this.aggregate;
80
+ this.contextTokens = token(update.used ?? update.contextTokens) ?? this.contextTokens;
81
+ const size = token(update.size ?? update.contextWindow);
82
+ if (size !== undefined && size > 0) {
83
+ this.contextWindow = size;
84
+ this.context.setWindow(size);
85
+ }
86
+ return;
87
+ }
88
+ if (type === 'response_completed') {
89
+ const signature = typeof update.signature === 'string' ? update.signature : undefined;
90
+ if (signature !== undefined && this.signatures.has(signature))
91
+ return;
92
+ if (signature !== undefined)
93
+ this.signatures.add(signature);
94
+ const usage = readUsage(update);
95
+ if (usage !== undefined) {
96
+ this.requests.push(usage);
97
+ this.completeRequest(usage.outputTokens, time);
98
+ }
99
+ return;
100
+ }
101
+ if (type === 'tool_call_update' && ['completed', 'failed'].includes(String(update.status).toLowerCase()))
102
+ this.startedAt = time;
103
+ if (['turn_completed', 'turn_complete', 'prompt_complete', 'completed', 'done'].includes(type)) {
104
+ this.aggregate = readUsage(update) ?? this.aggregate;
105
+ // A turn total may span many calls; it cannot be paired with the last stream.
106
+ if (update.usage?.modelCalls === 1 && this.requests.length === 0 && this.aggregate !== undefined) {
107
+ this.completeRequest(this.aggregate.outputTokens, time);
108
+ }
109
+ }
110
+ }
111
+ observeResponse(value) {
112
+ if (!isRecord(value) || !isRecord(value._meta))
113
+ return;
114
+ this.context.observe(value);
115
+ const meta = value._meta;
116
+ this.responseUsage = readUsage({ usage: meta.usage });
117
+ this.responseContextTokens = token(meta.totalTokens);
118
+ // Some versions omit response_completed but retain the last call's usage here.
119
+ const lastOutput = token(meta.outputTokens);
120
+ if (lastOutput !== undefined)
121
+ this.completeRequest(lastOutput, this.now());
122
+ }
123
+ finish() {
124
+ const usage = this.responseUsage ?? this.aggregate ?? sumRequests(this.requests);
125
+ const context = this.contextFields();
126
+ const { contextTokens } = context;
127
+ if (usage === undefined && contextTokens === undefined)
128
+ return undefined;
129
+ return {
130
+ type: 'usage', inputTokens: 0, outputTokens: 0, ...usage,
131
+ ...context,
132
+ ...(this.samples.length === 0 ? {} : { requestPerformance: { id: this.id, samples: [...this.samples] } }),
133
+ };
134
+ }
135
+ /** Drain each measurement once into the notification queue, before a consumer can block it. */
136
+ takeObservation() {
137
+ const context = this.contextFields();
138
+ const samples = this.samples.slice(this.observedSamples);
139
+ if (samples.length === 0 && context.contextTokens === this.lastContext?.contextTokens
140
+ && context.contextWindow === this.lastContext?.contextWindow && context.contextModelId === this.lastContext?.contextModelId)
141
+ return undefined;
142
+ if (samples.length === 0 && context.contextTokens === undefined && context.contextWindow === undefined)
143
+ return undefined;
144
+ this.observedSamples = this.samples.length;
145
+ this.lastContext = context;
146
+ return {
147
+ type: 'usage-observation', ...context,
148
+ ...(samples.length === 0 ? {} : { requestPerformance: { id: samples.at(-1).id, samples } }),
149
+ };
150
+ }
151
+ contextFields() {
152
+ const contextTokens = this.responseContextTokens ?? this.contextTokens;
153
+ const contextWindow = this.contextWindow ?? this.context.contextWindow;
154
+ return {
155
+ ...(contextTokens === undefined ? {} : { contextTokens }),
156
+ ...(contextWindow === undefined ? {} : { contextWindow }),
157
+ ...(contextTokens === undefined || contextWindow === undefined ? {} : {
158
+ contextUsageRatio: Number(Math.min(1, contextTokens / contextWindow).toFixed(6)),
159
+ }),
160
+ ...(this.context.modelId === undefined ? {} : { contextModelId: this.context.modelId }),
161
+ };
162
+ }
163
+ completeRequest(outputTokens, time) {
164
+ const active = this.active;
165
+ this.active = undefined;
166
+ this.startedAt = time;
167
+ if (active === undefined)
168
+ return;
169
+ this.completedStreams.add(active.firstTokenAt);
170
+ if (outputTokens <= 0 || time <= active.firstTokenAt)
171
+ return;
172
+ this.samples.push({ id: `${this.id}:${active.firstTokenAt}`, ...active, completedAt: time, outputTokens });
173
+ }
174
+ }
175
+ function readUsage(value) {
176
+ const event = usageChunk(value);
177
+ return event?.type === 'usage' ? event : undefined;
178
+ }
179
+ function sumRequests(requests) {
180
+ if (requests.length === 0)
181
+ return undefined;
182
+ let inputTokens = 0, outputTokens = 0, cacheReadTokens = 0, cacheWriteTokens = 0;
183
+ let cached = false;
184
+ for (const usage of requests) {
185
+ const cache = (usage.cacheReadTokens ?? 0) + (usage.cacheWriteTokens ?? 0);
186
+ inputTokens += usage.uncachedInputTokens === undefined ? usage.inputTokens : usage.uncachedInputTokens + cache;
187
+ outputTokens += usage.outputTokens;
188
+ cacheReadTokens += usage.cacheReadTokens ?? 0;
189
+ cacheWriteTokens += usage.cacheWriteTokens ?? 0;
190
+ cached ||= usage.cacheReadTokens !== undefined || usage.cacheWriteTokens !== undefined;
191
+ }
192
+ return readUsage({ inputTokens, outputTokens, ...(cached ? { cacheReadTokens, cacheWriteTokens } : {}) });
193
+ }
194
+ function token(value) {
195
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 ? value : undefined;
196
+ }
197
+ //# sourceMappingURL=grok-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-usage.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/grok-usage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAK5D,qFAAqF;AACrF,MAAM,OAAO,gBAAgB;IAC3B,OAAO,CAAoB;IACV,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEpD,OAAO,CAAC,KAAc;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAM;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;QAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAM;QAClC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;QAC3H,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAA;gBACpC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;gBACrD,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAChG,CAAC;YACD,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAA;QACrF,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IACnE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChF,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACtF,CAAC;CACF;AAED,mFAAmF;AACnF,MAAM,OAAO,eAAe;IAeG;IAA6B;IAA4C;IAd9F,SAAS,CAAmB;IAC5B,aAAa,CAAmB;IACvB,QAAQ,GAAY,EAAE,CAAA;IACtB,OAAO,GAAyB,EAAE,CAAA;IAClC,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IACvC,MAAM,CAAyD;IAC/D,SAAS,CAAQ;IACjB,aAAa,CAAoB;IACjC,qBAAqB,CAAoB;IACzC,aAAa,CAAoB;IACjC,eAAe,GAAG,CAAC,CAAA;IACnB,WAAW,CAAqF;IAExG,YAA6B,EAAU,EAAmB,OAAyB,EAAmB,MAAoB,IAAI,CAAC,GAAG;QAArG,OAAE,GAAF,EAAE,CAAQ;QAAmB,YAAO,GAAP,OAAO,CAAkB;QAAmB,QAAG,GAAH,GAAG,CAAyB;QAChI,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,OAAuB;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAM;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7C,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC;eACnE,IAAI,CAAC,MAAM,EAAE,YAAY,KAAK,WAAW,EAAE,CAAC;YAC/C,4EAA4E;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;YACpG,IAAI,CAAC,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAA;QACtF,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,aAAa,CAAA;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5E,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YACvD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAA;YACpD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAA;YACrF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,CAAA;YACvD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;YACrF,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAM;YACrE,IAAI,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;YAChD,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,kBAAkB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAC/H,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAA;YACpD,8EAA8E;YAC9E,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,eAAe,CAAC,KAAc;QAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAM;QACtD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACpD,+EAA+E;QAC/E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC3C,IAAI,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACpC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QACjC,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACxE,OAAO;YACL,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK;YACxD,GAAG,OAAO;YACV,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;SAC1G,CAAA;IACH,CAAC;IAED,+FAA+F;IAC/F,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,EAAE,aAAa;eAChF,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,EAAE,aAAa,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC,WAAW,EAAE,cAAc;YAAE,OAAO,SAAS,CAAA;QAC/I,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACxH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;QAC1B,OAAO;YACL,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO;YACrC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;SAC7F,CAAA;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,aAAa,CAAA;QACtE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QACtE,OAAO;YACL,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;YACzD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;YACzD,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACxF,CAAA;IACH,CAAC;IAEO,eAAe,CAAC,YAAoB,EAAE,IAAY;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,YAAY,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY;YAAE,OAAM;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAC5G,CAAC;CACF;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,OAAO,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,QAA0B;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,IAAI,WAAW,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAA;IAChF,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAA;QAC1E,WAAW,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAA;QAC9G,YAAY,IAAI,KAAK,CAAC,YAAY,CAAA;QAClC,eAAe,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,CAAA;QAC7C,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAA;QAC/C,MAAM,KAAK,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAA;IACxF,CAAC;IACD,OAAO,SAAS,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AAC3G,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACnG,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Recognize the official standalone layout without treating arbitrary binaries as owned installs. */
2
+ export declare function codexStandaloneDirectory(command: string, platform: NodeJS.Platform, environment?: NodeJS.ProcessEnv): string | undefined;
3
+ /** Retain the npm owner when its launcher resolves into a separate binary package. */
4
+ export declare function resolveManagementInstallation(command: string, packageName?: string, environment?: NodeJS.ProcessEnv): Promise<string | null>;
5
+ //# sourceMappingURL=management-installation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-installation.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/management-installation.ts"],"names":[],"mappings":"AAKA,sGAAsG;AACtG,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAUrJ;AAED,sFAAsF;AACtF,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/J"}
@@ -0,0 +1,131 @@
1
+ import { open, readFile, realpath, stat } from 'node:fs/promises';
2
+ import { homedir } from 'node:os';
3
+ import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
4
+ import { resolveCommandPath } from './process-utils.js';
5
+ /** Recognize the official standalone layout without treating arbitrary binaries as owned installs. */
6
+ export function codexStandaloneDirectory(command, platform, environment = process.env) {
7
+ if (platform !== 'darwin' && platform !== 'linux')
8
+ return undefined;
9
+ const directory = environment.CODEX_INSTALL_DIR || join(homedir(), '.local', 'bin');
10
+ const home = environment.CODEX_HOME || join(homedir(), '.codex');
11
+ if (!isAbsolute(directory) || !isAbsolute(home))
12
+ return undefined;
13
+ if (command === join(directory, 'codex'))
14
+ return directory;
15
+ const release = relative(join(home, 'packages', 'standalone', 'releases'), command);
16
+ // Current packages use <version>-<target>/bin/codex; older releases contain codex directly.
17
+ if (/^(?:rust-v)?\d+\.\d+\.\d+(?:-[\w.-]+)?\/(?:bin\/)?codex$/u.test(release))
18
+ return directory;
19
+ return undefined;
20
+ }
21
+ /** Retain the npm owner when its launcher resolves into a separate binary package. */
22
+ export async function resolveManagementInstallation(command, packageName, environment = process.env) {
23
+ return resolveInstallation(command, packageName, environment, new Set());
24
+ }
25
+ async function resolveInstallation(command, packageName, environment, visited) {
26
+ const launcher = await resolveCommandPath(command);
27
+ if (launcher === null)
28
+ return null;
29
+ const target = await realpath(launcher).catch(() => launcher);
30
+ if (visited.has(target) || visited.size >= 8)
31
+ return null;
32
+ visited.add(target);
33
+ if (!packageName)
34
+ return target;
35
+ const normalizedTarget = target.replaceAll('\\', '/');
36
+ const brewPackage = normalizedTarget.match(/\/(?:Cellar|Caskroom)\/([^/]+)\//u)?.[1];
37
+ if ((brewPackage && !/^node(?:@\d+)?$/u.test(brewPackage)) || /\.app\/Contents\/|\/resources\/app(?:\.asar)?\//iu.test(normalizedTarget))
38
+ return target;
39
+ const roots = new Set();
40
+ for (const path of [launcher, target]) {
41
+ const normalized = path.replaceAll('\\', '/');
42
+ if (/\/(?:\.bun|\.pnpm|scoop|WinGet)\//iu.test(normalized))
43
+ return target;
44
+ const marker = process.platform === 'win32' ? '/node_modules/' : '/lib/node_modules/';
45
+ const index = normalized.indexOf(marker);
46
+ if (index > 0)
47
+ roots.add(join(normalized.slice(0, index), marker.slice(1), packageName));
48
+ }
49
+ // npm's global launchers live in <prefix>/bin on POSIX and <prefix> on Windows.
50
+ roots.add(process.platform === 'win32'
51
+ ? join(dirname(launcher), 'node_modules', packageName)
52
+ : join(dirname(launcher), '..', 'lib', 'node_modules', packageName));
53
+ for (const root of roots) {
54
+ try {
55
+ const metadata = JSON.parse(await readSmallFile(join(root, 'package.json')));
56
+ if (metadata.name !== packageName)
57
+ continue;
58
+ const bins = typeof metadata.bin === 'string' ? { [packageName.split('/').at(-1)]: metadata.bin } : metadata.bin;
59
+ if (!bins || typeof bins !== 'object' || Array.isArray(bins))
60
+ continue;
61
+ for (const [name, value] of Object.entries(bins)) {
62
+ if (typeof value !== 'string' || isAbsolute(value))
63
+ continue;
64
+ const entry = resolve(root, value);
65
+ const within = relative(root, entry);
66
+ if (within === '..' || within.startsWith(`..${sep}`) || isAbsolute(within))
67
+ continue;
68
+ const binary = await realpath(entry).catch(() => null);
69
+ if (binary === null)
70
+ continue;
71
+ if (binary === target)
72
+ return entry;
73
+ if (process.platform === 'win32' && /\.(?:cmd|ps1)$/iu.test(launcher) && basename(launcher).replace(/\.(?:cmd|ps1)$/iu, '') === name) {
74
+ const shim = (await readSmallFile(launcher)).replaceAll('\\', '/');
75
+ const suffix = `/node_modules/${packageName}/${value.replaceAll('\\', '/').replace(/^\.\//u, '')}`;
76
+ if (['%dp0%', '$basedir'].some(base => shim.includes(`${base}${suffix}`)))
77
+ return entry;
78
+ }
79
+ }
80
+ }
81
+ catch { /* Missing or unrelated metadata is not evidence of package ownership. */ }
82
+ }
83
+ if (packageName === '@openai/codex' && process.platform !== 'win32') {
84
+ try {
85
+ const script = await readExecutableScript(target);
86
+ if (script !== undefined) {
87
+ const wrapped = codexWrapperTarget(script);
88
+ return wrapped ? resolveInstallation(wrapped, packageName, environment, visited) : null;
89
+ }
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ const directory = codexStandaloneDirectory(target, process.platform, environment);
95
+ const entry = directory && join(directory, 'codex');
96
+ // Keep the active launcher only if it points to this release. Never redirect a custom installation.
97
+ if (entry && await realpath(entry).catch(() => null) === target)
98
+ return entry;
99
+ }
100
+ // A wrapper needs verified ownership; an arbitrary exec target must not select an updater.
101
+ return visited.size === 1 ? target : null;
102
+ }
103
+ /** Inspect a literal terminal exec without evaluating the wrapper or sourcing its environment files. */
104
+ function codexWrapperTarget(script) {
105
+ if (!/^#![ \t]*(?:\/bin\/(?:ba|da|k|z)?sh|\/usr\/bin\/env[ \t]+(?:ba|da|k|z)?sh)[ \t]*\r?\n/u.test(script))
106
+ return undefined;
107
+ const lines = script.split(/\r?\n/u).map(line => line.trim()).filter(line => line && !line.startsWith('#'));
108
+ if (lines.filter(line => /^exec[ \t]/u.test(line)).length !== 1)
109
+ return undefined;
110
+ const match = lines.at(-1)?.match(/^exec[ \t]+(?:'([^']+)'|"([^"$`\\]+)"|([/\w@+=,:.-]+))(?:[ \t]+--[\w-]+(?:=[\w.-]+)?)*[ \t]+"\$@"$/u);
111
+ const target = match?.[1] ?? match?.[2] ?? match?.[3];
112
+ return target && isAbsolute(target) && /^(?:codex|codex\.js)$/u.test(basename(target)) ? target : undefined;
113
+ }
114
+ async function readExecutableScript(path) {
115
+ const file = await open(path, 'r');
116
+ try {
117
+ const header = Buffer.alloc(2);
118
+ await file.read(header, 0, header.length, 0);
119
+ return header.toString() === '#!' ? await readSmallFile(path) : undefined;
120
+ }
121
+ finally {
122
+ await file.close();
123
+ }
124
+ }
125
+ async function readSmallFile(path) {
126
+ const info = await stat(path);
127
+ if (!info.isFile() || info.size > 65_536)
128
+ throw new Error('Installation metadata is not a small regular file.');
129
+ return readFile(path, 'utf8');
130
+ }
131
+ //# sourceMappingURL=management-installation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-installation.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/management-installation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { CodingNsCliAdapterDescriptor } from '../../shared/contracts/cli-adapter.js';
2
+ import type { CliManagementAction, CliManagementMethod } from '../../shared/contracts/cli-management.js';
3
+ export interface ManagementCommand {
4
+ readonly file: string;
5
+ readonly args: readonly string[];
6
+ }
7
+ export interface ManagementMethod extends CliManagementMethod {
8
+ readonly invocation?: ManagementCommand;
9
+ }
10
+ interface Definition {
11
+ readonly sourceUrl: string;
12
+ readonly npm?: string;
13
+ readonly npmArgs?: readonly string[];
14
+ readonly script?: string;
15
+ readonly powershell?: string;
16
+ readonly scriptShell?: 'bash' | 'sh';
17
+ readonly update?: readonly string[];
18
+ readonly brew?: readonly string[];
19
+ readonly note?: string;
20
+ readonly manual?: boolean;
21
+ readonly windowsManual?: boolean;
22
+ }
23
+ export declare const AGENT_MANAGEMENT_DEFINITIONS: Readonly<Record<string, Definition>>;
24
+ export declare function managementNpmPackage(adapter: CodingNsCliAdapterDescriptor): string | undefined;
25
+ export declare function managementMethods(adapter: CodingNsCliAdapterDescriptor, action: CliManagementAction, platform: NodeJS.Platform, arch: string): {
26
+ sourceUrl: string;
27
+ methods: ManagementMethod[];
28
+ };
29
+ /** Select only a matching package owner or an official self-updater. */
30
+ export declare function automaticUpdateMethod(adapter: CodingNsCliAdapterDescriptor, methods: ManagementMethod[], platform: NodeJS.Platform): string | undefined;
31
+ export {};
32
+ //# sourceMappingURL=management-methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-methods.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/management-methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAA;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAGxG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED,UAAU,UAAU;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAGD,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAmB7E,CAAA;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,GAAG,SAAS,CAG9F;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAwCjM;AAMD,wEAAwE;AACxE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,CAkDvJ"}