@zauso-ai/capstan-dev 0.1.4 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+yBrE;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA6M5B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAy0BrE;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAkP5B"}
package/dist/server.js CHANGED
@@ -1,23 +1,90 @@
1
1
  import { createServer } from "node:http";
2
+ import { readFile } from "node:fs/promises";
3
+ import { existsSync } from "node:fs";
2
4
  import path from "node:path";
3
5
  import { Hono } from "hono";
4
6
  import { cors } from "hono/cors";
5
7
  import { scanRoutes } from "@zauso-ai/capstan-router";
6
- import { createContext, createApproval, getApproval, listApprovals, resolveApproval, } from "@zauso-ai/capstan-core";
8
+ import { createContext, createApproval, mountApprovalRoutes, } from "@zauso-ai/capstan-core";
7
9
  import { loadApiHandlers, loadPageModule } from "./loader.js";
8
10
  import { watchRoutes } from "./watcher.js";
9
11
  import { printStartupBanner } from "./printer.js";
10
12
  // ---------------------------------------------------------------------------
13
+ // Live Reload (SSE)
14
+ // ---------------------------------------------------------------------------
15
+ /**
16
+ * Set of active SSE connections for live reload. When routes are rebuilt the
17
+ * dev server sends an event to every connected client, which triggers a
18
+ * browser page reload.
19
+ */
20
+ const sseClients = new Set();
21
+ /**
22
+ * Notify all connected live-reload clients that routes have changed and the
23
+ * page should reload.
24
+ */
25
+ function notifyLiveReloadClients() {
26
+ for (const res of sseClients) {
27
+ try {
28
+ res.write("data: reload\n\n");
29
+ }
30
+ catch {
31
+ // Client disconnected — remove it.
32
+ sseClients.delete(res);
33
+ }
34
+ }
35
+ }
36
+ /**
37
+ * Small inline `<script>` tag injected before `</body>` in HTML pages served
38
+ * during development. It opens an SSE connection to the dev server and
39
+ * reloads the page when a "reload" event arrives.
40
+ */
41
+ const LIVE_RELOAD_SCRIPT = `<script>
42
+ (function(){
43
+ var es = new EventSource('/__capstan_livereload');
44
+ es.onmessage = function(e) { if (e.data === 'reload') location.reload(); };
45
+ es.onerror = function() { setTimeout(function(){ es.close(); es = new EventSource('/__capstan_livereload'); }, 1000); };
46
+ })();
47
+ </script>`;
48
+ /**
49
+ * Inject the live-reload `<script>` into an HTML string by placing it
50
+ * immediately before `</body>`. If `</body>` is not found the script is
51
+ * appended at the end as a best-effort fallback.
52
+ */
53
+ function injectLiveReload(html) {
54
+ const idx = html.lastIndexOf("</body>");
55
+ if (idx !== -1) {
56
+ return html.slice(0, idx) + LIVE_RELOAD_SCRIPT + "\n" + html.slice(idx);
57
+ }
58
+ return html + LIVE_RELOAD_SCRIPT;
59
+ }
60
+ // ---------------------------------------------------------------------------
11
61
  // Helpers
12
62
  // ---------------------------------------------------------------------------
63
+ /** Default maximum request body size: 1 MB */
64
+ const DEFAULT_MAX_BODY_SIZE = 1_048_576;
13
65
  /**
14
66
  * Read the full request body from an IncomingMessage and return it
15
67
  * as a parsed JSON value (or raw string if JSON parsing fails).
68
+ *
69
+ * If the accumulated body exceeds {@link maxBytes} the request stream is
70
+ * destroyed and the promise rejects with an error whose `statusCode`
71
+ * property is `413`.
16
72
  */
17
- function readBody(req) {
73
+ function readBody(req, maxBytes = DEFAULT_MAX_BODY_SIZE) {
18
74
  return new Promise((resolve, reject) => {
19
75
  const chunks = [];
20
- req.on("data", (chunk) => chunks.push(chunk));
76
+ let received = 0;
77
+ req.on("data", (chunk) => {
78
+ received += chunk.length;
79
+ if (received > maxBytes) {
80
+ req.destroy();
81
+ const err = new Error(`Request body exceeds maximum allowed size of ${maxBytes} bytes`);
82
+ err.statusCode = 413;
83
+ reject(err);
84
+ return;
85
+ }
86
+ chunks.push(chunk);
87
+ });
21
88
  req.on("error", reject);
22
89
  req.on("end", () => {
23
90
  const raw = Buffer.concat(chunks).toString("utf-8");
@@ -63,6 +130,36 @@ function buildStandaloneContext(request, auth) {
63
130
  honoCtx: {},
64
131
  };
65
132
  }
133
+ // ---------------------------------------------------------------------------
134
+ // MIME types for static file serving
135
+ // ---------------------------------------------------------------------------
136
+ const MIME_TYPES = {
137
+ ".css": "text/css",
138
+ ".js": "application/javascript",
139
+ ".mjs": "application/javascript",
140
+ ".json": "application/json",
141
+ ".png": "image/png",
142
+ ".jpg": "image/jpeg",
143
+ ".jpeg": "image/jpeg",
144
+ ".gif": "image/gif",
145
+ ".svg": "image/svg+xml",
146
+ ".ico": "image/x-icon",
147
+ ".html": "text/html",
148
+ ".htm": "text/html",
149
+ ".txt": "text/plain",
150
+ ".woff": "font/woff",
151
+ ".woff2": "font/woff2",
152
+ ".ttf": "font/ttf",
153
+ ".otf": "font/otf",
154
+ ".eot": "application/vnd.ms-fontobject",
155
+ ".webp": "image/webp",
156
+ ".avif": "image/avif",
157
+ ".webm": "video/webm",
158
+ ".mp4": "video/mp4",
159
+ ".map": "application/json",
160
+ ".xml": "application/xml",
161
+ ".pdf": "application/pdf",
162
+ };
66
163
  /**
67
164
  * Given a scanned route manifest, build a fresh Hono application with all
68
165
  * routes registered. Returns the Hono app plus metadata used by the
@@ -339,7 +436,7 @@ async function buildApp(manifest, config) {
339
436
  },
340
437
  },
341
438
  });
342
- return c.html(result.html, result.statusCode);
439
+ return c.html(injectLiveReload(result.html), result.statusCode);
343
440
  }
344
441
  catch {
345
442
  // @zauso-ai/capstan-react not available or render failed -- serve a
@@ -355,7 +452,8 @@ async function buildApp(manifest, config) {
355
452
  <div id="capstan-root">
356
453
  <p>Page: ${route.urlPattern}</p>
357
454
  </div>
358
- <script>window.__CAPSTAN_DATA__ = ${JSON.stringify({ loaderData, params })}</script>
455
+ <script>window.__CAPSTAN_DATA__ = ${JSON.stringify({ loaderData, params }).replace(/</g, '\\u003c').replace(/>/g, '\\u003e')}</script>
456
+ ${LIVE_RELOAD_SCRIPT}
359
457
  </body>
360
458
  </html>`;
361
459
  return c.html(html);
@@ -363,100 +461,7 @@ async function buildApp(manifest, config) {
363
461
  });
364
462
  }
365
463
  // --- Approval management endpoints ----------------------------------------
366
- /** List all approvals, optionally filtered by ?status=pending|approved|denied */
367
- app.get("/capstan/approvals", (c) => {
368
- const statusParam = new URL(c.req.url).searchParams.get("status");
369
- const items = listApprovals(statusParam ?? undefined);
370
- return c.json({ approvals: items });
371
- });
372
- /** Get a single approval by ID */
373
- app.get("/capstan/approvals/:id", (c) => {
374
- const id = c.req.param("id");
375
- const approval = getApproval(id);
376
- if (!approval) {
377
- return c.json({ error: "Approval not found" }, 404);
378
- }
379
- return c.json(approval);
380
- });
381
- /** Approve a pending approval — re-executes the original handler */
382
- app.post("/capstan/approvals/:id/approve", async (c) => {
383
- const id = c.req.param("id");
384
- const existing = getApproval(id);
385
- if (!existing) {
386
- return c.json({ error: "Approval not found" }, 404);
387
- }
388
- if (existing.status !== "pending") {
389
- return c.json({ error: "Approval already resolved", status: existing.status }, 409);
390
- }
391
- let resolvedBy;
392
- try {
393
- const body = await c.req.json();
394
- if (typeof body.resolvedBy === "string") {
395
- resolvedBy = body.resolvedBy;
396
- }
397
- }
398
- catch {
399
- // No body or invalid JSON — that's fine.
400
- }
401
- const approval = resolveApproval(id, "approved", resolvedBy);
402
- if (!approval) {
403
- return c.json({ error: "Approval not found" }, 404);
404
- }
405
- // Re-execute the original handler with the stored input.
406
- const routeKey = `${approval.method} ${approval.path}`;
407
- const handler = handlerRegistry.get(routeKey);
408
- if (!handler) {
409
- return c.json({ error: "Handler not found for route", route: routeKey }, 500);
410
- }
411
- try {
412
- const ctx = createContext(c);
413
- const result = await handler(approval.input, ctx);
414
- approval.result = result;
415
- return c.json({
416
- status: "approved",
417
- approvalId: approval.id,
418
- result,
419
- });
420
- }
421
- catch (err) {
422
- const message = err instanceof Error ? err.message : "Handler execution failed";
423
- return c.json({ error: message, approvalId: approval.id }, 500);
424
- }
425
- });
426
- /** Deny a pending approval */
427
- app.post("/capstan/approvals/:id/deny", async (c) => {
428
- const id = c.req.param("id");
429
- const existing = getApproval(id);
430
- if (!existing) {
431
- return c.json({ error: "Approval not found" }, 404);
432
- }
433
- if (existing.status !== "pending") {
434
- return c.json({ error: "Approval already resolved", status: existing.status }, 409);
435
- }
436
- let resolvedBy;
437
- let reason;
438
- try {
439
- const body = await c.req.json();
440
- if (typeof body.resolvedBy === "string") {
441
- resolvedBy = body.resolvedBy;
442
- }
443
- if (typeof body.reason === "string") {
444
- reason = body.reason;
445
- }
446
- }
447
- catch {
448
- // No body or invalid JSON — that's fine.
449
- }
450
- const approval = resolveApproval(id, "denied", resolvedBy);
451
- if (!approval) {
452
- return c.json({ error: "Approval not found" }, 404);
453
- }
454
- return c.json({
455
- status: "denied",
456
- approvalId: approval.id,
457
- ...(reason !== undefined ? { reason } : {}),
458
- });
459
- });
464
+ mountApprovalRoutes(app, handlerRegistry);
460
465
  // --- Framework endpoints --------------------------------------------------
461
466
  // Agent manifest
462
467
  app.get("/.well-known/capstan.json", (c) => {
@@ -615,6 +620,36 @@ async function buildApp(manifest, config) {
615
620
  });
616
621
  }
617
622
  });
623
+ // --- Static file serving (app/public/) ------------------------------------
624
+ // Serve files from publicDir as static assets at the root URL path.
625
+ // This is registered AFTER all API/page/framework routes so that named
626
+ // routes always take priority.
627
+ const publicDir = config.publicDir ?? path.join(config.rootDir, "app", "public");
628
+ if (existsSync(publicDir)) {
629
+ app.get("*", async (c) => {
630
+ const urlPath = new URL(c.req.url).pathname;
631
+ // Prevent directory traversal
632
+ const resolved = path.resolve(publicDir, `.${urlPath}`);
633
+ if (!resolved.startsWith(publicDir)) {
634
+ return c.json({ error: "Forbidden" }, 403);
635
+ }
636
+ if (!existsSync(resolved)) {
637
+ return c.notFound();
638
+ }
639
+ try {
640
+ const content = await readFile(resolved);
641
+ const ext = path.extname(resolved).toLowerCase();
642
+ const contentType = MIME_TYPES[ext] ?? "application/octet-stream";
643
+ return new Response(content, {
644
+ status: 200,
645
+ headers: { "Content-Type": contentType },
646
+ });
647
+ }
648
+ catch {
649
+ return c.notFound();
650
+ }
651
+ });
652
+ }
618
653
  return { app, apiRouteCount, pageRouteCount, routeRegistry };
619
654
  }
620
655
  // ---------------------------------------------------------------------------
@@ -634,6 +669,7 @@ export async function createDevServer(config) {
634
669
  const port = config.port ?? 3000;
635
670
  const host = config.host ?? "0.0.0.0";
636
671
  const routesDir = path.join(config.rootDir, "app", "routes");
672
+ config.publicDir = config.publicDir ?? path.join(config.rootDir, "app", "public");
637
673
  // --- Initial route scan ---------------------------------------------------
638
674
  let manifest = await scanRoutes(routesDir);
639
675
  let { app, apiRouteCount, pageRouteCount, routeRegistry } = await buildApp(manifest, config);
@@ -679,6 +715,24 @@ export async function createDevServer(config) {
679
715
  const server = createServer(async (req, res) => {
680
716
  try {
681
717
  const url = new URL(req.url ?? "/", `http://${req.headers.host ?? `${host}:${port}`}`);
718
+ // --- Live-reload SSE endpoint -----------------------------------------
719
+ // Intercept before Hono so the response stays open as a long-lived
720
+ // Server-Sent Events stream.
721
+ if (url.pathname === "/__capstan_livereload") {
722
+ res.writeHead(200, {
723
+ "Content-Type": "text/event-stream",
724
+ "Cache-Control": "no-cache",
725
+ "Connection": "keep-alive",
726
+ });
727
+ // Send an initial comment to flush headers / confirm connection.
728
+ res.write(": connected\n\n");
729
+ sseClients.add(res);
730
+ // Remove the client when the connection closes.
731
+ req.on("close", () => {
732
+ sseClients.delete(res);
733
+ });
734
+ return;
735
+ }
682
736
  // Build a Web API Request from the Node.js IncomingMessage.
683
737
  const headers = new Headers();
684
738
  for (const [key, value] of Object.entries(req.headers)) {
@@ -696,7 +750,7 @@ export async function createDevServer(config) {
696
750
  const hasBody = req.method !== "GET" && req.method !== "HEAD";
697
751
  let body;
698
752
  if (hasBody) {
699
- const raw = await readBody(req);
753
+ const raw = await readBody(req, config.maxBodySize ?? DEFAULT_MAX_BODY_SIZE);
700
754
  body = raw !== undefined ? (typeof raw === "string" ? raw : JSON.stringify(raw)) : undefined;
701
755
  }
702
756
  const init = {
@@ -714,6 +768,14 @@ export async function createDevServer(config) {
714
768
  res.end(responseBody);
715
769
  }
716
770
  catch (err) {
771
+ const statusCode = err.statusCode;
772
+ if (statusCode === 413) {
773
+ if (!res.headersSent) {
774
+ res.writeHead(413, { "Content-Type": "application/json" });
775
+ }
776
+ res.end(JSON.stringify({ error: "Payload Too Large" }));
777
+ return;
778
+ }
717
779
  // eslint-disable-next-line no-console
718
780
  console.error("[capstan] Unhandled request error:", err);
719
781
  if (!res.headersSent) {
@@ -735,6 +797,8 @@ export async function createDevServer(config) {
735
797
  routeRegistry = rebuilt.routeRegistry;
736
798
  // Rebuild MCP server with updated routes.
737
799
  await buildMcpServer();
800
+ // Notify connected browsers to reload.
801
+ notifyLiveReloadClients();
738
802
  const totalRoutes = apiRouteCount + pageRouteCount;
739
803
  // eslint-disable-next-line no-console
740
804
  console.log(`[capstan] Rebuilt: ${totalRoutes} routes (${apiRouteCount} API, ${pageRouteCount} pages)`);
@@ -772,6 +836,14 @@ export async function createDevServer(config) {
772
836
  stop() {
773
837
  return new Promise((resolve, reject) => {
774
838
  watcher.close();
839
+ // Close all open SSE connections so they don't keep the server alive.
840
+ for (const client of sseClients) {
841
+ try {
842
+ client.end();
843
+ }
844
+ catch { /* already closed */ }
845
+ }
846
+ sseClients.clear();
775
847
  server.close((err) => {
776
848
  if (err) {
777
849
  reject(err);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -9,6 +9,10 @@ export interface DevServerConfig {
9
9
  appName?: string;
10
10
  /** App description */
11
11
  appDescription?: string;
12
+ /** Directory for static assets (defaults to <rootDir>/app/public) */
13
+ publicDir?: string;
14
+ /** Maximum request body size in bytes (default: 1048576 = 1 MB) */
15
+ maxBodySize?: number;
12
16
  /** Auth configuration — when set, session cookie / API key auth is enabled */
13
17
  auth?: {
14
18
  session: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,IAAI,CAAC,EAAE;QACL,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,0BAA0B;IAC1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,IAAI,CAAC,EAAE;QACL,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,0BAA0B;IAC1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zauso-ai/capstan-dev",
3
- "version": "0.1.4",
3
+ "version": "1.0.0-beta.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,10 +18,10 @@
18
18
  "typecheck": "tsc -p tsconfig.json --noEmit"
19
19
  },
20
20
  "dependencies": {
21
- "@zauso-ai/capstan-agent": "0.1.4",
22
- "@zauso-ai/capstan-auth": "0.1.4",
23
- "@zauso-ai/capstan-core": "0.1.4",
24
- "@zauso-ai/capstan-router": "0.1.4",
21
+ "@zauso-ai/capstan-agent": "1.0.0-beta.1",
22
+ "@zauso-ai/capstan-auth": "1.0.0-beta.1",
23
+ "@zauso-ai/capstan-core": "1.0.0-beta.1",
24
+ "@zauso-ai/capstan-router": "1.0.0-beta.1",
25
25
  "hono": "^4.0.0",
26
26
  "tsx": "^4.0.0"
27
27
  },