@jingyi0605/codingns4dsh 0.2.0-rc3 → 0.2.1-beta.2

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 (420) hide show
  1. package/README.en.md +27 -16
  2. package/README.md +44 -29
  3. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
  4. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -1
  5. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +2 -2
  6. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -1
  7. package/data/build/dist/bootstrap/index.d.ts +1 -1
  8. package/data/build/dist/bootstrap/index.d.ts.map +1 -1
  9. package/data/build/dist/client/bundle.js +3361 -227
  10. package/data/build/dist/client/bundle.js.map +1 -1
  11. package/data/build/dist/client/cli-catalog.d.ts +1 -1
  12. package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
  13. package/data/build/dist/client/cli-catalog.js +3 -3
  14. package/data/build/dist/client/cli-catalog.js.map +1 -1
  15. package/data/build/dist/client/cli-slots.d.ts +4 -0
  16. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  17. package/data/build/dist/client/cli-slots.js +70 -9
  18. package/data/build/dist/client/cli-slots.js.map +1 -1
  19. package/data/build/dist/client/context-breakdown-dom.d.ts +1 -1
  20. package/data/build/dist/client/context-breakdown-dom.d.ts.map +1 -1
  21. package/data/build/dist/client/context-breakdown-dom.js +1 -1
  22. package/data/build/dist/client/context-breakdown-dom.js.map +1 -1
  23. package/data/build/dist/client/features/assistant-panel.d.ts +5 -0
  24. package/data/build/dist/client/features/assistant-panel.d.ts.map +1 -0
  25. package/data/build/dist/client/features/assistant-panel.js +127 -0
  26. package/data/build/dist/client/features/assistant-panel.js.map +1 -0
  27. package/data/build/dist/client/features/global-voice-assistant.d.ts +10 -0
  28. package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -0
  29. package/data/build/dist/client/features/global-voice-assistant.js +330 -0
  30. package/data/build/dist/client/features/global-voice-assistant.js.map +1 -0
  31. package/data/build/dist/client/features/index.d.ts +2 -0
  32. package/data/build/dist/client/features/index.d.ts.map +1 -1
  33. package/data/build/dist/client/features/index.js +4 -0
  34. package/data/build/dist/client/features/index.js.map +1 -1
  35. package/data/build/dist/client/features/lan-access.d.ts.map +1 -1
  36. package/data/build/dist/client/features/lan-access.js +3 -1
  37. package/data/build/dist/client/features/lan-access.js.map +1 -1
  38. package/data/build/dist/client/features/types.d.ts +4 -1
  39. package/data/build/dist/client/features/types.d.ts.map +1 -1
  40. package/data/build/dist/client/features/voice-conversation-dialog.d.ts +20 -0
  41. package/data/build/dist/client/features/voice-conversation-dialog.d.ts.map +1 -0
  42. package/data/build/dist/client/features/voice-conversation-dialog.js +59 -0
  43. package/data/build/dist/client/features/voice-conversation-dialog.js.map +1 -0
  44. package/data/build/dist/client/features/voice-initialization-dialog.d.ts +10 -0
  45. package/data/build/dist/client/features/voice-initialization-dialog.d.ts.map +1 -0
  46. package/data/build/dist/client/features/voice-initialization-dialog.js +90 -0
  47. package/data/build/dist/client/features/voice-initialization-dialog.js.map +1 -0
  48. package/data/build/dist/client/features/workspace-session-enhancement-panel.d.ts.map +1 -1
  49. package/data/build/dist/client/features/workspace-session-enhancement-panel.js +57 -2
  50. package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
  51. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  52. package/data/build/dist/client/features/workspace-session-enhancement.js +27 -0
  53. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  54. package/data/build/dist/client/global-voice-runtime-registry.d.ts +27 -0
  55. package/data/build/dist/client/global-voice-runtime-registry.d.ts.map +1 -0
  56. package/data/build/dist/client/global-voice-runtime-registry.js +12 -0
  57. package/data/build/dist/client/global-voice-runtime-registry.js.map +1 -0
  58. package/data/build/dist/client/index.d.ts +1 -1
  59. package/data/build/dist/client/index.d.ts.map +1 -1
  60. package/data/build/dist/client/locale.d.ts.map +1 -1
  61. package/data/build/dist/client/locale.js +185 -1
  62. package/data/build/dist/client/locale.js.map +1 -1
  63. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  64. package/data/build/dist/client/locales/fileWorkspace.js +4 -0
  65. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  66. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
  67. package/data/build/dist/client/locales/terminalAuth.js +2 -0
  68. package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
  69. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  70. package/data/build/dist/client/locales/usage.js +4 -0
  71. package/data/build/dist/client/locales/usage.js.map +1 -1
  72. package/data/build/dist/client/mobile-session-interaction.d.ts +9 -0
  73. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
  74. package/data/build/dist/client/mobile-session-interaction.js +63 -0
  75. package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
  76. package/data/build/dist/client/model-catalog-cache.d.ts +23 -0
  77. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  78. package/data/build/dist/client/model-catalog-cache.js +81 -9
  79. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  80. package/data/build/dist/client/service-tier.d.ts +11 -0
  81. package/data/build/dist/client/service-tier.d.ts.map +1 -1
  82. package/data/build/dist/client/service-tier.js +15 -0
  83. package/data/build/dist/client/service-tier.js.map +1 -1
  84. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
  85. package/data/build/dist/client/session-changed-files-view.js +162 -58
  86. package/data/build/dist/client/session-changed-files-view.js.map +1 -1
  87. package/data/build/dist/client/sherpa-voice-adapter.d.ts +46 -0
  88. package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -0
  89. package/data/build/dist/client/sherpa-voice-adapter.js +252 -0
  90. package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -0
  91. package/data/build/dist/client/skill-command.d.ts +10 -0
  92. package/data/build/dist/client/skill-command.d.ts.map +1 -0
  93. package/data/build/dist/client/skill-command.js +258 -0
  94. package/data/build/dist/client/skill-command.js.map +1 -0
  95. package/data/build/dist/client/skill-reference-dom.d.ts +38 -0
  96. package/data/build/dist/client/skill-reference-dom.d.ts.map +1 -0
  97. package/data/build/dist/client/skill-reference-dom.js +187 -0
  98. package/data/build/dist/client/skill-reference-dom.js.map +1 -0
  99. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  100. package/data/build/dist/client/subscription-slot.js +51 -3
  101. package/data/build/dist/client/subscription-slot.js.map +1 -1
  102. package/data/build/dist/client/terminal/model.d.ts +40 -2
  103. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  104. package/data/build/dist/client/terminal/model.js +151 -24
  105. package/data/build/dist/client/terminal/model.js.map +1 -1
  106. package/data/build/dist/client/terminal/styles.d.ts +8 -0
  107. package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
  108. package/data/build/dist/client/terminal/styles.js +23 -2
  109. package/data/build/dist/client/terminal/styles.js.map +1 -1
  110. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  111. package/data/build/dist/client/terminal/ui.js +161 -26
  112. package/data/build/dist/client/terminal/ui.js.map +1 -1
  113. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  114. package/data/build/dist/client/terminal/xterm-view.js +218 -42
  115. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  116. package/data/build/dist/client/voice-capture.d.ts +32 -0
  117. package/data/build/dist/client/voice-capture.d.ts.map +1 -0
  118. package/data/build/dist/client/voice-capture.js +158 -0
  119. package/data/build/dist/client/voice-capture.js.map +1 -0
  120. package/data/build/dist/client/voice-device-manager.d.ts +24 -0
  121. package/data/build/dist/client/voice-device-manager.d.ts.map +1 -0
  122. package/data/build/dist/client/voice-device-manager.js +197 -0
  123. package/data/build/dist/client/voice-device-manager.js.map +1 -0
  124. package/data/build/dist/client/voice-output.d.ts +14 -0
  125. package/data/build/dist/client/voice-output.d.ts.map +1 -0
  126. package/data/build/dist/client/voice-output.js +32 -0
  127. package/data/build/dist/client/voice-output.js.map +1 -0
  128. package/data/build/dist/client/voice-security.d.ts +8 -0
  129. package/data/build/dist/client/voice-security.d.ts.map +1 -0
  130. package/data/build/dist/client/voice-security.js +26 -0
  131. package/data/build/dist/client/voice-security.js.map +1 -0
  132. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +12 -1
  133. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  134. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +32 -0
  135. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  136. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +23 -3
  137. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  138. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +137 -14
  139. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  140. package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts +31 -0
  141. package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts.map +1 -0
  142. package/data/build/dist/host/cli-adapters/acp-elicitation.js +144 -0
  143. package/data/build/dist/host/cli-adapters/acp-elicitation.js.map +1 -0
  144. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +41 -3
  145. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
  146. package/data/build/dist/host/cli-adapters/antigravity-driver.js +213 -12
  147. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  148. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts +121 -0
  149. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -0
  150. package/data/build/dist/host/cli-adapters/antigravity-subscription.js +504 -0
  151. package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -0
  152. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +31 -1
  153. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  154. package/data/build/dist/host/cli-adapters/claude-driver.js +307 -9
  155. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  156. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +7 -1
  157. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
  158. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +147 -6
  159. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
  160. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +28 -2
  161. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  162. package/data/build/dist/host/cli-adapters/codex-driver.js +234 -5
  163. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  164. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  165. package/data/build/dist/host/cli-adapters/command-code-driver.js +20 -8
  166. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  167. package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
  168. package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
  169. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +10 -1
  170. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
  171. package/data/build/dist/host/cli-adapters/cursor-driver.js +74 -4
  172. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
  173. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +1 -1
  174. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
  175. package/data/build/dist/host/cli-adapters/driver.d.ts +21 -1
  176. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  177. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  178. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +15 -3
  179. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  180. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  181. package/data/build/dist/host/cli-adapters/feature.js +22 -3
  182. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  183. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts +2 -1
  184. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  185. package/data/build/dist/host/cli-adapters/gemini-driver.js +70 -11
  186. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  187. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +3 -2
  188. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  189. package/data/build/dist/host/cli-adapters/grok-driver.js +69 -14
  190. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  191. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  192. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  193. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  194. package/data/build/dist/host/cli-adapters/kimi-driver.js +6 -6
  195. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  196. package/data/build/dist/host/cli-adapters/kiro-driver.js +1 -1
  197. package/data/build/dist/host/cli-adapters/kiro-driver.js.map +1 -1
  198. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +6 -2
  199. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
  200. package/data/build/dist/host/cli-adapters/mcode-driver.js +95 -24
  201. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  202. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +49 -0
  203. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  204. package/data/build/dist/host/cli-adapters/model-catalog.js +126 -0
  205. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  206. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +55 -1
  207. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
  208. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +148 -6
  209. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
  210. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -0
  211. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
  212. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  213. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +11 -0
  214. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  215. package/data/build/dist/host/cli-adapters/opencode-driver.js +92 -8
  216. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  217. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  218. package/data/build/dist/host/cli-adapters/pi-driver.js +4 -0
  219. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  220. package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -3
  221. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  222. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  223. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +4 -1
  224. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  225. package/data/build/dist/host/cli-adapters/provider-subscription.js +8 -1
  226. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  227. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +19 -4
  228. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
  229. package/data/build/dist/host/cli-adapters/qoder-driver.js +202 -11
  230. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
  231. package/data/build/dist/host/cli-adapters/qoder-subscription.js +3 -1
  232. package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
  233. package/data/build/dist/host/cli-adapters/reasoning-content.d.ts +11 -0
  234. package/data/build/dist/host/cli-adapters/reasoning-content.d.ts.map +1 -0
  235. package/data/build/dist/host/cli-adapters/reasoning-content.js +79 -0
  236. package/data/build/dist/host/cli-adapters/reasoning-content.js.map +1 -0
  237. package/data/build/dist/host/cli-adapters/registry.d.ts +24 -1
  238. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  239. package/data/build/dist/host/cli-adapters/registry.js +109 -4
  240. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  241. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +3 -2
  242. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  243. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +8 -2
  244. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  245. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +3 -2
  246. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  247. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +16 -2
  248. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  249. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
  250. package/data/build/dist/host/cli-adapters/subagent-tool.js +40 -10
  251. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
  252. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +4 -1
  253. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
  254. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
  255. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +11 -3
  256. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
  257. package/data/build/dist/host/cli-bridge/bridge-server.js +8 -4
  258. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
  259. package/data/build/dist/host/cli-bridge/command-code-mod.js +18 -2
  260. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
  261. package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -1
  262. package/data/build/dist/host/cli-bridge/dispatch.js +30 -5
  263. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  264. package/data/build/dist/host/cli-bridge/injections.d.ts +10 -1
  265. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  266. package/data/build/dist/host/cli-bridge/injections.js +30 -10
  267. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  268. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +49 -7
  269. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
  270. package/data/build/dist/host/features/assistant-dispatch.d.ts +45 -0
  271. package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -0
  272. package/data/build/dist/host/features/assistant-dispatch.js +49 -0
  273. package/data/build/dist/host/features/assistant-dispatch.js.map +1 -0
  274. package/data/build/dist/host/features/assistant-intent.d.ts +46 -0
  275. package/data/build/dist/host/features/assistant-intent.d.ts.map +1 -0
  276. package/data/build/dist/host/features/assistant-intent.js +149 -0
  277. package/data/build/dist/host/features/assistant-intent.js.map +1 -0
  278. package/data/build/dist/host/features/assistant-scope-settings.d.ts +25 -0
  279. package/data/build/dist/host/features/assistant-scope-settings.d.ts.map +1 -0
  280. package/data/build/dist/host/features/assistant-scope-settings.js +33 -0
  281. package/data/build/dist/host/features/assistant-scope-settings.js.map +1 -0
  282. package/data/build/dist/host/features/assistant-scope.d.ts +79 -0
  283. package/data/build/dist/host/features/assistant-scope.d.ts.map +1 -0
  284. package/data/build/dist/host/features/assistant-scope.js +107 -0
  285. package/data/build/dist/host/features/assistant-scope.js.map +1 -0
  286. package/data/build/dist/host/features/assistant-session-index.d.ts +44 -0
  287. package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -0
  288. package/data/build/dist/host/features/assistant-session-index.js +109 -0
  289. package/data/build/dist/host/features/assistant-session-index.js.map +1 -0
  290. package/data/build/dist/host/features/assistant-summary.d.ts +28 -0
  291. package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -0
  292. package/data/build/dist/host/features/assistant-summary.js +166 -0
  293. package/data/build/dist/host/features/assistant-summary.js.map +1 -0
  294. package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
  295. package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -0
  296. package/data/build/dist/host/features/assistant-voice-stream.js +106 -0
  297. package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -0
  298. package/data/build/dist/host/features/assistant-voice-turn.d.ts +27 -0
  299. package/data/build/dist/host/features/assistant-voice-turn.d.ts.map +1 -0
  300. package/data/build/dist/host/features/assistant-voice-turn.js +54 -0
  301. package/data/build/dist/host/features/assistant-voice-turn.js.map +1 -0
  302. package/data/build/dist/host/features/assistant-waiting-state.d.ts +14 -0
  303. package/data/build/dist/host/features/assistant-waiting-state.d.ts.map +1 -0
  304. package/data/build/dist/host/features/assistant-waiting-state.js +17 -0
  305. package/data/build/dist/host/features/assistant-waiting-state.js.map +1 -0
  306. package/data/build/dist/host/features/global-voice-coordinator.d.ts +55 -0
  307. package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -0
  308. package/data/build/dist/host/features/global-voice-coordinator.js +221 -0
  309. package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -0
  310. package/data/build/dist/host/features/global-voice-rpc.d.ts +25 -0
  311. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -0
  312. package/data/build/dist/host/features/global-voice-rpc.js +862 -0
  313. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -0
  314. package/data/build/dist/host/features/index.d.ts +10 -0
  315. package/data/build/dist/host/features/index.d.ts.map +1 -1
  316. package/data/build/dist/host/features/index.js +10 -0
  317. package/data/build/dist/host/features/index.js.map +1 -1
  318. package/data/build/dist/host/features/peer-host.d.ts +5 -0
  319. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  320. package/data/build/dist/host/features/peer-host.js +232 -2
  321. package/data/build/dist/host/features/peer-host.js.map +1 -1
  322. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +42 -0
  323. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -0
  324. package/data/build/dist/host/features/sherpa-voice-runtime.js +193 -0
  325. package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -0
  326. package/data/build/dist/host/features/types.d.ts +26 -0
  327. package/data/build/dist/host/features/types.d.ts.map +1 -1
  328. package/data/build/dist/host/features/voice-agent-actions.d.ts +26 -0
  329. package/data/build/dist/host/features/voice-agent-actions.d.ts.map +1 -0
  330. package/data/build/dist/host/features/voice-agent-actions.js +128 -0
  331. package/data/build/dist/host/features/voice-agent-actions.js.map +1 -0
  332. package/data/build/dist/host/features/voice-agent-service.d.ts +117 -0
  333. package/data/build/dist/host/features/voice-agent-service.d.ts.map +1 -0
  334. package/data/build/dist/host/features/voice-agent-service.js +243 -0
  335. package/data/build/dist/host/features/voice-agent-service.js.map +1 -0
  336. package/data/build/dist/host/features/voice-model-setup.d.ts +20 -0
  337. package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -0
  338. package/data/build/dist/host/features/voice-model-setup.js +89 -0
  339. package/data/build/dist/host/features/voice-model-setup.js.map +1 -0
  340. package/data/build/dist/host/index.d.ts +3 -3
  341. package/data/build/dist/host/index.d.ts.map +1 -1
  342. package/data/build/dist/host/index.js +8 -2
  343. package/data/build/dist/host/index.js.map +1 -1
  344. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  345. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -1
  346. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +53 -2
  347. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -1
  348. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +15 -1
  349. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  350. package/data/build/dist/host/native-session-bridge.d.ts +2 -0
  351. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  352. package/data/build/dist/host/native-session-bridge.js +1 -0
  353. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  354. package/data/build/dist/host/rpc.d.ts.map +1 -1
  355. package/data/build/dist/host/rpc.js +9 -4
  356. package/data/build/dist/host/rpc.js.map +1 -1
  357. package/data/build/dist/host/settings.d.ts.map +1 -1
  358. package/data/build/dist/host/settings.js +19 -1
  359. package/data/build/dist/host/settings.js.map +1 -1
  360. package/data/build/dist/host/terminal/backends/conpty-backend.js.map +1 -1
  361. package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
  362. package/data/build/dist/host/terminal/terminal-controller.js +4 -0
  363. package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
  364. package/data/build/dist/host/terminal/terminal-service.d.ts +21 -1
  365. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
  366. package/data/build/dist/host/terminal/terminal-service.js +118 -7
  367. package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
  368. package/data/build/dist/index.d.ts +2 -2
  369. package/data/build/dist/index.d.ts.map +1 -1
  370. package/data/build/dist/index.js +1 -1
  371. package/data/build/dist/index.js.map +1 -1
  372. package/data/build/dist/shared/contracts/assistant.d.ts +70 -0
  373. package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -0
  374. package/data/build/dist/shared/contracts/assistant.js +2 -0
  375. package/data/build/dist/shared/contracts/assistant.js.map +1 -0
  376. package/data/build/dist/shared/contracts/cli-adapter.d.ts +33 -1
  377. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  378. package/data/build/dist/shared/contracts/config.d.ts +30 -0
  379. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  380. package/data/build/dist/shared/contracts/config.js +20 -0
  381. package/data/build/dist/shared/contracts/config.js.map +1 -1
  382. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  383. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  384. package/data/build/dist/shared/contracts/subscription.d.ts +30 -0
  385. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  386. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  387. package/data/build/dist/shared/contracts/terminal.d.ts +2 -0
  388. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
  389. package/data/build/dist/shared/contracts/version.d.ts +12 -5
  390. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  391. package/data/build/dist/shared/contracts/version.js +11 -4
  392. package/data/build/dist/shared/contracts/version.js.map +1 -1
  393. package/data/build/dist/shared/contracts/voice-runtime.d.ts +90 -0
  394. package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -0
  395. package/data/build/dist/shared/contracts/voice-runtime.js +16 -0
  396. package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -0
  397. package/data/build/dist/shared/index.d.ts +8 -2
  398. package/data/build/dist/shared/index.d.ts.map +1 -1
  399. package/data/build/dist/shared/index.js +5 -1
  400. package/data/build/dist/shared/index.js.map +1 -1
  401. package/data/build/dist/shared/voice-models.d.ts +21 -0
  402. package/data/build/dist/shared/voice-models.d.ts.map +1 -0
  403. package/data/build/dist/shared/voice-models.js +27 -0
  404. package/data/build/dist/shared/voice-models.js.map +1 -0
  405. package/data/build/dist/shared/voice-stream.d.ts +42 -0
  406. package/data/build/dist/shared/voice-stream.d.ts.map +1 -0
  407. package/data/build/dist/shared/voice-stream.js +99 -0
  408. package/data/build/dist/shared/voice-stream.js.map +1 -0
  409. package/data/build/dist/shared/voice-text.d.ts +3 -0
  410. package/data/build/dist/shared/voice-text.d.ts.map +1 -0
  411. package/data/build/dist/shared/voice-text.js +14 -0
  412. package/data/build/dist/shared/voice-text.js.map +1 -0
  413. package/data/build/dist/typert.host.d.ts.map +1 -1
  414. package/data/build/dist/typert.host.js +1 -0
  415. package/data/build/dist/typert.host.js.map +1 -1
  416. package/package.json +56 -26
  417. package/profile/README.md +8 -5
  418. package/profile/package.json +5 -3
  419. package/profile/version.json +3 -3
  420. package/version.json +3 -3
@@ -1,18 +1,37 @@
1
- import { spawn, spawnSync, type ChildProcessWithoutNullStreams } from 'node:child_process';
1
+ import { spawn, spawnSync } from 'node:child_process';
2
2
  import type { CodingNsAgentEvent, CodingNsCliAdapterDescriptor, CodingNsCliModelCatalog, CodingNsCliTurnInput } from '../../shared/contracts/cli-adapter.js';
3
3
  import type { CodingNsCliDriver } from './driver.js';
4
4
  import { StandardStreamDriver } from './standard-stream-driver.js';
5
+ import { type CodingNsChildProcess } from './process-utils.js';
5
6
  export interface AntigravityDriverOptions {
6
7
  readonly binaries?: readonly string[];
7
8
  readonly spawnSync?: typeof spawnSync;
8
9
  readonly spawn?: typeof spawn;
10
+ /**
11
+ * 上下文窗口解析。默认读 AGY 设置文件判断 `provider-default` 实际使用的模型,
12
+ * 测试注入固定实现即可脱离本机 AGY 安装状态。
13
+ */
14
+ readonly resolveContextWindow?: (modelId: string | undefined) => number | undefined;
15
+ /**
16
+ * 会话实际模型解析。AGY 的 usage 缓存字段口径随模型 Provider 不同(Claude 与
17
+ * Gemini 的 `input_tokens` 含义不一致),默认读 AGY 设置文件判断
18
+ * `provider-default` 实际使用的模型。
19
+ */
20
+ readonly resolveModelId?: (modelId: string | undefined) => string | null;
9
21
  }
10
22
  /**
11
23
  * Antigravity 的 stream-json print 模式:输入从 stdin 以 NDJSON 写入,输出仍是
12
- * 逐行 JSON。它只有全放行权限模式,因此故意不声明 permission/questions。
24
+ * 逐行 JSON。公开 CLI 没有 Host 回传 approval/question 的 wire 事件,因此不声明
25
+ * permission/questions;权限只能使用 CLI 已公开的 plan、accept-edits 和全放行模式。
13
26
  */
14
27
  export declare class AntigravityDriver extends StandardStreamDriver implements CodingNsCliDriver {
15
28
  private readonly observedText;
29
+ /** 本轮各次模型调用的用量;result 到达时汇总成单轮用量。 */
30
+ private readonly turnUsages;
31
+ /** 会话级累计用量基线;AGY 的 result.usage 是整个会话的累计值。 */
32
+ private readonly cumulativeUsages;
33
+ private readonly resolveContextWindow;
34
+ private readonly resolveModelId;
16
35
  private readonly modelProbeAbort;
17
36
  readonly warmModelCatalog = true;
18
37
  /** AGY stream-json 会把工具和后续正文放在同一条可暂停事件流中。 */
@@ -23,8 +42,27 @@ export declare class AntigravityDriver extends StandardStreamDriver implements C
23
42
  protected get usesStdin(): boolean;
24
43
  dispose(): void;
25
44
  protected validateProviderSessionBinding(input: CodingNsCliTurnInput, providerSessionId: string): void;
26
- protected writeStdin(child: ChildProcessWithoutNullStreams, input: CodingNsCliTurnInput): void;
45
+ protected writeStdin(child: CodingNsChildProcess, input: CodingNsCliTurnInput): void;
27
46
  protected parseEvent(value: Record<string, unknown>, input: CodingNsCliTurnInput): readonly CodingNsAgentEvent[];
47
+ /** 收下一次模型调用的用量;同一 step_index 重复上报时以后者为准。 */
48
+ private collectStepUsage;
49
+ /**
50
+ * 汇总本轮用量。
51
+ *
52
+ * 首选 step_update 的逐次调用用量(真实单轮口径);只有 AGY 完全没给 step 用量时
53
+ * 才退回「本次累计值 − 该会话上次累计值」,避免把整个会话的累计值写成一轮用量。
54
+ */
55
+ private takeTurnUsage;
56
+ private rememberCumulativeUsage;
57
+ /**
58
+ * 把单轮用量映射成公共 usage 事件,并补上 AGY 不报告的上下文容量。
59
+ *
60
+ * `output_tokens` 已经包含 `thinking_tokens`,缓存字段则按模型 Provider 分成两种
61
+ * 口径(见 `antigravityUsageExcludesCacheFromInput`):Gemini 的 `input_tokens`
62
+ * 是完整提示规模,Claude 的 `input_tokens` 不含缓存读取。后者必须换成
63
+ * `cache_read_input_tokens` 再交给 `usageChunk`,否则未缓存输入会被算成 0。
64
+ */
65
+ private buildUsageEvent;
28
66
  protected buildArgs(input: CodingNsCliTurnInput): readonly string[];
29
67
  }
30
68
  //# sourceMappingURL=antigravity-driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/antigravity-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AAE1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5J,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAoC,MAAM,6BAA6B,CAAA;AAyEpG,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAC9B;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,oBAAqB,YAAW,iBAAiB;IACtF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IAExD,QAAQ,CAAC,gBAAgB,QAAO;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,yBAAyB,QAAO;IAEzC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAKvG;gBAEW,OAAO,GAAE,wBAA6B;IAa5C,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAmBpD,SAAS,KAAK,SAAS,IAAI,OAAO,CAAgB;IAElD,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAOtG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAO9F,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,SAAS,kBAAkB,EAAE;IAgDhH,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,MAAM,EAAE;CAepE"}
1
+ {"version":3,"file":"antigravity-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/antigravity-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5J,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAoC,MAAM,6BAA6B,CAAA;AAGpG,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AA0ErF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAA;IACnF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;CACzE;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,oBAAqB,YAAW,iBAAiB;IACtF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAC1F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgD;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IAExD,QAAQ,CAAC,gBAAgB,QAAO;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,yBAAyB,QAAO;IAEzC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAKvG;gBAEW,OAAO,GAAE,wBAA6B;IAe5C,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAmBpD,SAAS,KAAK,SAAS,IAAI,OAAO,CAAgB;IAElD,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAOtG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAQpF,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,SAAS,kBAAkB,EAAE;IAqEhH,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB;IAiBxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA2BvB,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,MAAM,EAAE;CAkBpE"}
@@ -1,11 +1,14 @@
1
1
  import { spawn, spawnSync } from 'node:child_process';
2
2
  import { dirname } from 'node:path';
3
3
  import { StandardStreamDriver, emptyCatalog, genericEventChunks } from './standard-stream-driver.js';
4
- import { ANTIGRAVITY_CATALOG, isProviderDefaultModel, parseAntigravityModels } from './model-catalog.js';
4
+ import { ANTIGRAVITY_CATALOG, antigravitySupportsEffort, antigravityUsageExcludesCacheFromInput, isProviderDefaultModel, knownAntigravityContextWindow, parseAntigravityModels, resolveAntigravityModelId } from './model-catalog.js';
5
5
  import { promptWithAttachmentPaths } from './attachment-utils.js';
6
6
  import { terminateChildProcess } from './process-utils.js';
7
+ import { usageChunk } from './rpc-driver-utils.js';
7
8
  import { advanceCodingNsSegment, createCodingNsSegmentState, decorateCodingNsSegmentEvent } from './stream-normalizer.js';
8
9
  const ANTIGRAVITY_MODEL_DISCOVERY_TIMEOUT_MS = 30_000;
10
+ /** 进程内保留的会话级累计用量基线数量上限,避免长驻 Host 无限增长。 */
11
+ const ANTIGRAVITY_CUMULATIVE_LIMIT = 256;
9
12
  /**
10
13
  * 异步缓冲一次外部 CLI 调用。
11
14
  *
@@ -69,10 +72,17 @@ async function runBufferedModels(runSpawn, command, environment, timeoutMs, sign
69
72
  }
70
73
  /**
71
74
  * Antigravity 的 stream-json print 模式:输入从 stdin 以 NDJSON 写入,输出仍是
72
- * 逐行 JSON。它只有全放行权限模式,因此故意不声明 permission/questions。
75
+ * 逐行 JSON。公开 CLI 没有 Host 回传 approval/question 的 wire 事件,因此不声明
76
+ * permission/questions;权限只能使用 CLI 已公开的 plan、accept-edits 和全放行模式。
73
77
  */
74
78
  export class AntigravityDriver extends StandardStreamDriver {
75
79
  observedText = new WeakMap();
80
+ /** 本轮各次模型调用的用量;result 到达时汇总成单轮用量。 */
81
+ turnUsages = new WeakMap();
82
+ /** 会话级累计用量基线;AGY 的 result.usage 是整个会话的累计值。 */
83
+ cumulativeUsages = new Map();
84
+ resolveContextWindow;
85
+ resolveModelId;
76
86
  modelProbeAbort = new AbortController();
77
87
  warmModelCatalog = true;
78
88
  /** AGY stream-json 会把工具和后续正文放在同一条可暂停事件流中。 */
@@ -94,6 +104,8 @@ export class AntigravityDriver extends StandardStreamDriver {
94
104
  versionArgs: ['--version'],
95
105
  modelArgs: ['models'],
96
106
  }, options);
107
+ this.resolveContextWindow = options.resolveContextWindow ?? ((modelId) => knownAntigravityContextWindow(modelId));
108
+ this.resolveModelId = options.resolveModelId ?? ((modelId) => resolveAntigravityModelId(modelId));
97
109
  }
98
110
  async listModels() {
99
111
  const detected = await this.detect();
@@ -112,6 +124,7 @@ export class AntigravityDriver extends StandardStreamDriver {
112
124
  get usesStdin() { return true; }
113
125
  dispose() {
114
126
  this.modelProbeAbort.abort();
127
+ this.cumulativeUsages.clear();
115
128
  super.dispose();
116
129
  }
117
130
  validateProviderSessionBinding(input, providerSessionId) {
@@ -124,14 +137,21 @@ export class AntigravityDriver extends StandardStreamDriver {
124
137
  const prompt = promptWithAttachmentPaths(input.prompt, input.attachments ?? []);
125
138
  // Antigravity 的 stream-json 输入协议要求每一轮一个 user 事件,且
126
139
  // message 必须是带 content 字符串的对象;直接传字符串会让 AGY 退出。
140
+ if (child.stdin === null)
141
+ throw new Error('Antigravity CLI 未打开 stdin 管道');
127
142
  child.stdin.end(`${JSON.stringify({ event: 'user', message: { content: prompt } })}\n`, 'utf8');
128
143
  }
129
144
  parseEvent(value, input) {
130
- // AGY 会在 step_update 和最终 result 中重复携带 usage;只保留最终 result
131
- // 的汇总,避免 DSH 面板把同一轮用量累计两次。
132
- const step = value.step_update;
145
+ const cancelled = input.signal?.aborted ?? false;
146
+ const step = readRecord(value.step_update);
147
+ const result = value.event === 'result' ? readRecord(value.result) : null;
133
148
  let chunks;
134
- if (value.event === 'step_update' && step !== null && typeof step === 'object' && !Array.isArray(step)) {
149
+ if (value.event === 'step_update' && step !== null) {
150
+ // AGY 的 step_update(agent_response / state=DONE)携带的是「这一次模型调用」
151
+ // 的真实用量,而最终 result 的 usage 是整个会话的累计值。这里把单次调用收进
152
+ // 本轮累加器,并剥掉 step_update.usage,避免 genericEventChunks 再产出一份
153
+ // 重复采样。
154
+ this.collectStepUsage(input, step);
135
155
  const sanitized = { ...step };
136
156
  delete sanitized.usage;
137
157
  // AGY 把真实事件类型放在 step_update.step_type,而外层 event 永远是
@@ -140,10 +160,17 @@ export class AntigravityDriver extends StandardStreamDriver {
140
160
  if (typeof sanitized.step_type === 'string' && sanitized.step_type.trim() !== '') {
141
161
  sanitized.type = sanitized.step_type;
142
162
  }
143
- chunks = genericEventChunks({ ...value, event: sanitized }, input.signal?.aborted ?? false);
163
+ chunks = genericEventChunks({ ...value, event: sanitized }, cancelled);
164
+ }
165
+ else if (result !== null) {
166
+ // result.usage 是会话累计值,绝不能当作单轮用量交给 DSH;剥掉后由下面的
167
+ // 单轮汇总事件补上,否则 token-meter 会把累计值按轮反复累加。
168
+ const sanitizedResult = { ...result };
169
+ delete sanitizedResult.usage;
170
+ chunks = genericEventChunks({ ...value, usage: undefined, result: sanitizedResult }, cancelled);
144
171
  }
145
172
  else {
146
- chunks = genericEventChunks(value, input.signal?.aborted ?? false);
173
+ chunks = genericEventChunks(value, cancelled);
147
174
  }
148
175
  const currentText = this.observedText.get(input) ?? '';
149
176
  let observedText = currentText;
@@ -155,8 +182,7 @@ export class AntigravityDriver extends StandardStreamDriver {
155
182
  this.observedText.set(input, observedText);
156
183
  // AGY 的最终 result 可能只在 response 中携带完整正文,不能依赖前面的
157
184
  // step_update 一定包含 agent_response 增量。
158
- if (value.event === 'result' && value.result !== null && typeof value.result === 'object' && !Array.isArray(value.result)) {
159
- const result = value.result;
185
+ if (result !== null) {
160
186
  const status = typeof result.status === 'string' ? result.status.trim().toLowerCase() : '';
161
187
  if (status !== '' && !['success', 'succeeded', 'completed', 'complete', 'done'].includes(status)) {
162
188
  const failureMessage = typeof result.error === 'string' && result.error.trim() !== ''
@@ -175,15 +201,118 @@ export class AntigravityDriver extends StandardStreamDriver {
175
201
  if (delta.length > 0)
176
202
  chunks.unshift({ type: 'text-delta', text: delta });
177
203
  }
204
+ const conversationId = readConversationId(result, input);
205
+ const cumulative = readAntigravityUsage(result.usage);
206
+ const turn = this.takeTurnUsage(input, cumulative, conversationId);
207
+ if (cumulative !== null)
208
+ this.rememberCumulativeUsage(conversationId, cumulative);
209
+ const usageEvent = this.buildUsageEvent(input, turn);
210
+ if (usageEvent !== null) {
211
+ // usage 必须排在 finish 之前,公共投影层才会在结算前把它交给 token-meter。
212
+ const finishIndex = chunks.findIndex((chunk) => chunk.type === 'finish');
213
+ if (finishIndex >= 0)
214
+ chunks.splice(finishIndex, 0, usageEvent);
215
+ else
216
+ chunks.push(usageEvent);
217
+ }
178
218
  this.observedText.delete(input);
179
219
  }
180
220
  return chunks;
181
221
  }
222
+ /** 收下一次模型调用的用量;同一 step_index 重复上报时以后者为准。 */
223
+ collectStepUsage(input, step) {
224
+ const usage = readAntigravityUsage(step.usage);
225
+ if (usage === null)
226
+ return;
227
+ const state = this.turnUsages.get(input) ?? {
228
+ calls: new Map(),
229
+ lastInputTokens: undefined,
230
+ lastCacheReadTokens: undefined,
231
+ };
232
+ const stepIndex = typeof step.step_index === 'number' && Number.isFinite(step.step_index)
233
+ ? step.step_index
234
+ : state.calls.size;
235
+ state.calls.set(stepIndex, usage);
236
+ state.lastInputTokens = usage.input_tokens;
237
+ state.lastCacheReadTokens = usage.cache_read_tokens;
238
+ this.turnUsages.set(input, state);
239
+ }
240
+ /**
241
+ * 汇总本轮用量。
242
+ *
243
+ * 首选 step_update 的逐次调用用量(真实单轮口径);只有 AGY 完全没给 step 用量时
244
+ * 才退回「本次累计值 − 该会话上次累计值」,避免把整个会话的累计值写成一轮用量。
245
+ */
246
+ takeTurnUsage(input, cumulative, conversationId) {
247
+ const state = this.turnUsages.get(input);
248
+ this.turnUsages.delete(input);
249
+ const lastInputTokens = state?.lastInputTokens;
250
+ const lastCacheReadTokens = state?.lastCacheReadTokens;
251
+ const summed = state === undefined ? null : sumAntigravityUsage(state.calls.values());
252
+ if (summed !== null)
253
+ return { usage: summed, lastInputTokens, lastCacheReadTokens };
254
+ if (cumulative === null)
255
+ return { usage: null, lastInputTokens, lastCacheReadTokens };
256
+ const baseline = this.cumulativeUsages.get(conversationId);
257
+ return {
258
+ usage: baseline === undefined ? cumulative : subtractAntigravityUsage(cumulative, baseline),
259
+ lastInputTokens,
260
+ lastCacheReadTokens,
261
+ };
262
+ }
263
+ rememberCumulativeUsage(conversationId, usage) {
264
+ // Map 保留插入顺序:重新插入即把该会话移到最新,超限时淘汰最旧的会话。
265
+ this.cumulativeUsages.delete(conversationId);
266
+ this.cumulativeUsages.set(conversationId, usage);
267
+ while (this.cumulativeUsages.size > ANTIGRAVITY_CUMULATIVE_LIMIT) {
268
+ const oldest = this.cumulativeUsages.keys().next().value;
269
+ if (oldest === undefined)
270
+ break;
271
+ this.cumulativeUsages.delete(oldest);
272
+ }
273
+ }
274
+ /**
275
+ * 把单轮用量映射成公共 usage 事件,并补上 AGY 不报告的上下文容量。
276
+ *
277
+ * `output_tokens` 已经包含 `thinking_tokens`,缓存字段则按模型 Provider 分成两种
278
+ * 口径(见 `antigravityUsageExcludesCacheFromInput`):Gemini 的 `input_tokens`
279
+ * 是完整提示规模,Claude 的 `input_tokens` 不含缓存读取。后者必须换成
280
+ * `cache_read_input_tokens` 再交给 `usageChunk`,否则未缓存输入会被算成 0。
281
+ */
282
+ buildUsageEvent(input, turn) {
283
+ if (turn.usage === null)
284
+ return null;
285
+ const modelId = this.resolveModelId(input.modelId);
286
+ const excludesCache = antigravityUsageExcludesCacheFromInput(modelId);
287
+ const event = usageChunk(excludesCache
288
+ ? {
289
+ input_tokens: turn.usage.input_tokens,
290
+ output_tokens: turn.usage.output_tokens,
291
+ cache_read_input_tokens: turn.usage.cache_read_tokens,
292
+ total_tokens: turn.usage.total_tokens,
293
+ }
294
+ : turn.usage);
295
+ if (event === null || event.type !== 'usage')
296
+ return null;
297
+ const contextWindow = this.resolveContextWindow(input.modelId);
298
+ if (contextWindow === undefined || contextWindow <= 0)
299
+ return event;
300
+ // 最后一次模型调用的提示规模就是当前上下文占用;Claude 口径还要补回缓存读取。
301
+ // 退回累计差时没有逐次明细,只能用本轮输入合计近似。
302
+ const contextTokens = (turn.lastInputTokens ?? event.inputTokens)
303
+ + (excludesCache ? (turn.lastCacheReadTokens ?? 0) : 0);
304
+ return {
305
+ ...event,
306
+ contextWindow,
307
+ contextTokens,
308
+ contextUsageRatio: Number(Math.min(1, contextTokens / contextWindow).toFixed(6)),
309
+ };
310
+ }
182
311
  buildArgs(input) {
183
312
  // `--input-format stream-json` 本身会进入 AGY 的 print mode;不要再拼接裸
184
313
  // `--print`,也不要把 `--input-format` 放在 `--print` 后面,否则 AGY 会把
185
314
  // 选项误当成 prompt,或报 `flag needs an argument: -print`。
186
- const args = ['--input-format', 'stream-json', '--output-format', 'stream-json', '--dangerously-skip-permissions'];
315
+ const args = ['--input-format', 'stream-json', '--output-format', 'stream-json', ...antigravityPermissionArgs(input.permission)];
187
316
  if (input.providerSessionId)
188
317
  args.unshift('--conversation', input.providerSessionId);
189
318
  const directories = new Set([input.cwd ?? process.cwd()]);
@@ -193,12 +322,27 @@ export class AntigravityDriver extends StandardStreamDriver {
193
322
  args.push('--add-dir', directory);
194
323
  if (!isProviderDefaultModel(input.modelId))
195
324
  args.push('--model', input.modelId);
196
- if (input.effortId !== undefined && input.effortId.trim() !== '' && input.effortId !== 'default') {
325
+ // AGY 按模型校验 --effort 并把它当成 invalid model selection 处理;Claude 系列
326
+ // 完全不支持,旧会话残留的档位不能让整轮失败,这里直接不下发。
327
+ if (input.effortId !== undefined && input.effortId.trim() !== '' && input.effortId !== 'default'
328
+ && antigravitySupportsEffort(this.resolveModelId(input.modelId))) {
197
329
  args.push('--effort', input.effortId);
198
330
  }
199
331
  return args;
200
332
  }
201
333
  }
334
+ /**
335
+ * Antigravity 没有公开的 permission-request/response wire。未知或需要询问的
336
+ * 状态必须进入 plan,避免在无 DSH 回传通道时默默执行工具;只有 DSH 已明确
337
+ * 给出“永不询问”的权限事实时才可自动放行。
338
+ */
339
+ function antigravityPermissionArgs(permission) {
340
+ if (permission?.sandboxMode === 'danger-full-access' && permission.approvalPolicy === 'never')
341
+ return ['--dangerously-skip-permissions'];
342
+ if (permission?.sandboxMode === 'workspace-write' && permission.approvalPolicy === 'never')
343
+ return ['--mode', 'accept-edits'];
344
+ return ['--mode', 'plan'];
345
+ }
202
346
  /** 将 AGY 的最终正文快照与前面已发出的增量对齐,避免重复渲染。 */
203
347
  function appendOrSyncText(current, snapshot) {
204
348
  if (snapshot === current || current.startsWith(snapshot) || current.trim() === snapshot.trim() || current.endsWith(snapshot) || current.includes(snapshot.trim()))
@@ -207,4 +351,61 @@ function appendOrSyncText(current, snapshot) {
207
351
  return snapshot.slice(current.length);
208
352
  return snapshot;
209
353
  }
354
+ function readRecord(value) {
355
+ return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : null;
356
+ }
357
+ function readAntigravityUsage(value) {
358
+ const record = readRecord(value);
359
+ if (record === null)
360
+ return null;
361
+ const input = tokenCount(record.input_tokens);
362
+ const output = tokenCount(record.output_tokens);
363
+ const cacheRead = tokenCount(record.cache_read_tokens);
364
+ const total = tokenCount(record.total_tokens);
365
+ if (input === 0 && output === 0 && cacheRead === 0 && total === 0)
366
+ return null;
367
+ return {
368
+ input_tokens: input,
369
+ output_tokens: output,
370
+ cache_read_tokens: cacheRead,
371
+ total_tokens: total > 0 ? total : input + output,
372
+ };
373
+ }
374
+ function tokenCount(value) {
375
+ return typeof value === 'number' && Number.isFinite(value) && value > 0 ? Math.trunc(value) : 0;
376
+ }
377
+ function sumAntigravityUsage(values) {
378
+ let found = false;
379
+ let input = 0;
380
+ let output = 0;
381
+ let cacheRead = 0;
382
+ let total = 0;
383
+ for (const value of values) {
384
+ found = true;
385
+ input += value.input_tokens;
386
+ output += value.output_tokens;
387
+ cacheRead += value.cache_read_tokens;
388
+ total += value.total_tokens;
389
+ }
390
+ return found
391
+ ? { input_tokens: input, output_tokens: output, cache_read_tokens: cacheRead, total_tokens: total }
392
+ : null;
393
+ }
394
+ function subtractAntigravityUsage(current, previous) {
395
+ // 会话被清空或换到新会话时累计值会回退;此时不给出负数用量,直接采用当前值。
396
+ if (current.input_tokens < previous.input_tokens || current.output_tokens < previous.output_tokens)
397
+ return current;
398
+ return {
399
+ input_tokens: current.input_tokens - previous.input_tokens,
400
+ output_tokens: current.output_tokens - previous.output_tokens,
401
+ cache_read_tokens: Math.max(0, current.cache_read_tokens - previous.cache_read_tokens),
402
+ total_tokens: Math.max(0, current.total_tokens - previous.total_tokens),
403
+ };
404
+ }
405
+ function readConversationId(result, input) {
406
+ const value = result.conversation_id ?? result.conversationId;
407
+ if (typeof value === 'string' && value.trim() !== '')
408
+ return value.trim();
409
+ return input.providerSessionId?.trim() || input.sessionId;
410
+ }
210
411
  //# sourceMappingURL=antigravity-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/antigravity-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/antigravity-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { spawn, spawnSync } from 'node:child_process';
2
+ import type { CliSubscriptionQuotaWindowKind, CliSubscriptionUsage } from '../../shared/contracts/subscription.js';
3
+ type FetchLike = typeof fetch;
4
+ type SpawnLike = typeof spawn;
5
+ type SpawnSyncLike = typeof spawnSync;
6
+ export interface AntigravitySubscriptionReadOptions {
7
+ /** 当前会话选中的模型;用于在 Gemini 与 Claude/GPT 两个配额组之间选择主窗口。 */
8
+ readonly modelId?: string | undefined;
9
+ }
10
+ export interface AntigravitySubscriptionOptions {
11
+ readonly homeDirectory?: string;
12
+ readonly fetch?: FetchLike;
13
+ readonly timeoutMs?: number;
14
+ readonly readFile?: (path: string) => string;
15
+ readonly now?: () => number;
16
+ readonly platform?: string;
17
+ readonly spawn?: SpawnLike;
18
+ readonly spawnSync?: SpawnSyncLike;
19
+ /** 覆盖 `agy` 路径探测,测试可注入。 */
20
+ readonly resolveCommand?: () => string | null;
21
+ /** 读取器自身可用的模型解析;默认读 AGY 设置文件,测试可注入。 */
22
+ readonly resolveModelId?: (modelId: string | undefined) => string | null;
23
+ }
24
+ /** API 与 `agy --print /usage` 归一化后的配额窗口。 */
25
+ interface AntigravityQuotaWindowDraft {
26
+ readonly kind: CliSubscriptionQuotaWindowKind;
27
+ readonly label: string;
28
+ readonly remainingFraction: number;
29
+ readonly resetsAt: number | null;
30
+ }
31
+ interface AntigravityQuotaGroupDraft {
32
+ readonly displayName: string;
33
+ readonly windows: readonly AntigravityQuotaWindowDraft[];
34
+ }
35
+ /**
36
+ * Antigravity 官方用量读取器。
37
+ *
38
+ * 两条只读来源,互为兜底:
39
+ *
40
+ * 1. `v1internal:retrieveUserQuotaSummary`(首选):按配额组返回 5 小时与周两个窗口,
41
+ * 带精确的 `remainingFraction`;`loadCodeAssist` 顺带给出套餐档位,账号名从
42
+ * CLI 保存的 `id_token`(JWT)读取。凭据来自系统钥匙串或旧版凭据文件,只读、不出 Host。
43
+ * 2. `agy --print /usage`(兜底):CLI 自己的内置命令,输出制表符分隔的
44
+ * “分组 / 窗口 / 百分比 / 重置时间”,不依赖本插件能读到凭据。
45
+ *
46
+ * 两组额度互相独立:Gemini 一组、Claude 与 GPT-OSS 一组,每组各有 5 小时与周窗口。
47
+ * 任一来源失败时安静降级,不占用底部栏空间。
48
+ */
49
+ export declare class AntigravitySubscriptionService {
50
+ private readonly homeDirectory;
51
+ private readonly request;
52
+ private readonly timeoutMs;
53
+ private readonly readFile;
54
+ private readonly now;
55
+ private readonly platform;
56
+ private readonly runSpawn;
57
+ private readonly runSpawnSync;
58
+ private readonly resolveCommand;
59
+ private readonly resolveModelId;
60
+ private cachedCommand;
61
+ constructor(options?: AntigravitySubscriptionOptions);
62
+ read(options?: AntigravitySubscriptionReadOptions): Promise<CliSubscriptionUsage | null>;
63
+ /** 运行 CLI 内置的 `/usage`,它的输出就是 TUI 里那份分组额度。 */
64
+ private readQuotaFromCli;
65
+ private resolveAgyCommand;
66
+ private runUsageCommand;
67
+ private buildUsage;
68
+ /** `provider-default` 时按 AGY 自己选中的模型判断配额组。 */
69
+ private effectiveModelId;
70
+ /**
71
+ * 读取 CLI 的 OAuth 凭据。
72
+ *
73
+ * `agy` 1.2.17 起写系统钥匙串(值前缀 `go-keyring-base64:`),旧版本写
74
+ * `~/.gemini/antigravity-cli/antigravity-oauth-token`。两者结构一致,都带
75
+ * `token.access_token` 与 `id_token`。
76
+ */
77
+ private readCredentials;
78
+ private readCredentialFile;
79
+ private readKeychainCredentials;
80
+ private call;
81
+ }
82
+ /** 解开 go-keyring 的 base64 包装;普通 JSON 原样返回。 */
83
+ export declare function decodeKeyringSecret(raw: string): unknown;
84
+ /**
85
+ * 解析 `agy --print /usage` 的输出。
86
+ *
87
+ * 实测格式(制表符分隔,一行一个窗口):
88
+ * ```
89
+ * Gemini Models Weekly Limit Remaining 99% 2026-10-07T05:47:33Z
90
+ * Gemini Models Five Hour Limit Remaining 98% 2026-10-05T19:09:53Z
91
+ * Claude and GPT models Weekly Limit Remaining 96% 2026-10-12T14:56:40Z
92
+ * Claude and GPT models Five Hour Limit Remaining 92% 2026-10-05T19:56:40Z
93
+ * ```
94
+ */
95
+ export declare function parseAntigravityUsageOutput(output: string): readonly AntigravityQuotaGroupDraft[];
96
+ /** 从 `retrieveUserQuotaSummary` 的响应里提取配额组。 */
97
+ export declare function readAntigravityQuotaGroups(value: unknown): readonly AntigravityQuotaGroupDraft[];
98
+ /**
99
+ * 按会话模型选择配额组。
100
+ *
101
+ * Antigravity 把 Gemini 与 Claude/GPT 分成两组独立额度,上游分组名分别是
102
+ * “Gemini Models” 与 “Claude and GPT models”。模型未知时退回第一组
103
+ * (AGY 默认 Agent 模型是 Gemini)。
104
+ */
105
+ export declare function selectAntigravityQuotaGroup(groups: readonly AntigravityQuotaGroupDraft[], modelId: string | null): AntigravityQuotaGroupDraft | null;
106
+ export declare function antigravityQuotaGroupPrefix(modelId: string | null): string;
107
+ /** 套餐档位优先用稳定的 tier id(`free-tier` → “Free Tier”),避免与 Provider 名重复。 */
108
+ export declare function readAntigravityPlanType(value: unknown): string | null;
109
+ /**
110
+ * 账号实际持有的付费档位。
111
+ *
112
+ * `loadCodeAssist` 会同时返回生效档位 `currentTier` 与权益档位 `paidTier`:本机实测
113
+ * 账号持有 Google AI Pro(`g1-pro-tier`)时 `currentTier` 仍是 `free-tier`,即订阅
114
+ * 权益没有映射到 Antigravity 的 Agent 额度上。两个档位都要展示,否则界面会把
115
+ * “生效档位”说成“账号没有订阅”。
116
+ */
117
+ export declare function readAntigravityPaidPlanType(value: unknown): string | null;
118
+ /** 账号名从 CLI 自己保存的 id_token(JWT)负载里读取,不发额外请求。 */
119
+ export declare function readAccountName(idToken: string | null): string | null;
120
+ export {};
121
+ //# sourceMappingURL=antigravity-subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity-subscription.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/antigravity-subscription.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAA;AAC5E,OAAO,KAAK,EAGV,8BAA8B,EAC9B,oBAAoB,EAErB,MAAM,wCAAwC,CAAA;AAG/C,KAAK,SAAS,GAAG,OAAO,KAAK,CAAA;AAC7B,KAAK,SAAS,GAAG,OAAO,KAAK,CAAA;AAC7B,KAAK,aAAa,GAAG,OAAO,SAAS,CAAA;AAmCrC,MAAM,WAAW,kCAAkC;IACjD,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;IAClC,2BAA2B;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC7C,uCAAuC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;CACzE;AAED,4CAA4C;AAC5C,UAAU,2BAA2B;IACnC,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED,UAAU,0BAA0B;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,2BAA2B,EAAE,CAAA;CACzD;AAOD;;;;;;;;;;;;;GAaG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8D;IAC7F,OAAO,CAAC,aAAa,CAAuC;gBAEhD,OAAO,GAAE,8BAAmC;IAalD,IAAI,CAAC,OAAO,GAAE,kCAAuC,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAkBlG,8CAA8C;YAChC,gBAAgB;IAS9B,OAAO,CAAC,iBAAiB;YAiBX,eAAe;IAiC7B,OAAO,CAAC,UAAU;IAoClB,8CAA8C;IAC9C,OAAO,CAAC,gBAAgB;IAMxB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,uBAAuB;YAiBjB,IAAI;CAuBnB;AAgBD,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,0BAA0B,EAAE,CAmBjG;AAED,8CAA8C;AAC9C,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,0BAA0B,EAAE,CAyBhG;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,0BAA0B,EAAE,EAC7C,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,0BAA0B,GAAG,IAAI,CAInC;AAYD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE1E;AAkDD,sEAAsE;AACtE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIrE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIzE;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAWrE"}