eddev 2.0.0-beta.197 → 2.0.0-beta.198

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.
@@ -6,5 +6,6 @@ export declare function SSRRoot(props: {
6
6
  initialData: RouteData;
7
7
  loader: RouteLoader;
8
8
  metaTags: RouteMetaTag[];
9
+ isAI?: boolean;
9
10
  }): import("react/jsx-runtime").JSX.Element;
10
11
  //# sourceMappingURL=ssr-root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-root.d.ts","sourceRoot":"","sources":["../../../src/app/entry/ssr-root.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItE,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,SAAS,CAAA;IACtB,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAA;CACzB,2CA+BA"}
1
+ {"version":3,"file":"ssr-root.d.ts","sourceRoot":"","sources":["../../../src/app/entry/ssr-root.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItE,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,SAAS,CAAA;IACtB,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,2CAgCA"}
@@ -7,7 +7,7 @@ export function SSRRoot(props) {
7
7
  const loader = props.loader;
8
8
  loader.setAppData(props.initialData.appData.data);
9
9
  loader.populateRouteData(props.pathname, props.initialData);
10
- return (_jsxs(APIProvider, { children: [_jsx(SSRRouter, { loader: loader, hostname: props.hostname, route: normalizeRoute({
10
+ return (_jsxs(APIProvider, { children: [_jsx(SSRRouter, { loader: loader, hostname: props.hostname, isAI: props.isAI, route: normalizeRoute({
11
11
  id: "initial",
12
12
  component: loader.getRouteComponent(props.initialData.view),
13
13
  key: "",
@@ -1 +1 @@
1
- {"version":3,"file":"ContentBlocks.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/ContentBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAA4C,MAAM,OAAO,CAAA;AAM3G,KAAK,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,GAAG,CAAA;IACV,WAAW,EAAE,YAAY,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CAC7D,CAAC,MAAM,UAAU,CAAC,CAAA;AAEnB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,oDAAsD,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,KAAK,YAAY,CAAA;IACxE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE;QACb,SAAS,EAAE,YAAY,EAAE,CAAA;QACzB,MAAM,CAAC,EAAE,YAAY,CAAA;QACrB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;QACzB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;QACzB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,YAAY,GAAG,IAAI,CAAA;CAC1B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,kDAAkD;IAClD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;CACxB,GAAG,uBAAuB,CAAA;AAS3B;;GAEG;AACH,eAAO,MAAM,aAAa,8CAAgB,KAAK,oDA8E7C,CAAA;AAIF,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,kDAsCpD"}
1
+ {"version":3,"file":"ContentBlocks.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/ContentBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAA4C,MAAM,OAAO,CAAA;AAO3G,KAAK,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,GAAG,CAAA;IACV,WAAW,EAAE,YAAY,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CAC7D,CAAC,MAAM,UAAU,CAAC,CAAA;AAEnB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,oDAAsD,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,KAAK,YAAY,CAAA;IACxE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE;QACb,SAAS,EAAE,YAAY,EAAE,CAAA;QACzB,MAAM,CAAC,EAAE,YAAY,CAAA;QACrB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;QACzB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;QACzB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,YAAY,GAAG,IAAI,CAAA;CAC1B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,kDAAkD;IAClD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;CACxB,GAAG,uBAAuB,CAAA;AAS3B;;GAEG;AACH,eAAO,MAAM,aAAa,8CAAgB,KAAK,oDA8E7C,CAAA;AAIF,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,kDA+CpD"}
@@ -4,6 +4,7 @@ import { blockManifestReader } from "../internal/read-block-manifest.js";
4
4
  import { BlockErrorBoundary } from "../../utils/BlockErrorBoundary.js";
5
5
  import { InlineEditingContextProvider, ReadonlyInlineEditingProvider } from "./inline-editing.js";
6
6
  import { addBlockMetadata } from "./block-utils.js";
7
+ import { useRouter } from "../routing/index.js";
7
8
  export const BlocksContext = createContext(undefined);
8
9
  /**
9
10
  * Render a set of Gutenberg blocks
@@ -88,9 +89,16 @@ export function SingleContentBlock(props) {
88
89
  // Apply the block style class name
89
90
  // @ts-ignore
90
91
  block.props.blockStyle = block.class?.replace("is-style-", "");
91
- return (_jsx(InlineEditingContextProvider, { block: [block.blockName, block.props], values: block.inline, innerBlocks: block.innerBlocks, index: props.index ?? 0, children: _jsx(Component, { ...block.props, innerHTML: block.innerHTML,
92
+ let result = (_jsx(InlineEditingContextProvider, { block: [block.blockName, block.props], values: block.inline, innerBlocks: block.innerBlocks, index: props.index ?? 0, children: _jsx(Component, { ...block.props, innerHTML: block.innerHTML,
92
93
  // innerBlocks={block.innerBlocks}
93
94
  children: Array.isArray(block.innerBlocks) && block.innerBlocks.length ? (_jsx(ContentBlocks, { blocks: block.innerBlocks })) : null }) }));
95
+ if (!env.client && env.serverless) {
96
+ const router = useRouter();
97
+ if (router.isAI) {
98
+ result = _jsx("div", { "data-block-type": props.block.slug, children: result });
99
+ }
100
+ }
101
+ return result;
94
102
  }
95
103
  function useBlockComponent(block) {
96
104
  return blockManifestReader.value[block.blockName];
@@ -1 +1 @@
1
- {"version":3,"file":"RouteRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/RouteRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,eAAO,MAAM,WAAW,oFAatB,CAAA;AAEF,wBAAgB,SAAS,4CAGxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,2CA2BxD;yBA3Be,YAAY"}
1
+ {"version":3,"file":"RouteRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/RouteRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,eAAO,MAAM,WAAW,oFAatB,CAAA;AAEF,wBAAgB,SAAS,4CAGxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,2CA8BxD;yBA9Be,YAAY"}
@@ -24,6 +24,9 @@ export function RouteDisplay(props) {
24
24
  const router = useRouter();
25
25
  return useMemo(() => {
26
26
  let child = !!Component && _jsx(Component, { ...props.route.props });
27
+ if (router.isAI) {
28
+ child = _jsx("div", { id: "ai-page-contents", children: child });
29
+ }
27
30
  return (_jsx(RouteErrorBoundary, { route: props.route, onError: (error, errorInfo) => {
28
31
  if (env.client) {
29
32
  if (error.message.includes("Failed to fetch dynamically imported module")) {
@@ -5,6 +5,7 @@ type Props = PropsWithChildren<{
5
5
  hostname?: string;
6
6
  route: RouteState;
7
7
  loader: RouteLoader;
8
+ isAI?: boolean;
8
9
  }>;
9
10
  export declare function SSRRouter(props: Props): import("react/jsx-runtime").JSX.Element;
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SSRRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/SSRRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;CACpB,CAAC,CAAA;AAEF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,2CAgBrC"}
1
+ {"version":3,"file":"SSRRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/SSRRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAC,CAAA;AAEF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,2CAiBrC"}
@@ -8,6 +8,7 @@ export function SSRRouter(props) {
8
8
  const routerState = useRouterState();
9
9
  router.loader = props.loader;
10
10
  router.hostname = props.hostname;
11
+ router.isAI = props.isAI;
11
12
  routerState.history = [props.route];
12
13
  routerState.activeRoute = props.route;
13
14
  return (_jsx(RouterContext.Provider, { value: router, children: _jsx(RouterStateContext.Provider, { value: routerState, children: _jsx(AppRenderer, {}) }) }));
@@ -132,6 +132,8 @@ export type RouterAPI = {
132
132
  getState: () => RouterAPIState | null;
133
133
  /** Go back to a previous route in the history stack, or push it onto the stack if it isn't currently on the stack. */
134
134
  restoreRoute: (route: RouteState) => void;
135
+ /** Indicates that this page render is for consumption by an LLM */
136
+ isAI?: boolean;
135
137
  };
136
138
  export type TypedRouteState<T, TProps> = {
137
139
  /** A unique ID, representing this history item. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- export * from "./render-ssr-page.js";
2
- export * from "./server-context.js";
3
1
  export * from "./proxy-wp-admin.js";
2
+ export * from "./render-ai-page.js";
3
+ export * from "./render-ssr-page.js";
4
4
  export * from "./rpc.js";
5
+ export * from "./server-context.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA"}
@@ -1,4 +1,5 @@
1
- export * from "./render-ssr-page.js";
2
- export * from "./server-context.js";
3
1
  export * from "./proxy-wp-admin.js";
2
+ export * from "./render-ai-page.js";
3
+ export * from "./render-ssr-page.js";
4
4
  export * from "./rpc.js";
5
+ export * from "./server-context.js";
@@ -0,0 +1,13 @@
1
+ type RenderArgs = {
2
+ pathname: string;
3
+ statusCode?: number;
4
+ newOrigin?: string;
5
+ propData?: Record<string, any>;
6
+ };
7
+ export type IndexablePage = {
8
+ shouldIndex: boolean;
9
+ contents: string;
10
+ };
11
+ export declare function renderPageForIndexing(args: RenderArgs): Promise<IndexablePage>;
12
+ export {};
13
+ //# sourceMappingURL=render-ai-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ai-page.d.ts","sourceRoot":"","sources":["../../../src/app/server/render-ai-page.tsx"],"names":[],"mappings":"AAmGA,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA0CpF"}
@@ -0,0 +1,100 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Suspense } from "react";
3
+ import { renderToPipeableStream, renderToString } from "react-dom/server";
4
+ import { Writable } from "stream";
5
+ import { MetaTags } from "../entry/MetaTags.js";
6
+ import { SSRRoot } from "../entry/ssr-root.js";
7
+ import { RouteLoader } from "../lib/routing/loader.js";
8
+ import { ServerContext } from "./server-context.js";
9
+ import { parseHTML } from "linkedom";
10
+ async function getAiSsrStream(args) {
11
+ const jsx = (_jsx(Suspense, { children: _jsx(SSRRoot, { metaTags: args.initialData?.meta?.head || [], pathname: args.pathname, initialData: args.initialData, loader: new RouteLoader(), isAI: true }) }));
12
+ const stream = await new Promise(async (resolve, reject) => {
13
+ // console.log("Rendering to pipable")
14
+ const stream = renderToPipeableStream(jsx, {
15
+ identifierPrefix: "ed",
16
+ onShellReady() {
17
+ // console.log("Shell ready")
18
+ resolve(stream);
19
+ },
20
+ onShellError(err) {
21
+ console.log("onShellError", err);
22
+ reject(err);
23
+ },
24
+ onError(err, errInfo) {
25
+ console.log("Error occurred after shell ready", err, errInfo);
26
+ console.error(err);
27
+ },
28
+ });
29
+ });
30
+ const [initial, middle, end] = renderToString(_jsxs("html", { lang: "en", children: [_jsxs("head", { children: ["%%$%%", _jsx(MetaTags, { tags: args.initialData.meta?.head ?? [] })] }), _jsx("body", { children: _jsx("div", { id: "root", children: "%%$%%" }) })] })).split("%%$%%");
31
+ const inner = await new Promise((resolve, reject) => {
32
+ let buffer = [];
33
+ const writableStream = new Writable({
34
+ emitClose: true,
35
+ write(chunk, encoding, callback) {
36
+ buffer.push(new TextDecoder().decode(chunk));
37
+ callback();
38
+ },
39
+ final(callback) {
40
+ resolve(buffer.join("\n"));
41
+ callback();
42
+ },
43
+ });
44
+ stream.pipe(writableStream);
45
+ });
46
+ const renderedContent = initial + "\n" + middle + "\n" + inner + "\n" + end;
47
+ return processRenderedContent(renderedContent);
48
+ }
49
+ function processRenderedContent(content) {
50
+ const { document } = parseHTML(content);
51
+ // Immediately remove unnecessary tags
52
+ document.querySelectorAll("script, link, style, svg, img, video, [data-ai-hidden]").forEach((el) => {
53
+ el.remove();
54
+ });
55
+ document.querySelectorAll("*").forEach((el) => {
56
+ el.removeAttribute("style");
57
+ el.removeAttribute("class");
58
+ });
59
+ const pageContents = document.querySelectorAll("#ai-page-contents");
60
+ document.body.innerHTML = "";
61
+ document.body.append(...Array.from(pageContents));
62
+ return document.toString();
63
+ }
64
+ export async function renderPageForIndexing(args) {
65
+ const serverContext = ServerContext.main;
66
+ let responseInit = {};
67
+ const [{ appData }, response] = await Promise.all([
68
+ serverContext.fetchAppData(),
69
+ serverContext.fetchRouteData({
70
+ pathname: args.pathname,
71
+ newOrigin: args.newOrigin,
72
+ }),
73
+ ]);
74
+ let data = await response.json();
75
+ data.appData = appData;
76
+ if (args.propData) {
77
+ data = {
78
+ ...data,
79
+ ...args.propData,
80
+ };
81
+ }
82
+ responseInit.status = response.status;
83
+ if (data.redirect) {
84
+ return {
85
+ shouldIndex: false,
86
+ contents: "",
87
+ };
88
+ }
89
+ const headers = new Headers();
90
+ headers.set("Content-Type", "text/html; charset=utf-8");
91
+ responseInit.headers = headers;
92
+ const result = await getAiSsrStream({
93
+ ...args,
94
+ initialData: data,
95
+ });
96
+ return {
97
+ shouldIndex: true,
98
+ contents: result,
99
+ };
100
+ }
@@ -1,5 +1,6 @@
1
1
  import { AnyProcedure } from "@trpc/server";
2
2
  import { FetchCreateContextFnOptions } from "@trpc/server/adapters/fetch";
3
+ import { ServerContext } from "./server-context";
3
4
  export declare const rpcApi: {
4
5
  _config: import("@trpc/server/unstable-core-do-not-import").RootConfig<{
5
6
  ctx: RPCContext;
@@ -43,7 +44,9 @@ export declare function instantiateRouter<T extends RouterSchema>(routes: T): im
43
44
  }, import("@trpc/server/unstable-core-do-not-import").DecorateCreateRouterOptions<T>>;
44
45
  export type InferRPCServerContext<TFunc extends null | ((opts: FetchCreateContextFnOptions) => any)> = {
45
46
  req: Request;
47
+ searchParams: URLSearchParams;
46
48
  resHeaders: Headers;
49
+ server: ServerContext;
47
50
  } & (TFunc extends (opts: FetchCreateContextFnOptions) => infer T ? T : {});
48
51
  export {};
49
52
  //# sourceMappingURL=rpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/app/server/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAGzE,eAAO,MAAM,MAAM;;;;;;;;;mCA4B04D,0CAAU;;;;;;;iDAAqwB,cAAU;;;;;;;;;;;CA1BprF,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,CAAA;AAE/E,eAAO,MAAM,GAAG;;;WAGP,CAAC,SAAS,YAAY,UAAU,CAAC,GAAG,CAAC;CAG7C,CAAA;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,IAAI,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,CAAC,GAC7C,CAAC,IAAI,EAAE,2BAA2B,KAAK,CAAC,CAE1C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC;;;;;sFAElE;AAED,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,2BAA2B,KAAK,GAAG,CAAC,IAAI;IACrG,GAAG,EAAE,OAAO,CAAA;IACZ,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,2BAA2B,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/app/server/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,eAAO,MAAM,MAAM;;;;;;;;;mCA8BgyD,0CAAU;;;;;;;iDAAqwB,cAAU;;;;;;;;;;;CA5B1kF,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,CAAA;AAE/E,eAAO,MAAM,GAAG;;;WAGP,CAAC,SAAS,YAAY,UAAU,CAAC,GAAG,CAAC;CAG7C,CAAA;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,IAAI,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,CAAC,GAC7C,CAAC,IAAI,EAAE,2BAA2B,KAAK,CAAC,CAE1C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC;;;;;sFAElE;AAED,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,2BAA2B,KAAK,GAAG,CAAC,IAAI;IACrG,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,EAAE,eAAe,CAAA;IAC7B,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;CACtB,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,2BAA2B,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.0.0-beta.197";
1
+ export declare const VERSION = "2.0.0-beta.198";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- export const VERSION = "2.0.0-beta.197";
1
+ export const VERSION = "2.0.0-beta.198";
@@ -1 +1 @@
1
- {"version":3,"file":"vinxi-codegen.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/vinxi-codegen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,UAExE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,OAAO,iBAIlD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,aAmrB/C"}
1
+ {"version":3,"file":"vinxi-codegen.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/vinxi-codegen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,UAExE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,OAAO,iBAIlD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,aAkuB/C"}
@@ -296,7 +296,7 @@ export function createVinxiCodegen(opts) {
296
296
  import "./manifest/styles.js"
297
297
  import "./manifest/views.js"
298
298
  import "./context.js"
299
- import { proxyWpAdmin, renderPage, ServerContext } from "eddev/server"
299
+ import { proxyWpAdmin, renderPage, renderPageForIndexing, ServerContext } from "eddev/server"
300
300
  import {
301
301
  createRouter,
302
302
  eventHandler,
@@ -386,6 +386,37 @@ export function createVinxiCodegen(opts) {
386
386
  })
387
387
  }),
388
388
  )
389
+
390
+ const aiRouter = createRouter()
391
+ .get(
392
+ "/_ai/page",
393
+ eventHandler(async (event) => {
394
+ const id = "/"
395
+ const url = getRequestURL(event)
396
+ const page = await renderPageForIndexing({ pathname: id, newOrigin: url.origin, hostname: url.hostname })
397
+ return new Response(page.contents, {
398
+ headers: {
399
+ "Content-Type": "text/html; charset=utf-8",
400
+ "Cache-Control": "no-store",
401
+ },
402
+ })
403
+ }),
404
+ )
405
+ .get(
406
+ "/_ai/page/**:name",
407
+ eventHandler(async (event) => {
408
+ const id = "/" + getRouterParam(event, "name")
409
+ const url = getRequestURL(event)
410
+
411
+ const page = await renderPageForIndexing({ pathname: id, newOrigin: url.origin, hostname: url.hostname })
412
+ return new Response(page.contents, {
413
+ headers: {
414
+ "Content-Type": "text/html; charset=utf-8",
415
+ "Cache-Control": "no-store",
416
+ },
417
+ })
418
+ }),
419
+ )
389
420
 
390
421
  export default eventHandler({
391
422
  handler: async (event) => {
@@ -403,6 +434,16 @@ export function createVinxiCodegen(opts) {
403
434
  return router.handler(event)
404
435
  }
405
436
 
437
+ // LLM indexing route
438
+ if (url.pathname.startsWith("/_ai/")) {
439
+ return aiRouter.handler(event)
440
+ }
441
+
442
+ // Outdated build assets
443
+ if (url.pathname.match(/^\\/(_build|_admin)/)) {
444
+ return new Response("", { status: 404 })
445
+ }
446
+
406
447
  // Proxy WordPress
407
448
  if (url.pathname.includes(".") || url.pathname.startsWith("/graphql") || url.pathname.startsWith("/wp-")) {
408
449
  return proxyWpAdmin(event)
@@ -659,7 +700,13 @@ export function createVinxiCodegen(opts) {
659
700
  endpoint: "/",
660
701
  req: req,
661
702
  router: router,
662
- createContext,
703
+ createContext: async (opts) => {
704
+ return {
705
+ ...(await createContext(opts)),
706
+ searchParams: opts.info.url?.searchParams,
707
+ server: serverContext,
708
+ }
709
+ },
663
710
  onError: (err) => console.error(err),
664
711
  batching: { enabled: false },
665
712
  // If a Response object is returned by a route, it will be sent as the response
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "2.0.0-beta.197",
3
+ "version": "2.0.0-beta.198",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -113,6 +113,7 @@
113
113
  "graphql": "^16.8.1",
114
114
  "ink": "^5.0.1",
115
115
  "ink-spinner": "^5.0.0",
116
+ "linkedom": "^0.18.9",
116
117
  "lru-cache": "11.0.2",
117
118
  "mkcert": "^3.2.0",
118
119
  "nitropack": "2.10.4",
@@ -140,6 +141,7 @@
140
141
  "typescript": "^5.5.2"
141
142
  },
142
143
  "peerDependencies": {
144
+ "openai": "^4.93.0",
143
145
  "react": "^18.3.1",
144
146
  "react-dom": "^18.3.1",
145
147
  "tailwindcss": "^3.4.4"