@mdsnai/sdk 0.3.4 → 0.4.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.
Files changed (37) hide show
  1. package/README.md +33 -0
  2. package/dist/server/bun.d.ts +19 -0
  3. package/dist/server/bun.d.ts.map +1 -0
  4. package/dist/server/bun.js +205 -0
  5. package/dist/server/bun.js.map +1 -0
  6. package/dist/server/content-type.d.ts +3 -0
  7. package/dist/server/content-type.d.ts.map +1 -0
  8. package/dist/server/content-type.js +5 -0
  9. package/dist/server/content-type.js.map +1 -0
  10. package/dist/server/hosted-app.d.ts.map +1 -1
  11. package/dist/server/hosted-app.js +6 -1
  12. package/dist/server/hosted-app.js.map +1 -1
  13. package/dist/server/html-render.d.ts +10 -1
  14. package/dist/server/html-render.d.ts.map +1 -1
  15. package/dist/server/html-render.js +44 -0
  16. package/dist/server/html-render.js.map +1 -1
  17. package/dist/server/index.d.ts +2 -2
  18. package/dist/server/index.d.ts.map +1 -1
  19. package/dist/server/index.js +1 -1
  20. package/dist/server/index.js.map +1 -1
  21. package/dist/server/node-runtime.d.ts +2 -0
  22. package/dist/server/node-runtime.d.ts.map +1 -0
  23. package/dist/server/node-runtime.js +2 -0
  24. package/dist/server/node-runtime.js.map +1 -0
  25. package/dist/server/node.d.ts.map +1 -1
  26. package/dist/server/node.js +2 -1
  27. package/dist/server/node.js.map +1 -1
  28. package/dist/server/result.d.ts.map +1 -1
  29. package/dist/server/result.js +1 -0
  30. package/dist/server/result.js.map +1 -1
  31. package/dist/server/runtime.d.ts +2 -1
  32. package/dist/server/runtime.d.ts.map +1 -1
  33. package/dist/server/runtime.js +106 -24
  34. package/dist/server/runtime.js.map +1 -1
  35. package/dist/server/types.d.ts +14 -0
  36. package/dist/server/types.d.ts.map +1 -1
  37. package/package.json +15 -2
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  `@mdsnai/sdk` is the reference SDK for building apps with MDSN.
4
4
 
5
+ It officially supports Node and Bun through a shared server runtime plus runtime-specific host adapters.
6
+
5
7
  MDSN is a Markdown-first page and interaction format. `@mdsnai/sdk` gives you the parser, server runtime, browser runtime, and default UI for working with it.
6
8
 
7
9
  ## Why MDSN
@@ -53,6 +55,8 @@ BLOCK main {
53
55
 
54
56
  ## Quick Start
55
57
 
58
+ Node starter:
59
+
56
60
  ```bash
57
61
  npm create mdsn@latest agent-app
58
62
  cd agent-app
@@ -60,6 +64,35 @@ npm install
60
64
  npm start
61
65
  ```
62
66
 
67
+ Bun starter:
68
+
69
+ ```bash
70
+ bunx create-mdsn agent-app
71
+ cd agent-app
72
+ bun install
73
+ bun start
74
+ ```
75
+
76
+ You can also force either runtime with `--runtime node` or `--runtime bun`.
77
+
78
+ ## Runtime Adapters
79
+
80
+ Shared server modeling stays on `@mdsnai/sdk/server`:
81
+
82
+ ```ts
83
+ import { createHostedApp } from "@mdsnai/sdk/server";
84
+ ```
85
+
86
+ Then choose the host adapter for your runtime:
87
+
88
+ ```ts
89
+ import { createHost } from "@mdsnai/sdk/server/node";
90
+ ```
91
+
92
+ ```ts
93
+ import { createHost } from "@mdsnai/sdk/server/bun";
94
+ ```
95
+
63
96
  ## Docs
64
97
 
65
98
  - [Getting Started](https://docs.mdsn.ai/getting-started)
@@ -0,0 +1,19 @@
1
+ import type { MdsnRequest, MdsnResponse } from "./types.js";
2
+ interface MdsnRequestHandler {
3
+ handle(request: MdsnRequest): Promise<MdsnResponse>;
4
+ }
5
+ export interface CreateBunHostOptions {
6
+ rootRedirect?: string;
7
+ ignoreFavicon?: boolean;
8
+ staticFiles?: Record<string, string>;
9
+ staticMounts?: BunStaticMount[];
10
+ transformHtml?: (html: string) => string;
11
+ maxBodyBytes?: number;
12
+ }
13
+ export interface BunStaticMount {
14
+ urlPrefix: string;
15
+ directory: string;
16
+ }
17
+ export declare function createHost(handler: MdsnRequestHandler, options?: CreateBunHostOptions): (request: Request) => Promise<Response>;
18
+ export {};
19
+ //# sourceMappingURL=bun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/server/bun.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,UAAU,kBAAkB;IAC1B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AA0KD,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAE,oBAAyB,IAC1E,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAsDnD"}
@@ -0,0 +1,205 @@
1
+ import { readFile, stat } from "node:fs/promises";
2
+ import { extname, resolve } from "node:path";
3
+ import { serializeMarkdownBody } from "../core/index.js";
4
+ import { toMarkdownContentType } from "./content-type.js";
5
+ const DEFAULT_MAX_BODY_BYTES = 1024 * 1024;
6
+ class PayloadTooLargeError extends Error {
7
+ constructor() {
8
+ super("Payload Too Large");
9
+ }
10
+ }
11
+ function parseCookies(header) {
12
+ if (!header?.trim()) {
13
+ return {};
14
+ }
15
+ const cookies = {};
16
+ for (const pair of header.split(";")) {
17
+ const [rawName, ...rawValue] = pair.split("=");
18
+ const name = rawName?.trim();
19
+ if (!name) {
20
+ continue;
21
+ }
22
+ const serializedValue = rawValue.join("=").trim();
23
+ try {
24
+ cookies[name] = decodeURIComponent(serializedValue);
25
+ }
26
+ catch {
27
+ cookies[name] = serializedValue;
28
+ }
29
+ }
30
+ return cookies;
31
+ }
32
+ function normalizeBody(body, contentType) {
33
+ if (!body) {
34
+ return undefined;
35
+ }
36
+ if (!contentType?.includes("application/x-www-form-urlencoded")) {
37
+ return body;
38
+ }
39
+ const params = new URLSearchParams(body);
40
+ return serializeMarkdownBody(Object.fromEntries(params.entries()));
41
+ }
42
+ async function readBody(request, maxBodyBytes) {
43
+ const contentLengthHeader = request.headers.get("content-length");
44
+ const contentLength = contentLengthHeader ? Number(contentLengthHeader) : Number.NaN;
45
+ if (Number.isFinite(contentLength) && contentLength > maxBodyBytes) {
46
+ throw new PayloadTooLargeError();
47
+ }
48
+ const text = await request.text();
49
+ if (!text) {
50
+ return undefined;
51
+ }
52
+ if (Buffer.byteLength(text) > maxBodyBytes) {
53
+ throw new PayloadTooLargeError();
54
+ }
55
+ return text;
56
+ }
57
+ function getContentType(filePath) {
58
+ const extension = extname(filePath);
59
+ return extension === ".js" || extension === ".mjs"
60
+ ? "text/javascript"
61
+ : extension === ".css"
62
+ ? "text/css"
63
+ : extension === ".map" || extension === ".json"
64
+ ? "application/json"
65
+ : extension === ".html"
66
+ ? "text/html"
67
+ : extension === ".svg"
68
+ ? "image/svg+xml"
69
+ : extension === ".txt"
70
+ ? "text/plain"
71
+ : "application/octet-stream";
72
+ }
73
+ function resolveMountedFile(directory, urlPrefix, pathname) {
74
+ if (!pathname.startsWith(urlPrefix)) {
75
+ return null;
76
+ }
77
+ const relativePath = pathname.slice(urlPrefix.length);
78
+ const baseDirectory = resolve(directory);
79
+ const target = resolve(baseDirectory, relativePath);
80
+ if (target !== baseDirectory && !target.startsWith(`${baseDirectory}/`)) {
81
+ return null;
82
+ }
83
+ return target;
84
+ }
85
+ async function tryServeStaticFile(filePath) {
86
+ try {
87
+ const fileStat = await stat(filePath);
88
+ if (!fileStat.isFile()) {
89
+ return null;
90
+ }
91
+ const body = await readFile(filePath);
92
+ return new Response(body, {
93
+ status: 200,
94
+ headers: {
95
+ "content-type": getContentType(filePath),
96
+ "cache-control": "public, max-age=0, must-revalidate"
97
+ }
98
+ });
99
+ }
100
+ catch {
101
+ return null;
102
+ }
103
+ }
104
+ function toMdsnRequest(request, body) {
105
+ const headers = {};
106
+ request.headers.forEach((value, key) => {
107
+ headers[key] = value;
108
+ });
109
+ headers.accept ??= "text/html";
110
+ if (body && headers["content-type"]?.includes("application/x-www-form-urlencoded")) {
111
+ headers["content-type"] = "text/markdown";
112
+ }
113
+ return {
114
+ method: request.method === "POST" ? "POST" : "GET",
115
+ url: request.url,
116
+ headers,
117
+ ...(body ? { body } : {}),
118
+ cookies: parseCookies(request.headers.get("cookie"))
119
+ };
120
+ }
121
+ function toReadableStream(body) {
122
+ const encoder = new TextEncoder();
123
+ const iterator = body[Symbol.asyncIterator]();
124
+ return new ReadableStream({
125
+ async pull(controller) {
126
+ const chunk = await iterator.next();
127
+ if (chunk.done) {
128
+ controller.close();
129
+ return;
130
+ }
131
+ controller.enqueue(encoder.encode(chunk.value));
132
+ },
133
+ async cancel() {
134
+ if (typeof iterator.return === "function") {
135
+ await iterator.return();
136
+ }
137
+ }
138
+ });
139
+ }
140
+ function toResponse(result, transformHtml) {
141
+ const headers = new Headers(result.headers);
142
+ const contentType = headers.get("content-type") ?? "";
143
+ if (typeof result.body === "string") {
144
+ return new Response(contentType.includes("text/html") && transformHtml ? transformHtml(result.body) : result.body, {
145
+ status: result.status,
146
+ headers
147
+ });
148
+ }
149
+ return new Response(toReadableStream(result.body), {
150
+ status: result.status,
151
+ headers
152
+ });
153
+ }
154
+ export function createHost(handler, options = {}) {
155
+ return async (request) => {
156
+ const url = new URL(request.url);
157
+ if (options.rootRedirect && url.pathname === "/") {
158
+ return new Response(null, {
159
+ status: 302,
160
+ headers: {
161
+ location: options.rootRedirect
162
+ }
163
+ });
164
+ }
165
+ if (options.ignoreFavicon !== false && url.pathname === "/favicon.ico") {
166
+ return new Response(null, { status: 204 });
167
+ }
168
+ const staticFile = options.staticFiles?.[url.pathname];
169
+ if (staticFile) {
170
+ const response = await tryServeStaticFile(staticFile);
171
+ if (response) {
172
+ return response;
173
+ }
174
+ }
175
+ for (const mount of options.staticMounts ?? []) {
176
+ const target = resolveMountedFile(mount.directory, mount.urlPrefix, url.pathname);
177
+ if (!target) {
178
+ continue;
179
+ }
180
+ const response = await tryServeStaticFile(target);
181
+ if (response) {
182
+ return response;
183
+ }
184
+ }
185
+ const maxBodyBytes = options.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES;
186
+ let normalizedBody;
187
+ try {
188
+ normalizedBody = normalizeBody(await readBody(request, maxBodyBytes), request.headers.get("content-type"));
189
+ }
190
+ catch (error) {
191
+ if (error instanceof PayloadTooLargeError) {
192
+ return new Response("## Payload Too Large\n\nRequest body exceeded maxBodyBytes.", {
193
+ status: 413,
194
+ headers: {
195
+ "content-type": toMarkdownContentType()
196
+ }
197
+ });
198
+ }
199
+ throw error;
200
+ }
201
+ const result = await handler.handle(toMdsnRequest(request, normalizedBody));
202
+ return toResponse(result, options.transformHtml);
203
+ };
204
+ }
205
+ //# sourceMappingURL=bun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/server/bun.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_MDSN_MARKDOWN_PROFILE = "https://mdsn.ai/protocol/v1";
2
+ export declare function toMarkdownContentType(profile?: string): string;
3
+ //# sourceMappingURL=content-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.d.ts","sourceRoot":"","sources":["../../src/server/content-type.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAE3E,wBAAgB,qBAAqB,CAAC,OAAO,SAAgC,GAAG,MAAM,CAErF"}
@@ -0,0 +1,5 @@
1
+ export const DEFAULT_MDSN_MARKDOWN_PROFILE = "https://mdsn.ai/protocol/v1";
2
+ export function toMarkdownContentType(profile = DEFAULT_MDSN_MARKDOWN_PROFILE) {
3
+ return `text/markdown; profile="${profile}"`;
4
+ }
5
+ //# sourceMappingURL=content-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.js","sourceRoot":"","sources":["../../src/server/content-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;AAE3E,MAAM,UAAU,qBAAqB,CAAC,OAAO,GAAG,6BAA6B;IAC3E,OAAO,2BAA2B,OAAO,GAAG,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-app.d.ts","sourceRoot":"","sources":["../../src/server/hosted-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAElH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;CAChD;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB,EAAE,iBAAiB;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAC3C,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,gBAAgB,CAAC;IAC5H,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAAC;CACtE;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;AAE5G,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpC;AA+DD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB;;;;;EAoE9D"}
1
+ {"version":3,"file":"hosted-app.d.ts","sourceRoot":"","sources":["../../src/server/hosted-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAElH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;CAChD;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB,EAAE,iBAAiB;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAC3C,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,gBAAgB,CAAC;IAC5H,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAAC;CACtE;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;AAE5G,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpC;AA+DD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB;;;;;EAyE9D"}
@@ -71,6 +71,7 @@ export function createHostedApp(options) {
71
71
  });
72
72
  },
73
73
  pageResult(pageOrRoute = binding.routePath, result = {}) {
74
+ const resolvedRoutePath = typeof pageOrRoute === "string" ? pageOrRoute : binding.routePath;
74
75
  const page = typeof pageOrRoute === "string"
75
76
  ? (() => {
76
77
  const pageFactory = options.pages[pageOrRoute];
@@ -87,6 +88,7 @@ export function createHostedApp(options) {
87
88
  return {
88
89
  status: 200,
89
90
  ...result,
91
+ route: resolvedRoutePath,
90
92
  page
91
93
  };
92
94
  },
@@ -95,7 +97,10 @@ export function createHostedApp(options) {
95
97
  request: context.request,
96
98
  session: context.session,
97
99
  routePath: binding.routePath
98
- }), binding.blockName, result);
100
+ }), binding.blockName, {
101
+ ...result,
102
+ route: binding.routePath
103
+ });
99
104
  }
100
105
  });
101
106
  });
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-app.js","sourceRoot":"","sources":["../../src/server/hosted-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-app.js","sourceRoot":"","sources":["../../src/server/hosted-app.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,22 @@
1
1
  import type { MdsnMarkdownRenderer, MdsnFragment } from "../core/index.js";
2
+ import type { MdsnProtocolDiscovery } from "./types.js";
2
3
  interface MdsnRenderableDocument extends MdsnFragment {
3
4
  blockContent?: Record<string, string>;
4
5
  }
5
- interface RenderHtmlDocumentOptions {
6
+ export interface RenderHtmlDocumentOptions {
6
7
  continueTarget?: string;
7
8
  kind?: "page" | "fragment";
8
9
  route?: string;
10
+ alternateMarkdownHref?: string;
11
+ llmsTxtHref?: string;
12
+ protocol?: {
13
+ discovery?: MdsnProtocolDiscovery;
14
+ };
9
15
  markdownRenderer?: MdsnMarkdownRenderer;
10
16
  }
17
+ export declare function renderProtocolHeadLinks(discovery: Partial<MdsnProtocolDiscovery>): string;
18
+ export declare function renderHtmlDiscoveryLinks(options: Pick<RenderHtmlDocumentOptions, "alternateMarkdownHref" | "llmsTxtHref" | "protocol">): string;
19
+ export declare function injectHtmlDiscoveryLinks(html: string, options: Pick<RenderHtmlDocumentOptions, "alternateMarkdownHref" | "llmsTxtHref" | "protocol">): string;
11
20
  export declare function renderHtmlDocument(fragment: MdsnRenderableDocument, options?: RenderHtmlDocumentOptions): string;
12
21
  export {};
13
22
  //# sourceMappingURL=html-render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-render.d.ts","sourceRoot":"","sources":["../../src/server/html-render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,YAAY,EAKb,MAAM,kBAAkB,CAAC;AAG1B,UAAU,sBAAuB,SAAQ,YAAY;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAID,UAAU,yBAAyB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAyLD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,GAAE,yBAA8B,GAAG,MAAM,CA8KpH"}
1
+ {"version":3,"file":"html-render.d.ts","sourceRoot":"","sources":["../../src/server/html-render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,YAAY,EAKb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,UAAU,sBAAuB,SAAQ,YAAY;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAID,MAAM,WAAW,yBAAyB;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,qBAAqB,CAAC;KACnC,CAAC;IACF,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAqKD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,MAAM,CASzF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,uBAAuB,GAAG,aAAa,GAAG,UAAU,CAAC,GAAG,MAAM,CAE/I;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,uBAAuB,GAAG,aAAa,GAAG,UAAU,CAAC,GAC7F,MAAM,CAeR;AAuCD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,GAAE,yBAA8B,GAAG,MAAM,CAiLpH"}
@@ -110,6 +110,47 @@ function createHeadlessBootstrap(fragment, options, hasAnchors, isSingleBlockRes
110
110
  }
111
111
  return bootstrap;
112
112
  }
113
+ function resolveProtocolDiscovery(options) {
114
+ return {
115
+ ...(options.protocol?.discovery?.markdownHref
116
+ ? { markdownHref: options.protocol.discovery.markdownHref }
117
+ : options.alternateMarkdownHref
118
+ ? { markdownHref: options.alternateMarkdownHref }
119
+ : {}),
120
+ ...(options.protocol?.discovery?.llmsTxtHref
121
+ ? { llmsTxtHref: options.protocol.discovery.llmsTxtHref }
122
+ : options.llmsTxtHref
123
+ ? { llmsTxtHref: options.llmsTxtHref }
124
+ : {})
125
+ };
126
+ }
127
+ export function renderProtocolHeadLinks(discovery) {
128
+ return [
129
+ discovery.markdownHref
130
+ ? `<link rel="alternate" type="text/markdown" href="${escapeHtml(discovery.markdownHref)}">`
131
+ : "",
132
+ discovery.llmsTxtHref ? `<link rel="llms-txt" href="${escapeHtml(discovery.llmsTxtHref)}">` : ""
133
+ ]
134
+ .filter(Boolean)
135
+ .join("\n ");
136
+ }
137
+ export function renderHtmlDiscoveryLinks(options) {
138
+ return renderProtocolHeadLinks(resolveProtocolDiscovery(options));
139
+ }
140
+ export function injectHtmlDiscoveryLinks(html, options) {
141
+ const discovery = resolveProtocolDiscovery(options);
142
+ const links = {
143
+ ...(discovery.markdownHref && !html.includes('rel="alternate" type="text/markdown"')
144
+ ? { markdownHref: discovery.markdownHref }
145
+ : {}),
146
+ ...(discovery.llmsTxtHref && !html.includes('rel="llms-txt"') ? { llmsTxtHref: discovery.llmsTxtHref } : {})
147
+ };
148
+ const tags = renderProtocolHeadLinks(links);
149
+ if (!tags || !html.includes("</head>")) {
150
+ return html;
151
+ }
152
+ return html.replace("</head>", ` ${tags}\n </head>`);
153
+ }
113
154
  function renderMarkdownWithAnchors(markdown, blocks, blockContent, markdownRenderer) {
114
155
  const rendered = [];
115
156
  const buffer = [];
@@ -157,11 +198,14 @@ export function renderHtmlDocument(fragment, options = {}) {
157
198
  const bootstrapScript = bootstrap
158
199
  ? `\n <script id="mdsn-bootstrap" type="application/json">${escapeScriptJson(JSON.stringify(bootstrap))}</script>`
159
200
  : "";
201
+ const discoveryLinks = renderHtmlDiscoveryLinks(options);
202
+ const discoveryHead = discoveryLinks ? `\n ${discoveryLinks}` : "";
160
203
  return `<!doctype html>
161
204
  <html lang="en">
162
205
  <head>
163
206
  <meta charset="utf-8">
164
207
  <meta name="viewport" content="width=device-width, initial-scale=1">
208
+ ${discoveryHead}
165
209
  <style>
166
210
  :root {
167
211
  font-family: ui-sans-serif, system-ui, sans-serif;
@@ -1 +1 @@
1
- {"version":3,"file":"html-render.js","sourceRoot":"","sources":["../../src/server/html-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-render.js","sourceRoot":"","sources":["../../src/server/html-render.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  export { createHostedApp } from "./hosted-app.js";
2
- export { createNodeHost } from "./node.js";
2
+ export { renderProtocolHeadLinks } from "./html-render.js";
3
3
  export { block, fail, navigate, ok, stream } from "./result.js";
4
4
  export { createMdsnServer, type CreateMdsnServerOptions } from "./runtime.js";
5
5
  export { refreshSession, signIn, signOut } from "./session.js";
6
6
  export type { CreateHostedAppOptions, HostedAction, HostedActionDefinition, HostedActionContext, HostedPageFactory } from "./hosted-app.js";
7
- export type { MdsnActionResult, MdsnHandler, MdsnHandlerContext, MdsnHandlerResult, MdsnPageHandler, MdsnPageHandlerContext, MdsnRequest, MdsnResponse, MdsnSessionMutation, MdsnSessionProvider, MdsnSessionSnapshot, MdsnStreamChunk, MdsnStreamResult } from "./types.js";
7
+ export type { MdsnActionResult, MdsnHandler, MdsnHandlerContext, MdsnHandlerResult, MdsnHtmlDiscoveryContext, MdsnHtmlDiscoveryLinks, MdsnHtmlDiscoveryResolver, MdsnProtocolDiscovery, MdsnPageHandler, MdsnPageHandlerContext, MdsnRequest, MdsnResponse, MdsnSessionMutation, MdsnSessionProvider, MdsnSessionSnapshot, MdsnStreamChunk, MdsnStreamResult } from "./types.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EACV,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EACV,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { createHostedApp } from "./hosted-app.js";
2
- export { createNodeHost } from "./node.js";
2
+ export { renderProtocolHeadLinks } from "./html-render.js";
3
3
  export { block, fail, navigate, ok, stream } from "./result.js";
4
4
  export { createMdsnServer } from "./runtime.js";
5
5
  export { refreshSession, signIn, signOut } from "./session.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAgC,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAgC,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createNodeHost as createHost, createNodeHost, createNodeRequestListener, type CreateNodeHostOptions, type CreateNodeRequestListenerOptions, type NodeStaticMount } from "./node.js";
2
+ //# sourceMappingURL=node-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runtime.d.ts","sourceRoot":"","sources":["../../src/server/node-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,IAAI,UAAU,EAC5B,cAAc,EACd,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createNodeHost as createHost, createNodeHost, createNodeRequestListener } from "./node.js";
2
+ //# sourceMappingURL=node-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runtime.js","sourceRoot":"","sources":["../../src/server/node-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,IAAI,UAAU,EAC5B,cAAc,EACd,yBAAyB,EAI1B,MAAM,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,eAAe,EAAkB,MAAM,WAAW,CAAC;AAQlF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,UAAU,kBAAkB;IAC1B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,gCAAgC;IAC/C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gCAAgC;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAuKD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,gCAAqC,GAC7C,eAAe,CAmBjB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAE,qBAA0B,GAAG,eAAe,CAiChH"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,eAAe,EAAkB,MAAM,WAAW,CAAC;AASlF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,UAAU,kBAAkB;IAC1B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,gCAAgC;IAC/C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gCAAgC;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAuKD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,gCAAqC,GAC7C,eAAe,CAmBjB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAE,qBAA0B,GAAG,eAAe,CAiChH"}
@@ -3,6 +3,7 @@ import { stat } from "node:fs/promises";
3
3
  import { extname, resolve } from "node:path";
4
4
  import { pipeline } from "node:stream/promises";
5
5
  import { serializeMarkdownBody } from "../core/index.js";
6
+ import { toMarkdownContentType } from "./content-type.js";
6
7
  const DEFAULT_MAX_BODY_BYTES = 1024 * 1024;
7
8
  class PayloadTooLargeError extends Error {
8
9
  constructor() {
@@ -159,7 +160,7 @@ export function createNodeRequestListener(handler, options = {}) {
159
160
  catch (error) {
160
161
  if (error instanceof PayloadTooLargeError) {
161
162
  response.statusCode = 413;
162
- response.setHeader("content-type", "text/markdown");
163
+ response.setHeader("content-type", toMarkdownContentType());
163
164
  response.end("## Payload Too Large\n\nRequest body exceeded maxBodyBytes.");
164
165
  return;
165
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAyBzD,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,oBAAqB,SAAQ,KAAK;IACtC;QACE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,KAAK,UAAU,QAAQ,CAAC,OAAwB,EAAE,YAAoB;IACpE,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3F,UAAU,IAAI,UAAU,CAAC;QACzB,IAAI,UAAU,GAAG,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,SAAS,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAoC;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,MAA0B;IAC9C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,IAAwB,EAAE,WAAmB;IAClE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,SAAS,KAAK,KAAK;QACxB,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,SAAS,KAAK,MAAM;YACpB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO;gBAC7C,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,SAAS,KAAK,OAAO;oBACrB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,SAAS,KAAK,MAAM;wBACpB,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,SAAS,KAAK,MAAM;4BACpB,CAAC,CAAC,iBAAiB;4BACnB,CAAC,CAAC,SAAS,KAAK,MAAM;gCACpB,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,0BAA0B,CAAC;AAC7C,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,OAAe;IAC3C,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAwB,EAAE,QAAwB,EAAE,QAAgB;IACpG,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChD,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC;QAC1E,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9C,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,MAAM,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAAgB;IAChF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,OAAwB,EAAE,IAAwB;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CACpD,CAAC;IACxC,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC;IAC/B,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,MAAM;QACN,GAAG,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC7D,OAAO;QACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAwB,EAAE,MAAoB,EAAE,aAAwC;IACnH,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5G,OAAO;IACT,CAAC;IAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,QAAQ,CAAC,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAA2B,EAC3B,UAA4C,EAAE;IAE9C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC;QACpE,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC;YACH,cAAc,GAAG,aAAa,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;gBAC1C,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC1B,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;gBACpD,QAAQ,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC5E,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA2B,EAAE,UAAiC,EAAE;IAC7F,MAAM,eAAe,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;QAEzF,IAAI,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YACjD,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACrD,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YACvE,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,UAAU,IAAI,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClF,IAAI,MAAM,IAAI,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBACpE,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/server/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtF,wBAAgB,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAK7D;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAK/D;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAM,GAC9C,gBAAgB,CAKlB;AAYD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;IACjG,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,gBAAgB,CA8BnE;AAED,wBAAgB,MAAM,CACpB,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,EAClE,MAAM,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC5C,gBAAgB,CAMlB"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/server/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtF,wBAAgB,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAK7D;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAK/D;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAM,GAC9C,gBAAgB,CAKlB;AAYD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;IACjG,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,gBAAgB,CA+BnE;AAED,wBAAgB,MAAM,CACpB,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,EAClE,MAAM,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAC5C,gBAAgB,CAMlB"}
@@ -31,6 +31,7 @@ export function navigate(options) {
31
31
  ...(typeof options.status === "number" ? { status: options.status } : {}),
32
32
  ...(options.headers ? { headers: options.headers } : {}),
33
33
  ...(options.session ? { session: options.session } : {}),
34
+ route: options.target,
34
35
  navigation: {
35
36
  target: options.target
36
37
  },
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/server/result.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,EAAE,CAAC,MAAwB;IACzC,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,MAAwB;IAC3C,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,IAAsB,EACtB,SAAiB,EACjB,SAA6C,EAAE;IAE/C,OAAO,EAAE,CAAC;QACR,GAAG,MAAM;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACnE,OAAO,QAAQ,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACnE,OAAO,QAAQ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAUD,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErE,OAAO,EAAE,CAAC;QACR,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,UAAU,EAAE;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,OAAO,CAAC,SAAS;oBACvB,MAAM,EAAE,EAAE;oBACV,UAAU,EAAE;wBACV;4BACE,MAAM,EAAE,KAAK;4BACb,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,IAAI;4BACJ,MAAM,EAAE,EAAE;4BACV,KAAK;yBACN;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,MAAkE,EAClE,SAA2C,EAAE;IAE7C,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,MAAM;QACT,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/server/result.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,EAAE,CAAC,MAAwB;IACzC,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,MAAwB;IAC3C,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,IAAsB,EACtB,SAAiB,EACjB,SAA6C,EAAE;IAE/C,OAAO,EAAE,CAAC;QACR,GAAG,MAAM;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACnE,OAAO,QAAQ,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACnE,OAAO,QAAQ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAUD,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErE,OAAO,EAAE,CAAC;QACR,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,UAAU,EAAE;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,OAAO,CAAC,SAAS;oBACvB,MAAM,EAAE,EAAE;oBACV,UAAU,EAAE;wBACV;4BACE,MAAM,EAAE,KAAK;4BACb,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,IAAI;4BACJ,MAAM,EAAE,EAAE;4BACV,KAAK;yBACN;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,MAAkE,EAClE,SAA2C,EAAE;IAE7C,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,MAAM;QACT,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { type MdsnMarkdownRenderer } from "../core/index.js";
2
2
  import { renderHtmlDocument } from "./html-render.js";
3
- import type { MdsnHandler, MdsnPageHandler, MdsnRequest, MdsnResponse, MdsnSessionProvider } from "./types.js";
3
+ import type { MdsnHandler, MdsnHtmlDiscoveryResolver, MdsnPageHandler, MdsnRequest, MdsnResponse, MdsnSessionProvider } from "./types.js";
4
4
  export interface CreateMdsnServerOptions {
5
5
  session?: MdsnSessionProvider;
6
6
  renderHtml?: typeof renderHtmlDocument;
7
7
  markdownRenderer?: MdsnMarkdownRenderer;
8
+ htmlDiscovery?: MdsnHtmlDiscoveryResolver;
8
9
  }
9
10
  export declare function createMdsnServer(options?: CreateMdsnServerOptions): {
10
11
  get(path: string, handler: MdsnHandler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,oBAAoB,EAE1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAoB,WAAW,EAAqB,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAqC,MAAM,YAAY,CAAC;AAEvL,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACvC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAqKD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B;cAYxD,MAAM,WAAW,WAAW,GAAG,IAAI;eAGlC,MAAM,WAAW,eAAe,GAAG,IAAI;eAGvC,MAAM,WAAW,WAAW,GAAG,IAAI;oBAGxB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;EAwH5D"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,oBAAoB,EAE1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAA4B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,KAAK,EAEV,WAAW,EAIX,yBAAyB,EACzB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACvC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC3C;AAsRD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B;cAcxD,MAAM,WAAW,WAAW,GAAG,IAAI;eAGlC,MAAM,WAAW,eAAe,GAAG,IAAI;eAGvC,MAAM,WAAW,WAAW,GAAG,IAAI;oBAGxB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;EAkI5D"}
@@ -1,5 +1,6 @@
1
1
  import { MdsnParseError, negotiateRepresentation, parseMarkdownBody, serializeFragment, serializePage } from "../core/index.js";
2
- import { renderHtmlDocument } from "./html-render.js";
2
+ import { toMarkdownContentType } from "./content-type.js";
3
+ import { injectHtmlDiscoveryLinks, renderHtmlDocument } from "./html-render.js";
3
4
  import { MdsnRouter } from "./router.js";
4
5
  import { fail } from "./result.js";
5
6
  function getPathname(request) {
@@ -33,6 +34,47 @@ function createInternalServerErrorResult() {
33
34
  fragment: createErrorFragment("Internal Server Error", "The host hit an unexpected failure. Retry the previous action or refresh the page.")
34
35
  });
35
36
  }
37
+ function normalizeDiscoveryLink(value) {
38
+ const trimmed = value?.trim();
39
+ return trimmed ? trimmed : undefined;
40
+ }
41
+ function resolveHtmlDiscoveryLinks(htmlDiscovery, context) {
42
+ if (!htmlDiscovery) {
43
+ return null;
44
+ }
45
+ const resolved = typeof htmlDiscovery === "function" ? htmlDiscovery(context) : htmlDiscovery;
46
+ if (!resolved) {
47
+ return null;
48
+ }
49
+ const markdownHref = normalizeDiscoveryLink(resolved.markdownHref);
50
+ const llmsTxtHref = normalizeDiscoveryLink(resolved.llmsTxtHref);
51
+ if (!markdownHref && !llmsTxtHref) {
52
+ return null;
53
+ }
54
+ return {
55
+ ...(markdownHref ? { markdownHref } : {}),
56
+ ...(llmsTxtHref ? { llmsTxtHref } : {})
57
+ };
58
+ }
59
+ function discoveryLinksToHeader(links) {
60
+ if (!links) {
61
+ return undefined;
62
+ }
63
+ const values = [
64
+ links.markdownHref ? `<${links.markdownHref}>; rel="alternate"; type="text/markdown"` : "",
65
+ links.llmsTxtHref ? `<${links.llmsTxtHref}>; rel="llms-txt"` : ""
66
+ ].filter(Boolean);
67
+ return values.length > 0 ? values.join(", ") : undefined;
68
+ }
69
+ function mergeLinkHeader(headers, linkHeader) {
70
+ if (!linkHeader) {
71
+ return headers;
72
+ }
73
+ return {
74
+ ...headers,
75
+ link: headers.link ? `${headers.link}, ${linkHeader}` : linkHeader
76
+ };
77
+ }
36
78
  function getRenderablePage(page) {
37
79
  const visibleBlockNames = page.visibleBlockNames ? new Set(page.visibleBlockNames) : null;
38
80
  const blocks = visibleBlockNames ? page.blocks.filter((block) => visibleBlockNames.has(block.name)) : page.blocks;
@@ -50,12 +92,30 @@ function getRenderablePage(page) {
50
92
  blocks
51
93
  };
52
94
  }
53
- function resolveResponseBody(result, representation, renderHtml) {
95
+ function toProtocolRenderOptions(discoveryLinks, fallbackMarkdownHref) {
96
+ const markdownHref = discoveryLinks?.markdownHref ?? fallbackMarkdownHref;
97
+ if (!markdownHref) {
98
+ return {};
99
+ }
100
+ return {
101
+ protocol: {
102
+ discovery: {
103
+ markdownHref,
104
+ ...(discoveryLinks?.llmsTxtHref ? { llmsTxtHref: discoveryLinks.llmsTxtHref } : {})
105
+ }
106
+ }
107
+ };
108
+ }
109
+ function resolveResponseBody(result, representation, renderHtml, discoveryLinks, request) {
54
110
  if (result.page) {
55
111
  return representation === "markdown"
56
112
  ? serializePage(result.page)
57
113
  : renderHtml(getRenderablePage(result.page), {
58
114
  kind: "page",
115
+ ...(result.route ? { route: result.route } : {}),
116
+ ...toProtocolRenderOptions(discoveryLinks, result.route ?? getPathname(request)),
117
+ ...(discoveryLinks?.markdownHref ? { alternateMarkdownHref: discoveryLinks.markdownHref } : {}),
118
+ ...(discoveryLinks?.llmsTxtHref ? { llmsTxtHref: discoveryLinks.llmsTxtHref } : {}),
59
119
  ...(result.navigation?.target ? { continueTarget: result.navigation.target } : {})
60
120
  });
61
121
  }
@@ -66,6 +126,10 @@ function resolveResponseBody(result, representation, renderHtml) {
66
126
  ? serializeFragment(result.fragment)
67
127
  : renderHtml(result.fragment, {
68
128
  kind: "fragment",
129
+ ...(result.route ? { route: result.route } : {}),
130
+ ...toProtocolRenderOptions(discoveryLinks, result.route ?? getPathname(request)),
131
+ ...(discoveryLinks?.markdownHref ? { alternateMarkdownHref: discoveryLinks.markdownHref } : {}),
132
+ ...(discoveryLinks?.llmsTxtHref ? { llmsTxtHref: discoveryLinks.llmsTxtHref } : {}),
69
133
  ...(result.navigation?.target ? { continueTarget: result.navigation.target } : {})
70
134
  });
71
135
  }
@@ -99,15 +163,22 @@ function createStreamBody(result) {
99
163
  }
100
164
  })();
101
165
  }
102
- function createResponse(result, representation, renderHtml) {
103
- const headers = {
104
- "content-type": representation === "markdown" ? "text/markdown" : representation === "html" ? "text/html" : "text/event-stream",
166
+ function createResponse(result, representation, renderHtml, request, htmlDiscovery) {
167
+ const discoveryLinks = representation === "html"
168
+ ? resolveHtmlDiscoveryLinks(htmlDiscovery, {
169
+ request,
170
+ kind: "page" in result && result.page ? "page" : "fragment",
171
+ ...("route" in result && result.route ? { route: result.route } : {})
172
+ })
173
+ : null;
174
+ const headers = mergeLinkHeader({
175
+ "content-type": representation === "markdown" ? toMarkdownContentType() : representation === "html" ? "text/html" : "text/event-stream",
105
176
  ...(result.headers ?? {})
106
- };
177
+ }, discoveryLinksToHeader(discoveryLinks));
107
178
  const body = representation === "markdown"
108
- ? resolveResponseBody(result, "markdown", renderHtml)
179
+ ? resolveResponseBody(result, "markdown", renderHtml, discoveryLinks, request)
109
180
  : representation === "html"
110
- ? resolveResponseBody(result, "html", renderHtml)
181
+ ? resolveResponseBody(result, "html", renderHtml, discoveryLinks, request)
111
182
  : createStreamBody(result);
112
183
  return {
113
184
  status: result.status ?? 200,
@@ -115,28 +186,39 @@ function createResponse(result, representation, renderHtml) {
115
186
  body
116
187
  };
117
188
  }
118
- function createPageResponse(page, representation, renderHtml, route) {
189
+ function createPageResponse(page, representation, renderHtml, request, htmlDiscovery, route) {
190
+ const discoveryLinks = representation === "html"
191
+ ? resolveHtmlDiscoveryLinks(htmlDiscovery, {
192
+ request,
193
+ kind: "page",
194
+ ...(route ? { route } : {})
195
+ })
196
+ : null;
119
197
  return {
120
198
  status: 200,
121
- headers: {
122
- "content-type": representation === "markdown" ? "text/markdown" : "text/html"
123
- },
199
+ headers: mergeLinkHeader({
200
+ "content-type": representation === "markdown" ? toMarkdownContentType() : "text/html"
201
+ }, discoveryLinksToHeader(discoveryLinks)),
124
202
  body: representation === "markdown"
125
203
  ? serializePage(page)
126
204
  : renderHtml(getRenderablePage(page), {
127
205
  kind: "page",
128
- ...(route ? { route } : {})
206
+ ...(route ? { route } : {}),
207
+ ...toProtocolRenderOptions(discoveryLinks, route ?? getPathname(request)),
208
+ ...(discoveryLinks?.markdownHref ? { alternateMarkdownHref: discoveryLinks.markdownHref } : {}),
209
+ ...(discoveryLinks?.llmsTxtHref ? { llmsTxtHref: discoveryLinks.llmsTxtHref } : {})
129
210
  })
130
211
  };
131
212
  }
132
213
  export function createMdsnServer(options = {}) {
133
214
  const router = new MdsnRouter();
134
215
  const sessionProvider = options.session;
135
- const htmlRenderer = options.renderHtml ??
216
+ const baseHtmlRenderer = options.renderHtml ??
136
217
  ((fragment, renderOptions) => renderHtmlDocument(fragment, {
137
218
  ...renderOptions,
138
219
  ...(options.markdownRenderer ? { markdownRenderer: options.markdownRenderer } : {})
139
220
  }));
221
+ const htmlRenderer = (fragment, renderOptions = {}) => injectHtmlDiscoveryLinks(baseHtmlRenderer(fragment, renderOptions), renderOptions);
140
222
  return {
141
223
  get(path, handler) {
142
224
  router.get(path, handler);
@@ -156,7 +238,7 @@ export function createMdsnServer(options = {}) {
156
238
  markdown: "## Not Acceptable",
157
239
  blocks: []
158
240
  }
159
- }), "markdown", htmlRenderer);
241
+ }), "markdown", htmlRenderer, request, options.htmlDiscovery);
160
242
  }
161
243
  const pathname = getPathname(request);
162
244
  const session = sessionProvider ? await sessionProvider.read(request) : null;
@@ -167,7 +249,7 @@ export function createMdsnServer(options = {}) {
167
249
  return createResponse(fail({
168
250
  status: 406,
169
251
  fragment: createErrorFragment("Not Acceptable", "Page routes do not support text/event-stream.")
170
- }), "markdown", htmlRenderer);
252
+ }), "markdown", htmlRenderer, request, options.htmlDiscovery);
171
253
  }
172
254
  let page;
173
255
  try {
@@ -177,10 +259,10 @@ export function createMdsnServer(options = {}) {
177
259
  });
178
260
  }
179
261
  catch {
180
- return createResponse(createInternalServerErrorResult(), representation, htmlRenderer);
262
+ return createResponse(createInternalServerErrorResult(), representation, htmlRenderer, request, options.htmlDiscovery);
181
263
  }
182
264
  if (page) {
183
- return createPageResponse(page, representation, htmlRenderer, pathname);
265
+ return createPageResponse(page, representation, htmlRenderer, request, options.htmlDiscovery, pathname);
184
266
  }
185
267
  }
186
268
  }
@@ -192,13 +274,13 @@ export function createMdsnServer(options = {}) {
192
274
  markdown: "## Not Found",
193
275
  blocks: []
194
276
  }
195
- }), representation, htmlRenderer);
277
+ }), representation, htmlRenderer, request, options.htmlDiscovery);
196
278
  }
197
279
  if (request.method === "POST" && hasRequestBody(request) && !isSupportedWriteContentType(request.headers["content-type"])) {
198
280
  return createResponse(fail({
199
281
  status: 415,
200
282
  fragment: createErrorFragment("Unsupported Media Type", 'POST requests must use Content-Type: "text/markdown".')
201
- }), representation, htmlRenderer);
283
+ }), representation, htmlRenderer, request, options.htmlDiscovery);
202
284
  }
203
285
  let inputs;
204
286
  try {
@@ -209,7 +291,7 @@ export function createMdsnServer(options = {}) {
209
291
  return createResponse(fail({
210
292
  status: 400,
211
293
  fragment: createErrorFragment("Invalid Request Body", error.message)
212
- }), representation, htmlRenderer);
294
+ }), representation, htmlRenderer, request, options.htmlDiscovery);
213
295
  }
214
296
  throw error;
215
297
  }
@@ -222,9 +304,9 @@ export function createMdsnServer(options = {}) {
222
304
  });
223
305
  }
224
306
  catch {
225
- return createResponse(createInternalServerErrorResult(), representation, htmlRenderer);
307
+ return createResponse(createInternalServerErrorResult(), representation, htmlRenderer, request, options.htmlDiscovery);
226
308
  }
227
- const response = createResponse(result, representation, htmlRenderer);
309
+ const response = createResponse(result, representation, htmlRenderer, request, options.htmlDiscovery);
228
310
  if (sessionProvider) {
229
311
  try {
230
312
  if (result.session?.type === "sign-out") {
@@ -235,7 +317,7 @@ export function createMdsnServer(options = {}) {
235
317
  }
236
318
  }
237
319
  catch {
238
- return createResponse(createInternalServerErrorResult(), representation, htmlRenderer);
320
+ return createResponse(createInternalServerErrorResult(), representation, htmlRenderer, request, options.htmlDiscovery);
239
321
  }
240
322
  }
241
323
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"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"}
@@ -32,10 +32,23 @@ export interface MdsnSessionProvider {
32
32
  export interface MdsnNavigation {
33
33
  target: string;
34
34
  }
35
+ export interface MdsnProtocolDiscovery {
36
+ markdownHref: string;
37
+ llmsTxtHref?: string;
38
+ }
39
+ export interface MdsnHtmlDiscoveryLinks extends Partial<MdsnProtocolDiscovery> {
40
+ }
41
+ export interface MdsnHtmlDiscoveryContext {
42
+ request: MdsnRequest;
43
+ kind: "page" | "fragment";
44
+ route?: string;
45
+ }
46
+ export type MdsnHtmlDiscoveryResolver = MdsnHtmlDiscoveryLinks | ((context: MdsnHtmlDiscoveryContext) => MdsnHtmlDiscoveryLinks | null | undefined);
35
47
  export interface MdsnActionResult {
36
48
  fragment?: MdsnFragment;
37
49
  page?: MdsnPage;
38
50
  navigation?: MdsnNavigation;
51
+ route?: string;
39
52
  status?: number;
40
53
  headers?: Record<string, string>;
41
54
  session?: MdsnSessionMutation;
@@ -43,6 +56,7 @@ export interface MdsnActionResult {
43
56
  export type MdsnStreamChunk = string | MdsnFragment;
44
57
  export interface MdsnStreamResult {
45
58
  stream: AsyncIterable<MdsnStreamChunk> | Iterable<MdsnStreamChunk>;
59
+ route?: string;
46
60
  status?: number;
47
61
  headers?: Record<string, string>;
48
62
  session?: MdsnSessionMutation;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdsnai/sdk",
3
- "version": "0.3.4",
3
+ "version": "0.4.1",
4
4
  "private": false,
5
5
  "description": "Reference SDK for building MDSN apps with Markdown-first pages, actions, and browser runtimes.",
6
6
  "license": "MIT",
@@ -24,7 +24,8 @@
24
24
  "skills-app",
25
25
  "agent-app",
26
26
  "server",
27
- "web-components"
27
+ "web-components",
28
+ "bun"
28
29
  ],
29
30
  "type": "module",
30
31
  "main": "./dist/index.js",
@@ -40,6 +41,10 @@
40
41
  "publishConfig": {
41
42
  "access": "public"
42
43
  },
44
+ "scripts": {
45
+ "prepack": "node ../scripts/sync-package-license.mjs",
46
+ "postpack": "node ../scripts/sync-package-license.mjs --cleanup"
47
+ },
43
48
  "exports": {
44
49
  ".": {
45
50
  "types": "./dist/index.d.ts",
@@ -53,6 +58,14 @@
53
58
  "types": "./dist/server/index.d.ts",
54
59
  "default": "./dist/server/index.js"
55
60
  },
61
+ "./server/node": {
62
+ "types": "./dist/server/node-runtime.d.ts",
63
+ "default": "./dist/server/node-runtime.js"
64
+ },
65
+ "./server/bun": {
66
+ "types": "./dist/server/bun.d.ts",
67
+ "default": "./dist/server/bun.js"
68
+ },
56
69
  "./web": {
57
70
  "types": "./dist/web/index.d.ts",
58
71
  "default": "./dist/web/index.js"