@absolutejs/absolute 0.19.0-beta.363 → 0.19.0-beta.365
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.
- package/dist/ai/index.js +383 -36
- package/dist/ai/index.js.map +11 -9
- package/dist/ai-client/angular/ai/index.js +102 -0
- package/dist/ai-client/react/ai/index.js +176 -0
- package/dist/ai-client/vue/ai/index.js +172 -0
- package/dist/angular/ai/index.js +103 -1
- package/dist/angular/ai/index.js.map +5 -3
- package/dist/angular/index.js +2 -2
- package/dist/angular/index.js.map +2 -2
- package/dist/build.js +4 -1
- package/dist/build.js.map +3 -3
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +2 -2
- package/dist/index.js +5 -2
- package/dist/index.js.map +4 -4
- package/dist/react/ai/index.js +177 -1
- package/dist/react/ai/index.js.map +7 -3
- package/dist/react/components/browser/index.js +2 -1
- package/dist/react/components/index.js +3 -2
- package/dist/react/components/index.js.map +3 -3
- package/dist/react/index.js +5 -2
- package/dist/react/index.js.map +4 -4
- package/dist/react/server.js +4 -1
- package/dist/react/server.js.map +3 -3
- package/dist/src/ai/client/ragClient.d.ts +16 -0
- package/dist/src/ai/index.d.ts +3 -1
- package/dist/src/ai/rag/adapters/sqlite.d.ts +2 -11
- package/dist/src/ai/rag/chat.d.ts +41 -5
- package/dist/src/ai/rag/index.d.ts +3 -2
- package/dist/src/ai/rag/resolveAbsoluteSQLiteVec.d.ts +2 -0
- package/dist/src/ai/rag/types.d.ts +1 -1
- package/dist/src/angular/ai/index.d.ts +1 -0
- package/dist/src/angular/ai/rag-client.service.d.ts +11 -0
- package/dist/src/react/ai/index.d.ts +3 -0
- package/dist/src/react/ai/useRAGIngest.d.ts +8 -0
- package/dist/src/react/ai/useRAGSearch.d.ts +9 -0
- package/dist/src/react/ai/useRAGStatus.d.ts +9 -0
- package/dist/src/svelte/ai/createRAGIngest.d.ts +7 -0
- package/dist/src/svelte/ai/createRAGSearch.d.ts +7 -0
- package/dist/src/svelte/ai/createRAGStatus.d.ts +8 -0
- package/dist/src/svelte/ai/index.d.ts +3 -0
- package/dist/src/vue/ai/index.d.ts +3 -0
- package/dist/src/vue/ai/useRAGIngest.d.ts +7 -0
- package/dist/src/vue/ai/useRAGSearch.d.ts +21 -0
- package/dist/src/vue/ai/useRAGStatus.d.ts +8 -0
- package/dist/svelte/ai/index.js +171 -1
- package/dist/svelte/ai/index.js.map +8 -4
- package/dist/svelte/index.js +2 -2
- package/dist/svelte/index.js.map +2 -2
- package/dist/types/ai.d.ts +54 -0
- package/dist/vue/ai/index.js +173 -1
- package/dist/vue/ai/index.js.map +7 -3
- package/dist/vue/index.js +2 -2
- package/dist/vue/index.js.map +2 -2
- package/package.json +1 -1
package/dist/react/server.js.map
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"export const ssrErrorPage = (framework: string, error: unknown) => {\n\tconst frameworkColors: Record<string, string> = {\n\t\tangular: '#dd0031',\n\t\thtml: '#e34c26',\n\t\thtmx: '#1a365d',\n\t\treact: '#61dafb',\n\t\tsvelte: '#ff3e00',\n\t\tvue: '#42b883'\n\t};\n\n\tconst accent = frameworkColors[framework] ?? '#94a3b8';\n\tconst label = framework.charAt(0).toUpperCase() + framework.slice(1);\n\tconst message = error instanceof Error ? error.message : String(error);\n\n\treturn `<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>SSR Error - AbsoluteJS</title>\n<style>\n*{margin:0;padding:0;box-sizing:border-box}\nbody{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:\"JetBrains Mono\",\"Fira Code\",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}\n.card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}\n.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}\n.brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}\n.badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}\n.kind{color:#94a3b8;font-size:13px;font-weight:500}\n.content{padding:24px}\n.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}\n.message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}\n.hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}\n</style>\n</head>\n<body>\n<div class=\"card\">\n<div class=\"header\">\n<div style=\"display:flex;align-items:center;gap:12px\">\n<span class=\"brand\">AbsoluteJS</span>\n<span class=\"badge\">${label}</span>\n</div>\n<span class=\"kind\">Server Render Error</span>\n</div>\n<div class=\"content\">\n<div class=\"label\">What went wrong</div>\n<pre class=\"message\">${message.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}</pre>\n<div class=\"hint\">A component threw during server-side rendering. Check the terminal for the full stack trace.</div>\n</div>\n</div>\n</body>\n</html>`;\n};\n",
|
|
7
7
|
"const normalizeSlug = (str: string) =>\n\tstr\n\t\t.trim()\n\t\t.replace(/\\s+/g, '-')\n\t\t.replace(/[^A-Za-z0-9\\-_]+/g, '')\n\t\t.replace(/[-_]{2,}/g, '-');\n\nexport const toKebab = (str: string) =>\n\tnormalizeSlug(str)\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.toLowerCase();\nexport const toPascal = (str: string) => {\n\tif (!str.includes('-') && !str.includes('_')) {\n\t\treturn str.charAt(0).toUpperCase() + str.slice(1);\n\t}\n\n\treturn normalizeSlug(str)\n\t\t.split(/[-_]/)\n\t\t.filter(Boolean)\n\t\t.map(\n\t\t\t(segment) =>\n\t\t\t\tsegment.charAt(0).toUpperCase() + segment.slice(1).toLowerCase()\n\t\t)\n\t\t.join('');\n};\nexport const toScreamingSnake = (str: string) =>\n\tstr.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n",
|
|
8
8
|
"import { basename } from 'node:path';\nimport type { ConventionsMap } from '../../types/conventions';\nimport { toPascal } from './stringModifiers';\n\n// Use globalThis so the conventions map is shared across all bundles.\n// The main bundle (dist/index.js) calls setConventions, but framework\n// bundles (dist/svelte/index.js, etc.) need to read the same map.\nconst CONVENTIONS_KEY = '__absoluteConventions';\n\nconst isConventionsMap = (value: unknown): value is ConventionsMap =>\n\tBoolean(value) && typeof value === 'object';\n\nconst getMap = () => {\n\tconst value: unknown = Reflect.get(globalThis, CONVENTIONS_KEY);\n\tif (isConventionsMap(value)) return value;\n\n\tconst empty: ConventionsMap = {};\n\n\treturn empty;\n};\n\nexport const derivePageName = (pagePath: string) => {\n\tconst base = basename(pagePath);\n\t// Strip hash and extension: \"SvelteExample.abc123.js\" → \"SvelteExample\"\n\tconst dotIndex = base.indexOf('.');\n\tconst name = dotIndex > 0 ? base.slice(0, dotIndex) : base;\n\n\treturn toPascal(name);\n};\nexport const getConventions = () => getMap();\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return undefined;\n\n\treturn conventions.pages?.[pageName]?.error ?? conventions.defaults?.error;\n};\nexport const resolveNotFoundConventionPath = (\n\tframework: keyof ConventionsMap\n) => getMap()[framework]?.defaults?.notFound;\nexport const setConventions = (map: ConventionsMap) => {\n\tReflect.set(globalThis, CONVENTIONS_KEY, map);\n};\n\nconst isDev = () => process.env.NODE_ENV === 'development';\n\nconst buildErrorProps = (error: unknown) => {\n\tconst message = error instanceof Error ? error.message : String(error);\n\tconst stack = isDev() && error instanceof Error ? error.stack : undefined;\n\n\treturn { error: { message, stack } };\n};\n\nconst renderReactError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst [firstKey] = Object.keys(mod);\n\tconst ErrorComponent =\n\t\tmod.default ?? (firstKey ? mod[firstKey] : undefined);\n\tconst element = createElement(ErrorComponent, errorProps);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderSvelteError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tconst { head, body } = render(ErrorComponent, {\n\t\tprops: errorProps\n\t});\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst unescapeVueStyles = (ssrBody: string) => {\n\tlet styles = '';\n\tconst body = ssrBody.replace(\n\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t(_, css: string) => {\n\t\t\tstyles += `<style>${css\n\t\t\t\t.replace(/"/g, '\"')\n\t\t\t\t.replace(/&/g, '&')\n\t\t\t\t.replace(/</g, '<')\n\t\t\t\t.replace(/>/g, '>')}</style>`;\n\n\t\t\treturn '';\n\t\t}\n\t);\n\n\treturn { body, styles };\n};\n\nconst renderVueError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tconst app = createSSRApp({\n\t\trender: () => h(ErrorComponent, errorProps)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\t// Vue SSR escapes quotes inside <component is=\"style\"> tags.\n\t// Extract style content, unescape it, and move to <head>.\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderAngularError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\t// Angular error pages are rendered as plain HTML templates\n\t// since the full Angular SSR pipeline is too heavy for error pages\n\tconst mod = await import(conventionPath);\n\tconst renderError = mod.default ?? mod.renderError;\n\tif (typeof renderError !== 'function') return null;\n\n\tconst html = renderError(errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst logConventionRenderError = (\n\tframework: keyof ConventionsMap,\n\tlabel: string,\n\trenderError: unknown\n) => {\n\tconst message = renderError instanceof Error ? renderError.message : '';\n\tif (\n\t\tmessage.includes('Cannot find module') ||\n\t\tmessage.includes('Cannot find package') ||\n\t\tmessage.includes('not found in module')\n\t) {\n\t\tconsole.error(\n\t\t\t`[SSR] Convention ${label} page for ${framework} failed: missing framework package. ` +\n\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconsole.error(\n\t\t`[SSR] Failed to render ${framework} convention ${label} page:`,\n\t\trenderError\n\t);\n};\n\nconst ERROR_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(\n\t\tconventionPath: string,\n\t\terrorProps: ReturnType<typeof buildErrorProps>\n\t) => Promise<Response | null>\n> = {\n\tangular: renderAngularError,\n\treact: renderReactError,\n\tsvelte: renderSvelteError,\n\tvue: renderVueError\n};\n\nexport const renderConventionError = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terror: unknown\n) => {\n\tconst conventionPath = resolveErrorConventionPath(framework, pageName);\n\tif (!conventionPath) return null;\n\n\tconst errorProps = buildErrorProps(error);\n\tconst renderer = ERROR_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath, errorProps);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'error', renderError);\n\t}\n\n\treturn null;\n};\n\nconst renderReactNotFound = async (conventionPath: string) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst [nfKey] = Object.keys(mod);\n\tconst NotFoundComponent = mod.default ?? (nfKey ? mod[nfKey] : undefined);\n\tconst element = createElement(NotFoundComponent);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderSvelteNotFound = async (conventionPath: string) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tconst { head, body } = render(NotFoundComponent);\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderVueNotFound = async (conventionPath: string) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tconst app = createSSRApp({\n\t\trender: () => h(NotFoundComponent)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderAngularNotFound = async (conventionPath: string) => {\n\tconst mod = await import(conventionPath);\n\tconst renderNotFound = mod.default ?? mod.renderNotFound;\n\tif (typeof renderNotFound !== 'function') return null;\n\n\tconst html = renderNotFound();\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst NOT_FOUND_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(conventionPath: string) => Promise<Response | null>\n> = {\n\tangular: renderAngularNotFound,\n\treact: renderReactNotFound,\n\tsvelte: renderSvelteNotFound,\n\tvue: renderVueNotFound\n};\n\nexport const renderConventionNotFound = async (\n\tframework: keyof ConventionsMap\n) => {\n\tconst conventionPath = resolveNotFoundConventionPath(framework);\n\tif (!conventionPath) return null;\n\n\tconst renderer = NOT_FOUND_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'not-found', renderError);\n\t}\n\n\treturn null;\n};\n\nconst NOT_FOUND_PRIORITY: (keyof ConventionsMap)[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular'\n];\n\nexport const renderFirstNotFound = async () => {\n\tfor (const framework of NOT_FOUND_PRIORITY) {\n\t\tif (!getMap()[framework]?.defaults?.notFound) continue;\n\t\t// eslint-disable-next-line no-await-in-loop -- frameworks must be tried sequentially; first match wins\n\t\tconst response = await renderConventionNotFound(framework);\n\t\tif (response) return response;\n\t}\n\n\treturn null;\n};\n",
|
|
9
|
-
"import type { ComponentType as ReactComponent } from 'react';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderConventionError } from '../utils/resolveConvention';\n\nlet ssrDirty = false;\n\nconst buildDirtyResponse = (\n\tindex: string,\n\tmaybeProps: Record<string, unknown> | undefined\n) => {\n\tconst propsScript = maybeProps\n\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t: '';\n\tconst dirtyFlag = 'window.__SSR_DIRTY__=true;';\n\tconst refreshSetup =\n\t\tprocess.env.NODE_ENV !== 'production'\n\t\t\t? 'window.__REFRESH_BUFFER__=[];' +\n\t\t\t\t'window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};' +\n\t\t\t\t'window.$RefreshSig$=function(){return function(t){return t}};'\n\t\t\t: '';\n\tconst inlineScript = `${propsScript}${dirtyFlag}${refreshSetup}`;\n\tconst html =\n\t\t`<!DOCTYPE html><html><head></head><body>` +\n\t\t`<script>${inlineScript}</script>` +\n\t\t`<script type=\"module\" src=\"${index}\"></script>` +\n\t\t`</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' }\n\t});\n};\n\nexport const handleReactPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tPageComponent: ReactComponent<Props>,\n\tindex: string,\n\t...props: keyof Props extends never ? [] : [props: NoInfer<Props>]\n) => {\n\tconst [maybeProps] = props;\n\n\tif (ssrDirty) {\n\t\treturn buildDirtyResponse(index, maybeProps);\n\t}\n\n\ttry {\n\t\tconst { createElement } = await import('react');\n\t\tconst { renderToReadableStream } = await import('react-dom/server');\n\n\t\tconst element =\n\t\t\tmaybeProps !== undefined\n\t\t\t\t? createElement(PageComponent, maybeProps)\n\t\t\t\t: createElement(PageComponent);\n\n\t\tconst propsScript = maybeProps\n\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t\t: '';\n\n\t\t// Buffer React Refresh registrations until the runtime loads.\n\t\t// Bun.build injects $RefreshReg$ calls in the bundle, but the\n\t\t// real runtime isn't ready yet. This buffering function captures\n\t\t// all registrations, then replays them when the runtime is set up.\n\t\tconst refreshSetup =\n\t\t\tprocess.env.NODE_ENV !== 'production'\n\t\t\t\t? 'window.__REFRESH_BUFFER__=[];' +\n\t\t\t\t\t'window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};' +\n\t\t\t\t\t'window.$RefreshSig$=function(){return function(t){return t}};'\n\t\t\t\t: '';\n\n\t\tconst stream = await renderToReadableStream(element, {\n\t\t\tbootstrapModules: [index],\n\t\t\tbootstrapScriptContent: propsScript + refreshSetup || undefined,\n\t\t\tonError(error: unknown) {\n\t\t\t\tconsole.error('[SSR] React streaming error:', error);\n\t\t\t}\n\t\t});\n\t\tconst htmlStream = injectIslandPageContextStream(stream);\n\n\t\treturn new Response(htmlStream, {\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] React render error:', error);\n\n\t\tconst pageName = PageComponent.name || PageComponent.displayName || '';\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'react',\n\t\t\tpageName,\n\t\t\terror\n\t\t);\n\t\tif (conventionResponse) return conventionResponse;\n\n\t\treturn new Response(ssrErrorPage('react', error), {\n\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\tstatus: 500\n\t\t});\n\t}\n};\n\nexport const invalidateReactSsrCache = () => {\n\tssrDirty = true;\n};\n",
|
|
9
|
+
"import type { ComponentType as ReactComponent } from 'react';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderConventionError } from '../utils/resolveConvention';\n\nlet ssrDirty = false;\n\nconst buildDirtyResponse = (\n\tindex: string,\n\tmaybeProps: Record<string, unknown> | undefined\n) => {\n\tconst propsScript = maybeProps\n\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t: '';\n\tconst dirtyFlag = 'window.__SSR_DIRTY__=true;';\n\tconst refreshSetup =\n\t\tprocess.env.NODE_ENV !== 'production'\n\t\t\t? 'window.__REFRESH_BUFFER__=[];' +\n\t\t\t\t'window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};' +\n\t\t\t\t'window.$RefreshSig$=function(){return function(t){return t}};'\n\t\t\t: '';\n\tconst inlineScript = `${propsScript}${dirtyFlag}${refreshSetup}`;\n\tconst html =\n\t\t`<!DOCTYPE html><html><head></head><body>` +\n\t\t`<script>${inlineScript}</script>` +\n\t\t`<script type=\"module\" src=\"${index}\"></script>` +\n\t\t`</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' }\n\t});\n};\n\nexport const handleReactPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tPageComponent: ReactComponent<Props>,\n\tindex: string,\n\t...props: keyof Props extends never ? [] : [props: NoInfer<Props>]\n) => {\n\tconst [maybeProps] = props;\n\n\tif (ssrDirty) {\n\t\treturn buildDirtyResponse(index, maybeProps);\n\t}\n\n\ttry {\n\t\tconst { createElement } = await import('react');\n\t\tconst { renderToReadableStream } = await import('react-dom/server');\n\n\t\tconst element =\n\t\t\tmaybeProps !== undefined\n\t\t\t\t? createElement(PageComponent, maybeProps)\n\t\t\t\t: createElement(PageComponent);\n\n\t\tconst propsScript = maybeProps\n\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t\t: '';\n\n\t\t// Buffer React Refresh registrations until the runtime loads.\n\t\t// Bun.build injects $RefreshReg$ calls in the bundle, but the\n\t\t// real runtime isn't ready yet. This buffering function captures\n\t\t// all registrations, then replays them when the runtime is set up.\n\t\tconst refreshSetup =\n\t\t\tprocess.env.NODE_ENV !== 'production'\n\t\t\t\t? 'window.__REFRESH_BUFFER__=[];' +\n\t\t\t\t\t'window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};' +\n\t\t\t\t\t'window.$RefreshSig$=function(){return function(t){return t}};'\n\t\t\t\t: '';\n\n\t\tconst stream = await renderToReadableStream(element, {\n\t\t\tbootstrapModules: [index],\n\t\t\tbootstrapScriptContent: propsScript + refreshSetup || undefined,\n\t\t\tonError(error: unknown) {\n\t\t\t\tconsole.error('[SSR] React streaming error:', error);\n\t\t\t}\n\t\t});\n\t\t// Force the initial React server render to complete before the response\n\t\t// leaves the AsyncLocalStorage scope so StreamSlot registrations are captured.\n\t\tif ('allReady' in stream && stream.allReady instanceof Promise) {\n\t\t\tawait stream.allReady;\n\t\t}\n\t\tconst htmlStream = injectIslandPageContextStream(stream);\n\n\t\treturn new Response(htmlStream, {\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] React render error:', error);\n\n\t\tconst pageName = PageComponent.name || PageComponent.displayName || '';\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'react',\n\t\t\tpageName,\n\t\t\terror\n\t\t);\n\t\tif (conventionResponse) return conventionResponse;\n\n\t\treturn new Response(ssrErrorPage('react', error), {\n\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\tstatus: 500\n\t\t});\n\t}\n};\n\nexport const invalidateReactSsrCache = () => {\n\tssrDirty = true;\n};\n",
|
|
10
10
|
"export { handleReactPageRequest } from './pageHandler';\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAM,yBAAyB,mBACzB,gBAAgB,sBAChB,kBAAkB,yBAClB,sBAAsB,wBACtB,mBAAmB,WASnB,yBAAyB,CAAC,aAAqC;AAAA,EACpE,MAAM,iBAAiB,0CAA0C,KAAK,UAAU,QAAQ;AAAA,EACxF,MAAM,oBAAoB,yCAAyC,KAAK,UAAU,WAAW,wBAAwB,CAAC,CAAC;AAAA,EACvH,MAAM,gBAAgB,SAAS;AAAA,EAC/B,MAAM,kBAAkB,gBACrB,8BAA8B,6BAC9B;AAAA,EAEH,OAAO,GAAG,iBAAiB,oBAAoB;AAAA,GAG1C,mBAAmB,CAAC,MAAc,WAAmB;AAAA,EAC1D,MAAM,mBAAmB,KAAK,QAAQ,SAAS;AAAA,EAC/C,IAAI,oBAAoB,GAAG;AAAA,IAC1B,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,IAAI,SAAS,KAAK,MAAM,gBAAgB;AAAA,EACjF;AAAA,EAEA,MAAM,mBAAmB,KAAK,QAAQ,OAAO;AAAA,EAC7C,IAAI,oBAAoB,GAAG;AAAA,IAC1B,MAAM,YAAY,KAAK,QAAQ,KAAK,gBAAgB;AAAA,IACpD,IAAI,aAAa,GAAG;AAAA,MACnB,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,UAAU,gBAAgB,KAAK,MAAM,gBAAgB;AAAA,IAC9F;AAAA,EACD;AAAA,EAEA,OAAO,8BAA8B,sBAAsB;AAAA,GAGtD,sBAAsB,CAC3B,OACA,YAEA,OAAO,UAAU,WAAW,QAAQ,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,GAErE,8BAA8B,CACnC,QACA,WACI;AAAA,EACJ,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,aAAa,iBAAiB,SAAS;AAAA,EAE7C,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,MAAM,SAAS,OAAO,UAAU;AAAA,MAChC,IAAI,WAAW;AAAA,MACf,IAAI,UAAU;AAAA,MAEd,IAAI;AAAA,QACH,UAAS;AAAA,UACR,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,UAC1C,IAAI;AAAA,YAAM;AAAA,UACV,IAAI,CAAC;AAAA,YAAO;AAAA,UAEZ,WAAW,oBAAoB,OAAO,OAAO;AAAA,UAC7C,IAAI,UAAU;AAAA,YACb,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,YAC1C,UAAU;AAAA,YAEV;AAAA,UACD;AAAA,UAEA,MAAM,YAAY,QAAQ,QAAQ,gBAAgB;AAAA,UAClD,IAAI,aAAa,GAAG;AAAA,YACnB,MAAM,OAAO,GAAG,QAAQ,MAAM,GAAG,SAAS,IAAI,SAAS,QAAQ,MAAM,SAAS;AAAA,YAC9E,WAAW,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,YACvC,UAAU;AAAA,YACV,WAAW;AAAA,YAEX;AAAA,UACD;AAAA,UAEA,IAAI,QAAQ,SAAS,YAAY;AAAA,YAChC,MAAM,WAAW,QAAQ,MACxB,GACA,QAAQ,SAAS,UAClB;AAAA,YACA,WAAW,QAAQ,QAAQ,OAAO,QAAQ,CAAC;AAAA,YAC3C,UAAU,QAAQ,MAAM,CAAC,UAAU;AAAA,UACpC;AAAA,QACD;AAAA,QAEA,WAAW,QAAQ,OAAO;AAAA,QAC1B,IAAI,CAAC,UAAU;AAAA,UACd,UAAU,iBAAiB,SAAS,MAAM;AAAA,QAC3C;AAAA,QACA,IAAI,QAAQ,SAAS,GAAG;AAAA,UACvB,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,QAC3C;AAAA,QACA,WAAW,MAAM;AAAA,QAChB,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA,GAGI,sCAAsC,CAC3C,QACA,WACI;AAAA,EACJ,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EAEpB,MAAM,aAAa,KAAK,IAAI,cAAc,QAAQ,IAAI;AAAA,EAEtD,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,MAAM,SAAS,OAAO,UAAU;AAAA,MAChC,IAAI,WAAW;AAAA,MACf,IAAI,UAAU;AAAA,MAEd,IAAI;AAAA,QACH,UAAS;AAAA,UACR,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,UAC1C,IAAI;AAAA,YAAM;AAAA,UACV,IAAI,CAAC;AAAA,YAAO;AAAA,UAEZ,WAAW,oBAAoB,OAAO,OAAO;AAAA,UAC7C,IAAI,UAAU;AAAA,YACb,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,YAC1C,UAAU;AAAA,YAEV;AAAA,UACD;AAAA,UAEA,MAAM,cAAc,QAAQ,QAAQ,aAAa;AAAA,UACjD,IAAI,eAAe,GAAG;AAAA,YACrB,MAAM,WAAW,QAAQ,YAAY,KAAK,WAAW;AAAA,YACrD,MAAM,WAAW,YAAY,IAAI,WAAW;AAAA,YAC5C,MAAM,OAAO,GAAG,QAAQ,MAAM,GAAG,QAAQ,IAAI,SAAS,QAAQ,MAAM,QAAQ;AAAA,YAC5E,WAAW,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,YACvC,UAAU;AAAA,YACV,WAAW;AAAA,YAEX;AAAA,UACD;AAAA,UAEA,IAAI,QAAQ,SAAS,YAAY;AAAA,YAChC,MAAM,WAAW,QAAQ,MACxB,GACA,QAAQ,SAAS,UAClB;AAAA,YACA,WAAW,QAAQ,QAAQ,OAAO,QAAQ,CAAC;AAAA,YAC3C,UAAU,QAAQ,MAAM,CAAC,UAAU;AAAA,UACpC;AAAA,QACD;AAAA,QAEA,WAAW,QAAQ,OAAO;AAAA,QAC1B,IAAI,QAAQ,SAAS,GAAG;AAAA,UACvB,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,QAC3C;AAAA,QACA,WAAW,MAAM;AAAA,QAChB,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA,GAGW,sBAAsB,CAAC,SACnC,KAAK,SAAS,aAAa,GACf,0BAA0B,CACtC,MACA,YACI;AAAA,EACJ,MAAM,WAAW,WAAW;AAAA,EAC5B,MAAM,aAAa,SAAS,cAAc,oBAAoB,IAAI;AAAA,EAClE,IAAI,CAAC,YAAY,CAAC,YAAY;AAAA,IAC7B,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,KAAK,SAAS,eAAe,KAAK,KAAK,SAAS,mBAAmB,GAAG;AAAA,IACzE,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,iBAAiB,MAAM,uBAAuB,QAAQ,CAAC;AAAA,GAGlD,gCAAgC,CAC5C,QACA,YACI;AAAA,EACJ,MAAM,WAAW,WAAW;AAAA,EAC5B,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EACtB,MAAM,SAAS,uBAAuB,QAAQ;AAAA,EAE9C,IAAI,SAAS,eAAe,MAAM;AAAA,IACjC,OAAO,4BAA4B,QAAQ,MAAM;AAAA,EAClD;AAAA,EACA,IAAI,SAAS,eAAe,OAAO;AAAA,IAClC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,oCAAoC,QAAQ,MAAM;AAAA,GAE7C,2BAA2B,CAAC,aAAqC;AAAA,EAC7E,WAAW,qBAAqB;AAAA;;;IClNpB,eAAe,CAAC,WAAmB,UAAmB;AAAA,EAClE,MAAM,kBAA0C;AAAA,IAC/C,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,KAAK;AAAA,EACN;AAAA,EAEA,MAAM,SAAS,gBAAgB,cAAc;AAAA,EAC7C,MAAM,QAAQ,UAAU,OAAO,CAAC,EAAE,YAAY,IAAI,UAAU,MAAM,CAAC;AAAA,EACnE,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,EAErE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sFAY8E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAahE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAMC,QAAQ,QAAQ,MAAM,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;IC7C1F,gBAAgB,CAAC,QACtB,IACE,KAAK,EACL,QAAQ,QAAQ,GAAG,EACnB,QAAQ,qBAAqB,EAAE,EAC/B,QAAQ,aAAa,GAAG,GAEd,UAAU,CAAC,QACvB,cAAc,GAAG,EACf,QAAQ,sBAAsB,OAAO,EACrC,YAAY,GACF,WAAW,CAAC,QAAgB;AAAA,EACxC,IAAI,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG;AAAA,IAC7C,OAAO,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,MAAM,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,cAAc,GAAG,EACtB,MAAM,MAAM,EACZ,OAAO,OAAO,EACd,IACA,CAAC,YACA,QAAQ,OAAO,CAAC,EAAE,YAAY,IAAI,QAAQ,MAAM,CAAC,EAAE,YAAY,CACjE,EACC,KAAK,EAAE;AAAA,GAEG,mBAAmB,CAAC,QAChC,IAAI,QAAQ,sBAAsB,OAAO,EAAE,YAAY;;;AC1BxD;AAAA,IAOM,kBAAkB,yBAElB,mBAAmB,CAAC,UACzB,QAAQ,KAAK,KAAK,OAAO,UAAU,UAE9B,SAAS,MAAM;AAAA,EACpB,MAAM,QAAiB,QAAQ,IAAI,YAAY,eAAe;AAAA,EAC9D,IAAI,iBAAiB,KAAK;AAAA,IAAG,OAAO;AAAA,EAEpC,MAAM,QAAwB,CAAC;AAAA,EAE/B,OAAO;AAAA,GAGK,iBAAiB,CAAC,aAAqB;AAAA,EACnD,MAAM,OAAO,SAAS,QAAQ;AAAA,EAE9B,MAAM,WAAW,KAAK,QAAQ,GAAG;AAAA,EACjC,MAAM,OAAO,WAAW,IAAI,KAAK,MAAM,GAAG,QAAQ,IAAI;AAAA,EAEtD,OAAO,SAAS,IAAI;AAAA,GAGR,6BAA6B,CACzC,WACA,aACI;AAAA,EACJ,MAAM,cAAc,OAAO,EAAE;AAAA,EAC7B,IAAI,CAAC;AAAA,IAAa;AAAA,EAElB,OAAO,YAAY,QAAQ,WAAW,SAAS,YAAY,UAAU;AAAA,GAEzD,gCAAgC,CAC5C,cACI,OAAO,EAAE,YAAY,UAAU,UACvB,iBAAiB,CAAC,QAAwB;AAAA,EACtD,QAAQ,IAAI,YAAY,iBAAiB,GAAG;AAAA,GAGvC,QAAQ,MAAM,MAEd,kBAAkB,CAAC,UAAmB;AAAA,EAC3C,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,EACrE,MAAM,QAAQ,MAAM,KAAK,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,EAEhE,OAAO,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;AAAA,GAG9B,mBAAmB,OACxB,gBACA,eACI;AAAA,EACJ,QAAQ,kBAAkB,MAAa;AAAA,EACvC,QAAQ,2BAA2B,MAAa;AAAA,EAChD,MAAM,MAAM,MAAa;AAAA,EACzB,OAAO,YAAY,OAAO,KAAK,GAAG;AAAA,EAClC,MAAM,iBACL,IAAI,YAAY,WAAW,IAAI,YAAY;AAAA,EAC5C,MAAM,UAAU,cAAc,gBAAgB,UAAU;AAAA,EACxD,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,EAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,IAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,oBAAoB,OACzB,gBACA,eACI;AAAA,EACJ,QAAQ,WAAW,MAAa;AAAA,EAChC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI;AAAA,EAC3B,QAAQ,MAAM,SAAS,OAAO,gBAAgB;AAAA,IAC7C,OAAO;AAAA,EACR,CAAC;AAAA,EACD,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,EAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,oBAAoB,CAAC,YAAoB;AAAA,EAC9C,IAAI,SAAS;AAAA,EACb,MAAM,OAAO,QAAQ,QACpB,+BACA,CAAC,GAAG,QAAgB;AAAA,IACnB,UAAU,UAAU,IAClB,QAAQ,WAAW,GAAG,EACtB,QAAQ,UAAU,GAAG,EACrB,QAAQ,SAAS,GAAG,EACpB,QAAQ,SAAS,GAAG;AAAA,IAEtB,OAAO;AAAA,GAET;AAAA,EAEA,OAAO,EAAE,MAAM,OAAO;AAAA,GAGjB,iBAAiB,OACtB,gBACA,eACI;AAAA,EACJ,QAAQ,cAAc,MAAM,MAAa;AAAA,EACzC,QAAQ,mBAAmB,MAAa;AAAA,EACxC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI;AAAA,EAC3B,MAAM,MAAM,aAAa;AAAA,IACxB,QAAQ,MAAM,EAAE,gBAAgB,UAAU;AAAA,EAC3C,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,eAAe,GAAG;AAAA,EAIxC,QAAQ,QAAQ,SAAS,kBAAkB,OAAO;AAAA,EAClD,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,EAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,qBAAqB,OAC1B,gBACA,eACI;AAAA,EAGJ,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,cAAc,IAAI,WAAW,IAAI;AAAA,EACvC,IAAI,OAAO,gBAAgB;AAAA,IAAY,OAAO;AAAA,EAE9C,MAAM,OAAO,YAAY,UAAU;AAAA,EAEnC,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,2BAA2B,CAChC,WACA,OACA,gBACI;AAAA,EACJ,MAAM,UAAU,uBAAuB,QAAQ,YAAY,UAAU;AAAA,EACrE,IACC,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,qBAAqB,KACtC,QAAQ,SAAS,qBAAqB,GACrC;AAAA,IACD,QAAQ,MACP,oBAAoB,kBAAkB,2DACvB,gDAAgD,cAAc,UAAU,oBAAoB,aAC5G;AAAA,IAEA;AAAA,EACD;AAAA,EAEA,QAAQ,MACP,0BAA0B,wBAAwB,eAClD,WACD;AAAA,GAGK,iBAaO,wBAAwB,OACpC,WACA,UACA,UACI;AAAA,EACJ,MAAM,iBAAiB,2BAA2B,WAAW,QAAQ;AAAA,EACrE,IAAI,CAAC;AAAA,IAAgB,OAAO;AAAA,EAE5B,MAAM,aAAa,gBAAgB,KAAK;AAAA,EACxC,MAAM,WAAW,gBAAgB;AAAA,EACjC,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAEtB,IAAI;AAAA,IACH,OAAO,MAAM,SAAS,gBAAgB,UAAU;AAAA,IAC/C,OAAO,aAAa;AAAA,IACrB,yBAAyB,WAAW,SAAS,WAAW;AAAA;AAAA,EAGzD,OAAO;AAAA,GAGF,sBAAsB,OAAO,mBAA2B;AAAA,EAC7D,QAAQ,kBAAkB,MAAa;AAAA,EACvC,QAAQ,2BAA2B,MAAa;AAAA,EAChD,MAAM,MAAM,MAAa;AAAA,EACzB,OAAO,SAAS,OAAO,KAAK,GAAG;AAAA,EAC/B,MAAM,oBAAoB,IAAI,YAAY,QAAQ,IAAI,SAAS;AAAA,EAC/D,MAAM,UAAU,cAAc,iBAAiB;AAAA,EAC/C,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,EAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,IAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,uBAAuB,OAAO,mBAA2B;AAAA,EAC9D,QAAQ,WAAW,MAAa;AAAA,EAChC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,oBAAoB,IAAI;AAAA,EAC9B,QAAQ,MAAM,SAAS,OAAO,iBAAiB;AAAA,EAC/C,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,EAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,oBAAoB,OAAO,mBAA2B;AAAA,EAC3D,QAAQ,cAAc,MAAM,MAAa;AAAA,EACzC,QAAQ,mBAAmB,MAAa;AAAA,EACxC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,oBAAoB,IAAI;AAAA,EAC9B,MAAM,MAAM,aAAa;AAAA,IACxB,QAAQ,MAAM,EAAE,iBAAiB;AAAA,EAClC,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,eAAe,GAAG;AAAA,EAExC,QAAQ,QAAQ,SAAS,kBAAkB,OAAO;AAAA,EAClD,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,EAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,wBAAwB,OAAO,mBAA2B;AAAA,EAC/D,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI,WAAW,IAAI;AAAA,EAC1C,IAAI,OAAO,mBAAmB;AAAA,IAAY,OAAO;AAAA,EAEjD,MAAM,OAAO,eAAe;AAAA,EAE5B,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA,GAGI,qBAUO,2BAA2B,OACvC,cACI;AAAA,EACJ,MAAM,iBAAiB,8BAA8B,SAAS;AAAA,EAC9D,IAAI,CAAC;AAAA,IAAgB,OAAO;AAAA,EAE5B,MAAM,WAAW,oBAAoB;AAAA,EACrC,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAEtB,IAAI;AAAA,IACH,OAAO,MAAM,SAAS,cAAc;AAAA,IACnC,OAAO,aAAa;AAAA,IACrB,yBAAyB,WAAW,aAAa,WAAW;AAAA;AAAA,EAG7D,OAAO;AAAA,GAGF,oBAOO,sBAAsB,YAAY;AAAA,EAC9C,WAAW,aAAa,oBAAoB;AAAA,IAC3C,IAAI,CAAC,OAAO,EAAE,YAAY,UAAU;AAAA,MAAU;AAAA,IAE9C,MAAM,WAAW,MAAM,yBAAyB,SAAS;AAAA,IACzD,IAAI;AAAA,MAAU,OAAO;AAAA,EACtB;AAAA,EAEA,OAAO;AAAA;AAAA;AAAA,EAzIF,kBAMF;AAAA,IACH,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,KAAK;AAAA,EACN;AAAA,EAmFM,sBAGF;AAAA,IACH,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,KAAK;AAAA,EACN;AAAA,EAoBM,qBAA+C;AAAA,IACpD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;IC3SI,WAAW,OAET,qBAAqB,CAC1B,OACA,eACI;AAAA,EACJ,MAAM,cAAc,aACjB,4BAA4B,KAAK,UAAU,UAAU,OACrD;AAAA,EACH,MAAM,YAAY;AAAA,EAClB,MAAM,eAEF,kCACD,8EACA;AAAA,EAEH,MAAM,eAAe,GAAG,cAAc,YAAY;AAAA,EAClD,MAAM,OACL,6CACA,WAAW,0BACX,8BAA8B,qBAC9B;AAAA,EAED,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,EACxC,CAAC;AAAA,GAGW,yBAAyB,OAGrC,eACA,UACG,UACC;AAAA,EACJ,OAAO,cAAc;AAAA,EAErB,IAAI,UAAU;AAAA,IACb,OAAO,mBAAmB,OAAO,UAAU;AAAA,EAC5C;AAAA,EAEA,IAAI;AAAA,IACH,QAAQ,kBAAkB,MAAa;AAAA,IACvC,QAAQ,2BAA2B,MAAa;AAAA,IAEhD,MAAM,UACL,eAAe,YACZ,cAAc,eAAe,UAAU,IACvC,cAAc,aAAa;AAAA,IAE/B,MAAM,cAAc,aACjB,4BAA4B,KAAK,UAAU,UAAU,OACrD;AAAA,IAMH,MAAM,eAEF;AAAA,IAKJ,MAAM,SAAS,MAAM,uBAAuB,SAAS;AAAA,MACpD,kBAAkB,CAAC,KAAK;AAAA,MACxB,wBAAwB,cAAc,gBAAgB;AAAA,MACtD,OAAO,CAAC,OAAgB;AAAA,QACvB,QAAQ,MAAM,gCAAgC,KAAK;AAAA;AAAA,IAErD,CAAC;AAAA,IACD,MAAM,aAAa,8BAA8B,MAAM;AAAA,IAEvD,OAAO,IAAI,SAAS,YAAY;AAAA,MAC/B,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACxC,CAAC;AAAA,IACA,OAAO,OAAO;AAAA,IACf,QAAQ,MAAM,6BAA6B,KAAK;AAAA,IAEhD,MAAM,WAAW,cAAc,QAAQ,cAAc,eAAe;AAAA,IACpE,MAAM,qBAAqB,MAAM,sBAChC,SACA,UACA,KACD;AAAA,IACA,IAAI;AAAA,MAAoB,OAAO;AAAA,IAE/B,OAAO,IAAI,SAAS,aAAa,SAAS,KAAK,GAAG;AAAA,MACjD,SAAS,EAAE,gBAAgB,YAAY;AAAA,MACvC,QAAQ;AAAA,IACT,CAAC;AAAA;AAAA,GAIU,0BAA0B,MAAM;AAAA,EAC5C,WAAW;AAAA;AAAA;AAAA,EAlGZ;AAAA;;;ACHA;",
|
|
13
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "F80EF14E5F29CD9864756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RAGDocumentChunk, RAGIngestResponse, RAGSearchRequest, RAGSource, RAGStatusResponse } from '../../../types/ai';
|
|
2
|
+
type FetchLike = typeof fetch;
|
|
3
|
+
export type RAGClientOptions = {
|
|
4
|
+
path: string;
|
|
5
|
+
fetch?: FetchLike;
|
|
6
|
+
};
|
|
7
|
+
export declare const createRAGClient: (options: RAGClientOptions) => {
|
|
8
|
+
ingest(chunks: RAGDocumentChunk[]): Promise<RAGIngestResponse>;
|
|
9
|
+
search(input: RAGSearchRequest): Promise<RAGSource[]>;
|
|
10
|
+
status(): Promise<RAGStatusResponse>;
|
|
11
|
+
clearIndex(): Promise<{
|
|
12
|
+
ok: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
};
|
|
15
|
+
export type RAGClient = ReturnType<typeof createRAGClient>;
|
|
16
|
+
export {};
|
package/dist/src/ai/index.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
export { aiChat } from '../plugins/aiChat';
|
|
2
2
|
export { streamAI } from './streamAI';
|
|
3
3
|
export { ragChat } from './rag';
|
|
4
|
+
export { ragPlugin, createRAGCollection, ingestDocuments, searchDocuments } from './rag';
|
|
4
5
|
export { createInMemoryRAGStore } from './rag/adapters/inMemory';
|
|
5
6
|
export { createSQLiteRAGStore } from './rag/adapters/sqlite';
|
|
6
7
|
export { createRAGVector, normalizeVector, querySimilarity } from './rag/adapters/utils';
|
|
7
|
-
export type { RAGDocumentChunk, RAGQueryInput, RAGQueryResult, RAGUpsertInput, RAGVectorStore, RAGChatPluginConfig } from '../../types/ai';
|
|
8
|
+
export type { RAGBackendCapabilities, RAGDocumentChunk, RAGCollection, RAGCollectionSearchParams, RAGQueryInput, RAGQueryResult, RAGIngestResponse, RAGSearchRequest, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution, RAGChatPluginConfig } from '../../types/ai';
|
|
8
9
|
export { createConversationManager } from './conversationManager';
|
|
9
10
|
export { createMemoryStore } from './memoryStore';
|
|
10
11
|
export { generateId, parseAIMessage, serializeAIMessage } from './protocol';
|
|
12
|
+
export { createRAGClient } from './client/ragClient';
|
|
11
13
|
export { openaiCompatible, google, xai, deepseek, mistralai, alibaba, meta, moonshot } from './providers/openaiCompatible';
|
|
12
14
|
export { openaiResponses } from './providers/openaiResponses';
|
|
13
15
|
export { gemini } from './providers/gemini';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
|
-
import type {
|
|
2
|
+
import type { RAGVectorStore } from '../../../../types/ai';
|
|
3
3
|
type NativeDistanceMetric = 'cosine' | 'l2';
|
|
4
4
|
type NativeRAGMode = 'vec0';
|
|
5
5
|
type NativeSQLiteRAGStoreOptions = {
|
|
@@ -20,14 +20,5 @@ export type SQLiteRAGStoreOptions = {
|
|
|
20
20
|
tableName?: string;
|
|
21
21
|
native?: NativeSQLiteRAGStoreOptions;
|
|
22
22
|
};
|
|
23
|
-
export declare const createSQLiteRAGStore: (options?: SQLiteRAGStoreOptions) =>
|
|
24
|
-
embed: (input: {
|
|
25
|
-
text: string;
|
|
26
|
-
model?: string;
|
|
27
|
-
signal?: AbortSignal;
|
|
28
|
-
}) => Promise<number[]>;
|
|
29
|
-
query: (input: RAGQueryInput) => Promise<RAGQueryResult[]>;
|
|
30
|
-
upsert: (input: RAGUpsertInput) => Promise<void>;
|
|
31
|
-
clear: () => void;
|
|
32
|
-
};
|
|
23
|
+
export declare const createSQLiteRAGStore: (options?: SQLiteRAGStoreOptions) => RAGVectorStore;
|
|
33
24
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
|
-
import type { AIMessage, RAGChatPluginConfig } from '../../../types/ai';
|
|
2
|
+
import type { AIMessage, RAGChatPluginConfig, RAGSource } from '../../../types/ai';
|
|
3
3
|
export declare const ragChat: (config: RAGChatPluginConfig) => Elysia<"", {
|
|
4
4
|
decorator: {};
|
|
5
5
|
store: {};
|
|
@@ -25,6 +25,42 @@ export declare const ragChat: (config: RAGChatPluginConfig) => Elysia<"", {
|
|
|
25
25
|
response: {};
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
+
} & {
|
|
29
|
+
[x: string]: {
|
|
30
|
+
search: {
|
|
31
|
+
post: {
|
|
32
|
+
body: unknown;
|
|
33
|
+
params: {};
|
|
34
|
+
query: unknown;
|
|
35
|
+
headers: unknown;
|
|
36
|
+
response: {
|
|
37
|
+
200: {
|
|
38
|
+
ok: boolean;
|
|
39
|
+
results?: RAGSource[];
|
|
40
|
+
error?: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
} & {
|
|
47
|
+
[x: string]: {
|
|
48
|
+
status: {
|
|
49
|
+
get: {
|
|
50
|
+
body: unknown;
|
|
51
|
+
params: {};
|
|
52
|
+
query: unknown;
|
|
53
|
+
headers: unknown;
|
|
54
|
+
response: {
|
|
55
|
+
200: {
|
|
56
|
+
ok: true;
|
|
57
|
+
status: import("./types").RAGVectorStoreStatus | undefined;
|
|
58
|
+
capabilities: import("./types").RAGBackendCapabilities | undefined;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
28
64
|
} & {
|
|
29
65
|
[x: string]: {
|
|
30
66
|
ingest: {
|
|
@@ -43,7 +79,7 @@ export declare const ragChat: (config: RAGChatPluginConfig) => Elysia<"", {
|
|
|
43
79
|
};
|
|
44
80
|
};
|
|
45
81
|
};
|
|
46
|
-
} & {
|
|
82
|
+
} & ({
|
|
47
83
|
[x: string]: {
|
|
48
84
|
index: {
|
|
49
85
|
delete: {
|
|
@@ -59,7 +95,7 @@ export declare const ragChat: (config: RAGChatPluginConfig) => Elysia<"", {
|
|
|
59
95
|
};
|
|
60
96
|
};
|
|
61
97
|
};
|
|
62
|
-
} &
|
|
98
|
+
} & {
|
|
63
99
|
[x: string]: {
|
|
64
100
|
conversations: {
|
|
65
101
|
get: {
|
|
@@ -73,7 +109,7 @@ export declare const ragChat: (config: RAGChatPluginConfig) => Elysia<"", {
|
|
|
73
109
|
};
|
|
74
110
|
};
|
|
75
111
|
};
|
|
76
|
-
} & {
|
|
112
|
+
} & ({
|
|
77
113
|
[x: string]: {
|
|
78
114
|
conversations: {
|
|
79
115
|
":id": {
|
|
@@ -209,7 +245,7 @@ export declare const ragChat: (config: RAGChatPluginConfig) => Elysia<"", {
|
|
|
209
245
|
};
|
|
210
246
|
};
|
|
211
247
|
};
|
|
212
|
-
}))), {
|
|
248
|
+
})))), {
|
|
213
249
|
derive: {};
|
|
214
250
|
resolve: {};
|
|
215
251
|
schema: {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { ragChat } from './chat';
|
|
1
|
+
export { ragChat, ragChat as ragPlugin } from './chat';
|
|
2
|
+
export { createRAGCollection, ingestDocuments, searchDocuments } from './collection';
|
|
2
3
|
export { createInMemoryRAGStore } from './adapters/inMemory';
|
|
3
4
|
export { createSQLiteRAGStore } from './adapters/sqlite';
|
|
4
5
|
export { createRAGVector, normalizeVector, querySimilarity } from './adapters/utils';
|
|
5
|
-
export type { RAGDocumentChunk, RAGQueryInput, RAGQueryResult, RAGUpsertInput, RAGVectorStore } from './types';
|
|
6
|
+
export type { RAGBackendCapabilities, RAGDocumentChunk, RAGCollection, RAGCollectionSearchParams, RAGQueryInput, RAGQueryResult, RAGIngestResponse, RAGSearchRequest, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution } from './types';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RAGDocumentChunk, RAGQueryInput, RAGQueryResult, RAGUpsertInput } from '../../../types/ai';
|
|
2
|
-
export type { RAGDocumentChunk, RAGQueryInput, RAGQueryResult, RAGUpsertInput, RAGVectorStore } from '../../../types/ai';
|
|
2
|
+
export type { RAGBackendCapabilities, RAGCollection, RAGCollectionSearchParams, RAGDocumentChunk, RAGIngestResponse, RAGQueryInput, RAGQueryResult, RAGSearchRequest, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution } from '../../../types/ai';
|
|
3
3
|
export type InternalRAGStoredChunk = RAGDocumentChunk & {
|
|
4
4
|
vector: number[];
|
|
5
5
|
sourceId: string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RAGDocumentChunk, RAGIngestResponse, RAGSearchRequest, RAGSource, RAGStatusResponse } from '../../../types/ai';
|
|
2
|
+
export declare class RAGClientService {
|
|
3
|
+
private clients;
|
|
4
|
+
private client;
|
|
5
|
+
ingest(path: string, chunks: RAGDocumentChunk[]): Promise<RAGIngestResponse>;
|
|
6
|
+
search(path: string, input: RAGSearchRequest): Promise<RAGSource[]>;
|
|
7
|
+
status(path: string): Promise<RAGStatusResponse>;
|
|
8
|
+
clearIndex(path: string): Promise<{
|
|
9
|
+
ok: boolean;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { AIStreamProvider } from './AIStreamProvider';
|
|
2
2
|
export { useAIStream } from './useAIStream';
|
|
3
|
+
export { useRAGIngest } from './useRAGIngest';
|
|
4
|
+
export { useRAGSearch } from './useRAGSearch';
|
|
5
|
+
export { useRAGStatus } from './useRAGStatus';
|
|
3
6
|
export { useRAGStream } from './useRAGStream';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RAGDocumentChunk } from '../../../types/ai';
|
|
2
|
+
export declare const useRAGIngest: (path: string) => {
|
|
3
|
+
error: string | null;
|
|
4
|
+
ingest: (chunks: RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
|
|
5
|
+
isIngesting: boolean;
|
|
6
|
+
lastIngestCount: number | null;
|
|
7
|
+
};
|
|
8
|
+
export type UseRAGIngestResult = ReturnType<typeof useRAGIngest>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RAGSearchRequest, RAGSource } from '../../../types/ai';
|
|
2
|
+
export declare const useRAGSearch: (path: string) => {
|
|
3
|
+
error: string | null;
|
|
4
|
+
isSearching: boolean;
|
|
5
|
+
results: RAGSource[];
|
|
6
|
+
search: (input: RAGSearchRequest) => Promise<RAGSource[]>;
|
|
7
|
+
setResults: import("react").Dispatch<import("react").SetStateAction<RAGSource[]>>;
|
|
8
|
+
};
|
|
9
|
+
export type UseRAGSearchResult = ReturnType<typeof useRAGSearch>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RAGBackendCapabilities, RAGVectorStoreStatus } from '../../../types/ai';
|
|
2
|
+
export declare const useRAGStatus: (path: string, autoLoad?: boolean) => {
|
|
3
|
+
capabilities: RAGBackendCapabilities | undefined;
|
|
4
|
+
error: string | null;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
refresh: () => Promise<import("../..").RAGStatusResponse>;
|
|
7
|
+
status: RAGVectorStoreStatus | undefined;
|
|
8
|
+
};
|
|
9
|
+
export type UseRAGStatusResult = ReturnType<typeof useRAGStatus>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RAGDocumentChunk } from '../../../types/ai';
|
|
2
|
+
export declare const createRAGIngest: (path: string) => {
|
|
3
|
+
error: import("svelte/store").Writable<string | null>;
|
|
4
|
+
ingest: (chunks: RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
|
|
5
|
+
isIngesting: import("svelte/store").Writable<boolean>;
|
|
6
|
+
lastIngestCount: import("svelte/store").Writable<number | null>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RAGSearchRequest, RAGSource } from '../../../types/ai';
|
|
2
|
+
export declare const createRAGSearch: (path: string) => {
|
|
3
|
+
error: import("svelte/store").Writable<string | null>;
|
|
4
|
+
isSearching: import("svelte/store").Writable<boolean>;
|
|
5
|
+
results: import("svelte/store").Writable<RAGSource[]>;
|
|
6
|
+
search: (input: RAGSearchRequest) => Promise<RAGSource[]>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RAGBackendCapabilities, RAGVectorStoreStatus } from '../../../types/ai';
|
|
2
|
+
export declare const createRAGStatus: (path: string, autoLoad?: boolean) => {
|
|
3
|
+
capabilities: import("svelte/store").Writable<RAGBackendCapabilities | undefined>;
|
|
4
|
+
error: import("svelte/store").Writable<string | null>;
|
|
5
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
6
|
+
refresh: () => Promise<import("../..").RAGStatusResponse>;
|
|
7
|
+
status: import("svelte/store").Writable<RAGVectorStoreStatus | undefined>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RAGDocumentChunk } from '../../../types/ai';
|
|
2
|
+
export declare const useRAGIngest: (path: string) => {
|
|
3
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
4
|
+
ingest: (chunks: RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
|
|
5
|
+
isIngesting: import("vue").Ref<boolean, boolean>;
|
|
6
|
+
lastIngestCount: import("vue").Ref<number | null, number | null>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RAGSearchRequest, RAGSource } from '../../../types/ai';
|
|
2
|
+
export declare const useRAGSearch: (path: string) => {
|
|
3
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
4
|
+
isSearching: import("vue").Ref<boolean, boolean>;
|
|
5
|
+
results: import("vue").Ref<{
|
|
6
|
+
chunkId: string;
|
|
7
|
+
score: number;
|
|
8
|
+
text: string;
|
|
9
|
+
title?: string | undefined;
|
|
10
|
+
source?: string | undefined;
|
|
11
|
+
metadata?: Record<string, unknown> | undefined;
|
|
12
|
+
}[], RAGSource[] | {
|
|
13
|
+
chunkId: string;
|
|
14
|
+
score: number;
|
|
15
|
+
text: string;
|
|
16
|
+
title?: string | undefined;
|
|
17
|
+
source?: string | undefined;
|
|
18
|
+
metadata?: Record<string, unknown> | undefined;
|
|
19
|
+
}[]>;
|
|
20
|
+
search: (input: RAGSearchRequest) => Promise<RAGSource[]>;
|
|
21
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RAGBackendCapabilities, RAGVectorStoreStatus } from '../../../types/ai';
|
|
2
|
+
export declare const useRAGStatus: (path: string, autoLoad?: boolean) => {
|
|
3
|
+
capabilities: import("vue").Ref<RAGBackendCapabilities | undefined, RAGBackendCapabilities | undefined>;
|
|
4
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
5
|
+
isLoading: import("vue").Ref<boolean, boolean>;
|
|
6
|
+
refresh: () => Promise<import("../..").RAGStatusResponse>;
|
|
7
|
+
status: import("vue").Ref<RAGVectorStoreStatus | undefined, RAGVectorStoreStatus | undefined>;
|
|
8
|
+
};
|
package/dist/svelte/ai/index.js
CHANGED
|
@@ -724,10 +724,180 @@ var createAIStream = (path, conversationId) => {
|
|
|
724
724
|
}
|
|
725
725
|
};
|
|
726
726
|
};
|
|
727
|
+
// src/svelte/ai/createRAGIngest.ts
|
|
728
|
+
import { writable } from "svelte/store";
|
|
729
|
+
|
|
730
|
+
// src/ai/client/ragClient.ts
|
|
731
|
+
var jsonHeaders = {
|
|
732
|
+
"Content-Type": "application/json"
|
|
733
|
+
};
|
|
734
|
+
var normalizeBasePath = (path) => path.endsWith("/") ? path.slice(0, -1) : path;
|
|
735
|
+
var parseJson = async (response) => {
|
|
736
|
+
const payload = await response.json();
|
|
737
|
+
return payload;
|
|
738
|
+
};
|
|
739
|
+
var toErrorMessage = async (response) => {
|
|
740
|
+
try {
|
|
741
|
+
const payload = await response.json();
|
|
742
|
+
if (typeof payload.error === "string" && payload.error) {
|
|
743
|
+
return payload.error;
|
|
744
|
+
}
|
|
745
|
+
} catch {}
|
|
746
|
+
return `Request failed with status ${response.status}`;
|
|
747
|
+
};
|
|
748
|
+
var createRAGClient = (options) => {
|
|
749
|
+
const basePath = normalizeBasePath(options.path);
|
|
750
|
+
const fetchImpl = options.fetch ?? fetch;
|
|
751
|
+
return {
|
|
752
|
+
async ingest(chunks) {
|
|
753
|
+
const response = await fetchImpl(`${basePath}/ingest`, {
|
|
754
|
+
body: JSON.stringify({ chunks }),
|
|
755
|
+
headers: jsonHeaders,
|
|
756
|
+
method: "POST"
|
|
757
|
+
});
|
|
758
|
+
if (!response.ok) {
|
|
759
|
+
return {
|
|
760
|
+
ok: false,
|
|
761
|
+
error: await toErrorMessage(response)
|
|
762
|
+
};
|
|
763
|
+
}
|
|
764
|
+
return parseJson(response);
|
|
765
|
+
},
|
|
766
|
+
async search(input) {
|
|
767
|
+
const response = await fetchImpl(`${basePath}/search`, {
|
|
768
|
+
body: JSON.stringify(input),
|
|
769
|
+
headers: jsonHeaders,
|
|
770
|
+
method: "POST"
|
|
771
|
+
});
|
|
772
|
+
if (!response.ok) {
|
|
773
|
+
throw new Error(await toErrorMessage(response));
|
|
774
|
+
}
|
|
775
|
+
const payload = await parseJson(response);
|
|
776
|
+
if (!payload.ok) {
|
|
777
|
+
throw new Error(payload.error ?? "RAG search failed");
|
|
778
|
+
}
|
|
779
|
+
return payload.results ?? [];
|
|
780
|
+
},
|
|
781
|
+
async status() {
|
|
782
|
+
const response = await fetchImpl(`${basePath}/status`);
|
|
783
|
+
if (!response.ok) {
|
|
784
|
+
throw new Error(await toErrorMessage(response));
|
|
785
|
+
}
|
|
786
|
+
return parseJson(response);
|
|
787
|
+
},
|
|
788
|
+
async clearIndex() {
|
|
789
|
+
const response = await fetchImpl(`${basePath}/index`, {
|
|
790
|
+
method: "DELETE"
|
|
791
|
+
});
|
|
792
|
+
if (!response.ok) {
|
|
793
|
+
throw new Error(await toErrorMessage(response));
|
|
794
|
+
}
|
|
795
|
+
return parseJson(response);
|
|
796
|
+
}
|
|
797
|
+
};
|
|
798
|
+
};
|
|
799
|
+
|
|
800
|
+
// src/svelte/ai/createRAGIngest.ts
|
|
801
|
+
var createRAGIngest = (path) => {
|
|
802
|
+
const client = createRAGClient({ path });
|
|
803
|
+
const error = writable(null);
|
|
804
|
+
const isIngesting = writable(false);
|
|
805
|
+
const lastIngestCount = writable(null);
|
|
806
|
+
const ingest = async (chunks) => {
|
|
807
|
+
isIngesting.set(true);
|
|
808
|
+
error.set(null);
|
|
809
|
+
try {
|
|
810
|
+
const response = await client.ingest(chunks);
|
|
811
|
+
if (!response.ok) {
|
|
812
|
+
throw new Error(response.error ?? "RAG ingest failed");
|
|
813
|
+
}
|
|
814
|
+
lastIngestCount.set(response.count ?? chunks.length);
|
|
815
|
+
return response;
|
|
816
|
+
} catch (caught) {
|
|
817
|
+
error.set(caught instanceof Error ? caught.message : String(caught));
|
|
818
|
+
throw caught;
|
|
819
|
+
} finally {
|
|
820
|
+
isIngesting.set(false);
|
|
821
|
+
}
|
|
822
|
+
};
|
|
823
|
+
return {
|
|
824
|
+
error,
|
|
825
|
+
ingest,
|
|
826
|
+
isIngesting,
|
|
827
|
+
lastIngestCount
|
|
828
|
+
};
|
|
829
|
+
};
|
|
830
|
+
// src/svelte/ai/createRAGSearch.ts
|
|
831
|
+
import { writable as writable2 } from "svelte/store";
|
|
832
|
+
var createRAGSearch = (path) => {
|
|
833
|
+
const client = createRAGClient({ path });
|
|
834
|
+
const results = writable2([]);
|
|
835
|
+
const error = writable2(null);
|
|
836
|
+
const isSearching = writable2(false);
|
|
837
|
+
const search = async (input) => {
|
|
838
|
+
isSearching.set(true);
|
|
839
|
+
error.set(null);
|
|
840
|
+
try {
|
|
841
|
+
const nextResults = await client.search(input);
|
|
842
|
+
results.set(nextResults);
|
|
843
|
+
return nextResults;
|
|
844
|
+
} catch (caught) {
|
|
845
|
+
error.set(caught instanceof Error ? caught.message : String(caught));
|
|
846
|
+
throw caught;
|
|
847
|
+
} finally {
|
|
848
|
+
isSearching.set(false);
|
|
849
|
+
}
|
|
850
|
+
};
|
|
851
|
+
return {
|
|
852
|
+
error,
|
|
853
|
+
isSearching,
|
|
854
|
+
results,
|
|
855
|
+
search
|
|
856
|
+
};
|
|
857
|
+
};
|
|
858
|
+
// src/svelte/ai/createRAGStatus.ts
|
|
859
|
+
import { writable as writable3 } from "svelte/store";
|
|
860
|
+
var createRAGStatus = (path, autoLoad = true) => {
|
|
861
|
+
const client = createRAGClient({ path });
|
|
862
|
+
const status = writable3(undefined);
|
|
863
|
+
const capabilities = writable3(undefined);
|
|
864
|
+
const error = writable3(null);
|
|
865
|
+
const isLoading = writable3(autoLoad);
|
|
866
|
+
const refresh = async () => {
|
|
867
|
+
isLoading.set(true);
|
|
868
|
+
error.set(null);
|
|
869
|
+
try {
|
|
870
|
+
const response = await client.status();
|
|
871
|
+
status.set(response.status);
|
|
872
|
+
capabilities.set(response.capabilities);
|
|
873
|
+
return response;
|
|
874
|
+
} catch (caught) {
|
|
875
|
+
error.set(caught instanceof Error ? caught.message : String(caught));
|
|
876
|
+
throw caught;
|
|
877
|
+
} finally {
|
|
878
|
+
isLoading.set(false);
|
|
879
|
+
}
|
|
880
|
+
};
|
|
881
|
+
if (autoLoad) {
|
|
882
|
+
refresh();
|
|
883
|
+
} else {
|
|
884
|
+
isLoading.set(false);
|
|
885
|
+
}
|
|
886
|
+
return {
|
|
887
|
+
capabilities,
|
|
888
|
+
error,
|
|
889
|
+
isLoading,
|
|
890
|
+
refresh,
|
|
891
|
+
status
|
|
892
|
+
};
|
|
893
|
+
};
|
|
727
894
|
export {
|
|
728
895
|
createAIStream as createRAGStream,
|
|
896
|
+
createRAGStatus,
|
|
897
|
+
createRAGSearch,
|
|
898
|
+
createRAGIngest,
|
|
729
899
|
createAIStream
|
|
730
900
|
};
|
|
731
901
|
|
|
732
|
-
//# debugId=
|
|
902
|
+
//# debugId=A7FC014076759F3D64756E2164756E21
|
|
733
903
|
//# sourceMappingURL=index.js.map
|