@nextsparkjs/theme-default 0.1.0-beta.17 → 0.1.0-beta.171
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/api/ai/chat/stream/route.ts +4 -1
- package/api/ai/orchestrator/route.ts +10 -3
- package/api/ai/single-agent/route.ts +10 -3
- package/api/ai/usage/route.ts +4 -1
- package/blocks/benefits/component.tsx +4 -4
- package/blocks/cta-section/component.tsx +4 -4
- package/blocks/faq-accordion/component.tsx +2 -2
- package/blocks/features-grid/component.tsx +5 -5
- package/blocks/hero/component.tsx +2 -2
- package/blocks/hero/fields.ts +1 -1
- package/blocks/hero-with-form/component.tsx +7 -7
- package/blocks/hero-with-form/fields.ts +1 -1
- package/blocks/jumbotron/component.tsx +7 -7
- package/blocks/jumbotron/fields.ts +1 -1
- package/blocks/logo-cloud/component.tsx +6 -6
- package/blocks/logo-cloud/fields.ts +1 -1
- package/blocks/post-content/component.tsx +2 -2
- package/blocks/pricing-table/component.tsx +5 -5
- package/blocks/split-content/component.tsx +5 -5
- package/blocks/split-content/fields.ts +1 -1
- package/blocks/stats-counter/component.tsx +9 -9
- package/blocks/testimonials/component.tsx +4 -4
- package/blocks/testimonials/fields.ts +1 -1
- package/blocks/text-content/component.tsx +12 -10
- package/blocks/timeline/component.tsx +12 -12
- package/blocks/video-hero/component.tsx +7 -7
- package/blocks/video-hero/fields.ts +1 -1
- package/components/ai-chat/ChatPanel.tsx +7 -7
- package/components/ai-chat/Message.tsx +2 -2
- package/components/ai-chat/MessageInput.tsx +3 -3
- package/components/ai-chat/MessageList.tsx +3 -3
- package/components/ai-chat/TypingIndicator.tsx +2 -2
- package/config/app.config.ts +90 -62
- package/config/billing.config.ts +5 -10
- package/config/dashboard.config.ts +14 -0
- package/config/features.config.ts +10 -0
- package/config/permissions.config.ts +22 -23
- package/docs/{01-overview → public/01-overview}/01-introduction.md +5 -0
- package/docs/{01-overview → public/01-overview}/02-customization.md +5 -0
- package/docs/{02-features → public/02-features}/03-tasks-entity.md +5 -0
- package/docs/{03-ai → public/03-ai}/01-overview.md +5 -0
- package/docs/{03-ai → public/03-ai}/02-customization.md +5 -0
- package/docs/superadmin/01-setup/01-configuration.md +79 -0
- package/docs/superadmin/01-setup/02-deployment.md +82 -0
- package/docs/superadmin/02-management/01-users.md +83 -0
- package/docs/superadmin/03-integrations/01-langchain.md +139 -0
- package/emails/verify-email.ts +33 -0
- package/entities/customers/api/docs.md +107 -0
- package/entities/customers/api/presets.ts +80 -0
- package/entities/pages/api/docs.md +114 -0
- package/entities/pages/api/presets.ts +72 -0
- package/entities/posts/api/docs.md +120 -0
- package/entities/posts/api/presets.ts +74 -0
- package/entities/tasks/api/docs.md +126 -0
- package/entities/tasks/api/presets.ts +84 -0
- package/lib/selectors.ts +7 -4
- package/messages/de/admin.json +45 -0
- package/messages/en/admin.json +56 -0
- package/messages/en/navigation.json +2 -1
- package/messages/es/admin.json +56 -0
- package/messages/es/navigation.json +2 -1
- package/messages/fr/admin.json +45 -0
- package/messages/it/admin.json +45 -0
- package/messages/pt/admin.json +45 -0
- package/migrations/089_add_editor_team_role.sql +15 -23
- package/migrations/090_demo_users_teams.sql +11 -11
- package/migrations/091_greek_teams_billing.sql +15 -15
- package/migrations/093_pages_sample_data.sql +7 -7
- package/migrations/098_patterns_sample_data.sql +234 -0
- package/nextsparkjs-theme-default-0.1.0-beta.137.tgz +0 -0
- package/package.json +4 -3
- package/styles/globals.css +42 -0
- package/templates/(public)/page.tsx +1 -1
- package/tests/cypress/e2e/_utils/devtools/access.bdd.md +262 -0
- package/tests/cypress/e2e/_utils/devtools/access.cy.ts +171 -0
- package/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +261 -0
- package/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +157 -0
- package/tests/cypress/e2e/_utils/devtools/pages.bdd.md +303 -0
- package/tests/cypress/e2e/_utils/devtools/pages.cy.ts +184 -0
- package/tests/cypress/e2e/_utils/docs/README.md +215 -0
- package/tests/cypress/e2e/_utils/selectors/auth.bdd.md +354 -0
- package/tests/cypress/e2e/_utils/selectors/auth.cy.ts +310 -0
- package/tests/cypress/e2e/_utils/selectors/billing.bdd.md +276 -0
- package/tests/cypress/e2e/_utils/selectors/billing.cy.ts +182 -0
- package/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +615 -0
- package/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +783 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +52 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +205 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +137 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +147 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +114 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +76 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +68 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +326 -0
- package/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +177 -0
- package/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +306 -0
- package/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +273 -0
- package/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +115 -0
- package/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +93 -0
- package/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +388 -0
- package/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +559 -0
- package/tests/cypress/e2e/_utils/selectors/public.cy.ts +112 -0
- package/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +266 -0
- package/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +233 -0
- package/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +78 -0
- package/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +108 -0
- package/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +129 -0
- package/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +115 -0
- package/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +82 -0
- package/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +74 -0
- package/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +77 -0
- package/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +79 -0
- package/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +130 -0
- package/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +86 -0
- package/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +261 -0
- package/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +193 -0
- package/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +593 -0
- package/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +864 -0
- package/tests/cypress/e2e/_utils/selectors/taxonomies.cy.ts +126 -0
- package/tests/cypress/e2e/_utils/selectors/teams.bdd.md +278 -0
- package/tests/cypress/e2e/_utils/selectors/teams.cy.ts +195 -0
- package/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +261 -0
- package/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +177 -0
- package/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +406 -0
- package/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +294 -0
- package/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +235 -0
- package/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +149 -0
- package/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +290 -0
- package/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +194 -0
- package/tests/cypress/e2e/ai/ai-usage.cy.ts +209 -0
- package/tests/cypress/e2e/ai/chat-api.cy.ts +119 -0
- package/tests/cypress/e2e/ai/guardrails.cy.ts +332 -0
- package/tests/cypress/e2e/api/_core/billing/BillingAPIController.js +319 -0
- package/tests/cypress/e2e/api/_core/billing/check-action.cy.ts +326 -0
- package/tests/cypress/e2e/api/_core/billing/checkout.cy.ts +358 -0
- package/tests/cypress/e2e/api/_core/billing/lifecycle.cy.ts +423 -0
- package/tests/cypress/e2e/api/_core/billing/plans/README.md +345 -0
- package/tests/cypress/e2e/api/_core/billing/plans/business.cy.ts +412 -0
- package/tests/cypress/e2e/api/_core/billing/plans/downgrade.cy.ts +510 -0
- package/tests/cypress/e2e/api/_core/billing/plans/fixtures/billing-plans.json +163 -0
- package/tests/cypress/e2e/api/_core/billing/plans/free.cy.ts +500 -0
- package/tests/cypress/e2e/api/_core/billing/plans/pro.cy.ts +497 -0
- package/tests/cypress/e2e/api/_core/billing/plans/starter.cy.ts +342 -0
- package/tests/cypress/e2e/api/_core/billing/portal.cy.ts +313 -0
- package/tests/cypress/e2e/api/_core/devtools/registries.bdd.md +300 -0
- package/tests/cypress/e2e/api/_core/devtools/registries.cy.ts +368 -0
- package/tests/cypress/e2e/api/_core/scheduled-actions/cron-endpoint.bdd.md +375 -0
- package/tests/cypress/e2e/api/_core/scheduled-actions/cron-endpoint.cy.ts +346 -0
- package/tests/cypress/e2e/api/_core/scheduled-actions/devtools-endpoint.bdd.md +451 -0
- package/tests/cypress/e2e/api/_core/scheduled-actions/devtools-endpoint.cy.ts +447 -0
- package/tests/cypress/e2e/api/_core/scheduled-actions/scheduling.bdd.md +649 -0
- package/tests/cypress/e2e/api/_core/scheduled-actions/scheduling.cy.ts +333 -0
- package/tests/cypress/e2e/api/_core/security/security-headers.cy.ts +601 -0
- package/tests/cypress/e2e/api/_core/settings/api-keys.crud.cy.ts +923 -0
- package/tests/cypress/e2e/api/_core/teams/teams-security.cy.ts +415 -0
- package/tests/cypress/e2e/api/_core/users/users-crud.cy.ts +469 -0
- package/tests/cypress/e2e/api/_core/users/users-metas.cy.ts +913 -0
- package/tests/cypress/e2e/api/_core/users/users-security.cy.ts +375 -0
- package/tests/cypress/e2e/api/entities/customers/customers-crud.cy.ts +648 -0
- package/tests/cypress/e2e/api/entities/customers/customers-metas.cy.ts +839 -0
- package/tests/cypress/e2e/api/entities/media/media-crud.cy.ts +600 -0
- package/tests/cypress/e2e/api/entities/media/media-role-permissions.cy.ts +617 -0
- package/tests/cypress/e2e/api/entities/media/media-team-isolation.cy.ts +464 -0
- package/tests/cypress/e2e/api/entities/pages/blocks-scope.cy.ts +396 -0
- package/tests/cypress/e2e/api/entities/pages/pages-crud.cy.ts +425 -0
- package/tests/cypress/e2e/api/entities/pages/pages-status.cy.ts +335 -0
- package/tests/cypress/e2e/api/entities/posts/post-categories-crud.cy.ts +610 -0
- package/tests/cypress/e2e/api/entities/posts/posts-crud.cy.ts +709 -0
- package/tests/cypress/e2e/api/entities/posts/posts-status.cy.ts +396 -0
- package/tests/cypress/e2e/api/entities/tasks/tasks-crud.cy.ts +602 -0
- package/tests/cypress/e2e/api/entities/tasks/tasks-metas.cy.ts +878 -0
- package/tests/cypress/e2e/patterns/patterns-in-pages.cy.ts +367 -0
- package/tests/cypress/e2e/uat/_core/auth/app-roles/developer-login.bdd.md +231 -0
- package/tests/cypress/e2e/uat/_core/auth/app-roles/developer-login.cy.ts +144 -0
- package/tests/cypress/e2e/uat/_core/auth/app-roles/superadmin-login.bdd.md +118 -0
- package/tests/cypress/e2e/uat/_core/auth/app-roles/superadmin-login.cy.ts +84 -0
- package/tests/cypress/e2e/uat/_core/auth/custom-roles/editor-login.bdd.md +288 -0
- package/tests/cypress/e2e/uat/_core/auth/custom-roles/editor-login.cy.ts +188 -0
- package/tests/cypress/e2e/uat/_core/auth/login-logout.bdd.md +160 -0
- package/tests/cypress/e2e/uat/_core/auth/login-logout.cy.ts +116 -0
- package/tests/cypress/e2e/uat/_core/auth/password-reset.bdd.md +289 -0
- package/tests/cypress/e2e/uat/_core/auth/password-reset.cy.ts +200 -0
- package/tests/cypress/e2e/uat/_core/auth/registration-control-invitation.cy.ts +176 -0
- package/tests/cypress/e2e/uat/_core/auth/registration-control-open.cy.ts +131 -0
- package/tests/cypress/e2e/uat/_core/auth/registration-control.cy.ts +140 -0
- package/tests/cypress/e2e/uat/_core/auth/team-roles/admin-login.bdd.md +225 -0
- package/tests/cypress/e2e/uat/_core/auth/team-roles/admin-login.cy.ts +148 -0
- package/tests/cypress/e2e/uat/_core/auth/team-roles/member-login.bdd.md +251 -0
- package/tests/cypress/e2e/uat/_core/auth/team-roles/member-login.cy.ts +163 -0
- package/tests/cypress/e2e/uat/_core/auth/team-roles/owner-login.bdd.md +231 -0
- package/tests/cypress/e2e/uat/_core/auth/team-roles/owner-login.cy.ts +141 -0
- package/tests/cypress/e2e/uat/_core/billing/extended.bdd.md +273 -0
- package/tests/cypress/e2e/uat/_core/billing/extended.cy.ts +209 -0
- package/tests/cypress/e2e/uat/_core/billing/feature-gates.bdd.md +407 -0
- package/tests/cypress/e2e/uat/_core/billing/feature-gates.cy.ts +307 -0
- package/tests/cypress/e2e/uat/_core/billing/page.bdd.md +329 -0
- package/tests/cypress/e2e/uat/_core/billing/page.cy.ts +250 -0
- package/tests/cypress/e2e/uat/_core/billing/status.bdd.md +190 -0
- package/tests/cypress/e2e/uat/_core/billing/status.cy.ts +145 -0
- package/tests/cypress/e2e/uat/_core/billing/team-switch.bdd.md +156 -0
- package/tests/cypress/e2e/uat/_core/billing/team-switch.cy.ts +122 -0
- package/tests/cypress/e2e/uat/_core/billing/usage.bdd.md +218 -0
- package/tests/cypress/e2e/uat/_core/billing/usage.cy.ts +176 -0
- package/tests/cypress/e2e/uat/_core/blocks/hero.bdd.md +124 -0
- package/tests/cypress/e2e/uat/_core/blocks/hero.cy.ts +56 -0
- package/tests/cypress/e2e/uat/_core/devtools/api-tester.cy.ts +390 -0
- package/tests/cypress/e2e/uat/_core/performance/suspense-loading.cy.ts +134 -0
- package/tests/cypress/e2e/uat/_core/scheduled-actions/devtools-ui.bdd.md +736 -0
- package/tests/cypress/e2e/uat/_core/scheduled-actions/devtools-ui.cy.ts +740 -0
- package/tests/cypress/e2e/uat/_core/teams/inline-edit.cy.ts +278 -0
- package/tests/cypress/e2e/uat/_core/teams/roles-matrix.bdd.md +553 -0
- package/tests/cypress/e2e/uat/_core/teams/roles-matrix.cy.ts +185 -0
- package/tests/cypress/e2e/uat/_core/teams/switcher.bdd.md +1151 -0
- package/tests/cypress/e2e/uat/_core/teams/switcher.cy.ts +497 -0
- package/tests/cypress/e2e/uat/_core/teams/team-switcher.md +198 -0
- package/tests/cypress/e2e/uat/entities/customers/member.bdd.md +275 -0
- package/tests/cypress/e2e/uat/entities/customers/member.cy.ts +122 -0
- package/tests/cypress/e2e/uat/entities/customers/owner.bdd.md +243 -0
- package/tests/cypress/e2e/uat/entities/customers/owner.cy.ts +165 -0
- package/tests/cypress/e2e/uat/entities/pages/block-crud.bdd.md +476 -0
- package/tests/cypress/e2e/uat/entities/pages/block-crud.cy.ts +486 -0
- package/tests/cypress/e2e/uat/entities/pages/block-editor.bdd.md +460 -0
- package/tests/cypress/e2e/uat/entities/pages/block-editor.cy.ts +301 -0
- package/tests/cypress/e2e/uat/entities/pages/list.bdd.md +432 -0
- package/tests/cypress/e2e/uat/entities/pages/list.cy.ts +273 -0
- package/tests/cypress/e2e/uat/entities/pages/public-rendering.bdd.md +696 -0
- package/tests/cypress/e2e/uat/entities/pages/public-rendering.cy.ts +340 -0
- package/tests/cypress/e2e/uat/entities/posts/categories-api-aware.bdd.md +161 -0
- package/tests/cypress/e2e/uat/entities/posts/categories-api-aware.cy.ts +104 -0
- package/tests/cypress/e2e/uat/entities/posts/categories.bdd.md +375 -0
- package/tests/cypress/e2e/uat/entities/posts/categories.cy.ts +241 -0
- package/tests/cypress/e2e/uat/entities/posts/editor.bdd.md +429 -0
- package/tests/cypress/e2e/uat/entities/posts/editor.cy.ts +257 -0
- package/tests/cypress/e2e/uat/entities/posts/list.bdd.md +340 -0
- package/tests/cypress/e2e/uat/entities/posts/list.cy.ts +177 -0
- package/tests/cypress/e2e/uat/entities/posts/public.bdd.md +614 -0
- package/tests/cypress/e2e/uat/entities/posts/public.cy.ts +249 -0
- package/tests/cypress/e2e/uat/entities/tasks/member.bdd.md +222 -0
- package/tests/cypress/e2e/uat/entities/tasks/member.cy.ts +165 -0
- package/tests/cypress/e2e/uat/entities/tasks/owner.bdd.md +419 -0
- package/tests/cypress/e2e/uat/entities/tasks/owner.cy.ts +191 -0
- package/tests/cypress/e2e/uat/features/roles/editor-role.bdd.md +552 -0
- package/tests/cypress/e2e/uat/features/roles/editor-role.cy.ts +210 -0
- package/tests/cypress/e2e/uat/features/roles/member-restrictions.bdd.md +450 -0
- package/tests/cypress/e2e/uat/features/roles/member-restrictions.cy.ts +189 -0
- package/tests/cypress/e2e/uat/features/roles/owner-full-crud.bdd.md +530 -0
- package/tests/cypress/e2e/uat/features/roles/owner-full-crud.cy.ts +247 -0
- package/tests/cypress/fixtures/blocks.json +218 -0
- package/tests/cypress/fixtures/entities.json +87 -0
- package/tests/cypress/fixtures/page-builder.json +21 -0
- package/tests/cypress/src/components/CategoriesPOM.ts +382 -0
- package/tests/cypress/src/components/CustomersPOM.ts +439 -0
- package/tests/cypress/src/components/DevKeyringPOM.ts +160 -0
- package/tests/cypress/src/components/EntityForm.ts +375 -0
- package/tests/cypress/src/components/EntityList.ts +389 -0
- package/tests/cypress/src/components/PageBuilderPOM.ts +710 -0
- package/tests/cypress/src/components/PostEditorPOM.ts +370 -0
- package/tests/cypress/src/components/PostsListPOM.ts +223 -0
- package/tests/cypress/src/components/PublicPagePOM.ts +447 -0
- package/tests/cypress/src/components/PublicPostPOM.ts +146 -0
- package/tests/cypress/src/components/TasksPOM.ts +272 -0
- package/tests/cypress/src/components/TeamSwitcherPOM.ts +450 -0
- package/tests/cypress/src/components/index.ts +21 -0
- package/tests/cypress/src/controllers/ApiKeysAPIController.js +178 -0
- package/tests/cypress/src/controllers/BaseAPIController.js +317 -0
- package/tests/cypress/src/controllers/CustomerAPIController.js +251 -0
- package/tests/cypress/src/controllers/MediaAPIController.js +231 -0
- package/tests/cypress/src/controllers/PagesAPIController.js +226 -0
- package/tests/cypress/src/controllers/PostsAPIController.js +250 -0
- package/tests/cypress/src/controllers/TaskAPIController.js +240 -0
- package/tests/cypress/src/controllers/UsersAPIController.js +242 -0
- package/tests/cypress/src/controllers/index.js +25 -0
- package/tests/cypress/src/core/AuthPOM.ts +450 -0
- package/tests/cypress/src/core/BasePOM.ts +33 -0
- package/tests/cypress/src/core/BlockEditorBasePOM.ts +874 -0
- package/tests/cypress/src/core/DashboardEntityPOM.ts +41 -0
- package/tests/cypress/src/core/index.ts +14 -0
- package/tests/cypress/src/entities/CustomersPOM.ts +172 -0
- package/tests/cypress/src/entities/PagesPOM.ts +137 -0
- package/tests/cypress/src/entities/PatternsPOM.ts +329 -0
- package/tests/cypress/src/entities/PostsPOM.ts +137 -0
- package/tests/cypress/src/entities/TasksPOM.ts +246 -0
- package/tests/cypress/src/entities/index.ts +16 -0
- package/tests/cypress/src/features/BillingPOM.ts +385 -0
- package/tests/cypress/src/features/DashboardPOM.ts +271 -0
- package/tests/cypress/src/features/DevtoolsPOM.ts +750 -0
- package/tests/cypress/src/features/PageBuilderPOM.ts +283 -0
- package/tests/cypress/src/features/PostEditorPOM.ts +313 -0
- package/tests/cypress/src/features/ScheduledActionsPOM.ts +463 -0
- package/tests/cypress/src/features/SettingsPOM.ts +707 -0
- package/tests/cypress/src/features/SuperadminPOM.ts +851 -0
- package/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +285 -0
- package/tests/cypress/src/features/index.ts +28 -0
- package/tests/cypress/src/helpers/ApiInterceptor.ts +20 -0
- package/tests/cypress/src/index.ts +101 -0
- package/tests/cypress/src/pages/dashboard/Dashboard.js +677 -0
- package/tests/cypress/src/pages/dashboard/DashboardPage.js +43 -0
- package/tests/cypress/src/pages/dashboard/DashboardStats.js +546 -0
- package/tests/cypress/src/pages/dashboard/index.js +6 -0
- package/tests/cypress/src/pages/index.js +5 -0
- package/tests/cypress/src/pages/public/FeaturesPage.js +28 -0
- package/tests/cypress/src/pages/public/LandingPage.js +69 -0
- package/tests/cypress/src/pages/public/PricingPage.js +33 -0
- package/tests/cypress/src/pages/public/index.js +6 -0
- package/tests/cypress/src/selectors.ts +46 -0
- package/tests/cypress/src/session-helpers.ts +518 -0
- package/tests/cypress/support/doc-commands.ts +260 -0
- package/tests/cypress/support/e2e.ts +90 -0
- package/tests/cypress.config.ts +178 -0
- package/tests/jest/__mocks__/@nextsparkjs/core/components/ui/badge.js +16 -0
- package/tests/jest/__mocks__/@nextsparkjs/core/lib/db.js +11 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/permissions-registry.ts +160 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/theme-registry.ts +68 -0
- package/tests/jest/__mocks__/jose.js +22 -0
- package/tests/jest/__mocks__/next/image.js +15 -0
- package/tests/jest/__mocks__/next-server.js +56 -0
- package/tests/jest/components/post-header.test.tsx +377 -0
- package/tests/jest/jest.config.cjs +154 -0
- package/tests/jest/langchain/COVERAGE.md +372 -0
- package/tests/jest/langchain/guardrails.test.ts +465 -0
- package/tests/jest/langchain/streaming.test.ts +370 -0
- package/tests/jest/langchain/token-tracker.test.ts +455 -0
- package/tests/jest/langchain/tracer-callbacks.test.ts +881 -0
- package/tests/jest/langchain/tracer.test.ts +823 -0
- package/tests/jest/services/tasks.service.test.ts +707 -0
- package/tests/jest/setup.ts +170 -0
- package/tests/jest/tsconfig.jest.json +6 -0
- package/tests/jest/validation/categories.test.ts +429 -0
- package/tests/jest/validation/posts.test.ts +546 -0
- package/tests/tsconfig.json +21 -0
- /package/docs/{02-features → public/02-features}/01-components.md +0 -0
- /package/docs/{02-features → public/02-features}/02-styling.md +0 -0
package/messages/en/admin.json
CHANGED
|
@@ -214,6 +214,62 @@
|
|
|
214
214
|
"messages": {
|
|
215
215
|
"saved": "Saved successfully",
|
|
216
216
|
"created": "Created successfully"
|
|
217
|
+
},
|
|
218
|
+
"header": {
|
|
219
|
+
"actions": {
|
|
220
|
+
"saveDraft": "Save Draft",
|
|
221
|
+
"publish": "Publish",
|
|
222
|
+
"update": "Update"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"canvas": {
|
|
226
|
+
"empty": {
|
|
227
|
+
"title": "No blocks yet",
|
|
228
|
+
"subtitle": "Add blocks from the left sidebar"
|
|
229
|
+
},
|
|
230
|
+
"editingBadge": "Editing",
|
|
231
|
+
"error": {
|
|
232
|
+
"blockNotFound": "Block not found"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"floatingToolbar": {
|
|
236
|
+
"drag": "Drag to reorder",
|
|
237
|
+
"duplicate": "Duplicate block",
|
|
238
|
+
"delete": "Delete block"
|
|
239
|
+
},
|
|
240
|
+
"settingsPanel": {
|
|
241
|
+
"title": "Block Properties",
|
|
242
|
+
"empty": {
|
|
243
|
+
"message": "No block selected",
|
|
244
|
+
"hint": "Select a block from the canvas to edit its settings"
|
|
245
|
+
},
|
|
246
|
+
"error": {
|
|
247
|
+
"notFound": "Block configuration not found"
|
|
248
|
+
},
|
|
249
|
+
"actions": {
|
|
250
|
+
"reset": "Reset",
|
|
251
|
+
"remove": "Remove"
|
|
252
|
+
},
|
|
253
|
+
"tabs": {
|
|
254
|
+
"content": "Content",
|
|
255
|
+
"design": "Design",
|
|
256
|
+
"advanced": "Advanced",
|
|
257
|
+
"noContentFields": "No content fields",
|
|
258
|
+
"noDesignFields": "No design fields",
|
|
259
|
+
"noAdvancedFields": "No advanced fields"
|
|
260
|
+
},
|
|
261
|
+
"noFields": "This block has no configurable fields",
|
|
262
|
+
"pattern": {
|
|
263
|
+
"title": "Pattern Reference",
|
|
264
|
+
"locked": {
|
|
265
|
+
"title": "Pattern is read-only",
|
|
266
|
+
"description": "To edit this pattern's content, edit the pattern directly. Changes will be reflected everywhere it's used."
|
|
267
|
+
},
|
|
268
|
+
"actions": {
|
|
269
|
+
"edit": "Edit Pattern",
|
|
270
|
+
"remove": "Remove from page"
|
|
271
|
+
}
|
|
272
|
+
}
|
|
217
273
|
}
|
|
218
274
|
}
|
|
219
275
|
}
|
package/messages/es/admin.json
CHANGED
|
@@ -214,6 +214,62 @@
|
|
|
214
214
|
"messages": {
|
|
215
215
|
"saved": "Guardado exitosamente",
|
|
216
216
|
"created": "Creado exitosamente"
|
|
217
|
+
},
|
|
218
|
+
"header": {
|
|
219
|
+
"actions": {
|
|
220
|
+
"saveDraft": "Guardar Borrador",
|
|
221
|
+
"publish": "Publicar",
|
|
222
|
+
"update": "Actualizar"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"canvas": {
|
|
226
|
+
"empty": {
|
|
227
|
+
"title": "Aún no hay bloques",
|
|
228
|
+
"subtitle": "Agrega bloques desde la barra lateral izquierda"
|
|
229
|
+
},
|
|
230
|
+
"editingBadge": "Editando",
|
|
231
|
+
"error": {
|
|
232
|
+
"blockNotFound": "Bloque no encontrado"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"floatingToolbar": {
|
|
236
|
+
"drag": "Arrastra para reordenar",
|
|
237
|
+
"duplicate": "Duplicar bloque",
|
|
238
|
+
"delete": "Eliminar bloque"
|
|
239
|
+
},
|
|
240
|
+
"settingsPanel": {
|
|
241
|
+
"title": "Propiedades del Bloque",
|
|
242
|
+
"empty": {
|
|
243
|
+
"message": "Ningún bloque seleccionado",
|
|
244
|
+
"hint": "Selecciona un bloque del canvas para editar su configuración"
|
|
245
|
+
},
|
|
246
|
+
"error": {
|
|
247
|
+
"notFound": "Configuración del bloque no encontrada"
|
|
248
|
+
},
|
|
249
|
+
"actions": {
|
|
250
|
+
"reset": "Restablecer",
|
|
251
|
+
"remove": "Eliminar"
|
|
252
|
+
},
|
|
253
|
+
"tabs": {
|
|
254
|
+
"content": "Contenido",
|
|
255
|
+
"design": "Diseño",
|
|
256
|
+
"advanced": "Avanzado",
|
|
257
|
+
"noContentFields": "Sin campos de contenido",
|
|
258
|
+
"noDesignFields": "Sin campos de diseño",
|
|
259
|
+
"noAdvancedFields": "Sin campos avanzados"
|
|
260
|
+
},
|
|
261
|
+
"noFields": "Este bloque no tiene campos configurables",
|
|
262
|
+
"pattern": {
|
|
263
|
+
"title": "Referencia de Patrón",
|
|
264
|
+
"locked": {
|
|
265
|
+
"title": "El patrón es de solo lectura",
|
|
266
|
+
"description": "Para editar el contenido de este patrón, edítalo directamente. Los cambios se reflejarán en todos los lugares donde se usa."
|
|
267
|
+
},
|
|
268
|
+
"actions": {
|
|
269
|
+
"edit": "Editar Patrón",
|
|
270
|
+
"remove": "Quitar de la página"
|
|
271
|
+
}
|
|
272
|
+
}
|
|
217
273
|
}
|
|
218
274
|
}
|
|
219
275
|
}
|
package/messages/fr/admin.json
CHANGED
|
@@ -214,6 +214,51 @@
|
|
|
214
214
|
"messages": {
|
|
215
215
|
"saved": "Enregistre avec succes",
|
|
216
216
|
"created": "Cree avec succes"
|
|
217
|
+
},
|
|
218
|
+
"header": {
|
|
219
|
+
"actions": {
|
|
220
|
+
"saveDraft": "Sauvegarder Brouillon",
|
|
221
|
+
"publish": "Publier",
|
|
222
|
+
"update": "Mettre à jour"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"canvas": {
|
|
226
|
+
"empty": {
|
|
227
|
+
"title": "Pas encore de blocs",
|
|
228
|
+
"subtitle": "Ajoutez des blocs depuis la barre laterale"
|
|
229
|
+
},
|
|
230
|
+
"editingBadge": "Edition",
|
|
231
|
+
"error": {
|
|
232
|
+
"blockNotFound": "Bloc non trouve"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"floatingToolbar": {
|
|
236
|
+
"drag": "Glissez pour reordonner",
|
|
237
|
+
"duplicate": "Dupliquer le bloc",
|
|
238
|
+
"delete": "Supprimer le bloc"
|
|
239
|
+
},
|
|
240
|
+
"settingsPanel": {
|
|
241
|
+
"title": "Proprietes du Bloc",
|
|
242
|
+
"empty": {
|
|
243
|
+
"message": "Aucun bloc selectionne",
|
|
244
|
+
"hint": "Selectionnez un bloc du canvas pour modifier ses parametres"
|
|
245
|
+
},
|
|
246
|
+
"error": {
|
|
247
|
+
"notFound": "Configuration du bloc non trouvee"
|
|
248
|
+
},
|
|
249
|
+
"actions": {
|
|
250
|
+
"reset": "Reinitialiser",
|
|
251
|
+
"remove": "Supprimer"
|
|
252
|
+
},
|
|
253
|
+
"tabs": {
|
|
254
|
+
"content": "Contenu",
|
|
255
|
+
"design": "Design",
|
|
256
|
+
"advanced": "Avance",
|
|
257
|
+
"noContentFields": "Pas de champs de contenu",
|
|
258
|
+
"noDesignFields": "Pas de champs de design",
|
|
259
|
+
"noAdvancedFields": "Pas de champs avances"
|
|
260
|
+
},
|
|
261
|
+
"noFields": "Ce bloc n'a pas de champs configurables"
|
|
217
262
|
}
|
|
218
263
|
}
|
|
219
264
|
}
|
package/messages/it/admin.json
CHANGED
|
@@ -214,6 +214,51 @@
|
|
|
214
214
|
"messages": {
|
|
215
215
|
"saved": "Salvato con successo",
|
|
216
216
|
"created": "Creato con successo"
|
|
217
|
+
},
|
|
218
|
+
"header": {
|
|
219
|
+
"actions": {
|
|
220
|
+
"saveDraft": "Salva Bozza",
|
|
221
|
+
"publish": "Pubblica",
|
|
222
|
+
"update": "Aggiorna"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"canvas": {
|
|
226
|
+
"empty": {
|
|
227
|
+
"title": "Nessun blocco ancora",
|
|
228
|
+
"subtitle": "Aggiungi blocchi dalla barra laterale"
|
|
229
|
+
},
|
|
230
|
+
"editingBadge": "Modifica",
|
|
231
|
+
"error": {
|
|
232
|
+
"blockNotFound": "Blocco non trovato"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"floatingToolbar": {
|
|
236
|
+
"drag": "Trascina per riordinare",
|
|
237
|
+
"duplicate": "Duplica blocco",
|
|
238
|
+
"delete": "Elimina blocco"
|
|
239
|
+
},
|
|
240
|
+
"settingsPanel": {
|
|
241
|
+
"title": "Proprietà del Blocco",
|
|
242
|
+
"empty": {
|
|
243
|
+
"message": "Nessun blocco selezionato",
|
|
244
|
+
"hint": "Seleziona un blocco dal canvas per modificare le impostazioni"
|
|
245
|
+
},
|
|
246
|
+
"error": {
|
|
247
|
+
"notFound": "Configurazione del blocco non trovata"
|
|
248
|
+
},
|
|
249
|
+
"actions": {
|
|
250
|
+
"reset": "Ripristina",
|
|
251
|
+
"remove": "Rimuovi"
|
|
252
|
+
},
|
|
253
|
+
"tabs": {
|
|
254
|
+
"content": "Contenuto",
|
|
255
|
+
"design": "Design",
|
|
256
|
+
"advanced": "Avanzato",
|
|
257
|
+
"noContentFields": "Nessun campo contenuto",
|
|
258
|
+
"noDesignFields": "Nessun campo design",
|
|
259
|
+
"noAdvancedFields": "Nessun campo avanzato"
|
|
260
|
+
},
|
|
261
|
+
"noFields": "Questo blocco non ha campi configurabili"
|
|
217
262
|
}
|
|
218
263
|
}
|
|
219
264
|
}
|
package/messages/pt/admin.json
CHANGED
|
@@ -214,6 +214,51 @@
|
|
|
214
214
|
"messages": {
|
|
215
215
|
"saved": "Salvo com sucesso",
|
|
216
216
|
"created": "Criado com sucesso"
|
|
217
|
+
},
|
|
218
|
+
"header": {
|
|
219
|
+
"actions": {
|
|
220
|
+
"saveDraft": "Salvar Rascunho",
|
|
221
|
+
"publish": "Publicar",
|
|
222
|
+
"update": "Atualizar"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"canvas": {
|
|
226
|
+
"empty": {
|
|
227
|
+
"title": "Nenhum bloco ainda",
|
|
228
|
+
"subtitle": "Adicione blocos da barra lateral"
|
|
229
|
+
},
|
|
230
|
+
"editingBadge": "Editando",
|
|
231
|
+
"error": {
|
|
232
|
+
"blockNotFound": "Bloco não encontrado"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"floatingToolbar": {
|
|
236
|
+
"drag": "Arraste para reordenar",
|
|
237
|
+
"duplicate": "Duplicar bloco",
|
|
238
|
+
"delete": "Excluir bloco"
|
|
239
|
+
},
|
|
240
|
+
"settingsPanel": {
|
|
241
|
+
"title": "Propriedades do Bloco",
|
|
242
|
+
"empty": {
|
|
243
|
+
"message": "Nenhum bloco selecionado",
|
|
244
|
+
"hint": "Selecione um bloco do canvas para editar as configurações"
|
|
245
|
+
},
|
|
246
|
+
"error": {
|
|
247
|
+
"notFound": "Configuração do bloco não encontrada"
|
|
248
|
+
},
|
|
249
|
+
"actions": {
|
|
250
|
+
"reset": "Redefinir",
|
|
251
|
+
"remove": "Remover"
|
|
252
|
+
},
|
|
253
|
+
"tabs": {
|
|
254
|
+
"content": "Conteúdo",
|
|
255
|
+
"design": "Design",
|
|
256
|
+
"advanced": "Avançado",
|
|
257
|
+
"noContentFields": "Sem campos de conteúdo",
|
|
258
|
+
"noDesignFields": "Sem campos de design",
|
|
259
|
+
"noAdvancedFields": "Sem campos avançados"
|
|
260
|
+
},
|
|
261
|
+
"noFields": "Este bloco não tem campos configuráveis"
|
|
217
262
|
}
|
|
218
263
|
}
|
|
219
264
|
}
|
|
@@ -1,39 +1,31 @@
|
|
|
1
1
|
-- Migration: 089_add_editor_team_role.sql
|
|
2
|
-
-- Description:
|
|
2
|
+
-- Description: (No-op) 'editor' team role — now config-driven, no DDL required
|
|
3
3
|
-- Date: 2025-12-24
|
|
4
4
|
-- Theme: default
|
|
5
5
|
-- Phase: Theme extension - demonstrates extensible team roles system
|
|
6
6
|
--
|
|
7
|
-
--
|
|
8
|
-
--
|
|
7
|
+
-- HISTORICAL NOTE:
|
|
8
|
+
-- This migration used to run `ALTER TYPE team_role ADD VALUE 'editor'` because
|
|
9
|
+
-- team roles were a Postgres ENUM. As of core beta.167, `team_members.role` /
|
|
10
|
+
-- `team_invitations.role` are TEXT (see core migration 007), so themes extend
|
|
11
|
+
-- team roles purely via config — no DB DDL, no ENUM patching.
|
|
9
12
|
--
|
|
10
|
-
--
|
|
11
|
-
--
|
|
12
|
-
|
|
13
|
-
--
|
|
14
|
-
--
|
|
15
|
-
ALTER TYPE team_role ADD VALUE IF NOT EXISTS 'editor';
|
|
13
|
+
-- The 'editor' role is declared in this theme's config:
|
|
14
|
+
-- - app.config.ts -> availableTeamRoles
|
|
15
|
+
-- - config/permissions.config.ts -> roles.additionalRoles + entity permissions
|
|
16
|
+
--
|
|
17
|
+
-- This file is kept as a no-op so the migration sequence/tracking stays stable.
|
|
16
18
|
|
|
17
|
-
-- Success message
|
|
18
19
|
DO $$
|
|
19
20
|
BEGIN
|
|
20
21
|
RAISE NOTICE '';
|
|
21
22
|
RAISE NOTICE '════════════════════════════════════════════════════════════';
|
|
22
|
-
RAISE NOTICE ' Migration 089_add_editor_team_role.sql
|
|
23
|
+
RAISE NOTICE ' Migration 089_add_editor_team_role.sql (no-op)';
|
|
23
24
|
RAISE NOTICE '════════════════════════════════════════════════════════════';
|
|
24
25
|
RAISE NOTICE '';
|
|
25
|
-
RAISE NOTICE '
|
|
26
|
-
RAISE NOTICE '';
|
|
27
|
-
RAISE NOTICE '
|
|
28
|
-
RAISE NOTICE ' owner: 100 (protected)';
|
|
29
|
-
RAISE NOTICE ' admin: 50';
|
|
30
|
-
RAISE NOTICE ' member: 10';
|
|
31
|
-
RAISE NOTICE ' editor: 5 (NEW)';
|
|
32
|
-
RAISE NOTICE ' viewer: 1';
|
|
33
|
-
RAISE NOTICE '';
|
|
34
|
-
RAISE NOTICE ' Editor permissions (defined in app.config.ts):';
|
|
35
|
-
RAISE NOTICE ' - team.view';
|
|
36
|
-
RAISE NOTICE ' - team.members.view';
|
|
26
|
+
RAISE NOTICE ' ℹ️ team_members.role is now TEXT (core 007).';
|
|
27
|
+
RAISE NOTICE ' ℹ️ The "editor" role is config-driven (availableTeamRoles +';
|
|
28
|
+
RAISE NOTICE ' permissions.config.ts) — no ALTER TYPE needed.';
|
|
37
29
|
RAISE NOTICE '';
|
|
38
30
|
RAISE NOTICE '════════════════════════════════════════════════════════════';
|
|
39
31
|
END $$;
|
|
@@ -168,7 +168,7 @@ INSERT INTO "teams" (
|
|
|
168
168
|
'carlos-mendoza-team',
|
|
169
169
|
'Default workspace',
|
|
170
170
|
'usr-carlos-001',
|
|
171
|
-
'{}'::jsonb,
|
|
171
|
+
'{"isSeedData": true}'::jsonb,
|
|
172
172
|
NOW(),
|
|
173
173
|
NOW()
|
|
174
174
|
),
|
|
@@ -178,7 +178,7 @@ INSERT INTO "teams" (
|
|
|
178
178
|
'james-wilson-team',
|
|
179
179
|
'Default workspace',
|
|
180
180
|
'usr-james-002',
|
|
181
|
-
'{}'::jsonb,
|
|
181
|
+
'{"isSeedData": true}'::jsonb,
|
|
182
182
|
NOW(),
|
|
183
183
|
NOW()
|
|
184
184
|
),
|
|
@@ -188,7 +188,7 @@ INSERT INTO "teams" (
|
|
|
188
188
|
'diego-ramirez-team',
|
|
189
189
|
'Default workspace',
|
|
190
190
|
'usr-diego-003',
|
|
191
|
-
'{}'::jsonb,
|
|
191
|
+
'{"isSeedData": true}'::jsonb,
|
|
192
192
|
NOW(),
|
|
193
193
|
NOW()
|
|
194
194
|
),
|
|
@@ -198,7 +198,7 @@ INSERT INTO "teams" (
|
|
|
198
198
|
'michael-brown-team',
|
|
199
199
|
'Default workspace',
|
|
200
200
|
'usr-michael-004',
|
|
201
|
-
'{}'::jsonb,
|
|
201
|
+
'{"isSeedData": true}'::jsonb,
|
|
202
202
|
NOW(),
|
|
203
203
|
NOW()
|
|
204
204
|
),
|
|
@@ -208,7 +208,7 @@ INSERT INTO "teams" (
|
|
|
208
208
|
'ana-garcia-team',
|
|
209
209
|
'Default workspace',
|
|
210
210
|
'usr-ana-005',
|
|
211
|
-
'{}'::jsonb,
|
|
211
|
+
'{"isSeedData": true}'::jsonb,
|
|
212
212
|
NOW(),
|
|
213
213
|
NOW()
|
|
214
214
|
),
|
|
@@ -218,7 +218,7 @@ INSERT INTO "teams" (
|
|
|
218
218
|
'emily-johnson-team',
|
|
219
219
|
'Default workspace',
|
|
220
220
|
'usr-emily-006',
|
|
221
|
-
'{}'::jsonb,
|
|
221
|
+
'{"isSeedData": true}'::jsonb,
|
|
222
222
|
NOW(),
|
|
223
223
|
NOW()
|
|
224
224
|
),
|
|
@@ -228,7 +228,7 @@ INSERT INTO "teams" (
|
|
|
228
228
|
'sofia-lopez-team',
|
|
229
229
|
'Default workspace',
|
|
230
230
|
'usr-sofia-007',
|
|
231
|
-
'{}'::jsonb,
|
|
231
|
+
'{"isSeedData": true}'::jsonb,
|
|
232
232
|
NOW(),
|
|
233
233
|
NOW()
|
|
234
234
|
),
|
|
@@ -238,7 +238,7 @@ INSERT INTO "teams" (
|
|
|
238
238
|
'sarah-davis-team',
|
|
239
239
|
'Default workspace',
|
|
240
240
|
'usr-sarah-008',
|
|
241
|
-
'{}'::jsonb,
|
|
241
|
+
'{"isSeedData": true}'::jsonb,
|
|
242
242
|
NOW(),
|
|
243
243
|
NOW()
|
|
244
244
|
),
|
|
@@ -252,7 +252,7 @@ INSERT INTO "teams" (
|
|
|
252
252
|
'everpoint-labs',
|
|
253
253
|
'Technology Company - Software development and innovation',
|
|
254
254
|
'usr-carlos-001',
|
|
255
|
-
'{"segment": "startup", "industry": "technology"}'::jsonb,
|
|
255
|
+
'{"segment": "startup", "industry": "technology", "isSeedData": true}'::jsonb,
|
|
256
256
|
NOW(),
|
|
257
257
|
NOW()
|
|
258
258
|
),
|
|
@@ -262,7 +262,7 @@ INSERT INTO "teams" (
|
|
|
262
262
|
'ironvale-global',
|
|
263
263
|
'Consulting Firm - Business strategy and management consulting',
|
|
264
264
|
'usr-ana-005',
|
|
265
|
-
'{"segment": "enterprise", "industry": "consulting"}'::jsonb,
|
|
265
|
+
'{"segment": "enterprise", "industry": "consulting", "isSeedData": true}'::jsonb,
|
|
266
266
|
NOW(),
|
|
267
267
|
NOW()
|
|
268
268
|
),
|
|
@@ -272,7 +272,7 @@ INSERT INTO "teams" (
|
|
|
272
272
|
'riverstone-ventures',
|
|
273
273
|
'Investment Fund - Early-stage startup investments',
|
|
274
274
|
'usr-sofia-007',
|
|
275
|
-
'{"segment": "startup", "industry": "finance"}'::jsonb,
|
|
275
|
+
'{"segment": "startup", "industry": "finance", "isSeedData": true}'::jsonb,
|
|
276
276
|
NOW(),
|
|
277
277
|
NOW()
|
|
278
278
|
)
|
|
@@ -154,22 +154,22 @@ INSERT INTO "teams" (
|
|
|
154
154
|
"createdAt",
|
|
155
155
|
"updatedAt"
|
|
156
156
|
) VALUES
|
|
157
|
-
('team-alpha-001', 'Alpha Tech', 'alpha-tech', 'Software startup - Building innovative solutions', 'usr-alpha-01', '{"segment": "startup", "industry": "software", "employeeCount": 15}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
158
|
-
('team-beta-002', 'Beta Solutions', 'beta-solutions', 'Digital agency - Creative marketing and design', 'usr-beta-01', '{"segment": "smb", "industry": "marketing", "employeeCount": 25}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
159
|
-
('team-gamma-003', 'Gamma Industries', 'gamma-industries', 'Manufacturing - Industrial equipment and supplies', 'usr-gamma-01', '{"segment": "enterprise", "industry": "manufacturing", "employeeCount": 150}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
160
|
-
('team-delta-004', 'Delta Dynamics', 'delta-dynamics', 'Engineering - Precision engineering services', 'usr-delta-01', '{"segment": "smb", "industry": "engineering", "employeeCount": 40}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
161
|
-
('team-epsilon-005', 'Epsilon Media', 'epsilon-media', 'Media company - Content creation and distribution', 'usr-epsilon-01', '{"segment": "smb", "industry": "media", "employeeCount": 35}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
162
|
-
('team-zeta-006', 'Zeta Finance', 'zeta-finance', 'Fintech - Financial technology solutions', 'usr-zeta-01', '{"segment": "startup", "industry": "fintech", "employeeCount": 20}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
163
|
-
('team-eta-007', 'Eta Healthcare', 'eta-healthcare', 'Healthcare - Medical technology and services', 'usr-eta-01', '{"segment": "enterprise", "industry": "healthcare", "employeeCount": 200}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
164
|
-
('team-theta-008', 'Theta Enterprises', 'theta-enterprises', 'Large corporation - Enterprise solutions', 'usr-theta-01', '{"segment": "enterprise", "industry": "consulting", "employeeCount": 500}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
165
|
-
('team-iota-009', 'Iota Consulting', 'iota-consulting', 'Consulting - Business strategy and operations', 'usr-iota-01', '{"segment": "smb", "industry": "consulting", "employeeCount": 30, "churned": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
166
|
-
('team-kappa-010', 'Kappa Labs', 'kappa-labs', 'Research lab - R&D and innovation', 'usr-kappa-01', '{"segment": "startup", "industry": "research", "employeeCount": 12, "churned": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
157
|
+
('team-alpha-001', 'Alpha Tech', 'alpha-tech', 'Software startup - Building innovative solutions', 'usr-alpha-01', '{"segment": "startup", "industry": "software", "employeeCount": 15, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
158
|
+
('team-beta-002', 'Beta Solutions', 'beta-solutions', 'Digital agency - Creative marketing and design', 'usr-beta-01', '{"segment": "smb", "industry": "marketing", "employeeCount": 25, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
159
|
+
('team-gamma-003', 'Gamma Industries', 'gamma-industries', 'Manufacturing - Industrial equipment and supplies', 'usr-gamma-01', '{"segment": "enterprise", "industry": "manufacturing", "employeeCount": 150, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
160
|
+
('team-delta-004', 'Delta Dynamics', 'delta-dynamics', 'Engineering - Precision engineering services', 'usr-delta-01', '{"segment": "smb", "industry": "engineering", "employeeCount": 40, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
161
|
+
('team-epsilon-005', 'Epsilon Media', 'epsilon-media', 'Media company - Content creation and distribution', 'usr-epsilon-01', '{"segment": "smb", "industry": "media", "employeeCount": 35, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
162
|
+
('team-zeta-006', 'Zeta Finance', 'zeta-finance', 'Fintech - Financial technology solutions', 'usr-zeta-01', '{"segment": "startup", "industry": "fintech", "employeeCount": 20, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
163
|
+
('team-eta-007', 'Eta Healthcare', 'eta-healthcare', 'Healthcare - Medical technology and services', 'usr-eta-01', '{"segment": "enterprise", "industry": "healthcare", "employeeCount": 200, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
164
|
+
('team-theta-008', 'Theta Enterprises', 'theta-enterprises', 'Large corporation - Enterprise solutions', 'usr-theta-01', '{"segment": "enterprise", "industry": "consulting", "employeeCount": 500, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
165
|
+
('team-iota-009', 'Iota Consulting', 'iota-consulting', 'Consulting - Business strategy and operations', 'usr-iota-01', '{"segment": "smb", "industry": "consulting", "employeeCount": 30, "churned": true, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
166
|
+
('team-kappa-010', 'Kappa Labs', 'kappa-labs', 'Research lab - R&D and innovation', 'usr-kappa-01', '{"segment": "startup", "industry": "research", "employeeCount": 12, "churned": true, "isSeedData": true}'::jsonb, NOW() - INTERVAL '180 days', NOW()),
|
|
167
167
|
-- Annual Subscription Teams (Teams 11-15)
|
|
168
|
-
('team-lambda-011', 'Lambda Corp', 'lambda-corp', 'Enterprise - Global technology corporation', 'usr-lambda-01', '{"segment": "enterprise", "industry": "technology", "employeeCount": 500, "billingCycle": "annual"}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
169
|
-
('team-mu-012', 'Mu Industries', 'mu-industries', 'Manufacturing - Heavy industry and automation', 'usr-mu-01', '{"segment": "enterprise", "industry": "manufacturing", "employeeCount": 450, "billingCycle": "annual"}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
170
|
-
('team-nu-013', 'Nu Dynamics', 'nu-dynamics', 'Technology - Advanced systems and AI', 'usr-nu-01', '{"segment": "enterprise", "industry": "technology", "employeeCount": 300, "billingCycle": "annual"}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
171
|
-
('team-xi-014', 'Xi Solutions', 'xi-solutions', 'Consulting - Strategic advisory services', 'usr-xi-01', '{"segment": "smb", "industry": "consulting", "employeeCount": 50, "billingCycle": "annual"}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
172
|
-
('team-omicron-015', 'Omicron Labs', 'omicron-labs', 'Research - Scientific research and development', 'usr-omicron-01', '{"segment": "startup", "industry": "research", "employeeCount": 25, "billingCycle": "annual"}'::jsonb, NOW() - INTERVAL '365 days', NOW())
|
|
168
|
+
('team-lambda-011', 'Lambda Corp', 'lambda-corp', 'Enterprise - Global technology corporation', 'usr-lambda-01', '{"segment": "enterprise", "industry": "technology", "employeeCount": 500, "billingCycle": "annual", "isSeedData": true}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
169
|
+
('team-mu-012', 'Mu Industries', 'mu-industries', 'Manufacturing - Heavy industry and automation', 'usr-mu-01', '{"segment": "enterprise", "industry": "manufacturing", "employeeCount": 450, "billingCycle": "annual", "isSeedData": true}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
170
|
+
('team-nu-013', 'Nu Dynamics', 'nu-dynamics', 'Technology - Advanced systems and AI', 'usr-nu-01', '{"segment": "enterprise", "industry": "technology", "employeeCount": 300, "billingCycle": "annual", "isSeedData": true}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
171
|
+
('team-xi-014', 'Xi Solutions', 'xi-solutions', 'Consulting - Strategic advisory services', 'usr-xi-01', '{"segment": "smb", "industry": "consulting", "employeeCount": 50, "billingCycle": "annual", "isSeedData": true}'::jsonb, NOW() - INTERVAL '365 days', NOW()),
|
|
172
|
+
('team-omicron-015', 'Omicron Labs', 'omicron-labs', 'Research - Scientific research and development', 'usr-omicron-01', '{"segment": "startup", "industry": "research", "employeeCount": 25, "billingCycle": "annual", "isSeedData": true}'::jsonb, NOW() - INTERVAL '365 days', NOW())
|
|
173
173
|
ON CONFLICT (id) DO NOTHING;
|
|
174
174
|
|
|
175
175
|
-- NEW TEAM MEMBERSHIPS (50 total - 5 per team)
|
|
@@ -20,7 +20,7 @@ INSERT INTO public.pages (
|
|
|
20
20
|
"createdAt",
|
|
21
21
|
"updatedAt"
|
|
22
22
|
) VALUES (
|
|
23
|
-
|
|
23
|
+
'00000000-0000-4000-a000-000000000001',
|
|
24
24
|
'usr-carlos-001',
|
|
25
25
|
'team-everpoint-001',
|
|
26
26
|
'home',
|
|
@@ -332,7 +332,7 @@ INSERT INTO public.pages (
|
|
|
332
332
|
"createdAt",
|
|
333
333
|
"updatedAt"
|
|
334
334
|
) VALUES (
|
|
335
|
-
|
|
335
|
+
'00000000-0000-4000-a000-000000000002',
|
|
336
336
|
'usr-carlos-001',
|
|
337
337
|
'team-everpoint-001',
|
|
338
338
|
'features',
|
|
@@ -500,7 +500,7 @@ INSERT INTO public.pages (
|
|
|
500
500
|
"createdAt",
|
|
501
501
|
"updatedAt"
|
|
502
502
|
) VALUES (
|
|
503
|
-
|
|
503
|
+
'00000000-0000-4000-a000-000000000003',
|
|
504
504
|
'usr-carlos-001',
|
|
505
505
|
'team-everpoint-001',
|
|
506
506
|
'pricing',
|
|
@@ -644,7 +644,7 @@ INSERT INTO public.pages (
|
|
|
644
644
|
"createdAt",
|
|
645
645
|
"updatedAt"
|
|
646
646
|
) VALUES (
|
|
647
|
-
|
|
647
|
+
'00000000-0000-4000-a000-000000000004',
|
|
648
648
|
'usr-carlos-001',
|
|
649
649
|
'team-everpoint-001',
|
|
650
650
|
'about',
|
|
@@ -803,7 +803,7 @@ INSERT INTO public.pages (
|
|
|
803
803
|
"createdAt",
|
|
804
804
|
"updatedAt"
|
|
805
805
|
) VALUES (
|
|
806
|
-
|
|
806
|
+
'00000000-0000-4000-a000-000000000005',
|
|
807
807
|
'usr-carlos-001',
|
|
808
808
|
'team-everpoint-001',
|
|
809
809
|
'getting-started',
|
|
@@ -955,7 +955,7 @@ INSERT INTO public.pages (
|
|
|
955
955
|
"createdAt",
|
|
956
956
|
"updatedAt"
|
|
957
957
|
) VALUES (
|
|
958
|
-
|
|
958
|
+
'00000000-0000-4000-a000-000000000006',
|
|
959
959
|
'usr-carlos-001',
|
|
960
960
|
'team-everpoint-001',
|
|
961
961
|
'contact',
|
|
@@ -1068,7 +1068,7 @@ INSERT INTO public.pages (
|
|
|
1068
1068
|
"createdAt",
|
|
1069
1069
|
"updatedAt"
|
|
1070
1070
|
) VALUES (
|
|
1071
|
-
|
|
1071
|
+
'00000000-0000-4000-a000-000000000007',
|
|
1072
1072
|
'usr-carlos-001',
|
|
1073
1073
|
'team-everpoint-001',
|
|
1074
1074
|
'demo',
|