ugly-app 0.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/.claude/settings.local.json +18 -0
- package/.env.example +9 -0
- package/.yarn-metadata.json +113 -0
- package/README.md +709 -0
- package/dist/cli/authCommands.d.ts +6 -0
- package/dist/cli/authCommands.d.ts.map +1 -0
- package/dist/cli/authCommands.js +50 -0
- package/dist/cli/authCommands.js.map +1 -0
- package/dist/cli/build.d.ts +2 -0
- package/dist/cli/build.d.ts.map +1 -0
- package/dist/cli/build.js +26 -0
- package/dist/cli/build.js.map +1 -0
- package/dist/cli/configure.d.ts +2 -0
- package/dist/cli/configure.d.ts.map +1 -0
- package/dist/cli/configure.js +53 -0
- package/dist/cli/configure.js.map +1 -0
- package/dist/cli/dev.d.ts +2 -0
- package/dist/cli/dev.d.ts.map +1 -0
- package/dist/cli/dev.js +66 -0
- package/dist/cli/dev.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +340 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/initDb.d.ts +2 -0
- package/dist/cli/initDb.d.ts.map +1 -0
- package/dist/cli/initDb.js +110 -0
- package/dist/cli/initDb.js.map +1 -0
- package/dist/cli/logQuery.d.ts +12 -0
- package/dist/cli/logQuery.d.ts.map +1 -0
- package/dist/cli/logQuery.js +176 -0
- package/dist/cli/logQuery.js.map +1 -0
- package/dist/cli/migrate.d.ts +4 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +62 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/cli/publishAssets.d.ts +6 -0
- package/dist/cli/publishAssets.d.ts.map +1 -0
- package/dist/cli/publishAssets.js +87 -0
- package/dist/cli/publishAssets.js.map +1 -0
- package/dist/cli/purgeAssets.d.ts +2 -0
- package/dist/cli/purgeAssets.d.ts.map +1 -0
- package/dist/cli/purgeAssets.js +36 -0
- package/dist/cli/purgeAssets.js.map +1 -0
- package/dist/cli/scaffold.d.ts +2 -0
- package/dist/cli/scaffold.d.ts.map +1 -0
- package/dist/cli/scaffold.js +37 -0
- package/dist/cli/scaffold.js.map +1 -0
- package/dist/cli/serverLogQuery.d.ts +6 -0
- package/dist/cli/serverLogQuery.d.ts.map +1 -0
- package/dist/cli/serverLogQuery.js +76 -0
- package/dist/cli/serverLogQuery.js.map +1 -0
- package/dist/cli/storageClient.d.ts +3 -0
- package/dist/cli/storageClient.d.ts.map +1 -0
- package/dist/cli/storageClient.js +22 -0
- package/dist/cli/storageClient.js.map +1 -0
- package/dist/cli/uglyappConfig.d.ts +29 -0
- package/dist/cli/uglyappConfig.d.ts.map +1 -0
- package/dist/cli/uglyappConfig.js +125 -0
- package/dist/cli/uglyappConfig.js.map +1 -0
- package/dist/client/AppProvider.d.ts +32 -0
- package/dist/client/AppProvider.d.ts.map +1 -0
- package/dist/client/AppProvider.js +126 -0
- package/dist/client/AppProvider.js.map +1 -0
- package/dist/client/ErrorLog.d.ts +16 -0
- package/dist/client/ErrorLog.d.ts.map +1 -0
- package/dist/client/ErrorLog.js +28 -0
- package/dist/client/ErrorLog.js.map +1 -0
- package/dist/client/FeedbackContext.d.ts +7 -0
- package/dist/client/FeedbackContext.d.ts.map +1 -0
- package/dist/client/FeedbackContext.js +15 -0
- package/dist/client/FeedbackContext.js.map +1 -0
- package/dist/client/Logger.d.ts +2 -0
- package/dist/client/Logger.d.ts.map +1 -0
- package/dist/client/Logger.js +72 -0
- package/dist/client/Logger.js.map +1 -0
- package/dist/client/LoginPopup.d.ts +7 -0
- package/dist/client/LoginPopup.d.ts.map +1 -0
- package/dist/client/LoginPopup.js +55 -0
- package/dist/client/LoginPopup.js.map +1 -0
- package/dist/client/Router.d.ts +56 -0
- package/dist/client/Router.d.ts.map +1 -0
- package/dist/client/Router.js +224 -0
- package/dist/client/Router.js.map +1 -0
- package/dist/client/Screenshot.d.ts +7 -0
- package/dist/client/Screenshot.d.ts.map +1 -0
- package/dist/client/Screenshot.js +54 -0
- package/dist/client/Screenshot.js.map +1 -0
- package/dist/client/ViewFlipper.d.ts +16 -0
- package/dist/client/ViewFlipper.d.ts.map +1 -0
- package/dist/client/ViewFlipper.js +156 -0
- package/dist/client/ViewFlipper.js.map +1 -0
- package/dist/client/animation/Animated.d.ts +14 -0
- package/dist/client/animation/Animated.d.ts.map +1 -0
- package/dist/client/animation/Animated.js +97 -0
- package/dist/client/animation/Animated.js.map +1 -0
- package/dist/client/animation/animatedValue.d.ts +41 -0
- package/dist/client/animation/animatedValue.d.ts.map +1 -0
- package/dist/client/animation/animatedValue.js +123 -0
- package/dist/client/animation/animatedValue.js.map +1 -0
- package/dist/client/animations/FadeIn.d.ts +6 -0
- package/dist/client/animations/FadeIn.d.ts.map +1 -0
- package/dist/client/animations/FadeIn.js +24 -0
- package/dist/client/animations/FadeIn.js.map +1 -0
- package/dist/client/animations/SlideFromBottom.d.ts +6 -0
- package/dist/client/animations/SlideFromBottom.d.ts.map +1 -0
- package/dist/client/animations/SlideFromBottom.js +24 -0
- package/dist/client/animations/SlideFromBottom.js.map +1 -0
- package/dist/client/animations/SlideFromRight.d.ts +6 -0
- package/dist/client/animations/SlideFromRight.d.ts.map +1 -0
- package/dist/client/animations/SlideFromRight.js +24 -0
- package/dist/client/animations/SlideFromRight.js.map +1 -0
- package/dist/client/audio/AudioPlayer.d.ts +11 -0
- package/dist/client/audio/AudioPlayer.d.ts.map +1 -0
- package/dist/client/audio/AudioPlayer.js +51 -0
- package/dist/client/audio/AudioPlayer.js.map +1 -0
- package/dist/client/audio/AudioRecorder.d.ts +11 -0
- package/dist/client/audio/AudioRecorder.d.ts.map +1 -0
- package/dist/client/audio/AudioRecorder.js +66 -0
- package/dist/client/audio/AudioRecorder.js.map +1 -0
- package/dist/client/audio/audioPlayer.worklet.d.ts +2 -0
- package/dist/client/audio/audioPlayer.worklet.d.ts.map +1 -0
- package/dist/client/audio/audioPlayer.worklet.js +46 -0
- package/dist/client/audio/audioPlayer.worklet.js.map +1 -0
- package/dist/client/audio/useSTT.d.ts +19 -0
- package/dist/client/audio/useSTT.d.ts.map +1 -0
- package/dist/client/audio/useSTT.js +91 -0
- package/dist/client/audio/useSTT.js.map +1 -0
- package/dist/client/audio/useTTS.d.ts +17 -0
- package/dist/client/audio/useTTS.d.ts.map +1 -0
- package/dist/client/audio/useTTS.js +70 -0
- package/dist/client/audio/useTTS.js.map +1 -0
- package/dist/client/components/Button.d.ts +22 -0
- package/dist/client/components/Button.d.ts.map +1 -0
- package/dist/client/components/Button.js +27 -0
- package/dist/client/components/Button.js.map +1 -0
- package/dist/client/components/Card.d.ts +8 -0
- package/dist/client/components/Card.d.ts.map +1 -0
- package/dist/client/components/Card.js +6 -0
- package/dist/client/components/Card.js.map +1 -0
- package/dist/client/components/EnumInput.d.ts +16 -0
- package/dist/client/components/EnumInput.d.ts.map +1 -0
- package/dist/client/components/EnumInput.js +11 -0
- package/dist/client/components/EnumInput.js.map +1 -0
- package/dist/client/components/FeedbackButton.d.ts +9 -0
- package/dist/client/components/FeedbackButton.d.ts.map +1 -0
- package/dist/client/components/FeedbackButton.js +112 -0
- package/dist/client/components/FeedbackButton.js.map +1 -0
- package/dist/client/components/Header.d.ts +10 -0
- package/dist/client/components/Header.d.ts.map +1 -0
- package/dist/client/components/Header.js +12 -0
- package/dist/client/components/Header.js.map +1 -0
- package/dist/client/components/Image.d.ts +20 -0
- package/dist/client/components/Image.d.ts.map +1 -0
- package/dist/client/components/Image.js +12 -0
- package/dist/client/components/Image.js.map +1 -0
- package/dist/client/components/Input.d.ts +14 -0
- package/dist/client/components/Input.d.ts.map +1 -0
- package/dist/client/components/Input.js +19 -0
- package/dist/client/components/Input.js.map +1 -0
- package/dist/client/components/Modal.d.ts +9 -0
- package/dist/client/components/Modal.d.ts.map +1 -0
- package/dist/client/components/Modal.js +19 -0
- package/dist/client/components/Modal.js.map +1 -0
- package/dist/client/components/PageLayout.d.ts +9 -0
- package/dist/client/components/PageLayout.d.ts.map +1 -0
- package/dist/client/components/PageLayout.js +6 -0
- package/dist/client/components/PageLayout.js.map +1 -0
- package/dist/client/components/Panel.d.ts +8 -0
- package/dist/client/components/Panel.d.ts.map +1 -0
- package/dist/client/components/Panel.js +5 -0
- package/dist/client/components/Panel.js.map +1 -0
- package/dist/client/components/PopupPanel.d.ts +9 -0
- package/dist/client/components/PopupPanel.d.ts.map +1 -0
- package/dist/client/components/PopupPanel.js +5 -0
- package/dist/client/components/PopupPanel.js.map +1 -0
- package/dist/client/components/Pressable.d.ts +14 -0
- package/dist/client/components/Pressable.d.ts.map +1 -0
- package/dist/client/components/Pressable.js +8 -0
- package/dist/client/components/Pressable.js.map +1 -0
- package/dist/client/components/ScrollView.d.ts +9 -0
- package/dist/client/components/ScrollView.d.ts.map +1 -0
- package/dist/client/components/ScrollView.js +7 -0
- package/dist/client/components/ScrollView.js.map +1 -0
- package/dist/client/components/SettingGroup.d.ts +10 -0
- package/dist/client/components/SettingGroup.d.ts.map +1 -0
- package/dist/client/components/SettingGroup.js +8 -0
- package/dist/client/components/SettingGroup.js.map +1 -0
- package/dist/client/components/Text.d.ts +21 -0
- package/dist/client/components/Text.d.ts.map +1 -0
- package/dist/client/components/Text.js +43 -0
- package/dist/client/components/Text.js.map +1 -0
- package/dist/client/components/Toast.d.ts +10 -0
- package/dist/client/components/Toast.d.ts.map +1 -0
- package/dist/client/components/Toast.js +21 -0
- package/dist/client/components/Toast.js.map +1 -0
- package/dist/client/components/View.d.ts +9 -0
- package/dist/client/components/View.d.ts.map +1 -0
- package/dist/client/components/View.js +5 -0
- package/dist/client/components/View.js.map +1 -0
- package/dist/client/components/index.d.ts +33 -0
- package/dist/client/components/index.d.ts.map +1 -0
- package/dist/client/components/index.js +17 -0
- package/dist/client/components/index.js.map +1 -0
- package/dist/client/components/zIndex.d.ts +10 -0
- package/dist/client/components/zIndex.d.ts.map +1 -0
- package/dist/client/components/zIndex.js +12 -0
- package/dist/client/components/zIndex.js.map +1 -0
- package/dist/client/createSocket.d.ts +26 -0
- package/dist/client/createSocket.d.ts.map +1 -0
- package/dist/client/createSocket.js +138 -0
- package/dist/client/createSocket.js.map +1 -0
- package/dist/client/index.d.ts +27 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +20 -0
- package/dist/client/index.js.map +1 -0
- package/dist/playwright/index.d.ts +16 -0
- package/dist/playwright/index.d.ts.map +1 -0
- package/dist/playwright/index.js +32 -0
- package/dist/playwright/index.js.map +1 -0
- package/dist/server/App.d.ts +43 -0
- package/dist/server/App.d.ts.map +1 -0
- package/dist/server/App.js +215 -0
- package/dist/server/App.js.map +1 -0
- package/dist/server/Auth.d.ts +21 -0
- package/dist/server/Auth.d.ts.map +1 -0
- package/dist/server/Auth.js +171 -0
- package/dist/server/Auth.js.map +1 -0
- package/dist/server/Cache.d.ts +38 -0
- package/dist/server/Cache.d.ts.map +1 -0
- package/dist/server/Cache.js +113 -0
- package/dist/server/Cache.js.map +1 -0
- package/dist/server/ChangeStream.d.ts +22 -0
- package/dist/server/ChangeStream.d.ts.map +1 -0
- package/dist/server/ChangeStream.js +93 -0
- package/dist/server/ChangeStream.js.map +1 -0
- package/dist/server/DB.d.ts +17 -0
- package/dist/server/DB.d.ts.map +1 -0
- package/dist/server/DB.js +442 -0
- package/dist/server/DB.js.map +1 -0
- package/dist/server/Email.d.ts +22 -0
- package/dist/server/Email.d.ts.map +1 -0
- package/dist/server/Email.js +64 -0
- package/dist/server/Email.js.map +1 -0
- package/dist/server/EmailTemplate.d.ts +17 -0
- package/dist/server/EmailTemplate.d.ts.map +1 -0
- package/dist/server/EmailTemplate.js +29 -0
- package/dist/server/EmailTemplate.js.map +1 -0
- package/dist/server/FeedbackReport.d.ts +19 -0
- package/dist/server/FeedbackReport.d.ts.map +1 -0
- package/dist/server/FeedbackReport.js +94 -0
- package/dist/server/FeedbackReport.js.map +1 -0
- package/dist/server/ImageGen.d.ts +5 -0
- package/dist/server/ImageGen.d.ts.map +1 -0
- package/dist/server/ImageGen.js +5 -0
- package/dist/server/ImageGen.js.map +1 -0
- package/dist/server/Logging.d.ts +59 -0
- package/dist/server/Logging.d.ts.map +1 -0
- package/dist/server/Logging.js +293 -0
- package/dist/server/Logging.js.map +1 -0
- package/dist/server/Nats.d.ts +56 -0
- package/dist/server/Nats.d.ts.map +1 -0
- package/dist/server/Nats.js +162 -0
- package/dist/server/Nats.js.map +1 -0
- package/dist/server/NatsStore.d.ts +26 -0
- package/dist/server/NatsStore.d.ts.map +1 -0
- package/dist/server/NatsStore.js +86 -0
- package/dist/server/NatsStore.js.map +1 -0
- package/dist/server/PushNotification.d.ts +33 -0
- package/dist/server/PushNotification.d.ts.map +1 -0
- package/dist/server/PushNotification.js +131 -0
- package/dist/server/PushNotification.js.map +1 -0
- package/dist/server/RateLimit.d.ts +28 -0
- package/dist/server/RateLimit.d.ts.map +1 -0
- package/dist/server/RateLimit.js +101 -0
- package/dist/server/RateLimit.js.map +1 -0
- package/dist/server/Redis.d.ts +61 -0
- package/dist/server/Redis.d.ts.map +1 -0
- package/dist/server/Redis.js +226 -0
- package/dist/server/Redis.js.map +1 -0
- package/dist/server/Router.d.ts +27 -0
- package/dist/server/Router.d.ts.map +1 -0
- package/dist/server/Router.js +71 -0
- package/dist/server/Router.js.map +1 -0
- package/dist/server/Socket.d.ts +8 -0
- package/dist/server/Socket.d.ts.map +1 -0
- package/dist/server/Socket.js +278 -0
- package/dist/server/Socket.js.map +1 -0
- package/dist/server/SpendTracker.d.ts +18 -0
- package/dist/server/SpendTracker.d.ts.map +1 -0
- package/dist/server/SpendTracker.js +110 -0
- package/dist/server/SpendTracker.js.map +1 -0
- package/dist/server/Storage.d.ts +16 -0
- package/dist/server/Storage.d.ts.map +1 -0
- package/dist/server/Storage.js +95 -0
- package/dist/server/Storage.js.map +1 -0
- package/dist/server/TextGen.d.ts +5 -0
- package/dist/server/TextGen.d.ts.map +1 -0
- package/dist/server/TextGen.js +6 -0
- package/dist/server/TextGen.js.map +1 -0
- package/dist/server/WorkerQueue.d.ts +27 -0
- package/dist/server/WorkerQueue.d.ts.map +1 -0
- package/dist/server/WorkerQueue.js +147 -0
- package/dist/server/WorkerQueue.js.map +1 -0
- package/dist/server/ai/ImageGenClient.d.ts +6 -0
- package/dist/server/ai/ImageGenClient.d.ts.map +1 -0
- package/dist/server/ai/ImageGenClient.js +29 -0
- package/dist/server/ai/ImageGenClient.js.map +1 -0
- package/dist/server/ai/ProviderBalance.d.ts +15 -0
- package/dist/server/ai/ProviderBalance.d.ts.map +1 -0
- package/dist/server/ai/ProviderBalance.js +110 -0
- package/dist/server/ai/ProviderBalance.js.map +1 -0
- package/dist/server/ai/ProviderSelector.d.ts +13 -0
- package/dist/server/ai/ProviderSelector.d.ts.map +1 -0
- package/dist/server/ai/ProviderSelector.js +25 -0
- package/dist/server/ai/ProviderSelector.js.map +1 -0
- package/dist/server/ai/TextGenClient.d.ts +9 -0
- package/dist/server/ai/TextGenClient.d.ts.map +1 -0
- package/dist/server/ai/TextGenClient.js +72 -0
- package/dist/server/ai/TextGenClient.js.map +1 -0
- package/dist/server/ai/fallbacks.d.ts +9 -0
- package/dist/server/ai/fallbacks.d.ts.map +1 -0
- package/dist/server/ai/fallbacks.js +77 -0
- package/dist/server/ai/fallbacks.js.map +1 -0
- package/dist/server/ai/index.d.ts +12 -0
- package/dist/server/ai/index.d.ts.map +1 -0
- package/dist/server/ai/index.js +37 -0
- package/dist/server/ai/index.js.map +1 -0
- package/dist/server/ai/providers/Claude.d.ts +3 -0
- package/dist/server/ai/providers/Claude.d.ts.map +1 -0
- package/dist/server/ai/providers/Claude.js +124 -0
- package/dist/server/ai/providers/Claude.js.map +1 -0
- package/dist/server/ai/providers/FAL.d.ts +3 -0
- package/dist/server/ai/providers/FAL.d.ts.map +1 -0
- package/dist/server/ai/providers/FAL.js +24 -0
- package/dist/server/ai/providers/FAL.js.map +1 -0
- package/dist/server/ai/providers/Fireworks.d.ts +3 -0
- package/dist/server/ai/providers/Fireworks.d.ts.map +1 -0
- package/dist/server/ai/providers/Fireworks.js +79 -0
- package/dist/server/ai/providers/Fireworks.js.map +1 -0
- package/dist/server/ai/providers/Google.d.ts +3 -0
- package/dist/server/ai/providers/Google.d.ts.map +1 -0
- package/dist/server/ai/providers/Google.js +105 -0
- package/dist/server/ai/providers/Google.js.map +1 -0
- package/dist/server/ai/providers/GoogleImage.d.ts +3 -0
- package/dist/server/ai/providers/GoogleImage.d.ts.map +1 -0
- package/dist/server/ai/providers/GoogleImage.js +24 -0
- package/dist/server/ai/providers/GoogleImage.js.map +1 -0
- package/dist/server/ai/providers/Groq.d.ts +3 -0
- package/dist/server/ai/providers/Groq.d.ts.map +1 -0
- package/dist/server/ai/providers/Groq.js +99 -0
- package/dist/server/ai/providers/Groq.js.map +1 -0
- package/dist/server/ai/providers/Kie.d.ts +3 -0
- package/dist/server/ai/providers/Kie.d.ts.map +1 -0
- package/dist/server/ai/providers/Kie.js +79 -0
- package/dist/server/ai/providers/Kie.js.map +1 -0
- package/dist/server/ai/providers/KieImage.d.ts +3 -0
- package/dist/server/ai/providers/KieImage.d.ts.map +1 -0
- package/dist/server/ai/providers/KieImage.js +50 -0
- package/dist/server/ai/providers/KieImage.js.map +1 -0
- package/dist/server/ai/providers/OpenAIText.d.ts +3 -0
- package/dist/server/ai/providers/OpenAIText.d.ts.map +1 -0
- package/dist/server/ai/providers/OpenAIText.js +103 -0
- package/dist/server/ai/providers/OpenAIText.js.map +1 -0
- package/dist/server/ai/providers/Together.d.ts +3 -0
- package/dist/server/ai/providers/Together.d.ts.map +1 -0
- package/dist/server/ai/providers/Together.js +99 -0
- package/dist/server/ai/providers/Together.js.map +1 -0
- package/dist/server/ai/providers/TogetherImage.d.ts +3 -0
- package/dist/server/ai/providers/TogetherImage.d.ts.map +1 -0
- package/dist/server/ai/providers/TogetherImage.js +24 -0
- package/dist/server/ai/providers/TogetherImage.js.map +1 -0
- package/dist/server/ai/providers/Wavespeed.d.ts +3 -0
- package/dist/server/ai/providers/Wavespeed.d.ts.map +1 -0
- package/dist/server/ai/providers/Wavespeed.js +53 -0
- package/dist/server/ai/providers/Wavespeed.js.map +1 -0
- package/dist/server/ai/registry.d.ts +10 -0
- package/dist/server/ai/registry.d.ts.map +1 -0
- package/dist/server/ai/registry.js +26 -0
- package/dist/server/ai/registry.js.map +1 -0
- package/dist/server/ai/types.d.ts +67 -0
- package/dist/server/ai/types.d.ts.map +1 -0
- package/dist/server/ai/types.js +17 -0
- package/dist/server/ai/types.js.map +1 -0
- package/dist/server/audio/STTStream.d.ts +12 -0
- package/dist/server/audio/STTStream.d.ts.map +1 -0
- package/dist/server/audio/STTStream.js +59 -0
- package/dist/server/audio/STTStream.js.map +1 -0
- package/dist/server/audio/TTSStream.d.ts +16 -0
- package/dist/server/audio/TTSStream.d.ts.map +1 -0
- package/dist/server/audio/TTSStream.js +151 -0
- package/dist/server/audio/TTSStream.js.map +1 -0
- package/dist/server/audio/index.d.ts +5 -0
- package/dist/server/audio/index.d.ts.map +1 -0
- package/dist/server/audio/index.js +14 -0
- package/dist/server/audio/index.js.map +1 -0
- package/dist/server/audio/resample.d.ts +7 -0
- package/dist/server/audio/resample.d.ts.map +1 -0
- package/dist/server/audio/resample.js +17 -0
- package/dist/server/audio/resample.js.map +1 -0
- package/dist/server/audio/stt/GroqWhisper.d.ts +3 -0
- package/dist/server/audio/stt/GroqWhisper.d.ts.map +1 -0
- package/dist/server/audio/stt/GroqWhisper.js +91 -0
- package/dist/server/audio/stt/GroqWhisper.js.map +1 -0
- package/dist/server/audio/stt/registry.d.ts +5 -0
- package/dist/server/audio/stt/registry.d.ts.map +1 -0
- package/dist/server/audio/stt/registry.js +11 -0
- package/dist/server/audio/stt/registry.js.map +1 -0
- package/dist/server/audio/stt/types.d.ts +25 -0
- package/dist/server/audio/stt/types.d.ts.map +1 -0
- package/dist/server/audio/stt/types.js +2 -0
- package/dist/server/audio/stt/types.js.map +1 -0
- package/dist/server/audio/stt/vad.d.ts +18 -0
- package/dist/server/audio/stt/vad.d.ts.map +1 -0
- package/dist/server/audio/stt/vad.js +90 -0
- package/dist/server/audio/stt/vad.js.map +1 -0
- package/dist/server/audio/tts/InWorld.d.ts +3 -0
- package/dist/server/audio/tts/InWorld.d.ts.map +1 -0
- package/dist/server/audio/tts/InWorld.js +147 -0
- package/dist/server/audio/tts/InWorld.js.map +1 -0
- package/dist/server/audio/tts/providers/Azure.d.ts +3 -0
- package/dist/server/audio/tts/providers/Azure.d.ts.map +1 -0
- package/dist/server/audio/tts/providers/Azure.js +31 -0
- package/dist/server/audio/tts/providers/Azure.js.map +1 -0
- package/dist/server/audio/tts/registry.d.ts +6 -0
- package/dist/server/audio/tts/registry.d.ts.map +1 -0
- package/dist/server/audio/tts/registry.js +12 -0
- package/dist/server/audio/tts/registry.js.map +1 -0
- package/dist/server/audio/tts/types.d.ts +20 -0
- package/dist/server/audio/tts/types.d.ts.map +1 -0
- package/dist/server/audio/tts/types.js +2 -0
- package/dist/server/audio/tts/types.js.map +1 -0
- package/dist/server/billing/BillingGateway.d.ts +40 -0
- package/dist/server/billing/BillingGateway.d.ts.map +1 -0
- package/dist/server/billing/BillingGateway.js +116 -0
- package/dist/server/billing/BillingGateway.js.map +1 -0
- package/dist/server/billing/BillingLedger.d.ts +67 -0
- package/dist/server/billing/BillingLedger.d.ts.map +1 -0
- package/dist/server/billing/BillingLedger.js +214 -0
- package/dist/server/billing/BillingLedger.js.map +1 -0
- package/dist/server/billing/CreditStore.d.ts +58 -0
- package/dist/server/billing/CreditStore.d.ts.map +1 -0
- package/dist/server/billing/CreditStore.js +112 -0
- package/dist/server/billing/CreditStore.js.map +1 -0
- package/dist/server/billing/LimitEnforcer.d.ts +73 -0
- package/dist/server/billing/LimitEnforcer.d.ts.map +1 -0
- package/dist/server/billing/LimitEnforcer.js +276 -0
- package/dist/server/billing/LimitEnforcer.js.map +1 -0
- package/dist/server/billing/UserLimitCache.d.ts +35 -0
- package/dist/server/billing/UserLimitCache.d.ts.map +1 -0
- package/dist/server/billing/UserLimitCache.js +91 -0
- package/dist/server/billing/UserLimitCache.js.map +1 -0
- package/dist/server/billing/index.d.ts +6 -0
- package/dist/server/billing/index.d.ts.map +1 -0
- package/dist/server/billing/index.js +4 -0
- package/dist/server/billing/index.js.map +1 -0
- package/dist/server/billing/types.d.ts +95 -0
- package/dist/server/billing/types.d.ts.map +1 -0
- package/dist/server/billing/types.js +19 -0
- package/dist/server/billing/types.js.map +1 -0
- package/dist/server/embeddings/EmbeddingClient.d.ts +8 -0
- package/dist/server/embeddings/EmbeddingClient.d.ts.map +1 -0
- package/dist/server/embeddings/EmbeddingClient.js +30 -0
- package/dist/server/embeddings/EmbeddingClient.js.map +1 -0
- package/dist/server/embeddings/index.d.ts +5 -0
- package/dist/server/embeddings/index.d.ts.map +1 -0
- package/dist/server/embeddings/index.js +6 -0
- package/dist/server/embeddings/index.js.map +1 -0
- package/dist/server/embeddings/providers/OpenAI.d.ts +3 -0
- package/dist/server/embeddings/providers/OpenAI.d.ts.map +1 -0
- package/dist/server/embeddings/providers/OpenAI.js +28 -0
- package/dist/server/embeddings/providers/OpenAI.js.map +1 -0
- package/dist/server/embeddings/registry.d.ts +7 -0
- package/dist/server/embeddings/registry.d.ts.map +1 -0
- package/dist/server/embeddings/registry.js +15 -0
- package/dist/server/embeddings/registry.js.map +1 -0
- package/dist/server/embeddings/types.d.ts +12 -0
- package/dist/server/embeddings/types.d.ts.map +1 -0
- package/dist/server/embeddings/types.js +2 -0
- package/dist/server/embeddings/types.js.map +1 -0
- package/dist/server/index.d.ts +59 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +41 -0
- package/dist/server/index.js.map +1 -0
- package/dist/shared/Api.d.ts +40 -0
- package/dist/shared/Api.d.ts.map +1 -0
- package/dist/shared/Api.js +30 -0
- package/dist/shared/Api.js.map +1 -0
- package/dist/shared/Audio.d.ts +108 -0
- package/dist/shared/Audio.d.ts.map +1 -0
- package/dist/shared/Audio.js +3 -0
- package/dist/shared/Audio.js.map +1 -0
- package/dist/shared/DB.d.ts +339 -0
- package/dist/shared/DB.d.ts.map +1 -0
- package/dist/shared/DB.js +51 -0
- package/dist/shared/DB.js.map +1 -0
- package/dist/shared/Errors.d.ts +10 -0
- package/dist/shared/Errors.d.ts.map +1 -0
- package/dist/shared/Errors.js +19 -0
- package/dist/shared/Errors.js.map +1 -0
- package/dist/shared/FeedbackReport.d.ts +38 -0
- package/dist/shared/FeedbackReport.d.ts.map +1 -0
- package/dist/shared/FeedbackReport.js +14 -0
- package/dist/shared/FeedbackReport.js.map +1 -0
- package/dist/shared/Router.d.ts +28 -0
- package/dist/shared/Router.d.ts.map +1 -0
- package/dist/shared/Router.js +82 -0
- package/dist/shared/Router.js.map +1 -0
- package/dist/shared/Socket.d.ts +26 -0
- package/dist/shared/Socket.d.ts.map +1 -0
- package/dist/shared/Socket.js +2 -0
- package/dist/shared/Socket.js.map +1 -0
- package/dist/shared/index.d.ts +28 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +61 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/webrtc/index.d.ts +14 -0
- package/dist/webrtc/index.d.ts.map +1 -0
- package/dist/webrtc/index.js +24 -0
- package/dist/webrtc/index.js.map +1 -0
- package/package.json +97 -0
- package/templates/.claude/skills/assets.md +39 -0
- package/templates/.claude/skills/check-errors.md +35 -0
- package/templates/.claude/skills/check-feedback.md +23 -0
- package/templates/.claude/skills/check-perf.md +22 -0
- package/templates/.claude/skills/create-test-users.md +34 -0
- package/templates/.claude/skills/extend-api.md +37 -0
- package/templates/.claude/skills/fix-code.md +5 -0
- package/templates/.claude/skills/fix-errors.md +9 -0
- package/templates/.claude/skills/fix-feedback.md +8 -0
- package/templates/.claude/skills/fix-perf.md +8 -0
- package/templates/.claude/skills/uploads.md +38 -0
- package/templates/.claude/skills/use-ai.md +49 -0
- package/templates/.env.example +49 -0
- package/templates/.husky/pre-commit +2 -0
- package/templates/CLAUDE.md +199 -0
- package/templates/client/App.tsx +33 -0
- package/templates/client/index.html +14 -0
- package/templates/client/main.tsx +52 -0
- package/templates/client/pages/AuthDemoPage.tsx +85 -0
- package/templates/client/pages/HomePage.tsx +111 -0
- package/templates/client/pages/SearchPage.tsx +48 -0
- package/templates/client/pages/UserPage.tsx +33 -0
- package/templates/client/router.ts +4 -0
- package/templates/docker-compose.yml +50 -0
- package/templates/index.html +14 -0
- package/templates/package.json +56 -0
- package/templates/playwright.config.ts +21 -0
- package/templates/server/index.ts +24 -0
- package/templates/shared/api.ts +36 -0
- package/templates/shared/collections.ts +11 -0
- package/templates/shared/dbIndexes.ts +11 -0
- package/templates/shared/pages.ts +8 -0
- package/templates/vite.config.ts +17 -0
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
export interface DBObject {
|
|
2
|
+
id: string;
|
|
3
|
+
version: number;
|
|
4
|
+
created: Date;
|
|
5
|
+
updated: Date;
|
|
6
|
+
}
|
|
7
|
+
export type ParentPath = [string, string];
|
|
8
|
+
export interface CollectionMeta {
|
|
9
|
+
cache: boolean;
|
|
10
|
+
trackable: boolean;
|
|
11
|
+
public: boolean;
|
|
12
|
+
parent: string | null;
|
|
13
|
+
}
|
|
14
|
+
export type CollectionRegistry = Record<string, CollectionMeta>;
|
|
15
|
+
export interface CollectionDef<T extends DBObject = any> {
|
|
16
|
+
readonly name: string;
|
|
17
|
+
type: T;
|
|
18
|
+
meta: CollectionMeta;
|
|
19
|
+
onDelete?: (doc: T, db: TypedDB<any>) => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export type CollectionDefRegistry = Record<string, Omit<CollectionDef, 'name'>>;
|
|
22
|
+
/**
|
|
23
|
+
* All valid dot-notation paths for T (up to 4 levels deep).
|
|
24
|
+
* - Arrays: not recursed (just the key itself)
|
|
25
|
+
* - Date: not recursed (leaf)
|
|
26
|
+
* - Record<string, V> (dynamic map): allows "field.anyKey" via template string
|
|
27
|
+
* - Plain objects: recursed with typed sub-paths
|
|
28
|
+
*/
|
|
29
|
+
export type DotKeys<T, Prefix extends string = '', Depth extends unknown[] = []> = Depth['length'] extends 4 ? never : {
|
|
30
|
+
[K in keyof T & string]: T[K] extends unknown[] ? `${Prefix}${K}` : T[K] extends Date ? `${Prefix}${K}` : string extends keyof T[K] ? `${Prefix}${K}` | `${Prefix}${K}.${string}` : T[K] extends object ? `${Prefix}${K}` | DotKeys<T[K], `${Prefix}${K}.`, [...Depth, 0]> : `${Prefix}${K}`;
|
|
31
|
+
}[keyof T & string];
|
|
32
|
+
/**
|
|
33
|
+
* The value type at a dot-path P within T.
|
|
34
|
+
* Falls back to `unknown` when the path crosses a dynamic Record<string, V> boundary.
|
|
35
|
+
*/
|
|
36
|
+
export type DotValue<T, P extends string> = P extends keyof T ? T[P] : P extends `${infer K}.${infer Rest}` ? K extends keyof T ? string extends keyof T[K] ? unknown : DotValue<T[K], Rest> : unknown : unknown;
|
|
37
|
+
/** A partial update object with dot-notation key support. */
|
|
38
|
+
export type DocFields<T> = {
|
|
39
|
+
[P in DotKeys<T>]?: DotValue<T, P>;
|
|
40
|
+
};
|
|
41
|
+
/** MongoDB-style update operators, all supporting dot-notation paths. */
|
|
42
|
+
export interface MongoUpdateOp<T> {
|
|
43
|
+
$inc?: DocFields<T>;
|
|
44
|
+
$addToSet?: DocFields<T>;
|
|
45
|
+
$pull?: DocFields<T>;
|
|
46
|
+
$unset?: {
|
|
47
|
+
[P in DotKeys<T>]?: '';
|
|
48
|
+
};
|
|
49
|
+
$set?: DocFields<T>;
|
|
50
|
+
}
|
|
51
|
+
export interface TypedDB<_Map extends Record<string, DBObject> = Record<string, DBObject>> {
|
|
52
|
+
/**
|
|
53
|
+
* Fetch a single document by id.
|
|
54
|
+
* Pass `parentId` when the collection uses compound `_id` (parent:child format).
|
|
55
|
+
*/
|
|
56
|
+
getDoc<T extends DBObject>(collection: CollectionDef<T>, id: string, parentId?: string): Promise<T | null>;
|
|
57
|
+
/**
|
|
58
|
+
* Insert or replace a document.
|
|
59
|
+
* - `options.parentId`: compound parent id prefix for the MongoDB `_id`.
|
|
60
|
+
* - `options.skipIfExists`: when true, INSERT only — returns false if doc already exists.
|
|
61
|
+
* Returns true on success, false when skipIfExists=true and the doc already existed.
|
|
62
|
+
*/
|
|
63
|
+
setDoc<T extends DBObject>(collection: CollectionDef<T>, doc: T, options?: {
|
|
64
|
+
skipIfExists?: boolean;
|
|
65
|
+
parentId?: string;
|
|
66
|
+
}): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Partial update using dot-notation field paths.
|
|
69
|
+
* Automatically sets `updated` to now. Throws if the document does not exist.
|
|
70
|
+
* Returns the full updated document.
|
|
71
|
+
*/
|
|
72
|
+
setDocFields<T extends DBObject>(collection: CollectionDef<T>, id: string, fields: DocFields<T>, options?: {
|
|
73
|
+
parentId?: string;
|
|
74
|
+
}): Promise<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Like `setDocFields` but returns null (instead of throwing) when the doc doesn't exist.
|
|
77
|
+
*/
|
|
78
|
+
setDocFieldsOrIgnore<T extends DBObject>(collection: CollectionDef<T>, id: string, fields: DocFields<T>, options?: {
|
|
79
|
+
parentId?: string;
|
|
80
|
+
}): Promise<T | null>;
|
|
81
|
+
/**
|
|
82
|
+
* Partial update if the document exists; otherwise creates it from `obj`.
|
|
83
|
+
* Returns the resulting document (updated or newly created).
|
|
84
|
+
*/
|
|
85
|
+
setDocFieldsOrCreate<T extends DBObject>(collection: CollectionDef<T>, id: string, fields: DocFields<T>, obj: T, options?: {
|
|
86
|
+
parentId?: string;
|
|
87
|
+
}): Promise<T>;
|
|
88
|
+
/**
|
|
89
|
+
* Low-level MongoDB update operators ($inc, $addToSet, $pull, $unset, $set).
|
|
90
|
+
* All support dot-notation paths. Throws if the document does not exist.
|
|
91
|
+
* Returns the full updated document.
|
|
92
|
+
*/
|
|
93
|
+
setDocOp<T extends DBObject>(collection: CollectionDef<T>, id: string, op: MongoUpdateOp<T>, options?: {
|
|
94
|
+
parentId?: string;
|
|
95
|
+
}): Promise<T>;
|
|
96
|
+
/**
|
|
97
|
+
* Like `setDocOp` but returns null (instead of throwing) when the doc doesn't exist.
|
|
98
|
+
*/
|
|
99
|
+
setDocOpOrIgnore<T extends DBObject>(collection: CollectionDef<T>, id: string, op: MongoUpdateOp<T>, options?: {
|
|
100
|
+
parentId?: string;
|
|
101
|
+
}): Promise<T | null>;
|
|
102
|
+
/**
|
|
103
|
+
* Delete a document and cascade-delete all children.
|
|
104
|
+
*/
|
|
105
|
+
deleteDoc<T extends DBObject>(collection: CollectionDef<T>, id: string, options?: {
|
|
106
|
+
parentId?: string;
|
|
107
|
+
}): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Query documents. Pass `parentId` in options to filter by parent automatically.
|
|
110
|
+
*/
|
|
111
|
+
getDocs<T extends DBObject>(collection: CollectionDef<T>, filter?: Record<string, unknown>, options?: {
|
|
112
|
+
sort?: Record<string, 1 | -1>;
|
|
113
|
+
limit?: number;
|
|
114
|
+
skip?: number;
|
|
115
|
+
parentId?: string;
|
|
116
|
+
}): Promise<T[]>;
|
|
117
|
+
/**
|
|
118
|
+
* MongoDB aggregation pipeline. Results are converted via fromMongoDoc.
|
|
119
|
+
*/
|
|
120
|
+
getQuery<T>(collection: string, pipeline: Record<string, unknown>[], options?: {
|
|
121
|
+
skip?: number;
|
|
122
|
+
limit?: number;
|
|
123
|
+
}): Promise<T[]>;
|
|
124
|
+
/**
|
|
125
|
+
* Aggregation pipeline that appends a $count stage. Returns 0 if no results.
|
|
126
|
+
*/
|
|
127
|
+
getQueryCount(collection: string, pipeline: Record<string, unknown>[]): Promise<number>;
|
|
128
|
+
/**
|
|
129
|
+
* Aggregation pipeline without fromMongoDoc conversion — returns raw BSON documents.
|
|
130
|
+
*/
|
|
131
|
+
getQueryRaw<T>(collection: string, pipeline: Record<string, unknown>[], options?: {
|
|
132
|
+
skip?: number;
|
|
133
|
+
limit?: number;
|
|
134
|
+
}): Promise<T[]>;
|
|
135
|
+
/**
|
|
136
|
+
* Bulk delete documents matching `match`, cascade-deleting children and calling onDelete.
|
|
137
|
+
* Pass `parentId` to automatically inject the parent filter.
|
|
138
|
+
*/
|
|
139
|
+
deleteQuery<T extends DBObject>(collection: CollectionDef<T>, match: Record<string, unknown>, options?: {
|
|
140
|
+
parentId?: string;
|
|
141
|
+
}): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Fetch a single document by collection name string (dynamic/untyped access).
|
|
144
|
+
* Used for client-driven RPC where the collection name comes from the wire.
|
|
145
|
+
*/
|
|
146
|
+
rawGetDoc(collection: string, id: string, parentId?: string): Promise<DBObject | null>;
|
|
147
|
+
/**
|
|
148
|
+
* Query documents by collection name string (dynamic/untyped access).
|
|
149
|
+
* Used for client-driven RPC where the collection name comes from the wire.
|
|
150
|
+
*/
|
|
151
|
+
rawGetDocs(collection: string, filter?: Record<string, unknown>, options?: {
|
|
152
|
+
sort?: Record<string, 1 | -1>;
|
|
153
|
+
limit?: number;
|
|
154
|
+
skip?: number;
|
|
155
|
+
}): Promise<DBObject[]>;
|
|
156
|
+
/** Get a raw value from the LRU cache by key. */
|
|
157
|
+
cacheGet<T>(key: string): T | undefined;
|
|
158
|
+
/** Set a raw value in the LRU cache with optional TTL override (ms). */
|
|
159
|
+
cacheSet<T>(key: string, value: T, ttlMs?: number): void;
|
|
160
|
+
/** Delete a key from the cache on all servers (via NATS invalidation). */
|
|
161
|
+
cacheDelete(key: string): void;
|
|
162
|
+
/** Build a cache key for a document. Encodes segments to avoid collisions. */
|
|
163
|
+
cacheKey(collection: string, id: string, parentId?: string): string;
|
|
164
|
+
}
|
|
165
|
+
export declare function defineCollections<Defs extends CollectionDefRegistry>(defs: Defs): {
|
|
166
|
+
[K in keyof Defs & string]: Defs[K] & {
|
|
167
|
+
name: K;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
export interface IndexDef {
|
|
171
|
+
fields: Record<string, 1 | -1>;
|
|
172
|
+
unique?: boolean;
|
|
173
|
+
ttl?: number;
|
|
174
|
+
}
|
|
175
|
+
export interface SearchIndexDef {
|
|
176
|
+
name: string;
|
|
177
|
+
fields: Record<string, 'string' | 'number'>;
|
|
178
|
+
}
|
|
179
|
+
export interface VectorIndexDef {
|
|
180
|
+
name: string;
|
|
181
|
+
field: string;
|
|
182
|
+
dimensions: number;
|
|
183
|
+
similarity: 'cosine' | 'euclidean' | 'dotProduct';
|
|
184
|
+
}
|
|
185
|
+
export interface CollectionIndexConfig {
|
|
186
|
+
indexes?: IndexDef[];
|
|
187
|
+
searchIndexes?: SearchIndexDef[];
|
|
188
|
+
vectorIndexes?: VectorIndexDef[];
|
|
189
|
+
}
|
|
190
|
+
export type DbIndexRegistry = Record<string, CollectionIndexConfig>;
|
|
191
|
+
export declare function defineDbIndexes<T extends DbIndexRegistry>(idx: T): T;
|
|
192
|
+
export declare function dbDefaults(): Pick<DBObject, 'version' | 'created' | 'updated'>;
|
|
193
|
+
/** Minimal auth record. Apps extend this interface with app-specific fields. */
|
|
194
|
+
export interface UserBase extends DBObject {
|
|
195
|
+
email?: string;
|
|
196
|
+
phone?: string;
|
|
197
|
+
}
|
|
198
|
+
export interface UserHelper<T extends UserBase> {
|
|
199
|
+
get(db: TypedDB, userId: string): Promise<T | null>;
|
|
200
|
+
set(db: TypedDB, user: T): Promise<boolean>;
|
|
201
|
+
update(db: TypedDB, userId: string, fields: DocFields<T>): Promise<T>;
|
|
202
|
+
}
|
|
203
|
+
export declare function createUserHelper<T extends UserBase>(userDef: CollectionDef<T>): UserHelper<T>;
|
|
204
|
+
export interface ErrorLog extends DBObject {
|
|
205
|
+
level: 'log' | 'info' | 'warn' | 'error' | 'debug';
|
|
206
|
+
message: string;
|
|
207
|
+
stack?: string | null;
|
|
208
|
+
source: 'server' | 'browser' | 'client';
|
|
209
|
+
userId?: string | null;
|
|
210
|
+
meta?: Record<string, unknown> | null;
|
|
211
|
+
url?: string | null;
|
|
212
|
+
hash?: string;
|
|
213
|
+
count?: number;
|
|
214
|
+
timestamp?: number;
|
|
215
|
+
}
|
|
216
|
+
export interface ConsoleLog extends DBObject {
|
|
217
|
+
level: 'log' | 'info' | 'warn' | 'error' | 'debug';
|
|
218
|
+
message: string;
|
|
219
|
+
userId: string;
|
|
220
|
+
meta?: Record<string, unknown> | null;
|
|
221
|
+
}
|
|
222
|
+
export interface PerfLog extends DBObject {
|
|
223
|
+
operation: string;
|
|
224
|
+
durationMs: number;
|
|
225
|
+
userId: string;
|
|
226
|
+
}
|
|
227
|
+
export interface FeedbackLog extends DBObject {
|
|
228
|
+
type: 'bug' | 'design' | 'feature';
|
|
229
|
+
message: string;
|
|
230
|
+
screenshotUrl?: string | null;
|
|
231
|
+
userId: string;
|
|
232
|
+
}
|
|
233
|
+
export type BillingType = 'textGen' | 'imageGen' | 'stt' | 'tts' | 'embedding' | 'service';
|
|
234
|
+
export interface BillingSpend extends DBObject {
|
|
235
|
+
userId?: string;
|
|
236
|
+
provider: string;
|
|
237
|
+
model: string;
|
|
238
|
+
type: BillingType;
|
|
239
|
+
costUsd: number;
|
|
240
|
+
inputTokens?: number;
|
|
241
|
+
outputTokens?: number;
|
|
242
|
+
imageCount?: number;
|
|
243
|
+
audioSeconds?: number;
|
|
244
|
+
billingTimestamp: number;
|
|
245
|
+
}
|
|
246
|
+
export interface UserCredits extends DBObject {
|
|
247
|
+
balanceUsd: number;
|
|
248
|
+
}
|
|
249
|
+
export interface FeedbackReportDoc extends DBObject {
|
|
250
|
+
userId: string;
|
|
251
|
+
type: 'bug' | 'feature' | 'design';
|
|
252
|
+
message: string;
|
|
253
|
+
url: string;
|
|
254
|
+
screenshotUri?: string;
|
|
255
|
+
context?: string;
|
|
256
|
+
status: 'pending' | 'captured' | 'resolved' | 'declined';
|
|
257
|
+
resolution?: string;
|
|
258
|
+
resolvedAt?: number;
|
|
259
|
+
}
|
|
260
|
+
export declare const BUILTIN_DEFS: {
|
|
261
|
+
errorLog: {
|
|
262
|
+
type: ErrorLog;
|
|
263
|
+
meta: {
|
|
264
|
+
cache: false;
|
|
265
|
+
trackable: false;
|
|
266
|
+
public: false;
|
|
267
|
+
parent: null;
|
|
268
|
+
};
|
|
269
|
+
} & {
|
|
270
|
+
name: "errorLog";
|
|
271
|
+
};
|
|
272
|
+
consoleLog: {
|
|
273
|
+
type: ConsoleLog;
|
|
274
|
+
meta: {
|
|
275
|
+
cache: false;
|
|
276
|
+
trackable: false;
|
|
277
|
+
public: false;
|
|
278
|
+
parent: null;
|
|
279
|
+
};
|
|
280
|
+
} & {
|
|
281
|
+
name: "consoleLog";
|
|
282
|
+
};
|
|
283
|
+
perfLog: {
|
|
284
|
+
type: PerfLog;
|
|
285
|
+
meta: {
|
|
286
|
+
cache: false;
|
|
287
|
+
trackable: false;
|
|
288
|
+
public: false;
|
|
289
|
+
parent: null;
|
|
290
|
+
};
|
|
291
|
+
} & {
|
|
292
|
+
name: "perfLog";
|
|
293
|
+
};
|
|
294
|
+
feedbackLog: {
|
|
295
|
+
type: FeedbackLog;
|
|
296
|
+
meta: {
|
|
297
|
+
cache: false;
|
|
298
|
+
trackable: false;
|
|
299
|
+
public: false;
|
|
300
|
+
parent: null;
|
|
301
|
+
};
|
|
302
|
+
} & {
|
|
303
|
+
name: "feedbackLog";
|
|
304
|
+
};
|
|
305
|
+
billingSpend: {
|
|
306
|
+
type: BillingSpend;
|
|
307
|
+
meta: {
|
|
308
|
+
cache: false;
|
|
309
|
+
trackable: false;
|
|
310
|
+
public: false;
|
|
311
|
+
parent: null;
|
|
312
|
+
};
|
|
313
|
+
} & {
|
|
314
|
+
name: "billingSpend";
|
|
315
|
+
};
|
|
316
|
+
userCredits: {
|
|
317
|
+
type: UserCredits;
|
|
318
|
+
meta: {
|
|
319
|
+
cache: false;
|
|
320
|
+
trackable: false;
|
|
321
|
+
public: false;
|
|
322
|
+
parent: null;
|
|
323
|
+
};
|
|
324
|
+
} & {
|
|
325
|
+
name: "userCredits";
|
|
326
|
+
};
|
|
327
|
+
feedbackReport: {
|
|
328
|
+
type: FeedbackReportDoc;
|
|
329
|
+
meta: {
|
|
330
|
+
cache: false;
|
|
331
|
+
trackable: false;
|
|
332
|
+
public: false;
|
|
333
|
+
parent: null;
|
|
334
|
+
};
|
|
335
|
+
} & {
|
|
336
|
+
name: "feedbackReport";
|
|
337
|
+
};
|
|
338
|
+
};
|
|
339
|
+
//# sourceMappingURL=DB.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/shared/DB.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export function defineCollections(defs) {
|
|
2
|
+
return Object.fromEntries(Object.entries(defs).map(([k, v]) => [k, { ...v, name: k }]));
|
|
3
|
+
}
|
|
4
|
+
export function defineDbIndexes(idx) {
|
|
5
|
+
return idx;
|
|
6
|
+
}
|
|
7
|
+
export function dbDefaults() {
|
|
8
|
+
const now = new Date();
|
|
9
|
+
return { version: 1, created: now, updated: now };
|
|
10
|
+
}
|
|
11
|
+
export function createUserHelper(userDef) {
|
|
12
|
+
return {
|
|
13
|
+
get: (db, userId) => db.getDoc(userDef, userId),
|
|
14
|
+
set: (db, user) => db.setDoc(userDef, user),
|
|
15
|
+
update: (db, userId, fields) => db.setDocFields(userDef, userId, fields),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Builtin collection defs (no user — apps define their own)
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
export const BUILTIN_DEFS = defineCollections({
|
|
22
|
+
errorLog: {
|
|
23
|
+
type: {},
|
|
24
|
+
meta: { cache: false, trackable: false, public: false, parent: null },
|
|
25
|
+
},
|
|
26
|
+
consoleLog: {
|
|
27
|
+
type: {},
|
|
28
|
+
meta: { cache: false, trackable: false, public: false, parent: null },
|
|
29
|
+
},
|
|
30
|
+
perfLog: {
|
|
31
|
+
type: {},
|
|
32
|
+
meta: { cache: false, trackable: false, public: false, parent: null },
|
|
33
|
+
},
|
|
34
|
+
feedbackLog: {
|
|
35
|
+
type: {},
|
|
36
|
+
meta: { cache: false, trackable: false, public: false, parent: null },
|
|
37
|
+
},
|
|
38
|
+
billingSpend: {
|
|
39
|
+
type: {},
|
|
40
|
+
meta: { cache: false, trackable: false, public: false, parent: null },
|
|
41
|
+
},
|
|
42
|
+
userCredits: {
|
|
43
|
+
type: {},
|
|
44
|
+
meta: { cache: false, trackable: false, public: false, parent: null },
|
|
45
|
+
},
|
|
46
|
+
feedbackReport: {
|
|
47
|
+
type: {},
|
|
48
|
+
meta: { cache: false, trackable: false, public: false, parent: null },
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=DB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/shared/DB.ts"],"names":[],"mappings":"AAwQA,MAAM,UAAU,iBAAiB,CAC/B,IAAU;IAEV,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAEtD,CAAC;AACX,CAAC;AA4BD,MAAM,UAAU,eAAe,CAA4B,GAAM;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU;IAIxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACpD,CAAC;AAsBD,MAAM,UAAU,gBAAgB,CAC9B,OAAyB;IAEzB,OAAO;QACL,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;QAC/C,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;KACzE,CAAC;AACJ,CAAC;AA6ED,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;IAC5C,QAAQ,EAAE;QACR,IAAI,EAAE,EAAc;QACpB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACtE;IACD,UAAU,EAAE;QACV,IAAI,EAAE,EAAgB;QACtB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACtE;IACD,OAAO,EAAE;QACP,IAAI,EAAE,EAAa;QACnB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACtE;IACD,WAAW,EAAE;QACX,IAAI,EAAE,EAAiB;QACvB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACtE;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,EAAkB;QACxB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACtE;IACD,WAAW,EAAE;QACX,IAAI,EAAE,EAAiB;QACvB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACtE;IACD,cAAc,EAAE;QACd,IAAI,EAAE,EAAuB;QAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;KACtE;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class NotFoundError extends Error {
|
|
2
|
+
constructor(message: string);
|
|
3
|
+
}
|
|
4
|
+
export declare class AuthError extends Error {
|
|
5
|
+
constructor(message: string);
|
|
6
|
+
}
|
|
7
|
+
export declare class SpendLimitError extends Error {
|
|
8
|
+
constructor(message?: string);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../src/shared/Errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,GAAE,MAAoD;CAI1E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class NotFoundError extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.name = 'NotFoundError';
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class AuthError extends Error {
|
|
8
|
+
constructor(message) {
|
|
9
|
+
super(`AuthError: ${message}`);
|
|
10
|
+
this.name = 'AuthError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class SpendLimitError extends Error {
|
|
14
|
+
constructor(message = 'AI spend limit reached, try again shortly') {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = 'SpendLimitError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=Errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../src/shared/Errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,UAAkB,2CAA2C;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export interface FeedbackReport {
|
|
3
|
+
id: string;
|
|
4
|
+
userId: string;
|
|
5
|
+
type: 'bug' | 'feature' | 'design';
|
|
6
|
+
message: string;
|
|
7
|
+
url: string;
|
|
8
|
+
screenshotUri?: string;
|
|
9
|
+
context?: string;
|
|
10
|
+
status: 'pending' | 'captured' | 'resolved' | 'declined';
|
|
11
|
+
resolution?: string;
|
|
12
|
+
resolvedAt?: number;
|
|
13
|
+
version: number;
|
|
14
|
+
created: number;
|
|
15
|
+
updated: number;
|
|
16
|
+
}
|
|
17
|
+
export declare const SubmitFeedbackInput: z.ZodObject<{
|
|
18
|
+
message: z.ZodString;
|
|
19
|
+
type: z.ZodEnum<{
|
|
20
|
+
bug: "bug";
|
|
21
|
+
design: "design";
|
|
22
|
+
feature: "feature";
|
|
23
|
+
}>;
|
|
24
|
+
url: z.ZodString;
|
|
25
|
+
screenshotUri: z.ZodOptional<z.ZodString>;
|
|
26
|
+
context: z.ZodOptional<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export type SubmitFeedbackInputT = z.infer<typeof SubmitFeedbackInput>;
|
|
29
|
+
export declare const ResolveFeedbackInput: z.ZodObject<{
|
|
30
|
+
feedbackId: z.ZodString;
|
|
31
|
+
status: z.ZodEnum<{
|
|
32
|
+
resolved: "resolved";
|
|
33
|
+
declined: "declined";
|
|
34
|
+
}>;
|
|
35
|
+
resolution: z.ZodString;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export type ResolveFeedbackInputT = z.infer<typeof ResolveFeedbackInput>;
|
|
38
|
+
//# sourceMappingURL=FeedbackReport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedbackReport.d.ts","sourceRoot":"","sources":["../../src/shared/FeedbackReport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAM9B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,oBAAoB;;;;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const SubmitFeedbackInput = z.object({
|
|
3
|
+
message: z.string().min(1).max(5000),
|
|
4
|
+
type: z.enum(['bug', 'feature', 'design']),
|
|
5
|
+
url: z.string(),
|
|
6
|
+
screenshotUri: z.string().optional(),
|
|
7
|
+
context: z.string().optional(), // page-level context set via setFeedbackContext()
|
|
8
|
+
});
|
|
9
|
+
export const ResolveFeedbackInput = z.object({
|
|
10
|
+
feedbackId: z.string(),
|
|
11
|
+
status: z.enum(['resolved', 'declined']),
|
|
12
|
+
resolution: z.string().min(1),
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=FeedbackReport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedbackReport.js","sourceRoot":"","sources":["../../src/shared/FeedbackReport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,kDAAkD;CACnF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type TransitionType = 'REPLACE' | 'PUSH' | 'POP' | 'NONE';
|
|
2
|
+
export type PopupSlideFrom = 'left' | 'right' | 'top' | 'bottom' | 'none';
|
|
3
|
+
export type PopupMode = 'block' | 'transient' | 'contextMenu';
|
|
4
|
+
export interface AnimConfig {
|
|
5
|
+
duration?: number;
|
|
6
|
+
easing?: (t: number) => number;
|
|
7
|
+
}
|
|
8
|
+
export interface PageMeta {
|
|
9
|
+
auth: boolean;
|
|
10
|
+
ssr: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface PageDef<Params extends Record<string, unknown>> extends PageMeta {
|
|
13
|
+
readonly _params?: Params;
|
|
14
|
+
}
|
|
15
|
+
export type PageRegistry = Record<string, PageDef<Record<string, unknown>>>;
|
|
16
|
+
export type PageParams<P> = P extends PageDef<infer Params> ? Params : never;
|
|
17
|
+
export interface AppRouterBase {
|
|
18
|
+
pages: PageRegistry;
|
|
19
|
+
}
|
|
20
|
+
export declare function definePage<Params extends Record<string, unknown>>(options?: Partial<PageMeta>): PageDef<Params>;
|
|
21
|
+
export declare function definePages<T extends PageRegistry>(p: T): T;
|
|
22
|
+
export interface RouterState {
|
|
23
|
+
routeName: string;
|
|
24
|
+
params: Record<string, string>;
|
|
25
|
+
}
|
|
26
|
+
export declare function buildUrl(pathTemplate: string, params: Record<string, unknown>): string;
|
|
27
|
+
export declare function parseUrl(pages: PageRegistry, pathname: string, search: string): RouterState | null;
|
|
28
|
+
//# sourceMappingURL=Router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/shared/Router.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC1E,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC;AAC9D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC;AAGD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAGD,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC7D,SAAQ,QAAQ;IAChB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAG5E,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;CACrB;AAGD,wBAAgB,UAAU,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,OAAO,GAAE,OAAO,CAAC,QAAQ,CAAM,GAC9B,OAAO,CAAC,MAAM,CAAC,CAKjB;AAGD,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAE3D;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAUD,wBAAgB,QAAQ,CACtB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CA4BR;AAID,wBAAgB,QAAQ,CACtB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,IAAI,CAoCpB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Factory: returns a real runtime object { auth, ssr }. Params is phantom.
|
|
2
|
+
export function definePage(options = {}) {
|
|
3
|
+
return {
|
|
4
|
+
auth: options.auth ?? true,
|
|
5
|
+
ssr: options.ssr ?? false,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
// Pass-through identity (mirrors defineFunctions pattern)
|
|
9
|
+
export function definePages(p) {
|
|
10
|
+
return p;
|
|
11
|
+
}
|
|
12
|
+
// Escape special regex metacharacters in a literal string segment
|
|
13
|
+
function escapeRegex(s) {
|
|
14
|
+
return s.replace(/[.+*?^${}()|[\]\\]/g, '\\$&');
|
|
15
|
+
}
|
|
16
|
+
// Build URL from path template + params
|
|
17
|
+
// :name segments fill a single path component; *name segments fill the rest (may include slashes)
|
|
18
|
+
// Remaining non-null params become ?query=string
|
|
19
|
+
export function buildUrl(pathTemplate, params) {
|
|
20
|
+
const usedParams = new Set();
|
|
21
|
+
const path = pathTemplate
|
|
22
|
+
.split('/')
|
|
23
|
+
.map((segment) => {
|
|
24
|
+
if (segment.startsWith(':') || segment.startsWith('*')) {
|
|
25
|
+
const name = segment.slice(1);
|
|
26
|
+
usedParams.add(name);
|
|
27
|
+
const value = params[name];
|
|
28
|
+
if (segment.startsWith(':') && (value === null || value === undefined))
|
|
29
|
+
throw new Error(`Missing required path parameter: "${name}"`);
|
|
30
|
+
return value !== null && value !== undefined ? String(value) : '';
|
|
31
|
+
}
|
|
32
|
+
return segment;
|
|
33
|
+
})
|
|
34
|
+
.join('/');
|
|
35
|
+
const qs = new URLSearchParams();
|
|
36
|
+
for (const [key, value] of Object.entries(params)) {
|
|
37
|
+
if (!usedParams.has(key) && value !== null && value !== undefined) {
|
|
38
|
+
qs.append(key, String(value));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const qsStr = qs.toString();
|
|
42
|
+
const normalizedPath = path.startsWith('/') ? path.slice(1) : path;
|
|
43
|
+
return qsStr ? `/${normalizedPath}?${qsStr}` : `/${normalizedPath}`;
|
|
44
|
+
}
|
|
45
|
+
// Match pathname+search against pages registry
|
|
46
|
+
// Returns RouterState or null (no match)
|
|
47
|
+
export function parseUrl(pages, pathname, search) {
|
|
48
|
+
// Strip leading slash for matching against route keys
|
|
49
|
+
const normalizedPathname = pathname.startsWith('/')
|
|
50
|
+
? pathname.slice(1)
|
|
51
|
+
: pathname;
|
|
52
|
+
for (const [routeKey] of Object.entries(pages)) {
|
|
53
|
+
// Convert route key to regex: split on '/', classify each segment by prefix
|
|
54
|
+
const regexSource = routeKey
|
|
55
|
+
.split('/')
|
|
56
|
+
.map((segment) => {
|
|
57
|
+
if (segment.startsWith(':'))
|
|
58
|
+
return `(?<${segment.slice(1)}>[^/]+)`;
|
|
59
|
+
if (segment.startsWith('*'))
|
|
60
|
+
return `(?<${segment.slice(1)}>[^]*)`;
|
|
61
|
+
return escapeRegex(segment);
|
|
62
|
+
})
|
|
63
|
+
.join('/');
|
|
64
|
+
const regex = new RegExp(`^${regexSource}$`);
|
|
65
|
+
const match = regex.exec(normalizedPathname);
|
|
66
|
+
if (match) {
|
|
67
|
+
const queryParams = {};
|
|
68
|
+
if (search) {
|
|
69
|
+
const searchStr = search.startsWith('?') ? search.slice(1) : search;
|
|
70
|
+
for (const [key, value] of new URLSearchParams(searchStr)) {
|
|
71
|
+
queryParams[key] = value;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
routeName: routeKey,
|
|
76
|
+
params: { ...queryParams, ...match.groups },
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=Router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/shared/Router.ts"],"names":[],"mappings":"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"}
|