Skip to content

[AISAGE-502] feat(ai-gateway): add a standalone ai-gateway app serving /api/v1 from a web-shared package - #6806

Merged
chrarnoldus merged 7 commits into
mainfrom
add-ai-gateway-app
Oct 1, 2026
Merged

chrarnoldus merged 7 commits into
mainfrom
add-ai-gateway-app

Conversation

@chrarnoldus

@chrarnoldus chrarnoldus commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds apps/ai-gateway, a Next.js app that serves the AI gateway API on its own, and moves the server code it shares with apps/web into a new @kilocode/web-shared package. apps/web still serves the same handlers at its existing paths, and the new app is not deployed.

  • Routes. Every route lives under /api/v1.
    • The /api/gateway and /api/openrouter prefixes that the apps/web routes from [AISAGE-502] refactor(ai-gateway): make gateway API routes thin facades #6737 use are dropped, and their v1 variants collapse into single routes. For example, /api/gateway/v1/models and /api/openrouter/models both become /api/v1/models, and the LLM proxy is /api/v1/[...path].
    • /api/fim/completions, /api/edit/completions, /api/organizations/[id]/models* and the typesafe /api/gateway/typesafe/v1/systemone move under /api/v1 as well. The typesafe route becomes /api/v1/systemone.
    • src/proxy.ts keeps the blocked-client check on /api/v1/fim/completions.
  • Path-dependent shared code accepts both apps' paths: the LLM proxy's path validation also strips /api/v1, and the blocked-client check also covers /api/v1/fim/completions. The apps/web paths behave as before, and both changes have tests.
  • packages/web-shared holds exactly what the app loads: the gateway handlers, the typesafe handler and their transitive dependencies (286 source files: 280 loaded at runtime and 6 type-only modules), their 169 colocated tests, and the next-auth and next-page ambient types.
  • Module resolution. The moved files keep their @/… import specifiers. Consumers resolve @/* to their own src/* first and to packages/web-shared/src/* second. That fallback is applied in the web tsconfigs, the web Jest config, the @kilocode/trpc d.ts build, and the Storybook webpack alias.
    • pnpm --filter @kilocode/web-shared typecheck uses tsconfig.lib.json, which resolves @/* to web-shared only and excludes tests. This checks that web-shared runtime code never imports from apps/web.
  • Dependencies. web-shared declares its npm dependencies with the same versions and optional peers as apps/web, so pnpm links the same next, next-auth and @sentry/nextjs instances. A second next instance would break headers().
  • Tests. Web-shared tests run under the apps/web Jest config (roots includes web-shared), so CI's test job runs them.
  • Local development. pnpm dev:start ai-gateway starts the app in its own opt-in group, on port 3010 plus the port offset. The app's dev script links the web app's env files and points app URLs at the web app.

Verification

Both apps ran locally with pnpm dev:start ai-gateway fake-llm. This was on this branch's code before its latest rebase onto main; the rebase only added an unrelated cloud-agent-next commit from main. The checks used a seeded user with credits, an API token, and an organization.

Gateway API. I sent the same 20 requests to both apps: apps/web on its existing paths and apps/ai-gateway on /api/v1. Both apps passed all 20.

Scenario web ai-gateway
Model list includes fake-deterministic 200 ✅ 200 ✅
v1 model list / embedding model list / transcription model list 200 ✅ 200 ✅
Model validation (fake-deterministic) 200 ✅ 200 ✅
Chat completion, non-streaming, through the fake LLM 200 ✅ 200 ✅
Chat completion, streaming, ends with [DONE] and writes one microdollar_usage row 200 ✅ 200 ✅
Chat completion via the gateway-style path 200 ✅ 200 ✅
Anonymous paid-model request / invalid token 401 ✅ 401 ✅
Unknown proxy path 400 invalid_path ✅ 400 invalid_path ✅
FIM from a blocked client (kilo/7.1.0) 426 ✅ 426 ✅
FIM / edit completions without auth 401 ✅ 401 ✅
Embeddings with an unknown model 404 model_not_found ✅ 404 model_not_found ✅
Organization models for a member / anonymous caller 200 / 401 ✅ 200 / 401 ✅
Organization model validation 200 ✅ 200 ✅
systemone without auth / with an invalid body 401 / 400 ✅ 401 / 400 ✅

A next build of apps/ai-gateway lists exactly the 15 /api/v1 routes and the proxy.

Web UI (pnpm --filter web test:e2e, 89 chromium tests). I ran the suite on this branch and on main under the same conditions.

  • The Playwright auth.setup step fails on both main and this branch, because .env.test's Stripe key is rejected during user creation. Both runs therefore used a verified fake-login session instead.
  • This branch: 68 passed, 21 failed. main: 67 passed, 22 failed. The same 21 tests fail on both: 8 in cloud-agent-sandbox-status, 9 in onboarding-wizard, 2 in app-shell-accessibility, 1 in get-started-dashboard-link and 1 in pages.visual. The only difference is passkey.spec.ts, which passed on this branch and failed on main.

Visual Changes

N/A

Reviewer Notes

What the 577 changed files contain:

Kind Files
Moved to packages/web-shared without changes 443
Only import specifiers changed from a relative path to the equivalent @/ path: 53 files that stay in apps/web and 9 moved files 62
Only a doc or code-comment path to a moved file changed 20
Moved with real changes: llm-proxy.ts and its test, withBlockedClients.ts, and the OpenAI config scan test 4
Other modified files: tsconfigs, the Jest, Storybook, trpc, oxlint and CI config, two path-based audits, the email guardrail test, dev tooling, docs and pnpm-lock.yaml 21
Added: the apps/ai-gateway app, the web-shared manifest, tsconfigs and AGENTS.md, and a withBlockedClients test 27

Review commit by commit:

  1. Moves 456 files: only renames, 0 insertions and 0 deletions.
  2. Only changes import specifiers in 62 files.
  3. Adds the web-shared manifest and resolution config, and repoints the path-based audits and guardrails.
  4. Updates doc and comment paths to moved files (21 files, each apps/web/src/… → packages/web-shared/src/…).
  5. Makes the LLM proxy and the blocked-client check accept /api/v1.
  6. Adds the app.
  7. Adds the dev:start wiring.

Other notes:

  • A path must exist in only one of apps/web/src and packages/web-shared/src. Otherwise the apps/web copy silently shadows the web-shared one inside apps/web. This is documented in packages/web-shared/AGENTS.md. Switching the moved code to @kilocode/web-shared/* specifiers would remove the fallback, but it would rewrite imports in about 2,000 web files, so it is left for a follow-up.
  • Web-shared keeps the apps/web lint rules. .oxlintrc.json turns off the stricter packages/** rules for it.
  • Known gaps in the undeployed app:
    • There is no Sentry or OTel instrumentation, and the web security headers are not copied.
    • lib/email.ts reads templates from process.cwd()/src/emails, which exists only under apps/web, so emails sent from gateway code paths would fail there.

@chrarnoldus chrarnoldus self-assigned this Sep 28, 2026
Comment thread packages/web-shared/package.json Resolved
@kilo-code-bot

kilo-code-bot Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

The only PR-authored change since the previous review commit c75cb7a1 is a documentation-comment path update in apps/web/src/scripts/mcp-catalog/catalog.ts; every other file in the incremental diff is a main commit pulled in by the rebase, and no changed-code defects were found.

Files Reviewed (1 PR-authored file)
  • apps/web/src/scripts/mcp-catalog/catalog.ts — the admin-guard comment now points at packages/web-shared/src/lib/trpc/init.ts; the target exists at HEAD, so the reference is correct.

The other 158 files in git diff c75cb7a1..HEAD come from main commits the rebase onto main added (security-sync, cloud-agent-next, webhook triggers, code-review telemetry, scheduler cards, and mobile locale updates); they are not part of this PR's authored changes. The apps/ai-gateway route layout under /api/v1 still matches the earlier collapse, and the previously discussed inline findings remain resolved.

Previous Review Summaries (9 snapshots, latest commit c75cb7a)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit c75cb7a)

Status: No Issues Found | Recommendation: Merge

Executive Summary

The 23 PR-authored files that changed since the previously reviewed tree (600c7e4) only repoint apps/web/src/... references to packages/web-shared/src/... in docs and code comments, and move the ai-gateway typesafe route to /api/v1/systemone with byte-identical content; no changed-code defects were found.

Files Reviewed (23 files)
  • AGENTS.md
  • CONTEXT.md
  • ENVIRONMENT.md
  • apps/ai-gateway/AGENTS.md
  • apps/ai-gateway/src/app/api/v1/systemone/route.ts
  • apps/mobile/src/lib/auth/auth-context.lifecycle.test.tsx
  • apps/mobile/src/lib/auth/auth-context.tsx
  • apps/web/src/lib/kiloclaw/credit-billing.ts
  • apps/web/src/scripts/mcp-catalog/catalog.ts
  • dev/seed/app/api-token.ts
  • dev/seed/app/w4c-org-pair.ts
  • docs/security-architecture-overview.md
  • docs/token-issuance-policy.md
  • packages/db/src/kiloclaw-terminal-renewal-failure-repository.ts
  • packages/worker-utils/src/direct-byok-model.ts
  • packages/worker-utils/src/organization-membership.ts
  • services/auto-routing/src/model-capabilities.ts
  • services/cloud-agent-next/test/e2e/auth.ts
  • services/cloud-agent-next/test/e2e/fake-llm-model-auth.ts
  • services/gastown/src/dos/town/town-scm.ts
  • services/kilo-mcp/src/auth.ts
  • services/kiloclaw/controller/src/config-writer.ts
  • services/kiloclaw/src/durable-objects/kiloclaw-instance/index.ts

Every updated reference target was verified to exist at HEAD, including packages/web-shared/src/lib/constants.ts:19 (ORGANIZATION_ID_HEADER) and packages/web-shared/src/lib/tokens.ts. The moved route file is byte-identical to its previous /api/typesafe/v1/systemone location and its old path is gone. The earlier inline findings remain resolved: packages/web-shared/package.json declares @kilocode/event-service, and the old /api/gateway/[...path] catch-all no longer exists.

Previous review (commit 600c7e4)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (12 files changed since the previously reviewed tree)
  • .github/workflows/kilo-app-release.yml
  • scripts/kilo-app-release-workflow.test.mjs
  • packages/web-shared/src/lib/ai-gateway/handlers/audio-transcriptions.ts
  • packages/web-shared/src/lib/ai-gateway/handlers/edit-completions.ts
  • packages/web-shared/src/lib/ai-gateway/handlers/embeddings.ts
  • packages/web-shared/src/lib/ai-gateway/handlers/embeddings.test.ts
  • packages/web-shared/src/lib/ai-gateway/handlers/fim-completions.ts
  • packages/web-shared/src/lib/ai-gateway/handlers/llm-proxy.ts
  • packages/web-shared/src/lib/ai-gateway/llm-proxy-helpers.ts
  • packages/web-shared/src/lib/ai-gateway/llm-proxy-helpers.test.ts
  • packages/web-shared/src/lib/ai-gateway/typesafe/handler.ts
  • packages/web-shared/src/lib/ai-gateway/typesafe/handler.test.ts

The diff from the previous review commit contains only main commits (#6812, #7021) pulled in by the rebase; no PR-authored changes or new defects. The prior inline findings are resolved and no new inline comments were added.

Previous review (commit cc9978f)

Status: No Issues Found | Recommendation: Merge

Executive Summary

The PR head is byte-identical to the previously reviewed tree, so the incremental scope is empty; no new changed-code defects were found in the @kilocode/web-shared extraction or the undeployed apps/ai-gateway app.

Files Reviewed (0 changed since previous review)
  • No files changed between previous review commit 4803be60 and HEAD cc9978ff: identical tree hash cbfc69db (git diff empty).
  • Re-verified current HEAD state of the previously discussed items:
    • apps/ai-gateway serves /api/v1/* with typesafe at /api/typesafe/v1/systemone; no /api/v1 catch-all overlap with the omitted typesafe paths.
    • packages/web-shared/package.json declares @kilocode/event-service and @typesafe-ai/sdk.
    • packages/web-shared/src/lib/ai-gateway/handlers/llm-proxy.ts strips /api/v1; packages/web-shared/src/middleware/withBlockedClients.ts matches /api/v1/fim/completions.

Previous review (commit 4803be6)

Status: No Issues Found | Recommendation: Merge

Executive Summary

The incremental changes since the previous review collapse the ai-gateway routes under /api/v1, move the typesafe gateway into @kilocode/web-shared, and teach the shared LLM-proxy path validation and blocked-client middleware about /api/v1. They resolve cleanly; the two previous findings are fixed or no longer apply, and no new changed-code defects were found.

Files Reviewed (43 files)
  • apps/ai-gateway/src/app/api/** — route facades under /api/v1 and /api/typesafe/v1/systemone; each maxDuration/withRestTiming pattern matches its apps/web counterpart
  • apps/ai-gateway/src/proxy.ts — blocked-client matcher moved to /api/v1/fim/completions
  • apps/ai-gateway/AGENTS.md — route layout documentation
  • packages/web-shared/src/lib/ai-gateway/handlers/llm-proxy.ts (+ test) — /api/v1 accepted in path validation
  • packages/web-shared/src/middleware/withBlockedClients.ts (+ new test) — /api/v1/fim/completions blocked
  • packages/web-shared/src/lib/ai-gateway/typesafe/{handler,schemas}.ts (+ tests) — moved, relative provider-privacy import
  • packages/web-shared/package.json, pnpm-lock.yaml — @typesafe-ai/sdk declared
  • Deleted apps/ai-gateway /api/gateway and /api/openrouter facades (collapsed into /api/v1)

Previous review (commit 79ffba2)

Status: No Issues Found | Recommendation: Merge

Executive Summary

The branch was rebased, so this run re-reviewed the whole PR at current HEAD 79ffba2; the @kilocode/web-shared extraction and the new undeployed apps/ai-gateway app resolve cleanly, and no changed-code defects were found.

Files Reviewed (6 areas)
  • apps/ai-gateway/** - 38 route facades diffed against their apps/web counterparts (identical); proxy.ts, next.config.mjs, package.json, tsconfig.json, scripts/dev.sh, .gitignore, AGENTS.md
  • packages/web-shared/{package.json,tsconfig.json,tsconfig.lib.json,AGENTS.md} - dependency/version parity; every bare import is declared
  • apps/web/** - 77 import-path rewrites; every added @/ target resolves, and no path exists in both apps/web/src and packages/web-shared/src
  • packages/trpc/{tsconfig.json,rollup.config.mjs}, apps/storybook/** - alias fallback wiring
  • dev/local/{services.ts,services.test.ts,env-sync/plan.ts}, .github/workflows/*, .oxlintrc.json - dev wiring and CI path filters
  • apps/web/{tsconfig.json,tsconfig.scripts.json,jest.config.ts,package.json,src/proxy.ts} - @/* fallback

Previous review (commit e5d0626)

Status: No Issues Found | Recommendation: Merge

The incremental commit adds apps/ai-gateway/src/app/api/gateway/typesafe/[...path]/route.ts, which returns 404 for the omitted typesafe paths. This resolves the previous finding that the gateway catch-all proxied them; the bundled AGENTS.md note matches the new route.

Files Reviewed (2 files)
  • apps/ai-gateway/AGENTS.md - documents the new 404 route
  • apps/ai-gateway/src/app/api/gateway/typesafe/[...path]/route.ts - new route; returns 404, takes precedence over /api/gateway/[...path]

Resolved since the last review:

  • /api/gateway/[...path] catch-all claiming typesafe paths - fixed in e5d06263cb.
  • Missing @kilocode/event-service dependency in packages/web-shared/package.json - no longer applies after the rebase.

Previous review (commit 1492630)

Status: 1 Issue Found | Recommendation: Address before merge

Executive Summary

The incremental guardrail-test change is correct and adds no new findings; the only current unresolved issue remains the ai-gateway catch-all that serves the intentionally omitted /api/gateway/typesafe/* routes.

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1
Issue Details (click to expand)

SUGGESTION

File Line Issue
apps/ai-gateway/src/app/api/gateway/[...path]/route.ts 5 Catch-all also matches the intentionally omitted /api/gateway/typesafe/*, proxying it instead of returning 404.
Files Reviewed (8 areas)
  • apps/web/src/lib/email-literal-guardrail.test.ts - incremental change now scans apps/web/src and packages/web-shared/src; verified the only Mailgun match is packages/web-shared/src/lib/email-mailgun.ts and that no disallowed email literals exist under packages/web-shared/src
  • apps/ai-gateway/** - route facades compared against apps/web; catch-all re-verified at current HEAD (still no typesafe route)
  • packages/web-shared/package.json - @kilocode/event-service now declared; previous WARNING no longer reproduces
  • packages/web-shared/{tsconfig.json,tsconfig.lib.json,AGENTS.md}
  • apps/web/{tsconfig.json,tsconfig.scripts.json,jest.config.ts,package.json,next.config.mjs,src/proxy.ts}
  • apps/storybook/**, packages/trpc/{tsconfig.json,rollup.config.mjs}
  • packages/web-shared/src/** import resolution
  • dev/local/**, .github/workflows/*, .oxlintrc.json

Fix these issues in Kilo Cloud

Previous review (commit 37ff8c7)

Status: 1 Issue Found | Recommendation: Address before merge

Executive Summary

The @kilocode/web-shared extraction resolves cleanly in the current tree; the only unresolved finding is the ai-gateway catch-all serving the intentionally omitted /api/gateway/typesafe/* routes.

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1
Issue Details (click to expand)

SUGGESTION

File Line Issue
apps/ai-gateway/src/app/api/gateway/[...path]/route.ts 5 Catch-all also matches the intentionally omitted /api/gateway/typesafe/*, proxying it instead of returning 404.
Files Reviewed (7 areas)
  • apps/ai-gateway/** - all route facades diffed byte-for-byte against their apps/web counterparts (identical); proxy.ts, next.config.mjs, package.json, tsconfig.json, scripts/dev.sh, .gitignore
  • packages/web-shared/{package.json,tsconfig.json,tsconfig.lib.json,AGENTS.md} - dependency/version parity, @/* resolution, tsconfig.lib.json restrictiveness
  • apps/web/{tsconfig.json,tsconfig.scripts.json,jest.config.ts,package.json,next.config.mjs,src/proxy.ts} - path fallback wiring
  • apps/storybook/**, packages/trpc/{tsconfig.json,rollup.config.mjs} - alias fallback
  • apps/web/src/** import rewrites (62 files) - every added @/ target resolves; no duplicate/shadowing modules; all relative imports still resolve
  • packages/web-shared/src/** - all runtime @/* and relative imports resolve within the package; no undeclared workspace or npm imports
  • dev/local/{services.ts,services.test.ts,env-sync/plan.ts}, .github/workflows/*, .oxlintrc.json, apps/web/src/scripts/mcp-catalog/catalog.ts, apps/web/src/scripts/db/kiloclaw-price-rollout-audit.ts

Fix these issues in Kilo Cloud

Previous review (commit d10efa3)

Status: 4 Issues Found | Recommendation: Address before merge

Executive Summary

The @kilocode/web-shared extraction missed two apps/web-only modules that moved-out runtime files still import, breaking the web-shared typecheck and the ai-gateway build.

Overview

Severity Count
CRITICAL 2
WARNING 1
SUGGESTION 1
Issue Details (click to expand)

CRITICAL

File Line Issue
packages/web-shared/src/lib/trpc/init.ts 35 Imports @/lib/trpc/control-plane-budget, which was not moved and still lives only in apps/web/src/lib/trpc/control-plane-budget.ts. tsconfig.lib.json maps @/* to ./src/* only, so pnpm --filter @kilocode/web-shared typecheck fails, and the ai-gateway app (whose @/* fallback also lacks this module) cannot build.
packages/web-shared/src/lib/session-ingest-client.ts 6 Imports @/lib/bounded-service-fetch, which was not moved and still lives only in apps/web/src/lib/bounded-service-fetch.ts. Same unresolved-module failure in the web-shared lib typecheck.

WARNING

File Line Issue
packages/web-shared/package.json 61 @kilocode/event-service (imported by src/lib/session-ingest-client.test.ts) is not declared; pnpm's isolated linker will not resolve it under packages/web-shared.

SUGGESTION

File Line Issue
apps/ai-gateway/src/app/api/gateway/[...path]/route.ts 5 The catch-all also matches the intentionally omitted /api/gateway/typesafe/* routes and proxies them instead of returning 404.
Files Reviewed (7 files / 2 commits)
  • packages/web-shared/src/lib/trpc/route-handler.ts - new shared tRPC handler (behavior matches the previous apps/web implementation)
  • packages/web-shared/src/lib/organizations/organization-settings-route-handler.ts - restricted router; verified organizations.settings procedures keep the same context/middleware
  • packages/web-shared/package.json, tsconfig.json, tsconfig.lib.json - dependency/version parity with apps/web confirmed (next, react, next-auth, @sentry/nextjs all match)
  • apps/web/src/lib/trpc-route-handler.ts, apps/web/tsconfig.json, apps/web/jest.config.ts, packages/trpc/{tsconfig.json,rollup.config.mjs} - path fallback wiring verified
  • apps/ai-gateway/* - all 38 route facades diffed byte-for-byte against their apps/web counterparts (identical); reviewed proxy.ts, next.config.mjs, package.json, tsconfig.json, scripts/dev.sh
  • dev/local/services.ts, dev/local/env-sync/plan.ts, .oxlintrc.json, CI workflows, apps/web/src/scripts/mcp-catalog/catalog.ts - reviewed

Fix these issues in Kilo Cloud


Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0

Review guidance: REVIEW.md from base branch main

@chrarnoldus
chrarnoldus force-pushed the add-ai-gateway-app branch 3 times, most recently from 4803be6 to cc9978f Compare September 30, 2026 13:32
@chrarnoldus chrarnoldus changed the title feat(ai-gateway): add ai-gateway Next app backed by a web-shared package feat(ai-gateway): add a standalone ai-gateway app serving /api/v1 from a web-shared package Sep 30, 2026
…web-shared

Pure file moves, no content changes. The files are the transitive
dependencies of the gateway route handlers and the typesafe systemone
handler, their colocated tests, and the next-auth and next-page ambient
types the moved code needs. The next commit wires the package so the
moved code resolves again.
…t @/

Moving code into packages/web-shared broke relative imports between moved
files and files that stay in apps/web. Only the import specifiers change,
from relative paths to the equivalent @/ paths; the next commit makes @/
resolve in both packages.
- Add the @kilocode/web-shared package manifest. Its dependencies match
  the apps/web versions and optional peers, so pnpm links the same next,
  next-auth and @sentry/nextjs instances as apps/web.
- Resolve @/* to apps/web/src first and packages/web-shared/src second in
  the web tsconfigs, Jest, the @kilocode/trpc build and Storybook. Moved
  files keep their import specifiers.
- tsconfig.lib.json proves web-shared runtime code only imports itself.
- Run web-shared tests from the web Jest config, keep the apps/web lint
  rules for the moved code, point path-based audits and guardrails at the
  new locations, and include web-shared in CI path filters.
Docs and code comments that name a file moved to packages/web-shared now
use its new path. Only exact file references change.
The ai-gateway app serves the gateway routes under /api/v1 instead of
/api/gateway and /api/openrouter. The LLM proxy now also strips the
/api/v1 prefix when it validates the path, and the blocked-client check
also covers /api/v1/fim/completions. The existing apps/web paths behave as
before.
The routes are backed by the handlers in packages/web-shared and all live
under /api/v1, without the /api/gateway and /api/openrouter prefixes the
apps/web routes from #6737 use. The apps/web v1 variants collapse into the
same routes, so /api/gateway/v1/models and /api/openrouter/models both
become /api/v1/models. /api/fim, /api/edit and /api/organizations move
under /api/v1 as well, and the typesafe gateway
/api/gateway/typesafe/v1/systemone becomes /api/v1/systemone.
src/proxy.ts keeps the blocked-client check for /api/v1/fim/completions.

The app is not deployed. Its dev script runs next dev with the web app's
env files and points app URLs at the web app.
pnpm dev:start ai-gateway starts apps/ai-gateway in its own opt-in group
on port 3010 plus the port offset, clear of the ports the web dev script
probes. Selecting it also syncs apps/web/.env.development.local, which the
app reads.
@chrarnoldus
chrarnoldus merged commit 825754a into main Oct 1, 2026
84 checks passed
@chrarnoldus
chrarnoldus deleted the add-ai-gateway-app branch October 1, 2026 08:37
eshurakov added a commit that referenced this pull request Oct 1, 2026
fix(deps): align next 16.3.6 in web-shared and ai-gateway with the lockfile

#7042 pinned next 16.3.6 through a pnpm override and in apps/web, while #6806
added packages/web-shared and apps/ai-gateway still pinned at 16.3.3. With the
override, their lockfile specifiers no longer match, so every frozen-lockfile
install on main fails with ERR_PNPM_OUTDATED_LOCKFILE and CI cannot go green.

Pin both packages to 16.3.6 to match apps/web and the override, and refresh
the lockfile.
kilo-code-bot Bot added a commit that referenced this pull request Oct 2, 2026
…per (#7093)

chore(web-shared): delete dead removeChatCompletionsReasoning helper

Unreferenced anywhere in the repo or the kilocode consumer; introduced in #6806 and never wired up.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
@chrarnoldus chrarnoldus changed the title feat(ai-gateway): add a standalone ai-gateway app serving /api/v1 from a web-shared package [AISAGE-502] feat(ai-gateway): add a standalone ai-gateway app serving /api/v1 from a web-shared package Oct 19, 2026
eshurakov pushed a commit that referenced this pull request Oct 19, 2026
…from ai-gateway

apps/ai-gateway declares @playwright/test but never invokes it: no test or
e2e script, no playwright.config.*, no *.spec.ts/*.test.ts files, and no CI
workflow runs Playwright against the gateway (its build-ai-gateway job only
runs `next build`). The declaration was carried over from apps/web when the
standalone gateway app was added (#6806) and is a leftover.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants