UNPKG

astro-tractstack

Version:

Astro integration for TractStack - redeeming the web from boring experiences

1,643 lines 67.5 kB
import { fileURLToPath as d } from "node:url"; import { dirname as i, resolve as l } from "node:path"; import { existsSync as r, mkdirSync as x, copyFileSync as k, writeFileSync as u } from "node:fs"; import { resolve as a } from "path"; function b(t) { const e = i(d(t)); return { resolve: (...c) => l(e, ...c) }; } function g(t, e) { e.info("TractStack configuration applied"), t.enableMultiTenant && e.info("Multi-tenant mode enabled"), t.includeExamples && e.info("Example components will be included"); const c = process.env.PUBLIC_GO_BACKEND, n = process.env.PUBLIC_TENANTID; if (!c) e.warn("PUBLIC_GO_BACKEND not set - this will be required at runtime"); else try { new URL(c), e.info(`Backend URL validated: ${c}`); } catch { e.error(`PUBLIC_GO_BACKEND is not a valid URL: ${c}`); } return n ? /^[a-zA-Z0-9_-]+$/.test(n) ? e.info(`Tenant ID validated: ${n}`) : e.error(`PUBLIC_TENANTID contains invalid characters: ${n}`) : e.warn("PUBLIC_TENANTID not set - this will be required at runtime"), t; } async function w(t, e, c) { e.info("TractStack: Injecting template files"); const n = [ // Core Configuration { src: t("../templates/env.example"), dest: "env.example" }, { src: t("../templates/prettierrc"), dest: ".prettierrc" }, { src: t("../templates/prettierignore"), dest: ".prettierignore" }, { src: t("../templates/gitignore"), dest: ".gitignore" }, { src: t("../templates/tailwind.config.cjs"), dest: "tailwind.config.cjs" }, { src: t("../templates/src/constants.ts"), dest: "src/constants.ts" }, { src: t("../templates/src/constants/stopWords.ts"), dest: "src/constants/stopWords.ts" }, { src: t("../templates/src/pages/media/[...slug].astro"), dest: "src/pages/media/[...slug].astro" }, // Types { src: t("../templates/src/types/astro.ts"), dest: "src/types/astro.ts" }, { src: t("../astro.d.ts"), dest: "astro.d.ts" }, { src: t("../templates/src/types/tractstack.ts"), dest: "src/types/tractstack.ts" }, // Compositor types { src: t("../templates/src/types/compositorTypes.ts"), dest: "src/types/compositorTypes.ts" }, { src: t("../templates/src/types/nodeProps.ts"), dest: "src/types/nodeProps.ts" }, // Compositor components { src: t("../templates/src/components/compositor/Compositor.tsx"), dest: "src/components/compositor/Compositor.tsx" }, { src: t( "../templates/src/components/compositor/PanelVisibilityWrapper.tsx" ), dest: "src/components/compositor/PanelVisibilityWrapper.tsx" }, { src: t("../templates/src/components/compositor/Node.tsx"), dest: "src/components/compositor/Node.tsx" }, { src: t("../templates/src/components/compositor/NodeWithGuid.tsx"), dest: "src/components/compositor/NodeWithGuid.tsx" }, { src: t( "../templates/src/components/compositor/nodes/RenderChildren.tsx" ), dest: "src/components/compositor/nodes/RenderChildren.tsx" }, { src: t( "../templates/src/components/compositor/nodes/GhostInsertBlock.tsx" ), dest: "src/components/compositor/nodes/GhostInsertBlock.tsx" }, { src: t( "../templates/src/components/compositor/nodes/StoryFragment.tsx" ), dest: "src/components/compositor/nodes/StoryFragment.tsx" }, { src: t("../templates/src/components/compositor/nodes/Pane.tsx"), dest: "src/components/compositor/nodes/Pane.tsx" }, { src: t( "../templates/src/components/compositor/nodes/Pane_eraser.tsx" ), dest: "src/components/compositor/nodes/Pane_eraser.tsx" }, { src: t( "../templates/src/components/compositor/nodes/Pane_layout.tsx" ), dest: "src/components/compositor/nodes/Pane_layout.tsx" }, { src: t("../templates/src/components/compositor/nodes/Markdown.tsx"), dest: "src/components/compositor/nodes/Markdown.tsx" }, { src: t( "../templates/src/components/compositor/nodes/BgPaneWrapper.tsx" ), dest: "src/components/compositor/nodes/BgPaneWrapper.tsx" }, { src: t("../templates/src/components/compositor/nodes/Widget.tsx"), dest: "src/components/compositor/nodes/Widget.tsx" }, { src: t( "../templates/src/components/compositor/nodes/TagElement.tsx" ), dest: "src/components/compositor/nodes/TagElement.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/TabIndicator.tsx" ), dest: "src/components/compositor/nodes/tagElements/TabIndicator.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeBasicTag.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeBasicTag.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeBasicTag_insert.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeBasicTag_insert.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeBasicTag_eraser.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeBasicTag_eraser.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeBasicTag_settings.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeBasicTag_settings.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeText.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeText.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeAnchorComponent.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeAnchorComponent.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeA.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeA.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeA_eraser.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeA_eraser.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeButton.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeButton.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeButton_eraser.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeButton_eraser.tsx" }, { src: t( "../templates/src/components/compositor/nodes/tagElements/NodeImg.tsx" ), dest: "src/components/compositor/nodes/tagElements/NodeImg.tsx" }, // Edit widgets { src: t("../templates/src/components/edit/widgets/BeliefWidget.tsx"), dest: "src/components/edit/widgets/BeliefWidget.tsx" }, { src: t( "../templates/src/components/edit/widgets/InteractiveDisclosureWidget.tsx" ), dest: "src/components/edit/widgets/InteractiveDisclosureWidget.tsx" }, { src: t( "../templates/src/components/edit/widgets/IdentifyAsWidget.tsx" ), dest: "src/components/edit/widgets/IdentifyAsWidget.tsx" }, { src: t("../templates/src/components/edit/widgets/ToggleWidget.tsx"), dest: "src/components/edit/widgets/ToggleWidget.tsx" }, { src: t("../templates/src/components/edit/widgets/BunnyWidget.tsx"), dest: "src/components/edit/widgets/BunnyWidget.tsx" }, { src: t("../templates/src/components/edit/widgets/SignupWidget.tsx"), dest: "src/components/edit/widgets/SignupWidget.tsx" }, { src: t( "../templates/src/components/edit/widgets/YouTubeWidget.tsx" ), dest: "src/components/edit/widgets/YouTubeWidget.tsx" }, // Compositor fields { src: t("../templates/src/components/fields/SingleParam.tsx"), dest: "src/components/fields/SingleParam.tsx" }, { src: t("../templates/src/components/fields/BooleanParam.tsx"), dest: "src/components/fields/BooleanParam.tsx" }, { src: t("../templates/src/components/fields/MultiParam.tsx"), dest: "src/components/fields/MultiParam.tsx" }, { src: t("../templates/src/components/fields/ImageUpload.tsx"), dest: "src/components/fields/ImageUpload.tsx" }, { src: t("../templates/src/components/fields/ArtpackImage.tsx"), dest: "src/components/fields/ArtpackImage.tsx" }, { src: t("../templates/src/components/fields/BackgroundImage.tsx"), dest: "src/components/fields/BackgroundImage.tsx" }, { src: t( "../templates/src/components/fields/BackgroundImageWrapper.tsx" ), dest: "src/components/fields/BackgroundImageWrapper.tsx" }, { src: t("../templates/src/components/fields/ColorPickerCombo.tsx"), dest: "src/components/fields/ColorPickerCombo.tsx" }, { src: t( "../templates/src/components/fields/PaneBreakCollectionSelector.tsx" ), dest: "src/components/fields/PaneBreakCollectionSelector.tsx" }, { src: t( "../templates/src/components/fields/PaneBreakShapeSelector.tsx" ), dest: "src/components/fields/PaneBreakShapeSelector.tsx" }, { src: t( "../templates/src/components/fields/SelectedTailwindClass.tsx" ), dest: "src/components/fields/SelectedTailwindClass.tsx" }, { src: t("../templates/src/components/fields/ViewportComboBox.tsx"), dest: "src/components/fields/ViewportComboBox.tsx" }, { src: t( "../templates/src/components/fields/BunnyMomentSelector.tsx" ), dest: "src/components/fields/BunnyMomentSelector.tsx" }, { src: t( "../templates/src/components/fields/ActionBuilderTimeSelector.tsx" ), dest: "src/components/fields/ActionBuilderTimeSelector.tsx" }, // Compositor elements { src: t( "../templates/src/components/compositor/elements/Belief.tsx" ), dest: "src/components/compositor/elements/Belief.tsx" }, { src: t( "../templates/src/components/compositor/elements/ToggleBelief.tsx" ), dest: "src/components/compositor/elements/ToggleBelief.tsx" }, { src: t( "../templates/src/components/compositor/elements/IdentifyAs.tsx" ), dest: "src/components/compositor/elements/IdentifyAs.tsx" }, { src: t( "../templates/src/components/compositor/elements/SignUp.tsx" ), dest: "src/components/compositor/elements/SignUp.tsx" }, { src: t( "../templates/src/components/compositor/elements/BunnyVideo.tsx" ), dest: "src/components/compositor/elements/BunnyVideo.tsx" }, { src: t( "../templates/src/components/compositor/elements/YouTubeWrapper.tsx" ), dest: "src/components/compositor/elements/YouTubeWrapper.tsx" }, { src: t( "../templates/src/components/compositor/elements/BgVisualBreak.tsx" ), dest: "src/components/compositor/elements/BgVisualBreak.tsx" }, { src: t( "../templates/src/components/compositor/elements/BgImage.tsx" ), dest: "src/components/compositor/elements/BgImage.tsx" }, { src: t("../templates/src/components/compositor/elements/Svg.tsx"), dest: "src/components/compositor/elements/Svg.tsx" }, { src: t( "../templates/src/components/compositor/elements/PlayButton.tsx" ), dest: "src/components/compositor/elements/PlayButton.tsx" }, // Compositor panels { src: t( "../templates/src/components/edit/storyfragment/StoryFragmentConfigPanel.tsx" ), dest: "src/components/edit/storyfragment/StoryFragmentConfigPanel.tsx" }, { src: t( "../templates/src/components/edit/storyfragment/StoryFragmentPanel_title.tsx" ), dest: "src/components/edit/storyfragment/StoryFragmentPanel_title.tsx" }, { src: t( "../templates/src/components/edit/storyfragment/StoryFragmentPanel_slug.tsx" ), dest: "src/components/edit/storyfragment/StoryFragmentPanel_slug.tsx" }, { src: t( "../templates/src/components/edit/storyfragment/StoryFragmentPanel_menu.tsx" ), dest: "src/components/edit/storyfragment/StoryFragmentPanel_menu.tsx" }, { src: t( "../templates/src/components/edit/storyfragment/StoryFragmentPanel_og.tsx" ), dest: "src/components/edit/storyfragment/StoryFragmentPanel_og.tsx" }, { src: t("../templates/src/components/edit/pane/AddPanePanel.tsx"), dest: "src/components/edit/pane/AddPanePanel.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_break.tsx" ), dest: "src/components/edit/pane/AddPanePanel_break.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_codehook.tsx" ), dest: "src/components/edit/pane/AddPanePanel_codehook.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_newAICopy_modal.tsx" ), dest: "src/components/edit/pane/AddPanePanel_newAICopy_modal.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_newAICopy.tsx" ), dest: "src/components/edit/pane/AddPanePanel_newAICopy.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_newCopyMode.tsx" ), dest: "src/components/edit/pane/AddPanePanel_newCopyMode.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_newCustomCopy.tsx" ), dest: "src/components/edit/pane/AddPanePanel_newCustomCopy.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_new.tsx" ), dest: "src/components/edit/pane/AddPanePanel_new.tsx" }, { src: t( "../templates/src/components/edit/pane/AddPanePanel_reuse.tsx" ), dest: "src/components/edit/pane/AddPanePanel_reuse.tsx" }, { src: t("../templates/src/components/edit/pane/ConfigPanePanel.tsx"), dest: "src/components/edit/pane/ConfigPanePanel.tsx" }, { src: t( "../templates/src/components/edit/pane/PanePanel_impression.tsx" ), dest: "src/components/edit/pane/PanePanel_impression.tsx" }, { src: t("../templates/src/components/edit/pane/PanePanel_path.tsx"), dest: "src/components/edit/pane/PanePanel_path.tsx" }, { src: t("../templates/src/components/edit/pane/PanePanel_title.tsx"), dest: "src/components/edit/pane/PanePanel_title.tsx" }, { src: t( "../templates/src/components/edit/context/ContextPaneConfig.tsx" ), dest: "src/components/edit/context/ContextPaneConfig.tsx" }, { src: t( "../templates/src/components/edit/context/ContextPaneConfig_title.tsx" ), dest: "src/components/edit/context/ContextPaneConfig_title.tsx" }, { src: t( "../templates/src/components/edit/context/ContextPaneConfig_slug.tsx" ), dest: "src/components/edit/context/ContextPaneConfig_slug.tsx" }, { src: t("../templates/src/components/edit/pane/PageGenSelector.tsx"), dest: "src/components/edit/pane/PageGenSelector.tsx" }, { src: t("../templates/src/components/edit/pane/PageGenSpecial.tsx"), dest: "src/components/edit/pane/PageGenSpecial.tsx" }, { src: t("../templates/src/components/edit/pane/PageGen.tsx"), dest: "src/components/edit/pane/PageGen.tsx" }, { src: t("../templates/src/components/edit/pane/PageGen_preview.tsx"), dest: "src/components/edit/pane/PageGen_preview.tsx" }, // Compositor previews { src: t( "../templates/src/components/compositor/preview/PanesPreviewGenerator.tsx" ), dest: "src/components/compositor/preview/PanesPreviewGenerator.tsx" }, { src: t( "../templates/src/components/compositor/preview/PaneSnapshotGenerator.tsx" ), dest: "src/components/compositor/preview/PaneSnapshotGenerator.tsx" }, { src: t( "../templates/src/components/compositor/preview/OgImagePreview.tsx" ), dest: "src/components/compositor/preview/OgImagePreview.tsx" }, { src: t( "../templates/src/components/compositor/preview/VisualBreakPreview.tsx" ), dest: "src/components/compositor/preview/VisualBreakPreview.tsx" }, { src: t( "../templates/src/components/compositor/preview/ListContentPreview.tsx" ), dest: "src/components/compositor/preview/ListContentPreview.tsx" }, { src: t( "../templates/src/components/compositor/preview/FeaturedArticlePreview.tsx" ), dest: "src/components/compositor/preview/FeaturedArticlePreview.tsx" }, // Server side stores { src: t("../templates/src/stores/backend.ts"), dest: "src/stores/backend.ts" }, // Compositor stores { src: t("../templates/src/stores/nodes.ts"), dest: "src/stores/nodes.ts" }, { src: t("../templates/src/stores/notificationSystem.ts"), dest: "src/stores/notificationSystem.ts" }, { src: t("../templates/src/stores/nodesHistory.ts"), dest: "src/stores/nodesHistory.ts" }, // AAI utils { src: t("../templates/src/utils/aai/getTitleSlug.ts"), dest: "src/utils/aai/getTitleSlug.ts" }, // Compositor utils - etl { src: t("../templates/src/utils/etl/index.ts"), dest: "src/utils/etl/index.ts" }, { src: t("../templates/src/utils/etl/extractor.ts"), dest: "src/utils/etl/extractor.ts" }, { src: t("../templates/src/utils/etl/transformer.ts"), dest: "src/utils/etl/transformer.ts" }, { src: t("../templates/src/utils/etl/loader.ts"), dest: "src/utils/etl/loader.ts" }, // Compositor utils { src: t("../templates/src/utils/compositor/processMarkdown.ts"), dest: "src/utils/compositor/processMarkdown.ts" }, { src: t( "../templates/src/utils/compositor/templateMarkdownStyles.ts" ), dest: "src/utils/compositor/templateMarkdownStyles.ts" }, { src: t( "../templates/src/utils/compositor/nodesMarkdownGenerator.ts" ), dest: "src/utils/compositor/nodesMarkdownGenerator.ts" }, { src: t("../templates/src/utils/compositor/nodesHelper.ts"), dest: "src/utils/compositor/nodesHelper.ts" }, { src: t("../templates/src/utils/compositor/allowInsert.ts"), dest: "src/utils/compositor/allowInsert.ts" }, { src: t("../templates/src/utils/compositor/typeGuards.ts"), dest: "src/utils/compositor/typeGuards.ts" }, { src: t("../templates/src/utils/compositor/domHelpers.ts"), dest: "src/utils/compositor/domHelpers.ts" }, { src: t("../templates/src/utils/compositor/handleClickEvent.ts"), dest: "src/utils/compositor/handleClickEvent.ts" }, { src: t( "../templates/src/utils/compositor/reduceNodesClassNames.ts" ), dest: "src/utils/compositor/reduceNodesClassNames.ts" }, { src: t("../templates/src/utils/compositor/tailwindClasses.ts"), dest: "src/utils/compositor/tailwindClasses.ts" }, { src: t("../templates/src/utils/compositor/tailwindColors.ts"), dest: "src/utils/compositor/tailwindColors.ts" }, { src: t("../templates/src/utils/compositor/TemplateNodes.ts"), dest: "src/utils/compositor/TemplateNodes.ts" }, { src: t("../templates/src/utils/compositor/TemplatePanes.ts"), dest: "src/utils/compositor/TemplatePanes.ts" }, { src: t("../templates/src/utils/compositor/TemplateMarkdowns.ts"), dest: "src/utils/compositor/TemplateMarkdowns.ts" }, { src: t("../templates/src/constants/tailwindColors.json"), dest: "src/constants/tailwindColors.json" }, { src: t("../templates/src/constants/shapes.ts"), dest: "src/constants/shapes.ts" }, { src: t("../templates/src/constants/beliefs.ts"), dest: "src/constants/beliefs.ts" }, { src: t("../templates/src/constants/prompts.json"), dest: "src/constants/prompts.json" }, // Stores { src: t("../templates/src/stores/storykeep.ts"), dest: "src/stores/storykeep.ts" }, { src: t("../templates/src/stores/analytics.ts"), dest: "src/stores/analytics.ts" }, { src: t("../templates/src/stores/orphanAnalysis.ts"), dest: "src/stores/orphanAnalysis.ts" }, { src: t("../templates/src/stores/navigation.ts"), dest: "src/stores/navigation.ts" }, // Action utilities { src: t("../templates/src/utils/actions/lispLexer.ts"), dest: "src/utils/actions/lispLexer.ts" }, { src: t("../templates/src/utils/actions/preParse_Action.ts"), dest: "src/utils/actions/preParse_Action.ts" }, { src: t("../templates/src/utils/actions/preParse_Clicked.ts"), dest: "src/utils/actions/preParse_Clicked.ts" }, { src: t("../templates/src/utils/actions/preParse_Impression.ts"), dest: "src/utils/actions/preParse_Impression.ts" }, { src: t("../templates/src/utils/actions/preParse_Bunny.ts"), dest: "src/utils/actions/preParse_Bunny.ts" }, { src: t("../templates/src/utils/backend.ts"), dest: "src/utils/backend.ts" }, { src: t("../templates/src/utils/api.ts"), dest: "src/utils/api.ts" }, { src: t("../templates/src/utils/api/brandConfig.ts"), dest: "src/utils/api/brandConfig.ts" }, { src: t("../templates/src/utils/auth.ts"), dest: "src/utils/auth.ts" }, { src: t("../templates/src/utils/helpers.ts"), dest: "src/utils/helpers.ts" }, { src: t("../templates/src/utils/useInterval.ts"), dest: "src/utils/useInterval.ts" }, { src: t("../templates/src/utils/profileStorage.ts"), dest: "src/utils/profileStorage.ts" }, { src: t("../templates/src/utils/api/fileHelpers.ts"), dest: "src/utils/api/fileHelpers.ts" }, { src: t("../templates/src/utils/api/brandHelpers.ts"), dest: "src/utils/api/brandHelpers.ts" }, { src: t("../templates/src/utils/api/advancedConfig.ts"), dest: "src/utils/api/advancedConfig.ts" }, { src: t("../templates/src/utils/api/advancedHelpers.ts"), dest: "src/utils/api/advancedHelpers.ts" }, { src: t("../templates/src/utils/api/resourceConfig.ts"), dest: "src/utils/api/resourceConfig.ts" }, { src: t("../templates/src/utils/api/resourceHelpers.ts"), dest: "src/utils/api/resourceHelpers.ts" }, { src: t("../templates/src/utils/api/menuHelpers.ts"), dest: "src/utils/api/menuHelpers.ts" }, { src: t("../templates/src/utils/api/menuConfig.ts"), dest: "src/utils/api/menuConfig.ts" }, { src: t("../templates/src/utils/api/beliefHelpers.ts"), dest: "src/utils/api/beliefHelpers.ts" }, { src: t("../templates/src/utils/api/beliefConfig.ts"), dest: "src/utils/api/beliefConfig.ts" }, // Layouts { src: t("../templates/src/layouts/Layout.astro"), dest: "src/layouts/Layout.astro" }, // Pages { src: t("../templates/src/pages/[...slug].astro"), dest: "src/pages/[...slug].astro" }, { src: t("../templates/src/pages/context/[...contextSlug].astro"), dest: "src/pages/context/[...contextSlug].astro" }, { src: t( "../templates/src/pages/context/[...contextSlug]/edit.astro" ), dest: "src/pages/context/[...contextSlug]/edit.astro" }, { src: t("../templates/src/pages/storykeep.astro"), dest: "src/pages/storykeep.astro" }, { src: t("../templates/src/pages/storykeep/init.astro"), dest: "src/pages/storykeep/init.astro" }, { src: t("../templates/src/pages/storykeep/content.astro"), dest: "src/pages/storykeep/content.astro" }, { src: t("../templates/src/pages/storykeep/branding.astro"), dest: "src/pages/storykeep/branding.astro" }, { src: t("../templates/src/pages/storykeep/advanced.astro"), dest: "src/pages/storykeep/advanced.astro" }, { src: t("../templates/src/pages/maint.astro"), dest: "src/pages/maint.astro" }, { src: t("../templates/src/pages/404.astro"), dest: "src/pages/404.astro" }, { src: t("../templates/src/pages/llms.txt.ts"), dest: "src/pages/llms.txt.ts" }, { src: t("../templates/src/pages/robots.txt.ts"), dest: "src/pages/robots.txt.ts" }, { src: t("../templates/src/pages/sitemap.xml.ts"), dest: "src/pages/sitemap.xml.ts" }, { src: t("../templates/src/pages/api/tailwind.ts"), dest: "src/pages/api/tailwind.ts" }, // Authentication Pages { src: t("../templates/src/pages/storykeep/login.astro"), dest: "src/pages/storykeep/login.astro" }, { src: t("../templates/src/pages/storykeep/logout.astro"), dest: "src/pages/storykeep/logout.astro" }, { src: t("../templates/src/pages/storykeep/profile.astro"), dest: "src/pages/storykeep/profile.astro" }, // API Routes { src: t("../templates/src/pages/api/auth/profile.ts"), dest: "src/pages/api/auth/profile.ts" }, { src: t("../templates/src/pages/api/auth/decode.ts"), dest: "src/pages/api/auth/decode.ts" }, { src: t("../templates/src/pages/api/auth/login.ts"), dest: "src/pages/api/auth/login.ts" }, { src: t("../templates/src/pages/api/auth/logout.ts"), dest: "src/pages/api/auth/logout.ts" }, { src: t("../templates/src/pages/api/orphan-analysis.ts"), dest: "src/pages/api/orphan-analysis.ts" }, // Base Components { src: t("../templates/src/components/Header.astro"), dest: "src/components/Header.astro" }, { src: t("../templates/src/components/Footer.astro"), dest: "src/components/Footer.astro" }, { src: t("../templates/src/components/Menu.tsx"), dest: "src/components/Menu.tsx" }, { src: t("../templates/src/components/Fragment.astro"), dest: "src/components/Fragment.astro" }, // Search Components { src: t("../templates/src/components/search/SearchWrapper.tsx"), dest: "src/components/search/SearchWrapper.tsx" }, { src: t("../templates/src/components/search/SearchModal.tsx"), dest: "src/components/search/SearchModal.tsx" }, { src: t("../templates/src/components/search/SearchResults.tsx"), dest: "src/components/search/SearchResults.tsx" }, { src: t("../templates/src/hooks/useSearch.ts"), dest: "src/hooks/useSearch.ts" }, // Profile Components { src: t("../templates/src/components/profile/ProfileConsent.tsx"), dest: "src/components/profile/ProfileConsent.tsx" }, { src: t("../templates/src/components/profile/ProfileSwitch.tsx"), dest: "src/components/profile/ProfileSwitch.tsx" }, { src: t("../templates/src/components/profile/ProfileCreate.tsx"), dest: "src/components/profile/ProfileCreate.tsx" }, { src: t("../templates/src/components/profile/ProfileEdit.tsx"), dest: "src/components/profile/ProfileEdit.tsx" }, { src: t("../templates/src/components/profile/ProfileUnlock.tsx"), dest: "src/components/profile/ProfileUnlock.tsx" }, // Form System { src: t("../templates/src/hooks/useFormState.ts"), dest: "src/hooks/useFormState.ts" }, { src: t("../templates/src/constants/brandThemes.ts"), dest: "src/constants/brandThemes.ts" }, { src: t("../templates/src/types/formTypes.ts"), dest: "src/types/formTypes.ts" }, { src: t("../templates/src/components/form/ParagraphArrayInput.tsx"), dest: "src/components/form/ParagraphArrayInput.tsx" }, { src: t("../templates/src/components/form/StringInput.tsx"), dest: "src/components/form/StringInput.tsx" }, { src: t("../templates/src/components/form/StringArrayInput.tsx"), dest: "src/components/form/StringArrayInput.tsx" }, { src: t("../templates/src/components/form/BooleanToggle.tsx"), dest: "src/components/form/BooleanToggle.tsx" }, { src: t("../templates/src/components/form/EnumSelect.tsx"), dest: "src/components/form/EnumSelect.tsx" }, { src: t("../templates/src/components/form/ColorPicker.tsx"), dest: "src/components/form/ColorPicker.tsx" }, { src: t("../templates/src/components/form/FileUpload.tsx"), dest: "src/components/form/FileUpload.tsx" }, { src: t("../templates/src/components/form/NumberInput.tsx"), dest: "src/components/form/NumberInput.tsx" }, { src: t("../templates/src/components/form/DateTimeInput.tsx"), dest: "src/components/form/DateTimeInput.tsx" }, { src: t("../templates/src/components/form/UnsavedChangesBar.tsx"), dest: "src/components/form/UnsavedChangesBar.tsx" }, { src: t("../templates/src/components/form/ActionBuilderField.tsx"), dest: "src/components/form/ActionBuilderField.tsx" }, { src: t( "../templates/src/components/form/ActionBuilderBeliefSelector.tsx" ), dest: "src/components/form/ActionBuilderBeliefSelector.tsx" }, { src: t("../templates/src/components/form/MagicPathBuilder.tsx"), dest: "src/components/form/MagicPathBuilder.tsx" }, { src: t( "../templates/src/components/form/ActionBuilderSlugSelector.tsx" ), dest: "src/components/form/ActionBuilderSlugSelector.tsx" }, // Brand Form Components { src: t( "../templates/src/components/form/brand/BrandColorsSection.tsx" ), dest: "src/components/form/brand/BrandColorsSection.tsx" }, { src: t( "../templates/src/components/form/brand/BrandAssetsSection.tsx" ), dest: "src/components/form/brand/BrandAssetsSection.tsx" }, { src: t( "../templates/src/components/form/brand/SiteConfigSection.tsx" ), dest: "src/components/form/brand/SiteConfigSection.tsx" }, { src: t( "../templates/src/components/form/brand/SocialLinksSection.tsx" ), dest: "src/components/form/brand/SocialLinksSection.tsx" }, { src: t("../templates/src/components/form/brand/SEOSection.tsx"), dest: "src/components/form/brand/SEOSection.tsx" }, // Advanced Configuration Components { src: t( "../templates/src/components/form/advanced/AuthConfigSection.tsx" ), dest: "src/components/form/advanced/AuthConfigSection.tsx" }, { src: t( "../templates/src/components/form/advanced/APIConfigSection.tsx" ), dest: "src/components/form/advanced/APIConfigSection.tsx" }, // StoryKeep Dashboard Components { src: t( "../templates/src/components/storykeep/StoryKeepBackdrop.astro" ), dest: "src/components/storykeep/StoryKeepBackdrop.astro" }, { src: t("../templates/src/components/storykeep/Dashboard.tsx"), dest: "src/components/storykeep/Dashboard.tsx" }, { src: t( "../templates/src/components/storykeep/state/BrandingWrapper.tsx" ), dest: "src/components/storykeep/state/BrandingWrapper.tsx" }, { src: t( "../templates/src/components/storykeep/state/FetchAnalytics.tsx" ), dest: "src/components/storykeep/state/FetchAnalytics.tsx" }, { src: t("../templates/src/components/storykeep/widgets/Wizard.tsx"), dest: "src/components/storykeep/widgets/Wizard.tsx" }, { src: t( "../templates/src/components/storykeep/Dashboard_Advanced.tsx" ), dest: "src/components/storykeep/Dashboard_Advanced.tsx" }, { src: t( "../templates/src/components/storykeep/Dashboard_Analytics.tsx" ), dest: "src/components/storykeep/Dashboard_Analytics.tsx" }, { src: t( "../templates/src/components/storykeep/Dashboard_Branding.tsx" ), dest: "src/components/storykeep/Dashboard_Branding.tsx" }, { src: t( "../templates/src/components/storykeep/Dashboard_Content.tsx" ), dest: "src/components/storykeep/Dashboard_Content.tsx" }, { src: t( "../templates/src/components/storykeep/Dashboard_Activity.tsx" ), dest: "src/components/storykeep/Dashboard_Activity.tsx" }, { src: t( "../templates/src/components/storykeep/widgets/ResponsiveLine.tsx" ), dest: "src/components/storykeep/widgets/ResponsiveLine.tsx" }, // Content Management Components { src: t( "../templates/src/components/storykeep/controls/content/ManageContent.tsx" ), dest: "src/components/storykeep/controls/content/ManageContent.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/ContentSummary.tsx" ), dest: "src/components/storykeep/controls/content/ContentSummary.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/StoryFragmentTable.tsx" ), dest: "src/components/storykeep/controls/content/StoryFragmentTable.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/ContentBrowser.tsx" ), dest: "src/components/storykeep/controls/content/ContentBrowser.tsx" }, { src: t( "../templates/src/components/form/content/ContentSummary.tsx" ), dest: "src/components/form/content/ContentSummary.tsx" }, { src: t( "../templates/src/components/storykeep/controls/UsageCell.tsx" ), dest: "src/components/storykeep/controls/UsageCell.tsx" }, // Menu Management Components { src: t( "../templates/src/components/storykeep/controls/content/MenuTable.tsx" ), dest: "src/components/storykeep/controls/content/MenuTable.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/MenuForm.tsx" ), dest: "src/components/storykeep/controls/content/MenuForm.tsx" }, // Resource Management Components { src: t( "../templates/src/components/storykeep/controls/content/ResourceBulkIngest.tsx" ), dest: "src/components/storykeep/controls/content/ResourceBulkIngest.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/ResourceForm.tsx" ), dest: "src/components/storykeep/controls/content/ResourceForm.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/ResourceTable.tsx" ), dest: "src/components/storykeep/controls/content/ResourceTable.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/KnownResourceTable.tsx" ), dest: "src/components/storykeep/controls/content/KnownResourceTable.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/KnownResourceForm.tsx" ), dest: "src/components/storykeep/controls/content/KnownResourceForm.tsx" }, // Belief Management Components { src: t( "../templates/src/components/storykeep/controls/content/BeliefTable.tsx" ), dest: "src/components/storykeep/controls/content/BeliefTable.tsx" }, { src: t( "../templates/src/components/storykeep/controls/content/BeliefForm.tsx" ), dest: "src/components/storykeep/controls/content/BeliefForm.tsx" }, // CodeHook Components { src: t("../templates/src/components/codehooks/EpinetWrapper.tsx"), dest: "src/components/codehooks/EpinetWrapper.tsx" }, { src: t( "../templates/src/components/codehooks/EpinetDurationSelector.tsx" ), dest: "src/components/codehooks/EpinetDurationSelector.tsx" }, { src: t("../templates/src/components/codehooks/EpinetTableView.tsx"), dest: "src/components/codehooks/EpinetTableView.tsx" }, { src: t("../templates/src/components/codehooks/SankeyDiagram.tsx"), dest: "src/components/codehooks/SankeyDiagram.tsx" }, { src: t("../templates/src/components/codehooks/SearchWidget.tsx"), dest: "src/components/codehooks/SearchWidget.tsx" }, { src: t( "../templates/src/components/codehooks/FeaturedArticle.astro" ), dest: "src/components/codehooks/FeaturedArticle.astro" }, { src: t( "../templates/src/components/codehooks/FeaturedArticleSetup.tsx" ), dest: "src/components/codehooks/FeaturedArticleSetup.tsx" }, { src: t("../templates/src/components/codehooks/ListContent.astro"), dest: "src/components/codehooks/ListContent.astro" }, { src: t( "../templates/src/components/codehooks/ListContentSetup.tsx" ), dest: "src/components/codehooks/ListContentSetup.tsx" }, { src: t( "../templates/src/components/codehooks/BunnyVideoWrapper.astro" ), dest: "src/components/codehooks/BunnyVideoWrapper.astro" }, { src: t("../templates/src/components/codehooks/BunnyVideoSetup.tsx"), dest: "src/components/codehooks/BunnyVideoSetup.tsx" }, // Widget Components { src: t("../templates/src/components/widgets/Impression.tsx"), dest: "src/components/widgets/Impression.tsx" }, { src: t("../templates/src/components/widgets/ImpressionWrapper.tsx"), dest: "src/components/widgets/ImpressionWrapper.tsx" }, { src: t("../templates/src/components/widgets/BunnyVideoHero.astro"), dest: "src/components/widgets/BunnyVideoHero.astro" }, // Server Scripts { src: t("../templates/src/lib/storyData.ts"), dest: "src/lib/storyData.ts" }, { src: t("../templates/src/lib/session.ts"), dest: "src/lib/session.ts" }, // Client Scripts { src: t("../templates/src/client/htmx.min.js"), dest: "public/client/htmx.min.js" }, { src: t("../templates/src/client/view.js"), dest: "public/client/view.js" }, { src: t("../templates/src/client/app.js"), dest: "public/client/app.js" }, // StoryKeep Editor (add new section) { src: t("../templates/src/pages/[...slug]/edit.astro"), dest: "src/pages/[...slug]/edit.astro" }, { src: t("../templates/src/utils/layout.ts"), dest: "src/utils/layout.ts" }, // StoryKeep Components { src: t("../templates/src/components/edit/Header.tsx"), dest: "src/components/edit/Header.tsx" }, { src: t("../templates/src/components/edit/ToolMode.tsx"), dest: "src/components/edit/ToolMode.tsx" }, { src: t("../templates/src/components/edit/ToolBar.tsx"), dest: "src/components/edit/ToolBar.tsx" }, { src: t("../templates/src/components/edit/SettingsPanel.tsx"), dest: "src/components/edit/SettingsPanel.tsx" }, { src: t("../templates/src/components/edit/PanelSwitch.tsx"), dest: "src/components/edit/PanelSwitch.tsx" }, { src: t("../templates/src/components/edit/state/SaveModal.tsx"), dest: "src/components/edit/state/SaveModal.tsx" }, { src: t("../templates/src/components/edit/state/StylesMemory.tsx"), dest: "src/components/edit/state/StylesMemory.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleBreakPanel.tsx" ), dest: "src/components/edit/panels/StyleBreakPanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleCodeHookPanel.tsx" ), dest: "src/components/edit/panels/StyleCodeHookPanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleElementPanel_add.tsx" ), dest: "src/components/edit/panels/StyleElementPanel_add.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleElementPanel_remove.tsx" ), dest: "src/components/edit/panels/StyleElementPanel_remove.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleElementPanel.tsx" ), dest: "src/components/edit/panels/StyleElementPanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleElementPanel_update.tsx" ), dest: "src/components/edit/panels/StyleElementPanel_update.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleImagePanel_add.tsx" ), dest: "src/components/edit/panels/StyleImagePanel_add.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleImagePanel_remove.tsx" ), dest: "src/components/edit/panels/StyleImagePanel_remove.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleImagePanel.tsx" ), dest: "src/components/edit/panels/StyleImagePanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleImagePanel_update.tsx" ), dest: "src/components/edit/panels/StyleImagePanel_update.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLiElementPanel_add.tsx" ), dest: "src/components/edit/panels/StyleLiElementPanel_add.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLiElementPanel_remove.tsx" ), dest: "src/components/edit/panels/StyleLiElementPanel_remove.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLiElementPanel.tsx" ), dest: "src/components/edit/panels/StyleLiElementPanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLiElementPanel_update.tsx" ), dest: "src/components/edit/panels/StyleLiElementPanel_update.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLinkPanel_add.tsx" ), dest: "src/components/edit/panels/StyleLinkPanel_add.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLinkPanel_config.tsx" ), dest: "src/components/edit/panels/StyleLinkPanel_config.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLinkPanel_remove.tsx" ), dest: "src/components/edit/panels/StyleLinkPanel_remove.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLinkPanel.tsx" ), dest: "src/components/edit/panels/StyleLinkPanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleLinkPanel_update.tsx" ), dest: "src/components/edit/panels/StyleLinkPanel_update.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleParentPanel_add.tsx" ), dest: "src/components/edit/panels/StyleParentPanel_add.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleParentPanel_deleteLayer.tsx" ), dest: "src/components/edit/panels/StyleParentPanel_deleteLayer.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleParentPanel_remove.tsx" ), dest: "src/components/edit/panels/StyleParentPanel_remove.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleParentPanel.tsx" ), dest: "src/components/edit/panels/StyleParentPanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleParentPanel_update.tsx" ), dest: "src/components/edit/panels/StyleParentPanel_update.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleWidgetPanel_add.tsx" ), dest: "src/components/edit/panels/StyleWidgetPanel_add.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleWidgetPanel_config.tsx" ), dest: "src/components/edit/panels/StyleWidgetPanel_config.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleWidgetPanel_remove.tsx" ), dest: "src/components/edit/panels/StyleWidgetPanel_remove.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleWidgetPanel.tsx" ), dest: "src/components/edit/panels/StyleWidgetPanel.tsx" }, { src: t( "../templates/src/components/edit/panels/StyleWidgetPanel_update.tsx" ), dest: "src/components/edit/panels/StyleWidgetPanel_update.tsx" }, // Styles { src: t("../templates/css/custom.css"), dest: "public/styles/custom.css" }, { src: t("../templates/css/frontend.css"), dest: "public/styles/frontend.css" }, { src: t("../templates/css/storykeep.css"), dest: "public/styles/storykeep.css" }, // Fonts { src: t("../templates/fonts/Inter-Black.woff2"), dest: "public/fonts/Inter-Black.woff2" }, { src: t("../templates/fonts/Inter-Bold.woff2"), dest: "public/fonts/Inter-Bold.woff2" }, { src: t("../templates/fonts/Inter-Regular.woff2"), dest: "public/fonts/Inter-Regular.woff2" }, // Brand Assets { src: t("../templates/brand/static.jpg"), dest: "public/static.jpg" }, { src: t("../templates/brand/og.png"), dest: "public/brand/og.png" }, { src: t("../templates/brand/oglogo.png"), dest: "public/brand/oglogo.png" }, { src: t("../templates/brand/favicon.ico"), dest: "public/brand/favicon.ico" }, { src: t("../templates/brand/logo.svg"), dest: "public/brand/logo.svg" }, { src: t("../templates/brand/wordmark.svg"), dest: "public/brand/wordmark.svg" }, // Artpack Assets - kCz { src: t("../templates/artpacks/kCz/captainBreakfast_1080px.webp"), dest: "public/artpacks/kCz/captainBreakfast_1080px.webp" }, { src: t("../templates/artpacks/kCz/captainBreakfast_1920px.webp"), dest: "public/artpacks/kCz/captainBreakfast_1920px.webp" }, { src: t("../templates/artpacks/kCz/captainBreakfast_600px.webp"), dest: "public/artpacks/kCz/captainBreakfast_600px.webp" }, { src: t("../templates/artpacks/kCz/cleanDrips_1080px.webp"), dest: "public/artpacks/kCz/cleanDrips_1080px.webp" }, { src: t("../templates/artpacks/kCz/cleanDrips_1920px.webp"), dest: "public/artpacks/kCz/cleanDrips_1920px.webp" }, { src: t("../templates/artpacks/kCz/cleanDrips_600px.webp"), dest: "public/artpacks/kCz/cleanDrips_600px.webp" }, { src: t("../templates/artpacks/kCz/crispwaves_1080px.webp"), dest: "public/artpacks/kCz/crispwaves_1080px.webp" }, { src: t("../templates/artpacks/kCz/crispwaves_1920px.webp"), dest: "public/artpacks/kCz/crispwaves_1920px.webp" }, { src: t("../templates/artpacks/kCz/crispwaves_600px.webp"), dest: "public/artpacks/kCz/crispwaves_600px.webp" }, { src: t("../templates/artpacks/kCz/dragon_1080px.webp"), dest: "public/artpacks/kCz/dragon_1080px.webp" }, { src: t("../templates/artpacks/kCz/dragon_1920px.webp"), dest: "public/artpacks/kCz/dragon_1920px.webp" }, { src: t("../templates/artpacks/kCz/dragon_600px.webp"), dest: "public/artpacks/kCz/dragon_600px.webp" }, { src: t("../templates/artpacks/kCz/dragonSkin_1080px.webp"), dest: "public/artpacks/kCz/dragonSkin_1080px.webp" }, { src: t("../templates/artpacks/kCz/dragonSkin_1920px.webp"), dest: "public/artpacks/kCz/dragonSkin_1920px.webp" }, { src: t("../templates/artpacks/kCz/dragonSkin_600px.webp"), dest: "public/artpacks/kCz/dragonSkin_600px.webp" }, { src: t("../templates/artpacks/kCz/nightcity_1080px.webp"), dest: "public/artpacks/kCz/nightcity_1080px.webp" }, { src: t("../templates/artpacks/kCz/nightcity_1920px.webp"), dest: "public/artpacks/kCz/nightcity_1920px.webp" }, { src: t("../templates/artpacks/kCz/nightcity_600px.webp"), dest: "public/artpacks/kCz/nightcity_600px.webp" }, { src: t("../templates/artpacks/kCz/pattern1_1080px.webp"), dest: "public/artpacks/kCz/pattern1_1080px.webp" }, { src: t("../templates/artpacks/kCz/pattern1_1920px.we