@absolutejs/absolute 0.19.0-beta.226 → 0.19.0-beta.228

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 (75) hide show
  1. package/.absolutejs/eslint-cache +1 -0
  2. package/.absolutejs/prettier.cache.json +42 -19
  3. package/.absolutejs/vue-tsc.tsbuildinfo +1 -1
  4. package/.claude/settings.local.json +2 -1
  5. package/ROADMAP.md +0 -25
  6. package/dist/{Image-y5bdvj57.vue → Image-b3r6hxqk.vue} +6 -1
  7. package/dist/ai/index.js +529 -0
  8. package/dist/ai/index.js.map +13 -0
  9. package/dist/ai/providers/anthropic.js +396 -0
  10. package/dist/ai/providers/anthropic.js.map +10 -0
  11. package/dist/ai/providers/ollama.js +233 -0
  12. package/dist/ai/providers/ollama.js.map +10 -0
  13. package/dist/ai/providers/openai.js +355 -0
  14. package/dist/ai/providers/openai.js.map +10 -0
  15. package/dist/ai-client/angular/ai/index.js +532 -0
  16. package/dist/ai-client/react/ai/index.js +499 -0
  17. package/dist/ai-client/vue/ai/index.js +460 -0
  18. package/dist/angular/ai/index.js +668 -0
  19. package/dist/angular/ai/index.js.map +15 -0
  20. package/dist/angular/components/image.component.js +1 -1
  21. package/dist/angular/index.js +11 -1
  22. package/dist/angular/index.js.map +3 -3
  23. package/dist/build.js +48 -2
  24. package/dist/build.js.map +4 -4
  25. package/dist/index.js +50 -2
  26. package/dist/index.js.map +6 -6
  27. package/dist/react/ai/index.js +635 -0
  28. package/dist/react/ai/index.js.map +16 -0
  29. package/dist/react/components/index.js +11 -1
  30. package/dist/react/components/index.js.map +2 -2
  31. package/dist/react/hooks/index.js +11 -1
  32. package/dist/react/hooks/index.js.map +2 -2
  33. package/dist/react/index.js +11 -1
  34. package/dist/react/index.js.map +3 -3
  35. package/dist/src/ai/client/actions.d.ts +46 -0
  36. package/dist/src/ai/client/connection.d.ts +9 -0
  37. package/dist/src/ai/client/messageStore.d.ts +12 -0
  38. package/dist/src/ai/conversationManager.d.ts +11 -0
  39. package/dist/src/ai/index.d.ts +3 -0
  40. package/dist/src/ai/protocol.d.ts +4 -0
  41. package/dist/src/ai/providers/anthropic.d.ts +3 -0
  42. package/dist/src/ai/providers/ollama.d.ts +6 -0
  43. package/dist/src/ai/providers/openai.d.ts +7 -0
  44. package/dist/src/ai/streamAI.d.ts +2 -0
  45. package/dist/src/angular/ai/ai-stream.service.d.ts +15 -0
  46. package/dist/src/angular/ai/index.d.ts +1 -0
  47. package/dist/src/react/ai/AIStreamProvider.d.ts +13 -0
  48. package/dist/src/react/ai/index.d.ts +2 -0
  49. package/dist/src/react/ai/useAIStream.d.ts +8 -0
  50. package/dist/src/svelte/ai/createAIStream.d.ts +10 -0
  51. package/dist/src/svelte/ai/index.d.ts +1 -0
  52. package/dist/src/vue/ai/index.d.ts +1 -0
  53. package/dist/src/vue/ai/useAIStream.d.ts +22 -0
  54. package/dist/svelte/ai/index.js +590 -0
  55. package/dist/svelte/ai/index.js.map +15 -0
  56. package/dist/svelte/components/Image.svelte +6 -1
  57. package/dist/svelte/index.js +11 -1
  58. package/dist/svelte/index.js.map +3 -3
  59. package/dist/types/ai.d.ts +188 -0
  60. package/dist/types/anthropic.d.ts +18 -0
  61. package/dist/types/index.d.ts +1 -0
  62. package/dist/types/typeGuards.d.ts +3 -0
  63. package/dist/vue/ai/index.js +596 -0
  64. package/dist/vue/ai/index.js.map +15 -0
  65. package/dist/vue/components/Image.vue +6 -1
  66. package/dist/vue/components/index.js +12 -2
  67. package/dist/vue/components/index.js.map +1 -1
  68. package/dist/vue/index.js +11 -1
  69. package/dist/vue/index.js.map +3 -3
  70. package/package.json +36 -1
  71. package/scripts/build.ts +33 -0
  72. package/types/ai.ts +235 -0
  73. package/types/anthropic.ts +17 -0
  74. package/types/index.ts +1 -0
  75. package/types/typeGuards.ts +72 -1
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../types/typeGuards.ts", "../src/react/ai/AIStreamProvider.tsx", "../src/ai/client/connection.ts", "../src/ai/client/messageStore.ts", "../src/ai/client/actions.ts", "../src/react/ai/useAIStream.ts", "../src/ai/protocol.ts"],
4
+ "sourcesContent": [
5
+ "import type { AIClientMessage, AIServerMessage } from './ai';\nimport type { HMRClientMessage } from './messages';\n\n/* Type guard for AI client messages */\nexport const isValidAIClientMessage = (\n\tdata: unknown\n): data is AIClientMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (!('type' in data) || typeof data.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (data.type) {\n\t\tcase 'message':\n\t\t\treturn 'content' in data && typeof data.content === 'string';\n\t\tcase 'cancel':\n\t\t\treturn (\n\t\t\t\t'conversationId' in data &&\n\t\t\t\ttypeof data.conversationId === 'string'\n\t\t\t);\n\t\tcase 'branch':\n\t\t\treturn (\n\t\t\t\t'messageId' in data &&\n\t\t\t\ttypeof data.messageId === 'string' &&\n\t\t\t\t'content' in data &&\n\t\t\t\ttypeof data.content === 'string' &&\n\t\t\t\t'conversationId' in data &&\n\t\t\t\ttypeof data.conversationId === 'string'\n\t\t\t);\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\n/* Type guard for AI server messages */\nexport const isValidAIServerMessage = (\n\tdata: unknown\n): data is AIServerMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (!('type' in data) || typeof data.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (data.type) {\n\t\tcase 'chunk':\n\t\t\treturn (\n\t\t\t\t'content' in data &&\n\t\t\t\ttypeof data.content === 'string' &&\n\t\t\t\t'messageId' in data &&\n\t\t\t\t'conversationId' in data\n\t\t\t);\n\t\tcase 'tool_status':\n\t\t\treturn (\n\t\t\t\t'name' in data &&\n\t\t\t\t'status' in data &&\n\t\t\t\t'messageId' in data &&\n\t\t\t\t'conversationId' in data\n\t\t\t);\n\t\tcase 'complete':\n\t\t\treturn 'messageId' in data && 'conversationId' in data;\n\t\tcase 'error':\n\t\t\treturn 'message' in data && typeof data.message === 'string';\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\n/* Type guard for HMR client messages */\nexport const isValidHMRClientMessage = (\n\tdata: unknown\n): data is HMRClientMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (!('type' in data) || typeof data.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (data.type) {\n\t\tcase 'ping':\n\t\t\treturn true;\n\t\tcase 'ready':\n\t\t\treturn true;\n\t\tcase 'request-rebuild':\n\t\t\treturn true;\n\t\tcase 'hydration-error':\n\t\t\treturn true;\n\t\tcase 'hmr-timing':\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n",
6
+ "import {\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\ttype ReactNode\n} from 'react';\nimport { createAIConnection } from '../../ai/client/connection';\nimport { createAIMessageStore } from '../../ai/client/messageStore';\nimport { serverMessageToAction } from '../../ai/client/actions';\n\ntype AIStreamContextValue = {\n\tconnection: ReturnType<typeof createAIConnection>;\n\tstore: ReturnType<typeof createAIMessageStore>;\n};\n\nconst AIStreamContext = createContext<AIStreamContextValue | null>(null);\n\nexport const AIStreamProvider = ({\n\tchildren,\n\tpath\n}: {\n\tchildren: ReactNode;\n\tpath: string;\n}) => {\n\tconst ref = useRef<AIStreamContextValue | null>(null);\n\n\tif (!ref.current) {\n\t\tconst connection = createAIConnection(path);\n\t\tconst store = createAIMessageStore();\n\t\tref.current = { connection, store };\n\t}\n\n\tuseEffect(() => {\n\t\tconst { current } = ref;\n\t\tif (!current) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst { connection, store } = current;\n\n\t\tconst unsubscribe = connection.subscribe((msg) => {\n\t\t\tconst action = serverMessageToAction(msg);\n\t\t\tif (action) {\n\t\t\t\tstore.dispatch(action);\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t\tconnection.close();\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<AIStreamContext.Provider value={ref.current}>\n\t\t\t{children}\n\t\t</AIStreamContext.Provider>\n\t);\n};\n\nexport const useAIStreamContext = () => useContext(AIStreamContext);\n",
7
+ "import type {\n\tAIClientMessage,\n\tAIConnectionOptions,\n\tAIServerMessage\n} from '../../../types/ai';\nimport { isValidAIServerMessage } from '../../../types/typeGuards';\n\nconst WS_OPEN = 1;\nconst WS_NORMAL_CLOSURE = 1000;\nconst WS_CLOSED = 3;\nconst DEFAULT_PING_INTERVAL = 30_000;\nconst RECONNECT_INITIAL_DELAY = 500;\nconst RECONNECT_POLL_INTERVAL = 300;\nconst DEFAULT_MAX_RECONNECT_ATTEMPTS = 60;\n\ntype AIConnectionState = {\n\tisConnected: boolean;\n\tpingInterval: ReturnType<typeof setInterval> | null;\n\treconnectAttempts: number;\n\treconnectTimeout: ReturnType<typeof setTimeout> | null;\n\tws: WebSocket | null;\n};\n\ntype AIConnectionHandle = {\n\tclose: () => void;\n\tgetReadyState: () => number;\n\tsend: (msg: AIClientMessage) => void;\n\tsubscribe: (callback: (msg: AIServerMessage) => void) => () => void;\n};\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => {};\nconst noopUnsubscribe = () => noop;\n\nconst NOOP_CONNECTION: AIConnectionHandle = {\n\tclose: noop,\n\tsend: noop,\n\tsubscribe: noopUnsubscribe,\n\tgetReadyState: () => WS_CLOSED\n};\n\nconst buildWsUrl = (path: string) => {\n\tconst { hostname, port, protocol } = window.location;\n\tconst wsProtocol = protocol === 'https:' ? 'wss:' : 'ws:';\n\tconst portSuffix = port ? `:${port}` : '';\n\n\treturn `${wsProtocol}//${hostname}${portSuffix}${path}`;\n};\n\nconst parseServerMessage = (event: MessageEvent) => {\n\tlet data: unknown;\n\n\ttry {\n\t\tdata = JSON.parse(String(event.data));\n\t} catch {\n\t\treturn null;\n\t}\n\n\tif (\n\t\tdata &&\n\t\ttypeof data === 'object' &&\n\t\t'type' in data &&\n\t\tdata.type === 'pong'\n\t) {\n\t\treturn null;\n\t}\n\n\tif (!isValidAIServerMessage(data)) {\n\t\treturn null;\n\t}\n\n\treturn data;\n};\n\nexport const createAIConnection = (\n\tpath: string,\n\toptions: AIConnectionOptions = {}\n) => {\n\tif (typeof window === 'undefined') {\n\t\treturn NOOP_CONNECTION;\n\t}\n\n\tconst shouldReconnect = options.reconnect !== false;\n\tconst pingInterval = options.pingInterval ?? DEFAULT_PING_INTERVAL;\n\tconst maxReconnectAttempts =\n\t\toptions.maxReconnectAttempts ?? DEFAULT_MAX_RECONNECT_ATTEMPTS;\n\n\tconst listeners = new Set<(msg: AIServerMessage) => void>();\n\n\tconst connState: AIConnectionState = {\n\t\tisConnected: false,\n\t\tpingInterval: null,\n\t\treconnectAttempts: 0,\n\t\treconnectTimeout: null,\n\t\tws: null\n\t};\n\n\tconst clearTimers = () => {\n\t\tif (connState.pingInterval) {\n\t\t\tclearInterval(connState.pingInterval);\n\t\t\tconnState.pingInterval = null;\n\t\t}\n\n\t\tif (connState.reconnectTimeout) {\n\t\t\tclearTimeout(connState.reconnectTimeout);\n\t\t\tconnState.reconnectTimeout = null;\n\t\t}\n\t};\n\n\tconst scheduleReconnect = () => {\n\t\tconnState.reconnectAttempts++;\n\t\tconst delay =\n\t\t\tconnState.reconnectAttempts === 1\n\t\t\t\t? RECONNECT_INITIAL_DELAY\n\t\t\t\t: RECONNECT_POLL_INTERVAL;\n\n\t\tconnState.reconnectTimeout = setTimeout(() => {\n\t\t\tif (connState.reconnectAttempts > maxReconnectAttempts) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconnect();\n\t\t}, delay);\n\t};\n\n\tconst connect = () => {\n\t\tconst url = buildWsUrl(path);\n\t\tconst wsInstance = new WebSocket(url, options.protocols);\n\n\t\twsInstance.onopen = () => {\n\t\t\tconnState.isConnected = true;\n\t\t\tconnState.reconnectAttempts = 0;\n\n\t\t\tconnState.pingInterval = setInterval(() => {\n\t\t\t\tif (\n\t\t\t\t\twsInstance.readyState === WS_OPEN &&\n\t\t\t\t\tconnState.isConnected\n\t\t\t\t) {\n\t\t\t\t\twsInstance.send(JSON.stringify({ type: 'ping' }));\n\t\t\t\t}\n\t\t\t}, pingInterval);\n\t\t};\n\n\t\twsInstance.onmessage = (event: MessageEvent) => {\n\t\t\tconst message = parseServerMessage(event);\n\n\t\t\tif (!message) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlisteners.forEach((listener) => listener(message));\n\t\t};\n\n\t\twsInstance.onclose = (event: CloseEvent) => {\n\t\t\tconnState.isConnected = false;\n\t\t\tclearTimers();\n\n\t\t\tconst shouldAttemptReconnect =\n\t\t\t\tshouldReconnect &&\n\t\t\t\tevent.code !== WS_NORMAL_CLOSURE &&\n\t\t\t\tconnState.reconnectAttempts < maxReconnectAttempts;\n\n\t\t\tif (shouldAttemptReconnect) {\n\t\t\t\tscheduleReconnect();\n\t\t\t}\n\t\t};\n\n\t\twsInstance.onerror = () => {\n\t\t\t// Error is followed by close event, reconnection handled there\n\t\t};\n\n\t\tconnState.ws = wsInstance;\n\t};\n\n\tconst send = (msg: AIClientMessage) => {\n\t\tif (connState.ws?.readyState === WS_OPEN) {\n\t\t\tconnState.ws.send(JSON.stringify(msg));\n\t\t}\n\t};\n\n\tconst subscribe = (callback: (msg: AIServerMessage) => void) => {\n\t\tlisteners.add(callback);\n\n\t\treturn () => {\n\t\t\tlisteners.delete(callback);\n\t\t};\n\t};\n\n\tconst close = () => {\n\t\tclearTimers();\n\n\t\tif (connState.ws) {\n\t\t\tconnState.ws.close(WS_NORMAL_CLOSURE);\n\t\t\tconnState.ws = null;\n\t\t}\n\n\t\tconnState.isConnected = false;\n\t\tlisteners.clear();\n\t};\n\n\tconst getReadyState = () => connState.ws?.readyState ?? WS_CLOSED;\n\n\tconnect();\n\n\treturn { close, getReadyState, send, subscribe };\n};\n",
8
+ "import type {\n\tAIConversation,\n\tAIMessage,\n\tAIStreamState,\n\tAIStoreAction,\n\tAIToolCall\n} from '../../../types/ai';\n\nconst EMPTY_STATE: AIStreamState = {\n\tactiveConversationId: null,\n\tconversations: new Map(),\n\terror: null,\n\tisStreaming: false\n};\n\nconst initialActiveConversationId: string | null = null;\nconst initialError: string | null = null;\n\n// eslint-disable-next-line absolute/no-useless-function -- returns a new instance each call\nconst freshState = () => ({\n\tactiveConversationId: initialActiveConversationId,\n\tconversations: new Map<string, AIConversation>(),\n\terror: initialError,\n\tisStreaming: false\n});\n\nconst findAssistantMessage = (\n\tconversation: AIConversation,\n\tmessageId: string\n) =>\n\tconversation.messages.find(\n\t\t(msg) => msg.id === messageId && msg.role === 'assistant'\n\t);\n\nconst getOrCreate = (state: AIStreamState, conversationId: string) => {\n\tlet conversation = state.conversations.get(conversationId);\n\n\tif (!conversation) {\n\t\tconversation = { id: conversationId, messages: [] };\n\t\tstate.conversations.set(conversationId, conversation);\n\t}\n\n\treturn conversation;\n};\n\nconst handleSend = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'send' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst message: AIMessage = {\n\t\tcontent: action.content,\n\t\tconversationId: action.conversationId,\n\t\tid: action.messageId,\n\t\trole: 'user',\n\t\ttimestamp: Date.now()\n\t};\n\n\tconversation.messages = [...conversation.messages, message];\n\tstate.activeConversationId = action.conversationId;\n\tstate.error = null;\n\tstate.isStreaming = true;\n};\n\nconst handleChunk = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'chunk' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst existing = findAssistantMessage(conversation, action.messageId);\n\n\tif (existing) {\n\t\texisting.content += action.content;\n\t\tconversation.messages = [...conversation.messages];\n\n\t\treturn;\n\t}\n\n\tconst message: AIMessage = {\n\t\tcontent: action.content,\n\t\tconversationId: action.conversationId,\n\t\tid: action.messageId,\n\t\tisStreaming: true,\n\t\trole: 'assistant',\n\t\ttimestamp: Date.now()\n\t};\n\n\tconversation.messages = [...conversation.messages, message];\n};\n\nconst upsertToolCall = (message: AIMessage, toolCall: AIToolCall) => {\n\tif (!message.toolCalls) {\n\t\tmessage.toolCalls = [toolCall];\n\n\t\treturn;\n\t}\n\n\tconst existingIdx = message.toolCalls.findIndex(\n\t\t(existing) => existing.name === toolCall.name\n\t);\n\n\tif (existingIdx >= 0) {\n\t\tmessage.toolCalls[existingIdx] = toolCall;\n\t} else {\n\t\tmessage.toolCalls = [...message.toolCalls, toolCall];\n\t}\n};\n\nconst handleToolStatus = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'tool_status' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst message = findAssistantMessage(conversation, action.messageId);\n\n\tif (!message) {\n\t\treturn;\n\t}\n\n\tconst toolCall: AIToolCall = {\n\t\tid: action.messageId,\n\t\tinput: action.input,\n\t\tname: action.name,\n\t\tresult: action.status === 'complete' ? (action.result ?? '') : undefined\n\t};\n\n\tupsertToolCall(message, toolCall);\n\tconversation.messages = [...conversation.messages];\n};\n\nconst markMessageComplete = (\n\tconversation: AIConversation,\n\tmessageId: string\n) => {\n\tconst message = findAssistantMessage(conversation, messageId);\n\n\tif (message) {\n\t\tmessage.isStreaming = false;\n\t}\n\n\tconversation.messages = [...conversation.messages];\n};\n\nconst handleComplete = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'complete' }\n) => {\n\tconst conversation = state.conversations.get(action.conversationId);\n\n\tif (conversation) {\n\t\tmarkMessageComplete(conversation, action.messageId);\n\t}\n\n\tstate.isStreaming = false;\n};\n\nconst markConversationStreamsComplete = (conversation: AIConversation) => {\n\tconst streamingMessages = conversation.messages.filter(\n\t\t(msg) => msg.isStreaming\n\t);\n\n\tif (streamingMessages.length === 0) {\n\t\treturn;\n\t}\n\n\tfor (const msg of streamingMessages) {\n\t\tmsg.isStreaming = false;\n\t}\n\n\tconversation.messages = [...conversation.messages];\n};\n\nconst markAllStreamsComplete = (state: AIStreamState) => {\n\tfor (const [, conversation] of state.conversations) {\n\t\tmarkConversationStreamsComplete(conversation);\n\t}\n};\n\nconst handleBranch = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'branch' }\n) => {\n\tconst source = state.conversations.get(action.oldConversationId);\n\n\tif (!source) {\n\t\treturn;\n\t}\n\n\tconst cutoffIndex = source.messages.findIndex(\n\t\t(msg) => msg.id === action.fromMessageId\n\t);\n\n\tif (cutoffIndex < 0) {\n\t\treturn;\n\t}\n\n\tconst branchedMessages = source.messages\n\t\t.slice(0, cutoffIndex + 1)\n\t\t.map((msg) => ({ ...msg, conversationId: action.newConversationId }));\n\n\tconst newConversation: AIConversation = {\n\t\tid: action.newConversationId,\n\t\tmessages: branchedMessages\n\t};\n\n\tstate.conversations.set(action.newConversationId, newConversation);\n\tstate.activeConversationId = action.newConversationId;\n};\n\nconst dispatch = (\n\tstate: AIStreamState,\n\tsubscribers: Set<() => void>,\n\taction: AIStoreAction\n) => {\n\tswitch (action.type) {\n\t\tcase 'send':\n\t\t\thandleSend(state, action);\n\t\t\tbreak;\n\t\tcase 'chunk':\n\t\t\thandleChunk(state, action);\n\t\t\tbreak;\n\t\tcase 'tool_status':\n\t\t\thandleToolStatus(state, action);\n\t\t\tbreak;\n\t\tcase 'complete':\n\t\t\thandleComplete(state, action);\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\tstate.error = action.message;\n\t\t\tstate.isStreaming = false;\n\t\t\tbreak;\n\t\tcase 'cancel':\n\t\t\tstate.isStreaming = false;\n\t\t\tmarkAllStreamsComplete(state);\n\t\t\tbreak;\n\t\tcase 'branch':\n\t\t\thandleBranch(state, action);\n\t\t\tbreak;\n\t\tcase 'set_conversation':\n\t\t\tstate.activeConversationId = action.conversationId;\n\t\t\tbreak;\n\t}\n\n\t// Create new reference for React's Object.is check\n\tObject.assign(state, { conversations: new Map(state.conversations) });\n\tsubscribers.forEach((callback) => callback());\n};\n\nexport const createAIMessageStore = () => {\n\tconst state = freshState();\n\tconst subscribers = new Set<() => void>();\n\n\treturn {\n\t\tdispatch: (action: AIStoreAction) =>\n\t\t\tdispatch(state, subscribers, action),\n\t\tgetServerSnapshot: () => EMPTY_STATE,\n\t\tgetSnapshot: () => state,\n\t\tsubscribe: (callback: () => void) => {\n\t\t\tsubscribers.add(callback);\n\n\t\t\treturn () => {\n\t\t\t\tsubscribers.delete(callback);\n\t\t\t};\n\t\t}\n\t};\n};\n",
9
+ "import type { AIServerMessage } from '../../../types/ai';\n\nexport const serverMessageToAction = (msg: AIServerMessage) => {\n\tswitch (msg.type) {\n\t\tcase 'chunk':\n\t\t\treturn {\n\t\t\t\tcontent: msg.content,\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\ttype: 'chunk' as const\n\t\t\t};\n\t\tcase 'tool_status':\n\t\t\treturn {\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tinput: msg.input,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\tname: msg.name,\n\t\t\t\tresult: msg.result,\n\t\t\t\tstatus: msg.status,\n\t\t\t\ttype: 'tool_status' as const\n\t\t\t};\n\t\tcase 'complete':\n\t\t\treturn {\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\ttype: 'complete' as const,\n\t\t\t\tusage: msg.usage\n\t\t\t};\n\t\tcase 'error':\n\t\t\treturn { message: msg.message, type: 'error' as const };\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n",
10
+ "import { useCallback, useEffect, useRef, useSyncExternalStore } from 'react';\nimport { serverMessageToAction } from '../../ai/client/actions';\nimport { createAIConnection } from '../../ai/client/connection';\nimport { createAIMessageStore } from '../../ai/client/messageStore';\nimport { generateId } from '../../ai/protocol';\nimport { useAIStreamContext } from './AIStreamProvider';\n\nexport const useAIStream = (path?: string, conversationId?: string) => {\n\tconst context = useAIStreamContext();\n\tconst standaloneRef = useRef<{\n\t\tconnection: ReturnType<typeof createAIConnection>;\n\t\tstore: ReturnType<typeof createAIMessageStore>;\n\t} | null>(null);\n\n\tconst isStandalone = !context;\n\n\tif (isStandalone && !standaloneRef.current && path) {\n\t\tconst connection = createAIConnection(path);\n\t\tconst store = createAIMessageStore();\n\t\tstandaloneRef.current = { connection, store };\n\t}\n\n\tconst resolved = context ?? standaloneRef.current;\n\tif (!resolved) {\n\t\tthrow new Error(\n\t\t\t'useAIStream requires either an AIStreamProvider or a path argument'\n\t\t);\n\t}\n\n\tconst { connection, store } = resolved;\n\n\tuseEffect(() => {\n\t\tif (!isStandalone) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst unsubscribe = connection.subscribe((msg) => {\n\t\t\tconst action = serverMessageToAction(msg);\n\t\t\tif (action) {\n\t\t\t\tstore.dispatch(action);\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t\tconnection.close();\n\t\t};\n\t}, [connection, isStandalone, store]);\n\n\tconst state = useSyncExternalStore(\n\t\tstore.subscribe,\n\t\tstore.getSnapshot,\n\t\tstore.getServerSnapshot\n\t);\n\n\tconst activeConvId = conversationId ?? state.activeConversationId;\n\tconst conversation = activeConvId\n\t\t? state.conversations.get(activeConvId)\n\t\t: undefined;\n\tconst messages = conversation?.messages ?? [];\n\n\tconst send = useCallback(\n\t\t(content: string) => {\n\t\t\tconst convId = activeConvId ?? generateId();\n\t\t\tconst msgId = generateId();\n\n\t\t\tstore.dispatch({\n\t\t\t\tcontent,\n\t\t\t\tconversationId: convId,\n\t\t\t\tmessageId: msgId,\n\t\t\t\ttype: 'send'\n\t\t\t});\n\n\t\t\tconnection.send({\n\t\t\t\tcontent,\n\t\t\t\tconversationId: convId,\n\t\t\t\ttype: 'message'\n\t\t\t});\n\t\t},\n\t\t[activeConvId, connection, store]\n\t);\n\n\tconst cancel = useCallback(() => {\n\t\tif (activeConvId) {\n\t\t\tstore.dispatch({ type: 'cancel' });\n\t\t\tconnection.send({ conversationId: activeConvId, type: 'cancel' });\n\t\t}\n\t}, [activeConvId, connection, store]);\n\n\tconst branch = useCallback(\n\t\t(messageId: string, content: string) => {\n\t\t\tif (activeConvId) {\n\t\t\t\tconnection.send({\n\t\t\t\t\tcontent,\n\t\t\t\t\tconversationId: activeConvId,\n\t\t\t\t\tmessageId,\n\t\t\t\t\ttype: 'branch'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[activeConvId, connection]\n\t);\n\n\treturn {\n\t\tbranch,\n\t\tcancel,\n\t\terror: state.error,\n\t\tisStreaming: state.isStreaming,\n\t\tmessages,\n\t\tsend\n\t};\n};\n",
11
+ "import type { AIServerMessage } from '../../types/ai';\nimport { isValidAIClientMessage } from '../../types/typeGuards';\n\nexport const generateId = () => crypto.randomUUID();\n\nexport const parseAIMessage = (raw: unknown) => {\n\tif (raw === null || raw === undefined) {\n\t\treturn null;\n\t}\n\n\tlet text: string;\n\n\tif (typeof raw === 'string') {\n\t\ttext = raw;\n\t} else if (raw instanceof ArrayBuffer) {\n\t\ttext = new TextDecoder().decode(raw);\n\t} else if (ArrayBuffer.isView(raw)) {\n\t\ttext = new TextDecoder().decode(raw);\n\t} else if (typeof raw === 'object') {\n\t\tif (isValidAIClientMessage(raw)) {\n\t\t\treturn raw;\n\t\t}\n\n\t\treturn null;\n\t} else {\n\t\treturn null;\n\t}\n\n\ttry {\n\t\tconst parsed: unknown = JSON.parse(text);\n\n\t\tif (isValidAIClientMessage(parsed)) {\n\t\t\treturn parsed;\n\t\t}\n\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nexport const serializeAIMessage = (msg: AIServerMessage) => JSON.stringify(msg);\n"
12
+ ],
13
+ "mappings": "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",
14
+ "debugId": "64EEC7ABDA71D1BE64756E2164756E21",
15
+ "names": []
16
+ }
@@ -61,6 +61,16 @@ var __export = (target, all) => {
61
61
  set: __exportSetter.bind(all, name)
62
62
  });
63
63
  };
64
+ var __legacyDecorateClassTS = function(decorators, target, key, desc) {
65
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
66
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
67
+ r = Reflect.decorate(decorators, target, key, desc);
68
+ else
69
+ for (var i = decorators.length - 1;i >= 0; i--)
70
+ if (d = decorators[i])
71
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
72
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
73
+ };
64
74
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
65
75
  var __require = import.meta.require;
66
76
 
@@ -585,5 +595,5 @@ export {
585
595
  Head
586
596
  };
587
597
 
588
- //# debugId=4A4D01CF9B7AE3F064756E2164756E21
598
+ //# debugId=DF01E85019F9E36E64756E2164756E21
589
599
  //# sourceMappingURL=index.js.map
@@ -7,7 +7,7 @@
7
7
  "import type { ImageProps } from '../../../types/image';\nimport {\n\tDEFAULT_QUALITY,\n\tbuildOptimizedUrl,\n\tgenerateBlurSvg,\n\tgenerateSrcSet\n} from '../../utils/imageProcessing';\n\nconst resolveSource = (\n\tsrc: string,\n\toverrideSrc: ImageProps['overrideSrc'],\n\tunoptimized: ImageProps['unoptimized'],\n\tloader: ImageProps['loader'],\n\twidth: ImageProps['width'],\n\tquality: number\n) => {\n\tif (overrideSrc) return overrideSrc;\n\tif (unoptimized) return src;\n\tif (loader) return loader({ quality, src, width: width ?? 0 });\n\tif (!width) return buildOptimizedUrl(src, 0, quality);\n\n\treturn buildOptimizedUrl(src, width, quality);\n};\n\nconst resolveBlurBackground = (\n\thasBlur: boolean,\n\tplaceholder: ImageProps['placeholder'],\n\tblurDataURL: ImageProps['blurDataURL']\n) => {\n\tif (!hasBlur) return undefined;\n\n\tif (\n\t\ttypeof placeholder === 'string' &&\n\t\tplaceholder !== 'blur' &&\n\t\tplaceholder.startsWith('data:')\n\t) {\n\t\treturn generateBlurSvg(placeholder);\n\t}\n\n\tif (blurDataURL) return generateBlurSvg(blurDataURL);\n\n\treturn undefined;\n};\n\nexport const Image = ({\n\talt,\n\tblurDataURL,\n\tclassName,\n\tcrossOrigin,\n\tfetchPriority,\n\tfill,\n\theight,\n\tloader,\n\tloading,\n\tonError,\n\tonLoad,\n\toverrideSrc,\n\tplaceholder,\n\tpriority,\n\tquality = DEFAULT_QUALITY,\n\treferrerPolicy,\n\tsizes,\n\tsrc,\n\tstyle,\n\tunoptimized,\n\twidth\n}: ImageProps) => {\n\t// ── Resolve src ─────────────────────────────────────────────\n\tconst resolvedSrc = resolveSource(\n\t\tsrc,\n\t\toverrideSrc,\n\t\tunoptimized,\n\t\tloader,\n\t\twidth,\n\t\tquality\n\t);\n\n\t// ── srcSet ──────────────────────────────────────────────────\n\tconst srcSet = unoptimized\n\t\t? undefined\n\t\t: generateSrcSet(src, width, sizes, undefined, loader ?? undefined);\n\n\t// ── Sizes ───────────────────────────────────────────────────\n\tconst resolvedSizes = sizes ?? (fill ? '100vw' : undefined);\n\n\t// ── Loading behavior ────────────────────────────────────────\n\tconst resolvedLoading = priority ? 'eager' : (loading ?? 'lazy');\n\tconst resolvedFetchPriority = priority ? 'high' : fetchPriority;\n\n\t// ── Blur placeholder ────────────────────────────────────────\n\tconst hasBlur =\n\t\tplaceholder === 'blur' ||\n\t\t(typeof placeholder === 'string' &&\n\t\t\tplaceholder !== 'empty' &&\n\t\t\tplaceholder.startsWith('data:'));\n\n\tconst blurBackground = resolveBlurBackground(\n\t\thasBlur,\n\t\tplaceholder,\n\t\tblurDataURL\n\t);\n\n\t// ── Styles ──────────────────────────────────────────────────\n\tconst imgStyle: Record<string, string | number> = {\n\t\t...(style ?? {}),\n\t\t...(blurBackground\n\t\t\t? {\n\t\t\t\t\tbackgroundImage: blurBackground,\n\t\t\t\t\tbackgroundPosition: 'center',\n\t\t\t\t\tbackgroundRepeat: 'no-repeat',\n\t\t\t\t\tbackgroundSize: 'cover'\n\t\t\t\t}\n\t\t\t: {}),\n\t\t...(fill\n\t\t\t? {\n\t\t\t\t\tcolor: 'transparent',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\tinset: 0,\n\t\t\t\t\tobjectFit: 'cover',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: '100%'\n\t\t\t\t}\n\t\t\t: { color: 'transparent' })\n\t};\n\n\t// ── Preload link for priority images ────────────────────────\n\tconst preloadLink = priority ? (\n\t\t<link\n\t\t\tas=\"image\"\n\t\t\tcrossOrigin={crossOrigin}\n\t\t\thref={resolvedSrc}\n\t\t\timageSizes={resolvedSizes}\n\t\t\timageSrcSet={srcSet}\n\t\t\trel=\"preload\"\n\t\t/>\n\t) : null;\n\n\t// ── Fill mode wrapper ───────────────────────────────────────\n\tconst imgElement = (\n\t\t<img\n\t\t\talt={alt}\n\t\t\tclassName={className}\n\t\t\tcrossOrigin={crossOrigin}\n\t\t\tdecoding=\"async\"\n\t\t\tfetchPriority={resolvedFetchPriority}\n\t\t\theight={fill ? undefined : height}\n\t\t\tloading={resolvedLoading}\n\t\t\tonError={\n\t\t\t\tonError ? (event) => onError(event.nativeEvent) : undefined\n\t\t\t}\n\t\t\tonLoad={(event) => {\n\t\t\t\tconst { target } = event;\n\n\t\t\t\tif (blurBackground && target instanceof HTMLImageElement) {\n\t\t\t\t\ttarget.style.backgroundImage = 'none';\n\t\t\t\t}\n\n\t\t\t\tif (onLoad) onLoad(event.nativeEvent);\n\t\t\t}}\n\t\t\treferrerPolicy={referrerPolicy}\n\t\t\tsizes={resolvedSizes}\n\t\t\tsrc={resolvedSrc}\n\t\t\tsrcSet={srcSet}\n\t\t\tstyle={imgStyle}\n\t\t\twidth={fill ? undefined : width}\n\t\t/>\n\t);\n\n\tif (fill) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{preloadLink}\n\t\t\t\t<span\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\twidth: '100%'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{imgElement}\n\t\t\t\t</span>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{preloadLink}\n\t\t\t{imgElement}\n\t\t</>\n\t);\n};\n",
8
8
  "import type { JsonLdSchema, WithContext } from '../../../types/jsonLd';\n\nexport const JsonLd = ({\n\tschema\n}: {\n\tschema: JsonLdSchema | JsonLdSchema[];\n}) => {\n\tconst data: WithContext<JsonLdSchema> | WithContext<JsonLdSchema>[] =\n\t\tArray.isArray(schema)\n\t\t\t? schema.map((s) => ({\n\t\t\t\t\t'@context': 'https://schema.org' as const,\n\t\t\t\t\t...s\n\t\t\t\t}))\n\t\t\t: { '@context': 'https://schema.org' as const, ...schema };\n\n\treturn (\n\t\t<script\n\t\t\tdangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}\n\t\t\ttype=\"application/ld+json\"\n\t\t/>\n\t);\n};\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "4A4D01CF9B7AE3F064756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "DF01E85019F9E36E64756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -61,6 +61,16 @@ var __export = (target, all) => {
61
61
  set: __exportSetter.bind(all, name)
62
62
  });
63
63
  };
64
+ var __legacyDecorateClassTS = function(decorators, target, key, desc) {
65
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
66
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
67
+ r = Reflect.decorate(decorators, target, key, desc);
68
+ else
69
+ for (var i = decorators.length - 1;i >= 0; i--)
70
+ if (d = decorators[i])
71
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
72
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
73
+ };
64
74
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
65
75
  var __require = import.meta.require;
66
76
  // src/react/hooks/useMediaQuery.ts
@@ -146,5 +156,5 @@ export {
146
156
  UserAgentProvider
147
157
  };
148
158
 
149
- //# debugId=99BA06B205766E9264756E2164756E21
159
+ //# debugId=24AC2450E43CF05A64756E2164756E21
150
160
  //# sourceMappingURL=index.js.map
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { createContext, useContext, useSyncExternalStore } from 'react';\nimport { Breakpoint, Breakpoints } from '../../../types/mediaQuery';\nimport { UserAgentType } from '../../../types/userAgentTypes';\n\nconst UserAgentContext = createContext<UserAgentType | null>(null);\n\nexport const UserAgentProvider = UserAgentContext.Provider;\n\nconst useUserAgentType = () => {\n\tconst context = useContext(UserAgentContext);\n\tif (context === null) {\n\t\tthrow new Error(\n\t\t\t'useMediaQuery must be used within a UserAgentProvider'\n\t\t);\n\t}\n\n\treturn context;\n};\n\nconst defaultBreakpoints: Breakpoints = {\n\t'2xl': 1536,\n\tlg: 1024,\n\tmd: 768,\n\tsm: 640,\n\txl: 1280,\n\txs: 0\n};\n\nconst userAgentInitialWidth: Record<UserAgentType, number> = {\n\tbot: 1024,\n\tcar: 768,\n\tconsole: 1024,\n\tdesktop: 1024,\n\tiot: 640,\n\tother: 768,\n\tphone: 375,\n\ttablet: 768,\n\ttv: 1280\n};\n\nconst subscribers = new Set<() => void>();\nlet width = typeof window !== 'undefined' ? window.innerWidth : 0;\nlet isListening = false;\n\nconst ensureListener = () => {\n\tif (isListening || typeof window === 'undefined') return;\n\tisListening = true;\n\n\tlet isTicking = false;\n\tconst onResize = () => {\n\t\tif (isTicking) return;\n\t\tisTicking = true;\n\t\trequestAnimationFrame(() => {\n\t\t\tisTicking = false;\n\t\t\twidth = window.innerWidth;\n\t\t\tsubscribers.forEach((notify) => notify());\n\t\t});\n\t};\n\n\twindow.addEventListener('resize', onResize, { passive: true });\n};\n\nconst subscribe = (callback: () => void) => {\n\tensureListener();\n\tsubscribers.add(callback);\n\n\treturn () => subscribers.delete(callback);\n};\n\nconst getViewportWidth = () => width;\n\nconst computeBreakpoint = (widthValue: number, breakpoints: Breakpoints) => {\n\tif (widthValue < breakpoints.sm) return 'xs';\n\tif (widthValue < breakpoints.md) return 'sm';\n\tif (widthValue < breakpoints.lg) return 'md';\n\tif (widthValue < breakpoints.xl) return 'lg';\n\tif (widthValue < breakpoints['2xl']) return 'xl';\n\n\treturn '2xl';\n};\n\nexport const useMediaQuery = (\n\tcustomBreakpoints: Breakpoints = defaultBreakpoints\n) => {\n\tconst userAgentType = useUserAgentType();\n\tconst getServerWidth = () => userAgentInitialWidth[userAgentType];\n\n\tconst currentWidth = useSyncExternalStore(\n\t\tsubscribe,\n\t\tgetViewportWidth,\n\t\tgetServerWidth\n\t);\n\n\tconst breakpoint = computeBreakpoint(currentWidth, customBreakpoints);\n\n\tconst isSizeOrGreater = (target: Breakpoint) =>\n\t\tcustomBreakpoints[breakpoint] >= customBreakpoints[target];\n\n\tconst isSizeOrLess = (target: Breakpoint) =>\n\t\tcustomBreakpoints[breakpoint] <= customBreakpoints[target];\n\n\treturn { breakpoint, isSizeOrGreater, isSizeOrLess };\n};\n"
6
6
  ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAIA,IAAM,mBAAmB,cAAoC,IAAI;AAE1D,IAAM,oBAAoB,iBAAiB;AAElD,IAAM,mBAAmB,MAAM;AAAA,EAC9B,MAAM,UAAU,WAAW,gBAAgB;AAAA,EAC3C,IAAI,YAAY,MAAM;AAAA,IACrB,MAAM,IAAI,MACT,uDACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,qBAAkC;AAAA,EACvC,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACL;AAEA,IAAM,wBAAuD;AAAA,EAC5D,KAAK;AAAA,EACL,KAAK;AAAA,EACL,SAAS;AAAA,EACT,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AACL;AAEA,IAAM,cAAc,IAAI;AACxB,IAAI,QAAQ,OAAO,WAAW,cAAc,OAAO,aAAa;AAChE,IAAI,cAAc;AAElB,IAAM,iBAAiB,MAAM;AAAA,EAC5B,IAAI,eAAe,OAAO,WAAW;AAAA,IAAa;AAAA,EAClD,cAAc;AAAA,EAEd,IAAI,YAAY;AAAA,EAChB,MAAM,WAAW,MAAM;AAAA,IACtB,IAAI;AAAA,MAAW;AAAA,IACf,YAAY;AAAA,IACZ,sBAAsB,MAAM;AAAA,MAC3B,YAAY;AAAA,MACZ,QAAQ,OAAO;AAAA,MACf,YAAY,QAAQ,CAAC,WAAW,OAAO,CAAC;AAAA,KACxC;AAAA;AAAA,EAGF,OAAO,iBAAiB,UAAU,UAAU,EAAE,SAAS,KAAK,CAAC;AAAA;AAG9D,IAAM,YAAY,CAAC,aAAyB;AAAA,EAC3C,eAAe;AAAA,EACf,YAAY,IAAI,QAAQ;AAAA,EAExB,OAAO,MAAM,YAAY,OAAO,QAAQ;AAAA;AAGzC,IAAM,mBAAmB,MAAM;AAE/B,IAAM,oBAAoB,CAAC,YAAoB,gBAA6B;AAAA,EAC3E,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAQ,OAAO;AAAA,EAE5C,OAAO;AAAA;AAGD,IAAM,gBAAgB,CAC5B,oBAAiC,uBAC7B;AAAA,EACJ,MAAM,gBAAgB,iBAAiB;AAAA,EACvC,MAAM,iBAAiB,MAAM,sBAAsB;AAAA,EAEnD,MAAM,eAAe,qBACpB,WACA,kBACA,cACD;AAAA,EAEA,MAAM,aAAa,kBAAkB,cAAc,iBAAiB;AAAA,EAEpE,MAAM,kBAAkB,CAAC,WACxB,kBAAkB,eAAe,kBAAkB;AAAA,EAEpD,MAAM,eAAe,CAAC,WACrB,kBAAkB,eAAe,kBAAkB;AAAA,EAEpD,OAAO,EAAE,YAAY,iBAAiB,aAAa;AAAA;",
8
- "debugId": "99BA06B205766E9264756E2164756E21",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAIA,IAAM,mBAAmB,cAAoC,IAAI;AAE1D,IAAM,oBAAoB,iBAAiB;AAElD,IAAM,mBAAmB,MAAM;AAAA,EAC9B,MAAM,UAAU,WAAW,gBAAgB;AAAA,EAC3C,IAAI,YAAY,MAAM;AAAA,IACrB,MAAM,IAAI,MACT,uDACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,qBAAkC;AAAA,EACvC,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACL;AAEA,IAAM,wBAAuD;AAAA,EAC5D,KAAK;AAAA,EACL,KAAK;AAAA,EACL,SAAS;AAAA,EACT,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AACL;AAEA,IAAM,cAAc,IAAI;AACxB,IAAI,QAAQ,OAAO,WAAW,cAAc,OAAO,aAAa;AAChE,IAAI,cAAc;AAElB,IAAM,iBAAiB,MAAM;AAAA,EAC5B,IAAI,eAAe,OAAO,WAAW;AAAA,IAAa;AAAA,EAClD,cAAc;AAAA,EAEd,IAAI,YAAY;AAAA,EAChB,MAAM,WAAW,MAAM;AAAA,IACtB,IAAI;AAAA,MAAW;AAAA,IACf,YAAY;AAAA,IACZ,sBAAsB,MAAM;AAAA,MAC3B,YAAY;AAAA,MACZ,QAAQ,OAAO;AAAA,MACf,YAAY,QAAQ,CAAC,WAAW,OAAO,CAAC;AAAA,KACxC;AAAA;AAAA,EAGF,OAAO,iBAAiB,UAAU,UAAU,EAAE,SAAS,KAAK,CAAC;AAAA;AAG9D,IAAM,YAAY,CAAC,aAAyB;AAAA,EAC3C,eAAe;AAAA,EACf,YAAY,IAAI,QAAQ;AAAA,EAExB,OAAO,MAAM,YAAY,OAAO,QAAQ;AAAA;AAGzC,IAAM,mBAAmB,MAAM;AAE/B,IAAM,oBAAoB,CAAC,YAAoB,gBAA6B;AAAA,EAC3E,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAI,OAAO;AAAA,EACxC,IAAI,aAAa,YAAY;AAAA,IAAQ,OAAO;AAAA,EAE5C,OAAO;AAAA;AAGD,IAAM,gBAAgB,CAC5B,oBAAiC,uBAC7B;AAAA,EACJ,MAAM,gBAAgB,iBAAiB;AAAA,EACvC,MAAM,iBAAiB,MAAM,sBAAsB;AAAA,EAEnD,MAAM,eAAe,qBACpB,WACA,kBACA,cACD;AAAA,EAEA,MAAM,aAAa,kBAAkB,cAAc,iBAAiB;AAAA,EAEpE,MAAM,kBAAkB,CAAC,WACxB,kBAAkB,eAAe,kBAAkB;AAAA,EAEpD,MAAM,eAAe,CAAC,WACrB,kBAAkB,eAAe,kBAAkB;AAAA,EAEpD,OAAO,EAAE,YAAY,iBAAiB,aAAa;AAAA;",
8
+ "debugId": "24AC2450E43CF05A64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -61,6 +61,16 @@ var __export = (target, all) => {
61
61
  set: __exportSetter.bind(all, name)
62
62
  });
63
63
  };
64
+ var __legacyDecorateClassTS = function(decorators, target, key, desc) {
65
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
66
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
67
+ r = Reflect.decorate(decorators, target, key, desc);
68
+ else
69
+ for (var i = decorators.length - 1;i >= 0; i--)
70
+ if (d = decorators[i])
71
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
72
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
73
+ };
64
74
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
65
75
  var __require = import.meta.require;
66
76
 
@@ -357,5 +367,5 @@ export {
357
367
  handleReactPageRequest
358
368
  };
359
369
 
360
- //# debugId=B03C8A21E51D1E2064756E2164756E21
370
+ //# debugId=9FC6C89DCD9B7B7164756E2164756E21
361
371
  //# sourceMappingURL=index.js.map
@@ -4,11 +4,11 @@
4
4
  "sourcesContent": [
5
5
  "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, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')}</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",
6
6
  "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",
7
- "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 getMap = (): ConventionsMap =>\n\t(globalThis as Record<string, unknown>)[CONVENTIONS_KEY] as ConventionsMap ?? {};\n\nexport const setConventions = (map: ConventionsMap) => {\n\t(globalThis as Record<string, unknown>)[CONVENTIONS_KEY] = map;\n};\n\nexport const getConventions = () => getMap();\n\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst fw = getMap()[framework];\n\tif (!fw) return undefined;\n\n\treturn fw.pages?.[pageName]?.error ?? fw.defaults?.error;\n};\n\nexport const resolveNotFoundConventionPath = (\n\tframework: keyof ConventionsMap\n) => getMap()[framework]?.defaults?.notFound;\n\n/**\n * Derive a PascalCase page name from a compiled server path.\n * Example: \"/build/svelte/pages/SvelteExample.abc123.js\" → \"SvelteExample\"\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};\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\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\n\ttry {\n\t\tif (framework === 'react') {\n\t\t\tconst { createElement } = await import('react');\n\t\t\tconst { renderToReadableStream } = await import(\n\t\t\t\t'react-dom/server'\n\t\t\t);\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst firstKey = Object.keys(mod)[0];\n\t\t\tconst ErrorComponent = mod.default ?? (firstKey ? mod[firstKey] : undefined);\n\t\t\tconst element = createElement(ErrorComponent, errorProps);\n\t\t\tconst stream = await renderToReadableStream(element);\n\n\t\t\treturn new Response(stream, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'svelte') {\n\t\t\tconst { render } = await import('svelte/server');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst ErrorComponent = mod.default;\n\t\t\tconst { head, body } = render(ErrorComponent, {\n\t\t\t\tprops: errorProps\n\t\t\t});\n\t\t\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'vue') {\n\t\t\tconst { createSSRApp, h } = await import('vue');\n\t\t\tconst { renderToString } = await import('vue/server-renderer');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst ErrorComponent = mod.default;\n\t\t\tconst app = createSSRApp({\n\t\t\t\trender: () => h(ErrorComponent, errorProps)\n\t\t\t});\n\t\t\tlet body = await renderToString(app);\n\n\t\t\t// Vue SSR escapes quotes inside <component is=\"style\"> tags.\n\t\t\t// Extract style content, unescape it, and move to <head>.\n\t\t\tlet styles = '';\n\t\t\tbody = body.replace(\n\t\t\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t\t\t(_, css: string) => {\n\t\t\t\t\tstyles += `<style>${css.replace(/&quot;/g, '\"').replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>')}</style>`;\n\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'angular') {\n\t\t\t// Angular error pages are rendered as plain HTML templates\n\t\t\t// since the full Angular SSR pipeline is too heavy for error pages\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst renderError = mod.default ?? mod.renderError;\n\t\t\tif (typeof renderError === 'function') {\n\t\t\t\tconst html = renderError(errorProps);\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\t\tstatus: 500\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (renderError) {\n\t\tconst message =\n\t\t\trenderError instanceof Error ? renderError.message : '';\n\t\tif (\n\t\t\tmessage.includes('Cannot find module') ||\n\t\t\tmessage.includes('Cannot find package') ||\n\t\t\tmessage.includes('not found in module')\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Convention error page for ${framework} failed: missing framework package. ` +\n\t\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Failed to render ${framework} convention error page:`,\n\t\t\t\trenderError\n\t\t\t);\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport const renderConventionNotFound = async (\n\tframework: keyof ConventionsMap\n) => {\n\tconst conventionPath = resolveNotFoundConventionPath(framework);\n\tif (!conventionPath) return null;\n\n\ttry {\n\t\tif (framework === 'react') {\n\t\t\tconst { createElement } = await import('react');\n\t\t\tconst { renderToReadableStream } = await import(\n\t\t\t\t'react-dom/server'\n\t\t\t);\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst nfKey = Object.keys(mod)[0];\n\t\t\tconst NotFoundComponent =\n\t\t\t\tmod.default ?? (nfKey ? mod[nfKey] : undefined);\n\t\t\tconst element = createElement(NotFoundComponent);\n\t\t\tconst stream = await renderToReadableStream(element);\n\n\t\t\treturn new Response(stream, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 404\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'svelte') {\n\t\t\tconst { render } = await import('svelte/server');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst NotFoundComponent = mod.default;\n\t\t\tconst { head, body } = render(NotFoundComponent);\n\t\t\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 404\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'vue') {\n\t\t\tconst { createSSRApp, h } = await import('vue');\n\t\t\tconst { renderToString } = await import('vue/server-renderer');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst NotFoundComponent = mod.default;\n\t\t\tconst app = createSSRApp({\n\t\t\t\trender: () => h(NotFoundComponent)\n\t\t\t});\n\t\t\tlet body = await renderToString(app);\n\n\t\t\tlet styles = '';\n\t\t\tbody = body.replace(\n\t\t\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t\t\t(_, css: string) => {\n\t\t\t\t\tstyles += `<style>${css.replace(/&quot;/g, '\"').replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>')}</style>`;\n\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 404\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'angular') {\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst renderNotFound = mod.default ?? mod.renderNotFound;\n\t\t\tif (typeof renderNotFound === 'function') {\n\t\t\t\tconst html = renderNotFound();\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\t\tstatus: 404\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (renderError) {\n\t\tconst message =\n\t\t\trenderError instanceof Error ? renderError.message : '';\n\t\tif (\n\t\t\tmessage.includes('Cannot find module') ||\n\t\t\tmessage.includes('Cannot find package') ||\n\t\t\tmessage.includes('not found in module')\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Convention not-found page for ${framework} failed: missing framework package. ` +\n\t\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Failed to render ${framework} convention not-found page:`,\n\t\t\t\trenderError\n\t\t\t);\n\t\t}\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\tconst response = await renderConventionNotFound(framework);\n\t\tif (response) return response;\n\t}\n\n\treturn null;\n};\n",
7
+ "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 getMap = (): ConventionsMap =>\n\t((globalThis as Record<string, unknown>)[\n\t\tCONVENTIONS_KEY\n\t] as ConventionsMap) ?? {};\n\nexport const setConventions = (map: ConventionsMap) => {\n\t(globalThis as Record<string, unknown>)[CONVENTIONS_KEY] = map;\n};\n\nexport const getConventions = () => getMap();\n\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst fw = getMap()[framework];\n\tif (!fw) return undefined;\n\n\treturn fw.pages?.[pageName]?.error ?? fw.defaults?.error;\n};\n\nexport const resolveNotFoundConventionPath = (\n\tframework: keyof ConventionsMap\n) => getMap()[framework]?.defaults?.notFound;\n\n/**\n * Derive a PascalCase page name from a compiled server path.\n * Example: \"/build/svelte/pages/SvelteExample.abc123.js\" → \"SvelteExample\"\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};\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\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\n\ttry {\n\t\tif (framework === 'react') {\n\t\t\tconst { createElement } = await import('react');\n\t\t\tconst { renderToReadableStream } = await import('react-dom/server');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst firstKey = Object.keys(mod)[0];\n\t\t\tconst ErrorComponent =\n\t\t\t\tmod.default ?? (firstKey ? mod[firstKey] : undefined);\n\t\t\tconst element = createElement(ErrorComponent, errorProps);\n\t\t\tconst stream = await renderToReadableStream(element);\n\n\t\t\treturn new Response(stream, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'svelte') {\n\t\t\tconst { render } = await import('svelte/server');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst ErrorComponent = mod.default;\n\t\t\tconst { head, body } = render(ErrorComponent, {\n\t\t\t\tprops: errorProps\n\t\t\t});\n\t\t\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'vue') {\n\t\t\tconst { createSSRApp, h } = await import('vue');\n\t\t\tconst { renderToString } = await import('vue/server-renderer');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst ErrorComponent = mod.default;\n\t\t\tconst app = createSSRApp({\n\t\t\t\trender: () => h(ErrorComponent, errorProps)\n\t\t\t});\n\t\t\tlet body = await renderToString(app);\n\n\t\t\t// Vue SSR escapes quotes inside <component is=\"style\"> tags.\n\t\t\t// Extract style content, unescape it, and move to <head>.\n\t\t\tlet styles = '';\n\t\t\tbody = body.replace(\n\t\t\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t\t\t(_, css: string) => {\n\t\t\t\t\tstyles += `<style>${css\n\t\t\t\t\t\t.replace(/&quot;/g, '\"')\n\t\t\t\t\t\t.replace(/&amp;/g, '&')\n\t\t\t\t\t\t.replace(/&lt;/g, '<')\n\t\t\t\t\t\t.replace(/&gt;/g, '>')}</style>`;\n\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'angular') {\n\t\t\t// Angular error pages are rendered as plain HTML templates\n\t\t\t// since the full Angular SSR pipeline is too heavy for error pages\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst renderError = mod.default ?? mod.renderError;\n\t\t\tif (typeof renderError === 'function') {\n\t\t\t\tconst html = renderError(errorProps);\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\t\tstatus: 500\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (renderError) {\n\t\tconst message = renderError instanceof Error ? renderError.message : '';\n\t\tif (\n\t\t\tmessage.includes('Cannot find module') ||\n\t\t\tmessage.includes('Cannot find package') ||\n\t\t\tmessage.includes('not found in module')\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Convention error page for ${framework} failed: missing framework package. ` +\n\t\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Failed to render ${framework} convention error page:`,\n\t\t\t\trenderError\n\t\t\t);\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport const renderConventionNotFound = async (\n\tframework: keyof ConventionsMap\n) => {\n\tconst conventionPath = resolveNotFoundConventionPath(framework);\n\tif (!conventionPath) return null;\n\n\ttry {\n\t\tif (framework === 'react') {\n\t\t\tconst { createElement } = await import('react');\n\t\t\tconst { renderToReadableStream } = await import('react-dom/server');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst nfKey = Object.keys(mod)[0];\n\t\t\tconst NotFoundComponent =\n\t\t\t\tmod.default ?? (nfKey ? mod[nfKey] : undefined);\n\t\t\tconst element = createElement(NotFoundComponent);\n\t\t\tconst stream = await renderToReadableStream(element);\n\n\t\t\treturn new Response(stream, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 404\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'svelte') {\n\t\t\tconst { render } = await import('svelte/server');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst NotFoundComponent = mod.default;\n\t\t\tconst { head, body } = render(NotFoundComponent);\n\t\t\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 404\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'vue') {\n\t\t\tconst { createSSRApp, h } = await import('vue');\n\t\t\tconst { renderToString } = await import('vue/server-renderer');\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst NotFoundComponent = mod.default;\n\t\t\tconst app = createSSRApp({\n\t\t\t\trender: () => h(NotFoundComponent)\n\t\t\t});\n\t\t\tlet body = await renderToString(app);\n\n\t\t\tlet styles = '';\n\t\t\tbody = body.replace(\n\t\t\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t\t\t(_, css: string) => {\n\t\t\t\t\tstyles += `<style>${css\n\t\t\t\t\t\t.replace(/&quot;/g, '\"')\n\t\t\t\t\t\t.replace(/&amp;/g, '&')\n\t\t\t\t\t\t.replace(/&lt;/g, '<')\n\t\t\t\t\t\t.replace(/&gt;/g, '>')}</style>`;\n\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 404\n\t\t\t});\n\t\t}\n\n\t\tif (framework === 'angular') {\n\t\t\tconst mod = await import(conventionPath);\n\t\t\tconst renderNotFound = mod.default ?? mod.renderNotFound;\n\t\t\tif (typeof renderNotFound === 'function') {\n\t\t\t\tconst html = renderNotFound();\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\t\tstatus: 404\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (renderError) {\n\t\tconst message = renderError instanceof Error ? renderError.message : '';\n\t\tif (\n\t\t\tmessage.includes('Cannot find module') ||\n\t\t\tmessage.includes('Cannot find package') ||\n\t\t\tmessage.includes('not found in module')\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Convention not-found page for ${framework} failed: missing framework package. ` +\n\t\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.error(\n\t\t\t\t`[SSR] Failed to render ${framework} convention not-found page:`,\n\t\t\t\trenderError\n\t\t\t);\n\t\t}\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\tconst response = await renderConventionNotFound(framework);\n\t\tif (response) return response;\n\t}\n\n\treturn null;\n};\n",
8
8
  "import type { ComponentType as ReactComponent } from 'react';\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\n\t\treturn new Response(stream, {\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
9
  "export { handleReactPageRequest } from './pageHandler';\n"
10
10
  ],
11
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAa,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,SAAS,MACb,WAAuC,oBAAsC,CAAC,GAEnE,iBAAiB,CAAC,QAAwB;AAAA,EACrD,WAAuC,mBAAmB;AAAA,GAK/C,6BAA6B,CACzC,WACA,aACI;AAAA,EACJ,MAAM,KAAK,OAAO,EAAE;AAAA,EACpB,IAAI,CAAC;AAAA,IAAI;AAAA,EAET,OAAO,GAAG,QAAQ,WAAW,SAAS,GAAG,UAAU;AAAA,GAGvC,gCAAgC,CAC5C,cACI,OAAO,EAAE,YAAY,UAAU,UAMvB,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,GAGf,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,GAGvB,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,EAExC,IAAI;AAAA,IACH,IAAI,cAAc,SAAS;AAAA,MAC1B,QAAQ,kBAAkB,MAAa;AAAA,MACvC,QAAQ,2BAA2B,MAClC;AAAA,MAED,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,WAAW,OAAO,KAAK,GAAG,EAAE;AAAA,MAClC,MAAM,iBAAiB,IAAI,YAAY,WAAW,IAAI,YAAY;AAAA,MAClE,MAAM,UAAU,cAAc,gBAAgB,UAAU;AAAA,MACxD,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,MAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,QAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACvC,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IAEA,IAAI,cAAc,UAAU;AAAA,MAC3B,QAAQ,WAAW,MAAa;AAAA,MAChC,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,iBAAiB,IAAI;AAAA,MAC3B,QAAQ,MAAM,SAAS,OAAO,gBAAgB;AAAA,QAC7C,OAAO;AAAA,MACR,CAAC;AAAA,MACD,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,MAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,QACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACvC,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IAEA,IAAI,cAAc,OAAO;AAAA,MACxB,QAAQ,cAAc,MAAM,MAAa;AAAA,MACzC,QAAQ,mBAAmB,MAAa;AAAA,MACxC,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,iBAAiB,IAAI;AAAA,MAC3B,MAAM,MAAM,aAAa;AAAA,QACxB,QAAQ,MAAM,EAAE,gBAAgB,UAAU;AAAA,MAC3C,CAAC;AAAA,MACD,IAAI,OAAO,MAAM,eAAe,GAAG;AAAA,MAInC,IAAI,SAAS;AAAA,MACb,OAAO,KAAK,QACX,+BACA,CAAC,GAAG,QAAgB;AAAA,QACnB,UAAU,UAAU,IAAI,QAAQ,WAAW,GAAG,EAAE,QAAQ,UAAU,GAAG,EAAE,QAAQ,SAAS,GAAG,EAAE,QAAQ,SAAS,GAAG;AAAA,QAEjH,OAAO;AAAA,OAET;AAAA,MACA,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,MAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,QACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACvC,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IAEA,IAAI,cAAc,WAAW;AAAA,MAG5B,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,cAAc,IAAI,WAAW,IAAI;AAAA,MACvC,IAAI,OAAO,gBAAgB,YAAY;AAAA,QACtC,MAAM,OAAO,YAAY,UAAU;AAAA,QAEnC,OAAO,IAAI,SAAS,MAAM;AAAA,UACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,UACvC,QAAQ;AAAA,QACT,CAAC;AAAA,MACF;AAAA,IACD;AAAA,IACC,OAAO,aAAa;AAAA,IACrB,MAAM,UACL,uBAAuB,QAAQ,YAAY,UAAU;AAAA,IACtD,IACC,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,qBAAqB,KACtC,QAAQ,SAAS,qBAAqB,GACrC;AAAA,MACD,QAAQ,MACP,mCAAmC,2DACpB,gDAAgD,cAAc,UAAU,oBAAoB,aAC5G;AAAA,IACD,EAAO;AAAA,MACN,QAAQ,MACP,0BAA0B,oCAC1B,WACD;AAAA;AAAA;AAAA,EAIF,OAAO;AAAA,GAGK,2BAA2B,OACvC,cACI;AAAA,EACJ,MAAM,iBAAiB,8BAA8B,SAAS;AAAA,EAC9D,IAAI,CAAC;AAAA,IAAgB,OAAO;AAAA,EAE5B,IAAI;AAAA,IACH,IAAI,cAAc,SAAS;AAAA,MAC1B,QAAQ,kBAAkB,MAAa;AAAA,MACvC,QAAQ,2BAA2B,MAClC;AAAA,MAED,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,QAAQ,OAAO,KAAK,GAAG,EAAE;AAAA,MAC/B,MAAM,oBACL,IAAI,YAAY,QAAQ,IAAI,SAAS;AAAA,MACtC,MAAM,UAAU,cAAc,iBAAiB;AAAA,MAC/C,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,MAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,QAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACvC,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IAEA,IAAI,cAAc,UAAU;AAAA,MAC3B,QAAQ,WAAW,MAAa;AAAA,MAChC,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,oBAAoB,IAAI;AAAA,MAC9B,QAAQ,MAAM,SAAS,OAAO,iBAAiB;AAAA,MAC/C,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,MAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,QACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACvC,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IAEA,IAAI,cAAc,OAAO;AAAA,MACxB,QAAQ,cAAc,MAAM,MAAa;AAAA,MACzC,QAAQ,mBAAmB,MAAa;AAAA,MACxC,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,oBAAoB,IAAI;AAAA,MAC9B,MAAM,MAAM,aAAa;AAAA,QACxB,QAAQ,MAAM,EAAE,iBAAiB;AAAA,MAClC,CAAC;AAAA,MACD,IAAI,OAAO,MAAM,eAAe,GAAG;AAAA,MAEnC,IAAI,SAAS;AAAA,MACb,OAAO,KAAK,QACX,+BACA,CAAC,GAAG,QAAgB;AAAA,QACnB,UAAU,UAAU,IAAI,QAAQ,WAAW,GAAG,EAAE,QAAQ,UAAU,GAAG,EAAE,QAAQ,SAAS,GAAG,EAAE,QAAQ,SAAS,GAAG;AAAA,QAEjH,OAAO;AAAA,OAET;AAAA,MACA,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,MAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,QACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACvC,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IAEA,IAAI,cAAc,WAAW;AAAA,MAC5B,MAAM,MAAM,MAAa;AAAA,MACzB,MAAM,iBAAiB,IAAI,WAAW,IAAI;AAAA,MAC1C,IAAI,OAAO,mBAAmB,YAAY;AAAA,QACzC,MAAM,OAAO,eAAe;AAAA,QAE5B,OAAO,IAAI,SAAS,MAAM;AAAA,UACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,UACvC,QAAQ;AAAA,QACT,CAAC;AAAA,MACF;AAAA,IACD;AAAA,IACC,OAAO,aAAa;AAAA,IACrB,MAAM,UACL,uBAAuB,QAAQ,YAAY,UAAU;AAAA,IACtD,IACC,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,qBAAqB,KACtC,QAAQ,SAAS,qBAAqB,GACrC;AAAA,MACD,QAAQ,MACP,uCAAuC,2DACxB,gDAAgD,cAAc,UAAU,oBAAoB,aAC5G;AAAA,IACD,EAAO;AAAA,MACN,QAAQ,MACP,0BAA0B,wCAC1B,WACD;AAAA;AAAA;AAAA,EAIF,OAAO;AAAA,GAGF,oBAOO,sBAAsB,YAAY;AAAA,EAC9C,WAAW,aAAa,oBAAoB;AAAA,IAC3C,IAAI,CAAC,OAAO,EAAE,YAAY,UAAU;AAAA,MAAU;AAAA,IAC9C,MAAM,WAAW,MAAM,yBAAyB,SAAS;AAAA,IACzD,IAAI;AAAA,MAAU,OAAO;AAAA,EACtB;AAAA,EAEA,OAAO;AAAA;AAAA;AAAA,EAdF,qBAA+C;AAAA,IACpD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ICxQI,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,IAED,OAAO,IAAI,SAAS,QAAQ;AAAA,MAC3B,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,EAjGZ;AAAA;;;ACFA;",
12
- "debugId": "B03C8A21E51D1E2064756E2164756E21",
11
+ "mappings": "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",
12
+ "debugId": "9FC6C89DCD9B7B7164756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -0,0 +1,46 @@
1
+ import type { AIServerMessage } from '../../../types/ai';
2
+ export declare const serverMessageToAction: (msg: AIServerMessage) => {
3
+ content: string;
4
+ conversationId: string;
5
+ messageId: string;
6
+ type: "chunk";
7
+ input?: undefined;
8
+ name?: undefined;
9
+ result?: undefined;
10
+ status?: undefined;
11
+ usage?: undefined;
12
+ message?: undefined;
13
+ } | {
14
+ conversationId: string;
15
+ input: unknown;
16
+ messageId: string;
17
+ name: string;
18
+ result: string | undefined;
19
+ status: "running" | "complete";
20
+ type: "tool_status";
21
+ content?: undefined;
22
+ usage?: undefined;
23
+ message?: undefined;
24
+ } | {
25
+ conversationId: string;
26
+ messageId: string;
27
+ type: "complete";
28
+ usage: import("../..").AIUsage | undefined;
29
+ content?: undefined;
30
+ input?: undefined;
31
+ name?: undefined;
32
+ result?: undefined;
33
+ status?: undefined;
34
+ message?: undefined;
35
+ } | {
36
+ message: string;
37
+ type: "error";
38
+ content?: undefined;
39
+ conversationId?: undefined;
40
+ messageId?: undefined;
41
+ input?: undefined;
42
+ name?: undefined;
43
+ result?: undefined;
44
+ status?: undefined;
45
+ usage?: undefined;
46
+ } | null;
@@ -0,0 +1,9 @@
1
+ import type { AIClientMessage, AIConnectionOptions, AIServerMessage } from '../../../types/ai';
2
+ type AIConnectionHandle = {
3
+ close: () => void;
4
+ getReadyState: () => number;
5
+ send: (msg: AIClientMessage) => void;
6
+ subscribe: (callback: (msg: AIServerMessage) => void) => () => void;
7
+ };
8
+ export declare const createAIConnection: (path: string, options?: AIConnectionOptions) => AIConnectionHandle;
9
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { AIConversation, AIStreamState, AIStoreAction } from '../../../types/ai';
2
+ export declare const createAIMessageStore: () => {
3
+ dispatch: (action: AIStoreAction) => void;
4
+ getServerSnapshot: () => AIStreamState;
5
+ getSnapshot: () => {
6
+ activeConversationId: null;
7
+ conversations: Map<string, AIConversation>;
8
+ error: null;
9
+ isStreaming: boolean;
10
+ };
11
+ subscribe: (callback: () => void) => () => void;
12
+ };
@@ -0,0 +1,11 @@
1
+ import type { AIConversation, AIMessage, AIProviderMessage } from '../../types/ai';
2
+ export declare const createConversationManager: () => {
3
+ abort: (conversationId: string) => void;
4
+ appendMessage: (conversationId: string, message: AIMessage) => void;
5
+ branch: (fromMessageId: string, sourceConversationId: string) => `${string}-${string}-${string}-${string}-${string}` | null;
6
+ get: (conversationId: string) => AIConversation | undefined;
7
+ getAbortController: (conversationId: string) => AbortController;
8
+ getHistory: (conversationId: string) => AIProviderMessage[];
9
+ getOrCreate: (conversationId?: string) => AIConversation;
10
+ remove: (conversationId: string) => boolean;
11
+ };
@@ -0,0 +1,3 @@
1
+ export { streamAI } from './streamAI';
2
+ export { createConversationManager } from './conversationManager';
3
+ export { generateId, parseAIMessage, serializeAIMessage } from './protocol';
@@ -0,0 +1,4 @@
1
+ import type { AIServerMessage } from '../../types/ai';
2
+ export declare const generateId: () => `${string}-${string}-${string}-${string}-${string}`;
3
+ export declare const parseAIMessage: (raw: unknown) => import("..").AIClientMessage | null;
4
+ export declare const serializeAIMessage: (msg: AIServerMessage) => string;
@@ -0,0 +1,3 @@
1
+ import type { AIProviderConfig } from '../../../types/ai';
2
+ import type { AnthropicConfig } from '../../../types/anthropic';
3
+ export declare const anthropic: (config: AnthropicConfig) => AIProviderConfig;
@@ -0,0 +1,6 @@
1
+ import type { AIProviderConfig } from '../../../types/ai';
2
+ type OllamaConfig = {
3
+ baseUrl?: string;
4
+ };
5
+ export declare const ollama: (config?: OllamaConfig) => AIProviderConfig;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { AIProviderConfig } from '../../../types/ai';
2
+ type OpenAIConfig = {
3
+ apiKey: string;
4
+ baseUrl?: string;
5
+ };
6
+ export declare const openai: (config: OpenAIConfig) => AIProviderConfig;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { AIWebSocket, StreamAIOptions } from '../../types/ai';
2
+ export declare const streamAI: (socket: AIWebSocket, conversationId: string, messageId: string, options: StreamAIOptions) => Promise<void>;
@@ -0,0 +1,15 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import type { AIMessage } from '../../../types/ai';
3
+ export declare class AIStreamService implements OnDestroy {
4
+ private connections;
5
+ connect(path: string, conversationId?: string): {
6
+ branch: (messageId: string, content: string) => void;
7
+ cancel: () => void;
8
+ error: import("@angular/core").Signal<string | null>;
9
+ isStreaming: import("@angular/core").Signal<boolean>;
10
+ messages: import("@angular/core").Signal<AIMessage[]>;
11
+ send: (content: string) => void;
12
+ };
13
+ private createHandle;
14
+ ngOnDestroy(): void;
15
+ }
@@ -0,0 +1 @@
1
+ export { AIStreamService } from './ai-stream.service';
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ import { createAIConnection } from '../../ai/client/connection';
3
+ import { createAIMessageStore } from '../../ai/client/messageStore';
4
+ type AIStreamContextValue = {
5
+ connection: ReturnType<typeof createAIConnection>;
6
+ store: ReturnType<typeof createAIMessageStore>;
7
+ };
8
+ export declare const AIStreamProvider: ({ children, path }: {
9
+ children: ReactNode;
10
+ path: string;
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const useAIStreamContext: () => AIStreamContextValue | null;
13
+ export {};
@@ -0,0 +1,2 @@
1
+ export { AIStreamProvider } from './AIStreamProvider';
2
+ export { useAIStream } from './useAIStream';
@@ -0,0 +1,8 @@
1
+ export declare const useAIStream: (path?: string, conversationId?: string) => {
2
+ branch: (messageId: string, content: string) => void;
3
+ cancel: () => void;
4
+ error: string | null;
5
+ isStreaming: boolean;
6
+ messages: import("../..").AIMessage[];
7
+ send: (content: string) => void;
8
+ };
@@ -0,0 +1,10 @@
1
+ import type { AIMessage } from '../../../types/ai';
2
+ export declare const createAIStream: (path: string, conversationId?: string) => {
3
+ branch: (messageId: string, content: string) => void;
4
+ cancel: () => void;
5
+ destroy: () => void;
6
+ send: (content: string) => void;
7
+ readonly error: string | null;
8
+ readonly isStreaming: boolean;
9
+ readonly messages: AIMessage[];
10
+ };
@@ -0,0 +1 @@
1
+ export { createAIStream } from './createAIStream';
@@ -0,0 +1 @@
1
+ export { useAIStream, AIStreamKey } from './useAIStream';
@@ -0,0 +1,22 @@
1
+ import { type InjectionKey, type Ref } from 'vue';
2
+ import type { AIMessage } from '../../../types/ai';
3
+ type AIStreamReturn = {
4
+ branch: (messageId: string, content: string) => void;
5
+ cancel: () => void;
6
+ destroy: () => void;
7
+ error: Ref<string | null>;
8
+ isStreaming: Ref<boolean>;
9
+ messages: Ref<AIMessage[]>;
10
+ send: (content: string) => void;
11
+ };
12
+ export declare const AIStreamKey: InjectionKey<AIStreamReturn>;
13
+ export declare const useAIStream: (path: string, conversationId?: string) => {
14
+ branch: (messageId: string, content: string) => void;
15
+ cancel: () => void;
16
+ destroy: () => void;
17
+ error: Ref<string | null, string | null>;
18
+ isStreaming: Ref<boolean, boolean>;
19
+ messages: import("vue").ShallowRef<AIMessage[], AIMessage[]>;
20
+ send: (content: string) => void;
21
+ };
22
+ export {};