@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.
- package/README.md +5 -6
- package/bin/codemie-opencode.js +8 -1
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +5 -0
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/skills/index.d.ts +4 -0
- package/dist/agents/codemie-code/skills/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/skills/index.js +4 -0
- package/dist/agents/codemie-code/skills/index.js.map +1 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts +52 -0
- package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +1 -0
- package/dist/agents/codemie-code/skills/sync/SkillSync.js +165 -0
- package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +1 -0
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +38 -8
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +11 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +175 -18
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/types.d.ts +18 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +7 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.js +10 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +11 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.js +32 -0
- package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts +1 -8
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +96 -101
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/codemie-statusline.mjs +42 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +10 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +98 -0
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +81 -0
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-baseline.sh +39 -0
- package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.js +0 -4
- package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
- package/dist/agents/plugins/codemie-code-binary.d.ts +17 -0
- package/dist/agents/plugins/codemie-code-binary.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-binary.js +94 -0
- package/dist/agents/plugins/codemie-code-binary.js.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/index.d.ts +3 -0
- package/dist/agents/plugins/codemie-code-hooks/index.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/index.js +3 -0
- package/dist/agents/plugins/codemie-code-hooks/index.js.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts +22 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js +64 -0
- package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts +15 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js +522 -0
- package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js.map +1 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts +56 -12
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +502 -125
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts +8 -0
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +45 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts +12 -2
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-model-configs.js +329 -24
- package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.paths.d.ts +16 -1
- package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.paths.js +43 -5
- package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.js +91 -25
- package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.d.ts +5 -0
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.js +99 -2
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +59 -0
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +200 -0
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +3 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +35 -13
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +8 -7
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +1 -1
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.js +5 -2
- package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/FrameworksCheck.js +5 -2
- package/dist/cli/commands/doctor/checks/FrameworksCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.js +113 -0
- package/dist/cli/commands/doctor/checks/JWTAuthCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/index.js +1 -0
- package/dist/cli/commands/doctor/checks/index.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +2 -1
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +28 -5
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +80 -1
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/commands/test-metrics.d.ts +17 -0
- package/dist/cli/commands/test-metrics.d.ts.map +1 -0
- package/dist/cli/commands/test-metrics.js +198 -0
- package/dist/cli/commands/test-metrics.js.map +1 -0
- package/dist/cli/index.js +9 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +12 -2
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/providers/core/types.d.ts +22 -1
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/core/types.js +12 -1
- package/dist/providers/core/types.js.map +1 -1
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/integration/setup-ui.d.ts.map +1 -1
- package/dist/providers/integration/setup-ui.js +3 -1
- package/dist/providers/integration/setup-ui.js.map +1 -1
- package/dist/providers/plugins/jwt/index.d.ts +9 -0
- package/dist/providers/plugins/jwt/index.d.ts.map +1 -0
- package/dist/providers/plugins/jwt/index.js +13 -0
- package/dist/providers/plugins/jwt/index.js.map +1 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts +9 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.js +153 -0
- package/dist/providers/plugins/jwt/jwt.setup-steps.js.map +1 -0
- package/dist/providers/plugins/jwt/jwt.template.d.ts +12 -0
- package/dist/providers/plugins/jwt/jwt.template.d.ts.map +1 -0
- package/dist/providers/plugins/jwt/jwt.template.js +55 -0
- package/dist/providers/plugins/jwt/jwt.template.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts +16 -0
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js +53 -0
- package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts +25 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js +74 -0
- package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js +13 -2
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +6 -3
- package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/types.d.ts +2 -2
- package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +2 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +4 -0
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js +39 -10
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.d.ts +3 -1
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.js +70 -12
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +38 -8
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +83 -85
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.models.js +3 -3
- package/dist/providers/plugins/sso/sso.models.js.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js +4 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +7 -0
- package/dist/providers/plugins/sso/sso.template.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +16 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/native-installer.d.ts.map +1 -1
- package/dist/utils/native-installer.js +35 -0
- package/dist/utils/native-installer.js.map +1 -1
- package/dist/utils/paths.d.ts +1 -1
- package/dist/utils/paths.js +1 -1
- package/dist/utils/security.d.ts +18 -1
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +102 -0
- package/dist/utils/security.js.map +1 -1
- package/package.json +2 -1
- package/scripts/copy-mr-skill-to-global.ts +0 -252
package/dist/providers/index.js
CHANGED
|
@@ -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,
|
|
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 = [...
|
|
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":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA0B;IAC7D,OAAO,GAAG,QAAQ,CAAC,WAAW,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,OAAO;QACL,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QACpC,KAAK,EAAE,QAAQ,CAAC,IAAI;KACrB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAA6B;IACjE,oFAAoF;IACpF,MAAM,MAAM,GAAG,CAAC,GAAG,
|
|
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,
|
|
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;
|
|
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;
|
|
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"}
|