create-freeholder 0.0.0-bootstrap.0 → 0.2.0-beta.2
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/README.md +30 -2
- package/dist/index.d.ts +72 -0
- package/dist/index.js +672 -0
- package/dist/template/.changeset/README.md +8 -0
- package/dist/template/.changeset/access-from-grants.md +14 -0
- package/dist/template/.changeset/accounting-exports.md +32 -0
- package/dist/template/.changeset/ad-creatives.md +33 -0
- package/dist/template/.changeset/ad-inventory.md +19 -0
- package/dist/template/.changeset/ad-measurement.md +10 -0
- package/dist/template/.changeset/ad-third-party.md +9 -0
- package/dist/template/.changeset/admin-ads.md +9 -0
- package/dist/template/.changeset/admin-documents.md +7 -0
- package/dist/template/.changeset/admin-loyalty.md +9 -0
- package/dist/template/.changeset/admin-referrals.md +9 -0
- package/dist/template/.changeset/admin-shell.md +16 -0
- package/dist/template/.changeset/adversarial-cms-boundaries.md +8 -0
- package/dist/template/.changeset/adversarial-customer-invariants.md +7 -0
- package/dist/template/.changeset/adversarial-customer-privacy.md +13 -0
- package/dist/template/.changeset/adversarial-platform-safety.md +15 -0
- package/dist/template/.changeset/agent-approval-inbox.md +5 -0
- package/dist/template/.changeset/agent-autonomy-writes.md +5 -0
- package/dist/template/.changeset/agent-budgets.md +5 -0
- package/dist/template/.changeset/agent-catalogue.md +22 -0
- package/dist/template/.changeset/agent-f04.md +6 -0
- package/dist/template/.changeset/agent-injection-hardening.md +5 -0
- package/dist/template/.changeset/agent-pause-kill-switch.md +5 -0
- package/dist/template/.changeset/agent-playbooks.md +5 -0
- package/dist/template/.changeset/agent-run-live.md +5 -0
- package/dist/template/.changeset/agent-work-board.md +5 -0
- package/dist/template/.changeset/agents-inbound.md +31 -0
- package/dist/template/.changeset/agents-model.md +27 -0
- package/dist/template/.changeset/alt-text-suggestions.md +8 -0
- package/dist/template/.changeset/analytics-governance.md +7 -0
- package/dist/template/.changeset/analytics-proxy-origin.md +8 -0
- package/dist/template/.changeset/analytics.md +10 -0
- package/dist/template/.changeset/apache-license.md +15 -0
- package/dist/template/.changeset/api-keys.md +19 -0
- package/dist/template/.changeset/arabic-rtl-catalog.md +23 -0
- package/dist/template/.changeset/assistant-grounding.md +10 -0
- package/dist/template/.changeset/assistant-guardrails.md +11 -0
- package/dist/template/.changeset/attested-facts-and-corrections.md +11 -0
- package/dist/template/.changeset/audit-search-and-proof.md +34 -0
- package/dist/template/.changeset/autofill-safety.md +22 -0
- package/dist/template/.changeset/automation-guardrails.md +9 -0
- package/dist/template/.changeset/automation-runtime.md +9 -0
- package/dist/template/.changeset/automations-builder.md +9 -0
- package/dist/template/.changeset/availability-resolver.md +29 -0
- package/dist/template/.changeset/availability.md +23 -0
- package/dist/template/.changeset/booking-audiences.md +24 -0
- package/dist/template/.changeset/booking-race-message.md +15 -0
- package/dist/template/.changeset/bookings.md +28 -0
- package/dist/template/.changeset/boot-in-request-graph.md +7 -0
- package/dist/template/.changeset/bot-detection.md +9 -0
- package/dist/template/.changeset/briefing-delivery.md +21 -0
- package/dist/template/.changeset/briefing-sections.md +22 -0
- package/dist/template/.changeset/browser-journeys.md +8 -0
- package/dist/template/.changeset/builder-code-lane.md +25 -0
- package/dist/template/.changeset/business-presets.md +8 -0
- package/dist/template/.changeset/business-settings-and-csrf.md +17 -0
- package/dist/template/.changeset/c11-08-restore-drill.md +20 -0
- package/dist/template/.changeset/c11-12-f04-axe.md +8 -0
- package/dist/template/.changeset/c11-14-retention.md +8 -0
- package/dist/template/.changeset/c11-14-search.md +11 -0
- package/dist/template/.changeset/c11-journeys.md +7 -0
- package/dist/template/.changeset/c11-ops.md +8 -0
- package/dist/template/.changeset/c11-quality.md +8 -0
- package/dist/template/.changeset/c1111-reference-acceptance.md +8 -0
- package/dist/template/.changeset/c1111-reference-target-closure.md +8 -0
- package/dist/template/.changeset/c224-inline-canvas.md +13 -0
- package/dist/template/.changeset/c224-merchandising-blocks.md +19 -0
- package/dist/template/.changeset/c225-canvas-caret-swap.md +5 -0
- package/dist/template/.changeset/c225-canvas-drag-drop.md +5 -0
- package/dist/template/.changeset/c225-canvas-media-tools.md +5 -0
- package/dist/template/.changeset/c225-store-sections.md +5 -0
- package/dist/template/.changeset/c313-live-paradise-acceptance.md +8 -0
- package/dist/template/.changeset/c324-storefront-parity.md +5 -0
- package/dist/template/.changeset/c6-11-events-evidence.md +14 -0
- package/dist/template/.changeset/caddy-domain-env.md +7 -0
- package/dist/template/.changeset/calculators-and-coverage.md +13 -0
- package/dist/template/.changeset/calculators-localized-evidence.md +11 -0
- package/dist/template/.changeset/calendar-oauth.md +5 -0
- package/dist/template/.changeset/calendars.md +26 -0
- package/dist/template/.changeset/campaign-broadcasts.md +34 -0
- package/dist/template/.changeset/canonical-two-factor-envelope.md +7 -0
- package/dist/template/.changeset/capture-chunk-integrity.md +5 -0
- package/dist/template/.changeset/cart-capability-authorization.md +10 -0
- package/dist/template/.changeset/cart-contact-authority.md +5 -0
- package/dist/template/.changeset/catalog-checkout-milestones.md +8 -0
- package/dist/template/.changeset/catalog-quality-rtl.md +12 -0
- package/dist/template/.changeset/change-password.md +8 -0
- package/dist/template/.changeset/ci-minio-quay.md +6 -0
- package/dist/template/.changeset/client-documents.md +11 -0
- package/dist/template/.changeset/client-galleries.md +7 -0
- package/dist/template/.changeset/client-gallery-delivery-audit.md +9 -0
- package/dist/template/.changeset/client-readiness-security.md +7 -0
- package/dist/template/.changeset/close-world-class-storefront.md +27 -0
- package/dist/template/.changeset/cms-a11y-hints.md +5 -0
- package/dist/template/.changeset/cms-author-history.md +8 -0
- package/dist/template/.changeset/cms-blocks.md +8 -0
- package/dist/template/.changeset/cms-cache-budgets.md +5 -0
- package/dist/template/.changeset/cms-chrome-sections.md +8 -0
- package/dist/template/.changeset/cms-collab-presence-comments.md +7 -0
- package/dist/template/.changeset/cms-content-lifecycle.md +9 -0
- package/dist/template/.changeset/cms-design-tokens.md +5 -0
- package/dist/template/.changeset/cms-editor.md +8 -0
- package/dist/template/.changeset/cms-email-editor.md +5 -0
- package/dist/template/.changeset/cms-entity-layouts.md +5 -0
- package/dist/template/.changeset/cms-experiment-reporting.md +5 -0
- package/dist/template/.changeset/cms-experiments.md +5 -0
- package/dist/template/.changeset/cms-locale-workflow.md +5 -0
- package/dist/template/.changeset/cms-plugin-proof.md +5 -0
- package/dist/template/.changeset/cms-rich-editor-foundations.md +8 -0
- package/dist/template/.changeset/cms-section-instances.md +5 -0
- package/dist/template/.changeset/cms-surface-blocks.md +9 -0
- package/dist/template/.changeset/cms-templates.md +5 -0
- package/dist/template/.changeset/collections-taxonomy.md +5 -0
- package/dist/template/.changeset/commerce-advanced-money.md +16 -0
- package/dist/template/.changeset/commerce-carts-orders.md +9 -0
- package/dist/template/.changeset/commerce-catalog-merchandising.md +5 -0
- package/dist/template/.changeset/commerce-edge-contracts.md +5 -0
- package/dist/template/.changeset/commerce-fulfillment.md +9 -0
- package/dist/template/.changeset/commerce-inventory-ledger.md +9 -0
- package/dist/template/.changeset/commerce-invoice-admin.md +5 -0
- package/dist/template/.changeset/commerce-money-foundation.md +5 -0
- package/dist/template/.changeset/commerce-payment-providers.md +8 -0
- package/dist/template/.changeset/commerce-pos.md +8 -0
- package/dist/template/.changeset/commerce-procurement.md +9 -0
- package/dist/template/.changeset/commerce-product-lifecycle.md +16 -0
- package/dist/template/.changeset/commerce-promotions.md +8 -0
- package/dist/template/.changeset/commerce-provider-parity.md +10 -0
- package/dist/template/.changeset/commerce-relations-breaks.md +5 -0
- package/dist/template/.changeset/commerce-service-offerings.md +11 -0
- package/dist/template/.changeset/commerce-shipping-rates.md +9 -0
- package/dist/template/.changeset/commerce-tax-templates.md +5 -0
- package/dist/template/.changeset/commerce-variant-matrices.md +5 -0
- package/dist/template/.changeset/community-rooms.md +7 -0
- package/dist/template/.changeset/complete-demo-scenarios.md +10 -0
- package/dist/template/.changeset/completion-honesty.md +10 -0
- package/dist/template/.changeset/config.json +11 -0
- package/dist/template/.changeset/connection-grants.md +5 -0
- package/dist/template/.changeset/consent-gated-media.md +13 -0
- package/dist/template/.changeset/consent-is-evidence.md +13 -0
- package/dist/template/.changeset/contact-data-depth.md +16 -0
- package/dist/template/.changeset/contact-duplicate-review.md +17 -0
- package/dist/template/.changeset/contact-import.md +26 -0
- package/dist/template/.changeset/contact-merge-ui.md +8 -0
- package/dist/template/.changeset/contact-privacy-rights.md +18 -0
- package/dist/template/.changeset/contacts-admin.md +15 -0
- package/dist/template/.changeset/contacts-create-human-only.md +5 -0
- package/dist/template/.changeset/content-security-policy.md +8 -0
- package/dist/template/.changeset/contract-templates.md +22 -0
- package/dist/template/.changeset/contribute-channel.md +5 -0
- package/dist/template/.changeset/contribute-status-replies.md +5 -0
- package/dist/template/.changeset/conversations.md +20 -0
- package/dist/template/.changeset/core-jobs.md +9 -0
- package/dist/template/.changeset/core-runs.md +7 -0
- package/dist/template/.changeset/core-seo.md +10 -0
- package/dist/template/.changeset/create-freeholder-setup.md +8 -0
- package/dist/template/.changeset/credential-encryption.md +26 -0
- package/dist/template/.changeset/custom-field-options-default.md +8 -0
- package/dist/template/.changeset/customer-booking-screens.md +9 -0
- package/dist/template/.changeset/customer-dependency-security.md +5 -0
- package/dist/template/.changeset/customer-gallery-foundation.md +8 -0
- package/dist/template/.changeset/customer-invoice-payments.md +5 -0
- package/dist/template/.changeset/customer-magic-links.md +12 -0
- package/dist/template/.changeset/customer-mobile-contracts.md +6 -0
- package/dist/template/.changeset/customer-reply-and-account.md +7 -0
- package/dist/template/.changeset/customer-self-service.md +12 -0
- package/dist/template/.changeset/customization-seams.md +7 -0
- package/dist/template/.changeset/daily-briefing.md +27 -0
- package/dist/template/.changeset/daily-private-rooms.md +8 -0
- package/dist/template/.changeset/daily-update-check.md +6 -0
- package/dist/template/.changeset/danger-token-integrity.md +5 -0
- package/dist/template/.changeset/demo-same-droplet.md +12 -0
- package/dist/template/.changeset/dependency-security-policy.md +7 -0
- package/dist/template/.changeset/deploy-script-stdin.md +5 -0
- package/dist/template/.changeset/design-system-and-setup.md +17 -0
- package/dist/template/.changeset/deterministic-demo-scenarios.md +5 -0
- package/dist/template/.changeset/digitalocean-droplet-recipe.md +15 -0
- package/dist/template/.changeset/doc-claim-mapping.md +5 -0
- package/dist/template/.changeset/docs-availability.md +7 -0
- package/dist/template/.changeset/doctor.md +9 -0
- package/dist/template/.changeset/done.md +8 -0
- package/dist/template/.changeset/droplet-backup-cron-env.md +10 -0
- package/dist/template/.changeset/dunning.md +10 -0
- package/dist/template/.changeset/durable-provider-work.md +10 -0
- package/dist/template/.changeset/editor-preview-local-draft.md +5 -0
- package/dist/template/.changeset/editor-publish-autosave-race.md +5 -0
- package/dist/template/.changeset/embeds-with-backlinks.md +7 -0
- package/dist/template/.changeset/enforced-service-area-coverage.md +5 -0
- package/dist/template/.changeset/events-newsletters-seo.md +5 -0
- package/dist/template/.changeset/executable-tier-one-portability.md +5 -0
- package/dist/template/.changeset/expo-customer-app.md +10 -0
- package/dist/template/.changeset/external-calendar-sync.md +20 -0
- package/dist/template/.changeset/f-matrix-2026-09-16.md +17 -0
- package/dist/template/.changeset/f-matrix.md +9 -0
- package/dist/template/.changeset/f04-journey-screens.md +11 -0
- package/dist/template/.changeset/faceted-browse-storefront-search.md +5 -0
- package/dist/template/.changeset/first-party-plugin-surfaces.md +8 -0
- package/dist/template/.changeset/fork-lane.md +11 -0
- package/dist/template/.changeset/form-builder.md +26 -0
- package/dist/template/.changeset/forms-get-public-projection.md +13 -0
- package/dist/template/.changeset/forms-module.md +10 -0
- package/dist/template/.changeset/freeholder-app-init.md +10 -0
- package/dist/template/.changeset/front-site-assistant.md +29 -0
- package/dist/template/.changeset/gallery-approval-rounds.md +8 -0
- package/dist/template/.changeset/gallery-archive-delivery.md +13 -0
- package/dist/template/.changeset/gallery-download-policy.md +8 -0
- package/dist/template/.changeset/gallery-partner-share.md +8 -0
- package/dist/template/.changeset/gallery-proofing.md +9 -0
- package/dist/template/.changeset/gallery-sales.md +11 -0
- package/dist/template/.changeset/gate-hardening.md +5 -0
- package/dist/template/.changeset/generate-alt-text-without-open-transactions.md +9 -0
- package/dist/template/.changeset/graceful-job-shutdown.md +8 -0
- package/dist/template/.changeset/help-centre.md +16 -0
- package/dist/template/.changeset/honest-error-states.md +5 -0
- package/dist/template/.changeset/host-executor-drills.md +5 -0
- package/dist/template/.changeset/host-image-identity.md +5 -0
- package/dist/template/.changeset/host-updater-migration-lane.md +5 -0
- package/dist/template/.changeset/http-api.md +23 -0
- package/dist/template/.changeset/http-edge-auth-routes.md +14 -0
- package/dist/template/.changeset/ics-and-calendar-writeback.md +19 -0
- package/dist/template/.changeset/ics-feed-500.md +7 -0
- package/dist/template/.changeset/import-replace-rollback.md +5 -0
- package/dist/template/.changeset/inbox.md +24 -0
- package/dist/template/.changeset/intake-waivers-and-reminders.md +26 -0
- package/dist/template/.changeset/internal-service-boundary.md +9 -0
- package/dist/template/.changeset/job-operations.md +14 -0
- package/dist/template/.changeset/job-runtime-health.md +9 -0
- package/dist/template/.changeset/leftover-f04.md +8 -0
- package/dist/template/.changeset/light-and-dark.md +12 -0
- package/dist/template/.changeset/living-contract.md +5 -0
- package/dist/template/.changeset/locale-driven-customer-surfaces.md +14 -0
- package/dist/template/.changeset/locale-routing.md +10 -0
- package/dist/template/.changeset/locations-and-nap.md +29 -0
- package/dist/template/.changeset/loyalty-points.md +17 -0
- package/dist/template/.changeset/loyalty-tiers-rewards.md +20 -0
- package/dist/template/.changeset/mail-adapter-completion.md +20 -0
- package/dist/template/.changeset/mail-and-reset.md +10 -0
- package/dist/template/.changeset/mail-contacts.md +28 -0
- package/dist/template/.changeset/mail-delivery-boundary.md +10 -0
- package/dist/template/.changeset/managed-agent-loop.md +5 -0
- package/dist/template/.changeset/marketplace-channel-sync.md +7 -0
- package/dist/template/.changeset/mcp-server.md +20 -0
- package/dist/template/.changeset/media-and-canvas.md +8 -0
- package/dist/template/.changeset/media-capture-review.md +8 -0
- package/dist/template/.changeset/media-capture-sessions.md +5 -0
- package/dist/template/.changeset/media-delete-and-inline-editing.md +7 -0
- package/dist/template/.changeset/media-lifecycle.md +9 -0
- package/dist/template/.changeset/media-phone-ingest.md +8 -0
- package/dist/template/.changeset/memberships.md +37 -0
- package/dist/template/.changeset/message-templates.md +9 -0
- package/dist/template/.changeset/mobile-app-package.md +10 -0
- package/dist/template/.changeset/mobile-capture-batches.md +9 -0
- package/dist/template/.changeset/mobile-dependency-security.md +5 -0
- package/dist/template/.changeset/mobile-screens.md +10 -0
- package/dist/template/.changeset/mobile-store-ci.md +11 -0
- package/dist/template/.changeset/mobile-v2-deferral.md +12 -0
- package/dist/template/.changeset/n1-schema.md +6 -0
- package/dist/template/.changeset/named-roles-grants.md +10 -0
- package/dist/template/.changeset/native-customer-invoices.md +9 -0
- package/dist/template/.changeset/native-gallery-proofing.md +6 -0
- package/dist/template/.changeset/next-critical-advisories.md +6 -0
- package/dist/template/.changeset/no-double-booking.md +13 -0
- package/dist/template/.changeset/no-live-phone-example.md +5 -0
- package/dist/template/.changeset/note-task-recovery.md +9 -0
- package/dist/template/.changeset/notes.md +22 -0
- package/dist/template/.changeset/notification-fanout-inbox.md +17 -0
- package/dist/template/.changeset/on-danger-token.md +9 -0
- package/dist/template/.changeset/one-answer-to-who.md +24 -0
- package/dist/template/.changeset/open-source-demo-only.md +7 -0
- package/dist/template/.changeset/order-read-authorization.md +10 -0
- package/dist/template/.changeset/outbox-dead-letters.md +13 -0
- package/dist/template/.changeset/owner-agent-launch.md +4 -0
- package/dist/template/.changeset/owner-authored-assessments.md +15 -0
- package/dist/template/.changeset/owner-companion.md +10 -0
- package/dist/template/.changeset/owner-content-builder.md +21 -0
- package/dist/template/.changeset/owner-facing-helper.md +5 -0
- package/dist/template/.changeset/owner-storage-recording-import.md +8 -0
- package/dist/template/.changeset/ownership-recovery.md +5 -0
- package/dist/template/.changeset/ownership.md +8 -0
- package/dist/template/.changeset/package-artifact-integrity.md +9 -0
- package/dist/template/.changeset/paradise-comms-adapter.md +5 -0
- package/dist/template/.changeset/patch-uuid-buffer-advisory.md +7 -0
- package/dist/template/.changeset/paywalls.md +10 -0
- package/dist/template/.changeset/perf-harness-windows.md +11 -0
- package/dist/template/.changeset/perf-measurement-families.md +8 -0
- package/dist/template/.changeset/phase-0-foundations.md +7 -0
- package/dist/template/.changeset/pipelines.md +21 -0
- package/dist/template/.changeset/plan-evidence-gate.md +7 -0
- package/dist/template/.changeset/plan-proof-clause.md +9 -0
- package/dist/template/.changeset/plan-provider-pivot-2026-09-27.md +20 -0
- package/dist/template/.changeset/plan-world-class-commerce-editor-2026-09-29.md +21 -0
- package/dist/template/.changeset/playbook-schedules.md +21 -0
- package/dist/template/.changeset/playground-hardening.md +5 -0
- package/dist/template/.changeset/plugin-contract.md +5 -0
- package/dist/template/.changeset/popups.md +37 -0
- package/dist/template/.changeset/portable-plugins.md +5 -0
- package/dist/template/.changeset/portal-rooms.md +16 -0
- package/dist/template/.changeset/portal-shell.md +11 -0
- package/dist/template/.changeset/print-on-demand-fulfillment.md +7 -0
- package/dist/template/.changeset/printify-live-fulfillment.md +11 -0
- package/dist/template/.changeset/private-location-access.md +10 -0
- package/dist/template/.changeset/private-mobile-cache.md +6 -0
- package/dist/template/.changeset/private-note-access.md +8 -0
- package/dist/template/.changeset/privileged-two-factor.md +11 -0
- package/dist/template/.changeset/product-completion-plan.md +10 -0
- package/dist/template/.changeset/product-gift-share.md +7 -0
- package/dist/template/.changeset/project-case-studies.md +7 -0
- package/dist/template/.changeset/projects.md +24 -0
- package/dist/template/.changeset/provider-recording-erasure.md +8 -0
- package/dist/template/.changeset/provider-workflows-without-open-transactions.md +15 -0
- package/dist/template/.changeset/public-beta-2.md +4 -0
- package/dist/template/.changeset/public-beta-preparation.md +4 -0
- package/dist/template/.changeset/public-cart-checkout-confirmation.md +5 -0
- package/dist/template/.changeset/public-entity-drafts.md +6 -0
- package/dist/template/.changeset/public-gates.md +9 -0
- package/dist/template/.changeset/public-playground-host-updates.md +10 -0
- package/dist/template/.changeset/public-project-portfolios.md +7 -0
- package/dist/template/.changeset/publish-image.md +7 -0
- package/dist/template/.changeset/purge-without-open-transactions.md +9 -0
- package/dist/template/.changeset/push-notifications.md +11 -0
- package/dist/template/.changeset/queue-performance-clock.md +8 -0
- package/dist/template/.changeset/quote-conversion.md +22 -0
- package/dist/template/.changeset/quote-partner-share.md +7 -0
- package/dist/template/.changeset/quotes.md +22 -0
- package/dist/template/.changeset/real-browser-accessibility.md +7 -0
- package/dist/template/.changeset/recipe-bootstrap-fixes.md +9 -0
- package/dist/template/.changeset/recipe-update-backup-gate.md +5 -0
- package/dist/template/.changeset/recipient-messaging-policy.md +8 -0
- package/dist/template/.changeset/record-search-orders-subscriptions-gifts.md +8 -0
- package/dist/template/.changeset/record-studio-permissions.md +7 -0
- package/dist/template/.changeset/record-trash-every-row.md +9 -0
- package/dist/template/.changeset/recurring-invoices.md +24 -0
- package/dist/template/.changeset/referral-attribution.md +20 -0
- package/dist/template/.changeset/referral-commissions.md +11 -0
- package/dist/template/.changeset/register-stored-original-without-open-transactions.md +7 -0
- package/dist/template/.changeset/release-channels.md +7 -0
- package/dist/template/.changeset/remove-forced-builder-credit.md +5 -0
- package/dist/template/.changeset/rentals.md +22 -0
- package/dist/template/.changeset/reports-you-will-read.md +31 -0
- package/dist/template/.changeset/rescan-without-open-transactions.md +9 -0
- package/dist/template/.changeset/retire-stale-handoffs.md +7 -0
- package/dist/template/.changeset/reviews.md +11 -0
- package/dist/template/.changeset/rich-link-url-allowlist.md +5 -0
- package/dist/template/.changeset/role-guidance.md +5 -0
- package/dist/template/.changeset/rule-strong-token.md +13 -0
- package/dist/template/.changeset/saved-views.md +19 -0
- package/dist/template/.changeset/schema-baseline.md +12 -0
- package/dist/template/.changeset/scoring.md +23 -0
- package/dist/template/.changeset/security-parsing-and-recovery.md +8 -0
- package/dist/template/.changeset/seed-demo.md +8 -0
- package/dist/template/.changeset/seeded-development-home.md +5 -0
- package/dist/template/.changeset/segments.md +21 -0
- package/dist/template/.changeset/self-building-scope.md +12 -0
- package/dist/template/.changeset/seo-riba-surface.md +11 -0
- package/dist/template/.changeset/service-output-schemas.md +5 -0
- package/dist/template/.changeset/session-device-management.md +11 -0
- package/dist/template/.changeset/sharing-in-the-dna.md +32 -0
- package/dist/template/.changeset/ship-replit-storage-sdk.md +5 -0
- package/dist/template/.changeset/shopify-live-channel.md +12 -0
- package/dist/template/.changeset/shopify-refund-reconciliation.md +8 -0
- package/dist/template/.changeset/signed-candidate-history.md +4 -0
- package/dist/template/.changeset/signed-release-feed.md +6 -0
- package/dist/template/.changeset/signup-contact-import.md +5 -0
- package/dist/template/.changeset/site-live-chat.md +5 -0
- package/dist/template/.changeset/sms-consent-boundary.md +8 -0
- package/dist/template/.changeset/sms-registration.md +25 -0
- package/dist/template/.changeset/sms-templates-keywords-mms.md +5 -0
- package/dist/template/.changeset/sms.md +27 -0
- package/dist/template/.changeset/social-composer.md +9 -0
- package/dist/template/.changeset/social-connections.md +10 -0
- package/dist/template/.changeset/social-gbp.md +7 -0
- package/dist/template/.changeset/social-ingest.md +8 -0
- package/dist/template/.changeset/social-onboarding.md +8 -0
- package/dist/template/.changeset/source-first-start.md +5 -0
- package/dist/template/.changeset/source-map-security-floor.md +4 -0
- package/dist/template/.changeset/source-provenance.md +16 -0
- package/dist/template/.changeset/spine-and-service-registry.md +21 -0
- package/dist/template/.changeset/stable-release-publication.md +10 -0
- package/dist/template/.changeset/staff-invitations.md +13 -0
- package/dist/template/.changeset/standalone-artifact-boundary.md +5 -0
- package/dist/template/.changeset/standing-debts-1.md +10 -0
- package/dist/template/.changeset/storage-adapters.md +12 -0
- package/dist/template/.changeset/subscription-billing.md +12 -0
- package/dist/template/.changeset/supplier-agreement-search.md +8 -0
- package/dist/template/.changeset/supply-chain-release-gate.md +11 -0
- package/dist/template/.changeset/tasks.md +20 -0
- package/dist/template/.changeset/tax-adapter-seam.md +5 -0
- package/dist/template/.changeset/third-party-batch-2.md +28 -0
- package/dist/template/.changeset/third-party-findings-batch-1.md +27 -0
- package/dist/template/.changeset/tidy-sites-drop.md +9 -0
- package/dist/template/.changeset/time-entries.md +24 -0
- package/dist/template/.changeset/transaction-composition-integrity.md +22 -0
- package/dist/template/.changeset/transactional-jobs.md +15 -0
- package/dist/template/.changeset/translation-admin.md +26 -0
- package/dist/template/.changeset/translation-draft-honesty.md +5 -0
- package/dist/template/.changeset/typed-sdk.md +7 -0
- package/dist/template/.changeset/unified-calendar.md +23 -0
- package/dist/template/.changeset/update-admin.md +12 -0
- package/dist/template/.changeset/update-apply.md +6 -0
- package/dist/template/.changeset/update-cli.md +10 -0
- package/dist/template/.changeset/update-escalation.md +11 -0
- package/dist/template/.changeset/update-policy.md +6 -0
- package/dist/template/.changeset/update-preflight.md +6 -0
- package/dist/template/.changeset/update-status.md +10 -0
- package/dist/template/.changeset/update-targets.md +10 -0
- package/dist/template/.changeset/upgrade-gates.md +9 -0
- package/dist/template/.changeset/uploads-without-open-transactions.md +9 -0
- package/dist/template/.changeset/versioned-release.md +10 -0
- package/dist/template/.changeset/visit-to-paid-funnel.md +27 -0
- package/dist/template/.changeset/visual-drag.md +6 -0
- package/dist/template/.changeset/voice-video-rooms.md +8 -0
- package/dist/template/.changeset/voicevideo-credential-expiry.md +8 -0
- package/dist/template/.changeset/waitlists-groups-and-policy.md +27 -0
- package/dist/template/.changeset/watermark-backfill-without-open-transactions.md +9 -0
- package/dist/template/.changeset/watermarked-proof-renditions.md +8 -0
- package/dist/template/.changeset/webauthn-14.md +7 -0
- package/dist/template/.changeset/webhook-pinned-transport.md +5 -0
- package/dist/template/.changeset/webhooks.md +22 -0
- package/dist/template/.changeset/wevibesites-colophon.md +7 -0
- package/dist/template/.changeset/workflow-record-search.md +8 -0
- package/dist/template/.changeset/workforce-adapter-family.md +5 -0
- package/dist/template/.changeset/www-canonical-redirect.md +7 -0
- package/dist/template/.dockerignore +16 -0
- package/dist/template/.env.example +215 -0
- package/dist/template/.github/PULL_REQUEST_TEMPLATE.md +19 -0
- package/dist/template/.github/actions/setup-project/action.yml +15 -0
- package/dist/template/.github/dependabot.yml +27 -0
- package/dist/template/.github/workflows/ci.yml +501 -0
- package/dist/template/.github/workflows/eas.yml +51 -0
- package/dist/template/.github/workflows/mirror-ci-images.yml +62 -0
- package/dist/template/.github/workflows/publish-image.yml +214 -0
- package/dist/template/.github/workflows/publish-packages.yml +75 -0
- package/dist/template/.github/workflows/security-scheduled.yml +47 -0
- package/dist/template/.node-version +1 -0
- package/dist/template/.railway/railway.ts +43 -0
- package/dist/template/.replit +15 -0
- package/dist/template/AGENTS.md +34 -0
- package/dist/template/CLAUDE.md +62 -0
- package/dist/template/CODE_OF_CONDUCT.md +134 -0
- package/dist/template/CONTRIBUTING.md +100 -0
- package/dist/template/DCO.md +42 -0
- package/dist/template/Dockerfile +48 -0
- package/dist/template/LICENSE +202 -0
- package/dist/template/LICENSING.md +61 -0
- package/dist/template/MASTER.md +10261 -0
- package/dist/template/README.md +122 -0
- package/dist/template/SECURITY.md +152 -0
- package/dist/template/app/(admin)/action-helpers.ts +21 -0
- package/dist/template/app/(admin)/actions.ts +1529 -0
- package/dist/template/app/(admin)/admin/AdminGuidanceHelp.tsx +38 -0
- package/dist/template/app/(admin)/admin/AdminNav.tsx +303 -0
- package/dist/template/app/(admin)/admin/BlockEditor.tsx +2993 -0
- package/dist/template/app/(admin)/admin/ConversationsPanel.tsx +124 -0
- package/dist/template/app/(admin)/admin/NotesPanel.tsx +161 -0
- package/dist/template/app/(admin)/admin/PreviewCanvas.tsx +583 -0
- package/dist/template/app/(admin)/admin/RichField.tsx +107 -0
- package/dist/template/app/(admin)/admin/ScorePanel.tsx +117 -0
- package/dist/template/app/(admin)/admin/SignOutButton.tsx +19 -0
- package/dist/template/app/(admin)/admin/ViewBar.tsx +162 -0
- package/dist/template/app/(admin)/admin/access/page.tsx +214 -0
- package/dist/template/app/(admin)/admin/ads/page.tsx +827 -0
- package/dist/template/app/(admin)/admin/agreements/[id]/page.tsx +148 -0
- package/dist/template/app/(admin)/admin/agreements/page.tsx +288 -0
- package/dist/template/app/(admin)/admin/appointments/[id]/page.tsx +522 -0
- package/dist/template/app/(admin)/admin/appointments/page.tsx +215 -0
- package/dist/template/app/(admin)/admin/assessments/BandEditor.tsx +295 -0
- package/dist/template/app/(admin)/admin/assessments/EscalationEditor.tsx +229 -0
- package/dist/template/app/(admin)/admin/assessments/PublishControls.tsx +76 -0
- package/dist/template/app/(admin)/admin/assessments/QuestionBuilder.tsx +489 -0
- package/dist/template/app/(admin)/admin/assessments/[id]/edit/page.tsx +64 -0
- package/dist/template/app/(admin)/admin/assessments/[id]/page.tsx +166 -0
- package/dist/template/app/(admin)/admin/assessments/labels.ts +106 -0
- package/dist/template/app/(admin)/admin/assessments/new/page.tsx +42 -0
- package/dist/template/app/(admin)/admin/assessments/page.tsx +95 -0
- package/dist/template/app/(admin)/admin/assistant/page.tsx +741 -0
- package/dist/template/app/(admin)/admin/automations/[id]/page.tsx +595 -0
- package/dist/template/app/(admin)/admin/automations/page.tsx +153 -0
- package/dist/template/app/(admin)/admin/blog/actions.ts +21 -0
- package/dist/template/app/(admin)/admin/blog/page.tsx +13 -0
- package/dist/template/app/(admin)/admin/briefing/page.tsx +179 -0
- package/dist/template/app/(admin)/admin/builder/page.tsx +205 -0
- package/dist/template/app/(admin)/admin/builder/proposals/[id]/page.tsx +88 -0
- package/dist/template/app/(admin)/admin/calculators/CalculatorBuilder.tsx +573 -0
- package/dist/template/app/(admin)/admin/calculators/CalculatorPublish.tsx +65 -0
- package/dist/template/app/(admin)/admin/calculators/[id]/page.tsx +75 -0
- package/dist/template/app/(admin)/admin/calculators/labels.ts +51 -0
- package/dist/template/app/(admin)/admin/calculators/new/page.tsx +35 -0
- package/dist/template/app/(admin)/admin/calculators/page.tsx +87 -0
- package/dist/template/app/(admin)/admin/calendar/page.tsx +326 -0
- package/dist/template/app/(admin)/admin/calendars/[id]/page.tsx +255 -0
- package/dist/template/app/(admin)/admin/calendars/audiences/page.tsx +256 -0
- package/dist/template/app/(admin)/admin/calendars/page.tsx +261 -0
- package/dist/template/app/(admin)/admin/calendars/waitlist/page.tsx +236 -0
- package/dist/template/app/(admin)/admin/carts/[id]/page.tsx +219 -0
- package/dist/template/app/(admin)/admin/carts/page.tsx +107 -0
- package/dist/template/app/(admin)/admin/collections/[id]/page.tsx +259 -0
- package/dist/template/app/(admin)/admin/collections/page.tsx +134 -0
- package/dist/template/app/(admin)/admin/community/page.tsx +293 -0
- package/dist/template/app/(admin)/admin/connect/ConnectForm.tsx +52 -0
- package/dist/template/app/(admin)/admin/connect/actions.ts +29 -0
- package/dist/template/app/(admin)/admin/connect/page.tsx +17 -0
- package/dist/template/app/(admin)/admin/contacts/ContactForm.tsx +287 -0
- package/dist/template/app/(admin)/admin/contacts/CustomFieldInputs.tsx +101 -0
- package/dist/template/app/(admin)/admin/contacts/[id]/MergePanel.tsx +113 -0
- package/dist/template/app/(admin)/admin/contacts/[id]/RelationshipPanel.tsx +234 -0
- package/dist/template/app/(admin)/admin/contacts/[id]/page.tsx +388 -0
- package/dist/template/app/(admin)/admin/contacts/contactLabels.ts +112 -0
- package/dist/template/app/(admin)/admin/contacts/duplicates/DuplicateReview.tsx +335 -0
- package/dist/template/app/(admin)/admin/contacts/duplicates/page.tsx +196 -0
- package/dist/template/app/(admin)/admin/contacts/fields/CustomFieldManager.tsx +199 -0
- package/dist/template/app/(admin)/admin/contacts/fields/page.tsx +58 -0
- package/dist/template/app/(admin)/admin/contacts/new/page.tsx +51 -0
- package/dist/template/app/(admin)/admin/contacts/organizations/OrganizationForm.tsx +144 -0
- package/dist/template/app/(admin)/admin/contacts/organizations/[id]/page.tsx +80 -0
- package/dist/template/app/(admin)/admin/contacts/organizations/labels.ts +26 -0
- package/dist/template/app/(admin)/admin/contacts/organizations/new/page.tsx +35 -0
- package/dist/template/app/(admin)/admin/contacts/organizations/page.tsx +140 -0
- package/dist/template/app/(admin)/admin/contacts/page.tsx +341 -0
- package/dist/template/app/(admin)/admin/contacts/privacy/PrivacyActionForm.tsx +59 -0
- package/dist/template/app/(admin)/admin/contacts/privacy/[id]/page.tsx +188 -0
- package/dist/template/app/(admin)/admin/contacts/privacy/page.tsx +241 -0
- package/dist/template/app/(admin)/admin/contribute/ContributeForms.tsx +190 -0
- package/dist/template/app/(admin)/admin/contribute/[id]/page.tsx +111 -0
- package/dist/template/app/(admin)/admin/contribute/page.tsx +114 -0
- package/dist/template/app/(admin)/admin/demos/page.tsx +174 -0
- package/dist/template/app/(admin)/admin/describeAction.ts +38 -0
- package/dist/template/app/(admin)/admin/design/DesignForm.tsx +206 -0
- package/dist/template/app/(admin)/admin/design/page.tsx +79 -0
- package/dist/template/app/(admin)/admin/documents/[id]/page.tsx +331 -0
- package/dist/template/app/(admin)/admin/documents/page.tsx +127 -0
- package/dist/template/app/(admin)/admin/editorLabels.ts +288 -0
- package/dist/template/app/(admin)/admin/events/[id]/page.tsx +192 -0
- package/dist/template/app/(admin)/admin/events/page.tsx +75 -0
- package/dist/template/app/(admin)/admin/experiments/page.tsx +71 -0
- package/dist/template/app/(admin)/admin/facts/FactForms.tsx +223 -0
- package/dist/template/app/(admin)/admin/facts/[key]/page.tsx +145 -0
- package/dist/template/app/(admin)/admin/facts/labels.ts +32 -0
- package/dist/template/app/(admin)/admin/facts/page.tsx +97 -0
- package/dist/template/app/(admin)/admin/forms/FieldBuilder.tsx +410 -0
- package/dist/template/app/(admin)/admin/forms/[id]/edit/page.tsx +87 -0
- package/dist/template/app/(admin)/admin/forms/[id]/page.tsx +198 -0
- package/dist/template/app/(admin)/admin/forms/builderLabels.ts +55 -0
- package/dist/template/app/(admin)/admin/forms/new/page.tsx +47 -0
- package/dist/template/app/(admin)/admin/forms/page.tsx +104 -0
- package/dist/template/app/(admin)/admin/fulfillment/page.tsx +87 -0
- package/dist/template/app/(admin)/admin/galleries/[id]/page.tsx +457 -0
- package/dist/template/app/(admin)/admin/galleries/page.tsx +132 -0
- package/dist/template/app/(admin)/admin/gifts/page.tsx +152 -0
- package/dist/template/app/(admin)/admin/guard.ts +59 -0
- package/dist/template/app/(admin)/admin/guidance/page.tsx +58 -0
- package/dist/template/app/(admin)/admin/health/page.tsx +141 -0
- package/dist/template/app/(admin)/admin/hire/page.tsx +228 -0
- package/dist/template/app/(admin)/admin/imports/ImportForms.tsx +167 -0
- package/dist/template/app/(admin)/admin/imports/[id]/page.tsx +65 -0
- package/dist/template/app/(admin)/admin/imports/contacts/[id]/page.tsx +273 -0
- package/dist/template/app/(admin)/admin/imports/contacts/page.tsx +212 -0
- package/dist/template/app/(admin)/admin/imports/page.tsx +68 -0
- package/dist/template/app/(admin)/admin/inbox/[id]/page.tsx +232 -0
- package/dist/template/app/(admin)/admin/inbox/page.tsx +306 -0
- package/dist/template/app/(admin)/admin/inventory/page.tsx +273 -0
- package/dist/template/app/(admin)/admin/invitations/InvitationManager.tsx +369 -0
- package/dist/template/app/(admin)/admin/invitations/page.tsx +102 -0
- package/dist/template/app/(admin)/admin/invoices/[id]/page.tsx +474 -0
- package/dist/template/app/(admin)/admin/invoices/format.ts +43 -0
- package/dist/template/app/(admin)/admin/invoices/new/page.tsx +206 -0
- package/dist/template/app/(admin)/admin/invoices/page.tsx +136 -0
- package/dist/template/app/(admin)/admin/invoices/recurring/page.tsx +227 -0
- package/dist/template/app/(admin)/admin/invoices/tax/page.tsx +378 -0
- package/dist/template/app/(admin)/admin/jobs/JobActionForm.tsx +54 -0
- package/dist/template/app/(admin)/admin/jobs/[name]/[id]/page.tsx +183 -0
- package/dist/template/app/(admin)/admin/jobs/outbox/[id]/page.tsx +130 -0
- package/dist/template/app/(admin)/admin/jobs/outbox/page.tsx +145 -0
- package/dist/template/app/(admin)/admin/jobs/page.tsx +221 -0
- package/dist/template/app/(admin)/admin/layout.tsx +194 -0
- package/dist/template/app/(admin)/admin/locations/DeleteButton.tsx +47 -0
- package/dist/template/app/(admin)/admin/locations/HoursForm.tsx +122 -0
- package/dist/template/app/(admin)/admin/locations/LocationForm.tsx +249 -0
- package/dist/template/app/(admin)/admin/locations/PrimaryButton.tsx +30 -0
- package/dist/template/app/(admin)/admin/locations/ServiceAreaForm.tsx +223 -0
- package/dist/template/app/(admin)/admin/locations/[id]/page.tsx +142 -0
- package/dist/template/app/(admin)/admin/locations/labels.ts +112 -0
- package/dist/template/app/(admin)/admin/locations/page.tsx +121 -0
- package/dist/template/app/(admin)/admin/loyalty/page.tsx +496 -0
- package/dist/template/app/(admin)/admin/marketplace/page.tsx +158 -0
- package/dist/template/app/(admin)/admin/media/AltTextForm.tsx +160 -0
- package/dist/template/app/(admin)/admin/media/DeleteAssetButton.tsx +74 -0
- package/dist/template/app/(admin)/admin/media/FocalPointForm.tsx +64 -0
- package/dist/template/app/(admin)/admin/media/RecordStudio.tsx +326 -0
- package/dist/template/app/(admin)/admin/media/TrashActions.tsx +100 -0
- package/dist/template/app/(admin)/admin/media/UploadForm.tsx +164 -0
- package/dist/template/app/(admin)/admin/media/page.tsx +415 -0
- package/dist/template/app/(admin)/admin/media/record/page.tsx +145 -0
- package/dist/template/app/(admin)/admin/media/upload-client.ts +313 -0
- package/dist/template/app/(admin)/admin/messaging/page.tsx +426 -0
- package/dist/template/app/(admin)/admin/newsletters/[id]/page.tsx +149 -0
- package/dist/template/app/(admin)/admin/newsletters/broadcasts/[id]/page.tsx +250 -0
- package/dist/template/app/(admin)/admin/newsletters/broadcasts/page.tsx +192 -0
- package/dist/template/app/(admin)/admin/newsletters/page.tsx +78 -0
- package/dist/template/app/(admin)/admin/newsletters/templates/page.tsx +254 -0
- package/dist/template/app/(admin)/admin/notifications/NotificationControls.tsx +197 -0
- package/dist/template/app/(admin)/admin/notifications/page.tsx +334 -0
- package/dist/template/app/(admin)/admin/orders/[id]/page.tsx +318 -0
- package/dist/template/app/(admin)/admin/orders/page.tsx +64 -0
- package/dist/template/app/(admin)/admin/page.tsx +159 -0
- package/dist/template/app/(admin)/admin/pages/SeedSiteButton.tsx +20 -0
- package/dist/template/app/(admin)/admin/pages/[id]/CopyPreviewLink.tsx +45 -0
- package/dist/template/app/(admin)/admin/pages/[id]/PageComments.tsx +242 -0
- package/dist/template/app/(admin)/admin/pages/[id]/PageEditor.tsx +105 -0
- package/dist/template/app/(admin)/admin/pages/[id]/PageLifecycle.tsx +210 -0
- package/dist/template/app/(admin)/admin/pages/[id]/PagePresence.tsx +63 -0
- package/dist/template/app/(admin)/admin/pages/[id]/PublishToggle.tsx +27 -0
- package/dist/template/app/(admin)/admin/pages/[id]/RevisionList.tsx +115 -0
- package/dist/template/app/(admin)/admin/pages/[id]/page.tsx +337 -0
- package/dist/template/app/(admin)/admin/pages/new/NewPageForm.tsx +65 -0
- package/dist/template/app/(admin)/admin/pages/new/page.tsx +45 -0
- package/dist/template/app/(admin)/admin/pages/page.tsx +171 -0
- package/dist/template/app/(admin)/admin/payments/page.tsx +203 -0
- package/dist/template/app/(admin)/admin/paywalls/page.tsx +199 -0
- package/dist/template/app/(admin)/admin/pipeline/page.tsx +313 -0
- package/dist/template/app/(admin)/admin/plugins/PluginForms.tsx +158 -0
- package/dist/template/app/(admin)/admin/plugins/page.tsx +150 -0
- package/dist/template/app/(admin)/admin/popups/[id]/PopupEditor.tsx +39 -0
- package/dist/template/app/(admin)/admin/popups/[id]/page.tsx +430 -0
- package/dist/template/app/(admin)/admin/popups/page.tsx +230 -0
- package/dist/template/app/(admin)/admin/pos/page.tsx +153 -0
- package/dist/template/app/(admin)/admin/price-lists/page.tsx +150 -0
- package/dist/template/app/(admin)/admin/print-on-demand/page.tsx +144 -0
- package/dist/template/app/(admin)/admin/procurement/page.tsx +208 -0
- package/dist/template/app/(admin)/admin/products/[id]/ProductEditor.tsx +61 -0
- package/dist/template/app/(admin)/admin/products/[id]/page.tsx +807 -0
- package/dist/template/app/(admin)/admin/products/new/page.tsx +55 -0
- package/dist/template/app/(admin)/admin/products/page.tsx +108 -0
- package/dist/template/app/(admin)/admin/projects/[id]/ProjectEditor.tsx +41 -0
- package/dist/template/app/(admin)/admin/projects/[id]/page.tsx +785 -0
- package/dist/template/app/(admin)/admin/projects/collections/[id]/page.tsx +166 -0
- package/dist/template/app/(admin)/admin/projects/collections/page.tsx +101 -0
- package/dist/template/app/(admin)/admin/projects/page.tsx +156 -0
- package/dist/template/app/(admin)/admin/promotions/page.tsx +206 -0
- package/dist/template/app/(admin)/admin/quotes/[id]/ConvertQuoteForm.tsx +34 -0
- package/dist/template/app/(admin)/admin/quotes/[id]/page.tsx +265 -0
- package/dist/template/app/(admin)/admin/quotes/page.tsx +193 -0
- package/dist/template/app/(admin)/admin/redirects/page.tsx +114 -0
- package/dist/template/app/(admin)/admin/referrals/page.tsx +464 -0
- package/dist/template/app/(admin)/admin/referrals/payouts/[id]/csv/route.ts +42 -0
- package/dist/template/app/(admin)/admin/reports/exports/[runId]/download/route.ts +41 -0
- package/dist/template/app/(admin)/admin/reports/exports/page.tsx +524 -0
- package/dist/template/app/(admin)/admin/reports/page.tsx +423 -0
- package/dist/template/app/(admin)/admin/retention/page.tsx +148 -0
- package/dist/template/app/(admin)/admin/returns/page.tsx +141 -0
- package/dist/template/app/(admin)/admin/reviews/page.tsx +250 -0
- package/dist/template/app/(admin)/admin/roles/RoleManager.tsx +381 -0
- package/dist/template/app/(admin)/admin/roles/page.tsx +78 -0
- package/dist/template/app/(admin)/admin/scoring/page.tsx +236 -0
- package/dist/template/app/(admin)/admin/search/page.tsx +137 -0
- package/dist/template/app/(admin)/admin/sections/[key]/SectionEditor.tsx +35 -0
- package/dist/template/app/(admin)/admin/sections/[key]/page.tsx +72 -0
- package/dist/template/app/(admin)/admin/sections/page.tsx +129 -0
- package/dist/template/app/(admin)/admin/segments/page.tsx +272 -0
- package/dist/template/app/(admin)/admin/settings/ApiKeysCard.tsx +268 -0
- package/dist/template/app/(admin)/admin/settings/MailSettingsCard.tsx +796 -0
- package/dist/template/app/(admin)/admin/settings/PasswordForm.tsx +86 -0
- package/dist/template/app/(admin)/admin/settings/SettingsForm.tsx +206 -0
- package/dist/template/app/(admin)/admin/settings/WebhooksCard.tsx +292 -0
- package/dist/template/app/(admin)/admin/settings/page.tsx +483 -0
- package/dist/template/app/(admin)/admin/sharing/page.tsx +426 -0
- package/dist/template/app/(admin)/admin/shipping/page.tsx +144 -0
- package/dist/template/app/(admin)/admin/social/page.tsx +544 -0
- package/dist/template/app/(admin)/admin/subscriptions/[id]/page.tsx +41 -0
- package/dist/template/app/(admin)/admin/subscriptions/page.tsx +491 -0
- package/dist/template/app/(admin)/admin/tasks/page.tsx +312 -0
- package/dist/template/app/(admin)/admin/templates/[key]/CreateFromTemplateForm.tsx +47 -0
- package/dist/template/app/(admin)/admin/templates/[key]/EmailInboxPreview.tsx +65 -0
- package/dist/template/app/(admin)/admin/templates/[key]/TemplateEditor.tsx +37 -0
- package/dist/template/app/(admin)/admin/templates/[key]/page.tsx +128 -0
- package/dist/template/app/(admin)/admin/templates/page.tsx +63 -0
- package/dist/template/app/(admin)/admin/time/page.tsx +328 -0
- package/dist/template/app/(admin)/admin/traffic/funnel/page.tsx +184 -0
- package/dist/template/app/(admin)/admin/traffic/page.tsx +409 -0
- package/dist/template/app/(admin)/admin/translations/TranslationEditor.tsx +166 -0
- package/dist/template/app/(admin)/admin/translations/[locale]/[id]/page.tsx +151 -0
- package/dist/template/app/(admin)/admin/translations/page.tsx +189 -0
- package/dist/template/app/(admin)/admin/trash/page.tsx +108 -0
- package/dist/template/app/(admin)/admin/updates/UpdateActionForm.tsx +72 -0
- package/dist/template/app/(admin)/admin/updates/page.tsx +520 -0
- package/dist/template/app/(admin)/admin/voice-video/GuestInvite.tsx +39 -0
- package/dist/template/app/(admin)/admin/voice-video/HostJoin.tsx +26 -0
- package/dist/template/app/(admin)/admin/voice-video/VerifyConnection.tsx +28 -0
- package/dist/template/app/(admin)/admin/voice-video/page.tsx +372 -0
- package/dist/template/app/(admin)/admin/work/LiveRun.tsx +112 -0
- package/dist/template/app/(admin)/admin/work/WorkForms.tsx +310 -0
- package/dist/template/app/(admin)/admin/work/[id]/page.tsx +248 -0
- package/dist/template/app/(admin)/admin/work/approvals/page.tsx +151 -0
- package/dist/template/app/(admin)/admin/work/page.tsx +349 -0
- package/dist/template/app/(admin)/admin/work/playbooks/PlaybookForms.tsx +139 -0
- package/dist/template/app/(admin)/admin/work/playbooks/page.tsx +285 -0
- package/dist/template/app/(admin)/admin/work/spend/page.tsx +126 -0
- package/dist/template/app/(admin)/ads-actions.ts +355 -0
- package/dist/template/app/(admin)/advanced-money-actions.ts +163 -0
- package/dist/template/app/(admin)/analytics-actions.ts +70 -0
- package/dist/template/app/(admin)/approval-actions.ts +57 -0
- package/dist/template/app/(admin)/assessments-actions.ts +224 -0
- package/dist/template/app/(admin)/assistant-actions.ts +184 -0
- package/dist/template/app/(admin)/audience-actions.ts +139 -0
- package/dist/template/app/(admin)/automation-actions.ts +347 -0
- package/dist/template/app/(admin)/availability-actions.ts +99 -0
- package/dist/template/app/(admin)/booking-actions.ts +295 -0
- package/dist/template/app/(admin)/briefing-actions.ts +46 -0
- package/dist/template/app/(admin)/broadcast-actions.ts +155 -0
- package/dist/template/app/(admin)/builder-actions.ts +92 -0
- package/dist/template/app/(admin)/calculators-actions.ts +127 -0
- package/dist/template/app/(admin)/calendar-actions.ts +96 -0
- package/dist/template/app/(admin)/capture-actions.ts +191 -0
- package/dist/template/app/(admin)/catalog-actions.ts +1054 -0
- package/dist/template/app/(admin)/cms-actions.ts +637 -0
- package/dist/template/app/(admin)/connection-actions.ts +72 -0
- package/dist/template/app/(admin)/contact-import-actions.ts +158 -0
- package/dist/template/app/(admin)/contract-actions.ts +138 -0
- package/dist/template/app/(admin)/contribute-actions.ts +145 -0
- package/dist/template/app/(admin)/demo-actions.ts +49 -0
- package/dist/template/app/(admin)/design-actions.ts +71 -0
- package/dist/template/app/(admin)/document-actions.ts +153 -0
- package/dist/template/app/(admin)/entitlement-actions.ts +92 -0
- package/dist/template/app/(admin)/event-actions.ts +109 -0
- package/dist/template/app/(admin)/export-actions.ts +122 -0
- package/dist/template/app/(admin)/facts-actions.ts +135 -0
- package/dist/template/app/(admin)/first-party-plugin-actions.ts +475 -0
- package/dist/template/app/(admin)/forgot/ForgotForm.tsx +54 -0
- package/dist/template/app/(admin)/forgot/page.tsx +78 -0
- package/dist/template/app/(admin)/forms-actions.ts +108 -0
- package/dist/template/app/(admin)/gallery-actions.ts +227 -0
- package/dist/template/app/(admin)/guidance-actions.ts +55 -0
- package/dist/template/app/(admin)/import-actions.ts +142 -0
- package/dist/template/app/(admin)/inbox-actions.ts +146 -0
- package/dist/template/app/(admin)/invitation-actions.ts +139 -0
- package/dist/template/app/(admin)/invite/AcceptInvitationForm.tsx +71 -0
- package/dist/template/app/(admin)/invite/page.tsx +110 -0
- package/dist/template/app/(admin)/invoice-actions.ts +357 -0
- package/dist/template/app/(admin)/login/PasskeySignIn.tsx +32 -0
- package/dist/template/app/(admin)/login/SignInForm.tsx +61 -0
- package/dist/template/app/(admin)/login/page.tsx +96 -0
- package/dist/template/app/(admin)/login/verify/VerifyLogin.tsx +80 -0
- package/dist/template/app/(admin)/login/verify/page.tsx +46 -0
- package/dist/template/app/(admin)/loyalty-actions.ts +208 -0
- package/dist/template/app/(admin)/media-actions.ts +203 -0
- package/dist/template/app/(admin)/messaging-actions.ts +173 -0
- package/dist/template/app/(admin)/newsletter-actions.ts +98 -0
- package/dist/template/app/(admin)/note-actions.ts +114 -0
- package/dist/template/app/(admin)/notification-actions.ts +113 -0
- package/dist/template/app/(admin)/payment-actions.ts +118 -0
- package/dist/template/app/(admin)/paywall-actions.ts +77 -0
- package/dist/template/app/(admin)/pipeline-actions.ts +123 -0
- package/dist/template/app/(admin)/playbook-actions.ts +202 -0
- package/dist/template/app/(admin)/plugin-actions.ts +112 -0
- package/dist/template/app/(admin)/popup-actions.ts +169 -0
- package/dist/template/app/(admin)/project-actions.ts +476 -0
- package/dist/template/app/(admin)/quote-actions.ts +148 -0
- package/dist/template/app/(admin)/read-helpers.ts +21 -0
- package/dist/template/app/(admin)/recurring-actions.ts +116 -0
- package/dist/template/app/(admin)/referral-actions.ts +187 -0
- package/dist/template/app/(admin)/rental-actions.ts +75 -0
- package/dist/template/app/(admin)/report-actions.ts +63 -0
- package/dist/template/app/(admin)/reset/ResetForm.tsx +68 -0
- package/dist/template/app/(admin)/reset/page.tsx +74 -0
- package/dist/template/app/(admin)/reset-actions.ts +59 -0
- package/dist/template/app/(admin)/retention-actions.ts +64 -0
- package/dist/template/app/(admin)/review-actions.ts +83 -0
- package/dist/template/app/(admin)/scoring-actions.ts +109 -0
- package/dist/template/app/(admin)/security/SecurityControls.tsx +240 -0
- package/dist/template/app/(admin)/security/labels.ts +24 -0
- package/dist/template/app/(admin)/security/page.tsx +51 -0
- package/dist/template/app/(admin)/security/verify/StepUpForm.tsx +69 -0
- package/dist/template/app/(admin)/security/verify/page.tsx +44 -0
- package/dist/template/app/(admin)/security-actions.ts +285 -0
- package/dist/template/app/(admin)/segment-actions.ts +144 -0
- package/dist/template/app/(admin)/seo-actions.ts +61 -0
- package/dist/template/app/(admin)/settings-module-actions.ts +37 -0
- package/dist/template/app/(admin)/share-actions.ts +116 -0
- package/dist/template/app/(admin)/social-actions.ts +211 -0
- package/dist/template/app/(admin)/subscription-actions.ts +154 -0
- package/dist/template/app/(admin)/task-actions.ts +118 -0
- package/dist/template/app/(admin)/template-actions.ts +92 -0
- package/dist/template/app/(admin)/time-actions.ts +175 -0
- package/dist/template/app/(admin)/translation-actions.ts +107 -0
- package/dist/template/app/(admin)/trash-actions.ts +89 -0
- package/dist/template/app/(admin)/view-actions.ts +111 -0
- package/dist/template/app/(admin)/work-actions.ts +274 -0
- package/dist/template/app/(preview)/canvas-bridge.ts +885 -0
- package/dist/template/app/(preview)/layout.tsx +193 -0
- package/dist/template/app/(preview)/preview/page/[id]/page.tsx +63 -0
- package/dist/template/app/(preview)/preview/popup/[id]/page.tsx +59 -0
- package/dist/template/app/(preview)/preview/product/[id]/page.tsx +41 -0
- package/dist/template/app/(preview)/preview/project/[id]/page.tsx +41 -0
- package/dist/template/app/(preview)/preview/section/[key]/page.tsx +63 -0
- package/dist/template/app/(preview)/preview/share/[token]/page.tsx +48 -0
- package/dist/template/app/(preview)/preview/template/[key]/page.tsx +57 -0
- package/dist/template/app/(public)/AnalyticsConsentControl.tsx +92 -0
- package/dist/template/app/(public)/AnalyticsRuntime.tsx +85 -0
- package/dist/template/app/(public)/NativeShare.tsx +48 -0
- package/dist/template/app/(public)/ShareBar.tsx +101 -0
- package/dist/template/app/(public)/[[...slug]]/alternates.ts +59 -0
- package/dist/template/app/(public)/[[...slug]]/page.tsx +541 -0
- package/dist/template/app/(public)/[[...slug]]/pageview.ts +88 -0
- package/dist/template/app/(public)/assessment-actions.ts +86 -0
- package/dist/template/app/(public)/book/actions.ts +38 -0
- package/dist/template/app/(public)/book/page.tsx +64 -0
- package/dist/template/app/(public)/browse/FacetPanel.tsx +285 -0
- package/dist/template/app/(public)/browse/SearchBox.tsx +42 -0
- package/dist/template/app/(public)/browse/SortLinks.tsx +58 -0
- package/dist/template/app/(public)/browse-params.ts +336 -0
- package/dist/template/app/(public)/buy/AddToCart.tsx +123 -0
- package/dist/template/app/(public)/buy/buy-actions.ts +96 -0
- package/dist/template/app/(public)/c/[slug]/CollectionGrid.tsx +130 -0
- package/dist/template/app/(public)/c/[slug]/page.tsx +344 -0
- package/dist/template/app/(public)/cart/cart-actions.ts +103 -0
- package/dist/template/app/(public)/cart/page.tsx +235 -0
- package/dist/template/app/(public)/checkout/DeliveryMethods.tsx +109 -0
- package/dist/template/app/(public)/checkout/checkout-actions.ts +183 -0
- package/dist/template/app/(public)/checkout/page.tsx +363 -0
- package/dist/template/app/(public)/community/[slug]/page.tsx +261 -0
- package/dist/template/app/(public)/community-actions.ts +108 -0
- package/dist/template/app/(public)/contribute/page.tsx +153 -0
- package/dist/template/app/(public)/contribute-actions.ts +48 -0
- package/dist/template/app/(public)/form-actions.ts +69 -0
- package/dist/template/app/(public)/gift-actions.ts +33 -0
- package/dist/template/app/(public)/gifts/[slug]/page.tsx +102 -0
- package/dist/template/app/(public)/inbound-actions.ts +114 -0
- package/dist/template/app/(public)/layout.tsx +225 -0
- package/dist/template/app/(public)/memberships/actions.ts +23 -0
- package/dist/template/app/(public)/memberships/page.tsx +27 -0
- package/dist/template/app/(public)/newsletter-actions.ts +32 -0
- package/dist/template/app/(public)/orders/confirm/page.tsx +173 -0
- package/dist/template/app/(public)/search/page.tsx +233 -0
- package/dist/template/app/(public)/share-actions.ts +70 -0
- package/dist/template/app/(public)/shopper-cart.ts +98 -0
- package/dist/template/app/.well-known/freeholder/route.ts +94 -0
- package/dist/template/app/README.md +30 -0
- package/dist/template/app/ads.txt/route.ts +18 -0
- package/dist/template/app/api/ads/third-party-consent/route.ts +64 -0
- package/dist/template/app/api/ads/view/route.ts +58 -0
- package/dist/template/app/api/analytics/consent/route.ts +168 -0
- package/dist/template/app/api/analytics/export/route.ts +36 -0
- package/dist/template/app/api/analytics/vitals/route.ts +62 -0
- package/dist/template/app/api/auth/login/route.ts +31 -0
- package/dist/template/app/api/auth/login/verify/route.ts +66 -0
- package/dist/template/app/api/auth/logout/route.ts +18 -0
- package/dist/template/app/api/auth/session/route.ts +57 -0
- package/dist/template/app/api/chat/assistant/route.ts +51 -0
- package/dist/template/app/api/chat/route.ts +82 -0
- package/dist/template/app/api/cms/defaults/route.ts +20 -0
- package/dist/template/app/api/connections/calendar/[provider]/callback/route.ts +117 -0
- package/dist/template/app/api/connections/mail-read/[provider]/callback/route.ts +114 -0
- package/dist/template/app/api/connections/signup-contacts/[provider]/callback/route.ts +58 -0
- package/dist/template/app/api/doctor/route.ts +34 -0
- package/dist/template/app/api/health/live/route.ts +11 -0
- package/dist/template/app/api/health/route.ts +56 -0
- package/dist/template/app/api/mail/oauth/[provider]/callback/route.ts +80 -0
- package/dist/template/app/api/mail/webhooks/postmark/route.ts +7 -0
- package/dist/template/app/api/mail/webhooks/resend/route.ts +7 -0
- package/dist/template/app/api/mail/webhooks/ses/route.ts +7 -0
- package/dist/template/app/api/mcp/route.ts +42 -0
- package/dist/template/app/api/media/route.ts +58 -0
- package/dist/template/app/api/media/uploads/abort/route.ts +6 -0
- package/dist/template/app/api/media/uploads/complete/route.ts +6 -0
- package/dist/template/app/api/media/uploads/parts/route.ts +6 -0
- package/dist/template/app/api/media/uploads/route.ts +7 -0
- package/dist/template/app/api/openapi.json/route.ts +38 -0
- package/dist/template/app/api/payments/webhooks/flutterwave/route.ts +6 -0
- package/dist/template/app/api/payments/webhooks/mollie/route.ts +6 -0
- package/dist/template/app/api/payments/webhooks/paypal/route.ts +6 -0
- package/dist/template/app/api/payments/webhooks/paystack/route.ts +6 -0
- package/dist/template/app/api/payments/webhooks/razorpay/route.ts +6 -0
- package/dist/template/app/api/payments/webhooks/square/route.ts +6 -0
- package/dist/template/app/api/payments/webhooks/stripe/route.ts +6 -0
- package/dist/template/app/api/plugins/voice-video/webhooks/paradise/route.ts +45 -0
- package/dist/template/app/api/popups/route.ts +141 -0
- package/dist/template/app/api/security/csp-report/route.ts +50 -0
- package/dist/template/app/api/setup/owner/route.ts +19 -0
- package/dist/template/app/api/sms/webhooks/twilio/route.ts +6 -0
- package/dist/template/app/api/social/[provider]/callback/route.ts +70 -0
- package/dist/template/app/api/v1/[service]/route.ts +22 -0
- package/dist/template/app/app-ads.txt/route.ts +18 -0
- package/dist/template/app/capture/[token]/page.tsx +71 -0
- package/dist/template/app/embed/booking/page.tsx +7 -0
- package/dist/template/app/embed/gallery/[slug]/page.tsx +52 -0
- package/dist/template/app/embed/layout.tsx +13 -0
- package/dist/template/app/embed/newsletter/[id]/page.tsx +65 -0
- package/dist/template/app/embed/newsletter/actions.ts +25 -0
- package/dist/template/app/embed/reviews/page.tsx +51 -0
- package/dist/template/app/feeds/[kind]/route.ts +39 -0
- package/dist/template/app/g/[slug]/archive/route.ts +41 -0
- package/dist/template/app/g/[slug]/download/[itemId]/route.ts +39 -0
- package/dist/template/app/g/[slug]/page.tsx +331 -0
- package/dist/template/app/g/[slug]/view/[itemId]/route.ts +51 -0
- package/dist/template/app/g/actions.ts +211 -0
- package/dist/template/app/gift/[token]/page.tsx +61 -0
- package/dist/template/app/globals.css +148 -0
- package/dist/template/app/go/ad/route.ts +113 -0
- package/dist/template/app/i18n.ts +73 -0
- package/dist/template/app/ics/bookings/[token]/route.ts +42 -0
- package/dist/template/app/ics/calendars/[token]/route.ts +44 -0
- package/dist/template/app/ics/events/[slug]/route.ts +23 -0
- package/dist/template/app/indexnow-key/route.ts +25 -0
- package/dist/template/app/layout.tsx +66 -0
- package/dist/template/app/llms-full.txt/route.ts +14 -0
- package/dist/template/app/llms.txt/route.ts +102 -0
- package/dist/template/app/manifest.ts +69 -0
- package/dist/template/app/media/[...key]/route.ts +48 -0
- package/dist/template/app/media/download/[id]/route.ts +48 -0
- package/dist/template/app/newsletters/confirm/route.ts +26 -0
- package/dist/template/app/not-found.tsx +29 -0
- package/dist/template/app/og/[[...slug]]/route.tsx +54 -0
- package/dist/template/app/og/og-template.tsx +81 -0
- package/dist/template/app/playground/actions.ts +18 -0
- package/dist/template/app/playground/page.tsx +29 -0
- package/dist/template/app/portal/(account)/[section]/page.tsx +113 -0
- package/dist/template/app/portal/(account)/layout.tsx +108 -0
- package/dist/template/app/portal/(account)/messages/[id]/page.tsx +120 -0
- package/dist/template/app/portal/(account)/page.tsx +112 -0
- package/dist/template/app/portal/(account)/profile/page.tsx +139 -0
- package/dist/template/app/portal/(account)/records/[section]/[id]/actions.ts +25 -0
- package/dist/template/app/portal/(account)/records/[section]/[id]/page.tsx +24 -0
- package/dist/template/app/portal/(account)/subscriptions/[id]/page.tsx +169 -0
- package/dist/template/app/portal/PortalLocaleChooser.tsx +69 -0
- package/dist/template/app/portal/actions.ts +323 -0
- package/dist/template/app/portal/agreements/[token]/page.tsx +151 -0
- package/dist/template/app/portal/agreements/actions.ts +81 -0
- package/dist/template/app/portal/appointments/[token]/intake/page.tsx +98 -0
- package/dist/template/app/portal/appointments/[token]/page.tsx +210 -0
- package/dist/template/app/portal/appointments/actions.ts +131 -0
- package/dist/template/app/portal/appointments/moved/page.tsx +30 -0
- package/dist/template/app/portal/contact-import/DeviceContactPicker.tsx +119 -0
- package/dist/template/app/portal/contact-import/[id]/page.tsx +170 -0
- package/dist/template/app/portal/contact-import/actions.ts +193 -0
- package/dist/template/app/portal/contact-import/page.tsx +298 -0
- package/dist/template/app/portal/files/[id]/route.ts +50 -0
- package/dist/template/app/portal/invoices/InvoiceView.tsx +64 -0
- package/dist/template/app/portal/invoices/PaymentButton.tsx +10 -0
- package/dist/template/app/portal/invoices/[id]/page.tsx +37 -0
- package/dist/template/app/portal/invoices/actions.ts +52 -0
- package/dist/template/app/portal/invoices/confirmation/[token]/page.tsx +41 -0
- package/dist/template/app/portal/invoices/loading.tsx +7 -0
- package/dist/template/app/portal/login/MagicLinkForm.tsx +30 -0
- package/dist/template/app/portal/login/page.tsx +76 -0
- package/dist/template/app/portal/magic/confirm/ConfirmMagicLink.tsx +24 -0
- package/dist/template/app/portal/magic/confirm/page.tsx +46 -0
- package/dist/template/app/portal/magic/route.ts +36 -0
- package/dist/template/app/portal/message-actions.ts +51 -0
- package/dist/template/app/portal/privacy/PortalPrivacyCentre.tsx +209 -0
- package/dist/template/app/portal/privacy/page.tsx +147 -0
- package/dist/template/app/portal/quotes/[token]/page.tsx +324 -0
- package/dist/template/app/portal/quotes/accepted/page.tsx +30 -0
- package/dist/template/app/portal/quotes/actions.ts +145 -0
- package/dist/template/app/portal/quotes/partner/[token]/page.tsx +128 -0
- package/dist/template/app/portal/registry/actions.ts +34 -0
- package/dist/template/app/portal/registry/page.tsx +81 -0
- package/dist/template/app/portal/subscription-actions.ts +69 -0
- package/dist/template/app/privacy/artifacts/[id]/route.ts +38 -0
- package/dist/template/app/registry/[token]/page.tsx +67 -0
- package/dist/template/app/report-exports/[token]/route.ts +45 -0
- package/dist/template/app/robots.txt/route.ts +18 -0
- package/dist/template/app/s/[ref]/route.ts +41 -0
- package/dist/template/app/setup/OwnerForm.tsx +87 -0
- package/dist/template/app/setup/Steps.tsx +55 -0
- package/dist/template/app/setup/access.ts +15 -0
- package/dist/template/app/setup/actions.ts +203 -0
- package/dist/template/app/setup/business/BusinessForm.tsx +170 -0
- package/dist/template/app/setup/business/page.tsx +41 -0
- package/dist/template/app/setup/businessLabels.ts +113 -0
- package/dist/template/app/setup/done/DoneForm.tsx +33 -0
- package/dist/template/app/setup/done/MailReadiness.tsx +137 -0
- package/dist/template/app/setup/done/page.tsx +90 -0
- package/dist/template/app/setup/layout.tsx +48 -0
- package/dist/template/app/setup/location/LocationStepForm.tsx +110 -0
- package/dist/template/app/setup/location/page.tsx +61 -0
- package/dist/template/app/setup/page.tsx +50 -0
- package/dist/template/app/setup/security/page.tsx +29 -0
- package/dist/template/app/share/route.ts +60 -0
- package/dist/template/app/sitemap.xml/route.ts +31 -0
- package/dist/template/app/sitemaps/[locale]/route.ts +56 -0
- package/dist/template/app/source/route.ts +67 -0
- package/dist/template/app/theme.ts +54 -0
- package/dist/template/app/themeLabels.ts +26 -0
- package/dist/template/app/unsubscribe/route.ts +49 -0
- package/dist/template/db/README.md +21 -0
- package/dist/template/db/migrations/0000_reviewed-baseline.sql +7342 -0
- package/dist/template/db/migrations/0001_community_rooms.sql +46 -0
- package/dist/template/db/migrations/0002_voice_video_rooms.sql +41 -0
- package/dist/template/db/migrations/0003_print_on_demand_fulfillment.sql +21 -0
- package/dist/template/db/migrations/0004_marketplace_channel_sync.sql +23 -0
- package/dist/template/db/migrations/0005_retention_policies.sql +14 -0
- package/dist/template/db/migrations/0006_contact_pagination.sql +5 -0
- package/dist/template/db/migrations/0007_marketplace_sync_lease.sql +6 -0
- package/dist/template/db/migrations/0008_printify_live_fulfillment.sql +21 -0
- package/dist/template/db/migrations/0009_daily_voice_video.sql +14 -0
- package/dist/template/db/migrations/0010_note_task_trash.sql +10 -0
- package/dist/template/db/migrations/0011_record_trash.sql +22 -0
- package/dist/template/db/migrations/0012_owner_storage_refunds.sql +41 -0
- package/dist/template/db/migrations/0013_assessments.sql +119 -0
- package/dist/template/db/migrations/0014_attestations.sql +67 -0
- package/dist/template/db/migrations/0015_media_consents.sql +108 -0
- package/dist/template/db/migrations/0016_calculators.sql +31 -0
- package/dist/template/db/migrations/0017_postal_service_areas.sql +22 -0
- package/dist/template/db/migrations/0018_area_delivery_windows.sql +17 -0
- package/dist/template/db/migrations/0019_paradise_voice_video.sql +15 -0
- package/dist/template/db/migrations/0020_collections.sql +54 -0
- package/dist/template/db/migrations/0021_order_payment_milestones.sql +21 -0
- package/dist/template/db/migrations/0022_customer_surfaces.sql +31 -0
- package/dist/template/db/migrations/0023_gallery_private_delivery.sql +13 -0
- package/dist/template/db/migrations/0024_broadcast_unsubscribe.sql +11 -0
- package/dist/template/db/migrations/meta/0000_snapshot.json +53876 -0
- package/dist/template/db/migrations/meta/_journal.json +181 -0
- package/dist/template/deploy/README.md +130 -0
- package/dist/template/deploy/accessibility-testing.md +77 -0
- package/dist/template/deploy/agent-launch.md +129 -0
- package/dist/template/deploy/alt-text-suggestions.md +75 -0
- package/dist/template/deploy/analytics-governance.md +81 -0
- package/dist/template/deploy/app-store-privacy.md +82 -0
- package/dist/template/deploy/background-jobs.md +229 -0
- package/dist/template/deploy/browser-journeys.md +78 -0
- package/dist/template/deploy/c11-08-restore-drill-2026-09-28.log +41 -0
- package/dist/template/deploy/c11-08-restore-summary.md +113 -0
- package/dist/template/deploy/c224-editor-ux-audit-2026-09-29.md +120 -0
- package/dist/template/deploy/c313-live-acceptance-2026-09-28.log +219 -0
- package/dist/template/deploy/c313-live-acceptance-2026-09-28.md +83 -0
- package/dist/template/deploy/c324-storefront-parity-2026-09-29.md +168 -0
- package/dist/template/deploy/catalog-cart-access.md +35 -0
- package/dist/template/deploy/catalog-checkout-milestones.md +56 -0
- package/dist/template/deploy/ci-release-gate.md +83 -0
- package/dist/template/deploy/client-readiness.md +49 -0
- package/dist/template/deploy/commerce-catalog.md +119 -0
- package/dist/template/deploy/commerce-money.md +191 -0
- package/dist/template/deploy/commerce-payments.md +226 -0
- package/dist/template/deploy/content-security-policy.md +84 -0
- package/dist/template/deploy/contribute.md +37 -0
- package/dist/template/deploy/customer-locales.md +82 -0
- package/dist/template/deploy/customer-surfaces-2026-10-07.md +90 -0
- package/dist/template/deploy/customization-seams.md +18 -0
- package/dist/template/deploy/demo-scenarios.md +96 -0
- package/dist/template/deploy/digitalocean-app/.env.example +15 -0
- package/dist/template/deploy/digitalocean-app/README.md +26 -0
- package/dist/template/deploy/digitalocean-app/infra/app.yaml +75 -0
- package/dist/template/deploy/digitalocean-app/migrate.md +10 -0
- package/dist/template/deploy/digitalocean-app/recipe.yaml +40 -0
- package/dist/template/deploy/digitalocean-app/verify.md +10 -0
- package/dist/template/deploy/digitalocean-droplet/.env.example +21 -0
- package/dist/template/deploy/digitalocean-droplet/README.md +145 -0
- package/dist/template/deploy/digitalocean-droplet/deploy.md +89 -0
- package/dist/template/deploy/digitalocean-droplet/infra/Caddyfile +12 -0
- package/dist/template/deploy/digitalocean-droplet/infra/backup.sh +52 -0
- package/dist/template/deploy/digitalocean-droplet/infra/cloud-init.yml +46 -0
- package/dist/template/deploy/digitalocean-droplet/infra/compose.yml +65 -0
- package/dist/template/deploy/digitalocean-droplet/migrate.md +9 -0
- package/dist/template/deploy/digitalocean-droplet/recipe.yaml +47 -0
- package/dist/template/deploy/digitalocean-droplet/verify.md +117 -0
- package/dist/template/deploy/doc-claim-mapping.md +261 -0
- package/dist/template/deploy/docker-selfhost/.env.example +15 -0
- package/dist/template/deploy/docker-selfhost/README.md +28 -0
- package/dist/template/deploy/docker-selfhost/docker-updater/Caddyfile +9 -0
- package/dist/template/deploy/docker-selfhost/docker-updater/README.md +121 -0
- package/dist/template/deploy/docker-selfhost/docker-updater/compose.yml +64 -0
- package/dist/template/deploy/docker-selfhost/docker-updater/config.example.json +10 -0
- package/dist/template/deploy/docker-selfhost/docker-updater/freeholder-update-check.service +11 -0
- package/dist/template/deploy/docker-selfhost/docker-updater/freeholder-update-check.timer +10 -0
- package/dist/template/deploy/docker-selfhost/docker-updater/freeholder-updater.service +20 -0
- package/dist/template/deploy/docker-selfhost/infra/compose.yml +41 -0
- package/dist/template/deploy/docker-selfhost/migrate.md +9 -0
- package/dist/template/deploy/docker-selfhost/playground/README.md +76 -0
- package/dist/template/deploy/docker-selfhost/playground/compose.proxy-overlay.yml +14 -0
- package/dist/template/deploy/docker-selfhost/playground/compose.yml +59 -0
- package/dist/template/deploy/docker-selfhost/playground/demo.freeholder.ai.caddy +10 -0
- package/dist/template/deploy/docker-selfhost/playground/freeholder-playground-reset.service +10 -0
- package/dist/template/deploy/docker-selfhost/playground/freeholder-playground-reset.timer +10 -0
- package/dist/template/deploy/docker-selfhost/playground/reset.sh +17 -0
- package/dist/template/deploy/docker-selfhost/recipe.yaml +42 -0
- package/dist/template/deploy/docker-selfhost/verify.md +9 -0
- package/dist/template/deploy/edge-adapters.md +58 -0
- package/dist/template/deploy/event-outbox.md +80 -0
- package/dist/template/deploy/f-criteria-matrix.md +4649 -0
- package/dist/template/deploy/first-party-plugins.md +219 -0
- package/dist/template/deploy/fork-lane.md +93 -0
- package/dist/template/deploy/host-updater.example.json +23 -0
- package/dist/template/deploy/host-updater.md +107 -0
- package/dist/template/deploy/mail-delivery.md +205 -0
- package/dist/template/deploy/media-lifecycle.md +129 -0
- package/dist/template/deploy/migration-runbook.md +117 -0
- package/dist/template/deploy/n1-schema.md +34 -0
- package/dist/template/deploy/notification-fanout.md +92 -0
- package/dist/template/deploy/ownership-recovery.md +193 -0
- package/dist/template/deploy/perf-reference-run-2026-09-27.log +432 -0
- package/dist/template/deploy/performance-measurements.md +234 -0
- package/dist/template/deploy/play-data-safety.md +73 -0
- package/dist/template/deploy/privacy-rights.md +148 -0
- package/dist/template/deploy/provider-recording-erasure.md +102 -0
- package/dist/template/deploy/push-notifications.md +92 -0
- package/dist/template/deploy/railway/.env.example +15 -0
- package/dist/template/deploy/railway/README.md +24 -0
- package/dist/template/deploy/railway/migrate.md +10 -0
- package/dist/template/deploy/railway/recipe.yaml +35 -0
- package/dist/template/deploy/railway/verify.md +9 -0
- package/dist/template/deploy/recipe-verification.md +23 -0
- package/dist/template/deploy/record-trash.md +115 -0
- package/dist/template/deploy/release-channels.md +27 -0
- package/dist/template/deploy/release-feed.md +53 -0
- package/dist/template/deploy/release-notes-2026-09-14.md +86 -0
- package/dist/template/deploy/release-notes-2026-09-15.md +52 -0
- package/dist/template/deploy/release-notes-2026-09-16.md +114 -0
- package/dist/template/deploy/release-notes-2026-09-26.md +209 -0
- package/dist/template/deploy/release-notes-2026-09-27.md +47 -0
- package/dist/template/deploy/release-notes-2026-09-28.md +142 -0
- package/dist/template/deploy/release-notes-2026-09-29.md +138 -0
- package/dist/template/deploy/release-notes-2026-09-30.md +50 -0
- package/dist/template/deploy/release-notes-2026-10-01.md +112 -0
- package/dist/template/deploy/release-readiness.md +46 -0
- package/dist/template/deploy/render/.env.example +15 -0
- package/dist/template/deploy/render/README.md +22 -0
- package/dist/template/deploy/render/migrate.md +10 -0
- package/dist/template/deploy/render/recipe.yaml +40 -0
- package/dist/template/deploy/render/verify.md +9 -0
- package/dist/template/deploy/replit/.env.example +10 -0
- package/dist/template/deploy/replit/README.md +29 -0
- package/dist/template/deploy/replit/migrate.md +10 -0
- package/dist/template/deploy/replit/recipe.yaml +40 -0
- package/dist/template/deploy/replit/verify.md +10 -0
- package/dist/template/deploy/role-guidance.md +77 -0
- package/dist/template/deploy/spec-reconciliation.md +188 -0
- package/dist/template/deploy/stable-acceptance-2026-10-05.md +168 -0
- package/dist/template/deploy/update-admin.md +83 -0
- package/dist/template/deploy/update-apply.md +48 -0
- package/dist/template/deploy/update-checks.md +27 -0
- package/dist/template/deploy/update-escalation.md +71 -0
- package/dist/template/deploy/update-policy.md +20 -0
- package/dist/template/deploy/update-preflight.md +19 -0
- package/dist/template/deploy/update-status.md +78 -0
- package/dist/template/deploy/update-targets.md +90 -0
- package/dist/template/deploy/webhook-delivery.md +36 -0
- package/dist/template/drizzle.config.ts +24 -0
- package/dist/template/eslint.config.mjs +241 -0
- package/dist/template/freeholder.config.ts +11 -0
- package/dist/template/gitignore.template +48 -0
- package/dist/template/instrumentation.node.ts +113 -0
- package/dist/template/instrumentation.ts +23 -0
- package/dist/template/locales/README.md +68 -0
- package/dist/template/locales/ar.json +7090 -0
- package/dist/template/locales/en.json +7090 -0
- package/dist/template/locales/es.json +7090 -0
- package/dist/template/locales/fr.json +7090 -0
- package/dist/template/next.config.ts +166 -0
- package/dist/template/package.json +98 -0
- package/dist/template/packages/README.md +31 -0
- package/dist/template/packages/cli/LICENSE +202 -0
- package/dist/template/packages/cli/README.md +63 -0
- package/dist/template/packages/cli/package.json +29 -0
- package/dist/template/packages/cli/src/index.ts +355 -0
- package/dist/template/packages/cli/tsconfig.json +15 -0
- package/dist/template/packages/create-freeholder/LICENSE +202 -0
- package/dist/template/packages/create-freeholder/README.md +31 -0
- package/dist/template/packages/create-freeholder/package.json +29 -0
- package/dist/template/packages/create-freeholder/scripts/build.mjs +151 -0
- package/dist/template/packages/create-freeholder/src/index.ts +789 -0
- package/dist/template/packages/create-freeholder/tsconfig.json +15 -0
- package/dist/template/packages/freeholder-app/LICENSE +202 -0
- package/dist/template/packages/freeholder-app/README.md +72 -0
- package/dist/template/packages/freeholder-app/package.json +29 -0
- package/dist/template/packages/freeholder-app/src/assets.ts +320 -0
- package/dist/template/packages/freeholder-app/src/branding.ts +134 -0
- package/dist/template/packages/freeholder-app/src/config.ts +163 -0
- package/dist/template/packages/freeholder-app/src/index.ts +158 -0
- package/dist/template/packages/freeholder-app/src/init.ts +230 -0
- package/dist/template/packages/freeholder-app/src/png.ts +214 -0
- package/dist/template/packages/freeholder-app/tsconfig.json +15 -0
- package/dist/template/packages/mobile-app/LICENSE +202 -0
- package/dist/template/packages/mobile-app/README.md +137 -0
- package/dist/template/packages/mobile-app/package.json +34 -0
- package/dist/template/packages/mobile-app/src/branding.ts +91 -0
- package/dist/template/packages/mobile-app/src/cached-discovery.ts +36 -0
- package/dist/template/packages/mobile-app/src/capture-batches.ts +558 -0
- package/dist/template/packages/mobile-app/src/capture.ts +262 -0
- package/dist/template/packages/mobile-app/src/deep-links.ts +246 -0
- package/dist/template/packages/mobile-app/src/discovery.ts +195 -0
- package/dist/template/packages/mobile-app/src/format.ts +10 -0
- package/dist/template/packages/mobile-app/src/index.ts +122 -0
- package/dist/template/packages/mobile-app/src/messages.generated.ts +677 -0
- package/dist/template/packages/mobile-app/src/offline.ts +183 -0
- package/dist/template/packages/mobile-app/src/private-cache.ts +113 -0
- package/dist/template/packages/mobile-app/src/screens.ts +411 -0
- package/dist/template/packages/mobile-app/src/session.ts +317 -0
- package/dist/template/packages/mobile-app/src/strings.ts +11 -0
- package/dist/template/packages/mobile-app/src/transport.ts +50 -0
- package/dist/template/packages/mobile-app/tsconfig.json +15 -0
- package/dist/template/packages/plugin-kit/LICENSE +202 -0
- package/dist/template/packages/plugin-kit/README.md +11 -0
- package/dist/template/packages/plugin-kit/package.json +37 -0
- package/dist/template/packages/plugin-kit/src/contract.ts +169 -0
- package/dist/template/packages/plugin-kit/src/harness.ts +40 -0
- package/dist/template/packages/plugin-kit/src/importer.ts +37 -0
- package/dist/template/packages/plugin-kit/src/index.ts +41 -0
- package/dist/template/packages/plugin-kit/src/scaffold.ts +54 -0
- package/dist/template/packages/plugin-kit/src/semver.ts +78 -0
- package/dist/template/packages/plugin-kit/tsconfig.json +15 -0
- package/dist/template/packages/sdk/LICENSE +202 -0
- package/dist/template/packages/sdk/README.md +38 -0
- package/dist/template/packages/sdk/package.json +37 -0
- package/dist/template/packages/sdk/src/generated.ts +8557 -0
- package/dist/template/packages/sdk/src/index.ts +178 -0
- package/dist/template/packages/sdk/src/version.ts +4 -0
- package/dist/template/packages/sdk/test/generated.test.mjs +20 -0
- package/dist/template/packages/sdk/tsconfig.json +15 -0
- package/dist/template/packages/templates/LICENSE +202 -0
- package/dist/template/packages/templates/README.md +17 -0
- package/dist/template/packages/templates/package.json +37 -0
- package/dist/template/packages/templates/src/presets.ts +377 -0
- package/dist/template/packages/templates/tsconfig.json +14 -0
- package/dist/template/playwright.a11y.config.ts +109 -0
- package/dist/template/plugins/community/manifest.ts +19 -0
- package/dist/template/plugins/community/plugin.json +10 -0
- package/dist/template/plugins/community/schema.ts +116 -0
- package/dist/template/plugins/community/service.ts +996 -0
- package/dist/template/plugins/community/tables.ts +9 -0
- package/dist/template/plugins/gift-registry/manifest.ts +16 -0
- package/dist/template/plugins/gift-registry/plugin.json +10 -0
- package/dist/template/plugins/gift-registry/schema.ts +44 -0
- package/dist/template/plugins/gift-registry/service.ts +347 -0
- package/dist/template/plugins/gift-registry/tables.ts +3 -0
- package/dist/template/plugins/marketplace/adapter.ts +159 -0
- package/dist/template/plugins/marketplace/jobs.ts +37 -0
- package/dist/template/plugins/marketplace/manifest.ts +20 -0
- package/dist/template/plugins/marketplace/plugin.json +10 -0
- package/dist/template/plugins/marketplace/schema.ts +75 -0
- package/dist/template/plugins/marketplace/service.ts +642 -0
- package/dist/template/plugins/marketplace/shopify.ts +174 -0
- package/dist/template/plugins/marketplace/tables.ts +3 -0
- package/dist/template/plugins/print-on-demand/adapter.ts +86 -0
- package/dist/template/plugins/print-on-demand/jobs.ts +29 -0
- package/dist/template/plugins/print-on-demand/manifest.ts +21 -0
- package/dist/template/plugins/print-on-demand/plugin.json +10 -0
- package/dist/template/plugins/print-on-demand/printify.ts +139 -0
- package/dist/template/plugins/print-on-demand/schema.ts +54 -0
- package/dist/template/plugins/print-on-demand/service.ts +531 -0
- package/dist/template/plugins/print-on-demand/tables.ts +3 -0
- package/dist/template/plugins/social-fixture/adapter.ts +35 -0
- package/dist/template/plugins/social-fixture/manifest.ts +18 -0
- package/dist/template/plugins/social-fixture/plugin.json +10 -0
- package/dist/template/plugins/social-fixture/service.ts +9 -0
- package/dist/template/plugins/voice-video/adapter.ts +183 -0
- package/dist/template/plugins/voice-video/daily.ts +262 -0
- package/dist/template/plugins/voice-video/erasure.ts +93 -0
- package/dist/template/plugins/voice-video/jobs.ts +79 -0
- package/dist/template/plugins/voice-video/manifest.ts +34 -0
- package/dist/template/plugins/voice-video/paradise-provider.ts +157 -0
- package/dist/template/plugins/voice-video/paradise.ts +325 -0
- package/dist/template/plugins/voice-video/plugin.json +10 -0
- package/dist/template/plugins/voice-video/schema.ts +105 -0
- package/dist/template/plugins/voice-video/service.ts +1019 -0
- package/dist/template/plugins/voice-video/settings.ts +128 -0
- package/dist/template/plugins/voice-video/tables.ts +3 -0
- package/dist/template/plugins/voice-video/webhook.ts +134 -0
- package/dist/template/pnpm-lock.yaml +5386 -0
- package/dist/template/pnpm-workspace.yaml +81 -0
- package/dist/template/postcss.config.mjs +7 -0
- package/dist/template/proxy.ts +284 -0
- package/dist/template/public/fonts/OFL-JetBrains-Mono.txt +93 -0
- package/dist/template/public/fonts/OFL-Schibsted-Grotesk.txt +93 -0
- package/dist/template/public/fonts/jetbrains-mono-latin-ext.woff2 +0 -0
- package/dist/template/public/fonts/jetbrains-mono-latin.woff2 +0 -0
- package/dist/template/public/fonts/schibsted-grotesk-latin-ext.woff2 +0 -0
- package/dist/template/public/fonts/schibsted-grotesk-latin.woff2 +0 -0
- package/dist/template/render.yaml +46 -0
- package/dist/template/replit.nix +9 -0
- package/dist/template/scripts/README.md +69 -0
- package/dist/template/scripts/a11y-smoke.d.mts +24 -0
- package/dist/template/scripts/a11y-smoke.mjs +163 -0
- package/dist/template/scripts/changelog-gate.mjs +63 -0
- package/dist/template/scripts/contract-evidence.d.mts +8 -0
- package/dist/template/scripts/contract-evidence.mjs +18 -0
- package/dist/template/scripts/dependency-audit.d.mts +18 -0
- package/dist/template/scripts/dependency-audit.mjs +315 -0
- package/dist/template/scripts/deploy-droplet-remote.sh +138 -0
- package/dist/template/scripts/deploy-droplet.d.mts +59 -0
- package/dist/template/scripts/deploy-droplet.mjs +322 -0
- package/dist/template/scripts/docker-updater.py +524 -0
- package/dist/template/scripts/doctor.d.mts +3 -0
- package/dist/template/scripts/doctor.mjs +199 -0
- package/dist/template/scripts/f-matrix.d.mts +53 -0
- package/dist/template/scripts/f-matrix.mjs +298 -0
- package/dist/template/scripts/fast-gates.mjs +128 -0
- package/dist/template/scripts/generate-changelog.d.mts +16 -0
- package/dist/template/scripts/generate-changelog.mjs +95 -0
- package/dist/template/scripts/generate-mobile-messages.mjs +12 -0
- package/dist/template/scripts/generate-sdk.mjs +54 -0
- package/dist/template/scripts/host-updater.py +365 -0
- package/dist/template/scripts/launch-prepare.d.mts +14 -0
- package/dist/template/scripts/launch-prepare.mjs +93 -0
- package/dist/template/scripts/license-headers.mjs +169 -0
- package/dist/template/scripts/media-transfer.d.mts +19 -0
- package/dist/template/scripts/media-transfer.mjs +144 -0
- package/dist/template/scripts/mobile-store-gate.d.mts +72 -0
- package/dist/template/scripts/mobile-store-gate.mjs +569 -0
- package/dist/template/scripts/owner-password.mjs +107 -0
- package/dist/template/scripts/ownership-drill.d.mts +20 -0
- package/dist/template/scripts/ownership-drill.mjs +237 -0
- package/dist/template/scripts/ownership-export.mjs +46 -0
- package/dist/template/scripts/package-artifact-gate.mjs +291 -0
- package/dist/template/scripts/performance-budgets.d.mts +53 -0
- package/dist/template/scripts/performance-budgets.mjs +311 -0
- package/dist/template/scripts/plan-gate.d.mts +38 -0
- package/dist/template/scripts/plan-gate.mjs +515 -0
- package/dist/template/scripts/playground-gate.sh +47 -0
- package/dist/template/scripts/prepare-do-app-spec.d.mts +6 -0
- package/dist/template/scripts/prepare-do-app-spec.mjs +70 -0
- package/dist/template/scripts/public-gates.sh +186 -0
- package/dist/template/scripts/recipe-matrix.sh +141 -0
- package/dist/template/scripts/recipe-update-actions.mjs +157 -0
- package/dist/template/scripts/release-feed.d.mts +49 -0
- package/dist/template/scripts/release-feed.mjs +215 -0
- package/dist/template/scripts/release-history.d.mts +3 -0
- package/dist/template/scripts/release-history.mjs +27 -0
- package/dist/template/scripts/release-packages.d.mts +13 -0
- package/dist/template/scripts/release-packages.mjs +153 -0
- package/dist/template/scripts/release-publication.d.mts +7 -0
- package/dist/template/scripts/release-publication.mjs +58 -0
- package/dist/template/scripts/resolve-append-conflicts.mjs +132 -0
- package/dist/template/scripts/runtime-balanced-sequencer.ts +178 -0
- package/dist/template/scripts/schema-baseline-identity.d.mts +35 -0
- package/dist/template/scripts/schema-baseline-identity.mjs +373 -0
- package/dist/template/scripts/schema-compat-gate.d.mts +44 -0
- package/dist/template/scripts/schema-compat-gate.mjs +264 -0
- package/dist/template/scripts/seo-gate.d.mts +31 -0
- package/dist/template/scripts/seo-gate.mjs +326 -0
- package/dist/template/scripts/standalone-artifact-gate.mjs +163 -0
- package/dist/template/scripts/start-browser-server.mjs +29 -0
- package/dist/template/scripts/start-replit.mjs +16 -0
- package/dist/template/scripts/start.mjs +7 -0
- package/dist/template/scripts/upgrade-gate.sh +134 -0
- package/dist/template/scripts/verify-dependency-attestation.d.mts +13 -0
- package/dist/template/scripts/verify-dependency-attestation.mjs +93 -0
- package/dist/template/scripts/workflow-integrity-gate.d.mts +6 -0
- package/dist/template/scripts/workflow-integrity-gate.mjs +190 -0
- package/dist/template/security/adversarial-audit-2026-10-08.md +111 -0
- package/dist/template/security/client-readiness-audit-2026-09-21.md +273 -0
- package/dist/template/security/dependency-audit-exceptions.json +3 -0
- package/dist/template/security/independent-review-packet.md +369 -0
- package/dist/template/security/project-audit-2026-09-13.md +127 -0
- package/dist/template/seed/README.md +86 -0
- package/dist/template/seed/demo/content.ts +812 -0
- package/dist/template/src/README.md +19 -0
- package/dist/template/src/adapters/agent/index.ts +35 -0
- package/dist/template/src/adapters/agent/pm-brain.ts +125 -0
- package/dist/template/src/adapters/agent/types.ts +39 -0
- package/dist/template/src/adapters/agent/workforce-anthropic.ts +191 -0
- package/dist/template/src/adapters/agent/workforce-openai.ts +182 -0
- package/dist/template/src/adapters/agent/workforce-types.ts +80 -0
- package/dist/template/src/adapters/agent/workforce.ts +93 -0
- package/dist/template/src/adapters/ai/anthropic.ts +176 -0
- package/dist/template/src/adapters/ai/index.ts +41 -0
- package/dist/template/src/adapters/ai/none.ts +14 -0
- package/dist/template/src/adapters/ai/openai.ts +132 -0
- package/dist/template/src/adapters/ai/types.ts +28 -0
- package/dist/template/src/adapters/alt-text/index.ts +77 -0
- package/dist/template/src/adapters/alt-text/openai.ts +143 -0
- package/dist/template/src/adapters/alt-text/types.ts +30 -0
- package/dist/template/src/adapters/calendar/index.ts +12 -0
- package/dist/template/src/adapters/calendar/none.ts +18 -0
- package/dist/template/src/adapters/calendar/types.ts +43 -0
- package/dist/template/src/adapters/carrier/index.ts +12 -0
- package/dist/template/src/adapters/carrier/none.ts +18 -0
- package/dist/template/src/adapters/carrier/types.ts +60 -0
- package/dist/template/src/adapters/git/github.ts +82 -0
- package/dist/template/src/adapters/mail/console.ts +46 -0
- package/dist/template/src/adapters/mail/gmail.ts +44 -0
- package/dist/template/src/adapters/mail/http.ts +88 -0
- package/dist/template/src/adapters/mail/index.ts +255 -0
- package/dist/template/src/adapters/mail/mime.ts +57 -0
- package/dist/template/src/adapters/mail/none.ts +18 -0
- package/dist/template/src/adapters/mail/outlook.ts +71 -0
- package/dist/template/src/adapters/mail/postmark.ts +105 -0
- package/dist/template/src/adapters/mail/resend.ts +86 -0
- package/dist/template/src/adapters/mail/ses.ts +114 -0
- package/dist/template/src/adapters/mail/smtp.ts +85 -0
- package/dist/template/src/adapters/mail/types.ts +79 -0
- package/dist/template/src/adapters/malware/clamav.ts +90 -0
- package/dist/template/src/adapters/malware/index.ts +43 -0
- package/dist/template/src/adapters/malware/none.ts +16 -0
- package/dist/template/src/adapters/malware/types.ts +28 -0
- package/dist/template/src/adapters/notifications/index.ts +27 -0
- package/dist/template/src/adapters/notifications/none.ts +27 -0
- package/dist/template/src/adapters/notifications/types.ts +36 -0
- package/dist/template/src/adapters/payments/currency.ts +50 -0
- package/dist/template/src/adapters/payments/flutterwave.ts +239 -0
- package/dist/template/src/adapters/payments/http.ts +82 -0
- package/dist/template/src/adapters/payments/index.ts +42 -0
- package/dist/template/src/adapters/payments/manual.ts +59 -0
- package/dist/template/src/adapters/payments/mollie.ts +239 -0
- package/dist/template/src/adapters/payments/none.ts +38 -0
- package/dist/template/src/adapters/payments/paypal.ts +518 -0
- package/dist/template/src/adapters/payments/paystack.ts +206 -0
- package/dist/template/src/adapters/payments/provider-helpers.ts +122 -0
- package/dist/template/src/adapters/payments/providers.ts +31 -0
- package/dist/template/src/adapters/payments/razorpay.ts +246 -0
- package/dist/template/src/adapters/payments/square.ts +251 -0
- package/dist/template/src/adapters/payments/stripe.ts +462 -0
- package/dist/template/src/adapters/payments/types.ts +244 -0
- package/dist/template/src/adapters/point-of-sale/index.ts +21 -0
- package/dist/template/src/adapters/point-of-sale/manual.ts +35 -0
- package/dist/template/src/adapters/point-of-sale/none.ts +18 -0
- package/dist/template/src/adapters/point-of-sale/stripe.ts +112 -0
- package/dist/template/src/adapters/point-of-sale/types.ts +43 -0
- package/dist/template/src/adapters/registry.ts +46 -0
- package/dist/template/src/adapters/sms/index.ts +30 -0
- package/dist/template/src/adapters/sms/none.ts +24 -0
- package/dist/template/src/adapters/sms/twilio.ts +410 -0
- package/dist/template/src/adapters/sms/types.ts +140 -0
- package/dist/template/src/adapters/social/factory.ts +370 -0
- package/dist/template/src/adapters/social/http.ts +109 -0
- package/dist/template/src/adapters/social/index.ts +15 -0
- package/dist/template/src/adapters/social/media.ts +53 -0
- package/dist/template/src/adapters/social/networks.ts +174 -0
- package/dist/template/src/adapters/social/none.ts +37 -0
- package/dist/template/src/adapters/social/types.ts +130 -0
- package/dist/template/src/adapters/storage/index.ts +82 -0
- package/dist/template/src/adapters/storage/local.ts +164 -0
- package/dist/template/src/adapters/storage/replit.ts +114 -0
- package/dist/template/src/adapters/storage/s3.ts +298 -0
- package/dist/template/src/adapters/storage/types.ts +138 -0
- package/dist/template/src/adapters/tax/index.ts +10 -0
- package/dist/template/src/adapters/tax/none.ts +14 -0
- package/dist/template/src/adapters/tax/types.ts +60 -0
- package/dist/template/src/adapters/types.ts +60 -0
- package/dist/template/src/core/agents/budget-alerts.ts +73 -0
- package/dist/template/src/core/agents/budget.ts +162 -0
- package/dist/template/src/core/agents/cron.ts +77 -0
- package/dist/template/src/core/agents/envelope.ts +68 -0
- package/dist/template/src/core/agents/execution.ts +639 -0
- package/dist/template/src/core/agents/managed.ts +586 -0
- package/dist/template/src/core/agents/playbook-events.ts +77 -0
- package/dist/template/src/core/agents/playbook-params.ts +121 -0
- package/dist/template/src/core/agents/playbook-schedule.ts +305 -0
- package/dist/template/src/core/agents/playbooks.ts +579 -0
- package/dist/template/src/core/agents/previews.ts +86 -0
- package/dist/template/src/core/agents/pricing.ts +111 -0
- package/dist/template/src/core/agents/schema.ts +329 -0
- package/dist/template/src/core/agents/service.ts +1382 -0
- package/dist/template/src/core/agents/writes.ts +407 -0
- package/dist/template/src/core/api/dispatch.ts +131 -0
- package/dist/template/src/core/api/openapi.ts +246 -0
- package/dist/template/src/core/apikeys/profiles.ts +24 -0
- package/dist/template/src/core/apikeys/schema.ts +87 -0
- package/dist/template/src/core/apikeys/service.ts +245 -0
- package/dist/template/src/core/apikeys/tokens.ts +130 -0
- package/dist/template/src/core/attestations/schema.ts +118 -0
- package/dist/template/src/core/attestations/service.ts +354 -0
- package/dist/template/src/core/auth/bootstrap.ts +22 -0
- package/dist/template/src/core/auth/magic-links/service.ts +272 -0
- package/dist/template/src/core/auth/passwords.ts +52 -0
- package/dist/template/src/core/auth/reset.ts +238 -0
- package/dist/template/src/core/auth/schema.ts +318 -0
- package/dist/template/src/core/auth/service.ts +345 -0
- package/dist/template/src/core/auth/session-management/service.ts +314 -0
- package/dist/template/src/core/auth/sessions.ts +280 -0
- package/dist/template/src/core/auth/two-factor-crypto.ts +172 -0
- package/dist/template/src/core/auth/two-factor.ts +863 -0
- package/dist/template/src/core/automations/core-verbs.ts +86 -0
- package/dist/template/src/core/automations/verbs.ts +121 -0
- package/dist/template/src/core/boot.ts +231 -0
- package/dist/template/src/core/briefing/contributors.ts +288 -0
- package/dist/template/src/core/briefing/playbook-section.ts +136 -0
- package/dist/template/src/core/briefing/registry.ts +155 -0
- package/dist/template/src/core/briefing/schema.ts +124 -0
- package/dist/template/src/core/briefing/service.ts +425 -0
- package/dist/template/src/core/briefing/update.ts +24 -0
- package/dist/template/src/core/catalogue/schema.ts +136 -0
- package/dist/template/src/core/catalogue/service.ts +724 -0
- package/dist/template/src/core/config.test.ts +62 -0
- package/dist/template/src/core/config.ts +69 -0
- package/dist/template/src/core/connections/busy.ts +190 -0
- package/dist/template/src/core/connections/calendar-oauth.ts +323 -0
- package/dist/template/src/core/connections/calendar-providers.ts +352 -0
- package/dist/template/src/core/connections/calendar-sync.ts +558 -0
- package/dist/template/src/core/connections/calendar-write.ts +194 -0
- package/dist/template/src/core/connections/crypto.ts +200 -0
- package/dist/template/src/core/connections/grants.ts +322 -0
- package/dist/template/src/core/connections/mail-import.ts +380 -0
- package/dist/template/src/core/connections/mail-providers.ts +184 -0
- package/dist/template/src/core/connections/mail-read-oauth.ts +296 -0
- package/dist/template/src/core/connections/oauth-core.ts +472 -0
- package/dist/template/src/core/connections/schema.ts +250 -0
- package/dist/template/src/core/connections/service.ts +606 -0
- package/dist/template/src/core/contacts/custom-fields.ts +287 -0
- package/dist/template/src/core/contacts/duplicates.ts +359 -0
- package/dist/template/src/core/contacts/funnel.ts +30 -0
- package/dist/template/src/core/contacts/lifecycle.ts +91 -0
- package/dist/template/src/core/contacts/organizations.ts +214 -0
- package/dist/template/src/core/contacts/relationships.ts +477 -0
- package/dist/template/src/core/contacts/schema.ts +300 -0
- package/dist/template/src/core/contacts/service.ts +1401 -0
- package/dist/template/src/core/contract/json-schema.ts +39 -0
- package/dist/template/src/core/contract/projections.ts +58 -0
- package/dist/template/src/core/contract/sdk.ts +287 -0
- package/dist/template/src/core/contract.ts +20 -0
- package/dist/template/src/core/contribute/deliver.ts +274 -0
- package/dist/template/src/core/contribute/schema.ts +163 -0
- package/dist/template/src/core/contribute/service.ts +1072 -0
- package/dist/template/src/core/dates/cadence.ts +73 -0
- package/dist/template/src/core/db/columns.ts +32 -0
- package/dist/template/src/core/db/errors.ts +66 -0
- package/dist/template/src/core/db/index.ts +90 -0
- package/dist/template/src/core/demo/fixtures.ts +441 -0
- package/dist/template/src/core/demo/handler.ts +89 -0
- package/dist/template/src/core/demo/playground-policy.ts +73 -0
- package/dist/template/src/core/demo/playground.ts +55 -0
- package/dist/template/src/core/demo/schema.ts +135 -0
- package/dist/template/src/core/demo/service.ts +673 -0
- package/dist/template/src/core/design/read.ts +9 -0
- package/dist/template/src/core/design/schema.ts +33 -0
- package/dist/template/src/core/design/service.ts +280 -0
- package/dist/template/src/core/design/theme.ts +45 -0
- package/dist/template/src/core/design/tokens.ts +355 -0
- package/dist/template/src/core/discovery.ts +116 -0
- package/dist/template/src/core/doctor/index.ts +1169 -0
- package/dist/template/src/core/doctor/service.ts +44 -0
- package/dist/template/src/core/entitlements/access.ts +478 -0
- package/dist/template/src/core/entitlements/schema.ts +163 -0
- package/dist/template/src/core/entitlements/service.ts +590 -0
- package/dist/template/src/core/env.test.ts +148 -0
- package/dist/template/src/core/env.ts +442 -0
- package/dist/template/src/core/events/catalogue.ts +61 -0
- package/dist/template/src/core/events/index.ts +138 -0
- package/dist/template/src/core/events/outbox-service.ts +198 -0
- package/dist/template/src/core/events/outbox.ts +474 -0
- package/dist/template/src/core/events/schema.ts +152 -0
- package/dist/template/src/core/events/service.ts +37 -0
- package/dist/template/src/core/funnel/stages.ts +106 -0
- package/dist/template/src/core/guidance/definitions.ts +276 -0
- package/dist/template/src/core/guidance/schema.ts +107 -0
- package/dist/template/src/core/guidance/service.ts +530 -0
- package/dist/template/src/core/http/actor.ts +115 -0
- package/dist/template/src/core/http/body.ts +96 -0
- package/dist/template/src/core/http/cookies.ts +88 -0
- package/dist/template/src/core/http/csp.ts +118 -0
- package/dist/template/src/core/http/csrf.ts +89 -0
- package/dist/template/src/core/http/headers.ts +33 -0
- package/dist/template/src/core/http/inline-json.ts +20 -0
- package/dist/template/src/core/http/pinned-download.ts +118 -0
- package/dist/template/src/core/http/request-metadata.ts +48 -0
- package/dist/template/src/core/http/respond.ts +82 -0
- package/dist/template/src/core/http/route.ts +83 -0
- package/dist/template/src/core/i18n/customer.ts +187 -0
- package/dist/template/src/core/i18n/index.ts +286 -0
- package/dist/template/src/core/i18n/schema.ts +59 -0
- package/dist/template/src/core/i18n/service.ts +339 -0
- package/dist/template/src/core/i18n/zoned.ts +96 -0
- package/dist/template/src/core/ics.ts +260 -0
- package/dist/template/src/core/import/contacts-schema.ts +237 -0
- package/dist/template/src/core/import/contacts-service.ts +923 -0
- package/dist/template/src/core/import/contract.ts +135 -0
- package/dist/template/src/core/import/csv.ts +190 -0
- package/dist/template/src/core/import/parsers.ts +217 -0
- package/dist/template/src/core/import/service.ts +606 -0
- package/dist/template/src/core/import/signup-contact-providers.ts +219 -0
- package/dist/template/src/core/import/signup-contact-service.ts +1077 -0
- package/dist/template/src/core/import/vcard.ts +77 -0
- package/dist/template/src/core/invitations/service.ts +656 -0
- package/dist/template/src/core/jobs/core-jobs.ts +1000 -0
- package/dist/template/src/core/jobs/health.ts +264 -0
- package/dist/template/src/core/jobs/index.ts +926 -0
- package/dist/template/src/core/jobs/schema.ts +111 -0
- package/dist/template/src/core/jobs/service.ts +269 -0
- package/dist/template/src/core/locations/coverage.ts +152 -0
- package/dist/template/src/core/locations/jsonld.ts +155 -0
- package/dist/template/src/core/locations/nap.ts +159 -0
- package/dist/template/src/core/locations/read.ts +15 -0
- package/dist/template/src/core/locations/schema.ts +257 -0
- package/dist/template/src/core/locations/service.ts +667 -0
- package/dist/template/src/core/mail/link-confirmation.ts +31 -0
- package/dist/template/src/core/mail/oauth.ts +351 -0
- package/dist/template/src/core/mail/outbox-crypto.ts +73 -0
- package/dist/template/src/core/mail/route.ts +27 -0
- package/dist/template/src/core/mail/schema.ts +359 -0
- package/dist/template/src/core/mail/service.ts +1407 -0
- package/dist/template/src/core/mail/webhooks.ts +735 -0
- package/dist/template/src/core/manifest.ts +173 -0
- package/dist/template/src/core/media/capture.ts +1191 -0
- package/dist/template/src/core/media/framing.ts +265 -0
- package/dist/template/src/core/media/schema.ts +388 -0
- package/dist/template/src/core/media/service.ts +3321 -0
- package/dist/template/src/core/media/validation.ts +264 -0
- package/dist/template/src/core/media/variants.ts +213 -0
- package/dist/template/src/core/media/watermark.ts +158 -0
- package/dist/template/src/core/messaging/chat-cookie.ts +30 -0
- package/dist/template/src/core/messaging/chat.ts +424 -0
- package/dist/template/src/core/messaging/consent.ts +390 -0
- package/dist/template/src/core/messaging/inbox.ts +602 -0
- package/dist/template/src/core/messaging/keywords.ts +540 -0
- package/dist/template/src/core/messaging/numbers-schema.ts +126 -0
- package/dist/template/src/core/messaging/policy-schema.ts +84 -0
- package/dist/template/src/core/messaging/policy.ts +575 -0
- package/dist/template/src/core/messaging/portal.ts +30 -0
- package/dist/template/src/core/messaging/purpose.ts +12 -0
- package/dist/template/src/core/messaging/registration.ts +235 -0
- package/dist/template/src/core/messaging/schema.ts +433 -0
- package/dist/template/src/core/messaging/service.ts +805 -0
- package/dist/template/src/core/messaging/sms.ts +1052 -0
- package/dist/template/src/core/messaging/webhook-route.ts +118 -0
- package/dist/template/src/core/migrate.ts +57 -0
- package/dist/template/src/core/module.ts +105 -0
- package/dist/template/src/core/notes/schema.ts +140 -0
- package/dist/template/src/core/notes/service.ts +513 -0
- package/dist/template/src/core/notifications/devices.ts +149 -0
- package/dist/template/src/core/notifications/schema.ts +389 -0
- package/dist/template/src/core/notifications/service.ts +1863 -0
- package/dist/template/src/core/onboarding/contract.ts +130 -0
- package/dist/template/src/core/onboarding/index.ts +213 -0
- package/dist/template/src/core/onboarding/registry.ts +295 -0
- package/dist/template/src/core/paywalls/evaluate.ts +266 -0
- package/dist/template/src/core/paywalls/schema.ts +105 -0
- package/dist/template/src/core/paywalls/service.ts +223 -0
- package/dist/template/src/core/platform.ts +19 -0
- package/dist/template/src/core/plugin.ts +68 -0
- package/dist/template/src/core/plugins/integrity.ts +51 -0
- package/dist/template/src/core/plugins/isolate.ts +49 -0
- package/dist/template/src/core/plugins/registry.ts +70 -0
- package/dist/template/src/core/plugins/schema.ts +96 -0
- package/dist/template/src/core/plugins/service.ts +472 -0
- package/dist/template/src/core/plugins/spine.ts +172 -0
- package/dist/template/src/core/portability/archive.ts +77 -0
- package/dist/template/src/core/portability/ownership-export.d.mts +56 -0
- package/dist/template/src/core/portability/ownership-export.mjs +548 -0
- package/dist/template/src/core/portability/service.ts +119 -0
- package/dist/template/src/core/portal/record-service.ts +38 -0
- package/dist/template/src/core/portal/return-path.ts +9 -0
- package/dist/template/src/core/portal/sections.ts +101 -0
- package/dist/template/src/core/portal/service.ts +202 -0
- package/dist/template/src/core/portal/sign-in.ts +30 -0
- package/dist/template/src/core/privacy/media-consent.ts +328 -0
- package/dist/template/src/core/privacy/publish-veto.ts +59 -0
- package/dist/template/src/core/privacy/schema.ts +320 -0
- package/dist/template/src/core/privacy/service.ts +1935 -0
- package/dist/template/src/core/provenance/service.ts +174 -0
- package/dist/template/src/core/recipes.ts +15 -0
- package/dist/template/src/core/reporting/csv.ts +102 -0
- package/dist/template/src/core/reporting/dimensions.ts +114 -0
- package/dist/template/src/core/retention/apply.ts +47 -0
- package/dist/template/src/core/retention/holds.ts +45 -0
- package/dist/template/src/core/retention/registry.ts +190 -0
- package/dist/template/src/core/retention/schema.ts +34 -0
- package/dist/template/src/core/retention/service.ts +109 -0
- package/dist/template/src/core/retention/sources.ts +42 -0
- package/dist/template/src/core/rewards/issue.ts +100 -0
- package/dist/template/src/core/roles/defaults.ts +161 -0
- package/dist/template/src/core/roles/service.ts +375 -0
- package/dist/template/src/core/runs/schema.ts +290 -0
- package/dist/template/src/core/runs/spine.ts +72 -0
- package/dist/template/src/core/runtime/shutdown.ts +55 -0
- package/dist/template/src/core/runtime.ts +45 -0
- package/dist/template/src/core/scheduling/audience-schema.ts +179 -0
- package/dist/template/src/core/scheduling/audiences.ts +504 -0
- package/dist/template/src/core/scheduling/availability-service.ts +354 -0
- package/dist/template/src/core/scheduling/availability.ts +213 -0
- package/dist/template/src/core/scheduling/bookings.ts +1252 -0
- package/dist/template/src/core/scheduling/funnel.ts +30 -0
- package/dist/template/src/core/scheduling/ics-service.ts +355 -0
- package/dist/template/src/core/scheduling/policy.ts +253 -0
- package/dist/template/src/core/scheduling/portal.ts +50 -0
- package/dist/template/src/core/scheduling/reminders.ts +352 -0
- package/dist/template/src/core/scheduling/requirements.ts +307 -0
- package/dist/template/src/core/scheduling/resolver-service.ts +206 -0
- package/dist/template/src/core/scheduling/resolver.ts +564 -0
- package/dist/template/src/core/scheduling/schema.ts +618 -0
- package/dist/template/src/core/scheduling/service.ts +474 -0
- package/dist/template/src/core/scheduling/waitlist.ts +678 -0
- package/dist/template/src/core/scheduling/writeback.ts +213 -0
- package/dist/template/src/core/scoring/schema.ts +147 -0
- package/dist/template/src/core/scoring/service.ts +602 -0
- package/dist/template/src/core/search/registry.ts +155 -0
- package/dist/template/src/core/search/service.ts +81 -0
- package/dist/template/src/core/search/sources.ts +195 -0
- package/dist/template/src/core/security/csp-reports.ts +256 -0
- package/dist/template/src/core/security/rate-limit.ts +117 -0
- package/dist/template/src/core/security/schema.ts +60 -0
- package/dist/template/src/core/segments/fields.ts +376 -0
- package/dist/template/src/core/segments/schema.ts +112 -0
- package/dist/template/src/core/segments/service.ts +731 -0
- package/dist/template/src/core/seo/classify.ts +56 -0
- package/dist/template/src/core/seo/entities.ts +61 -0
- package/dist/template/src/core/seo/feeds.ts +77 -0
- package/dist/template/src/core/seo/indexnow.ts +110 -0
- package/dist/template/src/core/seo/jsonld.ts +307 -0
- package/dist/template/src/core/seo/meta.ts +84 -0
- package/dist/template/src/core/seo/origin.ts +55 -0
- package/dist/template/src/core/seo/schema.ts +41 -0
- package/dist/template/src/core/seo/service.ts +171 -0
- package/dist/template/src/core/seo/sitemap.ts +185 -0
- package/dist/template/src/core/service.ts +747 -0
- package/dist/template/src/core/services.ts +242 -0
- package/dist/template/src/core/settings/defaults.ts +129 -0
- package/dist/template/src/core/settings/read.ts +24 -0
- package/dist/template/src/core/settings/schema.ts +81 -0
- package/dist/template/src/core/settings/service.ts +407 -0
- package/dist/template/src/core/settings/setup.ts +41 -0
- package/dist/template/src/core/spine/facts.ts +141 -0
- package/dist/template/src/core/subjects.ts +95 -0
- package/dist/template/src/core/tables.ts +180 -0
- package/dist/template/src/core/tasks/schema.ts +174 -0
- package/dist/template/src/core/tasks/service.ts +634 -0
- package/dist/template/src/core/trash.ts +278 -0
- package/dist/template/src/core/update/apply.ts +58 -0
- package/dist/template/src/core/update/catalog.ts +222 -0
- package/dist/template/src/core/update/channels.ts +39 -0
- package/dist/template/src/core/update/check.ts +107 -0
- package/dist/template/src/core/update/escalate-job.ts +111 -0
- package/dist/template/src/core/update/escalation.ts +131 -0
- package/dist/template/src/core/update/feed.ts +80 -0
- package/dist/template/src/core/update/fork-delivery.ts +102 -0
- package/dist/template/src/core/update/fork-merge.ts +195 -0
- package/dist/template/src/core/update/fork.ts +217 -0
- package/dist/template/src/core/update/host.ts +59 -0
- package/dist/template/src/core/update/integrity.ts +118 -0
- package/dist/template/src/core/update/keys.ts +29 -0
- package/dist/template/src/core/update/policy.ts +111 -0
- package/dist/template/src/core/update/preflight.ts +258 -0
- package/dist/template/src/core/update/release-declaration.json +19 -0
- package/dist/template/src/core/update/release-validation.d.mts +5 -0
- package/dist/template/src/core/update/release-validation.mjs +29 -0
- package/dist/template/src/core/update/release-version.d.mts +4 -0
- package/dist/template/src/core/update/release-version.mjs +36 -0
- package/dist/template/src/core/update/release.ts +97 -0
- package/dist/template/src/core/update/schema.ts +172 -0
- package/dist/template/src/core/update/seams.ts +70 -0
- package/dist/template/src/core/update/service.ts +1075 -0
- package/dist/template/src/core/update/targets.ts +425 -0
- package/dist/template/src/core/update/this-release.ts +12 -0
- package/dist/template/src/core/update/trusted-release-keys.json +7 -0
- package/dist/template/src/core/views/entities.ts +48 -0
- package/dist/template/src/core/views/registry.ts +121 -0
- package/dist/template/src/core/views/schema.ts +82 -0
- package/dist/template/src/core/views/service.ts +388 -0
- package/dist/template/src/core/webhooks/address.ts +57 -0
- package/dist/template/src/core/webhooks/deliver.ts +255 -0
- package/dist/template/src/core/webhooks/schema.ts +128 -0
- package/dist/template/src/core/webhooks/service.ts +532 -0
- package/dist/template/src/core/webhooks/sign.ts +169 -0
- package/dist/template/src/core/webhooks/transport.ts +180 -0
- package/dist/template/src/mcp/server.ts +372 -0
- package/dist/template/src/mcp/tools.ts +182 -0
- package/dist/template/src/modules/ads/AdBeacon.tsx +76 -0
- package/dist/template/src/modules/ads/ThirdPartyConsent.tsx +45 -0
- package/dist/template/src/modules/ads/ads-txt.ts +60 -0
- package/dist/template/src/modules/ads/blocks.tsx +246 -0
- package/dist/template/src/modules/ads/clicks.ts +162 -0
- package/dist/template/src/modules/ads/jobs.ts +17 -0
- package/dist/template/src/modules/ads/manifest.ts +48 -0
- package/dist/template/src/modules/ads/pacing.ts +47 -0
- package/dist/template/src/modules/ads/schema.ts +360 -0
- package/dist/template/src/modules/ads/select.ts +235 -0
- package/dist/template/src/modules/ads/service.ts +2082 -0
- package/dist/template/src/modules/ads/stats.ts +209 -0
- package/dist/template/src/modules/ads/tables.ts +13 -0
- package/dist/template/src/modules/ads/tags.ts +98 -0
- package/dist/template/src/modules/ads/targeting.ts +0 -0
- package/dist/template/src/modules/ads/viewability.ts +39 -0
- package/dist/template/src/modules/analytics/classify.ts +128 -0
- package/dist/template/src/modules/analytics/experiments.ts +197 -0
- package/dist/template/src/modules/analytics/funnel-service.ts +201 -0
- package/dist/template/src/modules/analytics/funnel.ts +40 -0
- package/dist/template/src/modules/analytics/manifest.ts +37 -0
- package/dist/template/src/modules/analytics/read.ts +17 -0
- package/dist/template/src/modules/analytics/schema.ts +142 -0
- package/dist/template/src/modules/analytics/service.ts +1380 -0
- package/dist/template/src/modules/analytics/settings.ts +44 -0
- package/dist/template/src/modules/analytics/tables.ts +4 -0
- package/dist/template/src/modules/analytics/visitor.ts +91 -0
- package/dist/template/src/modules/assessments/block.tsx +200 -0
- package/dist/template/src/modules/assessments/blocks.ts +11 -0
- package/dist/template/src/modules/assessments/manifest.ts +27 -0
- package/dist/template/src/modules/assessments/onboarding.ts +45 -0
- package/dist/template/src/modules/assessments/questions.ts +134 -0
- package/dist/template/src/modules/assessments/schema.ts +201 -0
- package/dist/template/src/modules/assessments/scoring.ts +99 -0
- package/dist/template/src/modules/assessments/service.ts +1225 -0
- package/dist/template/src/modules/assessments/tables.ts +9 -0
- package/dist/template/src/modules/assistant/actions.ts +191 -0
- package/dist/template/src/modules/assistant/contract.ts +48 -0
- package/dist/template/src/modules/assistant/corpus.ts +137 -0
- package/dist/template/src/modules/assistant/embed.ts +40 -0
- package/dist/template/src/modules/assistant/guardrails.ts +220 -0
- package/dist/template/src/modules/assistant/jobs.ts +17 -0
- package/dist/template/src/modules/assistant/limits.ts +219 -0
- package/dist/template/src/modules/assistant/manifest.ts +43 -0
- package/dist/template/src/modules/assistant/prompt.ts +168 -0
- package/dist/template/src/modules/assistant/provider.ts +100 -0
- package/dist/template/src/modules/assistant/retrieve.ts +67 -0
- package/dist/template/src/modules/assistant/schema.ts +336 -0
- package/dist/template/src/modules/assistant/service.ts +1276 -0
- package/dist/template/src/modules/assistant/tables.ts +11 -0
- package/dist/template/src/modules/assistant/text.ts +42 -0
- package/dist/template/src/modules/automations/engine.ts +350 -0
- package/dist/template/src/modules/automations/graph.ts +325 -0
- package/dist/template/src/modules/automations/guardrail-service.ts +68 -0
- package/dist/template/src/modules/automations/guardrails.ts +211 -0
- package/dist/template/src/modules/automations/manifest.ts +37 -0
- package/dist/template/src/modules/automations/runtime.ts +771 -0
- package/dist/template/src/modules/automations/schema.ts +192 -0
- package/dist/template/src/modules/automations/service.ts +584 -0
- package/dist/template/src/modules/automations/tables.ts +8 -0
- package/dist/template/src/modules/builder/code-delivery.ts +131 -0
- package/dist/template/src/modules/builder/code-gates.ts +374 -0
- package/dist/template/src/modules/builder/code-service.ts +508 -0
- package/dist/template/src/modules/builder/manifest.ts +14 -0
- package/dist/template/src/modules/builder/schema.ts +135 -0
- package/dist/template/src/modules/builder/service.ts +758 -0
- package/dist/template/src/modules/builder/tables.ts +3 -0
- package/dist/template/src/modules/calculators/formula.ts +197 -0
- package/dist/template/src/modules/calculators/manifest.ts +19 -0
- package/dist/template/src/modules/calculators/schema.ts +65 -0
- package/dist/template/src/modules/calculators/service.ts +455 -0
- package/dist/template/src/modules/calculators/tables.ts +4 -0
- package/dist/template/src/modules/catalog/browse.ts +835 -0
- package/dist/template/src/modules/catalog/cart-access.ts +37 -0
- package/dist/template/src/modules/catalog/cart.ts +1066 -0
- package/dist/template/src/modules/catalog/checkout-policy.ts +80 -0
- package/dist/template/src/modules/catalog/collections.ts +856 -0
- package/dist/template/src/modules/catalog/contract.ts +180 -0
- package/dist/template/src/modules/catalog/cookies.ts +14 -0
- package/dist/template/src/modules/catalog/demo.ts +108 -0
- package/dist/template/src/modules/catalog/fulfillment.ts +978 -0
- package/dist/template/src/modules/catalog/funnel.ts +46 -0
- package/dist/template/src/modules/catalog/inventory.ts +900 -0
- package/dist/template/src/modules/catalog/jobs.ts +74 -0
- package/dist/template/src/modules/catalog/manifest.ts +76 -0
- package/dist/template/src/modules/catalog/merchandising.ts +529 -0
- package/dist/template/src/modules/catalog/offerings.ts +735 -0
- package/dist/template/src/modules/catalog/onboarding.ts +33 -0
- package/dist/template/src/modules/catalog/orders.ts +698 -0
- package/dist/template/src/modules/catalog/portal.ts +36 -0
- package/dist/template/src/modules/catalog/price-breaks.ts +144 -0
- package/dist/template/src/modules/catalog/pricing.ts +590 -0
- package/dist/template/src/modules/catalog/procurement.ts +689 -0
- package/dist/template/src/modules/catalog/promo-quote.ts +53 -0
- package/dist/template/src/modules/catalog/promotions.ts +784 -0
- package/dist/template/src/modules/catalog/public-booking.ts +132 -0
- package/dist/template/src/modules/catalog/public-pages.ts +173 -0
- package/dist/template/src/modules/catalog/relations.ts +430 -0
- package/dist/template/src/modules/catalog/reporting.ts +66 -0
- package/dist/template/src/modules/catalog/reward-issuer.ts +73 -0
- package/dist/template/src/modules/catalog/schema.ts +1672 -0
- package/dist/template/src/modules/catalog/segment-fields.ts +52 -0
- package/dist/template/src/modules/catalog/service.ts +1055 -0
- package/dist/template/src/modules/catalog/shipping-quote.ts +205 -0
- package/dist/template/src/modules/catalog/shipping.ts +324 -0
- package/dist/template/src/modules/catalog/storefront.ts +524 -0
- package/dist/template/src/modules/catalog/tables.ts +57 -0
- package/dist/template/src/modules/catalog/tokens.ts +26 -0
- package/dist/template/src/modules/catalog/variants.ts +581 -0
- package/dist/template/src/modules/cms/a11y-hints.ts +258 -0
- package/dist/template/src/modules/cms/blocks/SiteChatClient.tsx +233 -0
- package/dist/template/src/modules/cms/blocks/edit.ts +295 -0
- package/dist/template/src/modules/cms/blocks/fields.ts +208 -0
- package/dist/template/src/modules/cms/blocks/help.tsx +241 -0
- package/dist/template/src/modules/cms/blocks/html.ts +84 -0
- package/dist/template/src/modules/cms/blocks/library.tsx +1226 -0
- package/dist/template/src/modules/cms/blocks/merchandising.tsx +721 -0
- package/dist/template/src/modules/cms/blocks/move.ts +115 -0
- package/dist/template/src/modules/cms/blocks/registry.ts +296 -0
- package/dist/template/src/modules/cms/blocks/rich-render.tsx +44 -0
- package/dist/template/src/modules/cms/blocks/rich.ts +312 -0
- package/dist/template/src/modules/cms/blocks/social.ts +38 -0
- package/dist/template/src/modules/cms/blocks/store-sections.tsx +465 -0
- package/dist/template/src/modules/cms/blocks/surfaces.tsx +1031 -0
- package/dist/template/src/modules/cms/blocks/types.ts +241 -0
- package/dist/template/src/modules/cms/blog.tsx +51 -0
- package/dist/template/src/modules/cms/budgets.ts +52 -0
- package/dist/template/src/modules/cms/cache.ts +49 -0
- package/dist/template/src/modules/cms/chrome-nav.ts +53 -0
- package/dist/template/src/modules/cms/collaboration.ts +433 -0
- package/dist/template/src/modules/cms/defaults.ts +110 -0
- package/dist/template/src/modules/cms/email-render.ts +161 -0
- package/dist/template/src/modules/cms/email-service.ts +112 -0
- package/dist/template/src/modules/cms/experiments.ts +108 -0
- package/dist/template/src/modules/cms/help-service.ts +417 -0
- package/dist/template/src/modules/cms/history.ts +106 -0
- package/dist/template/src/modules/cms/inbound.ts +106 -0
- package/dist/template/src/modules/cms/jobs.ts +28 -0
- package/dist/template/src/modules/cms/layout-service.ts +327 -0
- package/dist/template/src/modules/cms/lifecycle.ts +780 -0
- package/dist/template/src/modules/cms/locations.ts +288 -0
- package/dist/template/src/modules/cms/manifest.ts +76 -0
- package/dist/template/src/modules/cms/onboarding.ts +53 -0
- package/dist/template/src/modules/cms/read.ts +27 -0
- package/dist/template/src/modules/cms/render.tsx +135 -0
- package/dist/template/src/modules/cms/schema.ts +387 -0
- package/dist/template/src/modules/cms/section-instances.ts +96 -0
- package/dist/template/src/modules/cms/section-service.ts +263 -0
- package/dist/template/src/modules/cms/service.ts +1815 -0
- package/dist/template/src/modules/cms/sms-template-service.ts +273 -0
- package/dist/template/src/modules/cms/tables.ts +14 -0
- package/dist/template/src/modules/cms/template-service.ts +374 -0
- package/dist/template/src/modules/cms/templates.ts +320 -0
- package/dist/template/src/modules/cms/translate.ts +212 -0
- package/dist/template/src/modules/cms/translation-workflow.ts +235 -0
- package/dist/template/src/modules/contracts/manifest.ts +27 -0
- package/dist/template/src/modules/contracts/portal.ts +27 -0
- package/dist/template/src/modules/contracts/schema.ts +174 -0
- package/dist/template/src/modules/contracts/service.ts +608 -0
- package/dist/template/src/modules/contracts/tables.ts +3 -0
- package/dist/template/src/modules/contracts/template-service.ts +458 -0
- package/dist/template/src/modules/contracts/templates.ts +83 -0
- package/dist/template/src/modules/crm/manifest.ts +30 -0
- package/dist/template/src/modules/crm/schema.ts +209 -0
- package/dist/template/src/modules/crm/service.ts +918 -0
- package/dist/template/src/modules/crm/tables.ts +3 -0
- package/dist/template/src/modules/documents/manifest.ts +29 -0
- package/dist/template/src/modules/documents/portal.ts +41 -0
- package/dist/template/src/modules/documents/schema.ts +243 -0
- package/dist/template/src/modules/documents/service.ts +879 -0
- package/dist/template/src/modules/documents/tables.ts +9 -0
- package/dist/template/src/modules/documents/tokens.ts +33 -0
- package/dist/template/src/modules/events/blocks.tsx +82 -0
- package/dist/template/src/modules/events/ics.ts +47 -0
- package/dist/template/src/modules/events/manifest.ts +26 -0
- package/dist/template/src/modules/events/onboarding.ts +47 -0
- package/dist/template/src/modules/events/public-pages.ts +140 -0
- package/dist/template/src/modules/events/schema.ts +149 -0
- package/dist/template/src/modules/events/service.ts +907 -0
- package/dist/template/src/modules/events/tables.ts +3 -0
- package/dist/template/src/modules/forms/antispam.ts +163 -0
- package/dist/template/src/modules/forms/block.tsx +275 -0
- package/dist/template/src/modules/forms/blocks.ts +11 -0
- package/dist/template/src/modules/forms/briefing.ts +92 -0
- package/dist/template/src/modules/forms/fieldKey.ts +43 -0
- package/dist/template/src/modules/forms/fields.ts +165 -0
- package/dist/template/src/modules/forms/manifest.ts +46 -0
- package/dist/template/src/modules/forms/onboarding.ts +53 -0
- package/dist/template/src/modules/forms/schema.ts +97 -0
- package/dist/template/src/modules/forms/service.ts +905 -0
- package/dist/template/src/modules/forms/tables.ts +4 -0
- package/dist/template/src/modules/galleries/archive.ts +181 -0
- package/dist/template/src/modules/galleries/cookies.ts +24 -0
- package/dist/template/src/modules/galleries/demo.ts +105 -0
- package/dist/template/src/modules/galleries/jobs.ts +49 -0
- package/dist/template/src/modules/galleries/manifest.ts +33 -0
- package/dist/template/src/modules/galleries/onboarding.ts +33 -0
- package/dist/template/src/modules/galleries/schema.ts +442 -0
- package/dist/template/src/modules/galleries/service.ts +2970 -0
- package/dist/template/src/modules/galleries/tables.ts +13 -0
- package/dist/template/src/modules/galleries/tokens.ts +30 -0
- package/dist/template/src/modules/index.ts +96 -0
- package/dist/template/src/modules/invoicing/advanced-money-service.ts +1071 -0
- package/dist/template/src/modules/invoicing/briefing.ts +73 -0
- package/dist/template/src/modules/invoicing/checkout-requirements.ts +19 -0
- package/dist/template/src/modules/invoicing/contract.ts +541 -0
- package/dist/template/src/modules/invoicing/customer-service.ts +336 -0
- package/dist/template/src/modules/invoicing/customer-tokens.ts +43 -0
- package/dist/template/src/modules/invoicing/demo.ts +114 -0
- package/dist/template/src/modules/invoicing/funnel.ts +67 -0
- package/dist/template/src/modules/invoicing/invoice-service.ts +1467 -0
- package/dist/template/src/modules/invoicing/manifest.ts +58 -0
- package/dist/template/src/modules/invoicing/money.ts +88 -0
- package/dist/template/src/modules/invoicing/onboarding.ts +33 -0
- package/dist/template/src/modules/invoicing/payment-plan-ledger.ts +115 -0
- package/dist/template/src/modules/invoicing/payment-provider-service.ts +873 -0
- package/dist/template/src/modules/invoicing/payment-webhook-route.ts +53 -0
- package/dist/template/src/modules/invoicing/portal.ts +29 -0
- package/dist/template/src/modules/invoicing/pos-service.ts +275 -0
- package/dist/template/src/modules/invoicing/recurring-schema.ts +125 -0
- package/dist/template/src/modules/invoicing/recurring-service.ts +608 -0
- package/dist/template/src/modules/invoicing/reporting.ts +39 -0
- package/dist/template/src/modules/invoicing/schema.ts +862 -0
- package/dist/template/src/modules/invoicing/service.ts +37 -0
- package/dist/template/src/modules/invoicing/tables.ts +33 -0
- package/dist/template/src/modules/invoicing/tax-engine.ts +214 -0
- package/dist/template/src/modules/invoicing/tax-service.ts +716 -0
- package/dist/template/src/modules/invoicing/tax-templates.ts +316 -0
- package/dist/template/src/modules/local-plugins.ts +15 -0
- package/dist/template/src/modules/loyalty/jobs.ts +224 -0
- package/dist/template/src/modules/loyalty/manifest.ts +58 -0
- package/dist/template/src/modules/loyalty/rewards-service.ts +607 -0
- package/dist/template/src/modules/loyalty/schema.ts +333 -0
- package/dist/template/src/modules/loyalty/service.ts +922 -0
- package/dist/template/src/modules/loyalty/spine.ts +97 -0
- package/dist/template/src/modules/loyalty/tables.ts +12 -0
- package/dist/template/src/modules/newsletters/blocks.tsx +128 -0
- package/dist/template/src/modules/newsletters/broadcast-schema.ts +166 -0
- package/dist/template/src/modules/newsletters/broadcast-service.ts +806 -0
- package/dist/template/src/modules/newsletters/jobs.ts +29 -0
- package/dist/template/src/modules/newsletters/manifest.ts +39 -0
- package/dist/template/src/modules/newsletters/public-pages.ts +128 -0
- package/dist/template/src/modules/newsletters/schema.ts +134 -0
- package/dist/template/src/modules/newsletters/service.ts +708 -0
- package/dist/template/src/modules/newsletters/tables.ts +9 -0
- package/dist/template/src/modules/newsletters/template-schema.ts +92 -0
- package/dist/template/src/modules/newsletters/template-service.ts +368 -0
- package/dist/template/src/modules/popups/PopupSurface.tsx +401 -0
- package/dist/template/src/modules/popups/http.ts +26 -0
- package/dist/template/src/modules/popups/manifest.ts +42 -0
- package/dist/template/src/modules/popups/mount.tsx +89 -0
- package/dist/template/src/modules/popups/schema.ts +252 -0
- package/dist/template/src/modules/popups/service.ts +948 -0
- package/dist/template/src/modules/popups/tables.ts +4 -0
- package/dist/template/src/modules/popups/tally.ts +194 -0
- package/dist/template/src/modules/popups/targeting.ts +206 -0
- package/dist/template/src/modules/projects/blocks.tsx +444 -0
- package/dist/template/src/modules/projects/consent-gate.ts +104 -0
- package/dist/template/src/modules/projects/jobs.ts +24 -0
- package/dist/template/src/modules/projects/manifest.ts +33 -0
- package/dist/template/src/modules/projects/portal.ts +32 -0
- package/dist/template/src/modules/projects/portfolio-service.ts +712 -0
- package/dist/template/src/modules/projects/publishing-service.ts +782 -0
- package/dist/template/src/modules/projects/schema.ts +437 -0
- package/dist/template/src/modules/projects/service.ts +1055 -0
- package/dist/template/src/modules/projects/tables.ts +12 -0
- package/dist/template/src/modules/projects/time-schema.ts +166 -0
- package/dist/template/src/modules/projects/time-service.ts +631 -0
- package/dist/template/src/modules/proof/blocks.tsx +34 -0
- package/dist/template/src/modules/proof/manifest.ts +24 -0
- package/dist/template/src/modules/proof/schema.ts +21 -0
- package/dist/template/src/modules/proof/seed.ts +11 -0
- package/dist/template/src/modules/proof/service.ts +74 -0
- package/dist/template/src/modules/proof/tables.ts +3 -0
- package/dist/template/src/modules/quotes/conversion.ts +425 -0
- package/dist/template/src/modules/quotes/cookies.ts +9 -0
- package/dist/template/src/modules/quotes/demo.ts +99 -0
- package/dist/template/src/modules/quotes/funnel.ts +44 -0
- package/dist/template/src/modules/quotes/manifest.ts +34 -0
- package/dist/template/src/modules/quotes/onboarding.ts +33 -0
- package/dist/template/src/modules/quotes/portal.ts +46 -0
- package/dist/template/src/modules/quotes/schema.ts +250 -0
- package/dist/template/src/modules/quotes/service.ts +1554 -0
- package/dist/template/src/modules/quotes/tables.ts +9 -0
- package/dist/template/src/modules/quotes/tokens.ts +28 -0
- package/dist/template/src/modules/quotes/view-entity.ts +20 -0
- package/dist/template/src/modules/referrals/attribution-service.ts +134 -0
- package/dist/template/src/modules/referrals/attribution.ts +99 -0
- package/dist/template/src/modules/referrals/commission-service.ts +1114 -0
- package/dist/template/src/modules/referrals/commission.ts +150 -0
- package/dist/template/src/modules/referrals/jobs.ts +32 -0
- package/dist/template/src/modules/referrals/manifest.ts +53 -0
- package/dist/template/src/modules/referrals/portal.ts +37 -0
- package/dist/template/src/modules/referrals/schema.ts +421 -0
- package/dist/template/src/modules/referrals/service.ts +619 -0
- package/dist/template/src/modules/referrals/spine.ts +92 -0
- package/dist/template/src/modules/referrals/tables.ts +13 -0
- package/dist/template/src/modules/referrals/tokens.ts +28 -0
- package/dist/template/src/modules/rentals/manifest.ts +26 -0
- package/dist/template/src/modules/rentals/portal.ts +34 -0
- package/dist/template/src/modules/rentals/pricing.ts +150 -0
- package/dist/template/src/modules/rentals/schema.ts +210 -0
- package/dist/template/src/modules/rentals/service.ts +759 -0
- package/dist/template/src/modules/rentals/tables.ts +3 -0
- package/dist/template/src/modules/reporting/demo.ts +88 -0
- package/dist/template/src/modules/reporting/export-schema.ts +319 -0
- package/dist/template/src/modules/reporting/export-service.ts +1224 -0
- package/dist/template/src/modules/reporting/export-shapes.ts +429 -0
- package/dist/template/src/modules/reporting/export-tokens.ts +23 -0
- package/dist/template/src/modules/reporting/jobs.ts +117 -0
- package/dist/template/src/modules/reporting/manifest.ts +34 -0
- package/dist/template/src/modules/reporting/onboarding.ts +33 -0
- package/dist/template/src/modules/reporting/schema.ts +48 -0
- package/dist/template/src/modules/reporting/service.ts +540 -0
- package/dist/template/src/modules/reporting/tables.ts +4 -0
- package/dist/template/src/modules/reviews/blocks.tsx +97 -0
- package/dist/template/src/modules/reviews/manifest.ts +26 -0
- package/dist/template/src/modules/reviews/schema.ts +182 -0
- package/dist/template/src/modules/reviews/service.ts +663 -0
- package/dist/template/src/modules/reviews/tables.ts +3 -0
- package/dist/template/src/modules/reviews/tokens.ts +22 -0
- package/dist/template/src/modules/seed/boot.ts +94 -0
- package/dist/template/src/modules/seed/manifest.ts +24 -0
- package/dist/template/src/modules/seed/onboarding.ts +276 -0
- package/dist/template/src/modules/seed/preset-install.ts +181 -0
- package/dist/template/src/modules/seed/service.ts +260 -0
- package/dist/template/src/modules/share/embeds.ts +54 -0
- package/dist/template/src/modules/share/intents.ts +126 -0
- package/dist/template/src/modules/share/links.ts +164 -0
- package/dist/template/src/modules/share/manifest.ts +34 -0
- package/dist/template/src/modules/share/schema.ts +130 -0
- package/dist/template/src/modules/share/service.ts +697 -0
- package/dist/template/src/modules/share/tables.ts +4 -0
- package/dist/template/src/modules/social/capabilities.ts +71 -0
- package/dist/template/src/modules/social/compose.ts +825 -0
- package/dist/template/src/modules/social/contract.ts +59 -0
- package/dist/template/src/modules/social/gbp.ts +570 -0
- package/dist/template/src/modules/social/ingest.ts +727 -0
- package/dist/template/src/modules/social/jobs.ts +125 -0
- package/dist/template/src/modules/social/manifest.ts +34 -0
- package/dist/template/src/modules/social/oauth.ts +300 -0
- package/dist/template/src/modules/social/onboarding.ts +45 -0
- package/dist/template/src/modules/social/policy.ts +48 -0
- package/dist/template/src/modules/social/render.ts +135 -0
- package/dist/template/src/modules/social/schema.ts +322 -0
- package/dist/template/src/modules/social/service.ts +660 -0
- package/dist/template/src/modules/social/tables.ts +13 -0
- package/dist/template/src/modules/subscriptions/billing.ts +1042 -0
- package/dist/template/src/modules/subscriptions/jobs.ts +52 -0
- package/dist/template/src/modules/subscriptions/manifest.ts +34 -0
- package/dist/template/src/modules/subscriptions/portal.ts +34 -0
- package/dist/template/src/modules/subscriptions/public-signup.ts +124 -0
- package/dist/template/src/modules/subscriptions/schema.ts +294 -0
- package/dist/template/src/modules/subscriptions/service.ts +1659 -0
- package/dist/template/src/modules/subscriptions/tables.ts +3 -0
- package/dist/template/src/ui/GuidancePanel.tsx +200 -0
- package/dist/template/src/ui/ShareCopyButton.tsx +28 -0
- package/dist/template/src/ui/SkipLink.tsx +21 -0
- package/dist/template/src/ui/ThemeToggle.tsx +79 -0
- package/dist/template/src/ui/primitives.tsx +269 -0
- package/dist/template/tests/README.md +5 -0
- package/dist/template/tests/adapters/social-conformance.test.ts +71 -0
- package/dist/template/tests/browser/accessibility.spec.ts +793 -0
- package/dist/template/tests/browser/agent-launch.spec.ts +110 -0
- package/dist/template/tests/browser/assessments.spec.ts +188 -0
- package/dist/template/tests/browser/c11-01-visitor-to-paid.spec.ts +281 -0
- package/dist/template/tests/browser/c11-04-capture.spec.ts +80 -0
- package/dist/template/tests/browser/calculators.spec.ts +196 -0
- package/dist/template/tests/browser/cart-access.spec.ts +42 -0
- package/dist/template/tests/browser/customer-surfaces.spec.ts +115 -0
- package/dist/template/tests/browser/database.ts +60 -0
- package/dist/template/tests/browser/demo-scenarios.spec.ts +117 -0
- package/dist/template/tests/browser/editor-drag-drop.spec.ts +259 -0
- package/dist/template/tests/browser/editor-inline-editing.spec.ts +186 -0
- package/dist/template/tests/browser/editor-media-tools.spec.ts +231 -0
- package/dist/template/tests/browser/editor-store-sections.spec.ts +391 -0
- package/dist/template/tests/browser/events.spec.ts +195 -0
- package/dist/template/tests/browser/facts.spec.ts +140 -0
- package/dist/template/tests/browser/first-party-plugins.spec.ts +161 -0
- package/dist/template/tests/browser/guidance.spec.ts +148 -0
- package/dist/template/tests/browser/journeys.spec.ts +662 -0
- package/dist/template/tests/browser/location-access.spec.ts +59 -0
- package/dist/template/tests/browser/media-consent.spec.ts +93 -0
- package/dist/template/tests/browser/owner-session.ts +53 -0
- package/dist/template/tests/browser/playground.spec.ts +151 -0
- package/dist/template/tests/browser/provider-erasure.spec.ts +50 -0
- package/dist/template/tests/browser/record-search.spec.ts +107 -0
- package/dist/template/tests/browser/record-trash.spec.ts +127 -0
- package/dist/template/tests/browser/storefront-checkout.spec.ts +272 -0
- package/dist/template/tests/browser/storefront-merch-blocks.spec.ts +319 -0
- package/dist/template/tests/browser/workflow-search.spec.ts +53 -0
- package/dist/template/tests/core/a11y-smoke.test.ts +92 -0
- package/dist/template/tests/core/admin-journey-screens.test.ts +143 -0
- package/dist/template/tests/core/advanced-money.test.ts +232 -0
- package/dist/template/tests/core/adversarial-gallery-privacy.test.ts +185 -0
- package/dist/template/tests/core/adversarial-portal-privacy.test.ts +93 -0
- package/dist/template/tests/core/agent-launch.test.ts +74 -0
- package/dist/template/tests/core/agents-approvals.test.ts +168 -0
- package/dist/template/tests/core/agents-autonomy.test.ts +364 -0
- package/dist/template/tests/core/agents-board.test.ts +111 -0
- package/dist/template/tests/core/agents-budgets.test.ts +329 -0
- package/dist/template/tests/core/agents-inbound.test.ts +535 -0
- package/dist/template/tests/core/agents-injection.test.ts +351 -0
- package/dist/template/tests/core/agents-managed-loop.test.ts +261 -0
- package/dist/template/tests/core/agents-pause.test.ts +183 -0
- package/dist/template/tests/core/agents-playbooks.test.ts +285 -0
- package/dist/template/tests/core/agents-run.test.ts +119 -0
- package/dist/template/tests/core/agents-schedule.test.ts +231 -0
- package/dist/template/tests/core/agents-workforce-adapter.test.ts +359 -0
- package/dist/template/tests/core/agents.test.ts +436 -0
- package/dist/template/tests/core/alt-text-adapter.test.ts +97 -0
- package/dist/template/tests/core/analytics-consent.test.ts +272 -0
- package/dist/template/tests/core/analytics-experiments.test.ts +63 -0
- package/dist/template/tests/core/analytics-governance-migration.test.ts +28 -0
- package/dist/template/tests/core/analytics.test.ts +660 -0
- package/dist/template/tests/core/api.test.ts +338 -0
- package/dist/template/tests/core/apikeys.test.ts +366 -0
- package/dist/template/tests/core/attestations.test.ts +311 -0
- package/dist/template/tests/core/audit-labels.test.ts +37 -0
- package/dist/template/tests/core/autofill-safety.test.ts +279 -0
- package/dist/template/tests/core/availability.test.ts +389 -0
- package/dist/template/tests/core/booking-audiences.test.ts +334 -0
- package/dist/template/tests/core/booking-concurrency.test.ts +288 -0
- package/dist/template/tests/core/bookings.test.ts +343 -0
- package/dist/template/tests/core/boot.test.ts +195 -0
- package/dist/template/tests/core/bootstrap-security.test.ts +38 -0
- package/dist/template/tests/core/briefing-contributors.test.ts +200 -0
- package/dist/template/tests/core/briefing-playbooks.test.ts +171 -0
- package/dist/template/tests/core/briefing.test.ts +298 -0
- package/dist/template/tests/core/browse-storefront.test.ts +561 -0
- package/dist/template/tests/core/builder-authority.test.ts +205 -0
- package/dist/template/tests/core/builder-code-lane.test.ts +213 -0
- package/dist/template/tests/core/builder-content-lane.test.ts +249 -0
- package/dist/template/tests/core/c11-02-catalog-journey.test.ts +227 -0
- package/dist/template/tests/core/c11-03-booking-journey.test.ts +422 -0
- package/dist/template/tests/core/c11-04-gallery-social-journey.test.ts +310 -0
- package/dist/template/tests/core/c11-05-subscription-journey.test.ts +193 -0
- package/dist/template/tests/core/c11-06-agent-journey.test.ts +208 -0
- package/dist/template/tests/core/c11-07-mail-calendar-journey.test.ts +179 -0
- package/dist/template/tests/core/c11-08-install-update-journey.test.ts +166 -0
- package/dist/template/tests/core/c11-13-failure-drills.test.ts +446 -0
- package/dist/template/tests/core/c11-14-retention.test.ts +320 -0
- package/dist/template/tests/core/c11-14-search.test.ts +527 -0
- package/dist/template/tests/core/calendar-busy.test.ts +198 -0
- package/dist/template/tests/core/calendar-oauth-callback.test.ts +154 -0
- package/dist/template/tests/core/calendar-oauth.test.ts +312 -0
- package/dist/template/tests/core/calendar-sync.test.ts +363 -0
- package/dist/template/tests/core/calendars.test.ts +267 -0
- package/dist/template/tests/core/cart-access.test.ts +107 -0
- package/dist/template/tests/core/cart-storefront.test.ts +507 -0
- package/dist/template/tests/core/catalog-browse.test.ts +587 -0
- package/dist/template/tests/core/catalog-carts.test.ts +150 -0
- package/dist/template/tests/core/catalog-collections.test.ts +454 -0
- package/dist/template/tests/core/catalog-fulfillment.test.ts +191 -0
- package/dist/template/tests/core/catalog-inventory.test.ts +198 -0
- package/dist/template/tests/core/catalog-merchandising.test.ts +107 -0
- package/dist/template/tests/core/catalog-offerings.test.ts +213 -0
- package/dist/template/tests/core/catalog-orders.test.ts +279 -0
- package/dist/template/tests/core/catalog-pricing.test.ts +85 -0
- package/dist/template/tests/core/catalog-procurement.test.ts +154 -0
- package/dist/template/tests/core/catalog-promotions.test.ts +109 -0
- package/dist/template/tests/core/catalog-public-pages.test.ts +73 -0
- package/dist/template/tests/core/catalog-relations.test.ts +79 -0
- package/dist/template/tests/core/catalog-variants.test.ts +113 -0
- package/dist/template/tests/core/catalog.test.ts +233 -0
- package/dist/template/tests/core/catalogue.test.ts +300 -0
- package/dist/template/tests/core/change-password.test.ts +164 -0
- package/dist/template/tests/core/changelog-output.test.ts +33 -0
- package/dist/template/tests/core/checkout-policy.test.ts +34 -0
- package/dist/template/tests/core/client-galleries.test.ts +609 -0
- package/dist/template/tests/core/client-readiness-security.test.ts +136 -0
- package/dist/template/tests/core/cms-a11y.test.ts +157 -0
- package/dist/template/tests/core/cms-blocks.test.ts +283 -0
- package/dist/template/tests/core/cms-cache.test.ts +121 -0
- package/dist/template/tests/core/cms-chrome.test.ts +114 -0
- package/dist/template/tests/core/cms-collaboration.test.ts +196 -0
- package/dist/template/tests/core/cms-drafts.test.ts +78 -0
- package/dist/template/tests/core/cms-email.test.ts +71 -0
- package/dist/template/tests/core/cms-experiments.test.ts +109 -0
- package/dist/template/tests/core/cms-fields.test.ts +137 -0
- package/dist/template/tests/core/cms-history.test.ts +34 -0
- package/dist/template/tests/core/cms-layouts.test.ts +110 -0
- package/dist/template/tests/core/cms-lifecycle.test.ts +267 -0
- package/dist/template/tests/core/cms-move.test.ts +101 -0
- package/dist/template/tests/core/cms-plugin-proof.test.ts +56 -0
- package/dist/template/tests/core/cms-public-boundary.test.ts +85 -0
- package/dist/template/tests/core/cms-rich.test.ts +144 -0
- package/dist/template/tests/core/cms-sections.test.ts +139 -0
- package/dist/template/tests/core/cms-service.test.ts +358 -0
- package/dist/template/tests/core/cms-surfaces.test.ts +117 -0
- package/dist/template/tests/core/cms-templates.test.ts +115 -0
- package/dist/template/tests/core/cms-translation-workflow.test.ts +88 -0
- package/dist/template/tests/core/collections-storefront.test.ts +328 -0
- package/dist/template/tests/core/colour-literals.test.ts +73 -0
- package/dist/template/tests/core/community-rooms.test.ts +324 -0
- package/dist/template/tests/core/connection-grants.test.ts +209 -0
- package/dist/template/tests/core/connections.test.ts +435 -0
- package/dist/template/tests/core/consent-publish-surfaces.test.ts +577 -0
- package/dist/template/tests/core/contact-data-depth.test.ts +426 -0
- package/dist/template/tests/core/contact-duplicate-review.test.ts +357 -0
- package/dist/template/tests/core/contact-import.test.ts +404 -0
- package/dist/template/tests/core/contact-privacy-rights.test.ts +636 -0
- package/dist/template/tests/core/contacts-read.test.ts +165 -0
- package/dist/template/tests/core/contract-evidence.test.ts +43 -0
- package/dist/template/tests/core/contract-projections.test.ts +47 -0
- package/dist/template/tests/core/contract-templates.test.ts +270 -0
- package/dist/template/tests/core/contribute.test.ts +497 -0
- package/dist/template/tests/core/conversations.test.ts +381 -0
- package/dist/template/tests/core/coverage-enforcement.test.ts +296 -0
- package/dist/template/tests/core/coverage.test.ts +308 -0
- package/dist/template/tests/core/create-freeholder.test.ts +307 -0
- package/dist/template/tests/core/csp-migration.test.ts +30 -0
- package/dist/template/tests/core/csp-reports.test.ts +150 -0
- package/dist/template/tests/core/csp.test.ts +194 -0
- package/dist/template/tests/core/csrf.test.ts +139 -0
- package/dist/template/tests/core/customer-galleries.test.ts +137 -0
- package/dist/template/tests/core/customer-invoices.test.ts +235 -0
- package/dist/template/tests/core/customer-locale-migration.test.ts +40 -0
- package/dist/template/tests/core/customer-locale-ui.test.ts +39 -0
- package/dist/template/tests/core/customer-locale.test.ts +85 -0
- package/dist/template/tests/core/customer-magic-links.test.ts +281 -0
- package/dist/template/tests/core/customer-reply.test.ts +155 -0
- package/dist/template/tests/core/customer-return-path.test.ts +11 -0
- package/dist/template/tests/core/daily-adapter.test.ts +185 -0
- package/dist/template/tests/core/daily-flow.test.ts +94 -0
- package/dist/template/tests/core/daily-import.test.ts +206 -0
- package/dist/template/tests/core/dashboard.test.ts +147 -0
- package/dist/template/tests/core/db-errors.test.ts +52 -0
- package/dist/template/tests/core/deferred-erasure.test.ts +124 -0
- package/dist/template/tests/core/demo-migration.test.ts +39 -0
- package/dist/template/tests/core/demo-paths.test.ts +49 -0
- package/dist/template/tests/core/demo-scenarios.test.ts +200 -0
- package/dist/template/tests/core/dependency-attestation.test.ts +84 -0
- package/dist/template/tests/core/dependency-audit.test.ts +124 -0
- package/dist/template/tests/core/deploy-droplet.test.ts +323 -0
- package/dist/template/tests/core/deploy-recipe.test.ts +134 -0
- package/dist/template/tests/core/design-tokens.test.ts +113 -0
- package/dist/template/tests/core/doc-claim-mapping.test.ts +167 -0
- package/dist/template/tests/core/docs-availability.test.ts +94 -0
- package/dist/template/tests/core/doctor-script.test.ts +16 -0
- package/dist/template/tests/core/doctor.test.ts +220 -0
- package/dist/template/tests/core/edge-adapters.test.ts +220 -0
- package/dist/template/tests/core/editor-canvas-drag.test.ts +348 -0
- package/dist/template/tests/core/editor-inline-edit.test.ts +416 -0
- package/dist/template/tests/core/editor-media-tools.test.ts +450 -0
- package/dist/template/tests/core/editor-preview-bridge.test.ts +428 -0
- package/dist/template/tests/core/editor-preview-draft.test.ts +226 -0
- package/dist/template/tests/core/editor-reorder.test.ts +339 -0
- package/dist/template/tests/core/editor-store-sections.test.ts +476 -0
- package/dist/template/tests/core/embeds.test.ts +60 -0
- package/dist/template/tests/core/entitlements.test.ts +312 -0
- package/dist/template/tests/core/events.test.ts +113 -0
- package/dist/template/tests/core/f-matrix.test.ts +206 -0
- package/dist/template/tests/core/f04-remaining-screens.test.ts +258 -0
- package/dist/template/tests/core/first-party-plugins.test.ts +783 -0
- package/dist/template/tests/core/forms.test.ts +446 -0
- package/dist/template/tests/core/freeholder-app-init.test.ts +504 -0
- package/dist/template/tests/core/gallery-archive.test.ts +265 -0
- package/dist/template/tests/core/gallery-delivery-routes.test.ts +72 -0
- package/dist/template/tests/core/gallery-partner-share.test.ts +320 -0
- package/dist/template/tests/core/gallery-proofing.test.ts +311 -0
- package/dist/template/tests/core/gallery-rounds.test.ts +291 -0
- package/dist/template/tests/core/gallery-sales.test.ts +309 -0
- package/dist/template/tests/core/guidance-definitions.test.ts +135 -0
- package/dist/template/tests/core/guidance-ui.test.ts +92 -0
- package/dist/template/tests/core/guidance.test.ts +309 -0
- package/dist/template/tests/core/host-update-socket.test.ts +121 -0
- package/dist/template/tests/core/host-updater-recipe.test.ts +68 -0
- package/dist/template/tests/core/http-auth.test.ts +286 -0
- package/dist/template/tests/core/http-body-boundary.test.ts +69 -0
- package/dist/template/tests/core/http.test.ts +284 -0
- package/dist/template/tests/core/i18n-gate.test.ts +440 -0
- package/dist/template/tests/core/i18n.test.ts +190 -0
- package/dist/template/tests/core/ics-and-writeback.test.ts +446 -0
- package/dist/template/tests/core/importers.test.ts +102 -0
- package/dist/template/tests/core/inbox.test.ts +304 -0
- package/dist/template/tests/core/inline-script-safety.test.ts +41 -0
- package/dist/template/tests/core/instrumentation-boundary.test.ts +16 -0
- package/dist/template/tests/core/intake-waivers-reminders.test.ts +533 -0
- package/dist/template/tests/core/internal-services.test.ts +298 -0
- package/dist/template/tests/core/invitations.test.ts +341 -0
- package/dist/template/tests/core/invoice-admin.test.ts +41 -0
- package/dist/template/tests/core/invoicing-pos.test.ts +107 -0
- package/dist/template/tests/core/invoicing.test.ts +776 -0
- package/dist/template/tests/core/job-runtime-health.test.ts +123 -0
- package/dist/template/tests/core/locale-quality.test.ts +107 -0
- package/dist/template/tests/core/locale-routing.test.ts +321 -0
- package/dist/template/tests/core/locations.test.ts +599 -0
- package/dist/template/tests/core/long-running-service-boundary.test.ts +216 -0
- package/dist/template/tests/core/mail-adapters.test.ts +423 -0
- package/dist/template/tests/core/mail-import.test.ts +325 -0
- package/dist/template/tests/core/mail-migration.test.ts +163 -0
- package/dist/template/tests/core/mail-oauth-callback.test.ts +159 -0
- package/dist/template/tests/core/mail-oauth.test.ts +447 -0
- package/dist/template/tests/core/mail-outbox-crypto.test.ts +88 -0
- package/dist/template/tests/core/mail-read-oauth-callback.test.ts +111 -0
- package/dist/template/tests/core/mail-service.test.ts +644 -0
- package/dist/template/tests/core/mail-ui.test.ts +206 -0
- package/dist/template/tests/core/mail-webhooks.test.ts +454 -0
- package/dist/template/tests/core/malware.test.ts +85 -0
- package/dist/template/tests/core/marketplace-claims.test.ts +68 -0
- package/dist/template/tests/core/mcp-input-schema.test.ts +18 -0
- package/dist/template/tests/core/mcp.test.ts +459 -0
- package/dist/template/tests/core/media-capture.test.ts +345 -0
- package/dist/template/tests/core/media-consent.test.ts +357 -0
- package/dist/template/tests/core/media-framing.test.ts +210 -0
- package/dist/template/tests/core/media-transfer.test.ts +48 -0
- package/dist/template/tests/core/media-watermark.test.ts +308 -0
- package/dist/template/tests/core/media.test.ts +1446 -0
- package/dist/template/tests/core/merch-blocks.test.ts +465 -0
- package/dist/template/tests/core/merge-completeness.test.ts +228 -0
- package/dist/template/tests/core/migrate.test.ts +75 -0
- package/dist/template/tests/core/migration-journal.test.ts +59 -0
- package/dist/template/tests/core/mobile-app-shell.test.ts +238 -0
- package/dist/template/tests/core/mobile-app.test.ts +728 -0
- package/dist/template/tests/core/mobile-capture-batches.test.ts +223 -0
- package/dist/template/tests/core/mobile-private-cache.test.ts +339 -0
- package/dist/template/tests/core/mobile-screens.test.ts +362 -0
- package/dist/template/tests/core/mobile-store-gate.test.ts +310 -0
- package/dist/template/tests/core/module.test.ts +60 -0
- package/dist/template/tests/core/money-arithmetic.test.ts +279 -0
- package/dist/template/tests/core/newsletters.test.ts +178 -0
- package/dist/template/tests/core/notes.test.ts +338 -0
- package/dist/template/tests/core/notification-migration.test.ts +174 -0
- package/dist/template/tests/core/notification-ui.test.ts +97 -0
- package/dist/template/tests/core/notifications.test.ts +510 -0
- package/dist/template/tests/core/onboarding-contract.test.ts +133 -0
- package/dist/template/tests/core/outbound-boundaries.test.ts +29 -0
- package/dist/template/tests/core/outbox.test.ts +407 -0
- package/dist/template/tests/core/owner-password-script.test.ts +106 -0
- package/dist/template/tests/core/ownership-export.test.ts +273 -0
- package/dist/template/tests/core/page-editor-publish.test.ts +94 -0
- package/dist/template/tests/core/paradise-adapter.test.ts +177 -0
- package/dist/template/tests/core/paradise-flow.test.ts +350 -0
- package/dist/template/tests/core/paradise-webhook.test.ts +148 -0
- package/dist/template/tests/core/password-reset.test.ts +289 -0
- package/dist/template/tests/core/passwords.test.ts +57 -0
- package/dist/template/tests/core/payment-adapters.test.ts +604 -0
- package/dist/template/tests/core/payment-provider-service.test.ts +226 -0
- package/dist/template/tests/core/paywalls.test.ts +358 -0
- package/dist/template/tests/core/performance-budgets.test.ts +332 -0
- package/dist/template/tests/core/performance-measurement-families.test.ts +296 -0
- package/dist/template/tests/core/pipelines.test.ts +382 -0
- package/dist/template/tests/core/plan-gate.test.ts +251 -0
- package/dist/template/tests/core/playground.test.ts +412 -0
- package/dist/template/tests/core/plugin-claims.test.ts +41 -0
- package/dist/template/tests/core/plugin-contract.test.ts +149 -0
- package/dist/template/tests/core/plugin-provider-boundary.test.ts +35 -0
- package/dist/template/tests/core/plugin-scaffold.test.ts +27 -0
- package/dist/template/tests/core/plugins-lifecycle.test.ts +196 -0
- package/dist/template/tests/core/portability.test.ts +58 -0
- package/dist/template/tests/core/portal-rooms.test.ts +280 -0
- package/dist/template/tests/core/portal-shell.test.ts +116 -0
- package/dist/template/tests/core/pos-adapters.test.ts +78 -0
- package/dist/template/tests/core/price-breaks.test.ts +63 -0
- package/dist/template/tests/core/printify-adapter.test.ts +85 -0
- package/dist/template/tests/core/printify-fulfillment.test.ts +149 -0
- package/dist/template/tests/core/product-gift-share.test.ts +116 -0
- package/dist/template/tests/core/project-case-studies.test.ts +277 -0
- package/dist/template/tests/core/project-portfolios.test.ts +197 -0
- package/dist/template/tests/core/projects.test.ts +292 -0
- package/dist/template/tests/core/promo-quote.test.ts +51 -0
- package/dist/template/tests/core/proxy-locale.test.ts +55 -0
- package/dist/template/tests/core/public-entity-drafts.test.ts +166 -0
- package/dist/template/tests/core/push-devices.test.ts +147 -0
- package/dist/template/tests/core/quote-conversion.test.ts +291 -0
- package/dist/template/tests/core/quote-partner-share.test.ts +192 -0
- package/dist/template/tests/core/quotes.test.ts +357 -0
- package/dist/template/tests/core/rate-limit.test.ts +216 -0
- package/dist/template/tests/core/recipes.test.ts +212 -0
- package/dist/template/tests/core/record-participation.test.ts +121 -0
- package/dist/template/tests/core/record-trash-families.test.ts +321 -0
- package/dist/template/tests/core/record-trash.test.ts +154 -0
- package/dist/template/tests/core/recurring-invoices.test.ts +284 -0
- package/dist/template/tests/core/registry-completeness.test.ts +143 -0
- package/dist/template/tests/core/release-history.test.ts +47 -0
- package/dist/template/tests/core/release-packages.test.ts +35 -0
- package/dist/template/tests/core/release-publication.test.ts +69 -0
- package/dist/template/tests/core/rentals.test.ts +408 -0
- package/dist/template/tests/core/resolver.test.ts +481 -0
- package/dist/template/tests/core/reviews.test.ts +229 -0
- package/dist/template/tests/core/roles.test.ts +199 -0
- package/dist/template/tests/core/route-boot.test.ts +64 -0
- package/dist/template/tests/core/runtime-balanced-sequencer.test.ts +117 -0
- package/dist/template/tests/core/runtime-shutdown.test.ts +58 -0
- package/dist/template/tests/core/runtime-version-integrity.test.ts +43 -0
- package/dist/template/tests/core/saved-views.test.ts +271 -0
- package/dist/template/tests/core/schema-baseline-identity.test.ts +70 -0
- package/dist/template/tests/core/schema-compat-gate.test.ts +172 -0
- package/dist/template/tests/core/scoring.test.ts +364 -0
- package/dist/template/tests/core/sdk-generation.test.ts +55 -0
- package/dist/template/tests/core/sdk-schema.test.ts +106 -0
- package/dist/template/tests/core/sdk.test.ts +181 -0
- package/dist/template/tests/core/security-headers.test.ts +41 -0
- package/dist/template/tests/core/seed-demo.test.ts +355 -0
- package/dist/template/tests/core/segments.test.ts +528 -0
- package/dist/template/tests/core/seo-gate.test.ts +193 -0
- package/dist/template/tests/core/seo-public-entities.test.ts +105 -0
- package/dist/template/tests/core/seo-surface.test.ts +279 -0
- package/dist/template/tests/core/seo.test.ts +277 -0
- package/dist/template/tests/core/service-composition.test.ts +248 -0
- package/dist/template/tests/core/service-output.test.ts +48 -0
- package/dist/template/tests/core/service.test.ts +394 -0
- package/dist/template/tests/core/session-management.test.ts +223 -0
- package/dist/template/tests/core/settings.test.ts +421 -0
- package/dist/template/tests/core/shipping-quote.test.ts +105 -0
- package/dist/template/tests/core/shopify-adapter.test.ts +121 -0
- package/dist/template/tests/core/shopify-refunds.test.ts +177 -0
- package/dist/template/tests/core/shopify-sync.test.ts +62 -0
- package/dist/template/tests/core/signup-contact-import.test.ts +383 -0
- package/dist/template/tests/core/site-chat.test.ts +250 -0
- package/dist/template/tests/core/sms-consent.test.ts +295 -0
- package/dist/template/tests/core/sms-keywords.test.ts +139 -0
- package/dist/template/tests/core/sms-policy.test.ts +348 -0
- package/dist/template/tests/core/sms-registration.test.ts +304 -0
- package/dist/template/tests/core/sms-templates.test.ts +61 -0
- package/dist/template/tests/core/sms.test.ts +563 -0
- package/dist/template/tests/core/social-http.test.ts +91 -0
- package/dist/template/tests/core/spec-reconciliation.test.ts +62 -0
- package/dist/template/tests/core/spine.test.ts +682 -0
- package/dist/template/tests/core/standalone-artifact.test.ts +40 -0
- package/dist/template/tests/core/storage.test.ts +360 -0
- package/dist/template/tests/core/store-sections.test.ts +466 -0
- package/dist/template/tests/core/storefront-commerce.test.ts +431 -0
- package/dist/template/tests/core/tasks.test.ts +356 -0
- package/dist/template/tests/core/tax-templates.test.ts +129 -0
- package/dist/template/tests/core/templates.test.ts +148 -0
- package/dist/template/tests/core/theme.test.ts +64 -0
- package/dist/template/tests/core/time-entries.test.ts +343 -0
- package/dist/template/tests/core/tokens.test.ts +167 -0
- package/dist/template/tests/core/transactional-jobs.test.ts +590 -0
- package/dist/template/tests/core/two-factor.test.ts +297 -0
- package/dist/template/tests/core/update-admin.test.ts +103 -0
- package/dist/template/tests/core/update-apply.test.ts +34 -0
- package/dist/template/tests/core/update-catalog.test.ts +172 -0
- package/dist/template/tests/core/update-check.test.ts +114 -0
- package/dist/template/tests/core/update-cli.test.ts +119 -0
- package/dist/template/tests/core/update-escalation.test.ts +178 -0
- package/dist/template/tests/core/update-feed.test.ts +104 -0
- package/dist/template/tests/core/update-fork.test.ts +244 -0
- package/dist/template/tests/core/update-policy.test.ts +73 -0
- package/dist/template/tests/core/update-preflight.test.ts +59 -0
- package/dist/template/tests/core/update-release.test.ts +127 -0
- package/dist/template/tests/core/update-seams.test.ts +94 -0
- package/dist/template/tests/core/update-targets.test.ts +325 -0
- package/dist/template/tests/core/upgrade-gate.test.ts +36 -0
- package/dist/template/tests/core/waitlists-and-policy.test.ts +544 -0
- package/dist/template/tests/core/webhooks.test.ts +742 -0
- package/dist/template/tests/core/workflow-integrity.test.ts +142 -0
- package/dist/template/tests/core/zoned.test.ts +84 -0
- package/dist/template/tests/fixtures/c1019-chain.catalog +6597 -0
- package/dist/template/tests/fixtures/locales.ts +55 -0
- package/dist/template/tests/fixtures/sample-plugin/README.md +3 -0
- package/dist/template/tests/fixtures/sample-plugin/plugin.json +10 -0
- package/dist/template/tests/helpers/booking-time.ts +11 -0
- package/dist/template/tests/helpers/database-lock.ts +18 -0
- package/dist/template/tests/helpers/mail.ts +17 -0
- package/dist/template/tests/helpers/performance-boot.ts +194 -0
- package/dist/template/tests/helpers/performance-browser.ts +684 -0
- package/dist/template/tests/helpers/performance-migration.ts +165 -0
- package/dist/template/tests/helpers/performance.ts +203 -0
- package/dist/template/tests/helpers/queue-performance.ts +62 -0
- package/dist/template/tests/helpers/spine.ts +93 -0
- package/dist/template/tests/host/test_docker_updater.py +630 -0
- package/dist/template/tests/host/test_host_updater.py +430 -0
- package/dist/template/tests/modules/ads-measurement.test.ts +360 -0
- package/dist/template/tests/modules/ads-serving.test.ts +694 -0
- package/dist/template/tests/modules/ads-third-party.test.ts +353 -0
- package/dist/template/tests/modules/ads.test.ts +377 -0
- package/dist/template/tests/modules/adversarial-customer-privacy.test.ts +88 -0
- package/dist/template/tests/modules/assessments.test.ts +581 -0
- package/dist/template/tests/modules/assistant-grounding.test.ts +182 -0
- package/dist/template/tests/modules/assistant-guardrails.test.ts +341 -0
- package/dist/template/tests/modules/assistant.test.ts +665 -0
- package/dist/template/tests/modules/automations-guardrails.test.ts +319 -0
- package/dist/template/tests/modules/automations-runtime.test.ts +467 -0
- package/dist/template/tests/modules/automations.test.ts +426 -0
- package/dist/template/tests/modules/broadcasts.test.ts +769 -0
- package/dist/template/tests/modules/calculators.test.ts +407 -0
- package/dist/template/tests/modules/customer-surfaces.test.ts +223 -0
- package/dist/template/tests/modules/documents.test.ts +401 -0
- package/dist/template/tests/modules/form-fields.test.ts +73 -0
- package/dist/template/tests/modules/funnel.test.ts +208 -0
- package/dist/template/tests/modules/help-centre.test.ts +285 -0
- package/dist/template/tests/modules/location-pages.test.ts +232 -0
- package/dist/template/tests/modules/loyalty-rewards.test.ts +490 -0
- package/dist/template/tests/modules/loyalty.test.ts +484 -0
- package/dist/template/tests/modules/one-audience.test.ts +263 -0
- package/dist/template/tests/modules/popups.test.ts +769 -0
- package/dist/template/tests/modules/referrals-commission.test.ts +740 -0
- package/dist/template/tests/modules/referrals.test.ts +349 -0
- package/dist/template/tests/modules/reporting-exports.test.ts +1082 -0
- package/dist/template/tests/modules/reporting.test.ts +384 -0
- package/dist/template/tests/modules/share.test.ts +431 -0
- package/dist/template/tests/modules/social-composer.test.ts +251 -0
- package/dist/template/tests/modules/social-gbp.test.ts +281 -0
- package/dist/template/tests/modules/social-ingest.test.ts +295 -0
- package/dist/template/tests/modules/social-onboarding.test.ts +109 -0
- package/dist/template/tests/modules/social.test.ts +289 -0
- package/dist/template/tests/modules/subscription-billing.test.ts +483 -0
- package/dist/template/tests/modules/subscriptions.test.ts +582 -0
- package/dist/template/tests/modules/templates.test.ts +358 -0
- package/dist/template/tests/modules/translate.test.ts +128 -0
- package/dist/template/tests/setup/migrate.ts +20 -0
- package/dist/template/tsconfig.json +54 -0
- package/dist/template/vitest.config.ts +91 -0
- package/dist/template-manifest.json +12746 -0
- package/package.json +22 -7
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (C) 2026 Tony Aly
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
# Apple App Store privacy checklist
|
|
7
|
+
|
|
8
|
+
*MASTER.md §35, C10.16. Companion: [Play data-safety](play-data-safety.md).*
|
|
9
|
+
|
|
10
|
+
This is the list an owner walks when submitting the customer app. It is not
|
|
11
|
+
Apple's review, and a green CI run is not a review outcome. Apple accepts or
|
|
12
|
+
rejects the binary; the checklist only makes the answers we give them match
|
|
13
|
+
the permissions the binary actually requests.
|
|
14
|
+
|
|
15
|
+
CI fails the customer-app job when the demo discovery contract cannot be
|
|
16
|
+
parsed, when an asset `freeholder-app init` writes is missing, or when
|
|
17
|
+
`apps/mobile/app.json` `ios.privacyManifests` does not match those
|
|
18
|
+
permissions. That is the tested half of "submission-ready". The other half is
|
|
19
|
+
this form.
|
|
20
|
+
|
|
21
|
+
## What the app is
|
|
22
|
+
|
|
23
|
+
A white-label client of a Freeholder instance. It asks for the business's web
|
|
24
|
+
address, signs the customer in, and calls the instance's public API. There is
|
|
25
|
+
no in-app purchase of anything the platform sells — digital sales stay on the
|
|
26
|
+
website, which is what the store rules permit for goods consumed outside the
|
|
27
|
+
app. There is no third-party analytics SDK and no background location.
|
|
28
|
+
|
|
29
|
+
## Privacy Nutrition Label
|
|
30
|
+
|
|
31
|
+
Answer from the privacy manifest in `apps/mobile/app.json`. If you add a
|
|
32
|
+
permission, change the manifest in the same PR; CI will fail a mismatch.
|
|
33
|
+
|
|
34
|
+
| Data type | Collected? | Linked to identity? | Used for tracking? | Purpose |
|
|
35
|
+
|---|---|---|---|---|
|
|
36
|
+
| Email address | Yes — sign-in | Yes | No | App functionality |
|
|
37
|
+
| Name | Yes — customer profile | Yes | No | App functionality |
|
|
38
|
+
| User ID | Yes — the instance's contact id | Yes | No | App functionality |
|
|
39
|
+
| Phone number | No — the profile may *display* a number the instance already holds; the app does not collect one | — | — | — |
|
|
40
|
+
| Location | No. §35.1 forbids background location. | — | — | — |
|
|
41
|
+
| Photos or videos | No. Galleries are the business's files, not the customer's camera roll. Camera-roll ingest is C10.18 and will have to update this table. | — | — | — |
|
|
42
|
+
| Contacts | No | — | — | — |
|
|
43
|
+
| Product interaction | Optional to declare. Bookings and invoices are app functionality, not tracking. | Yes, if declared | No | App functionality |
|
|
44
|
+
| Advertising data | No | — | — | — |
|
|
45
|
+
| Diagnostics | No third-party crash SDK | — | — | — |
|
|
46
|
+
|
|
47
|
+
Tracking is **false**. There are no tracking domains.
|
|
48
|
+
|
|
49
|
+
## PrivacyInfo / required-reason APIs
|
|
50
|
+
|
|
51
|
+
Declared because Expo dependencies call them, not because we read them
|
|
52
|
+
ourselves:
|
|
53
|
+
|
|
54
|
+
| API | Reason | Why |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| UserDefaults (`CA92.1`) | `expo-secure-store` — the session lives in the platform keychain |
|
|
57
|
+
| File timestamp (`C617.1`) | `expo-file-system` — the private cache's bounded files |
|
|
58
|
+
| Disk space (`E174.1`) | `expo-file-system` — refuse a write that would blow the 20 MiB vault |
|
|
59
|
+
|
|
60
|
+
Do not add Face ID (`NSFaceIDUsageDescription`) unless the binary starts
|
|
61
|
+
requesting biometric unlock at the OS prompt. A fingerprint is a convenience
|
|
62
|
+
over a held session, not a new data type.
|
|
63
|
+
|
|
64
|
+
## App Review notes
|
|
65
|
+
|
|
66
|
+
- **Login:** a demo instance (Aurora Coast Photography) or the owner's own
|
|
67
|
+
site. The app asks for the web address on first launch; it is not compiled
|
|
68
|
+
for a single tenant.
|
|
69
|
+
- **Screenshots:** `npx freeholder-app init` writes branded placeholders when
|
|
70
|
+
a simulator capture is not available. Real screenshots from seeded content
|
|
71
|
+
are better, not required for the command or for CI.
|
|
72
|
+
- **Payments:** invoice payment opens in the system browser. Do not claim
|
|
73
|
+
in-app purchase.
|
|
74
|
+
- **Push:** device registration exists on the instance; no production push
|
|
75
|
+
carrier is configured yet, and the binary does not request
|
|
76
|
+
`POST_NOTIFICATIONS`. Adding `expo-notifications` must update the manifest
|
|
77
|
+
in the same change.
|
|
78
|
+
|
|
79
|
+
## Honest limit
|
|
80
|
+
|
|
81
|
+
Apple's review is Apple's. This document and the CI gate keep our answers
|
|
82
|
+
honest; they do not predict a review outcome.
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Background-job operations
|
|
2
|
+
|
|
3
|
+
Copyright (C) 2026 Tony Aly
|
|
4
|
+
SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
|
|
6
|
+
Freeholder runs background work through pg-boss in the same Postgres database
|
|
7
|
+
as the application. It does not require Redis or a hosted queue. pg-boss owns
|
|
8
|
+
its execution tables in the `pgboss` schema. Freeholder owns the bounded
|
|
9
|
+
`job_idempotency_keys` and payload-free `job_runtime_heartbeats` tables in
|
|
10
|
+
`public`.
|
|
11
|
+
|
|
12
|
+
## The transaction boundary
|
|
13
|
+
|
|
14
|
+
A service enqueues caused work with `ctx.queueJob(...)`. Infrastructure code
|
|
15
|
+
that already owns a Drizzle transaction calls `enqueueJob(tx, ...)`. There is
|
|
16
|
+
no exported best-effort `send()` function.
|
|
17
|
+
|
|
18
|
+
The pg-boss row is inserted through its Drizzle transaction adapter. The
|
|
19
|
+
business mutation, audit row, idempotency claim and queue row therefore share
|
|
20
|
+
one commit. If any insert fails or the service throws later, all four roll
|
|
21
|
+
back. Code must not enqueue after a service returns or from an uncommitted
|
|
22
|
+
event listener.
|
|
23
|
+
|
|
24
|
+
Outbound webhook fan-out is the first production caller of this contract. Its
|
|
25
|
+
delivery rows and immediate `core.deliverWebhooks` nudge are atomic. If queue
|
|
26
|
+
storage is unavailable, the listener fails and the transactional outbox keeps
|
|
27
|
+
the source event for retry.
|
|
28
|
+
|
|
29
|
+
Any workflow that can wait on DNS, TLS, an object store, or a third-party API
|
|
30
|
+
uses the same boundary. The request service validates the actor and inserts a
|
|
31
|
+
job in its transaction; the worker reads a short service-layer snapshot,
|
|
32
|
+
performs provider I/O with no database transaction open, and calls a narrow
|
|
33
|
+
system mutation to apply the result. Catalogue refresh and social ingest,
|
|
34
|
+
health, GBP and publication delivery are executable examples. The source gate
|
|
35
|
+
in `tests/core/long-running-service-boundary.test.ts` prevents those provider
|
|
36
|
+
calls from drifting back into their service handlers.
|
|
37
|
+
|
|
38
|
+
## Queue policy
|
|
39
|
+
|
|
40
|
+
Every `defineJob()` declaration owns these limits beside its handler:
|
|
41
|
+
|
|
42
|
+
| Policy | Default | Meaning |
|
|
43
|
+
|---|---:|---|
|
|
44
|
+
| retry limit | 5 | Attempts after the first failure |
|
|
45
|
+
| retry delay | 30 seconds | Initial delay |
|
|
46
|
+
| exponential backoff | on | Delay grows with pg-boss jitter |
|
|
47
|
+
| retry ceiling | 1 hour | Maximum delay |
|
|
48
|
+
| concurrency | 1 | Global active jobs for that queue across all replicas |
|
|
49
|
+
| lease | 15 minutes | Lost-worker timeout |
|
|
50
|
+
| heartbeat | 60 seconds | Automatically refreshed by the active worker |
|
|
51
|
+
| terminal history | 30 days | Time pg-boss keeps completed/failed/cancelled rows |
|
|
52
|
+
|
|
53
|
+
Definitions may tighten or expand these within validated bounds. Freeholder
|
|
54
|
+
passes both local and database-backed group concurrency to pg-boss. Merely
|
|
55
|
+
setting per-process concurrency is insufficient when two app replicas share a
|
|
56
|
+
database.
|
|
57
|
+
|
|
58
|
+
Queue definitions are reconciled at boot, so retry/lease changes take effect
|
|
59
|
+
on an existing instance without deleting its queued work. Queue names and
|
|
60
|
+
policies are stable contracts; renaming one is a data migration, not a code
|
|
61
|
+
cleanup.
|
|
62
|
+
|
|
63
|
+
## Idempotency
|
|
64
|
+
|
|
65
|
+
`idempotencyKey` identifies one logical operation within a job name. Use an
|
|
66
|
+
opaque business identifier such as `invoice-send:<invoice-id>:<revision>`;
|
|
67
|
+
never put a password, API token, message body or other secret in the key.
|
|
68
|
+
|
|
69
|
+
- Matching name, key and canonical payload return the original job ID with
|
|
70
|
+
`deduplicated: true`.
|
|
71
|
+
- Reusing the same name/key with different data fails the caller transaction.
|
|
72
|
+
It is a programming error, not permission to replace already queued work.
|
|
73
|
+
- Concurrent callers serialize on the database unique index and converge on
|
|
74
|
+
one job.
|
|
75
|
+
- Claims live for 30 days by default. Callers may set a bounded TTL from one
|
|
76
|
+
minute to one year when the business operation has a different replay
|
|
77
|
+
horizon.
|
|
78
|
+
- `core.pruneJobKeys` deletes expired claims daily. Once a claim expires, the
|
|
79
|
+
key may intentionally represent a new operation and receives a new job ID.
|
|
80
|
+
|
|
81
|
+
Handlers still must tolerate retries. An idempotency key prevents duplicate
|
|
82
|
+
enqueue requests; it does not make an external provider atomic with Postgres.
|
|
83
|
+
A mail, payment or webhook handler uses the provider's own idempotency key or
|
|
84
|
+
records its provider reference before declaring success.
|
|
85
|
+
|
|
86
|
+
## Leases and cancellation
|
|
87
|
+
|
|
88
|
+
pg-boss marks a fetched job active and Freeholder configures a heartbeat for
|
|
89
|
+
every queue. The worker refreshes it automatically. If a process disappears,
|
|
90
|
+
the supervisor returns the expired job to retry until its retry limit is
|
|
91
|
+
exhausted.
|
|
92
|
+
|
|
93
|
+
Handlers receive a `JobExecutionContext` with:
|
|
94
|
+
|
|
95
|
+
- `signal`, aborted during worker shutdown;
|
|
96
|
+
- `attempt`, starting at one;
|
|
97
|
+
- `heartbeat()`, for an explicit safe-point refresh;
|
|
98
|
+
- `isCancelled()` and `throwIfCancelled()`, for durable cooperative
|
|
99
|
+
cancellation.
|
|
100
|
+
|
|
101
|
+
Queued and retrying work stops before execution when cancelled. Active code
|
|
102
|
+
cannot be safely interrupted in the middle of an arbitrary external side
|
|
103
|
+
effect, so long handlers call `throwIfCancelled()` between atomic units. A
|
|
104
|
+
handler must not swallow `JobCancelledError` and continue.
|
|
105
|
+
|
|
106
|
+
`cancelJob(tx, name, id)` and `retryJob(tx, name, id)` accept the caller's
|
|
107
|
+
transaction. The permissioned services and owner console use these same
|
|
108
|
+
transactional primitives; the UI does not edit pg-boss tables directly.
|
|
109
|
+
|
|
110
|
+
## Owner history and recovery
|
|
111
|
+
|
|
112
|
+
Staff with `platform` view access can inspect retained work at `/admin/jobs`.
|
|
113
|
+
The summary and filters read pg-boss itself, so the screen cannot drift from a
|
|
114
|
+
shadow history table. Run detail shows queue policy, retry count, lease times,
|
|
115
|
+
source identity and retained payload/output. Secret-shaped fields are redacted
|
|
116
|
+
recursively before they reach the UI. Agents and API keys cannot inspect this
|
|
117
|
+
surface even when they hold a broad platform scope because job payloads may
|
|
118
|
+
contain cross-module customer data.
|
|
119
|
+
|
|
120
|
+
Every ordinary queue sends work that exhausts its retry policy to the retained
|
|
121
|
+
`core.deadLetter` queue. Dead letters keep their original queue, run ID, age
|
|
122
|
+
and retry count for 90 days. No worker consumes that queue automatically: a
|
|
123
|
+
person must inspect the failure, correct its cause, and deliberately redrive
|
|
124
|
+
it. The overview briefing calls out failed, dead-lettered and lease-overdue
|
|
125
|
+
work without exposing payload data.
|
|
126
|
+
|
|
127
|
+
Cancel, retry and redrive require `platform` manage access, a fresh step-up
|
|
128
|
+
proof and exact typed confirmation (`CANCEL`, `RETRY`, or `REDRIVE`). Each
|
|
129
|
+
action runs through a service transaction, writes the audit trail and emits a
|
|
130
|
+
committed event. Redrive is intentionally rate-shaped one retained failure at
|
|
131
|
+
a time in the owner UI; automation can use the same service with a bounded
|
|
132
|
+
batch after a human has diagnosed the source queue.
|
|
133
|
+
|
|
134
|
+
An active run is shown as lease-overdue when its latest heartbeat (or start,
|
|
135
|
+
before the first heartbeat) is older than the configured heartbeat/lease
|
|
136
|
+
window. That is an operational signal, not permission to enqueue a duplicate:
|
|
137
|
+
the pg-boss supervisor remains responsible for lease expiry and retry.
|
|
138
|
+
|
|
139
|
+
## Process layouts
|
|
140
|
+
|
|
141
|
+
The default is one process: instrumentation registers definitions, reconciles
|
|
142
|
+
queues and schedules, then mounts workers. This is the correct Tier-1 shape
|
|
143
|
+
for a single Replit or Droplet deployment.
|
|
144
|
+
|
|
145
|
+
`FREEHOLDER_JOBS=off` prevents that process from executing handlers. It still
|
|
146
|
+
starts the producer half, because web requests must enqueue transactionally
|
|
147
|
+
for a dedicated worker. A separate process must run the same image with
|
|
148
|
+
`FREEHOLDER_JOBS=on`. Readiness and Doctor inspect durable heartbeats across
|
|
149
|
+
all processes, so a web process with workers disabled is healthy only while a
|
|
150
|
+
current-version worker is actually alive.
|
|
151
|
+
|
|
152
|
+
During `next build`, neither producer nor worker starts. In tests, workers are
|
|
153
|
+
off unless explicitly forced on, preventing maintenance schedules from racing
|
|
154
|
+
database fixtures.
|
|
155
|
+
|
|
156
|
+
## Graceful shutdown
|
|
157
|
+
|
|
158
|
+
The production process owns `SIGINT` and `SIGTERM` through Next's documented
|
|
159
|
+
`NEXT_MANUAL_SIG_HANDLE=true` contract. `pnpm start` sets the variable before
|
|
160
|
+
loading the Next CLI, and the standalone container sets it before starting
|
|
161
|
+
`server.js`. Do not remove either setting or add a second signal handler: two
|
|
162
|
+
independent shutdown paths can race and return an active job to the queue while
|
|
163
|
+
its original handler is still running.
|
|
164
|
+
|
|
165
|
+
On either signal Freeholder stops startup retries, marks the queue runtime as
|
|
166
|
+
stopping, asks pg-boss to drain active leases for up to 30 seconds, records the
|
|
167
|
+
stopped heartbeat, and then exits with the signal's conventional status. The
|
|
168
|
+
process-wide deadline is 35 seconds so the final heartbeat has time to commit.
|
|
169
|
+
If draining fails or exceeds that deadline, Freeholder logs only the stable
|
|
170
|
+
phase message and exits unsuccessfully; the expired lease is then recovered by
|
|
171
|
+
pg-boss rather than being silently abandoned.
|
|
172
|
+
|
|
173
|
+
Give the process at least 40 seconds of termination grace in Docker, a platform
|
|
174
|
+
service definition, or a systemd unit. A shorter supervisor timeout can send
|
|
175
|
+
`SIGKILL` before the queue lease is released. Development uses Next's normal
|
|
176
|
+
signal handling; the manual contract is installed only by the production
|
|
177
|
+
entrypoints.
|
|
178
|
+
|
|
179
|
+
## Runtime health and alerts
|
|
180
|
+
|
|
181
|
+
Every queue runtime writes one complete heartbeat every 15 seconds. A row
|
|
182
|
+
identifies only the runtime role and platform version plus aggregate queue
|
|
183
|
+
counts; it never stores a queue name, job ID, payload or error message. Rows
|
|
184
|
+
older than seven days are removed during heartbeat maintenance.
|
|
185
|
+
|
|
186
|
+
`GET /api/health/live` proves only that the web process can answer. Use it for
|
|
187
|
+
liveness, where a dependency outage must not cause a restart loop.
|
|
188
|
+
`GET /api/health` is readiness: it boots the request graph and then requires a
|
|
189
|
+
healthy heartbeat from a worker running the exact platform version. A
|
|
190
|
+
heartbeat is stale after 45 seconds. During a rolling deploy, the new web
|
|
191
|
+
version therefore stays out of service until its matching worker is live.
|
|
192
|
+
|
|
193
|
+
Startup migration, module synchronization, demo seed and worker mounting are
|
|
194
|
+
retried in-process with bounded exponential backoff. A database outage keeps
|
|
195
|
+
liveness available and readiness unavailable; recovery does not require a
|
|
196
|
+
manual process restart. Startup logs name only the failed phase and never the
|
|
197
|
+
caught database/provider message.
|
|
198
|
+
|
|
199
|
+
The readiness body exposes only aggregate evidence: producer and worker
|
|
200
|
+
counts, heartbeat age, queued/ready/active/failed counts, dead-letter count and
|
|
201
|
+
the oldest runnable queue lag. Deferred work is not lag. A runnable job older
|
|
202
|
+
than five minutes marks the worker degraded and makes readiness fail. Dead
|
|
203
|
+
letters mark the report degraded but do not make a capable worker unavailable;
|
|
204
|
+
they require human recovery rather than a restart.
|
|
205
|
+
|
|
206
|
+
Runtime errors are logged as a bounded phase and stable code. Raw errors are
|
|
207
|
+
not logged because database and provider messages can contain customer data.
|
|
208
|
+
Queue-lag and dead-letter alerts likewise contain counts only and log on state
|
|
209
|
+
transitions rather than every heartbeat.
|
|
210
|
+
|
|
211
|
+
## Failure and recovery checklist
|
|
212
|
+
|
|
213
|
+
1. Run `pnpm doctor` and inspect the live worker heartbeat, queue lag and
|
|
214
|
+
dead-letter count.
|
|
215
|
+
2. Confirm at least one current-version worker has database connectivity and
|
|
216
|
+
is not configured with `FREEHOLDER_JOBS=off`.
|
|
217
|
+
3. Preserve both the `public` and `pgboss` schemas in database backups. A
|
|
218
|
+
backup that excludes pg-boss can lose committed pending work.
|
|
219
|
+
4. Restart the worker. Active jobs whose leases lapse retry automatically;
|
|
220
|
+
do not insert replacement rows by hand.
|
|
221
|
+
5. Open `/admin/jobs`, inspect the sanitized failure and fix the underlying
|
|
222
|
+
code or configuration. Retry a retained failed/cancelled run, or redrive a
|
|
223
|
+
dead letter, only after the cause is understood.
|
|
224
|
+
6. A repeated deterministic failure is code or configuration trouble. Raising
|
|
225
|
+
its retry limit only delays the diagnosis.
|
|
226
|
+
|
|
227
|
+
Never log full job payloads merely to diagnose queue state. Payloads may carry
|
|
228
|
+
customer data; IDs, names, attempts, states and sanitized error messages are
|
|
229
|
+
the operational surface.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Real-browser product journeys
|
|
2
|
+
|
|
3
|
+
Copyright (C) 2026 Tony Aly
|
|
4
|
+
SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
|
|
6
|
+
Freeholder runs its primary owner journey against the production build in
|
|
7
|
+
Chromium. The service tests remain the detailed source of truth for validation
|
|
8
|
+
and permission matrices; this gate proves that the browser, Server Actions,
|
|
9
|
+
redirects, cookies, rendered pages and external protocols still join up.
|
|
10
|
+
|
|
11
|
+
## What the journey proves
|
|
12
|
+
|
|
13
|
+
`tests/browser/journeys.spec.ts` starts with an empty migrated database and
|
|
14
|
+
walks one continuous instance through:
|
|
15
|
+
|
|
16
|
+
- first-boot owner, business and location setup, including the permanent
|
|
17
|
+
wizard lock and the narrow pre-2FA setup authorization boundary;
|
|
18
|
+
- authenticator enrollment, one-time recovery-code display, wrong-password
|
|
19
|
+
feedback, password/TOTP login and session establishment;
|
|
20
|
+
- form creation, page creation, schema-derived block editing, autosave and
|
|
21
|
+
deliberate publication;
|
|
22
|
+
- the public form's signed timestamp, submission confirmation, submission
|
|
23
|
+
inbox and canonical Contact resolution;
|
|
24
|
+
- direct Contact creation and its shared detail record;
|
|
25
|
+
- human-reviewed `fr-CA` translation and localized public rendering;
|
|
26
|
+
- least-privilege API-key creation, one-time token reveal, MCP tool discovery
|
|
27
|
+
and a scoped `contacts.list` JSON-RPC call; and
|
|
28
|
+
- forgotten-password request, one-time reset, all-session revocation, refusal
|
|
29
|
+
of the old password and restoration with the new password plus a recovery
|
|
30
|
+
code.
|
|
31
|
+
|
|
32
|
+
Production never reveals a reset token. The test follows the public forgot
|
|
33
|
+
form, then replaces only the resulting disposable database row's token hash
|
|
34
|
+
with the SHA-256 hash of a known test token before opening `/reset`. This is a
|
|
35
|
+
fixture seam, not an application endpoint or authentication bypass. Every
|
|
36
|
+
other credential is created and consumed through the rendered product.
|
|
37
|
+
|
|
38
|
+
## C11 cross-module journeys
|
|
39
|
+
|
|
40
|
+
`pnpm test:journeys` also runs `tests/browser/c11-*.spec.ts`. Those proofs
|
|
41
|
+
start from a seeded owner (first-boot remains C1.22) and walk the visitor-
|
|
42
|
+
facing seams C11.01 and C11.04 name: a cookieless localized enquiry/chat,
|
|
43
|
+
HTTP `quotes.setConversion`, quote accept, contract sign, C5.25 customer
|
|
44
|
+
invoice pay with `paidMinor`, contact timeline copy, `/admin/reports` after
|
|
45
|
+
pay, and the app-free `/capture/[token]` ingest page.
|
|
46
|
+
|
|
47
|
+
The rest of C11.01–C11.08 is mixed vitest composition in
|
|
48
|
+
`tests/core/c11-0*.test.ts`: catalog tax/stock/restock checkout, availability
|
|
49
|
+
query plus deposit/signed waiver/due reminder, interrupted capture then
|
|
50
|
+
gallery/social, subscription change/cancel with `hasAccess` after expiry,
|
|
51
|
+
agent approval plus builder prompt/apply/rollback and code gates, mocked
|
|
52
|
+
mail/calendar playbooks, and demo/import-ledger/update rollback. Hosted
|
|
53
|
+
Stripe/PayPal charges, live OAuth, live multi-network publish, and
|
|
54
|
+
WordPress-to-CMS page materialization are not claimed — adapter doubles and
|
|
55
|
+
the import ledger are named in MASTER.md §43.16. C11.08 stays open.
|
|
56
|
+
|
|
57
|
+
## Run it locally
|
|
58
|
+
|
|
59
|
+
Set `TEST_DATABASE_URL` or `BROWSER_DATABASE_URL` to a throwaway PostgreSQL
|
|
60
|
+
database whose name contains `test` or `a11y`. The configuration refuses any
|
|
61
|
+
other database name before connecting or truncating.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pnpm exec playwright install chromium
|
|
65
|
+
pnpm build
|
|
66
|
+
pnpm test:journeys
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Run the complete serial browser gate with `pnpm test:browser`. The two suites
|
|
70
|
+
share `tests/browser/database.ts`; each resets the database on entry and again
|
|
71
|
+
on exit, then leaves only the default roles. This matters in CI because image,
|
|
72
|
+
SEO and upgrade checks use the same disposable PostgreSQL service afterward.
|
|
73
|
+
|
|
74
|
+
Screenshots, videos and traces from failures are under `test-results/browser`.
|
|
75
|
+
CI's HTML report is under `playwright-report/browser`. Neither is committed.
|
|
76
|
+
|
|
77
|
+
`BROWSER_BASE_URL` overrides the default `http://localhost:3100` only when the
|
|
78
|
+
replacement URL reaches the same local test process and disposable database.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# C11.08 live Tier-1 restore drill — 2026-09-28
|
|
2
|
+
# operator: Tony Aly (executed by Kimi Code agent on the owner's machine)
|
|
3
|
+
# source: droplet freeholder-ref id=604232042 ip=104.131.118.196 image=ghcr.io/campdenman/freeholder:edge@sha256:0827de964a434adf8b065c4f518d4bbadc73f659108f58ab3a3e052af0a0a46a
|
|
4
|
+
# target: droplet freeholder-restore (provisioned in this drill)
|
|
5
|
+
# repo: worktree /home/tony/code/freeholder-c1108 branch docs/c11-08-restore-drill @ f9f3a05 (origin/main)
|
|
6
|
+
|
|
7
|
+
[2026-09-29T00:14:50Z] DRILL START
|
|
8
|
+
[2026-09-29T00:14:50Z] source pre-check: app+db containers up; db 361 tables / 79430 rows; assets=10000 ready; media_objects=10000 attached; users=1 (owner); pages=1 (perf-home published); connected_accounts=0
|
|
9
|
+
[2026-09-29T00:14:50Z] source media byte check: /opt/freeholder/media/.data holds 0 files; app 404s its own media objects -> dataset is DB-seeded (tests/helpers/performance.ts writes asset rows, no object bytes). Recorded as a source-data finding for the media leg.
|
|
10
|
+
[2026-09-29T00:19:38Z] STEP 1 EXPORT complete
|
|
11
|
+
pg_dump archive: /root/c11-08-freeholder.dump on source, copied to /home/tony/c11-08-drill/freeholder.dump
|
|
12
|
+
archive sha256: e78527321bb2fb93675a57d83f7e7782499c4936e5a8dc19b8eb119a46279123
|
|
13
|
+
archive size: 6918459 bytes
|
|
14
|
+
ownership export: /home/tony/c11-08-drill/ownership-export (374 tables, 150812 rows, 10000 media assets, 377 checksumed files)
|
|
15
|
+
media integrity (DB level): missingInventoryKeys=0 unreferencedInventoryKeys=0
|
|
16
|
+
recovery.json: secretValuesIncluded=false; CREDENTIAL_KEY fingerprint 5138ef637205fa71e479874daa992bbfc6eb1f2e8893a9a9c0404ed3574074e1 (independently recomputed on source, key never displayed)
|
|
17
|
+
[2026-09-29T00:19:38Z] STEP 1b media byte finding: source media_objects=10000 attached rows but 0 object bytes in the source store; the app 404s its own objects. Byte-level transfer has nothing to copy; recorded for the media leg.
|
|
18
|
+
[2026-09-29T01:13:24Z] STEP 2 PROVISION complete
|
|
19
|
+
droplet freeholder-restore id=604504844 ip=209.97.155.248 region=nyc3 size=s-1vcpu-1gb image=ubuntu-24-04-x64 ssh-key=59638965 cloud-init=deploy/digitalocean-droplet/infra/cloud-init.yml
|
|
20
|
+
recipe files scp'd to /opt/freeholder (compose.yml, Caddyfile, backup.sh from deploy/digitalocean-droplet/infra @ f9f3a05)
|
|
21
|
+
.env written on-box: fresh POSTGRES_PASSWORD/SESSION_SECRET/BOOTSTRAP_SECRET/CREDENTIAL_KEY (openssl rand -hex 32), APP_URL + FREEHOLDER_DOMAIN=http://209.97.155.248 (http-only site label for the drill box), FREEHOLDER_UNSAFE_LOCAL_STORAGE=1
|
|
22
|
+
deviation (recorded): target mirrors the source's local-disk storage mode because the source dataset is local-disk and no freeholder Spaces bucket exists on the account (freeholder-demo-media 404s in all regions); creating new paid resources was not part of the sanctioned drill footprint. §18 Spaces remains the production mandate; Caddyfile unchanged.
|
|
23
|
+
compose patched on-box: app service gained ./media/.data:/app/.data volume (mirrors source box; base recipe compose assumes S3)
|
|
24
|
+
NOTE: 'docker compose pull' fetched current :edge @sha256:34854f00... which is NEWER than the source's running image @sha256:0827de96...; target pinned via FREEHOLDER_IMAGE to the source digest 0827de964a434adf8b065c4f518d4bbadc73f659108f58ab3a3e052af0a0a46a so the restore is same-schema and bootable (recipe rollback mechanism)
|
|
25
|
+
[2026-09-29T01:30:27Z] STEP 3 RESTORE complete (recipe.yaml restore/migrate-in command shape)
|
|
26
|
+
empty target db (fresh volume) -> docker compose -f compose.yml exec -T db pg_restore --no-owner --no-privileges -U freeholder -d freeholder < freeholder.dump
|
|
27
|
+
archive re-verified on target: sha256 e78527321bb2fb93675a57d83f7e7782499c4936e5a8dc19b8eb119a46279123, 6918459 bytes; pg_restore exit 0, zero errors
|
|
28
|
+
target app booted against restored db: 'schema is up to date' (same image digest as source), jobs worker resumed 86 restored jobs
|
|
29
|
+
verification export on target: 374 tables, 150905 rows, 10000 media assets
|
|
30
|
+
per-table diff source-vs-target: 366/374 identical (rows + canonical sha256). 8 differing tables are all runtime-operational: pgboss.job(+26), pgboss.job_common(+52), pgboss.queue, pgboss.schedule, pgboss.version, public.analytics_events(+4), public.audit_log(+10), public.job_runtime_heartbeats(+1) -> target app's own live heartbeat/job activity between restore and re-export, NOT business data.
|
|
31
|
+
owned data exact match: contacts 5001, messages 20000, orders 2000, products 500, assets 10000, pages 1, media_objects 10000, users 1, invoices 2000
|
|
32
|
+
media manifests identical: assets, objects, integrity (missingInventoryKeys=0, unreferencedInventoryKeys=0) round-tripped the restore byte-for-byte at DB level
|
|
33
|
+
MEDIA LEG (byte level): source store holds 0 of 10000 object bytes (pre-existing seed condition: tests/helpers/performance.ts writes asset/media_objects rows only; the source app 404s its own media). 'pnpm media:transfer' refuses local-disk stores by design ('local storage is not a Tier-1 migration target') - guardrail captured. Nothing exists to byte-copy; the restore reproduced the source media state exactly on the target.
|
|
34
|
+
[2026-09-29T01:30:27Z] STEP 4 VERIFY complete
|
|
35
|
+
doctor (recipe verify op, from worktree vs target app): verdict=warn, 16 ok / 14 warn / 0 fail of 30 checks, exit 1. All warns expected for a scratch drill box (http APP_URL, no mail/SMS/push/AI adapters, media-on-disk per documented deviation, update policy undeclared). File storage check: ok (wrote, read, deleted a test file). TOTP enrolled via --enroll-totp (designed path for a fresh disposable instance); owner password set via the recipe's owner-password.mjs --disable-2fa (verify.md 'get back in'), value never leaves the box.
|
|
36
|
+
seeded public page: GET http://209.97.155.248/perf-home -> 200 via Caddy direct AND via ssh port-forward; body 26351 bytes, 'Performance home' rendered; only diff vs source-rendered page is the origin in canonical/og URLs (localhost:3000 vs 209.97.155.248). Proof the imported site is live on the second instance.
|
|
37
|
+
[2026-09-29T01:37:30Z] STEP 5 DRILL RECORD written: deploy/c11-08-restore-summary.md (restore-drill date, operator, source archive checksum, restored table/row totals, media discrepancy counts, key fingerprint match, retention/erasure checks, verification results, deviations)
|
|
38
|
+
[2026-09-29T01:37:30Z] MASTER.md C11.08 checked with dated F04/F05/F07/F09/F12 evidence; plan-gate exit 0 (281 checked, +1); plan-gate tests 24/24
|
|
39
|
+
[2026-09-29T01:37:30Z] evidence PR opened: https://github.com/CampDenman/freeholder/pull/443 (branch docs/c11-08-restore-drill off origin/main f9f3a05), queued for merge
|
|
40
|
+
[2026-09-29T01:37:30Z] FINAL STATE: source freeholder-ref id=604232042 104.131.118.196 healthy (app+db up, /perf-home 200, read-only throughout; transient dump removed from its disk). target freeholder-restore id=604504844 209.97.155.248 running restored stack (app+db+caddy, /perf-home 200). BOTH DROPLETS LEAVE-RUNNING per drill instructions - owner decides teardown.
|
|
41
|
+
[2026-09-29T01:37:30Z] DRILL COMPLETE - full journey verified; media byte absence recorded as a source-data finding (no bytes existed to restore; manifests identical)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# C11.08 live Tier-1 restore drill — record (2026-09-28)
|
|
2
|
+
|
|
3
|
+
The clause C11.08 left open was *"restore on another Tier-1 target remains the
|
|
4
|
+
ownership-drill pair matrix rather than a second live instance."* This drill
|
|
5
|
+
ran the real thing end to end on live DigitalOcean infrastructure, per §23's
|
|
6
|
+
mandated sequence (export archive → provision target from recipe → import →
|
|
7
|
+
storage sync → verify before cutover) and the drill-record fields in
|
|
8
|
+
[`ownership-recovery.md`](ownership-recovery.md). Raw transcript:
|
|
9
|
+
[`c11-08-restore-drill-2026-09-28.log`](c11-08-restore-drill-2026-09-28.log).
|
|
10
|
+
|
|
11
|
+
## Drill record (required fields)
|
|
12
|
+
|
|
13
|
+
- **Restore-drill date:** 2026-09-28 (UTC 2026-09-29T00:14Z – 01:30Z).
|
|
14
|
+
- **Operator:** Tony Aly (executed by the Kimi Code agent on the owner's
|
|
15
|
+
machine; every step timestamped in the log).
|
|
16
|
+
- **Source archive checksum:** SHA-256
|
|
17
|
+
`e78527321bb2fb93675a57d83f7e7782499c4936e5a8dc19b8eb119a46279123`,
|
|
18
|
+
6,918,459 bytes, custom-format `pg_dump --no-owner --no-privileges`. Verified
|
|
19
|
+
identical on the target box before `pg_restore`.
|
|
20
|
+
- **Source:** droplet `freeholder-ref` (id 604232042, 104.131.118.196),
|
|
21
|
+
app+db in compose at /opt/freeholder, running
|
|
22
|
+
`ghcr.io/campdenman/freeholder:edge@sha256:0827de96…0a46a`. Export was
|
|
23
|
+
read-only; the source stayed healthy throughout (its `/perf-home` still
|
|
24
|
+
serves 200 after the drill) and the transient dump file was removed from its
|
|
25
|
+
disk.
|
|
26
|
+
- **Target:** droplet `freeholder-restore` (id 604504844, 209.97.155.248,
|
|
27
|
+
nyc3, s-1vcpu-1gb) provisioned from
|
|
28
|
+
[`deploy/digitalocean-droplet`](../deploy/digitalocean-droplet/README.md):
|
|
29
|
+
recipe `cloud-init.yml`, then recipe `compose.yml`/`Caddyfile`/`backup.sh`
|
|
30
|
+
scp'd to /opt/freeholder, `.env` written on-box with freshly generated
|
|
31
|
+
secrets, image pinned to the source digest via the recipe's `FREEHOLDER_IMAGE`
|
|
32
|
+
mechanism (`:edge` had moved to a newer build between the source's last pull
|
|
33
|
+
and this drill; the pin keeps the restore same-schema — both digests are in
|
|
34
|
+
the log).
|
|
35
|
+
- **Restore command (the recipe's own shape):** into an empty database —
|
|
36
|
+
`docker compose -f compose.yml exec -T db pg_restore --no-owner
|
|
37
|
+
--no-privileges -U freeholder -d freeholder < freeholder.dump` (the
|
|
38
|
+
`recipe.yaml` `restore`/`migrate-in` operation), exit 0, zero errors.
|
|
39
|
+
- **Restored table/row totals:** source logical export 374 tables / 150,812
|
|
40
|
+
rows / 10,000 media assets. Target re-export after restore: 374 tables /
|
|
41
|
+
150,905 rows / 10,000 media assets. Per-table comparison: **366 of 374
|
|
42
|
+
tables identical** in row count *and* canonical SHA-256. The 8 differing
|
|
43
|
+
tables are all runtime-operational — `pgboss.job` (+26), `pgboss.job_common`
|
|
44
|
+
(+52), `pgboss.queue`, `pgboss.schedule`, `pgboss.version`,
|
|
45
|
+
`public.analytics_events` (+4), `public.audit_log` (+10),
|
|
46
|
+
`public.job_runtime_heartbeats` (+1) — written by the *target app's own* live
|
|
47
|
+
job worker/heartbeat between restore and re-export, not by the restore. Every
|
|
48
|
+
owned table matches exactly: contacts 5,001; messages 20,000; orders 2,000;
|
|
49
|
+
invoices 2,000; products 500; assets 10,000; media_objects 10,000; pages 1;
|
|
50
|
+
users 1.
|
|
51
|
+
- **Media discrepancy counts:** the media manifest (assets, objects, integrity)
|
|
52
|
+
is **byte-identical** across the restore — `missingInventoryKeys` 0,
|
|
53
|
+
`unreferencedInventoryKeys` 0 on both sides. The byte-level finding:
|
|
54
|
+
**10,000 of 10,000 media objects have no source bytes.** The source dataset
|
|
55
|
+
is DB-seeded (`tests/helpers/performance.ts` inserts `assets`/
|
|
56
|
+
`media_objects` rows; it never writes object bytes), so the *source instance
|
|
57
|
+
itself* 404s its own media. `pnpm media:transfer` refuses local-disk stores
|
|
58
|
+
by design ("local storage is not a Tier-1 migration target") — the guardrail
|
|
59
|
+
fired as written and is captured in the log. Nothing existed to byte-copy, so
|
|
60
|
+
the restore reproduced the source's media state exactly. This is a
|
|
61
|
+
source-data finding, not a restore failure; it is worth a seed-harness
|
|
62
|
+
follow-up so future ref datasets carry real object bytes.
|
|
63
|
+
- **Key fingerprint match:** source `CREDENTIAL_KEY` fingerprint
|
|
64
|
+
`5138ef637205fa71e479874daa992bbfc6eb1f2e8893a9a9c0404ed3574074e1`,
|
|
65
|
+
recomputed on the source box (key never displayed) and matching the export's
|
|
66
|
+
`recovery.json` (`secretValuesIncluded: false`, `validFormat: true`). The
|
|
67
|
+
target was provisioned with fresh secrets per the drill plan; because the
|
|
68
|
+
source holds **zero** `connected_accounts` rows, the fresh key strands no
|
|
69
|
+
ciphertext. The runbook's "keep the same CREDENTIAL_KEY" rule matters only
|
|
70
|
+
when encrypted credentials exist.
|
|
71
|
+
- **Retention/erasure checks:** the dataset is synthetic test data (no personal
|
|
72
|
+
rows); the restored copy lives only on the disposable drill target. Per
|
|
73
|
+
`ownership-recovery.md`'s post-restore review, `connections.grants` and
|
|
74
|
+
`connected_accounts` were re-checked on the target: 0 rows, so no agent
|
|
75
|
+
grants point at production mailboxes and nothing needed revoking.
|
|
76
|
+
- **Verification before cutover (§23 step 4):** the recipe `verify` operation
|
|
77
|
+
(`pnpm doctor`) ran against the target app from the worktree:
|
|
78
|
+
**verdict `warn` — 16 ok / 14 warn / 0 fail of 30 checks** (exit 1). Every
|
|
79
|
+
warning is expected for a scratch drill box: http `APP_URL`, no mail/SMS/
|
|
80
|
+
push/AI adapters, media-on-disk per the documented deviation below, update
|
|
81
|
+
policy undeclared. The File-storage check passed (wrote, read and deleted a
|
|
82
|
+
test file). Owner access used the recipe's own recovery path
|
|
83
|
+
(`scripts/owner-password.mjs --disable-2fa`, then doctor `--enroll-totp` —
|
|
84
|
+
the designed enrollment for a fresh disposable instance); no secret left the
|
|
85
|
+
box.
|
|
86
|
+
- **Served-page proof:** `GET http://209.97.155.248/perf-home` → 200 through
|
|
87
|
+
Caddy on the target (and via ssh port-forward), 26,351 bytes, the seeded
|
|
88
|
+
"Performance home" page rendered. Diff against the source-rendered page
|
|
89
|
+
shows only the origin in canonical/OG URLs (`localhost:3000` vs the target
|
|
90
|
+
IP) — the imported site is live on the second instance.
|
|
91
|
+
|
|
92
|
+
## Recorded deviations (all in the log)
|
|
93
|
+
|
|
94
|
+
1. **Storage mode:** the droplet recipe mandates Spaces (§18); the target
|
|
95
|
+
mirrors the source's actual local-disk storage (`FREEHOLDER_UNSAFE_LOCAL_
|
|
96
|
+
STORAGE=1` + the `./media/.data` volume, as the source box runs) because the
|
|
97
|
+
source dataset is local-disk and the one historic freeholder Spaces bucket
|
|
98
|
+
no longer exists (404 in all regions). Creating new paid resources was not
|
|
99
|
+
part of the sanctioned drill footprint (two $6 droplets). Doctor reports
|
|
100
|
+
media-on-disk as a warn, as `verify.md` anticipates.
|
|
101
|
+
2. **Bind-mount ownership:** the app container runs as uid 1001; docker
|
|
102
|
+
auto-created the host `./media/.data` as root, so the first doctor run
|
|
103
|
+
failed File-storage with EACCES until the directory was `chown`ed to
|
|
104
|
+
1001:1001 (the source box already carries that ownership). Recorded as a
|
|
105
|
+
real-world sharp edge for local-storage overrides.
|
|
106
|
+
3. **Image pin:** `FREEHOLDER_IMAGE` set to the source digest; current `:edge`
|
|
107
|
+
had moved on. The recipe's own rollback variable carries the pin.
|
|
108
|
+
|
|
109
|
+
## Infrastructure left running
|
|
110
|
+
|
|
111
|
+
Both droplets are **leave-running** for the owner to decide (per drill
|
|
112
|
+
instructions): `freeholder-ref` (604232042, 104.131.118.196) and
|
|
113
|
+
`freeholder-restore` (604504844, 209.97.155.248). Two $6/mo droplets.
|