feat(api): expose REST-only agent routes
Agent CI/CD / docker-image (push) Failing after 35s
Agent CI/CD / deploy-fallback-log (push) Successful in 1s

This commit is contained in:
2026-07-30 20:38:52 +08:00
parent 2415f75841
commit 94529cb141
29 changed files with 3525 additions and 378 deletions
+17 -15
View File
@@ -18,6 +18,7 @@ import {
ResultReferenceStore,
} from "./results/store.js";
import { buildChatRouter } from "./routes/chat.js";
import { buildAgentPublicRouter } from "./routes/publicApi.js";
import { opencodeRuntime } from "./runtime/opencode.js";
import {
getRuntimeSessionContext,
@@ -113,7 +114,6 @@ app.post("/internal/tools/tjwater-cli-call", async (req, res) => {
server: config.TJWATER_API_BASE_URL,
access_token: context.accessToken,
project_id: context.projectId,
network: context.network,
});
const cliArgs = ["--auth-stdin", ...command.split(/\s+/).filter(Boolean)];
@@ -402,7 +402,7 @@ app.post("/internal/tools/web-search", async (req, res) => {
try {
const response = await callBackendJson(
"/api/v1/web-search",
"/api/v1/web-searches",
context,
payload,
);
@@ -445,7 +445,7 @@ app.post("/internal/tools/geocode", async (req, res) => {
try {
const response = await callBackendJson(
"/api/v1/tianditu/geocode",
"/api/v1/geocoding-requests",
context,
{ keyword },
);
@@ -462,19 +462,21 @@ app.post("/internal/tools/geocode", async (req, res) => {
}
});
const chatRouter = buildChatRouter(
sessionBridge,
opencodeRuntime,
sessionMetadataStore,
sessionUiStateStore,
memoryStore,
sessionTranscriptStore,
learningOrchestrator,
resultReferenceResolver,
);
const authenticatedChatRouter = express.Router();
authenticatedChatRouter.use(requireAgentAuth, chatRouter);
app.use(
"/api/v1/agent/chat",
requireAgentAuth,
buildChatRouter(
sessionBridge,
opencodeRuntime,
sessionMetadataStore,
sessionUiStateStore,
memoryStore,
sessionTranscriptStore,
learningOrchestrator,
resultReferenceResolver,
),
"/api/v1/agent",
buildAgentPublicRouter(authenticatedChatRouter),
);
const bootstrap = async () => {