@kaitranntt/ccs 4.4.0 → 5.0.0

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 (262) hide show
  1. package/README.md +14 -7
  2. package/VERSION +1 -1
  3. package/config/base-agy.settings.json +10 -0
  4. package/config/base-codex.settings.json +10 -0
  5. package/config/base-gemini.settings.json +10 -0
  6. package/dist/auth/auth-commands.d.ts +52 -0
  7. package/dist/auth/auth-commands.d.ts.map +1 -0
  8. package/dist/auth/auth-commands.js +479 -0
  9. package/dist/auth/auth-commands.js.map +1 -0
  10. package/dist/auth/profile-detector.d.ts +68 -0
  11. package/dist/auth/profile-detector.d.ts.map +1 -0
  12. package/dist/auth/profile-detector.js +209 -0
  13. package/dist/auth/profile-detector.js.map +1 -0
  14. package/dist/auth/profile-registry.d.ts +60 -0
  15. package/dist/auth/profile-registry.d.ts.map +1 -0
  16. package/dist/auth/profile-registry.js +188 -0
  17. package/dist/auth/profile-registry.js.map +1 -0
  18. package/dist/ccs.d.ts +10 -0
  19. package/dist/ccs.d.ts.map +1 -0
  20. package/dist/ccs.js +320 -0
  21. package/dist/ccs.js.map +1 -0
  22. package/dist/cliproxy/auth-handler.d.ts +93 -0
  23. package/dist/cliproxy/auth-handler.d.ts.map +1 -0
  24. package/dist/cliproxy/auth-handler.js +402 -0
  25. package/dist/cliproxy/auth-handler.js.map +1 -0
  26. package/dist/cliproxy/base-config-loader.d.ts +42 -0
  27. package/dist/cliproxy/base-config-loader.d.ts.map +1 -0
  28. package/dist/cliproxy/base-config-loader.js +123 -0
  29. package/dist/cliproxy/base-config-loader.js.map +1 -0
  30. package/dist/cliproxy/binary-manager.d.ts +104 -0
  31. package/dist/cliproxy/binary-manager.d.ts.map +1 -0
  32. package/dist/cliproxy/binary-manager.js +567 -0
  33. package/dist/cliproxy/binary-manager.js.map +1 -0
  34. package/dist/cliproxy/cliproxy-executor.d.ts +33 -0
  35. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -0
  36. package/dist/cliproxy/cliproxy-executor.js +297 -0
  37. package/dist/cliproxy/cliproxy-executor.js.map +1 -0
  38. package/dist/cliproxy/config-generator.d.ts +89 -0
  39. package/dist/cliproxy/config-generator.d.ts.map +1 -0
  40. package/dist/cliproxy/config-generator.js +263 -0
  41. package/dist/cliproxy/config-generator.js.map +1 -0
  42. package/dist/cliproxy/index.d.ts +13 -0
  43. package/dist/cliproxy/index.d.ts.map +1 -0
  44. package/dist/cliproxy/index.js +62 -0
  45. package/dist/cliproxy/index.js.map +1 -0
  46. package/dist/cliproxy/platform-detector.d.ts +48 -0
  47. package/dist/cliproxy/platform-detector.d.ts.map +1 -0
  48. package/dist/cliproxy/platform-detector.js +118 -0
  49. package/dist/cliproxy/platform-detector.js.map +1 -0
  50. package/dist/cliproxy/types.d.ts +169 -0
  51. package/dist/cliproxy/types.d.ts.map +1 -0
  52. package/dist/cliproxy/types.js +7 -0
  53. package/dist/cliproxy/types.js.map +1 -0
  54. package/dist/commands/doctor-command.d.ts +10 -0
  55. package/dist/commands/doctor-command.d.ts.map +1 -0
  56. package/dist/commands/doctor-command.js +44 -0
  57. package/dist/commands/doctor-command.js.map +1 -0
  58. package/dist/commands/help-command.d.ts +5 -0
  59. package/dist/commands/help-command.d.ts.map +1 -0
  60. package/dist/commands/help-command.js +104 -0
  61. package/dist/commands/help-command.js.map +1 -0
  62. package/dist/commands/install-command.d.ts +14 -0
  63. package/dist/commands/install-command.d.ts.map +1 -0
  64. package/dist/commands/install-command.js +39 -0
  65. package/dist/commands/install-command.js.map +1 -0
  66. package/dist/commands/shell-completion-command.d.ts +10 -0
  67. package/dist/commands/shell-completion-command.d.ts.map +1 -0
  68. package/dist/commands/shell-completion-command.js +85 -0
  69. package/dist/commands/shell-completion-command.js.map +1 -0
  70. package/dist/commands/sync-command.d.ts +10 -0
  71. package/dist/commands/sync-command.d.ts.map +1 -0
  72. package/dist/commands/sync-command.js +59 -0
  73. package/dist/commands/sync-command.js.map +1 -0
  74. package/dist/commands/update-command.d.ts +12 -0
  75. package/dist/commands/update-command.d.ts.map +1 -0
  76. package/dist/commands/update-command.js +295 -0
  77. package/dist/commands/update-command.js.map +1 -0
  78. package/dist/commands/version-command.d.ts +10 -0
  79. package/dist/commands/version-command.d.ts.map +1 -0
  80. package/dist/commands/version-command.js +100 -0
  81. package/dist/commands/version-command.js.map +1 -0
  82. package/dist/delegation/delegation-handler.d.ts +60 -0
  83. package/dist/delegation/delegation-handler.d.ts.map +1 -0
  84. package/dist/delegation/delegation-handler.js +174 -0
  85. package/dist/delegation/delegation-handler.js.map +1 -0
  86. package/dist/delegation/headless-executor.d.ts +114 -0
  87. package/dist/delegation/headless-executor.d.ts.map +1 -0
  88. package/dist/delegation/headless-executor.js +562 -0
  89. package/dist/delegation/headless-executor.js.map +1 -0
  90. package/dist/delegation/result-formatter.d.ts +108 -0
  91. package/dist/delegation/result-formatter.d.ts.map +1 -0
  92. package/dist/delegation/result-formatter.js +391 -0
  93. package/dist/delegation/result-formatter.js.map +1 -0
  94. package/dist/delegation/session-manager.d.ts +58 -0
  95. package/dist/delegation/session-manager.d.ts.map +1 -0
  96. package/dist/delegation/session-manager.js +153 -0
  97. package/dist/delegation/session-manager.js.map +1 -0
  98. package/dist/delegation/settings-parser.d.ts +31 -0
  99. package/dist/delegation/settings-parser.d.ts.map +1 -0
  100. package/dist/delegation/settings-parser.js +107 -0
  101. package/dist/delegation/settings-parser.js.map +1 -0
  102. package/dist/glmt/delta-accumulator.d.ts +210 -0
  103. package/dist/glmt/delta-accumulator.d.ts.map +1 -0
  104. package/dist/glmt/delta-accumulator.js +351 -0
  105. package/dist/glmt/delta-accumulator.js.map +1 -0
  106. package/dist/glmt/glmt-proxy.d.ts +72 -0
  107. package/dist/glmt/glmt-proxy.d.ts.map +1 -0
  108. package/dist/glmt/glmt-proxy.js +427 -0
  109. package/dist/glmt/glmt-proxy.js.map +1 -0
  110. package/dist/glmt/glmt-transformer.d.ts +265 -0
  111. package/dist/glmt/glmt-transformer.d.ts.map +1 -0
  112. package/dist/glmt/glmt-transformer.js +832 -0
  113. package/dist/glmt/glmt-transformer.js.map +1 -0
  114. package/dist/glmt/locale-enforcer.d.ts +38 -0
  115. package/dist/glmt/locale-enforcer.d.ts.map +1 -0
  116. package/dist/glmt/locale-enforcer.js +69 -0
  117. package/dist/glmt/locale-enforcer.js.map +1 -0
  118. package/dist/glmt/reasoning-enforcer.d.ts +52 -0
  119. package/dist/glmt/reasoning-enforcer.d.ts.map +1 -0
  120. package/dist/glmt/reasoning-enforcer.js +151 -0
  121. package/dist/glmt/reasoning-enforcer.js.map +1 -0
  122. package/dist/glmt/sse-parser.d.ts +47 -0
  123. package/dist/glmt/sse-parser.d.ts.map +1 -0
  124. package/dist/glmt/sse-parser.js +93 -0
  125. package/dist/glmt/sse-parser.js.map +1 -0
  126. package/dist/management/doctor.d.ts +104 -0
  127. package/dist/management/doctor.d.ts.map +1 -0
  128. package/dist/management/doctor.js +673 -0
  129. package/dist/management/doctor.js.map +1 -0
  130. package/dist/management/instance-manager.d.ts +57 -0
  131. package/dist/management/instance-manager.d.ts.map +1 -0
  132. package/dist/management/instance-manager.js +195 -0
  133. package/dist/management/instance-manager.js.map +1 -0
  134. package/dist/management/recovery-manager.d.ts +39 -0
  135. package/dist/management/recovery-manager.d.ts.map +1 -0
  136. package/dist/management/recovery-manager.js +141 -0
  137. package/dist/management/recovery-manager.js.map +1 -0
  138. package/dist/management/shared-manager.d.ts +47 -0
  139. package/dist/management/shared-manager.d.ts.map +1 -0
  140. package/dist/management/shared-manager.js +388 -0
  141. package/dist/management/shared-manager.js.map +1 -0
  142. package/dist/types/cli.d.ts +50 -0
  143. package/dist/types/cli.d.ts.map +1 -0
  144. package/dist/types/cli.js +16 -0
  145. package/dist/types/cli.js.map +1 -0
  146. package/dist/types/config.d.ts +51 -0
  147. package/dist/types/config.d.ts.map +1 -0
  148. package/dist/types/config.js +26 -0
  149. package/dist/types/config.js.map +1 -0
  150. package/dist/types/delegation.d.ts +61 -0
  151. package/dist/types/delegation.d.ts.map +1 -0
  152. package/dist/types/delegation.js +6 -0
  153. package/dist/types/delegation.js.map +1 -0
  154. package/dist/types/glmt.d.ts +95 -0
  155. package/dist/types/glmt.d.ts.map +1 -0
  156. package/dist/types/glmt.js +7 -0
  157. package/dist/types/glmt.js.map +1 -0
  158. package/dist/types/index.d.ts +13 -0
  159. package/dist/types/index.d.ts.map +1 -0
  160. package/dist/types/index.js +16 -0
  161. package/dist/types/index.js.map +1 -0
  162. package/dist/types/utils.d.ts +36 -0
  163. package/dist/types/utils.d.ts.map +1 -0
  164. package/dist/types/utils.js +22 -0
  165. package/dist/types/utils.js.map +1 -0
  166. package/dist/utils/claude-detector.d.ts +14 -0
  167. package/dist/utils/claude-detector.d.ts.map +1 -0
  168. package/dist/utils/claude-detector.js +112 -0
  169. package/dist/utils/claude-detector.js.map +1 -0
  170. package/dist/utils/claude-dir-installer.d.ts +46 -0
  171. package/dist/utils/claude-dir-installer.d.ts.map +1 -0
  172. package/dist/utils/claude-dir-installer.js +289 -0
  173. package/dist/utils/claude-dir-installer.js.map +1 -0
  174. package/dist/utils/claude-symlink-manager.d.ts +61 -0
  175. package/dist/utils/claude-symlink-manager.d.ts.map +1 -0
  176. package/dist/utils/claude-symlink-manager.js +291 -0
  177. package/dist/utils/claude-symlink-manager.js.map +1 -0
  178. package/dist/utils/config-manager.d.ts +32 -0
  179. package/dist/utils/config-manager.d.ts.map +1 -0
  180. package/dist/utils/config-manager.js +143 -0
  181. package/dist/utils/config-manager.js.map +1 -0
  182. package/dist/utils/delegation-validator.d.ts +39 -0
  183. package/dist/utils/delegation-validator.d.ts.map +1 -0
  184. package/dist/utils/delegation-validator.js +161 -0
  185. package/dist/utils/delegation-validator.js.map +1 -0
  186. package/dist/utils/error-codes.d.ts +36 -0
  187. package/dist/utils/error-codes.d.ts.map +1 -0
  188. package/dist/utils/error-codes.js +63 -0
  189. package/dist/utils/error-codes.js.map +1 -0
  190. package/dist/utils/error-manager.d.ts +59 -0
  191. package/dist/utils/error-manager.d.ts.map +1 -0
  192. package/dist/utils/error-manager.js +228 -0
  193. package/dist/utils/error-manager.js.map +1 -0
  194. package/dist/utils/helpers.d.ts +27 -0
  195. package/dist/utils/helpers.d.ts.map +1 -0
  196. package/dist/utils/helpers.js +150 -0
  197. package/dist/utils/helpers.js.map +1 -0
  198. package/dist/utils/package-manager-detector.d.ts +14 -0
  199. package/dist/utils/package-manager-detector.d.ts.map +1 -0
  200. package/dist/utils/package-manager-detector.js +162 -0
  201. package/dist/utils/package-manager-detector.js.map +1 -0
  202. package/dist/utils/progress-indicator.d.ts +52 -0
  203. package/dist/utils/progress-indicator.d.ts.map +1 -0
  204. package/dist/utils/progress-indicator.js +102 -0
  205. package/dist/utils/progress-indicator.js.map +1 -0
  206. package/dist/utils/prompt.d.ts +29 -0
  207. package/dist/utils/prompt.d.ts.map +1 -0
  208. package/dist/utils/prompt.js +116 -0
  209. package/dist/utils/prompt.js.map +1 -0
  210. package/dist/utils/shell-completion.d.ts +52 -0
  211. package/dist/utils/shell-completion.d.ts.map +1 -0
  212. package/dist/utils/shell-completion.js +231 -0
  213. package/dist/utils/shell-completion.js.map +1 -0
  214. package/dist/utils/shell-executor.d.ts +15 -0
  215. package/dist/utils/shell-executor.d.ts.map +1 -0
  216. package/dist/utils/shell-executor.js +57 -0
  217. package/dist/utils/shell-executor.js.map +1 -0
  218. package/dist/utils/update-checker.d.ts +48 -0
  219. package/dist/utils/update-checker.d.ts.map +1 -0
  220. package/dist/utils/update-checker.js +241 -0
  221. package/dist/utils/update-checker.js.map +1 -0
  222. package/lib/ccs +21 -1907
  223. package/lib/ccs.ps1 +26 -1800
  224. package/lib/error-codes.ps1 +2 -1
  225. package/lib/prompt.ps1 +2 -2
  226. package/package.json +31 -11
  227. package/scripts/add-shebang.js +39 -0
  228. package/scripts/bump-version.sh +25 -37
  229. package/scripts/dev-install.sh +32 -11
  230. package/scripts/postinstall.js +29 -29
  231. package/bin/auth/auth-commands.js +0 -499
  232. package/bin/auth/profile-detector.js +0 -204
  233. package/bin/auth/profile-registry.js +0 -225
  234. package/bin/ccs.js +0 -1034
  235. package/bin/delegation/README.md +0 -191
  236. package/bin/delegation/delegation-handler.js +0 -212
  237. package/bin/delegation/headless-executor.js +0 -618
  238. package/bin/delegation/result-formatter.js +0 -485
  239. package/bin/delegation/session-manager.js +0 -157
  240. package/bin/delegation/settings-parser.js +0 -109
  241. package/bin/glmt/delta-accumulator.js +0 -276
  242. package/bin/glmt/glmt-proxy.js +0 -495
  243. package/bin/glmt/glmt-transformer.js +0 -999
  244. package/bin/glmt/locale-enforcer.js +0 -72
  245. package/bin/glmt/reasoning-enforcer.js +0 -173
  246. package/bin/glmt/sse-parser.js +0 -96
  247. package/bin/management/doctor.js +0 -721
  248. package/bin/management/instance-manager.js +0 -202
  249. package/bin/management/recovery-manager.js +0 -135
  250. package/bin/management/shared-manager.js +0 -402
  251. package/bin/utils/claude-detector.js +0 -73
  252. package/bin/utils/claude-dir-installer.js +0 -283
  253. package/bin/utils/claude-symlink-manager.js +0 -289
  254. package/bin/utils/config-manager.js +0 -103
  255. package/bin/utils/delegation-validator.js +0 -154
  256. package/bin/utils/error-codes.js +0 -59
  257. package/bin/utils/error-manager.js +0 -165
  258. package/bin/utils/helpers.js +0 -136
  259. package/bin/utils/progress-indicator.js +0 -111
  260. package/bin/utils/prompt.js +0 -134
  261. package/bin/utils/shell-completion.js +0 -256
  262. package/bin/utils/update-checker.js +0 -243
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glmt-transformer.js","sourceRoot":"","sources":["../../src/glmt/glmt-transformer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,uDAAmD;AACnD,6DAAyD;AAiLzD,MAAa,eAAe;IAU1B,YAAY,SAAgC,EAAE;QAC5C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QAEvC,wDAAwD;QACxD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC;QAElD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,GAAG;YACpB,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,KAAK;SACrB,CAAC;QAEF,sDAAsD;QACtD,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAE3C,wEAAwE;QACxE,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAiB,CAAC;YAC7C,OAAO,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;SAC1C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,gBAAkC;QACjD,uBAAuB;QACvB,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,0EAA0E;YAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACpF,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAE7E,+DAA+D;YAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAChF,IAAI,aAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnE,cAAc,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;gBACjD,cAAc,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;gBAC7C,IAAI,CAAC,GAAG,CACN,2BAA2B,aAAa,CAAC,OAAO,YAAY,aAAa,CAAC,MAAM,EAAE,CACnF,CAAC;YACJ,CAAC;YAED,kEAAkE;YAClE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACjD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;gBACxE,CAAC;qBAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACzD,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,mCAAmC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAEtE,eAAe;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAEvD,mDAAmD;YACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAC9D,CAAC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAE5B,CACmB,CAAC;YAE1B,uEAAuE;YACvE,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,kBAEI,EACJ,cAAc,CACS,CAAC;YAE1B,8BAA8B;YAC9B,MAAM,aAAa,GAAkB;gBACnC,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;gBACtD,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACvC,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,KAAK;aACzC,CAAC;YAEF,4CAA4C;YAC5C,IAAI,gBAAgB,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAClE,wDAAwD;gBACxD,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,eAAe,gBAAgB,CAAC,KAAK,CAAC,MAAM,0BAA0B,CAAC,CAAC;YACnF,CAAC;YAED,kCAAkC;YAClC,IAAI,gBAAgB,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC/C,aAAa,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;YAC3D,CAAC;YACD,IAAI,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzC,aAAa,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;YAC/C,CAAC;YAED,sBAAsB;YACtB,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1C,aAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;YACjD,CAAC;YAED,iCAAiC;YACjC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAE1D,0BAA0B;YAC1B,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAEpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;YACvE,uCAAuC;YACvC,OAAO;gBACL,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACrD,KAAK,EAAE,GAAG,CAAC,OAAO;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,cAA8B,EAC9B,kBAAkC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;QAEvE,wBAAwB;QACxB,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,MAAM,OAAO,GAAmB,EAAE,CAAC;YAEnC,iDAAiD;YACjD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAChD,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEvF,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,aAAa,MAAM,aAAa,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,cAAc,OAAO,KAAK,CAAC,CAAC;gBAErC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,OAAO,CAAC,iBAAiB;oBACnC,SAAS,EAAE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,iBAAiB,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACtF,CAAC;YAED,mBAAmB;YACnB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,CAAC,OAAO;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,+BAA+B;YAC/B,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACtC,IAAI,WAAoC,CAAC;oBACzC,IAAI,CAAC;wBACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;oBAChE,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,MAAM,GAAG,GAAG,UAAmB,CAAC;wBAChC,IAAI,CAAC,GAAG,CAAC,4CAA4C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBACpE,WAAW,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;oBAC9E,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,QAAQ,CAAC,EAAE;wBACf,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;wBAC5B,KAAK,EAAE,WAAW;qBACnB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,iBAAiB,GAAsB;gBAC3C,EAAE,EAAE,cAAc,CAAC,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE;gBAC5C,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,SAAS;gBACxC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC;gBAC/D,KAAK,EAAE;oBACL,YAAY,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;oBACtD,aAAa,EAAE,cAAc,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;iBAC5D;aACF,CAAC;YAEF,0CAA0C;YAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;gBAClE,IAAI,CAAC,GAAG,CACN,8BAA8B,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,gBAAgB,CACpF,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;YAE5D,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;YACxE,gCAAgC;YAChC,OAAO;gBACL,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE;gBAC7B,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,GAAG,GAAG,CAAC,OAAO;qBAC9C;iBACF;gBACD,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;aAC7C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAmB;QAC1C,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,oCAAoC;YACpC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,yCAAyC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,iDAAiD;gBACjD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAChF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACxE,gFAAgF;gBAEhF,mEAAmE;gBACnE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,MAAM;wBACZ,OAAO,EACL,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;4BACpC,CAAC,CAAC,UAAU,CAAC,OAAO;4BACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;qBACH,CAAC,CAAC;gBAC3C,CAAC;gBAED,iEAAiE;gBACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,KAAK,CAAC;wBACrB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;wBAC1B,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAErD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,WAAW;qBACrB,CAAC,CAAC;gBACL,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,EAAE;qBACZ,CAAC,CAAC;gBACL,CAAC;gBAED,SAAS;YACX,CAAC;YAED,iCAAiC;YACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,cAA+B;QACpD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;aACpC;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,QAAmB;QACzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,SAAS;YAE1C,yBAAyB;YACzB,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,QAAmB;QAChD,MAAM,MAAM,GAAmB;YAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,MAAM,EAAE,QAAQ;SACjB,CAAC;QAEF,sCAAsC;QACtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YAElC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,SAAS;YAE1C,8BAA8B;YAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC5D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;YAC5D,CAAC;YAED,qCAAqC;YACrC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,QAAgB;QAChD,0BAA0B;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzF,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,QAAmB;QAEnB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,kCAAkC;QAClC,MAAM,IAAI,GAAG,QAAQ;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,OAAO,CAAC;YACpD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,CAAC,OAAO;qBACb,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;qBACxC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;qBAChC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,2DAA2D;QAC3D,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QACrE,CAAC;QACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACrE,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,uBAAuB;IACtC,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,aAA4B,EAC5B,cAA8B;QAE9B,uDAAuD;QACvD,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;QAE/B,8CAA8C;QAC9C,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;YAC/B,aAAa,CAAC,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,eAAuB;QACtC,+CAA+C;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,YAAoB;QACxC,MAAM,OAAO,GAA2B;YACtC,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,eAAe;SAChC,CAAC;QACF,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY,EAAE,IAAa;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,IAAI,OAAO,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAEvD,0BAA0B;YAC1B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,8BAA8B;YAC9B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAEzE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,iDAAiD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,iBAAoC;QACjE,MAAM,MAAM,GAA4B;YACtC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACtF,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,KAAK;YAC3F,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,KAAK;YACnF,cAAc,EACZ,iBAAiB,CAAC,IAAI,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,KAAK,WAAW;YAChF,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC3C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,WAAqB,EAAE,WAA6B;QACjE,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,uBAAuB;QACvB,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,oBAAoB;QACjC,CAAC;QAED,mEAAmE;QACnE,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAC5B,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhD,gEAAgE;YAChE,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;gBAChD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAE1B,gBAAgB;QAChB,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpC,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC5B,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;YACvD,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,0BAA0B;QAC1B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YAEnD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,CAAC,iBAAiB,CAAC,MAAM,QAAQ,CAAC,CAAC;gBACvF,OAAO,CAAC,KAAK,CACX,+BAA+B,YAAY,EAAE,IAAI,IAAI,MAAM,YAAY,YAAY,EAAE,KAAK,IAAI,KAAK,EAAE,CACtG,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtD,uBAAuB;gBACvB,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEtD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC9C,MAAM,oBAAoB,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YAC3D,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YAEnD,8DAA8D;YAC9D,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;gBACpE,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5D,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrF,mBAAmB;gBACnB,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,CAAC;YAED,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YACvD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,CACN,oFAAoF,CACrF,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YAErE,6BAA6B;YAC7B,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YACnD,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1C,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;oBACpE,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5D,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,CAAC;YAED,qBAAqB;YACrB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,oEAAoE;YACpE,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YACnD,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1C,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;oBACpE,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5D,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,CAAC;YAED,+BAA+B;YAC/B,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7C,wBAAwB;gBACxB,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpE,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAE5C,mDAAmD;gBACnD,IAAI,aAAa,EAAE,CAAC;oBAClB,0CAA0C;oBAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAE9D,MAAM,CAAC,IAAI,CAAC;wBACV,KAAK,EAAE,qBAAqB;wBAC5B,IAAI,EAAE;4BACJ,IAAI,EAAE,qBAAqB;4BAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,aAAa,EAAE;gCACb,IAAI,EAAE,UAAU;gCAChB,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,QAAQ,aAAa,CAAC,KAAK,EAAE;gCACjD,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE;6BACrC;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACtC,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;oBACvD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC7D,MAAM,CAAC,IAAI,CAAC;4BACV,KAAK,EAAE,qBAAqB;4BAC5B,IAAI,EAAE;gCACJ,IAAI,EAAE,qBAAqB;gCAC3B,KAAK,EAAE,gBAAgB,CAAC,KAAK;gCAC7B,KAAK,EAAE;oCACL,IAAI,EAAE,kBAAkB;oCACxB,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS;iCAC/C;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAElD,gEAAgE;YAChE,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE;gBAC3C,MAAM;gBACN,WAAW,EAAE,WAAW,CAAC,UAAU,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,WAA6B;QACzC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC,CAAC,oBAAoB;QACjC,CAAC;QAED,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,qCAAqC;QACrC,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;QACnD,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;gBACpE,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5D,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;QAED,sCAAsC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,MAAM,CAAC;iBACzE;gBACD,KAAK,EAAE;oBACL,YAAY,EAAE,WAAW,CAAC,cAAc,EAAE;oBAC1C,aAAa,EAAE,WAAW,CAAC,eAAe,EAAE;iBAC7C;aACF;SACF,CAAC,CAAC;QAEH,eAAe;QACf,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE;gBACJ,IAAI,EAAE,cAAc;aACrB;SACF,CAAC,CAAC;QAEH,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,WAA6B;QAC3D,OAAO;YACL,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE;oBACP,EAAE,EAAE,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;oBAC3B,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,SAAS;oBAC1C,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL,YAAY,EAAE,WAAW,CAAC,cAAc,EAAE;wBAC1C,aAAa,EAAE,CAAC;qBACjB;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,KAAuB;QAC1D,OAAO;YACL,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,aAAa,EAAE;oBACb,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,KAAuB,EAAE,KAAa;QACrE,OAAO;YACL,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE;oBACL,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAAuB,EAAE,KAAa;QACjE,OAAO;YACL,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE;oBACL,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,KAAK;iBACZ;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,KAAuB;QACvD,2DAA2D;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,wDAAwD,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,GAAG,CACN,kFAAkF,CACnF,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO;YACL,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE;oBACL,IAAI,EAAE,0BAA0B;oBAChC,SAAS,EAAE,SAAS;iBACrB;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,KAAuB;QACzD,OAAO;YACL,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE;gBACJ,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,GAAG,CAAC,OAAe;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YACtE,OAAO,CAAC,KAAK,CAAC,uBAAuB,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF;AAv5BD,0CAu5BC;AAED,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LocaleEnforcer - Force English output from GLM models
4
+ *
5
+ * Purpose: GLM models default to Chinese when prompts are ambiguous or contain Chinese context.
6
+ * This module always injects "MUST respond in English" instruction into system prompt or first user message.
7
+ *
8
+ * Usage:
9
+ * const enforcer = new LocaleEnforcer();
10
+ * const modifiedMessages = enforcer.injectInstruction(messages);
11
+ *
12
+ * Strategy:
13
+ * 1. If system prompt exists: Prepend instruction
14
+ * 2. If no system prompt: Prepend to first user message
15
+ * 3. Preserve message structure (string vs array content)
16
+ */
17
+ interface Message {
18
+ role: string;
19
+ content: string | Array<{
20
+ type: string;
21
+ text: string;
22
+ }>;
23
+ }
24
+ interface LocaleEnforcerOptions {
25
+ instruction?: string;
26
+ }
27
+ export declare class LocaleEnforcer {
28
+ private instruction;
29
+ constructor(options?: LocaleEnforcerOptions);
30
+ /**
31
+ * Inject English instruction into messages
32
+ * @param messages - Messages array to modify
33
+ * @returns Modified messages array
34
+ */
35
+ injectInstruction(messages: Message[]): Message[];
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=locale-enforcer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-enforcer.d.ts","sourceRoot":"","sources":["../../src/glmt/locale-enforcer.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,UAAU,qBAAqB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,qBAA0B;IAM/C;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;CAyClD"}
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * LocaleEnforcer - Force English output from GLM models
5
+ *
6
+ * Purpose: GLM models default to Chinese when prompts are ambiguous or contain Chinese context.
7
+ * This module always injects "MUST respond in English" instruction into system prompt or first user message.
8
+ *
9
+ * Usage:
10
+ * const enforcer = new LocaleEnforcer();
11
+ * const modifiedMessages = enforcer.injectInstruction(messages);
12
+ *
13
+ * Strategy:
14
+ * 1. If system prompt exists: Prepend instruction
15
+ * 2. If no system prompt: Prepend to first user message
16
+ * 3. Preserve message structure (string vs array content)
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.LocaleEnforcer = void 0;
20
+ class LocaleEnforcer {
21
+ constructor(options = {}) {
22
+ this.instruction =
23
+ options.instruction ||
24
+ 'CRITICAL: You MUST respond in English only, regardless of the input language or context. This is a strict requirement.';
25
+ }
26
+ /**
27
+ * Inject English instruction into messages
28
+ * @param messages - Messages array to modify
29
+ * @returns Modified messages array
30
+ */
31
+ injectInstruction(messages) {
32
+ // Clone messages to avoid mutation
33
+ const modifiedMessages = JSON.parse(JSON.stringify(messages));
34
+ // Strategy 1: Inject into system prompt (preferred)
35
+ const systemIndex = modifiedMessages.findIndex((m) => m.role === 'system');
36
+ if (systemIndex >= 0) {
37
+ const systemMsg = modifiedMessages[systemIndex];
38
+ if (typeof systemMsg.content === 'string') {
39
+ systemMsg.content = `${this.instruction}\n\n${systemMsg.content}`;
40
+ }
41
+ else if (Array.isArray(systemMsg.content)) {
42
+ systemMsg.content.unshift({
43
+ type: 'text',
44
+ text: this.instruction,
45
+ });
46
+ }
47
+ return modifiedMessages;
48
+ }
49
+ // Strategy 2: Prepend to first user message
50
+ const userIndex = modifiedMessages.findIndex((m) => m.role === 'user');
51
+ if (userIndex >= 0) {
52
+ const userMsg = modifiedMessages[userIndex];
53
+ if (typeof userMsg.content === 'string') {
54
+ userMsg.content = `${this.instruction}\n\n${userMsg.content}`;
55
+ }
56
+ else if (Array.isArray(userMsg.content)) {
57
+ userMsg.content.unshift({
58
+ type: 'text',
59
+ text: this.instruction,
60
+ });
61
+ }
62
+ return modifiedMessages;
63
+ }
64
+ // No system or user messages found (edge case)
65
+ return modifiedMessages;
66
+ }
67
+ }
68
+ exports.LocaleEnforcer = LocaleEnforcer;
69
+ //# sourceMappingURL=locale-enforcer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-enforcer.js","sourceRoot":"","sources":["../../src/glmt/locale-enforcer.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;GAcG;;;AAWH,MAAa,cAAc;IAGzB,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,WAAW;YACd,OAAO,CAAC,WAAW;gBACnB,wHAAwH,CAAC;IAC7H,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAmB;QACnC,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAc,CAAC;QAE3E,oDAAoD;QACpD,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAEhD,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC1C,SAAS,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,WAAW,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;YACpE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;oBACxB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,WAAW;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,4CAA4C;QAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACvE,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAE5C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,WAAW,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAChE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;oBACtB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,WAAW;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,+CAA+C;QAC/C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAvDD,wCAuDC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ReasoningEnforcer - Inject explicit reasoning instructions into prompts
3
+ *
4
+ * Purpose: Force GLM models to use structured reasoning output format (<reasoning_content>)
5
+ * This complements API parameters (reasoning: true) with explicit prompt instructions.
6
+ *
7
+ * Strategy:
8
+ * 1. If system prompt exists: Prepend reasoning instruction
9
+ * 2. If no system prompt: Prepend to first user message
10
+ * 3. Select prompt template based on effort level (low/medium/high/max)
11
+ * 4. Preserve message structure (string vs array content)
12
+ */
13
+ type EffortLevel = 'low' | 'medium' | 'high' | 'max';
14
+ interface ContentBlock {
15
+ type: string;
16
+ text?: string;
17
+ [key: string]: unknown;
18
+ }
19
+ interface Message {
20
+ role: string;
21
+ content: string | ContentBlock[];
22
+ }
23
+ interface ThinkingConfig {
24
+ thinking?: boolean;
25
+ effort?: string;
26
+ }
27
+ interface ReasoningEnforcerOptions {
28
+ enabled?: boolean;
29
+ prompts?: Record<EffortLevel, string>;
30
+ }
31
+ export declare class ReasoningEnforcer {
32
+ private enabled;
33
+ private prompts;
34
+ constructor(options?: ReasoningEnforcerOptions);
35
+ /**
36
+ * Inject reasoning instruction into messages
37
+ * @param messages - Messages array to modify
38
+ * @param thinkingConfig - { thinking: boolean, effort: string }
39
+ * @returns Modified messages array
40
+ */
41
+ injectInstruction(messages: Message[], thinkingConfig?: ThinkingConfig): Message[];
42
+ /**
43
+ * Select prompt template based on effort level
44
+ */
45
+ private selectPrompt;
46
+ /**
47
+ * Get default prompt templates
48
+ */
49
+ private getDefaultPrompts;
50
+ }
51
+ export default ReasoningEnforcer;
52
+ //# sourceMappingURL=reasoning-enforcer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-enforcer.d.ts","sourceRoot":"","sources":["../../src/glmt/reasoning-enforcer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAClC;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,OAAO,GAAE,wBAA6B;IAKlD;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,GAAE,cAAmB,GAAG,OAAO,EAAE;IAmDtF;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAwE1B;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * ReasoningEnforcer - Inject explicit reasoning instructions into prompts
4
+ *
5
+ * Purpose: Force GLM models to use structured reasoning output format (<reasoning_content>)
6
+ * This complements API parameters (reasoning: true) with explicit prompt instructions.
7
+ *
8
+ * Strategy:
9
+ * 1. If system prompt exists: Prepend reasoning instruction
10
+ * 2. If no system prompt: Prepend to first user message
11
+ * 3. Select prompt template based on effort level (low/medium/high/max)
12
+ * 4. Preserve message structure (string vs array content)
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ReasoningEnforcer = void 0;
16
+ class ReasoningEnforcer {
17
+ constructor(options = {}) {
18
+ this.enabled = options.enabled ?? false; // Opt-in by default
19
+ this.prompts = options.prompts || this.getDefaultPrompts();
20
+ }
21
+ /**
22
+ * Inject reasoning instruction into messages
23
+ * @param messages - Messages array to modify
24
+ * @param thinkingConfig - { thinking: boolean, effort: string }
25
+ * @returns Modified messages array
26
+ */
27
+ injectInstruction(messages, thinkingConfig = {}) {
28
+ // Only inject if enabled or thinking explicitly requested
29
+ if (!this.enabled && !thinkingConfig.thinking) {
30
+ return messages;
31
+ }
32
+ // Clone messages to avoid mutation
33
+ const modifiedMessages = JSON.parse(JSON.stringify(messages));
34
+ // Select prompt based on effort level
35
+ const effort = (thinkingConfig.effort?.toLowerCase() || 'medium');
36
+ const prompt = this.selectPrompt(effort);
37
+ // Strategy 1: Inject into system prompt (preferred)
38
+ const systemIndex = modifiedMessages.findIndex((m) => m.role === 'system');
39
+ if (systemIndex >= 0) {
40
+ const systemMsg = modifiedMessages[systemIndex];
41
+ if (typeof systemMsg.content === 'string') {
42
+ systemMsg.content = `${prompt}\n\n${systemMsg.content}`;
43
+ }
44
+ else if (Array.isArray(systemMsg.content)) {
45
+ systemMsg.content.unshift({
46
+ type: 'text',
47
+ text: prompt,
48
+ });
49
+ }
50
+ return modifiedMessages;
51
+ }
52
+ // Strategy 2: Prepend to first user message
53
+ const userIndex = modifiedMessages.findIndex((m) => m.role === 'user');
54
+ if (userIndex >= 0) {
55
+ const userMsg = modifiedMessages[userIndex];
56
+ if (typeof userMsg.content === 'string') {
57
+ userMsg.content = `${prompt}\n\n${userMsg.content}`;
58
+ }
59
+ else if (Array.isArray(userMsg.content)) {
60
+ userMsg.content.unshift({
61
+ type: 'text',
62
+ text: prompt,
63
+ });
64
+ }
65
+ return modifiedMessages;
66
+ }
67
+ // No system or user messages found (edge case)
68
+ return modifiedMessages;
69
+ }
70
+ /**
71
+ * Select prompt template based on effort level
72
+ */
73
+ selectPrompt(effort) {
74
+ return this.prompts[effort] || this.prompts.medium;
75
+ }
76
+ /**
77
+ * Get default prompt templates
78
+ */
79
+ getDefaultPrompts() {
80
+ return {
81
+ low: `You are an expert reasoning model using GLM-4.6 architecture.
82
+
83
+ CRITICAL: Before answering, write 2-3 sentences of reasoning in <reasoning_content> tags.
84
+
85
+ OUTPUT FORMAT:
86
+ <reasoning_content>
87
+ (Brief analysis: what is the problem? what's the approach?)
88
+ </reasoning_content>
89
+
90
+ (Write your final answer here)`,
91
+ medium: `You are an expert reasoning model using GLM-4.6 architecture.
92
+
93
+ CRITICAL REQUIREMENTS:
94
+ 1. Always think step-by-step before answering
95
+ 2. Write your reasoning process explicitly in <reasoning_content> tags
96
+ 3. Never skip your chain of thought, even for simple problems
97
+
98
+ OUTPUT FORMAT:
99
+ <reasoning_content>
100
+ (Write your detailed thinking here: analyze the problem, explore approaches,
101
+ evaluate trade-offs, and arrive at a conclusion)
102
+ </reasoning_content>
103
+
104
+ (Write your final answer here based on your reasoning above)`,
105
+ high: `You are an expert reasoning model using GLM-4.6 architecture.
106
+
107
+ CRITICAL REQUIREMENTS:
108
+ 1. Think deeply and systematically before answering
109
+ 2. Write comprehensive reasoning in <reasoning_content> tags
110
+ 3. Explore multiple approaches and evaluate trade-offs
111
+ 4. Show all steps in your problem-solving process
112
+
113
+ OUTPUT FORMAT:
114
+ <reasoning_content>
115
+ (Write exhaustive analysis here:
116
+ - Problem decomposition
117
+ - Multiple approach exploration
118
+ - Trade-off analysis for each approach
119
+ - Edge case consideration
120
+ - Final conclusion with justification)
121
+ </reasoning_content>
122
+
123
+ (Write your final answer here based on your systematic reasoning above)`,
124
+ max: `You are an expert reasoning model using GLM-4.6 architecture.
125
+
126
+ CRITICAL REQUIREMENTS:
127
+ 1. Think exhaustively from first principles
128
+ 2. Write extremely detailed reasoning in <reasoning_content> tags
129
+ 3. Analyze ALL possible angles, approaches, and edge cases
130
+ 4. Challenge your own assumptions and explore alternatives
131
+ 5. Provide rigorous justification for every claim
132
+
133
+ OUTPUT FORMAT:
134
+ <reasoning_content>
135
+ (Write comprehensive analysis here:
136
+ - First principles breakdown
137
+ - Exhaustive approach enumeration
138
+ - Comparative analysis of all approaches
139
+ - Edge case and failure mode analysis
140
+ - Assumption validation
141
+ - Counter-argument consideration
142
+ - Final conclusion with rigorous justification)
143
+ </reasoning_content>
144
+
145
+ (Write your final answer here based on your exhaustive reasoning above)`,
146
+ };
147
+ }
148
+ }
149
+ exports.ReasoningEnforcer = ReasoningEnforcer;
150
+ exports.default = ReasoningEnforcer;
151
+ //# sourceMappingURL=reasoning-enforcer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-enforcer.js","sourceRoot":"","sources":["../../src/glmt/reasoning-enforcer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * SSEParser - Parse Server-Sent Events (SSE) stream
4
+ *
5
+ * Handles:
6
+ * - Incomplete events across chunks
7
+ * - Multiple events in single chunk
8
+ * - Malformed data (skip gracefully)
9
+ * - [DONE] marker
10
+ *
11
+ * Usage:
12
+ * const parser = new SSEParser();
13
+ * stream.on('data', chunk => {
14
+ * const events = parser.parse(chunk);
15
+ * events.forEach(event => { ... });
16
+ * });
17
+ */
18
+ /// <reference types="node" />
19
+ /// <reference types="node" />
20
+ interface SSEParserOptions {
21
+ maxBufferSize?: number;
22
+ }
23
+ interface SSEEvent {
24
+ event: string;
25
+ data: unknown;
26
+ index?: number;
27
+ id?: string;
28
+ retry?: number;
29
+ }
30
+ export declare class SSEParser {
31
+ private buffer;
32
+ private eventCount;
33
+ private maxBufferSize;
34
+ constructor(options?: SSEParserOptions);
35
+ /**
36
+ * Parse chunk and extract SSE events
37
+ * @param chunk - Data chunk from stream
38
+ * @returns Array of parsed events
39
+ */
40
+ parse(chunk: Buffer | string): SSEEvent[];
41
+ /**
42
+ * Reset parser state (for reuse)
43
+ */
44
+ reset(): void;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=sse-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-parser.d.ts","sourceRoot":"","sources":["../../src/glmt/sse-parser.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;;;AAEH,UAAU,gBAAgB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,GAAE,gBAAqB;IAM1C;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAE;IA4DzC;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * SSEParser - Parse Server-Sent Events (SSE) stream
5
+ *
6
+ * Handles:
7
+ * - Incomplete events across chunks
8
+ * - Multiple events in single chunk
9
+ * - Malformed data (skip gracefully)
10
+ * - [DONE] marker
11
+ *
12
+ * Usage:
13
+ * const parser = new SSEParser();
14
+ * stream.on('data', chunk => {
15
+ * const events = parser.parse(chunk);
16
+ * events.forEach(event => { ... });
17
+ * });
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.SSEParser = void 0;
21
+ class SSEParser {
22
+ constructor(options = {}) {
23
+ this.buffer = '';
24
+ this.eventCount = 0;
25
+ this.maxBufferSize = options.maxBufferSize || 1024 * 1024; // 1MB default
26
+ }
27
+ /**
28
+ * Parse chunk and extract SSE events
29
+ * @param chunk - Data chunk from stream
30
+ * @returns Array of parsed events
31
+ */
32
+ parse(chunk) {
33
+ this.buffer += chunk.toString();
34
+ // C-01 Fix: Prevent unbounded buffer growth (DoS protection)
35
+ if (this.buffer.length > this.maxBufferSize) {
36
+ throw new Error(`SSE buffer exceeded ${this.maxBufferSize} bytes (DoS protection)`);
37
+ }
38
+ const lines = this.buffer.split('\n');
39
+ // Keep incomplete line in buffer
40
+ this.buffer = lines.pop() || '';
41
+ const events = [];
42
+ let currentEvent = { event: 'message', data: '' };
43
+ for (const line of lines) {
44
+ if (line.startsWith('event: ')) {
45
+ currentEvent.event = line.substring(7).trim();
46
+ }
47
+ else if (line.startsWith('data: ')) {
48
+ const data = line.substring(6);
49
+ if (data === '[DONE]') {
50
+ this.eventCount++;
51
+ events.push({
52
+ event: 'done',
53
+ data: null,
54
+ index: this.eventCount,
55
+ });
56
+ currentEvent = { event: 'message', data: '' };
57
+ }
58
+ else {
59
+ try {
60
+ currentEvent.data = JSON.parse(data);
61
+ this.eventCount++;
62
+ currentEvent.index = this.eventCount;
63
+ events.push({ ...currentEvent });
64
+ currentEvent = { event: 'message', data: '' };
65
+ }
66
+ catch (e) {
67
+ // H-01 Fix: Log parse errors for debugging
68
+ if (typeof console !== 'undefined' && console.error) {
69
+ console.error('[SSEParser] Malformed JSON event:', e.message, 'Data:', data.substring(0, 100));
70
+ }
71
+ }
72
+ }
73
+ }
74
+ else if (line.startsWith('id: ')) {
75
+ currentEvent.id = line.substring(4).trim();
76
+ }
77
+ else if (line.startsWith('retry: ')) {
78
+ currentEvent.retry = parseInt(line.substring(7), 10);
79
+ }
80
+ // Empty lines separate events (already handled by JSON parsing)
81
+ }
82
+ return events;
83
+ }
84
+ /**
85
+ * Reset parser state (for reuse)
86
+ */
87
+ reset() {
88
+ this.buffer = '';
89
+ this.eventCount = 0;
90
+ }
91
+ }
92
+ exports.SSEParser = SSEParser;
93
+ //# sourceMappingURL=sse-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-parser.js","sourceRoot":"","sources":["../../src/glmt/sse-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * CCS Health Check and Diagnostics
3
+ */
4
+ interface HealthCheckDetails {
5
+ status: 'OK' | 'ERROR' | 'WARN';
6
+ info: string;
7
+ }
8
+ interface HealthCheckItem {
9
+ name: string;
10
+ status: 'success' | 'error' | 'warning';
11
+ message?: string;
12
+ fix?: string;
13
+ }
14
+ interface HealthIssue {
15
+ name: string;
16
+ message: string;
17
+ fix?: string;
18
+ }
19
+ /**
20
+ * Health check results
21
+ */
22
+ declare class HealthCheck {
23
+ checks: HealthCheckItem[];
24
+ warnings: HealthIssue[];
25
+ errors: HealthIssue[];
26
+ details: Record<string, HealthCheckDetails>;
27
+ addCheck(name: string, status: 'success' | 'error' | 'warning', message?: string, fix?: string | undefined, details?: HealthCheckDetails | undefined): void;
28
+ hasErrors(): boolean;
29
+ hasWarnings(): boolean;
30
+ isHealthy(): boolean;
31
+ }
32
+ /**
33
+ * Doctor Class
34
+ */
35
+ declare class Doctor {
36
+ private readonly homedir;
37
+ private readonly ccsDir;
38
+ private readonly claudeDir;
39
+ private readonly results;
40
+ private readonly ccsVersion;
41
+ constructor();
42
+ /**
43
+ * Run all health checks
44
+ */
45
+ runAllChecks(): Promise<HealthCheck>;
46
+ /**
47
+ * Check 1: Claude CLI availability
48
+ */
49
+ private checkClaudeCli;
50
+ /**
51
+ * Check 2: ~/.ccs/ directory
52
+ */
53
+ private checkCcsDirectory;
54
+ /**
55
+ * Check 3: Config files
56
+ */
57
+ private checkConfigFiles;
58
+ /**
59
+ * Check 4: Claude settings
60
+ */
61
+ private checkClaudeSettings;
62
+ /**
63
+ * Check 5: Profile configurations
64
+ */
65
+ private checkProfiles;
66
+ /**
67
+ * Check 6: Instance directories (account-based profiles)
68
+ */
69
+ private checkInstances;
70
+ /**
71
+ * Check 7: Delegation system
72
+ */
73
+ private checkDelegation;
74
+ /**
75
+ * Check 8: File permissions
76
+ */
77
+ private checkPermissions;
78
+ /**
79
+ * Check 9: CCS symlinks to ~/.claude/
80
+ */
81
+ private checkCcsSymlinks;
82
+ /**
83
+ * Check 10: settings.json symlinks
84
+ */
85
+ private checkSettingsSymlinks;
86
+ /**
87
+ * Check 11: CLIProxy health (OAuth profiles: gemini, codex, agy)
88
+ */
89
+ private checkCLIProxy;
90
+ /**
91
+ * Show health check report
92
+ */
93
+ private showReport;
94
+ /**
95
+ * Generate JSON report
96
+ */
97
+ generateJsonReport(): string;
98
+ /**
99
+ * Check if the health check results are healthy
100
+ */
101
+ isHealthy(): boolean;
102
+ }
103
+ export default Doctor;
104
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/management/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqDH,UAAU,kBAAkB;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,cAAM,WAAW;IACR,MAAM,EAAE,eAAe,EAAE,CAAM;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAM;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IAExD,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,EACvC,OAAO,SAAK,EACZ,GAAG,GAAE,MAAM,GAAG,SAAqB,EACnC,OAAO,GAAE,kBAAkB,GAAG,SAAqB,GAClD,IAAI;IAYP,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;;IAUpC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IA0C1C;;OAEG;YACW,cAAc;IA8D5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0FxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuDvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+CxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuI7B;;OAEG;YACW,aAAa;IAuG3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAkFlB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAiB5B;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED,eAAe,MAAM,CAAC"}