@codemieai/code 0.0.40 → 0.0.42

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 (211) hide show
  1. package/README.md +5 -6
  2. package/bin/codemie-opencode.js +8 -1
  3. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  4. package/dist/agents/codemie-code/agent.js +5 -0
  5. package/dist/agents/codemie-code/agent.js.map +1 -1
  6. package/dist/agents/codemie-code/skills/index.d.ts +4 -0
  7. package/dist/agents/codemie-code/skills/index.d.ts.map +1 -1
  8. package/dist/agents/codemie-code/skills/index.js +4 -0
  9. package/dist/agents/codemie-code/skills/index.js.map +1 -1
  10. package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts +52 -0
  11. package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +1 -0
  12. package/dist/agents/codemie-code/skills/sync/SkillSync.js +165 -0
  13. package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +1 -0
  14. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  15. package/dist/agents/core/AgentCLI.js +38 -8
  16. package/dist/agents/core/AgentCLI.js.map +1 -1
  17. package/dist/agents/core/BaseAgentAdapter.d.ts +11 -1
  18. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  19. package/dist/agents/core/BaseAgentAdapter.js +175 -18
  20. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  21. package/dist/agents/core/types.d.ts +18 -0
  22. package/dist/agents/core/types.d.ts.map +1 -1
  23. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +7 -0
  24. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -1
  25. package/dist/agents/plugins/claude/claude-acp.plugin.js +10 -0
  26. package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -1
  27. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +11 -0
  28. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
  29. package/dist/agents/plugins/claude/claude.plugin-installer.js +32 -0
  30. package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
  31. package/dist/agents/plugins/claude/claude.plugin.d.ts +1 -8
  32. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  33. package/dist/agents/plugins/claude/claude.plugin.js +96 -101
  34. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  35. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  36. package/dist/agents/plugins/claude/plugin/codemie-statusline.mjs +42 -0
  37. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +10 -0
  38. package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +98 -0
  39. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +81 -0
  40. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-baseline.sh +39 -0
  41. package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
  42. package/dist/agents/plugins/claude/sounds-installer.js +0 -4
  43. package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
  44. package/dist/agents/plugins/codemie-code-binary.d.ts +17 -0
  45. package/dist/agents/plugins/codemie-code-binary.d.ts.map +1 -0
  46. package/dist/agents/plugins/codemie-code-binary.js +94 -0
  47. package/dist/agents/plugins/codemie-code-binary.js.map +1 -0
  48. package/dist/agents/plugins/codemie-code-hooks/index.d.ts +3 -0
  49. package/dist/agents/plugins/codemie-code-hooks/index.d.ts.map +1 -0
  50. package/dist/agents/plugins/codemie-code-hooks/index.js +3 -0
  51. package/dist/agents/plugins/codemie-code-hooks/index.js.map +1 -0
  52. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts +22 -0
  53. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts.map +1 -0
  54. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js +64 -0
  55. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js.map +1 -0
  56. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts +15 -0
  57. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts.map +1 -0
  58. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js +522 -0
  59. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js.map +1 -0
  60. package/dist/agents/plugins/codemie-code.plugin.d.ts +56 -12
  61. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  62. package/dist/agents/plugins/codemie-code.plugin.js +502 -125
  63. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  64. package/dist/agents/plugins/gemini/gemini.plugin.d.ts +8 -0
  65. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  66. package/dist/agents/plugins/gemini/gemini.plugin.js +45 -1
  67. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  68. package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -0
  69. package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
  70. package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
  71. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts +12 -2
  72. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
  73. package/dist/agents/plugins/opencode/opencode-model-configs.js +329 -24
  74. package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
  75. package/dist/agents/plugins/opencode/opencode.paths.d.ts +16 -1
  76. package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -1
  77. package/dist/agents/plugins/opencode/opencode.paths.js +43 -5
  78. package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -1
  79. package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
  80. package/dist/agents/plugins/opencode/opencode.plugin.js +91 -25
  81. package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
  82. package/dist/agents/plugins/opencode/opencode.session.d.ts +5 -0
  83. package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
  84. package/dist/agents/plugins/opencode/opencode.session.js +99 -2
  85. package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
  86. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +59 -0
  87. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -0
  88. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +200 -0
  89. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -0
  90. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +3 -0
  91. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
  92. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +35 -13
  93. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
  94. package/dist/agents/registry.d.ts.map +1 -1
  95. package/dist/agents/registry.js +8 -7
  96. package/dist/agents/registry.js.map +1 -1
  97. package/dist/cli/commands/analytics/data-loader.js +1 -1
  98. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  99. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
  100. package/dist/cli/commands/doctor/checks/AgentsCheck.js +5 -2
  101. package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
  102. package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts.map +1 -1
  103. package/dist/cli/commands/doctor/checks/FrameworksCheck.js +5 -2
  104. package/dist/cli/commands/doctor/checks/FrameworksCheck.js.map +1 -1
  105. package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts +9 -0
  106. package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts.map +1 -0
  107. package/dist/cli/commands/doctor/checks/JWTAuthCheck.js +113 -0
  108. package/dist/cli/commands/doctor/checks/JWTAuthCheck.js.map +1 -0
  109. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  110. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  111. package/dist/cli/commands/doctor/checks/index.js +1 -0
  112. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  113. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  114. package/dist/cli/commands/doctor/index.js +2 -1
  115. package/dist/cli/commands/doctor/index.js.map +1 -1
  116. package/dist/cli/commands/hook.d.ts.map +1 -1
  117. package/dist/cli/commands/hook.js +28 -5
  118. package/dist/cli/commands/hook.js.map +1 -1
  119. package/dist/cli/commands/skill.d.ts.map +1 -1
  120. package/dist/cli/commands/skill.js +80 -1
  121. package/dist/cli/commands/skill.js.map +1 -1
  122. package/dist/cli/commands/test-metrics.d.ts +17 -0
  123. package/dist/cli/commands/test-metrics.d.ts.map +1 -0
  124. package/dist/cli/commands/test-metrics.js +198 -0
  125. package/dist/cli/commands/test-metrics.js.map +1 -0
  126. package/dist/cli/index.js +9 -13
  127. package/dist/cli/index.js.map +1 -1
  128. package/dist/env/types.d.ts +12 -2
  129. package/dist/env/types.d.ts.map +1 -1
  130. package/dist/env/types.js.map +1 -1
  131. package/dist/providers/core/types.d.ts +22 -1
  132. package/dist/providers/core/types.d.ts.map +1 -1
  133. package/dist/providers/core/types.js +12 -1
  134. package/dist/providers/core/types.js.map +1 -1
  135. package/dist/providers/index.d.ts +2 -0
  136. package/dist/providers/index.d.ts.map +1 -1
  137. package/dist/providers/index.js +2 -0
  138. package/dist/providers/index.js.map +1 -1
  139. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  140. package/dist/providers/integration/setup-ui.js +3 -1
  141. package/dist/providers/integration/setup-ui.js.map +1 -1
  142. package/dist/providers/plugins/jwt/index.d.ts +9 -0
  143. package/dist/providers/plugins/jwt/index.d.ts.map +1 -0
  144. package/dist/providers/plugins/jwt/index.js +13 -0
  145. package/dist/providers/plugins/jwt/index.js.map +1 -0
  146. package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts +9 -0
  147. package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts.map +1 -0
  148. package/dist/providers/plugins/jwt/jwt.setup-steps.js +153 -0
  149. package/dist/providers/plugins/jwt/jwt.setup-steps.js.map +1 -0
  150. package/dist/providers/plugins/jwt/jwt.template.d.ts +12 -0
  151. package/dist/providers/plugins/jwt/jwt.template.d.ts.map +1 -0
  152. package/dist/providers/plugins/jwt/jwt.template.js +55 -0
  153. package/dist/providers/plugins/jwt/jwt.template.js.map +1 -0
  154. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
  155. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  156. package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
  157. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  158. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts +16 -0
  159. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts.map +1 -0
  160. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js +53 -0
  161. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js.map +1 -0
  162. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts +25 -0
  163. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts.map +1 -0
  164. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js +74 -0
  165. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js.map +1 -0
  166. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.d.ts.map +1 -1
  167. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js +13 -2
  168. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js.map +1 -1
  169. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -1
  170. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +6 -3
  171. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -1
  172. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts +2 -2
  173. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -1
  174. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +2 -0
  175. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
  176. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +4 -0
  177. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  178. package/dist/providers/plugins/sso/proxy/sso.proxy.js +39 -10
  179. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  180. package/dist/providers/plugins/sso/sso.auth.d.ts +3 -1
  181. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  182. package/dist/providers/plugins/sso/sso.auth.js +70 -12
  183. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  184. package/dist/providers/plugins/sso/sso.http-client.d.ts +38 -8
  185. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
  186. package/dist/providers/plugins/sso/sso.http-client.js +83 -85
  187. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  188. package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
  189. package/dist/providers/plugins/sso/sso.models.js +3 -3
  190. package/dist/providers/plugins/sso/sso.models.js.map +1 -1
  191. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  192. package/dist/providers/plugins/sso/sso.setup-steps.js +4 -1
  193. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  194. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
  195. package/dist/providers/plugins/sso/sso.template.js +7 -0
  196. package/dist/providers/plugins/sso/sso.template.js.map +1 -1
  197. package/dist/utils/logger.d.ts +1 -0
  198. package/dist/utils/logger.d.ts.map +1 -1
  199. package/dist/utils/logger.js +16 -1
  200. package/dist/utils/logger.js.map +1 -1
  201. package/dist/utils/native-installer.d.ts.map +1 -1
  202. package/dist/utils/native-installer.js +35 -0
  203. package/dist/utils/native-installer.js.map +1 -1
  204. package/dist/utils/paths.d.ts +1 -1
  205. package/dist/utils/paths.js +1 -1
  206. package/dist/utils/security.d.ts +18 -1
  207. package/dist/utils/security.d.ts.map +1 -1
  208. package/dist/utils/security.js +102 -0
  209. package/dist/utils/security.js.map +1 -1
  210. package/package.json +2 -1
  211. package/scripts/copy-mr-skill-to-global.ts +0 -252
@@ -14,11 +14,13 @@ export { HTTPClient } from './core/base/http-client.js';
14
14
  // Plugin imports execute their auto-registration code on import
15
15
  import './plugins/ollama/index.js';
16
16
  import './plugins/sso/index.js';
17
+ import './plugins/jwt/index.js';
17
18
  import './plugins/litellm/index.js';
18
19
  import './plugins/bedrock/index.js';
19
20
  // Re-export plugin modules for direct access if needed
20
21
  export * as Ollama from './plugins/ollama/index.js';
21
22
  export * as SSO from './plugins/sso/index.js';
23
+ export * as JWT from './plugins/jwt/index.js';
22
24
  export * as LiteLLM from './plugins/litellm/index.js';
23
25
  export * as Bedrock from './plugins/bedrock/index.js';
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiBtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,8CAA8C;AAC9C,gEAAgE;AAChE,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiBtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,8CAA8C;AAC9C,gEAAgE;AAChE,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-ui.d.ts","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB3G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAQzE;AA0BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,gBAAgB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA+BjC;AA8BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBxC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
1
+ {"version":3,"file":"setup-ui.d.ts","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAQzE;AA0BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,gBAAgB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA+BjC;AA8BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBxC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
@@ -36,8 +36,10 @@ export function getProviderChoice(template) {
36
36
  * 2. Alphabetically
37
37
  */
38
38
  export function getAllProviderChoices(providers) {
39
+ // Filter out providers hidden from interactive setup (used for script/auto-configuration only)
40
+ const visible = providers.filter(p => !p.hidden);
39
41
  // Sort providers: by priority (lower number = higher priority), then alphabetically
40
- const sorted = [...providers].sort((a, b) => {
42
+ const sorted = [...visible].sort((a, b) => {
41
43
  // First, sort by priority (default to 999 if not specified)
42
44
  const priorityA = a.priority ?? 999;
43
45
  const priorityB = b.priority ?? 999;
@@ -1 +1 @@
1
- {"version":3,"file":"setup-ui.js","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-ui.js","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * JWT Bearer Authorization Provider
3
+ *
4
+ * Export provider template and setup steps.
5
+ * Auto-registers when imported.
6
+ */
7
+ export { JWTTemplate } from './jwt.template.js';
8
+ export { JWTBearerSetupSteps } from './jwt.setup-steps.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/jwt/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * JWT Bearer Authorization Provider
3
+ *
4
+ * Export provider template and setup steps.
5
+ * Auto-registers when imported.
6
+ */
7
+ import { ProviderRegistry } from '../../core/registry.js';
8
+ import { JWTBearerSetupSteps } from './jwt.setup-steps.js';
9
+ export { JWTTemplate } from './jwt.template.js';
10
+ export { JWTBearerSetupSteps } from './jwt.setup-steps.js';
11
+ // Register setup steps
12
+ ProviderRegistry.registerSetupSteps('bearer-auth', JWTBearerSetupSteps);
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/plugins/jwt/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,uBAAuB;AACvB,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * JWT Bearer Authorization Setup Steps
3
+ *
4
+ * Simplified setup flow for JWT authentication.
5
+ * Only asks for API URL during setup - token is provided later at runtime.
6
+ */
7
+ import type { ProviderSetupSteps } from '../../core/types.js';
8
+ export declare const JWTBearerSetupSteps: ProviderSetupSteps;
9
+ //# sourceMappingURL=jwt.setup-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.setup-steps.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/jwt/jwt.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,mBAAmB,EAAE,kBAmKjC,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * JWT Bearer Authorization Setup Steps
3
+ *
4
+ * Simplified setup flow for JWT authentication.
5
+ * Only asks for API URL during setup - token is provided later at runtime.
6
+ */
7
+ import inquirer from 'inquirer';
8
+ import chalk from 'chalk';
9
+ import { ensureApiBase } from '../sso/sso.http-client.js';
10
+ export const JWTBearerSetupSteps = {
11
+ name: 'bearer-auth',
12
+ async getCredentials(_isUpdate) {
13
+ console.log(chalk.cyan('\n🔐 JWT Bearer Authorization Setup\n'));
14
+ console.log(chalk.white('This provider uses JWT tokens for authentication.'));
15
+ console.log(chalk.white('You only need to provide the API URL during setup.\n'));
16
+ console.log(chalk.yellow('ℹ️ JWT token will be provided later via:\n'));
17
+ console.log(chalk.white(' • CLI option: --jwt-token <token>'));
18
+ console.log(chalk.white(' • Environment variable: CODEMIE_JWT_TOKEN=<token>\n'));
19
+ // Step 1: Get API URL
20
+ const urlAnswers = await inquirer.prompt([
21
+ {
22
+ type: 'input',
23
+ name: 'baseUrl',
24
+ message: 'CodeMie base URL:',
25
+ default: 'https://codemie.lab.epam.com',
26
+ validate: (input) => {
27
+ if (!input.trim())
28
+ return 'API URL is required';
29
+ if (!input.startsWith('http://') && !input.startsWith('https://')) {
30
+ return 'Please enter a valid URL starting with http:// or https://';
31
+ }
32
+ return true;
33
+ }
34
+ }
35
+ ]);
36
+ // Store user's input (base URL without suffix)
37
+ const codeMieUrl = urlAnswers.baseUrl.trim();
38
+ // Normalize URL - add /code-assistant-api suffix if not present
39
+ const baseUrl = ensureApiBase(codeMieUrl);
40
+ // Step 2: Optional - environment variable name
41
+ console.log(chalk.cyan('\n📝 Token Configuration (Optional)\n'));
42
+ console.log(chalk.white('You can specify a custom environment variable name for the token.'));
43
+ console.log(chalk.white('Default: CODEMIE_JWT_TOKEN\n'));
44
+ const tokenConfigAnswers = await inquirer.prompt([
45
+ {
46
+ type: 'confirm',
47
+ name: 'customEnvVar',
48
+ message: 'Use a custom environment variable name?',
49
+ default: false
50
+ }
51
+ ]);
52
+ let tokenEnvVar = 'CODEMIE_JWT_TOKEN';
53
+ if (tokenConfigAnswers.customEnvVar) {
54
+ const envVarAnswers = await inquirer.prompt([
55
+ {
56
+ type: 'input',
57
+ name: 'envVar',
58
+ message: 'Environment variable name:',
59
+ default: 'CODEMIE_JWT_TOKEN',
60
+ validate: (input) => {
61
+ if (!input.trim())
62
+ return 'Variable name is required';
63
+ if (!/^[A-Z_][A-Z0-9_]*$/.test(input)) {
64
+ return 'Variable name must be uppercase with underscores only';
65
+ }
66
+ return true;
67
+ }
68
+ }
69
+ ]);
70
+ tokenEnvVar = envVarAnswers.envVar;
71
+ }
72
+ console.log(chalk.green('\n✓ Configuration saved\n'));
73
+ console.log(chalk.cyan('📌 Next Steps:\n'));
74
+ console.log(chalk.white('1. Set your JWT token:'));
75
+ console.log(chalk.cyan(` export ${tokenEnvVar}="your-jwt-token-here"`));
76
+ console.log(chalk.white('\n2. Run your agent with the token:'));
77
+ console.log(chalk.cyan(` codemie-claude "your prompt here"`));
78
+ console.log(chalk.white('\n3. Or provide token via CLI:'));
79
+ console.log(chalk.cyan(` codemie-claude --jwt-token "your-token" "your prompt"\n`));
80
+ // Return configuration (follows SSO pattern)
81
+ return {
82
+ baseUrl, // Full API URL with suffix
83
+ additionalConfig: {
84
+ codeMieUrl, // User's input (base URL)
85
+ authMethod: 'jwt',
86
+ jwtConfig: {
87
+ tokenEnvVar
88
+ // Note: No apiUrl needed - baseUrl is used for credential storage
89
+ }
90
+ }
91
+ };
92
+ },
93
+ async fetchModels(_credentials) {
94
+ // Return default models - actual model list will be fetched at runtime with JWT token
95
+ // User can override model selection via CLI or config
96
+ return [
97
+ 'claude-4-5-sonnet',
98
+ 'claude-opus-4-6',
99
+ 'claude-4-5-haiku',
100
+ 'gpt-4-turbo',
101
+ 'gpt-4o',
102
+ 'gpt-4o-mini'
103
+ ];
104
+ },
105
+ buildConfig(credentials, selectedModel) {
106
+ const jwtConfig = credentials.additionalConfig?.jwtConfig;
107
+ return {
108
+ provider: 'bearer-auth',
109
+ codeMieUrl: credentials.additionalConfig?.codeMieUrl, // Base URL (user input)
110
+ baseUrl: credentials.baseUrl, // Full API URL with suffix
111
+ model: selectedModel,
112
+ authMethod: 'jwt',
113
+ jwtConfig
114
+ };
115
+ },
116
+ async validateAuth(config) {
117
+ // Check if JWT token is available at runtime
118
+ const tokenEnvVar = config.jwtConfig?.tokenEnvVar || 'CODEMIE_JWT_TOKEN';
119
+ const token = process.env[tokenEnvVar] || config.jwtConfig?.token;
120
+ if (!token) {
121
+ return {
122
+ valid: false,
123
+ error: `JWT token not found in ${tokenEnvVar} environment variable`
124
+ };
125
+ }
126
+ // Basic JWT format validation
127
+ const parts = token.split('.');
128
+ if (parts.length !== 3) {
129
+ return {
130
+ valid: false,
131
+ error: 'Invalid JWT token format (expected header.payload.signature)'
132
+ };
133
+ }
134
+ // Check token expiration (if parseable)
135
+ try {
136
+ const payload = JSON.parse(Buffer.from(parts[1], 'base64').toString());
137
+ if (payload.exp && Date.now() > payload.exp * 1000) {
138
+ const expiresAt = payload.exp * 1000;
139
+ return {
140
+ valid: false,
141
+ error: `JWT token expired on ${new Date(expiresAt).toISOString()}`,
142
+ expiresAt
143
+ };
144
+ }
145
+ }
146
+ catch {
147
+ // Non-standard JWT payload - skip expiration check
148
+ }
149
+ // Token is present and valid format
150
+ return { valid: true };
151
+ }
152
+ };
153
+ //# sourceMappingURL=jwt.setup-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.setup-steps.js","sourceRoot":"","sources":["../../../../src/providers/plugins/jwt/jwt.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACrD,IAAI,EAAE,aAAa;IAEnB,KAAK,CAAC,cAAc,CAAC,SAAmB;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAElF,sBAAsB;QACtB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACvC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,8BAA8B;gBACvC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAAE,OAAO,qBAAqB,CAAC;oBAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAClE,OAAO,4DAA4D,CAAC;oBACtE,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAE7C,gEAAgE;QAChE,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAE1C,+CAA+C;QAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAEzD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC/C;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,yCAAyC;gBAClD,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,GAAG,mBAAmB,CAAC;QAEtC,IAAI,kBAAkB,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC1C;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,4BAA4B;oBACrC,OAAO,EAAE,mBAAmB;oBAC5B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;wBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;4BAAE,OAAO,2BAA2B,CAAC;wBACtD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACtC,OAAO,uDAAuD,CAAC;wBACjE,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC,CAAC;YAEH,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;QACrC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,WAAW,wBAAwB,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;QAEtF,6CAA6C;QAC7C,OAAO;YACL,OAAO,EAAG,2BAA2B;YACrC,gBAAgB,EAAE;gBAChB,UAAU,EAAG,0BAA0B;gBACvC,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE;oBACT,WAAW;oBACX,kEAAkE;iBACnE;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAiC;QACjD,sFAAsF;QACtF,sDAAsD;QACtD,OAAO;YACL,mBAAmB;YACnB,iBAAiB;YACjB,kBAAkB;YAClB,aAAa;YACb,QAAQ;YACR,aAAa;SACd,CAAC;IACJ,CAAC;IAED,WAAW,CACT,WAAgC,EAChC,aAAqB;QAErB,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,EAAE,SAEnC,CAAC;QAEd,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,UAAU,EAAE,WAAW,CAAC,gBAAgB,EAAE,UAAgC,EAAG,wBAAwB;YACrG,OAAO,EAAE,WAAW,CAAC,OAAO,EAAG,2BAA2B;YAC1D,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,KAAK;YACjB,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA4B;QAC7C,6CAA6C;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,IAAI,mBAAmB,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;QAElE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,0BAA0B,WAAW,uBAAuB;aACpE,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,8DAA8D;aACtE,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,wBAAwB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;oBAClE,SAAS;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;QAED,oCAAoC;QACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * JWT Bearer Authorization Provider Template
3
+ *
4
+ * Template definition for JWT token authentication.
5
+ * Users provide only the API URL during setup - JWT token is provided later
6
+ * via --jwt-token CLI option or CODEMIE_JWT_TOKEN environment variable.
7
+ *
8
+ * Auto-registers on import via registerProvider().
9
+ */
10
+ import type { ProviderTemplate } from '../../core/types.js';
11
+ export declare const JWTTemplate: ProviderTemplate;
12
+ //# sourceMappingURL=jwt.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.template.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/jwt/jwt.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,WAAW,kBAiDtB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * JWT Bearer Authorization Provider Template
3
+ *
4
+ * Template definition for JWT token authentication.
5
+ * Users provide only the API URL during setup - JWT token is provided later
6
+ * via --jwt-token CLI option or CODEMIE_JWT_TOKEN environment variable.
7
+ *
8
+ * Auto-registers on import via registerProvider().
9
+ */
10
+ import { registerProvider } from '../../core/index.js';
11
+ export const JWTTemplate = registerProvider({
12
+ name: 'bearer-auth',
13
+ displayName: 'Bearer Authorization',
14
+ description: 'JWT token authentication - Provide token via CLI or environment variable',
15
+ defaultBaseUrl: 'https://codemie.lab.epam.com',
16
+ requiresAuth: true,
17
+ authType: 'jwt',
18
+ priority: 1, // Show after CodeMie SSO
19
+ hidden: true, // Not shown in interactive setup - used only for script/auto-configuration
20
+ defaultProfileName: 'jwt-bearer',
21
+ recommendedModels: [
22
+ 'claude-4-5-sonnet',
23
+ 'claude-opus-4-6',
24
+ 'gpt-4-turbo',
25
+ ],
26
+ capabilities: ['streaming', 'tools', 'function-calling'],
27
+ supportsModelInstallation: false,
28
+ supportsStreaming: true,
29
+ customProperties: {
30
+ requiresToken: true,
31
+ tokenSource: 'runtime' // Token provided at runtime, not during setup
32
+ },
33
+ // Environment Variable Export
34
+ exportEnvVars: (config) => {
35
+ const env = {};
36
+ // Export base URL (user's input) - matches SSO pattern
37
+ if (config.codeMieUrl) {
38
+ env.CODEMIE_URL = config.codeMieUrl;
39
+ }
40
+ // Set auth method to JWT
41
+ env.CODEMIE_AUTH_METHOD = 'jwt';
42
+ // Export JWT token if available (from env var or config)
43
+ const tokenEnvVar = config.jwtConfig?.tokenEnvVar || 'CODEMIE_JWT_TOKEN';
44
+ const token = process.env[tokenEnvVar] || config.jwtConfig?.token;
45
+ if (token) {
46
+ env.CODEMIE_JWT_TOKEN = token;
47
+ }
48
+ // Export project info if available
49
+ if (config.codeMieProject) {
50
+ env.CODEMIE_PROJECT = config.codeMieProject;
51
+ }
52
+ return env;
53
+ }
54
+ });
55
+ //# sourceMappingURL=jwt.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.template.js","sourceRoot":"","sources":["../../../../src/providers/plugins/jwt/jwt.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAmB;IAC5D,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,0EAA0E;IACvF,cAAc,EAAE,8BAA8B;IAC9C,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC,EAAE,yBAAyB;IACtC,MAAM,EAAE,IAAI,EAAE,2EAA2E;IACzF,kBAAkB,EAAE,YAAY;IAChC,iBAAiB,EAAE;QACjB,mBAAmB;QACnB,iBAAiB;QACjB,aAAa;KACd;IACD,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC;IACxD,yBAAyB,EAAE,KAAK;IAChC,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE;QAChB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,SAAS,CAAC,8CAA8C;KACtE;IAED,8BAA8B;IAC9B,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;QACxB,MAAM,GAAG,GAA2B,EAAE,CAAC;QAEvC,uDAAuD;QACvD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACtC,CAAC;QAED,yBAAyB;QACzB,GAAG,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEhC,yDAAyD;QACzD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,IAAI,mBAAmB,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;QAClE,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAChC,CAAC;QAED,mCAAmC;QACnC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC;QAC9C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC,CAAC"}
@@ -6,14 +6,16 @@
6
6
  */
7
7
  import { EndpointBlockerPlugin } from './endpoint-blocker.plugin.js';
8
8
  import { SSOAuthPlugin } from './sso-auth.plugin.js';
9
+ import { JWTAuthPlugin } from './jwt-auth.plugin.js';
9
10
  import { HeaderInjectionPlugin } from './header-injection.plugin.js';
11
+ import { RequestSanitizerPlugin } from './request-sanitizer.plugin.js';
10
12
  import { LoggingPlugin } from './logging.plugin.js';
11
13
  /**
12
14
  * Register core plugins
13
15
  * Called at app startup
14
16
  */
15
17
  export declare function registerCorePlugins(): void;
16
- export { EndpointBlockerPlugin, SSOAuthPlugin, HeaderInjectionPlugin, LoggingPlugin };
18
+ export { EndpointBlockerPlugin, SSOAuthPlugin, JWTAuthPlugin, HeaderInjectionPlugin, RequestSanitizerPlugin, LoggingPlugin };
17
19
  export { SSOSessionSyncPlugin } from './sso.session-sync.plugin.js';
18
20
  export { getPluginRegistry, resetPluginRegistry } from './registry.js';
19
21
  export * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAS1C;AAMD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAW1C;AAMD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAC;AAC7H,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,cAAc,YAAY,CAAC"}
@@ -7,7 +7,9 @@
7
7
  import { getPluginRegistry } from './registry.js';
8
8
  import { EndpointBlockerPlugin } from './endpoint-blocker.plugin.js';
9
9
  import { SSOAuthPlugin } from './sso-auth.plugin.js';
10
+ import { JWTAuthPlugin } from './jwt-auth.plugin.js';
10
11
  import { HeaderInjectionPlugin } from './header-injection.plugin.js';
12
+ import { RequestSanitizerPlugin } from './request-sanitizer.plugin.js';
11
13
  import { LoggingPlugin } from './logging.plugin.js';
12
14
  import { SSOSessionSyncPlugin } from './sso.session-sync.plugin.js';
13
15
  /**
@@ -19,6 +21,8 @@ export function registerCorePlugins() {
19
21
  // Register in any order (priority determines execution order)
20
22
  registry.register(new EndpointBlockerPlugin()); // Priority 5 - blocks unwanted endpoints early
21
23
  registry.register(new SSOAuthPlugin());
24
+ registry.register(new JWTAuthPlugin());
25
+ registry.register(new RequestSanitizerPlugin()); // Priority 15 - strips unsupported reasoning params
22
26
  registry.register(new HeaderInjectionPlugin());
23
27
  registry.register(new LoggingPlugin()); // Always enabled - logs to log files at INFO level
24
28
  registry.register(new SSOSessionSyncPlugin()); // Priority 100 - syncs sessions via multiple processors
@@ -26,7 +30,7 @@ export function registerCorePlugins() {
26
30
  // Auto-register on import
27
31
  registerCorePlugins();
28
32
  // Re-export for convenience
29
- export { EndpointBlockerPlugin, SSOAuthPlugin, HeaderInjectionPlugin, LoggingPlugin };
33
+ export { EndpointBlockerPlugin, SSOAuthPlugin, JWTAuthPlugin, HeaderInjectionPlugin, RequestSanitizerPlugin, LoggingPlugin };
30
34
  export { SSOSessionSyncPlugin } from './sso.session-sync.plugin.js';
31
35
  export { getPluginRegistry, resetPluginRegistry } from './registry.js';
32
36
  export * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IAErC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,+CAA+C;IAC/F,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,mDAAmD;IAC3F,QAAQ,CAAC,QAAQ,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC,wDAAwD;AACzG,CAAC;AAED,0BAA0B;AAC1B,mBAAmB,EAAE,CAAC;AAEtB,4BAA4B;AAC5B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IAErC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,+CAA+C;IAC/F,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC,oDAAoD;IACrG,QAAQ,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,mDAAmD;IAC3F,QAAQ,CAAC,QAAQ,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC,wDAAwD;AACzG,CAAC;AAED,0BAA0B;AAC1B,mBAAmB,EAAE,CAAC;AAEtB,4BAA4B;AAC5B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAC;AAC7H,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,cAAc,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * JWT Authentication Plugin
3
+ * Priority: 10 (same as SSO - only one activates based on credential type)
4
+ *
5
+ * SOLID: Single responsibility = inject JWT bearer token
6
+ * KISS: Simple interceptor, one clear purpose
7
+ */
8
+ import { ProxyPlugin, PluginContext, ProxyInterceptor } from './types.js';
9
+ export declare class JWTAuthPlugin implements ProxyPlugin {
10
+ id: string;
11
+ name: string;
12
+ version: string;
13
+ priority: number;
14
+ createInterceptor(context: PluginContext): Promise<ProxyInterceptor>;
15
+ }
16
+ //# sourceMappingURL=jwt-auth.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-auth.plugin.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK1E,qBAAa,aAAc,YAAW,WAAW;IAC/C,EAAE,SAA6B;IAC/B,IAAI,SAAwB;IAC5B,OAAO,SAAW;IAClB,QAAQ,SAAM;IAER,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAQ3E"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * JWT Authentication Plugin
3
+ * Priority: 10 (same as SSO - only one activates based on credential type)
4
+ *
5
+ * SOLID: Single responsibility = inject JWT bearer token
6
+ * KISS: Simple interceptor, one clear purpose
7
+ */
8
+ import { logger } from '../../../../../utils/logger.js';
9
+ export class JWTAuthPlugin {
10
+ id = '@codemie/proxy-jwt-auth';
11
+ name = 'JWT Authentication';
12
+ version = '1.0.0';
13
+ priority = 10;
14
+ async createInterceptor(context) {
15
+ // Guard: skip if credentials are not JWT (mutual exclusion with SSOAuthPlugin)
16
+ if (!context.credentials || !('token' in context.credentials)) {
17
+ return new NoOpInterceptor('jwt-auth');
18
+ }
19
+ return new JWTAuthInterceptor(context.credentials);
20
+ }
21
+ }
22
+ /**
23
+ * No-op interceptor returned when this plugin is not the active auth method.
24
+ * Zero runtime cost - no hooks implemented.
25
+ */
26
+ class NoOpInterceptor {
27
+ name;
28
+ constructor(name) {
29
+ this.name = name;
30
+ }
31
+ }
32
+ class JWTAuthInterceptor {
33
+ credentials;
34
+ name = 'jwt-auth';
35
+ constructor(credentials) {
36
+ this.credentials = credentials;
37
+ }
38
+ async onRequest(context) {
39
+ // Check token expiration
40
+ if (this.credentials.expiresAt && Date.now() > this.credentials.expiresAt) {
41
+ throw new Error('JWT token expired. Please re-authenticate.');
42
+ }
43
+ // Inject Bearer token into Authorization header
44
+ context.headers['authorization'] = `Bearer ${this.credentials.token}`;
45
+ logger.debug(`[${this.name}] Injected JWT bearer token`, {
46
+ tokenPrefix: this.credentials.token.substring(0, 20) + '...',
47
+ expiresAt: this.credentials.expiresAt
48
+ ? new Date(this.credentials.expiresAt).toISOString()
49
+ : 'no expiration'
50
+ });
51
+ }
52
+ }
53
+ //# sourceMappingURL=jwt-auth.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-auth.plugin.js","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,MAAM,OAAO,aAAa;IACxB,EAAE,GAAG,yBAAyB,CAAC;IAC/B,IAAI,GAAG,oBAAoB,CAAC;IAC5B,OAAO,GAAG,OAAO,CAAC;IAClB,QAAQ,GAAG,EAAE,CAAC;IAEd,KAAK,CAAC,iBAAiB,CAAC,OAAsB;QAC5C,+EAA+E;QAC/E,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,WAA6B,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,eAAe;IACA;IAAnB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CACpC;AAED,MAAM,kBAAkB;IAGF;IAFpB,IAAI,GAAG,UAAU,CAAC;IAElB,YAAoB,WAA2B;QAA3B,gBAAW,GAAX,WAAW,CAAgB;IAAG,CAAC;IAEnD,KAAK,CAAC,SAAS,CAAC,OAAqB;QACnC,yBAAyB;QACzB,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,gDAAgD;QAChD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEtE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,6BAA6B,EAAE;YACvD,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;YAC5D,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;gBACnC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;gBACpD,CAAC,CAAC,eAAe;SACpB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Request Sanitizer Plugin
3
+ * Priority: 15 (runs after auth, before header injection)
4
+ *
5
+ * Strips request body parameters that upstream LLM proxies (LiteLLM/Azure)
6
+ * may not support. Specifically targets reasoning-related params that AI SDKs
7
+ * inject for GPT-5 and o-series "reasoning models".
8
+ *
9
+ * Problem: @ai-sdk/openai-compatible and @langchain/openai detect GPT-5/o-series
10
+ * as reasoning models and inject `reasoningSummary`, `reasoning` (object), etc.
11
+ * LiteLLM/Azure rejects these with: "Unknown parameter: 'reasoningSummary'"
12
+ *
13
+ * Scope: Only enabled for codemie-code and codemie-opencode agents (which use
14
+ * AI SDKs that inject these params). Other agents (claude, gemini) handle their
15
+ * own request formatting and don't need this sanitization.
16
+ */
17
+ import { ProxyPlugin, PluginContext, ProxyInterceptor } from './types.js';
18
+ export declare class RequestSanitizerPlugin implements ProxyPlugin {
19
+ id: string;
20
+ name: string;
21
+ version: string;
22
+ priority: number;
23
+ createInterceptor(context: PluginContext): Promise<ProxyInterceptor>;
24
+ }
25
+ //# sourceMappingURL=request-sanitizer.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-sanitizer.plugin.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkB1E,qBAAa,sBAAuB,YAAW,WAAW;IACxD,EAAE,SAAsC;IACxC,IAAI,SAAuB;IAC3B,OAAO,SAAW;IAClB,QAAQ,SAAM;IAER,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAO3E"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Request Sanitizer Plugin
3
+ * Priority: 15 (runs after auth, before header injection)
4
+ *
5
+ * Strips request body parameters that upstream LLM proxies (LiteLLM/Azure)
6
+ * may not support. Specifically targets reasoning-related params that AI SDKs
7
+ * inject for GPT-5 and o-series "reasoning models".
8
+ *
9
+ * Problem: @ai-sdk/openai-compatible and @langchain/openai detect GPT-5/o-series
10
+ * as reasoning models and inject `reasoningSummary`, `reasoning` (object), etc.
11
+ * LiteLLM/Azure rejects these with: "Unknown parameter: 'reasoningSummary'"
12
+ *
13
+ * Scope: Only enabled for codemie-code and codemie-opencode agents (which use
14
+ * AI SDKs that inject these params). Other agents (claude, gemini) handle their
15
+ * own request formatting and don't need this sanitization.
16
+ */
17
+ import { logger } from '../../../../../utils/logger.js';
18
+ /**
19
+ * Parameters to strip from request bodies before forwarding to upstream.
20
+ * These are injected by AI SDKs for "reasoning models" but may not be
21
+ * supported by all LLM proxies (LiteLLM, Azure OpenAI, etc.)
22
+ */
23
+ const UNSUPPORTED_PARAMS = [
24
+ 'reasoningSummary', // @ai-sdk/openai-compatible injects this for reasoning models
25
+ 'reasoning_summary', // Snake-case variant
26
+ 'reasoning', // Full reasoning object from OpenAI Responses API
27
+ ];
28
+ /** Agents that use AI SDKs which inject unsupported reasoning params */
29
+ const ALLOWED_AGENTS = ['codemie-code', 'codemie-opencode'];
30
+ export class RequestSanitizerPlugin {
31
+ id = '@codemie/proxy-request-sanitizer';
32
+ name = 'Request Sanitizer';
33
+ version = '1.0.0';
34
+ priority = 15; // After auth (10), before header injection (20)
35
+ async createInterceptor(context) {
36
+ const clientType = context.config.clientType;
37
+ if (!clientType || !ALLOWED_AGENTS.includes(clientType)) {
38
+ throw new Error(`Plugin disabled for agent: ${clientType}`);
39
+ }
40
+ return new RequestSanitizerInterceptor();
41
+ }
42
+ }
43
+ class RequestSanitizerInterceptor {
44
+ name = 'request-sanitizer';
45
+ async onRequest(context) {
46
+ // Only process JSON request bodies (POST/PUT/PATCH with content)
47
+ if (!context.requestBody || !context.headers['content-type']?.includes('application/json')) {
48
+ return;
49
+ }
50
+ try {
51
+ const bodyStr = context.requestBody.toString('utf-8');
52
+ const body = JSON.parse(bodyStr);
53
+ const stripped = [];
54
+ for (const param of UNSUPPORTED_PARAMS) {
55
+ if (param in body) {
56
+ delete body[param];
57
+ stripped.push(param);
58
+ }
59
+ }
60
+ if (stripped.length > 0) {
61
+ // Re-serialize and update the request body buffer
62
+ const newBodyStr = JSON.stringify(body);
63
+ context.requestBody = Buffer.from(newBodyStr, 'utf-8');
64
+ // Update Content-Length header to match new body size
65
+ context.headers['content-length'] = String(context.requestBody.length);
66
+ logger.debug(`[${this.name}] Stripped unsupported params: ${stripped.join(', ')}`);
67
+ }
68
+ }
69
+ catch {
70
+ // Not valid JSON or parse error — pass through unchanged
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=request-sanitizer.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-sanitizer.plugin.js","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD;;;;GAIG;AACH,MAAM,kBAAkB,GAAG;IACzB,kBAAkB,EAAK,8DAA8D;IACrF,mBAAmB,EAAI,qBAAqB;IAC5C,WAAW,EAAY,kDAAkD;CAC1E,CAAC;AAEF,wEAAwE;AACxE,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAE5D,MAAM,OAAO,sBAAsB;IACjC,EAAE,GAAG,kCAAkC,CAAC;IACxC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,OAAO,GAAG,OAAO,CAAC;IAClB,QAAQ,GAAG,EAAE,CAAC,CAAC,gDAAgD;IAE/D,KAAK,CAAC,iBAAiB,CAAC,OAAsB;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,2BAA2B,EAAE,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,2BAA2B;IAC/B,IAAI,GAAG,mBAAmB,CAAC;IAE3B,KAAK,CAAC,SAAS,CAAC,OAAqB;QACnC,iEAAiE;QACjE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEjC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;gBACvC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,kDAAkD;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACxC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEvD,sDAAsD;gBACtD,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAEvE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,kCAAkC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sso-auth.plugin.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/sso-auth.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK1E,qBAAa,aAAc,YAAW,WAAW;IAC/C,EAAE,SAA6B;IAC/B,IAAI,SAAwB;IAC5B,OAAO,SAAW;IAClB,QAAQ,SAAM;IAER,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAO3E"}
1
+ {"version":3,"file":"sso-auth.plugin.d.ts","sourceRoot":"","sources":["../../../../../../src/providers/plugins/sso/proxy/plugins/sso-auth.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK1E,qBAAa,aAAc,YAAW,WAAW;IAC/C,EAAE,SAA6B;IAC/B,IAAI,SAAwB;IAC5B,OAAO,SAAW;IAClB,QAAQ,SAAM;IAER,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAQ3E"}