Repository navigation
feat(kimi): sync Code, Web, and Moonshot providers - #7531
diegosouzapw merged 2 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the Kimi and Moonshot provider integrations, migrating Kimi Web to use curated static models and access tokens from localStorage, introducing a dedicated MoonshotExecutor for native Moonshot API compatibility, and updating Kimi Coding to support both OpenAI and Claude protocols with CLI identity headers. It also updates the dashboard UI to support curated-only model catalogs and Kimi Code CLI authentication methods. The review feedback identifies two important issues: a performance concern where synchronous execFileSync calls during token refresh block the Node.js event loop (suggesting global caching of the device model), and a potential API compatibility bug in kimi-web.ts where explicit null values for tools or functions could trigger unexpected 400 errors.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
600ff8d to
ba01f6e
Compare
358bb46 to
d2b2994
Compare
|
Thanks for the thorough Kimi/Moonshot sync — this is a well-scoped, well-tested rewrite (resolvePublicCred used correctly for the public client id, errors routed through the existing makeExecutorErrorResult/sanitizeErrorMessage pattern, no |
d2b2994 to
2cac578
Compare
I've just addressed the issue you requested. Is it ready for merging now? |
310ac82 to
cb9d6a8
Compare
The Kimi/Moonshot provider sync added a net +1 line to both src/sse/services/auth.ts and ProviderDetailPageClient.tsx, pushing each 1 line past its frozen cap in file-size-baseline.json. Drop one optional blank line in each (prettier-neutral, no behavior change) to land back at/under the frozen baseline. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
cb9d6a8 to
846c090
Compare
9544fb6
into
diegosouzapw:release/v3.8.49
|
Merged into |
* feat(kimi): sync Code, Web, and Moonshot providers * chore(quality): trim frozen file-size overflow in Kimi sync The Kimi/Moonshot provider sync added a net +1 line to both src/sse/services/auth.ts and ProviderDetailPageClient.tsx, pushing each 1 line past its frozen cap in file-size-baseline.json. Drop one optional blank line in each (prettier-neutral, no behavior change) to land back at/under the frozen baseline. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> --------- Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
* feat(kimi): sync Code, Web, and Moonshot providers * chore(quality): trim frozen file-size overflow in Kimi sync The Kimi/Moonshot provider sync added a net +1 line to both src/sse/services/auth.ts and ProviderDetailPageClient.tsx, pushing each 1 line past its frozen cap in file-size-baseline.json. Drop one optional blank line in each (prettier-neutral, no behavior change) to land back at/under the frozen baseline. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> --------- Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Summary
k3/k2d6catalog and no remote model import pathWhy
The existing Kimi integrations represented authentication modes as separate visible providers and relied on stale cookie, model-discovery, and generic OpenAI-compatible assumptions. Those assumptions no longer matched the current Kimi Code CLI, Kimi Web client, or Moonshot API contracts.
Impact
Validation
npm run lintnpm run typecheck:corenpm run check:cyclesOMNIROUTE_USE_TURBOPACK=0 npm run build)git diff --checkLocal build note
The default Turbopack invocation cannot follow this Windows worktree's junctioned
node_modulesdirectory because it points outside the worktree filesystem root. The supported Webpack fallback completed successfully; the remaining non-fatal standalone asset-copy warning is caused by the same junction resolving source and destination to the same directory.CI Follow-up (2026-07-17)
hiddenFromDashboardproperty access. The frozen dashboard error baseline was not widened.Rebase Follow-up (2026-07-17)
release/v3.8.49at873e3da62.video_urlhandling.Root Refresh (2026-07-17,
93e217e76)release/v3.8.49root at93e217e76375d1e250708ea0d0ce85618d346a89.2056 / 2056.Root Refresh (2026-07-18,
ed4944e77)release/v3.8.49root ated4944e771d3e5dba944534414cf470c85598f22.git diff --checkand core typecheck passed.Recovery Audit (2026-07-18,
e6f81d827)release/v3.8.49root ate6f81d827e5d92f13fd4ac157f82dd1e6bc7bd1a.ProviderDetailPageClient.tsx785 / 786,auth.ts2460 / 2461, andprovider-models-route.test.ts1739 / 1752. All 342 tests across the changed Node test files, core typecheck, file-size, and strict docs-count gates pass.tests/unit/microsoft-designer-web-6672.test.tsfrom Strykertap.testFiles; the newfreetheaialias collides with the test fixture prefixfta, the translate-path golden does not yet containfreetheai, and structural complexity is 2058 against the committed 2056 baseline. Cognitive complexity is 890 / 890.