feat: add Temporal-backed TaskTree service

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
root
2026-07-16 20:59:51 +02:00
parent de43ed5508
commit 23de918e94
32 changed files with 3410 additions and 3 deletions
+6
View File
@@ -96,6 +96,7 @@ import {
import { HWPOD_TOPOLOGY_CONTRACT_VERSION } from "./hwpod-topology-read-model.ts";
import { handleCaseRunHttp } from "./server-caserun-http.ts";
import { handleProjectManagementProxyHttp } from "./project-management-proxy.ts";
import { handleTaskTreeProxyHttp } from "./tasktree-proxy.ts";
import { handleDashboardSummaryHttp } from "./server-dashboard-http.ts";
import { HWPOD_NODE_OPS, HWPOD_NODE_OPS_CONTRACT_VERSION } from "../../tools/src/hwpod-node-ops-contract.ts";
@@ -719,6 +720,10 @@ async function handleRestAdapter(request, response, url, options) {
await handleProjectManagementProxyHttp(request, response, url, options);
return;
}
if (url.pathname === "/v1/tasktree" || url.pathname.startsWith("/v1/tasktree/")) {
await handleTaskTreeProxyHttp(request, response, url, options);
return;
}
if (url.pathname === "/v1/users/me/profile" && request.method === "PATCH") {
await handleUserBillingProfileHttp(request, response, options);
@@ -1020,6 +1025,7 @@ function navIdForRestPath(pathname, method = "GET") {
if (pathname.startsWith("/v1/admin/billing/")) return "admin.billing";
if (pathname === "/v1/skills" || pathname.startsWith("/v1/skills/")) return "system.skills";
if (pathname === "/v1/project-management" || pathname.startsWith("/v1/project-management/")) return "project.mdtodo";
if (pathname === "/v1/tasktree" || pathname.startsWith("/v1/tasktree/")) return "project.tasktree";
if (pathname === "/v1/api-keys" || pathname === "/v1/api-keys/default" || pathname.startsWith("/v1/api-keys/")) return "user.apiKeys";
if (pathname === "/v1/users/me/profile" || pathname === "/v1/users/me/password") return "system.settings";
if (pathname === "/v1/workbench/debug/fake-sse" || pathname.startsWith("/v1/workbench/debug/fake-sse/") || pathname === "/v1/workbench/debug/kafka-sse" || pathname.startsWith("/v1/workbench/debug/kafka-sse/")) return "workbench.debug";