MCPcopy
hub / github.com/BuilderIO/agent-native / createProgressHandler

Function createProgressHandler

packages/core/src/progress/routes.ts:41–87  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

39}
40
41export function createProgressHandler() {
42 return defineEventHandler(async (event: H3Event) => {
43 const rawMethod = getMethod(event);
44 const method = rawMethod === "HEAD" ? "GET" : rawMethod;
45 if (rawMethod === "OPTIONS") {
46 setResponseStatus(event, 204);
47 return "";
48 }
49 const pathname = (event.url?.pathname || "")
50 .replace(/^\/+/, "")
51 .replace(/\/+$/, "");
52 const parts = pathname ? pathname.split("/") : [];
53 const owner = await resolveOwner(event);
54
55 // GET / — list
56 if (method === "GET" && parts.length === 0) {
57 const q = getQuery(event);
58 return listRuns(owner, {
59 activeOnly: q.active === "true" || q.active === "1",
60 limit: parseLimit(q.limit),
61 });
62 }
63
64 // GET /:id
65 if (method === "GET" && parts.length === 1) {
66 const row = await getRun(parts[0], owner);
67 if (!row) {
68 setResponseStatus(event, 404);
69 return { error: "Not found" };
70 }
71 return row;
72 }
73
74 // DELETE /:id
75 if (method === "DELETE" && parts.length === 1) {
76 const ok = await deleteRun(parts[0], owner);
77 if (!ok) {
78 setResponseStatus(event, 404);
79 return { error: "Not found" };
80 }
81 return { ok: true };
82 }
83
84 setResponseStatus(event, 404);
85 return { error: "Not found" };
86 });
87}

Callers 2

progress.spec.tsFile · 0.85
createCoreRoutesPluginFunction · 0.85

Calls 5

listRunsFunction · 0.85
deleteRunFunction · 0.85
resolveOwnerFunction · 0.70
parseLimitFunction · 0.70
getRunFunction · 0.70

Tested by

no test coverage detected