@whxway/loom 1.0.1 → 1.1.0
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/.next/BUILD_ID +1 -1
- package/.next/build/56416d4ae4ce586f.js +6 -0
- package/.next/build/56416d4ae4ce586f.js.map +5 -0
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js +206 -0
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js.map +8 -0
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js +500 -0
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js.map +11 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js +13 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +890 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/build/chunks/node_modules_20v-8wl._.js +6824 -0
- package/.next/build/chunks/node_modules_20v-8wl._.js.map +47 -0
- package/.next/build/package.json +1 -0
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.previewinfo +1 -0
- package/.next/cache/.rscinfo +1 -0
- package/.next/cache/.tsbuildinfo +1 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/diagnostics/route-bundle-stats.json +488 -0
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/mcp/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/mcp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/mcp/presets/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/models/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/playground/audio/speech/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/playground/audio/transcription/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/playground/chat/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/playground/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/playground/embedding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/playground/image/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/playground/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/playground/video/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/providers/[name]/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/providers/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/providers/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/settings/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/settings/users/page.js.nft.json +1 -1
- package/.next/server/app/(dashboard)/settings/users/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +3 -3
- package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/adapters/route.js.nft.json +1 -1
- package/.next/server/app/api/apikeys/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/apikeys/route.js.nft.json +1 -1
- package/.next/server/app/api/capabilities/route.js.nft.json +1 -1
- package/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/login/route.js.nft.json +1 -1
- package/.next/server/app/api/logout/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/generations/[id]/images/[idx]/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/generations/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/generations/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/presets/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[id]/check/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[id]/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
- package/.next/server/app/api/messages/[id]/rate/route.js.nft.json +1 -1
- package/.next/server/app/api/models/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ping/route.js.nft.json +1 -1
- package/.next/server/app/api/playground/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/playground/embedding/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/[id]/check/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/probe/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/reload/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/models/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/tools/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/users/[username]/route.js.nft.json +1 -1
- package/.next/server/app/api/users/me/preferences/route.js.nft.json +1 -1
- package/.next/server/app/api/users/me/route.js.nft.json +1 -1
- package/.next/server/app/api/users/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/videos/[id]/content/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/videos/route.js.nft.json +1 -1
- package/.next/server/app/api/variants/route.js.nft.json +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +3 -3
- package/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/login.segments/!KGF1dGgp/login.segment.rsc +1 -1
- package/.next/server/app/login.segments/!KGF1dGgp.segment.rsc +1 -1
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +3 -3
- package/.next/server/app/logs.segments/!KGRhc2hib2FyZCk/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/!KGRhc2hib2FyZCk/logs.segment.rsc +1 -1
- package/.next/server/app/logs.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +3 -3
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/mcp/presets.html +2 -2
- package/.next/server/app/mcp/presets.rsc +5 -5
- package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk/mcp/presets/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk/mcp/presets.segment.rsc +1 -1
- package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk/mcp.segment.rsc +1 -1
- package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/mcp/presets.segments/_full.segment.rsc +5 -5
- package/.next/server/app/mcp/presets.segments/_head.segment.rsc +1 -1
- package/.next/server/app/mcp/presets.segments/_index.segment.rsc +2 -2
- package/.next/server/app/mcp/presets.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/mcp.html +2 -2
- package/.next/server/app/mcp.rsc +5 -5
- package/.next/server/app/mcp.segments/!KGRhc2hib2FyZCk/mcp/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/mcp.segments/!KGRhc2hib2FyZCk/mcp.segment.rsc +1 -1
- package/.next/server/app/mcp.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/mcp.segments/_full.segment.rsc +5 -5
- package/.next/server/app/mcp.segments/_head.segment.rsc +1 -1
- package/.next/server/app/mcp.segments/_index.segment.rsc +2 -2
- package/.next/server/app/mcp.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/playground/audio/speech.html +2 -2
- package/.next/server/app/playground/audio/speech.rsc +3 -3
- package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground/audio/speech/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground/audio/speech.segment.rsc +1 -1
- package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground/audio.segment.rsc +1 -1
- package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
- package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/playground/audio/speech.segments/_full.segment.rsc +3 -3
- package/.next/server/app/playground/audio/speech.segments/_head.segment.rsc +1 -1
- package/.next/server/app/playground/audio/speech.segments/_index.segment.rsc +2 -2
- package/.next/server/app/playground/audio/speech.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/playground/audio/transcription.html +2 -2
- package/.next/server/app/playground/audio/transcription.rsc +3 -3
- package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground/audio/transcription/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground/audio/transcription.segment.rsc +1 -1
- package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground/audio.segment.rsc +1 -1
- package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
- package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/playground/audio/transcription.segments/_full.segment.rsc +3 -3
- package/.next/server/app/playground/audio/transcription.segments/_head.segment.rsc +1 -1
- package/.next/server/app/playground/audio/transcription.segments/_index.segment.rsc +2 -2
- package/.next/server/app/playground/audio/transcription.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/playground/chat.html +2 -2
- package/.next/server/app/playground/chat.rsc +5 -5
- package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk/playground/chat/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk/playground/chat.segment.rsc +1 -1
- package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
- package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/playground/chat.segments/_full.segment.rsc +5 -5
- package/.next/server/app/playground/chat.segments/_head.segment.rsc +1 -1
- package/.next/server/app/playground/chat.segments/_index.segment.rsc +2 -2
- package/.next/server/app/playground/chat.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/playground/embedding.html +2 -2
- package/.next/server/app/playground/embedding.rsc +3 -3
- package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk/playground/embedding/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk/playground/embedding.segment.rsc +1 -1
- package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
- package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/playground/embedding.segments/_full.segment.rsc +3 -3
- package/.next/server/app/playground/embedding.segments/_head.segment.rsc +1 -1
- package/.next/server/app/playground/embedding.segments/_index.segment.rsc +2 -2
- package/.next/server/app/playground/embedding.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/playground/image.html +2 -2
- package/.next/server/app/playground/image.rsc +3 -3
- package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk/playground/image/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk/playground/image.segment.rsc +1 -1
- package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
- package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/playground/image.segments/_full.segment.rsc +3 -3
- package/.next/server/app/playground/image.segments/_head.segment.rsc +1 -1
- package/.next/server/app/playground/image.segments/_index.segment.rsc +2 -2
- package/.next/server/app/playground/image.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/playground/video.html +2 -2
- package/.next/server/app/playground/video.rsc +3 -3
- package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk/playground/video/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk/playground/video.segment.rsc +1 -1
- package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
- package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/playground/video.segments/_full.segment.rsc +3 -3
- package/.next/server/app/playground/video.segments/_head.segment.rsc +1 -1
- package/.next/server/app/playground/video.segments/_index.segment.rsc +2 -2
- package/.next/server/app/playground/video.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/playground.html +2 -2
- package/.next/server/app/playground.rsc +3 -3
- package/.next/server/app/playground.segments/!KGRhc2hib2FyZCk/playground/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/playground.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
- package/.next/server/app/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/playground.segments/_full.segment.rsc +3 -3
- package/.next/server/app/playground.segments/_head.segment.rsc +1 -1
- package/.next/server/app/playground.segments/_index.segment.rsc +2 -2
- package/.next/server/app/playground.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/providers.html +2 -2
- package/.next/server/app/providers.rsc +5 -5
- package/.next/server/app/providers.segments/!KGRhc2hib2FyZCk/providers/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/providers.segments/!KGRhc2hib2FyZCk/providers.segment.rsc +1 -1
- package/.next/server/app/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/providers.segments/_full.segment.rsc +5 -5
- package/.next/server/app/providers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/providers.segments/_index.segment.rsc +2 -2
- package/.next/server/app/providers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/api-keys.html +2 -2
- package/.next/server/app/settings/api-keys.rsc +3 -3
- package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk/settings/api-keys/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk/settings/api-keys.segment.rsc +1 -1
- package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/settings/api-keys.segments/_full.segment.rsc +3 -3
- package/.next/server/app/settings/api-keys.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/api-keys.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/api-keys.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/users.html +2 -2
- package/.next/server/app/settings/users.rsc +5 -5
- package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk/settings/users/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk/settings/users.segment.rsc +1 -1
- package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/settings/users.segments/_full.segment.rsc +5 -5
- package/.next/server/app/settings/users.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/users.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/users.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +5 -5
- package/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_full.segment.rsc +5 -5
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/chunks/[root-of-the-server]__02sypva._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__02sypva._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0g3mnim._.js +4 -1
- package/.next/server/chunks/[root-of-the-server]__0g3mnim._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0myi8j1._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0myi8j1._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__1qg3d87._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1qg3d87._.js.map +1 -1
- package/.next/server/chunks/ssr/_001fhst._.js +3 -0
- package/.next/server/chunks/ssr/_001fhst._.js.map +1 -0
- package/.next/server/chunks/ssr/_02wtd-0._.js +3 -0
- package/.next/server/chunks/ssr/_02wtd-0._.js.map +1 -0
- package/.next/server/chunks/ssr/_05ufvn1._.js +9 -0
- package/.next/server/chunks/ssr/_05ufvn1._.js.map +1 -0
- package/.next/server/chunks/ssr/{_1fd20ju._.js → _066w-6f._.js} +2 -2
- package/.next/server/chunks/ssr/{_1fd20ju._.js.map → _066w-6f._.js.map} +1 -1
- package/.next/server/chunks/ssr/_0gd7kq_._.js +1 -1
- package/.next/server/chunks/ssr/_0gd7kq_._.js.map +1 -1
- package/.next/server/chunks/ssr/_0k-6auj._.js +3 -0
- package/.next/server/chunks/ssr/_0k-6auj._.js.map +1 -0
- package/.next/server/chunks/ssr/_0qo9tx1._.js +3 -0
- package/.next/server/chunks/ssr/_0qo9tx1._.js.map +1 -0
- package/.next/server/chunks/ssr/_0uom5g-._.js +9 -0
- package/.next/server/chunks/ssr/_0uom5g-._.js.map +1 -0
- package/.next/server/chunks/ssr/_1b09eqp._.js +1 -1
- package/.next/server/chunks/ssr/_1b09eqp._.js.map +1 -1
- package/.next/server/chunks/ssr/_1oi0iqt._.js +9 -0
- package/.next/server/chunks/ssr/_1oi0iqt._.js.map +1 -0
- package/.next/server/chunks/ssr/_1q3gglq._.js +3 -0
- package/.next/server/chunks/ssr/_1q3gglq._.js.map +1 -0
- package/.next/server/chunks/ssr/_1y5sreb._.js +3 -0
- package/.next/server/chunks/ssr/_1y5sreb._.js.map +1 -0
- package/.next/server/chunks/ssr/_1zlpzyk._.js +1 -1
- package/.next/server/chunks/ssr/_1zlpzyk._.js.map +1 -1
- package/.next/server/chunks/ssr/app_(dashboard)_mcp_page_tsx_0cg7pz9._.js +1 -1
- package/.next/server/chunks/ssr/app_(dashboard)_mcp_page_tsx_0cg7pz9._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/0brzabhj3foow.js +1 -0
- package/.next/static/chunks/0cbg1vmtl84ae.css +1 -0
- package/.next/static/chunks/0hf0pedij0d6a.js +7 -0
- package/.next/static/chunks/1lo5yg9gvb9eg.js +7 -0
- package/.next/static/chunks/1s-rfyrjre6lb.js +1 -0
- package/.next/static/chunks/27siz43i4h5l7.js +9 -0
- package/.next/static/chunks/29p-wdja_cbgh.js +11 -0
- package/.next/static/chunks/396ikhrcofosq.js +7 -0
- package/.next/static/chunks/3m3fw3fmcc301.js +7 -0
- package/.next/trace +2 -0
- package/.next/trace-build +1 -1
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/routes.d.ts +139 -0
- package/.next/types/validator.ts +682 -0
- package/bin/loom.mjs +80 -21
- package/package.json +1 -1
- package/.next/server/chunks/ssr/_0g6iz5n._.js +0 -3
- package/.next/server/chunks/ssr/_0g6iz5n._.js.map +0 -1
- package/.next/server/chunks/ssr/_0mim08o._.js +0 -3
- package/.next/server/chunks/ssr/_0mim08o._.js.map +0 -1
- package/.next/server/chunks/ssr/_0xm-krv._.js +0 -9
- package/.next/server/chunks/ssr/_0xm-krv._.js.map +0 -1
- package/.next/server/chunks/ssr/_0zxn_u0._.js +0 -3
- package/.next/server/chunks/ssr/_0zxn_u0._.js.map +0 -1
- package/.next/server/chunks/ssr/_151pht4._.js +0 -9
- package/.next/server/chunks/ssr/_151pht4._.js.map +0 -1
- package/.next/server/chunks/ssr/_18tl_0o._.js +0 -9
- package/.next/server/chunks/ssr/_18tl_0o._.js.map +0 -1
- package/.next/server/chunks/ssr/_19nuoa6._.js +0 -9
- package/.next/server/chunks/ssr/_19nuoa6._.js.map +0 -1
- package/.next/server/chunks/ssr/_1ax02l9._.js +0 -3
- package/.next/server/chunks/ssr/_1ax02l9._.js.map +0 -1
- package/.next/server/chunks/ssr/_1fze3ic._.js +0 -9
- package/.next/server/chunks/ssr/_1fze3ic._.js.map +0 -1
- package/.next/static/chunks/0zryggvaj_s87.js +0 -7
- package/.next/static/chunks/16bx44gr1d_ij.js +0 -7
- package/.next/static/chunks/172e7ymu9a3w9.js +0 -1
- package/.next/static/chunks/1_w-1rm5wy0l7.css +0 -1
- package/.next/static/chunks/2j_bpzzylp1un.js +0 -9
- package/.next/static/chunks/2r2pwisd9bptv.js +0 -11
- package/.next/static/chunks/3at-42v-_yh7y.js +0 -7
- package/.next/static/chunks/3bp0ieicfxx5n.js +0 -1
- package/.next/static/chunks/3et56kszc9f9a.js +0 -7
- /package/.next/static/{S-TxD5uw__EHY12mebgvS → wCZkC7ZaYrxG37d-e2tac}/_buildManifest.js +0 -0
- /package/.next/static/{S-TxD5uw__EHY12mebgvS → wCZkC7ZaYrxG37d-e2tac}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{S-TxD5uw__EHY12mebgvS → wCZkC7ZaYrxG37d-e2tac}/_ssgManifest.js +0 -0
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[339756,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"default"]
|
|
3
3
|
3:I[837457,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"default"]
|
|
4
4
|
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"wCZkC7ZaYrxG37d-e2tac"}
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
4:I[580166,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js","/_next/static/chunks/2w2273l08l6pz.js","/_next/static/chunks/3p7wxtt-owal-.js","/_next/static/chunks/2zeeni2y2fh59.js","/_next/static/chunks/1avs7b5gzq0et.js","/_next/static/chunks/2_ylc3swjzu3u.js","/_next/static/chunks/2-3f1p4geboky.js","/_next/static/chunks/2zgfj2y10bftz.js"],"default"]
|
|
5
5
|
5:I[837457,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"default"]
|
|
6
6
|
6:I[522016,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js","/_next/static/chunks/0k4-ojig21nwu.js"],""]
|
|
7
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/2w2273l08l6pz.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/3p7wxtt-owal-.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/2zeeni2y2fh59.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/1avs7b5gzq0et.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/2_ylc3swjzu3u.js","async":true}],["$","script","script-5",{"src":"/_next/static/chunks/2-3f1p4geboky.js","async":true}]],["$","div",null,{"className":"flex h-screen flex-col overflow-hidden bg-background","children":[["$","$L2",null,{}],["$","main",null,{"className":"flex-1 overflow-hidden bg-muted/10","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/2zgfj2y10bftz.js","async":true}]],"template":["$","$L5",null,{}],"notFound":[["$","div",null,{"className":"flex h-screen w-full items-center justify-center p-6 bg-background","children":["$","div",null,{"className":"max-w-md w-full space-y-4 text-center","children":[["$","h1",null,{"className":"text-6xl font-semibold text-muted-foreground/40","children":"404"}],["$","h2",null,{"className":"text-lg font-semibold text-foreground","children":"Page not found"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":"The page you're looking for doesn't exist or has been moved."}],["$","div",null,{"className":"pt-2","children":["$","$L6",null,{"href":"/","children":"Back to dashboard","data-slot":"button","data-variant":"default","data-size":"default","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3","ref":null}]}]]}]}],[]]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
7
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/2w2273l08l6pz.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/3p7wxtt-owal-.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/2zeeni2y2fh59.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/1avs7b5gzq0et.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/2_ylc3swjzu3u.js","async":true}],["$","script","script-5",{"src":"/_next/static/chunks/2-3f1p4geboky.js","async":true}]],["$","div",null,{"className":"flex h-screen flex-col overflow-hidden bg-background","children":[["$","$L2",null,{}],["$","main",null,{"className":"flex-1 overflow-hidden bg-muted/10","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/2zgfj2y10bftz.js","async":true}]],"template":["$","$L5",null,{}],"notFound":[["$","div",null,{"className":"flex h-screen w-full items-center justify-center p-6 bg-background","children":["$","div",null,{"className":"max-w-md w-full space-y-4 text-center","children":[["$","h1",null,{"className":"text-6xl font-semibold text-muted-foreground/40","children":"404"}],["$","h2",null,{"className":"text-lg font-semibold text-foreground","children":"Page not found"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":"The page you're looking for doesn't exist or has been moved."}],["$","div",null,{"className":"pt-2","children":["$","$L6",null,{"href":"/","children":"Back to dashboard","data-slot":"button","data-variant":"default","data-size":"default","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3","ref":null}]}]]}]}],[]]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"wCZkC7ZaYrxG37d-e2tac"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
a:I[168027,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"default",1]
|
|
3
3
|
:HL["/_next/static/chunks/233p45nuh4m5b.css","style"]
|
|
4
|
-
:HL["/_next/static/chunks/
|
|
4
|
+
:HL["/_next/static/chunks/0cbg1vmtl84ae.css","style"]
|
|
5
5
|
:HL["/_next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
6
6
|
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
7
7
|
2:Tcac,:root[data-theme="paper"]{--background:oklch(0.97 0.02 80);--foreground:oklch(0.20 0.02 60);--card:oklch(0.99 0.015 80);--card-foreground:oklch(0.20 0.02 60);--popover:oklch(0.99 0.015 80);--popover-foreground:oklch(0.20 0.02 60);--primary:oklch(0.45 0.10 40);--primary-foreground:oklch(0.97 0.02 80);--secondary:oklch(0.92 0.02 75);--secondary-foreground:oklch(0.25 0.03 50);--muted:oklch(0.93 0.015 75);--muted-foreground:oklch(0.48 0.02 50);--accent:oklch(0.91 0.04 70);--accent-foreground:oklch(0.25 0.05 50);--border:oklch(0.85 0.02 70);--input:oklch(0.88 0.02 70);--ring:oklch(0.55 0.08 40);--radius:0.875rem;}
|
|
8
8
|
:root[data-theme="paper"].dark{--background:oklch(0.18 0.015 60);--foreground:oklch(0.94 0.02 80);--card:oklch(0.23 0.018 60);--card-foreground:oklch(0.94 0.02 80);--popover:oklch(0.23 0.018 60);--popover-foreground:oklch(0.94 0.02 80);--primary:oklch(0.78 0.10 40);--primary-foreground:oklch(0.18 0.015 60);--secondary:oklch(0.27 0.02 55);--secondary-foreground:oklch(0.94 0.02 80);--muted:oklch(0.27 0.02 55);--muted-foreground:oklch(0.70 0.02 75);--accent:oklch(0.30 0.05 60);--accent-foreground:oklch(0.94 0.02 80);--border:oklch(1 0 0 / 12%);--input:oklch(1 0 0 / 15%);--ring:oklch(0.65 0.08 40);--radius:0.875rem;}
|
|
9
9
|
:root[data-theme="terminal"].dark{--background:oklch(0.13 0.015 145);--foreground:oklch(0.92 0.18 145);--card:oklch(0.16 0.02 145);--card-foreground:oklch(0.92 0.18 145);--popover:oklch(0.16 0.02 145);--popover-foreground:oklch(0.92 0.18 145);--primary:oklch(0.85 0.20 145);--primary-foreground:oklch(0.13 0.015 145);--secondary:oklch(0.22 0.04 145);--secondary-foreground:oklch(0.92 0.18 145);--muted:oklch(0.22 0.04 145);--muted-foreground:oklch(0.65 0.12 145);--accent:oklch(0.25 0.06 145);--accent-foreground:oklch(0.92 0.18 145);--destructive:oklch(0.72 0.22 28);--border:oklch(0.85 0.18 145 / 18%);--input:oklch(0.85 0.18 145 / 14%);--ring:oklch(0.85 0.18 145 / 50%);--radius:0.25rem;--font-sans:var(--font-geist-mono);}
|
|
10
10
|
:root[data-theme="aurora"]{--background:oklch(0.985 0.005 280);--foreground:oklch(0.20 0.05 290);--card:oklch(1 0 0);--card-foreground:oklch(0.20 0.05 290);--popover:oklch(1 0 0);--popover-foreground:oklch(0.20 0.05 290);--primary:oklch(0.55 0.22 290);--primary-foreground:oklch(0.985 0.005 280);--secondary:oklch(0.95 0.02 285);--secondary-foreground:oklch(0.25 0.06 290);--muted:oklch(0.95 0.015 285);--muted-foreground:oklch(0.50 0.04 290);--accent:oklch(0.85 0.10 190);--accent-foreground:oklch(0.20 0.05 290);--border:oklch(0.88 0.02 285);--input:oklch(0.90 0.02 285);--ring:oklch(0.55 0.22 290);--radius:0.875rem;}
|
|
11
|
-
:root[data-theme="aurora"].dark{--background:oklch(0.17 0.04 280);--foreground:oklch(0.95 0.015 280);--card:oklch(0.22 0.05 280);--card-foreground:oklch(0.95 0.015 280);--popover:oklch(0.22 0.05 280);--popover-foreground:oklch(0.95 0.015 280);--primary:oklch(0.72 0.20 290);--primary-foreground:oklch(0.17 0.04 280);--secondary:oklch(0.28 0.06 280);--secondary-foreground:oklch(0.95 0.015 280);--muted:oklch(0.28 0.06 280);--muted-foreground:oklch(0.72 0.04 285);--accent:oklch(0.70 0.16 195);--accent-foreground:oklch(0.17 0.04 280);--border:oklch(0.72 0.20 290 / 18%);--input:oklch(0.72 0.20 290 / 14%);--ring:oklch(0.72 0.20 290 / 60%);--radius:0.875rem;}0:{"P":null,"c":["","settings"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["settings",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/233p45nuh4m5b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
11
|
+
:root[data-theme="aurora"].dark{--background:oklch(0.17 0.04 280);--foreground:oklch(0.95 0.015 280);--card:oklch(0.22 0.05 280);--card-foreground:oklch(0.95 0.015 280);--popover:oklch(0.22 0.05 280);--popover-foreground:oklch(0.95 0.015 280);--primary:oklch(0.72 0.20 290);--primary-foreground:oklch(0.17 0.04 280);--secondary:oklch(0.28 0.06 280);--secondary-foreground:oklch(0.95 0.015 280);--muted:oklch(0.28 0.06 280);--muted-foreground:oklch(0.72 0.04 285);--accent:oklch(0.70 0.16 195);--accent-foreground:oklch(0.17 0.04 280);--border:oklch(0.72 0.20 290 / 18%);--input:oklch(0.72 0.20 290 / 14%);--ring:oklch(0.72 0.20 290 / 60%);--radius:0.875rem;}0:{"P":null,"c":["","settings"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["settings",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/233p45nuh4m5b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0cbg1vmtl84ae.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0gwy6u53e_4ul.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/2izbovk1ixytg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/1giwad-u52ub-.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/1ntn7efqc-iiw.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","style",null,{"id":"loom-theme-tokens","dangerouslySetInnerHTML":{"__html":"$2"}}],"$L3"]}],"$L4"]}]]}],{"children":["$L5",{"children":["$L6",{"children":["$L7",{},null,false,null]},null,false,"$@8"]},null,false,null]},null,false,null],"$L9",false]],"m":"$undefined","G":["$a",["$Lb","$Lc"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"wCZkC7ZaYrxG37d-e2tac"}
|
|
12
12
|
d:I[26229,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"AppProviders"]
|
|
13
13
|
e:I[339756,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"default"]
|
|
14
14
|
f:I[837457,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"default"]
|
|
@@ -16,7 +16,7 @@ f:I[837457,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbov
|
|
|
16
16
|
11:I[246852,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js","/_next/static/chunks/2w2273l08l6pz.js","/_next/static/chunks/3p7wxtt-owal-.js","/_next/static/chunks/2zeeni2y2fh59.js","/_next/static/chunks/1avs7b5gzq0et.js","/_next/static/chunks/2_ylc3swjzu3u.js","/_next/static/chunks/2-3f1p4geboky.js"],"Topbar"]
|
|
17
17
|
12:I[580166,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js","/_next/static/chunks/2w2273l08l6pz.js","/_next/static/chunks/3p7wxtt-owal-.js","/_next/static/chunks/2zeeni2y2fh59.js","/_next/static/chunks/1avs7b5gzq0et.js","/_next/static/chunks/2_ylc3swjzu3u.js","/_next/static/chunks/2-3f1p4geboky.js","/_next/static/chunks/2zgfj2y10bftz.js"],"default"]
|
|
18
18
|
13:I[347257,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"ClientPageRoot"]
|
|
19
|
-
14:I[888501,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js","/_next/static/chunks/2w2273l08l6pz.js","/_next/static/chunks/3p7wxtt-owal-.js","/_next/static/chunks/2zeeni2y2fh59.js","/_next/static/chunks/1avs7b5gzq0et.js","/_next/static/chunks/2_ylc3swjzu3u.js","/_next/static/chunks/2-3f1p4geboky.js","/_next/static/chunks/
|
|
19
|
+
14:I[888501,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js","/_next/static/chunks/2w2273l08l6pz.js","/_next/static/chunks/3p7wxtt-owal-.js","/_next/static/chunks/2zeeni2y2fh59.js","/_next/static/chunks/1avs7b5gzq0et.js","/_next/static/chunks/2_ylc3swjzu3u.js","/_next/static/chunks/2-3f1p4geboky.js","/_next/static/chunks/29p-wdja_cbgh.js"],"default"]
|
|
20
20
|
17:I[897367,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"OutletBoundary"]
|
|
21
21
|
18:"$Sreact.suspense"
|
|
22
22
|
1b:I[897367,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"ViewportBoundary"]
|
|
@@ -25,12 +25,12 @@ f:I[837457,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbov
|
|
|
25
25
|
4:["$","body",null,{"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased","children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"flex h-screen w-full items-center justify-center p-6 bg-background","children":["$","div",null,{"className":"max-w-md w-full space-y-4 text-center","children":[["$","h1",null,{"className":"text-6xl font-semibold text-muted-foreground/40","children":"404"}],["$","h2",null,{"className":"text-lg font-semibold text-foreground","children":"Page not found"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":"The page you're looking for doesn't exist or has been moved."}],["$","div",null,{"className":"pt-2","children":["$","$L10",null,{"href":"/","children":"Back to dashboard","data-slot":"button","data-variant":"default","data-size":"default","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3","ref":null}]}]]}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]
|
|
26
26
|
5:["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/2w2273l08l6pz.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/3p7wxtt-owal-.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/2zeeni2y2fh59.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/1avs7b5gzq0et.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/2_ylc3swjzu3u.js","async":true,"nonce":"$undefined"}],["$","script","script-5",{"src":"/_next/static/chunks/2-3f1p4geboky.js","async":true,"nonce":"$undefined"}]],["$","div",null,{"className":"flex h-screen flex-col overflow-hidden bg-background","children":[["$","$L11",null,{}],["$","main",null,{"className":"flex-1 overflow-hidden bg-muted/10","children":["$","$Le",null,{"parallelRouterKey":"children","error":"$12","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/2zgfj2y10bftz.js","async":true}]],"template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"flex h-screen w-full items-center justify-center p-6 bg-background","children":["$","div",null,{"className":"max-w-md w-full space-y-4 text-center","children":[["$","h1",null,{"className":"text-6xl font-semibold text-muted-foreground/40","children":"404"}],["$","h2",null,{"className":"text-lg font-semibold text-foreground","children":"Page not found"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":"The page you're looking for doesn't exist or has been moved."}],["$","div",null,{"className":"pt-2","children":["$","$L10",null,{"href":"/","children":"Back to dashboard","data-slot":"button","data-variant":"default","data-size":"default","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3","ref":null}]}]]}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]
|
|
27
27
|
6:["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
|
|
28
|
-
7:["$","$1","c",{"children":[["$","$L13",null,{"Component":"$14","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@15","$@16"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/
|
|
28
|
+
7:["$","$1","c",{"children":[["$","$L13",null,{"Component":"$14","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@15","$@16"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/29p-wdja_cbgh.js","async":true,"nonce":"$undefined"}]],["$","$L17",null,{"children":["$","$18",null,{"name":"Next.MetadataOutlet","children":"$@19"}]}]]}]
|
|
29
29
|
1a:[]
|
|
30
30
|
8:"$W1a"
|
|
31
31
|
9:["$","$1","h",{"children":[null,["$","$L1b",null,{"children":"$L1c"}],["$","div",null,{"hidden":true,"children":["$","$L1d",null,{"children":["$","$18",null,{"name":"Next.Metadata","children":"$L1e"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
|
|
32
32
|
b:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/233p45nuh4m5b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
|
|
33
|
-
c:["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
33
|
+
c:["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0cbg1vmtl84ae.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
|
|
34
34
|
15:{}
|
|
35
35
|
16:"$7:props:children:0:props:serverProvidedParams:params"
|
|
36
36
|
1c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[897367,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[27201,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"IconMark"]
|
|
6
|
-
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Loom"}],["$","meta","1",{"name":"description","content":"Self-hosted AI portal · OpenAI-compatible · MCP · Playground · Logs"}],["$","link","2",{"rel":"icon","href":"/icon.svg?icon.3ehpc5vjf2gkq.svg","sizes":"any","type":"image/svg+xml"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
6
|
+
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Loom"}],["$","meta","1",{"name":"description","content":"Self-hosted AI portal · OpenAI-compatible · MCP · Playground · Logs"}],["$","link","2",{"rel":"icon","href":"/icon.svg?icon.3ehpc5vjf2gkq.svg","sizes":"any","type":"image/svg+xml"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"wCZkC7ZaYrxG37d-e2tac"}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
7:I[837457,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js"],"default"]
|
|
5
5
|
8:I[522016,["/_next/static/chunks/0gwy6u53e_4ul.js","/_next/static/chunks/2izbovk1ixytg.js","/_next/static/chunks/1giwad-u52ub-.js","/_next/static/chunks/1ntn7efqc-iiw.js","/_next/static/chunks/0k4-ojig21nwu.js"],""]
|
|
6
6
|
:HL["/_next/static/chunks/233p45nuh4m5b.css","style"]
|
|
7
|
-
:HL["/_next/static/chunks/
|
|
7
|
+
:HL["/_next/static/chunks/0cbg1vmtl84ae.css","style"]
|
|
8
8
|
2:Tcac,:root[data-theme="paper"]{--background:oklch(0.97 0.02 80);--foreground:oklch(0.20 0.02 60);--card:oklch(0.99 0.015 80);--card-foreground:oklch(0.20 0.02 60);--popover:oklch(0.99 0.015 80);--popover-foreground:oklch(0.20 0.02 60);--primary:oklch(0.45 0.10 40);--primary-foreground:oklch(0.97 0.02 80);--secondary:oklch(0.92 0.02 75);--secondary-foreground:oklch(0.25 0.03 50);--muted:oklch(0.93 0.015 75);--muted-foreground:oklch(0.48 0.02 50);--accent:oklch(0.91 0.04 70);--accent-foreground:oklch(0.25 0.05 50);--border:oklch(0.85 0.02 70);--input:oklch(0.88 0.02 70);--ring:oklch(0.55 0.08 40);--radius:0.875rem;}
|
|
9
9
|
:root[data-theme="paper"].dark{--background:oklch(0.18 0.015 60);--foreground:oklch(0.94 0.02 80);--card:oklch(0.23 0.018 60);--card-foreground:oklch(0.94 0.02 80);--popover:oklch(0.23 0.018 60);--popover-foreground:oklch(0.94 0.02 80);--primary:oklch(0.78 0.10 40);--primary-foreground:oklch(0.18 0.015 60);--secondary:oklch(0.27 0.02 55);--secondary-foreground:oklch(0.94 0.02 80);--muted:oklch(0.27 0.02 55);--muted-foreground:oklch(0.70 0.02 75);--accent:oklch(0.30 0.05 60);--accent-foreground:oklch(0.94 0.02 80);--border:oklch(1 0 0 / 12%);--input:oklch(1 0 0 / 15%);--ring:oklch(0.65 0.08 40);--radius:0.875rem;}
|
|
10
10
|
:root[data-theme="terminal"].dark{--background:oklch(0.13 0.015 145);--foreground:oklch(0.92 0.18 145);--card:oklch(0.16 0.02 145);--card-foreground:oklch(0.92 0.18 145);--popover:oklch(0.16 0.02 145);--popover-foreground:oklch(0.92 0.18 145);--primary:oklch(0.85 0.20 145);--primary-foreground:oklch(0.13 0.015 145);--secondary:oklch(0.22 0.04 145);--secondary-foreground:oklch(0.92 0.18 145);--muted:oklch(0.22 0.04 145);--muted-foreground:oklch(0.65 0.12 145);--accent:oklch(0.25 0.06 145);--accent-foreground:oklch(0.92 0.18 145);--destructive:oklch(0.72 0.22 28);--border:oklch(0.85 0.18 145 / 18%);--input:oklch(0.85 0.18 145 / 14%);--ring:oklch(0.85 0.18 145 / 50%);--radius:0.25rem;--font-sans:var(--font-geist-mono);}
|
|
11
11
|
:root[data-theme="aurora"]{--background:oklch(0.985 0.005 280);--foreground:oklch(0.20 0.05 290);--card:oklch(1 0 0);--card-foreground:oklch(0.20 0.05 290);--popover:oklch(1 0 0);--popover-foreground:oklch(0.20 0.05 290);--primary:oklch(0.55 0.22 290);--primary-foreground:oklch(0.985 0.005 280);--secondary:oklch(0.95 0.02 285);--secondary-foreground:oklch(0.25 0.06 290);--muted:oklch(0.95 0.015 285);--muted-foreground:oklch(0.50 0.04 290);--accent:oklch(0.85 0.10 190);--accent-foreground:oklch(0.20 0.05 290);--border:oklch(0.88 0.02 285);--input:oklch(0.90 0.02 285);--ring:oklch(0.55 0.22 290);--radius:0.875rem;}
|
|
12
|
-
:root[data-theme="aurora"].dark{--background:oklch(0.17 0.04 280);--foreground:oklch(0.95 0.015 280);--card:oklch(0.22 0.05 280);--card-foreground:oklch(0.95 0.015 280);--popover:oklch(0.22 0.05 280);--popover-foreground:oklch(0.95 0.015 280);--primary:oklch(0.72 0.20 290);--primary-foreground:oklch(0.17 0.04 280);--secondary:oklch(0.28 0.06 280);--secondary-foreground:oklch(0.95 0.015 280);--muted:oklch(0.28 0.06 280);--muted-foreground:oklch(0.72 0.04 285);--accent:oklch(0.70 0.16 195);--accent-foreground:oklch(0.17 0.04 280);--border:oklch(0.72 0.20 290 / 18%);--input:oklch(0.72 0.20 290 / 14%);--ring:oklch(0.72 0.20 290 / 60%);--radius:0.875rem;}0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/233p45nuh4m5b.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
12
|
+
:root[data-theme="aurora"].dark{--background:oklch(0.17 0.04 280);--foreground:oklch(0.95 0.015 280);--card:oklch(0.22 0.05 280);--card-foreground:oklch(0.95 0.015 280);--popover:oklch(0.22 0.05 280);--popover-foreground:oklch(0.95 0.015 280);--primary:oklch(0.72 0.20 290);--primary-foreground:oklch(0.17 0.04 280);--secondary:oklch(0.28 0.06 280);--secondary-foreground:oklch(0.95 0.015 280);--muted:oklch(0.28 0.06 280);--muted-foreground:oklch(0.72 0.04 285);--accent:oklch(0.70 0.16 195);--accent-foreground:oklch(0.17 0.04 280);--border:oklch(0.72 0.20 290 / 18%);--input:oklch(0.72 0.20 290 / 14%);--ring:oklch(0.72 0.20 290 / 60%);--radius:0.875rem;}0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/233p45nuh4m5b.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0cbg1vmtl84ae.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0gwy6u53e_4ul.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/2izbovk1ixytg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/1giwad-u52ub-.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/1ntn7efqc-iiw.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","style",null,{"id":"loom-theme-tokens","dangerouslySetInnerHTML":{"__html":"$2"}}],"$L3"]}],"$L4"]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"wCZkC7ZaYrxG37d-e2tac"}
|
|
13
13
|
3:["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var raw=localStorage.getItem(\"loom-theme\");if(!raw)return;var t=JSON.parse(raw);if(t&&typeof t.id===\"string\")document.documentElement.dataset.theme=t.id;var s=t&&t.scheme;if(s===\"system\")s=window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";if(s===\"dark\")document.documentElement.classList.add(\"dark\");else if(s===\"light\")document.documentElement.classList.remove(\"dark\");}catch(e){}})();"}}]
|
|
14
14
|
4:["$","body",null,{"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased","children":["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{}],"notFound":[["$","div",null,{"className":"flex h-screen w-full items-center justify-center p-6 bg-background","children":["$","div",null,{"className":"max-w-md w-full space-y-4 text-center","children":[["$","h1",null,{"className":"text-6xl font-semibold text-muted-foreground/40","children":"404"}],["$","h2",null,{"className":"text-lg font-semibold text-foreground","children":"Page not found"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":"The page you're looking for doesn't exist or has been moved."}],["$","div",null,{"className":"pt-2","children":["$","$L8",null,{"href":"/","children":"Back to dashboard","data-slot":"button","data-variant":"default","data-size":"default","className":"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3","ref":null}]}]]}]}],[]]}]}]}]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
:HL["/_next/static/chunks/233p45nuh4m5b.css","style"]
|
|
2
|
-
:HL["/_next/static/chunks/
|
|
2
|
+
:HL["/_next/static/chunks/0cbg1vmtl84ae.css","style"]
|
|
3
3
|
:HL["/_next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
4
4
|
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
5
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":0,"slots":{"children":{"name":"settings","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"
|
|
5
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":0,"slots":{"children":{"name":"settings","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"wCZkC7ZaYrxG37d-e2tac"}
|
|
@@ -19,9 +19,9 @@ ${o}`,u++}else r5(e,r,a)?p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,s)||void 0:y(e
|
|
|
19
19
|
`,r),a=-1;if(-1!==t&&-1!==s?a=t<s?t:s:-1!==t?a=t===e.length-1?-1:t:-1!==s&&(a=s),-1===a)break;y(e,r,a),r=a+1,13===e.charCodeAt(r-1)&&10===e.charCodeAt(r)&&r++}return e.slice(r)}function y(e,r,s){if(r===s)return void(u>0&&t({id:c,event:p,data:d}),c=void 0,d="",u=0,p=void 0);let o=e.charCodeAt(r);if(r8(e,r,o)){let t=32===e.charCodeAt(r+5)?r+6:r+5,a=e.slice(t,s);d=0===u?a:`${d}
|
|
20
20
|
${a}`,u++;return}if(r5(e,r,o)){p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,s)||void 0;return}if(105===o&&100===e.charCodeAt(r+1)&&58===e.charCodeAt(r+2)){let t=e.slice(32===e.charCodeAt(r+3)?r+4:r+3,s);c=t.includes("\0")?void 0:t;return}if(58===o){a&&a(e.slice(r,s).slice(32===e.charCodeAt(r+1)?2:1));return}let i=e.slice(r,s),n=i.indexOf(":");if(-1===n)return void g(i,"",i);let l=i.slice(0,n),f=32===i.charCodeAt(n+1)?2:1;g(l,i.slice(n+f),i)}function g(e,t,a){switch(e){case"event":p=t||void 0;break;case"data":d=0===u?t:`${d}
|
|
21
21
|
${t}`,u++;break;case"id":c=t.includes("\0")?void 0:t;break;case"retry":/^\d+$/.test(t)?s(parseInt(t,10)):r(new r9(`Invalid \`retry\` value: "${t}"`,{type:"invalid-retry",value:t,line:a}));break;default:r(new r9(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:"unknown-field",field:e,value:t,line:a}))}}return{feed:function(e){if(f)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,239===e.charCodeAt(0)&&187===e.charCodeAt(1)&&191===e.charCodeAt(2)&&(e=e.slice(3))),0===i.length){let t=m(e);""!==t&&(i.push(t),n=t.length),h();return}if(-1===e.indexOf(`
|
|
22
|
-
`)&&-1===e.indexOf("\r")){i.push(e),n+=e.length,h();return}i.push(e);let t=i.join("");i.length=0,n=0;let r=m(t);""!==r&&(i.push(r),n=r.length),h()},reset:function(e={}){if(e.consume&&i.length>0){let e=i.join("");y(e,0,e.length)}l=!0,c=void 0,d="",u=0,p=void 0,i.length=0,n=0,f=!1}}}({onEvent:e=>{o.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&o.error(t)},onRetry:t,onComment:r,maxBufferSize:s})},transform(e){a.feed(e)}})}}let r7={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class r6 extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}e.s(["StreamableHTTPClientTransport",0,class{constructor(e,t){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=t?.requestInit,this._authProvider=t?.authProvider,this._fetch=t?.fetch,this._fetchWithInit=function(e=fetch,t){return t?async(r,s)=>e(r,{...t,...s,headers:s?.headers?{...t6(t.headers),...t6(s.headers)}:t.headers}):e}(t?.fetch,t?.requestInit),this._sessionId=t?.sessionId,this._reconnectionOptions=t?.reconnectionOptions??r7}async _authThenStart(){let e;if(!this._authProvider)throw new rq("No auth provider");try{e=await rV(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(e){throw this.onerror?.(e),e}if("AUTHORIZED"!==e)throw new rq;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let e={};if(this._authProvider){let t=await this._authProvider.tokens();t&&(e.Authorization=`Bearer ${t.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);let t=t6(this._requestInit?.headers);return new Headers({...e,...t})}async _startOrAuthSse(e){let{resumptionToken:t}=e;try{let r=await this._commonHeaders();r.set("Accept","text/event-stream"),t&&r.set("last-event-id",t);let s=await (this._fetch??fetch)(this._url,{method:"GET",headers:r,signal:this._abortController?.signal});if(!s.ok){if(await s.body?.cancel(),401===s.status&&this._authProvider)return await this._authThenStart();if(405===s.status)return;throw new r6(s.status,`Failed to open SSE stream: ${s.statusText}`)}this._handleSseStream(s.body,e,!0)}catch(e){throw this.onerror?.(e),e}}_getNextReconnectionDelay(e){return void 0!==this._serverRetryMs?this._serverRetryMs:Math.min(this._reconnectionOptions.initialReconnectionDelay*Math.pow(this._reconnectionOptions.reconnectionDelayGrowFactor,e),this._reconnectionOptions.maxReconnectionDelay)}_scheduleReconnection(e,t=0){let r=this._reconnectionOptions.maxRetries;if(t>=r)return void this.onerror?.(Error(`Maximum reconnection attempts (${r}) exceeded.`));let s=this._getNextReconnectionDelay(t);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(r=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${r instanceof Error?r.message:String(r)}`)),this._scheduleReconnection(e,t+1)})},s)}_handleSseStream(e,t,r){let s;if(!e)return;let{onresumptiontoken:a,replayMessageId:o}=t,i=!1,n=!1;(async()=>{try{let t=e.pipeThrough(new TextDecoderStream).pipeThrough(new r3({onRetry:e=>{this._serverRetryMs=e}})).getReader();for(;;){let{value:e,done:r}=await t.read();if(r)break;if((e.id&&(s=e.id,i=!0,a?.(e.id)),e.data)&&(!e.event||"message"===e.event))try{let t=D.parse(JSON.parse(e.data));A(t)&&(n=!0,void 0!==o&&(t.id=o)),this.onmessage?.(t)}catch(e){this.onerror?.(e)}}(r||i)&&!n&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:s,onresumptiontoken:a,replayMessageId:o},0)}catch(e){if(this.onerror?.(Error(`SSE stream disconnected: ${e}`)),(r||i)&&!n&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:s,onresumptiontoken:a,replayMessageId:o},0)}catch(e){this.onerror?.(Error(`Failed to reconnect: ${e instanceof Error?e.message:String(e)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new rq("No auth provider");if("AUTHORIZED"!==await rV(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new rq("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(e,t){try{let{resumptionToken:r,onresumptiontoken:s}=t||{};if(r)return void this._startOrAuthSse({resumptionToken:r,replayMessageId:I(e)?e.id:void 0}).catch(e=>this.onerror?.(e));let a=await this._commonHeaders();a.set("content-type","application/json"),a.set("accept","application/json, text/event-stream");let o={...this._requestInit,method:"POST",headers:a,body:JSON.stringify(e),signal:this._abortController?.signal},i=await (this._fetch??fetch)(this._url,o),n=i.headers.get("mcp-session-id");if(n&&(this._sessionId=n),!i.ok){let t=await i.text().catch(()=>null);if(401===i.status&&this._authProvider){if(this._hasCompletedAuthFlow)throw new r6(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:t,scope:r}=rH(i);this._resourceMetadataUrl=t,this._scope=r;let s=await rV(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit});if("AUTHORIZED"!==s)throw new rq;return this._hasCompletedAuthFlow=!0,this.send(e)}if(403===i.status&&this._authProvider){let{resourceMetadataUrl:t,scope:r,error:s}=rH(i);if("insufficient_scope"===s){let s=i.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===s)throw new r6(403,"Server returned 403 after trying upscoping");r&&(this._scope=r),t&&(this._resourceMetadataUrl=t),this._lastUpscopingHeader=s??void 0;let a=await rV(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch});if("AUTHORIZED"!==a)throw new rq;return this.send(e)}}throw new r6(i.status,`Error POSTing to endpoint: ${t}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,202===i.status){await i.body?.cancel(),et.safeParse(e).success&&this._startOrAuthSse({resumptionToken:void 0}).catch(e=>this.onerror?.(e));return}let l=(Array.isArray(e)?e:[e]).filter(e=>"method"in e&&"id"in e&&void 0!==e.id).length>0,c=i.headers.get("content-type");if(l)if(c?.includes("text/event-stream"))this._handleSseStream(i.body,{onresumptiontoken:s},!1);else if(c?.includes("application/json")){let e=await i.json();for(let t of Array.isArray(e)?e.map(e=>D.parse(e)):[D.parse(e)])this.onmessage?.(t)}else throw await i.body?.cancel(),new r6(-1,`Unexpected content type: ${c}`);else await i.body?.cancel()}catch(e){throw this.onerror?.(e),e}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let e=await this._commonHeaders(),t={...this._requestInit,method:"DELETE",headers:e,signal:this._abortController?.signal},r=await (this._fetch??fetch)(this._url,t);if(await r.body?.cancel(),!r.ok&&405!==r.status)throw new r6(r.status,`Failed to terminate session: ${r.statusText}`);this._sessionId=void 0}catch(e){throw this.onerror?.(e),e}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,t){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:t?.onresumptiontoken})}}],236150)},380689,e=>{"use strict";e.s(["listPromptsForServer",()=>o,"listResourcesForServer",()=>a,"listToolsForServer",()=>s]);var t=e.i(834940),r=e.i(200519);async function s(e){let s=await (0,t.getClient)(e),a=await (0,t.withTimeout)(s.client.listTools(),t.CALL_TIMEOUT_MS,"tools/list");s.lastUsed=Date.now();let o=[];for(let t of a.tools??[]){let s=t.inputSchema??{type:"object",properties:{}};o.push({qualifiedName:(0,r.qualify)(e.name,t.name),localName:t.name,description:t.description??void 0,parameters:s,serverId:e.id,serverName:e.name})}return o}async function a(e){let r=await (0,t.getClient)(e),s=r.client.getServerCapabilities();if(!s?.resources)return null;r.lastUsed=Date.now();let a=[],o=[];try{for(let e of(await (0,t.withTimeout)(r.client.listResources(),t.CALL_TIMEOUT_MS,"resources/list")).resources??[])a.push({uri:e.uri,name:e.name,description:e.description,mimeType:e.mimeType})}catch{}try{for(let e of(await (0,t.withTimeout)(r.client.listResourceTemplates(),t.CALL_TIMEOUT_MS,"resources/templates/list")).resourceTemplates??[])o.push({uriTemplate:e.uriTemplate,name:e.name,description:e.description,mimeType:e.mimeType})}catch{}return{resources:a,templates:o}}async function o(e){let r=await (0,t.getClient)(e),s=r.client.getServerCapabilities();return s?.prompts?(r.lastUsed=Date.now(),((await (0,t.withTimeout)(r.client.listPrompts(),t.CALL_TIMEOUT_MS,"prompts/list")).prompts??[]).map(e=>({name:e.name,description:e.description,arguments:e.arguments?.map(e=>({name:e.name,description:e.description,required:e.required}))}))):null}},834940,200519,e=>{"use strict";e.s(["CALL_TIMEOUT_MS",()=>d,"disposeMcpClient",()=>g,"getClient",()=>y,"readServerInfo",()=>_,"withTimeout",()=>m],834940);var t=e.i(923094),r=e.i(943934),s=e.i(236150);e.s(["aggregateTools",()=>l,"executeTool",()=>c,"qualify",()=>n],200519);var a=e.i(484032),o=e.i(380689);function i(e){return e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,32)}function n(e,t){return`${i(e)}__${t}`}async function l(e){if(0===e.length)return{tools:[],errors:[]};let t=new Set(e),r=(0,a.listMcpServers)().filter(e=>t.has(e.id)&&e.enabled),s=[],i=[];return await Promise.all(r.map(async e=>{let t=function(e){if("ok"!==e.last_check_status||function(e){if(!e)return 1/0;let t=Date.parse(e.endsWith("Z")||/[+-]\d\d:?\d\d$/.test(e)?e:e+"Z");return Number.isNaN(t)?1/0:Date.now()-t}(e.last_check_at)>3e5)return null;let t=e.tools_cache;return t?t.map(t=>({qualifiedName:n(e.name,t.name),localName:t.name,description:t.description,parameters:t.parameters,serverId:e.id,serverName:e.name})):null}(e);if(t)return void s.push(...t);try{let t=await (0,o.listToolsForServer)(e);s.push(...t)}catch(t){i.push({serverId:e.id,serverName:e.name,message:t instanceof Error?t.message:String(t)})}})),{tools:s,errors:i}}async function c(e,t){let r,s,o=(s=e.indexOf("__"))<=0?null:{serverPrefix:e.slice(0,s),toolName:e.slice(s+2)};if(!o)throw Error(`Bad qualified tool name "${e}"`);let n=(0,a.listMcpServers)().find(e=>i(e.name)===o.serverPrefix);if(!n)throw Error(`No MCP server matches prefix "${o.serverPrefix}"`);try{r=t?JSON.parse(t):{}}catch{return{content:`Invalid JSON arguments from model: ${t.slice(0,200)}`,isError:!0,serverName:n.name}}try{let t=await y(n),s=await m(t.client.callTool({name:o.toolName,arguments:r}),d,`tools/call ${e}`);return t.lastUsed=Date.now(),{content:function(e){if(!Array.isArray(e))return"string"==typeof e?e:JSON.stringify(e??"");let t=[];for(let r of e)r?.type==="text"&&"string"==typeof r.text?t.push(r.text):t.push(`[${r?.type??"unknown"}] ${JSON.stringify(r).slice(0,200)}`);return t.join("\n")||""}(s.content),isError:!!s.isError,serverName:n.name}}catch(e){return{content:e instanceof Error?e.message:String(e),isError:!0,serverName:n.name}}}let d=6e4,u=new Map,p=new Map;async function f(){let e=Array.from(u.values());u.clear(),p.clear(),await Promise.all(e.map(e=>Promise.race([e.close().catch(()=>void 0),new Promise(e=>setTimeout(e,1500))])))}if(Symbol.for("loom.mcp.runtime.shutdownRegistered"),"u">typeof process&&!globalThis.__loom_mcp_shutdown_registered__){globalThis.__loom_mcp_shutdown_registered__=!0;let e=()=>{f()};process.once("SIGINT",e),process.once("SIGTERM",e),process.once("beforeExit",e)}async function h(e){let a,o=new t.Client({name:"loom-gateway",version:"0.1.0"},{capabilities:{}}),i=Symbol(`mcp:${e.id}:${e.updated_at}`),n=t=>{t.onclose=()=>{let t=u.get(e.id);t&&t.tag===i&&u.delete(e.id)}};if("stdio"===e.transport){let t=e.config,s=new r.StdioClientTransport({command:t.command,args:t.args??[],env:t.env,cwd:t.cwd,stderr:"pipe"}),i="",l=s.stderr;l&&l.on("data",e=>{if(i.length>=4096)return;let t="string"==typeof e?e:e.toString("utf8"),r=4096-i.length;i+=t.slice(0,r),t.length>r&&(i+="\n…[truncated]")});try{await m(o.connect(s),15e3,"mcp connect")}catch(e){await new Promise(e=>setTimeout(e,100));try{await s.close()}catch{}throw function(e,t){let r=e instanceof Error?e.message:String(e),s=t.trim();if(!s)return e instanceof Error?e:Error(r);let a=Error(`${r}
|
|
22
|
+
`)&&-1===e.indexOf("\r")){i.push(e),n+=e.length,h();return}i.push(e);let t=i.join("");i.length=0,n=0;let r=m(t);""!==r&&(i.push(r),n=r.length),h()},reset:function(e={}){if(e.consume&&i.length>0){let e=i.join("");y(e,0,e.length)}l=!0,c=void 0,d="",u=0,p=void 0,i.length=0,n=0,f=!1}}}({onEvent:e=>{o.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&o.error(t)},onRetry:t,onComment:r,maxBufferSize:s})},transform(e){a.feed(e)}})}}let r7={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class r6 extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}e.s(["StreamableHTTPClientTransport",0,class{constructor(e,t){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=t?.requestInit,this._authProvider=t?.authProvider,this._fetch=t?.fetch,this._fetchWithInit=function(e=fetch,t){return t?async(r,s)=>e(r,{...t,...s,headers:s?.headers?{...t6(t.headers),...t6(s.headers)}:t.headers}):e}(t?.fetch,t?.requestInit),this._sessionId=t?.sessionId,this._reconnectionOptions=t?.reconnectionOptions??r7}async _authThenStart(){let e;if(!this._authProvider)throw new rq("No auth provider");try{e=await rV(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(e){throw this.onerror?.(e),e}if("AUTHORIZED"!==e)throw new rq;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let e={};if(this._authProvider){let t=await this._authProvider.tokens();t&&(e.Authorization=`Bearer ${t.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);let t=t6(this._requestInit?.headers);return new Headers({...e,...t})}async _startOrAuthSse(e){let{resumptionToken:t}=e;try{let r=await this._commonHeaders();r.set("Accept","text/event-stream"),t&&r.set("last-event-id",t);let s=await (this._fetch??fetch)(this._url,{method:"GET",headers:r,signal:this._abortController?.signal});if(!s.ok){if(await s.body?.cancel(),401===s.status&&this._authProvider)return await this._authThenStart();if(405===s.status)return;throw new r6(s.status,`Failed to open SSE stream: ${s.statusText}`)}this._handleSseStream(s.body,e,!0)}catch(e){throw this.onerror?.(e),e}}_getNextReconnectionDelay(e){return void 0!==this._serverRetryMs?this._serverRetryMs:Math.min(this._reconnectionOptions.initialReconnectionDelay*Math.pow(this._reconnectionOptions.reconnectionDelayGrowFactor,e),this._reconnectionOptions.maxReconnectionDelay)}_scheduleReconnection(e,t=0){let r=this._reconnectionOptions.maxRetries;if(t>=r)return void this.onerror?.(Error(`Maximum reconnection attempts (${r}) exceeded.`));let s=this._getNextReconnectionDelay(t);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(r=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${r instanceof Error?r.message:String(r)}`)),this._scheduleReconnection(e,t+1)})},s)}_handleSseStream(e,t,r){let s;if(!e)return;let{onresumptiontoken:a,replayMessageId:o}=t,i=!1,n=!1;(async()=>{try{let t=e.pipeThrough(new TextDecoderStream).pipeThrough(new r3({onRetry:e=>{this._serverRetryMs=e}})).getReader();for(;;){let{value:e,done:r}=await t.read();if(r)break;if((e.id&&(s=e.id,i=!0,a?.(e.id)),e.data)&&(!e.event||"message"===e.event))try{let t=D.parse(JSON.parse(e.data));A(t)&&(n=!0,void 0!==o&&(t.id=o)),this.onmessage?.(t)}catch(e){this.onerror?.(e)}}(r||i)&&!n&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:s,onresumptiontoken:a,replayMessageId:o},0)}catch(e){if(this.onerror?.(Error(`SSE stream disconnected: ${e}`)),(r||i)&&!n&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:s,onresumptiontoken:a,replayMessageId:o},0)}catch(e){this.onerror?.(Error(`Failed to reconnect: ${e instanceof Error?e.message:String(e)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new rq("No auth provider");if("AUTHORIZED"!==await rV(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new rq("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(e,t){try{let{resumptionToken:r,onresumptiontoken:s}=t||{};if(r)return void this._startOrAuthSse({resumptionToken:r,replayMessageId:I(e)?e.id:void 0}).catch(e=>this.onerror?.(e));let a=await this._commonHeaders();a.set("content-type","application/json"),a.set("accept","application/json, text/event-stream");let o={...this._requestInit,method:"POST",headers:a,body:JSON.stringify(e),signal:this._abortController?.signal},i=await (this._fetch??fetch)(this._url,o),n=i.headers.get("mcp-session-id");if(n&&(this._sessionId=n),!i.ok){let t=await i.text().catch(()=>null);if(401===i.status&&this._authProvider){if(this._hasCompletedAuthFlow)throw new r6(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:t,scope:r}=rH(i);this._resourceMetadataUrl=t,this._scope=r;let s=await rV(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit});if("AUTHORIZED"!==s)throw new rq;return this._hasCompletedAuthFlow=!0,this.send(e)}if(403===i.status&&this._authProvider){let{resourceMetadataUrl:t,scope:r,error:s}=rH(i);if("insufficient_scope"===s){let s=i.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===s)throw new r6(403,"Server returned 403 after trying upscoping");r&&(this._scope=r),t&&(this._resourceMetadataUrl=t),this._lastUpscopingHeader=s??void 0;let a=await rV(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch});if("AUTHORIZED"!==a)throw new rq;return this.send(e)}}throw new r6(i.status,`Error POSTing to endpoint: ${t}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,202===i.status){await i.body?.cancel(),et.safeParse(e).success&&this._startOrAuthSse({resumptionToken:void 0}).catch(e=>this.onerror?.(e));return}let l=(Array.isArray(e)?e:[e]).filter(e=>"method"in e&&"id"in e&&void 0!==e.id).length>0,c=i.headers.get("content-type");if(l)if(c?.includes("text/event-stream"))this._handleSseStream(i.body,{onresumptiontoken:s},!1);else if(c?.includes("application/json")){let e=await i.json();for(let t of Array.isArray(e)?e.map(e=>D.parse(e)):[D.parse(e)])this.onmessage?.(t)}else throw await i.body?.cancel(),new r6(-1,`Unexpected content type: ${c}`);else await i.body?.cancel()}catch(e){throw this.onerror?.(e),e}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let e=await this._commonHeaders(),t={...this._requestInit,method:"DELETE",headers:e,signal:this._abortController?.signal},r=await (this._fetch??fetch)(this._url,t);if(await r.body?.cancel(),!r.ok&&405!==r.status)throw new r6(r.status,`Failed to terminate session: ${r.statusText}`);this._sessionId=void 0}catch(e){throw this.onerror?.(e),e}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,t){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:t?.onresumptiontoken})}}],236150)},380689,e=>{"use strict";e.s(["listPromptsForServer",()=>o,"listResourcesForServer",()=>a,"listToolsForServer",()=>s]);var t=e.i(834940),r=e.i(200519);async function s(e){let s=await (0,t.getClient)(e),a=await (0,t.withTimeout)(s.client.listTools(),t.CALL_TIMEOUT_MS,"tools/list");s.lastUsed=Date.now();let o=[];for(let t of a.tools??[]){let s=t.inputSchema??{type:"object",properties:{}};o.push({qualifiedName:(0,r.qualify)(e.name,t.name),localName:t.name,description:t.description??void 0,parameters:s,serverId:e.id,serverName:e.name})}return o}async function a(e){let r=await (0,t.getClient)(e),s=r.client.getServerCapabilities();if(!s?.resources)return null;r.lastUsed=Date.now();let a=[],o=[];try{for(let e of(await (0,t.withTimeout)(r.client.listResources(),t.CALL_TIMEOUT_MS,"resources/list")).resources??[])a.push({uri:e.uri,name:e.name,description:e.description,mimeType:e.mimeType})}catch{}try{for(let e of(await (0,t.withTimeout)(r.client.listResourceTemplates(),t.CALL_TIMEOUT_MS,"resources/templates/list")).resourceTemplates??[])o.push({uriTemplate:e.uriTemplate,name:e.name,description:e.description,mimeType:e.mimeType})}catch{}return{resources:a,templates:o}}async function o(e){let r=await (0,t.getClient)(e),s=r.client.getServerCapabilities();return s?.prompts?(r.lastUsed=Date.now(),((await (0,t.withTimeout)(r.client.listPrompts(),t.CALL_TIMEOUT_MS,"prompts/list")).prompts??[]).map(e=>({name:e.name,description:e.description,arguments:e.arguments?.map(e=>({name:e.name,description:e.description,required:e.required}))}))):null}},834940,200519,e=>{"use strict";e.s(["CALL_TIMEOUT_MS",()=>d,"disposeMcpClient",()=>g,"getClient",()=>y,"readServerInfo",()=>_,"withTimeout",()=>m],834940);var t=e.i(923094),r=e.i(943934),s=e.i(236150);e.s(["aggregateTools",()=>l,"executeTool",()=>c,"qualify",()=>n],200519);var a=e.i(484032),o=e.i(380689);function i(e){return e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,32)}function n(e,t){return`${i(e)}__${t}`}async function l(e){if(0===e.length)return{tools:[],errors:[]};let t=new Set(e),r=(0,a.listMcpServers)().filter(e=>t.has(e.id)&&e.enabled),s=[],i=[];return await Promise.all(r.map(async e=>{let t=function(e){if("ok"!==e.last_check_status||function(e){if(!e)return 1/0;let t=Date.parse(e.endsWith("Z")||/[+-]\d\d:?\d\d$/.test(e)?e:e+"Z");return Number.isNaN(t)?1/0:Date.now()-t}(e.last_check_at)>3e5)return null;let t=e.tools_cache;return t?t.map(t=>({qualifiedName:n(e.name,t.name),localName:t.name,description:t.description,parameters:t.parameters,serverId:e.id,serverName:e.name})):null}(e);if(t)return void s.push(...t);try{let t=await (0,o.listToolsForServer)(e);s.push(...t)}catch(t){i.push({serverId:e.id,serverName:e.name,message:t instanceof Error?t.message:String(t)})}})),{tools:s,errors:i}}async function c(e,t){let r,s,o=(s=e.indexOf("__"))<=0?null:{serverPrefix:e.slice(0,s),toolName:e.slice(s+2)};if(!o)throw Error(`Bad qualified tool name "${e}"`);let n=(0,a.listMcpServers)().find(e=>i(e.name)===o.serverPrefix);if(!n)throw Error(`No MCP server matches prefix "${o.serverPrefix}"`);try{r=t?JSON.parse(t):{}}catch{return{content:`Invalid JSON arguments from model: ${t.slice(0,200)}`,isError:!0,serverName:n.name}}try{let t=await y(n),s=await m(t.client.callTool({name:o.toolName,arguments:r}),d,`tools/call ${e}`);return t.lastUsed=Date.now(),{content:function(e){if(!Array.isArray(e))return"string"==typeof e?e:JSON.stringify(e??"");let t=[];for(let r of e)r?.type==="text"&&"string"==typeof r.text?t.push(r.text):t.push(`[${r?.type??"unknown"}] ${JSON.stringify(r).slice(0,200)}`);return t.join("\n")||""}(s.content),isError:!!s.isError,serverName:n.name}}catch(e){return{content:e instanceof Error?e.message:String(e),isError:!0,serverName:n.name}}}let d=6e4,u=new Map,p=new Map;async function f(){let e=Array.from(u.values());u.clear(),p.clear(),await Promise.all(e.map(e=>Promise.race([e.close().catch(()=>void 0),new Promise(e=>setTimeout(e,1500))])))}if(Symbol.for("loom.mcp.runtime.shutdownRegistered"),"u">typeof process&&!globalThis.__loom_mcp_shutdown_registered__){globalThis.__loom_mcp_shutdown_registered__=!0;let e=()=>{f()};process.once("SIGINT",e),process.once("SIGTERM",e),process.once("beforeExit",e)}async function h(e,a={}){let o,i=new t.Client({name:"loom-gateway",version:"0.1.0"},{capabilities:{}}),n=Symbol(`mcp:${e.id}:${e.updated_at}`),l=t=>{t.onclose=()=>{let t=u.get(e.id);t&&t.tag===n&&u.delete(e.id)}};if("stdio"===e.transport){let t=e.config;a.onPhase?.("spawning");let s=new r.StdioClientTransport({command:t.command,args:t.args??[],env:t.env,cwd:t.cwd,stderr:"pipe"}),n="",c=s.stderr;if(c){let e="",t=e=>{if(e){if(n.length<4096){let t=4096-n.length;n+=e.slice(0,t)+"\n",e.length>t&&(n+="…[truncated]\n")}a.onLog?.(e)}};c.on("data",r=>{let s=(e+="string"==typeof r?r:r.toString("utf8")).indexOf("\n");for(;-1!==s;)t(e.slice(0,s).replace(/\r$/,"")),s=(e=e.slice(s+1)).indexOf("\n")}),c.on("end",()=>{e&&(t(e.replace(/\r$/,"")),e="")})}a.onPhase?.("starting");try{a.onPhase?.("connecting"),await m(i.connect(s),3e5,"mcp connect"),a.onPhase?.("ready")}catch(e){await new Promise(e=>setTimeout(e,100));try{await s.close()}catch{}throw function(e,t){let r=e instanceof Error?e.message:String(e),s=t.trim();if(!s)return e instanceof Error?e:Error(r);let a=Error(`${r}
|
|
23
23
|
|
|
24
24
|
--- child stderr ---
|
|
25
|
-
${s}`);return e instanceof Error&&e.stack&&(a.stack=e.stack),a}(e,
|
|
25
|
+
${s}`);return e instanceof Error&&e.stack&&(a.stack=e.stack),a}(e,n)}l(s),o=async()=>{try{await s.close()}catch{}}}else{let t=e.config;a.onPhase?.("connecting");let r=new s.StreamableHTTPClientTransport(new URL(t.url),{requestInit:t.headers?{headers:t.headers}:void 0});await m(i.connect(r),15e3,"mcp connect"),a.onPhase?.("ready"),l(r),o=async()=>{try{await r.close()}catch{}}}return{client:i,lastUsed:Date.now(),builtFor:e.updated_at,tag:n,close:o}}async function m(e,t,r){let s=null;try{return await Promise.race([e,new Promise((e,a)=>{s=setTimeout(()=>a(Error(`${r} timed out after ${t}ms`)),t)})])}finally{s&&clearTimeout(s)}}async function y(e,t){let r=Date.now();for(let[e,t]of u)r-t.lastUsed>3e5&&(u.delete(e),t.close().catch(()=>{}));let s=u.get(e.id);if(s&&s.builtFor===e.updated_at)return s.lastUsed=Date.now(),s;s&&(u.delete(e.id),s.close().catch(()=>{}));let a=p.get(e.id);if(a)return a;let o=h(e,t).then(t=>((function(){if(!(u.size<50))for(let[e,t]of Array.from(u.entries()).sort(([,e],[,t])=>e.lastUsed-t.lastUsed).slice(0,u.size-50+1))u.delete(e),t.close().catch(()=>{})})(),u.set(e.id,t),p.delete(e.id),t)).catch(t=>{throw p.delete(e.id),t});return p.set(e.id,o),o}async function g(e){let t=u.get(e);t&&(u.delete(e),await t.close())}function _(e){let t=u.get(e);if(!t)return null;let r=t.client.getServerVersion(),s=t.client.getInstructions(),a=t.client.getServerCapabilities();return r||s||a?{name:r?.name,version:r?.version,instructions:s,capabilities:a}:null}},777987,e=>{"use strict";e.s(["checkMcpServer",()=>c,"runMcpCheck",()=>l]);var t=e.i(875225),r=e.i(846344),s=e.i(401632),a=e.i(834940),o=e.i(380689),i=e.i(986241);function n(e,t){return e.length>t?e.slice(0,t):e}async function l(e,l){let c=r.db.select().from(s.mcpServers).where((0,t.eq)(s.mcpServers.id,e)).get();if(!c)return null;let d=(0,i.serializeMcpServer)(c);await (0,a.disposeMcpClient)(e);let u=new Date().toISOString();try{await (0,a.getClient)(d,{onPhase:e=>l({type:"phase",phase:e}),onLog:e=>l({type:"log",line:e})}),l({type:"phase",phase:"listing"});let i=await (0,o.listToolsForServer)(d),c=n(i.map(e=>({name:e.localName,description:e.description,parameters:e.parameters})),500),p=null,f=null;try{let e=await (0,o.listResourcesForServer)(d);e&&(p={resources:n(e.resources,1e3),templates:n(e.templates,200)})}catch{}try{let e=await (0,o.listPromptsForServer)(d);e&&(f=n(e,500))}catch{}let h=(0,a.readServerInfo)(e);r.db.update(s.mcpServers).set({lastCheckStatus:"ok",lastCheckAt:u,lastCheckError:null,toolsCache:c,resourcesCache:p,promptsCache:f,serverInfo:h,updatedAt:u}).where((0,t.eq)(s.mcpServers.id,e)).run()}catch(c){let a=c instanceof Error?c.message:String(c);r.db.update(s.mcpServers).set({lastCheckStatus:"error",lastCheckAt:u,lastCheckError:a.slice(0,4e3),updatedAt:u}).where((0,t.eq)(s.mcpServers.id,e)).run();let o=r.db.select().from(s.mcpServers).where((0,t.eq)(s.mcpServers.id,e)).get(),n=o?(0,i.serializeMcpServer)(o):null;return l({type:"error",message:a,server:n??void 0}),n}let p=r.db.select().from(s.mcpServers).where((0,t.eq)(s.mcpServers.id,e)).get(),f=p?(0,i.serializeMcpServer)(p):null;return f&&l({type:"result",server:f}),f}async function c(e){return l(e,()=>{})}},484032,e=>{"use strict";e.s(["createMcpServer",()=>h,"deleteMcpServer",()=>y,"getMcpServer",()=>f,"listMcpServers",()=>p,"updateMcpServer",()=>m]);var t=e.i(666680),r=e.i(875225),s=e.i(846344),a=e.i(401632),o=e.i(803028),i=e.i(986241),n=e.i(777987),l=e.i(719192),c=e.i(834940);function d(e){return s.db.select().from(a.mcpServers).where((0,r.eq)(a.mcpServers.id,e)).get()||s.db.select().from(a.mcpServers).where((0,r.eq)(a.mcpServers.name,e)).get()}function u(e){(0,n.checkMcpServer)(e).catch(()=>{})}function p(){return s.db.select().from(a.mcpServers).orderBy(a.mcpServers.name).all().map(i.serializeMcpServer)}function f(e){let t=d(e);if(!t)throw(0,o.notFound)("MCP server not found");return(0,i.serializeMcpServer)(t)}function h(e){let i=e.name.trim();if(s.db.select().from(a.mcpServers).where((0,r.eq)(a.mcpServers.name,i)).get())throw(0,o.badRequest)("Server name already exists");let n=(0,t.randomUUID)();return s.db.insert(a.mcpServers).values({id:n,name:i,description:e.description??"",transport:e.transport,config:(0,l.encryptConfig)(e.transport,e.config),enabled:e.enabled??!0}).run(),u(n),f(n)}function m(e,t){let i=d(e);if(!i)throw(0,o.notFound)("MCP server not found");let n={},c=!1;if(void 0!==t.name){let e=t.name.trim();if(!e)throw(0,o.badRequest)("Server name cannot be empty");if(e!==i.name){if(s.db.select().from(a.mcpServers).where((0,r.eq)(a.mcpServers.name,e)).get())throw(0,o.badRequest)("Server name already exists");n.name=e}}void 0!==t.description&&(n.description=t.description);let p=t.transport??i.transport;return void 0!==t.transport&&t.transport!==i.transport&&(n.transport=t.transport,c=!0),void 0!==t.config&&(n.config=(0,l.encryptConfig)(p,t.config),c=!0),void 0!==t.enabled&&(n.enabled=!!t.enabled),n.updatedAt=new Date().toISOString(),s.db.update(a.mcpServers).set(n).where((0,r.eq)(a.mcpServers.id,i.id)).run(),c&&u(i.id),f(i.id)}function y(e){let t=d(e);if(!t)throw(0,o.notFound)("MCP server not found");s.db.delete(a.mcpServers).where((0,r.eq)(a.mcpServers.id,t.id)).run(),(0,c.disposeMcpClient)(t.id).catch(()=>{})}}];
|
|
26
26
|
|
|
27
27
|
//# sourceMappingURL=%5Broot-of-the-server%5D__02sypva._.js.map
|