Skip to content

Commit a546e25

Browse files
authored
Add Demo app (#84)
* chore: update workspace package inclusion and exclusion patterns in pnpm-workspace.yaml - Added 'examples/*' to include all example packages - Excluded 'examples/*/dist' from the workspace - Maintained existing 'pkgs/*' inclusion and 'dist' exclusions for consistency * chore: add VSCode configuration files and a comprehensive Supabase setup - Introduced VSCode extensions.json recommending Deno extension - Added VSCode settings.json with Deno and TypeScript configurations - Included .gitignore for Supabase-related files and environment - Added a detailed Supabase config.toml with project, API, database, auth, storage, realtime, studio, email, SMS, MFA, external providers, edge runtime, analytics, and experimental features settings * chore: add initial database schema, migration functions, and configuration for flow management system - Introduced new package.json with supabase dependency - Added schema creation and privilege grants in schema.sql - Implemented flow, step, dependency, and runtime state tables - Created functions for flow creation, step addition, and starting flows - Added procedures for polling, reading, and completing flow steps - Updated configuration to enable connection pooling and request policies - Included migration scripts for flow setup, step management, and execution control - Backported read_with_poll function to fix high CPU usage issue in older version - Added polling and task scheduling functions for flow execution orchestration * feat: enable public access, add sequential function flow, and configure environment for AWS S3 and private dependencies - Changed access level in .changeset/config.json to public - Updated supabase config.toml to enable sequential functions with JWT verification disabled - Added .npmrc for private npm dependencies configuration - Introduced deno.json with empty imports for the sequential function - Created flow.ts defining a sequential step using pgflow DSL - Added index.ts to import EdgeWorker and the flow definition, setting up the function entry point * refactor: update dependencies and flow implementation for improved structure - Modified deno.json to include specific @pgflow dependencies - Added deno.lock with exact package versions for reproducibility - Updated flow.ts to import from local @pgflow/dsl and define a sequential flow with multiple steps - Enhanced index.ts to start the EdgeWorker with the updated flow - Overall improvements streamline dependency management and flow definition * chore: update dependencies and fix import path in index.ts - Bumped @pgflow/dsl and @pgflow/edge-worker to version 0.1.18 in deno.json - Updated deno.lock with new package integrity hashes and dependencies - Changed import statement in index.ts to reference sequential.ts instead of flow.ts - Renamed flow.ts to sequential.ts for clarity and consistency * chore: add SQL script for cleaning, starting flow, and querying flow state This commit introduces a new SQL script that performs cleanup of flow-related tables, initiates a flow with multiple instances, and retrieves flow step and run data for analysis. * chore: update pgflow to 0.19.1 Bumped @pgflow/dsl and @pgflow/edge-worker to version 0.1.19 in deno.json and lockfile. Deleted multiple SQL migration files related to flow creation, step addition, and polling functions. * feat: add migration for creating a sequential flow with multiple steps - Introduces a new SQL migration to create a sequential flow named 'sequential' - Adds steps 'increment', 'multiply', and 'sum' with dependencies among them * chore: update test script message in package.json for clarity * chore: remove deprecated configuration and lock file for cleanup - Removed custom entrypoint setting from config.toml - Deleted the associated deno.lock file to clean up dependencies and lock state * chore: update SQL test data and increase flow execution count Expanded test SQL with additional queries and comments, and increased the number of flow starts from 1,000 to 10,000 for more extensive testing. Removed redundant or commented-out code to improve clarity and maintainability. * chore: add initial project files including README, styles, auth pages, actions, and configuration * refactor: rename core playground files and assets to examples/playground - Renamed all files, components, assets, and configs from core to examples directory - Ensured consistent structure for the playground setup - Maintained existing content and references through renaming only - Facilitates clearer separation between core and example implementations * chore: add Supabase playground configuration and .gitignore - Introduced .gitignore for Supabase and dotenvx files - Added comprehensive config.toml for local development setup including API, DB, auth, storage, and edge runtime settings - Enabled seed data and analytics modules - Configured email, SMS, MFA, OAuth providers, and experimental features for local environment * feat: update Supabase playground configuration and add initial migration for pgflow schema - Enabled connection pooler and changed request policy to per_worker - Added new schemas, functions, types, and tables for pgflow workflow management - Implemented task polling, step addition, retry delay calculation, and run completion logic - Included indexes and constraints to support workflow execution and dependency tracking * chore: add example environment configuration for playground setup Create a new .env.example file with placeholder values for Supabase URL and API key to assist users in configuring the playground environment. * feat: add website analysis function with configuration and dependencies Introduce a new analyze_website function using pgflow DSL, including setup files, import map, and index script. Update config.toml to enable the function and specify entrypoint. Add npm configuration for private dependencies and lockfile. * fix: disable JWT verification in analyze_website function configuration Updated the config to set verify_jwt to false, aligning with security and functionality requirements. * feat: add websites table with index in migration script Create a new websites table with relevant fields and an index on website URL for efficient querying. * chore: add new start scripts for functions and worker in playground package.json - Introduced start-functions script to serve Supabase functions - Added start-worker script to trigger local website analysis - Updated scripts section for improved development workflow * feat: add TypeScript types for database schema and constants Introduce comprehensive TypeScript type definitions for database schema, including table, view, function, enum, and composite type mappings. Add a new database types file with schema definitions and constants for public and graphql_public schemas, enhancing type safety and developer experience. * feat: add webpage to fetch and display websites data, update database types import - Introduced a new page component to fetch and display websites data from Supabase - Updated analyze_website function to include database type imports - Renamed local database types file for consistency and clarity * feat: add flow run page, layout, and website analysis form with data fetching and display - Implemented a new page for displaying flow run details with real-time data fetch - Added a layout component for flows to structure nested pages - Enhanced website page with form to start analysis, list existing websites, and view raw data - Included loading and error handling states for better user experience - Updated imports for UI components and routing, ensuring consistency across files - Overall improvements facilitate flow monitoring and website analysis features * chore: add generate types script to package.json and update database types - Added 'gen-types' script to package.json for generating local database types - Updated database-types.d.ts with new 'pgflow' schema and expanded table definitions - Renamed 'graphql_public' schema to 'pgflow' in database types and constants - Enhanced type definitions for database tables, relationships, and functions - Improved maintainability and type safety for database interactions and code generation * chore: update Supabase configuration and add permissions migration for pgflow - Added 'pgflow' schema to configuration and search path - Created permissions SQL to enable RLS, policies, grants, and secure wrapper functions - Set up real-time publication for pgflow tables to support subscriptions * refactor: update page routing, data fetching, and layout components for website runs - Removed deprecated FlowsLayout component - Renamed flow-related pages and routes to website runs - Updated data fetching to use correct table names and fields - Changed state variables and loading messages to reflect run data - Modified UI to display run status, information, and results - Added new layout component for website runs * docs: Add CLAUDE.md with development, build, and style guidelines * style: improve code formatting and update external links in layout component - Standardized import quotes and formatting for consistency - Updated defaultUrl to use single quotes - Corrected string quotes in Link component - Added spacing around inline elements for better readability - Enhanced footer links with target and rel attributes for security and UX - Minor formatting adjustments for clarity and maintainability * fix: extend route protection to include /websites path in session check Update middleware to protect both /protected and /websites routes by redirecting unauthenticated users. * style: fix code formatting and string quotes in actions and callback route Standardize string quotes to single quotes, fix indentation, and improve code consistency across multiple files. * fix: update schema reference and improve documentation warnings - Corrected schema usage in page.tsx to ensure proper data fetching - Added warning about quoting route parameters in documentation file - Minor formatting and style adjustments in documentation and code files * fix: update import statement and add type parameter to createBrowserClient - Changed import quotes for consistency - Added Database type to createBrowserClient for type safety * feat: add website runs listing page and update database permissions - Implemented a new client-side page to display website analysis runs with loading and error handling - Added UI for no runs scenario with link to start new analysis - Enhanced database permissions by granting usage on pgflow schema to authenticated users and enabling RLS on relevant tables - Improved overall user experience and security configuration for the pgflow data * chore: update layout with new title, description, navigation links, and import Button component * fix: improve type safety and update UI labels and output rendering - Replace any with explicit type for runData state - Correct status color mapping for 'started' and 'failed' states - Update labels from 'Run Name', 'Started At', 'Last Updated' to 'Flow' and remove date fields - Replace runData.result with runData.output in output display - Adjust output rendering to handle object output correctly - Minor formatting and consistency improvements * eat: integrate Supabase client and update dependencies for website analysis function - Refactored analyze_website.ts to initialize Supabase client with environment variables - Updated saveToDb to insert website analysis results into the database - Modified step to await saveToDb and return success status - Added '@supabase/supabase-js' to dependencies in deno.json - Updated lock file with new dependencies and integrity hashes - Included additional related dependencies for Supabase SDK in lock file - Overall enhances database interaction and dependency management for the function * feat: add JSON rendering component and improve run details display - Introduced RenderJson component for formatted JSON output - Updated page to display run input and output as JSON - Enhanced header to include flow slug and run ID - Changed "Results" section to "Run Output" with JSON rendering - Added conditional display for run output based on completion status * feat: enhance run details page with step overview and status tables - Expanded data fetching to include related step states - Added visual step overview with status-based styling - Included detailed step status table with dependencies and tasks info * refactor: improve run data rendering and type safety in the playground page - Added explicit types for combined run, step states, and step tasks data - Updated JSON rendering component for better overflow handling - Modified data fetching to use the new combined result type - Enhanced step status display with color coding and output details - Adjusted styling for raw data view for better overflow management * feat: add breathing animation to run status indicators and enhance website analysis functions - Inject CSS for breathing animation into the page head - Apply breathing animation class to run status and step status indicators - Implement real-time updates via Supabase channels for run data and step statuses - Add utility functions for randomized sleep delays in website analysis workflow - Incorporate delays in website scraping, sentiment analysis, summarization, and database save steps to simulate processing time * refactor: add type definitions for realtime payloads and update state handling Introduce explicit TypeScript types for realtime payloads to improve type safety and clarity. Update event handlers to update local state selectively instead of refetching data, enhancing performance and maintainability of the real-time update logic. * refactor: update import path for analyze_website module to new location - Renamed analyze_website.ts to _flows/analyze_website.ts and updated import accordingly - Changed index.ts to import AnalyzeWebsite from the new relative path * chore: update configuration paths and refactor website analysis flow - Correct import_map path in config.toml for analyze_website function - Remove redundant sleep functions and mock implementations in analyze_website.ts - Modularize utility functions into utils.ts - Add new tasks for website scraping, sentiment analysis, AI summarization, and saving to database - Implement new task files with actual logic and environment setup - Streamline analyze_website flow to utilize these tasks and improve maintainability * refactor: update analyze_website functions to worker variants and improve start script - Renamed analyze_website function to analyze_website_worker_0 in config - Added analyze_website_worker_1 function with corresponding entrypoint - Removed npmrc and deno.lock files related to analyze_website - Created analyze_website_worker_1 index.ts to initialize EdgeWorker with new function - Updated package.json start script to run multiple analyze_website workers concurrently - Adjusted import paths and renamed the original analyze_website to worker-specific files - Overall, refactors functions setup to support multiple worker instances for website analysis * style: update conditional classNames for status indicators and step states Refactor status-based className logic in the FlowRunPage component to improve readability and consistency. Adjust color classes for run statuses, step statuses, and step indicators, including handling of 'started', 'pending', 'failed', 'created', and other states. Minor formatting improvements for better maintainability. * chore: update dependencies and enhance database schema for pgflow - Bumped @pgflow/dsl and @pgflow/edge-worker to version 0.1.20 in deno.json - Added deno.lock file with dependency integrity hashes - Renamed migration file for consistency - Extended "flows" and "steps" tables with new columns for timestamps and indexing - Modified "deps" table to include creation timestamp - Enhanced "runs" table with start, completion, and failure timestamps - Updated "step_states" and "step_tasks" tables with timestamp columns and additional constraints - Improved indexing for better query performance - Overall schema improvements support better tracking and reliability of flow executions * fix: improve website analysis flow and UI presentation - Corrected RPC call syntax by adding missing comma - Added URL value attribute for better form control - Enhanced date display formatting - Improved raw data toggle structure for better accessibility and styling - Minor UI adjustments for consistency and clarity * refactor: improve component function signatures and update styling logic - Changed RenderJson to accept props directly instead of an object - Updated conditional className expressions for status indicators and step items - Minor formatting adjustments for consistency and readability * fix: enable actual website fetching and handle response correctly Re-enabled fetch logic in scrapeWebsite function, replacing commented-out mock code. Added response status check and returning the fetched text content. * chore: update dependencies and enhance run status display - Add optional 'status' field to step result type for better status handling - Improve run status display to show 'running' when status is 'started' - Replace 'created' status with 'waiting' in step status display - Update dependencies in deno.json to include additional packages - Synchronize dependency versions in deno.lock for consistency * feat: add new website analysis flow and associated tasks Introduce a new analyze_flow_v2.ts flow for website content analysis, including steps for scraping, cleaning HTML to Markdown, sentiment analysis, summarization, and saving results to the database. Also, add convertToCleanMarkdown and scrapeWebsite task implementations, with minor cleanup of the scraping function. * chore: update environment variables for local development setup Modified the example environment configuration to set local API URL and placeholder key for easier local testing. * chore: update dependencies to latest patch versions for consistency and security - Bumped @pgflow/dsl and @pgflow/edge-worker to version 0.1.21 - Updated related lockfile entries for @pgflow/core, @pgflow/dsl, and @pgflow/edge-worker - Added new dependencies: sanitize-html, turndown, deepmerge, dom-serializer, and related packages - Updated other @supabase and npm package versions for alignment and security improvements * feat: add real-time updates and refactor flow run page components - Introduced a new database module for fetching and observing flow run data - Added TypeScript types for database rows and real-time payloads - Implemented real-time subscriptions for run, step states, and step tasks updates - Refactored page component to handle live updates and improve data handling - Removed redundant type definitions and cleaned up code for better maintainability - Enhanced UI to display step statuses and output details with improved styling and sorting * refactor: update real-time payload types and improve step sorting logic - Changed payload type annotations to use RealtimePostgresChangesPayload for consistency - Added sorting of step states and step tasks based on step_index to maintain order - Updated rendering logic to sort step states before mapping for consistent display - Minor code cleanup for better maintainability and clarity in real-time update handling * feat: add collapsible UI component and integrate real-time step status updates - Introduced a new collapsible component for better UI organization - Updated page to handle real-time updates for step states and tasks - Implemented sorting of step statuses based on step index - Modified layout to display step statuses with collapsible output details - Added dependency for @radix-ui/react-collapsible and updated package lock and json files - Created a new collapsible component file for UI abstraction * feat: add human-readable time formatting functions and update step status display - Introduced formatTimeDifference to display elapsed time in hours, minutes, and seconds - Added formatRelativeTime for relative time descriptions like "3 seconds ago" - Enhanced step status rendering with formatted time info based on step state - Improved UI presentation with additional div wrappers for better layout and styling * feat: add timestamp fields and improve type definitions across database schemas - Introduced created_at, started_at, completed_at, failed_at, and queued_at fields - Updated Insert and Update types to make timestamp fields optional - Enhanced relational types with additional timestamp and status fields - Improved consistency and clarity of database type definitions for workflow management * refactor: improve time formatting and update relative time display with live updates - Added optional endDate parameter to formatTimeDifference for accurate step duration - Enhanced formatRelativeTime to handle recent timestamps with "just now" message - Implemented live current time updates using useEffect and setInterval when steps are running - Replaced static relative time display with dynamic updates based on current time - Minor code style adjustments for consistency and readability * refactor: enhance JSON rendering with syntax highlighting and improve time formatting - Replaced previous JSON rendering with a new JSONHighlighter component for better readability - Added CSS breathing animation to the page head - Improved time difference formatting to handle durations less than a second - Updated various JSON display sections to use the new highlighter with consistent styling - Removed redundant RenderJson function and replaced its usage accordingly * feat: implement client-side redirect after login and add auth redirect handler - Added useEffect in sign-in page to check user authentication status and redirect to home - Created AuthRedirectHandler component to handle pending analysis URL and start analysis flow - Updated signInAction to redirect to home after successful login - Modified middleware to restrict access to /websites/runs for authenticated users - Enhanced homepage to include WebsiteAnalyzerForm and instructions based on login state - Added new WebsiteAnalyzerForm component for website URL input and analysis initiation - Minor style and import adjustments for consistency and clarity * fix(website-analyzer-form): improve user login handling and add logging for analysis flow - Redirects unauthenticated users to sign-in and stores URL for post-login redirect - Adds console logs for analysis start, success, and error cases - Handles missing run_id response and exceptions during analysis process * refactor: replace detailed run page with dual-panel layout for website analysis - Replaces the extensive inline run details page with a simplified dual-panel component - Implements a new page that uses context providers and components for UI and debug info - Adds a new dual-panel page component with layout, analysis UI, and run details - Redirects from the old detailed page to the new dual-panel view for better UX - Removes legacy code related to real-time updates, loading states, and detailed rendering - Enhances maintainability by modularizing the UI into shared components and layout - Updates routing to streamline navigation to the dual-panel interface * refactor: adjust grid layout and update UI text for clarity and responsiveness - Changed grid columns from 3 to 12 for better layout control - Updated panel spans to more balanced proportions - Renamed page header to "Website Analysis Dashboard" - Added "Analyze Another Website" section with improved styling - Enhanced analysis result display with color-coded sentiment badge - Minor code formatting and structural improvements for readability * feat: enhance website analysis flow with loading and error states - Add analyzeLoading and analyzeError states to FlowRunContext - Update analyzeWebsite function to handle loading, errors, and redirection - Propagate new states to UI components for better user feedback - Modify WebsiteAnalysisUI to support async analysis and display status/error messages * refactor: improve code clarity and type safety in components and remove unused imports - Removed unused imports and simplified JSONHighlighter component to accept Json type - Updated flow-run-details to remove redundant import and fix JSX formatting - Corrected input handling in website-analysis-ui for consistent data extraction - Minor formatting adjustments for better readability and maintainability * refactor: improve website analysis UI and update default URL - Changed the analysis results header to a more semantic structure - Replaced sentiment badge with a definition list for better accessibility - Updated default URL in the form to a generic example - Added a rocket emoji to the start analysis button for visual enhancement - Simplified the website URL display during analysis for clarity * feat(website-analysis): handle new saveToDb structure and update UI rendering - Added support for new output structure with saveToDb object containing summary and sentiment - Converted numerical sentiment to categorical labels for display - Updated UI to display sentiment with color-coded badge and added summary section - Refactored analyze_website function to save website data with sentiment and summary fields - Improved backward compatibility with previous output format * gefactor: update layout proportions and enhance UI labels for clarity - Adjusted grid column spans in dual-panel layout for better visual balance - Renamed section headers in flow run details for improved readability - Added descriptive subtitles to JSON input and steps status sections - Wrapped provider component to ensure proper context scope * refactor: update UI labels and enhance status display in flow run details and webpage * feat: add HTML content extraction and cleaning function to scrapeWebsite Implement a new stripHtmlTags function to extract and sanitize text content from HTML, including handling of body content, removal of scripts and styles, decoding entities, and whitespace normalization. Update scrapeWebsite to utilize this function for more accurate text extraction from web pages. * feat(website-analysis-ui): add collapsible steps with auto-collapse on completion - Introduced state for toggling step visibility and a button to expand/collapse - Implemented useEffect to auto-collapse steps when analysis completes - Enhanced step rendering with animated transitions and status indicators - Improved UI for better user interaction and visual clarity * fix(website-analysis-ui): adjust sentiment thresholds and auto-collapse behavior Refines sentiment categorization thresholds for more accurate classification and ensures steps auto-collapse when analysis completes for better UX. * refactor: improve status indicator styling and time formatting in flow run details - Updated conditional className logic for status indicators to ensure correct color - Changed time display from relative to absolute duration for completed, failed, and created states - Simplified and corrected className syntax for consistency - Minor adjustments to component rendering for clarity and maintainability * refactor: improve environment variable handling and lazy initialization of clients - Added environment variable example file for supabase functions - Implemented lazy initialization pattern for Supabase client in saveWebsite.ts - Introduced singleton pattern for Groq client in summarizeWithAI.ts - Minor type import adjustments for better type safety - Overall enhances configuration management and reduces redundant client creation * refactor: update sentiment analysis function to use Groq SDK and improve response parsing - Replace previous implementation with Groq SDK integration - Initialize Groq client with environment variable API key - Send sentiment analysis request with structured messages - Parse JSON response directly and set default sentiment score - Remove unnecessary sleep and random score generation * feat(websites): add tag extraction and store tags in database - Introduced extractTags task to extract keywords from website content - Updated analyze_website flow to include tag extraction step - Modified saveWebsite task to save tags alongside other website data - Updated database schema to include tags array with default empty - Enhanced summarizeWithAI to handle summary response safely These changes enable automatic keyword extraction and storage for better website analysis and categorization. * feat: add retry and timeout configuration to analyze_website flow - Introduced maxAttempts, timeout, and baseDelay parameters to enhance flow control and robustness. * feat(website-analysis): enhance output parsing with tags support and UI display - Updated getAnalysisSummary to handle tags array with backward compatibility - Added tags display in the website analysis UI with Badge components - Modified layout to include tags alongside sentiment information - Removed obsolete analyze_flow_v2.ts file - Updated database migration to include tags step and parameters for flow configuration * refactor: update layout to remove unused import and change page title - Removed import of DeployButton component - Changed metadata title from 'pgflow Playground' to 'pgflow Demo App' * refactor: adjust layout grid spans and improve URL display in WebsiteAnalysisUI - Changed grid column spans for dual-panel layout to be equal on larger screens - Updated getAnalysisSummary to handle missing output more robustly - Truncated website URLs with tooltips for better UI consistency - Added spacing and styling adjustments for tags and no-tags message to enhance readability * fix: truncate website URL display and add overflow handling for better UI consistency - Shortened URL truncation from 50 to 30 characters for improved readability - Added overflow-hidden class to prevent layout issues with long URLs - Updated conditional rendering to match new truncation length * refactor: comment out unused import and sleep function in saveWebsite script - Disabled import of randomSleep utility - Commented out the call to randomSleep to prevent its execution - Minor code cleanup for clarity and maintainability * chore: update pnpm-lock.yaml * chore: add project references to tsconfig for improved build management - Updated tsconfig.json to include references to core, edge-worker, and dsl packages - Facilitates better project linking and incremental builds in the playground environment * fix: update type imports and event filters for real-time subscriptions and database types - Corrected import of RealtimePostgresUpdatePayload in flow-run-provider.tsx - Changed event type filter from '*' to 'UPDATE' in observeFlowRun - Updated callback payload types to RealtimePostgresUpdatePayload across components - Modified subscription event specification for consistency - Added optional tags and updated_at fields in database type definitions - Adjusted SQL function to return a single run record instead of a set - Renamed import alias for clarity and fixed event handling logic for real-time updates * style: improve code formatting and add missing displayName assignment - Added a comment to disable ESLint for an empty function in flow-run-provider.tsx - Corrected import statement syntax in input.tsx for consistency - Changed string quotes from double to single in input component - Added missing displayName assignment for Input component for better debugging * chore: update dependencies and add groq-sdk to lock file - Added groq-sdk@^0.20.1 to the lock file - Included new dependencies: abort-controller, agentkeepalive, asynckit, call-bind-apply-helpers, combined-stream, dunder-proto, entities, es-define-property, es-errors, es-object-atoms, es-set-tostringtag, event-target-shim, form-data-encoder, form-data, formdata-node, get-intrinsic, get-proto, gopd, has-symbols, has-tostringtag, hasown, humanize-ms, mime-db, mime-types, ms, node-domexception, node-fetch, web-streams-polyfill - Updated integrity hashes for existing dependencies - Enhanced dependency management and compatibility in the dev environment * feat: add utility type ExtractFlowLeafSteps to extract leaf steps from a Flow - Introduced ExtractFlowLeafSteps type in dsl.ts for extracting steps that are not dependencies of others - Added comprehensive tests for ExtractFlowLeafSteps covering various flow configurations - Enhanced type safety and clarity in flow step dependency analysis * feat: add type extraction utility for Flow objects Introduce ExtractFlowOutput type to extract step output types from Flow instances, along with corresponding tests to ensure correct type inference for various flow structures, including empty flows, single-step flows, multiple steps, and complex dependency chains. Also update dsl.ts to include the new ExtractFlowOutput type. * chore: update dependencies to latest patch versions for consistency and security - Bumped @pgflow/dsl and @pgflow/edge-worker from 0.1.21 to 0.1.22 in JSON and lock files - Updated related dependencies and integrity hashes accordingly - Ensured all references to previous versions are aligned with the latest patch releases * chore: add name and private fields to playground package.json * refactor: improve sign-in page handling and update UI elements - Add useState to manage message state for better handling of searchParams - Process searchParams promise asynchronously on component mount - Redirect logged-in users from sign-in page to home - Update form message display to use local message state - Fix website URL field reference in websites page - Correct date display in website runs list - Enhance form message component to handle null messages and display success/error/message appropriately * refactor: improve extraction of analysis summary from step tasks - Updated getAnalysisSummary to retrieve data from specific step tasks instead of output object - Added handling for numerical and string sentiment values - Enhanced robustness with try-catch and error logging - Maintained backward compatibility with previous output structure * chore: update ESLint ignore patterns to exclude additional TypeScript files Added 'supabase/functions/**/*.ts' to the ignore list in ESLint config to prevent linting of serverless function files. * chore: update tsconfig to exclude specific functions directory in playground * refactor: improve real-time update handling and data consistency in flow provider and UI - Enhanced logging to distinguish between insert and update events for step tasks - Updated step task update logic to add new tasks if they do not exist - Modified run update handler to fetch full data upon completion for accuracy - Preserved existing step_tasks and step_states during run data updates - Improved summary, sentiment, and tags extraction with additional logging and robustness - Added separate real-time subscriptions for insert and update events on step_tasks - Refined event filtering for more precise real-time change listening - Overall improvements to data synchronization, logging, and UI responsiveness * refactor: add detailed logging for task updates and remove redundant logs Enhanced the flow-run-provider component with additional console logs to track task creation, updates, and order changes. Removed some verbose logs for cleaner output in the website-analysis-ui component, focusing on key data points like step_tasks and task outputs for better debugging and monitoring. * refactor: improve logging, handle step task insertions, and update run data handling - Added detailed console logs for analyzeWebsite, task updates, insertions, and run updates - Implemented onStepTaskInsert handler to manage new step tasks with sorting based on step_order - Enhanced run data update logic to preserve step_tasks and step_states during updates - Updated observeFlowRun to listen for step task insert events - Minor code formatting and cleanup for better maintainability * refactor: improve state management and memoization in FlowRunProvider - Split run data into separate state pieces for step states and tasks - Derive runData using useMemo to maintain sorted and combined data - Update state handling functions to modify individual pieces efficiently - Optimize data updates to prevent unnecessary refetches and re-renders - Enhance consistency and maintainability of the component's internal state management * fix: add error message display for failed steps and simulate failure in saveWebsite function - Updated flow-run-details.tsx and website-analysis-ui.tsx to show error messages when steps fail - Enhanced UI to display error details with styled pre blocks for better visibility - Modified saveWebsite.ts to throw an intentional error for testing failure handling - Ensured consistent error display across components for improved debugging and user feedback * refactor: update layout structure and styling, and adjust page header for consistency - Changed layout container and navigation height/spacing for better alignment - Simplified header section and removed commented code - Modified main content wrapper for improved layout - Updated page title size and container padding for consistency * refactor(website-analysis-ui): improve UI behavior and update styling and labels - Auto-collapse steps when summary is available - Adjust heading and section labels for clarity - Always show step process if steps exist - Enhance layout and conditional styling for results and input forms - Remove intentional failure in saveWebsite function * style: improve UI consistency and adjust spacing in flow run details component - Reduced loading spinner size and adjusted text size for better visual hierarchy - Changed border and padding styles for error messages for clearer emphasis - Updated section headings and spacing for better readability - Refined status indicator colors and labels for consistency - Adjusted max-height and overflow styles for output and step details - Modified collapsible trigger padding and summary text size - Slightly increased margin for raw data view for improved layout * refactor(website-analysis-ui): improve state naming, enhance logging, and update UI structure - Renamed stepsExpanded to analysisExpanded for clarity - Added detailed console logs for step tasks - Auto-collapse analysis section when summary is available - Updated conditional rendering to use analysisExpanded - Minor UI adjustments for better readability and consistency - Ensured consistent handling of step tasks and error messages * refactor: update UI layout and text content across multiple pages and components - Removed redundant headings and grid wrappers for cleaner layout - Adjusted panel spans and labels for better UI clarity - Renamed comments for consistency and improved readability - Simplified conditional rendering in flow run details for accuracy - Streamlined component structure by removing unnecessary container elements * refactor: improve form layout, disable email confirmation, and auto-sign-in after sign-up - Removed unnecessary classes from form elements for cleaner styling - Updated sign-up action to disable email verification and auto-confirm users - Added automatic sign-in post registration for better user experience - Changed redirect URL after auth callback to root - Updated website description for clarity in homepage * refactor: improve layout and styling of dual-panel UI and enhance flow run details display - Changed main container from grid to flex layout for better responsiveness - Adjusted side panel to be fixed position with dynamic width for better UX - Updated FlowRunDetails component to allow scrolling and improve data presentation - Reduced max height of raw data section for better layout control - Minor styling tweaks for consistency and usability * refactor(website-analysis-ui): improve analysis section collapse behavior and UI controls - Auto-expand analysis section during running state for better user feedback - Collapse analysis details when completed or failed to declutter UI - Add close button at the top right of details panel for easier dismissal - Duplicate collapse button at the bottom of details for convenience - Enhance step header with running indicator and toggle functionality - Update analysis results header with status badge and toggle details button - Remove redundant "Analyze Another Website" form at the bottom for cleaner layout * fix: adjust UI layout and remove unnecessary class for consistency - Removed redundant border bottom in analysis section header - Simplified className for step container by removing conditional margin and border classes * refactor: rename getSortedStepStates to getOrderedStepStates and update usage; add comment about step sorting * feat: add URL parameter handling and example website links across components - Implement URL parameter detection on page load to trigger website analysis - Introduce startAnalysis function to initiate analysis flow via RPC - Update input field to reflect URL state and handle user input - Add example website links with buttons for quick analysis in UI components - Enhance user experience by enabling analysis through URL params and clickable examples * style: improve layout and spacing of example site links in WebsiteAnalysisUI Refactored the component to enhance visual consistency by adjusting spacing, layout, and button styles for the example site links section. Updated the structure to use flex containers with consistent padding and hover effects, ensuring a cleaner UI. * refactor: update layout metadata and enhance dual-panel UI with interactive hover hints - Changed page title in layout.tsx for better branding - Improved dual-panel component with animated hover effects and overlay hints - Added floating hint badge for user guidance with smooth transition effects * feat: add toggle pin functionality for sidebar with persistent state Implement a pin button to keep the technical details sidebar always visible, with state saved in localStorage. Enhance hover hints with conditional display based on pinned state, improving user interaction and visibility of the panel. * fix: update retry logic and introduce simulated failure for error handling demonstration - Reduced maxAttempts and timeout settings in analyze_website flow - Added dependency-specific maxAttempts for the 'website' step - Modified scrapeWebsite task to include a simulated failure function that throws an error after a delay - Enhances testing of error handling and retry mechanisms in the flow * refactor(website-analysis-ui): improve analysis section toggle logic and status display - Expand analysis section when running or failed, collapse only when completed successfully - Prevent toggling analysis details when in failed state - Update header to show 'Analysis Failed' status and disable collapse in failed state - Hide close and collapse buttons during running or failed states for better UX - Modify simulateFailure function to trigger error only for specific URL for testing purposes * refactor: enhance step status indicators with retry detection and visual cues - Updated step status rendering to identify retries based on attempts_count - Added logic to highlight retrying steps with animated red border - Improved visual consistency across flow run and website analysis components - Increased maxAttempts for analyze_website flow to support retries - Refined status labels to reflect retry states and progress more accurately * refactor: improve UI consistency and add failure simulation in website analysis flow - Updated page.tsx to fix formatting and correct website links - Enhanced website analysis UI components with better button handling and state management - Added simulateFailure call in analyze_website flow to enable failure testing - Minor code style adjustments for readability and consistency across components - Removed unused import in saveWebsite task for cleaner code * refactor: optimize step sorting and task retrieval for consistent ordering - Replaced previous step_index mapping with a cached stepOrderMap for better performance - Sorted step_states and step_tasks directly using cached step_index for consistency - Updated multiple components to utilize getOrderedStepStates and getOrderedStepTasks functions - Simplified logic for identifying latest tasks and retries based on pre-sorted data - Ensured stable ordering across components by caching step_index mapping during data load * refactor: add step_index to task objects for better step grouping - Enhance task grouping by including step_index from cached stepOrderMap - Update tasksMap to store tasks with step_index for improved data handling - Minor code adjustments for clarity and consistency in step task processing * fix: correct localStorage retrieval logic and default value for pinned state Refactored the code to properly check for the presence of saved data and set the default to true when no value is stored, ensuring consistent behavior of the dual-panel page component. * fix: update import for RealtimePostgresInsertPayload and correct task lookup logic - Added missing import for RealtimePostgresInsertPayload from '@supabase/supabase-js' - Corrected task existence check by using step_slug instead of id in flow run provider * fix: update analyze_website flow configuration and migration scripts - Increased maxAttempts to 3 and timeout to 4 in the TypeScript flow definition - Adjusted corresponding SQL migration to match new flow parameters - Changed baseDelay from 2 to 1 in both code and migration - Updated step definitions to use array syntax consistently - Ensured flow parameters are synchronized between code and database migration * test: improve type safety and correctness in extract-flow-output tests Refactor tests to use type assertions and avoid unused variable warnings, and update expected types to use Record<never, never> instead of {} for better ESLint compliance. * chore: add new playground project configuration file with build target
1 parent c241ddd commit a546e25

File tree

105 files changed

+13318
-48
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+13318
-48
lines changed

.changeset/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"commit": false,
55
"fixed": [["@pgflow/*", "pgflow"]],
66
"linked": [],
7-
"access": "restricted",
7+
"access": "public",
88
"baseBranch": "main",
99
"updateInternalDependencies": "patch",
1010
"ignore": []
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["denoland.vscode-deno"]
3+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"deno.enablePaths": [
3+
"supabase/functions"
4+
],
5+
"deno.lint": true,
6+
"deno.unstable": [
7+
"bare-node-builtins",
8+
"byonm",
9+
"sloppy-imports",
10+
"unsafe-proto",
11+
"webgpu",
12+
"broadcast-channel",
13+
"worker-options",
14+
"cron",
15+
"kv",
16+
"ffi",
17+
"fs",
18+
"http",
19+
"net"
20+
],
21+
"[typescript]": {
22+
"editor.defaultFormatter": "denoland.vscode-deno"
23+
}
24+
}

examples/basic-flows/package.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "basic-flows",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"No tests, no worries\""
8+
},
9+
"keywords": [],
10+
"author": "",
11+
"license": "ISC",
12+
"devDependencies": {
13+
"supabase": "^2.22.4"
14+
}
15+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Supabase
2+
.branches
3+
.temp
4+
5+
# dotenvx
6+
.env.keys
7+
.env.local
8+
.env.*.local
Lines changed: 314 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,314 @@
1+
# For detailed configuration reference documentation, visit:
2+
# https://supabase.com/docs/guides/local-development/cli/config
3+
# A string used to distinguish different Supabase projects on the same host. Defaults to the
4+
# working directory name when running `supabase init`.
5+
project_id = "basic-flows"
6+
7+
[api]
8+
enabled = true
9+
# Port to use for the API URL.
10+
port = 54321
11+
# Schemas to expose in your API. Tables, views and stored procedures in this schema will get API
12+
# endpoints. `public` and `graphql_public` schemas are included by default.
13+
schemas = ["public", "graphql_public"]
14+
# Extra schemas to add to the search_path of every request.
15+
extra_search_path = ["public", "extensions"]
16+
# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size
17+
# for accidental or malicious requests.
18+
max_rows = 1000
19+
20+
[api.tls]
21+
# Enable HTTPS endpoints locally using a self-signed certificate.
22+
enabled = false
23+
24+
[db]
25+
# Port to use for the local database URL.
26+
port = 54322
27+
# Port used by db diff command to initialize the shadow database.
28+
shadow_port = 54320
29+
# The database major version to use. This has to be the same as your remote database's. Run `SHOW
30+
# server_version;` on the remote database to check.
31+
major_version = 15
32+
33+
[db.pooler]
34+
enabled = true
35+
# Port to use for the local connection pooler.
36+
port = 54329
37+
# Specifies when a server connection can be reused by other clients.
38+
# Configure one of the supported pooler modes: `transaction`, `session`.
39+
pool_mode = "transaction"
40+
# How many server connections to allow per user/database pair.
41+
default_pool_size = 20
42+
# Maximum number of client connections allowed.
43+
max_client_conn = 100
44+
45+
# [db.vault]
46+
# secret_key = "env(SECRET_VALUE)"
47+
48+
[db.migrations]
49+
# Specifies an ordered list of schema files that describe your database.
50+
# Supports glob patterns relative to supabase directory: "./schemas/*.sql"
51+
schema_paths = []
52+
53+
[db.seed]
54+
# If enabled, seeds the database after migrations during a db reset.
55+
enabled = true
56+
# Specifies an ordered list of seed files to load during db reset.
57+
# Supports glob patterns relative to supabase directory: "./seeds/*.sql"
58+
sql_paths = ["./seed.sql"]
59+
60+
[realtime]
61+
enabled = true
62+
# Bind realtime via either IPv4 or IPv6. (default: IPv4)
63+
# ip_version = "IPv6"
64+
# The maximum length in bytes of HTTP request headers. (default: 4096)
65+
# max_header_length = 4096
66+
67+
[studio]
68+
enabled = true
69+
# Port to use for Supabase Studio.
70+
port = 54323
71+
# External URL of the API server that frontend connects to.
72+
api_url = "http://127.0.0.1"
73+
# OpenAI API Key to use for Supabase AI in the Supabase Studio.
74+
openai_api_key = "env(OPENAI_API_KEY)"
75+
76+
# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they
77+
# are monitored, and you can view the emails that would have been sent from the web interface.
78+
[inbucket]
79+
enabled = true
80+
# Port to use for the email testing server web interface.
81+
port = 54324
82+
# Uncomment to expose additional ports for testing user applications that send emails.
83+
# smtp_port = 54325
84+
# pop3_port = 54326
85+
# admin_email = "admin@email.com"
86+
# sender_name = "Admin"
87+
88+
[storage]
89+
enabled = true
90+
# The maximum file size allowed (e.g. "5MB", "500KB").
91+
file_size_limit = "50MiB"
92+
93+
# Image transformation API is available to Supabase Pro plan.
94+
# [storage.image_transformation]
95+
# enabled = true
96+
97+
# Uncomment to configure local storage buckets
98+
# [storage.buckets.images]
99+
# public = false
100+
# file_size_limit = "50MiB"
101+
# allowed_mime_types = ["image/png", "image/jpeg"]
102+
# objects_path = "./images"
103+
104+
[auth]
105+
enabled = true
106+
# The base URL of your website. Used as an allow-list for redirects and for constructing URLs used
107+
# in emails.
108+
site_url = "http://127.0.0.1:3000"
109+
# A list of *exact* URLs that auth providers are permitted to redirect to post authentication.
110+
additional_redirect_urls = ["https://127.0.0.1:3000"]
111+
# How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week).
112+
jwt_expiry = 3600
113+
# If disabled, the refresh token will never expire.
114+
enable_refresh_token_rotation = true
115+
# Allows refresh tokens to be reused after expiry, up to the specified interval in seconds.
116+
# Requires enable_refresh_token_rotation = true.
117+
refresh_token_reuse_interval = 10
118+
# Allow/disallow new user signups to your project.
119+
enable_signup = true
120+
# Allow/disallow anonymous sign-ins to your project.
121+
enable_anonymous_sign_ins = false
122+
# Allow/disallow testing manual linking of accounts
123+
enable_manual_linking = false
124+
# Passwords shorter than this value will be rejected as weak. Minimum 6, recommended 8 or more.
125+
minimum_password_length = 6
126+
# Passwords that do not meet the following requirements will be rejected as weak. Supported values
127+
# are: `letters_digits`, `lower_upper_letters_digits`, `lower_upper_letters_digits_symbols`
128+
password_requirements = ""
129+
130+
[auth.rate_limit]
131+
# Number of emails that can be sent per hour. Requires auth.email.smtp to be enabled.
132+
email_sent = 2
133+
# Number of SMS messages that can be sent per hour. Requires auth.sms to be enabled.
134+
sms_sent = 30
135+
# Number of anonymous sign-ins that can be made per hour per IP address. Requires enable_anonymous_sign_ins = true.
136+
anonymous_users = 30
137+
# Number of sessions that can be refreshed in a 5 minute interval per IP address.
138+
token_refresh = 150
139+
# Number of sign up and sign-in requests that can be made in a 5 minute interval per IP address (excludes anonymous users).
140+
sign_in_sign_ups = 30
141+
# Number of OTP / Magic link verifications that can be made in a 5 minute interval per IP address.
142+
token_verifications = 30
143+
144+
# Configure one of the supported captcha providers: `hcaptcha`, `turnstile`.
145+
# [auth.captcha]
146+
# enabled = true
147+
# provider = "hcaptcha"
148+
# secret = ""
149+
150+
[auth.email]
151+
# Allow/disallow new user signups via email to your project.
152+
enable_signup = true
153+
# If enabled, a user will be required to confirm any email change on both the old, and new email
154+
# addresses. If disabled, only the new email is required to confirm.
155+
double_confirm_changes = true
156+
# If enabled, users need to confirm their email address before signing in.
157+
enable_confirmations = false
158+
# If enabled, users will need to reauthenticate or have logged in recently to change their password.
159+
secure_password_change = false
160+
# Controls the minimum amount of time that must pass before sending another signup confirmation or password reset email.
161+
max_frequency = "1s"
162+
# Number of characters used in the email OTP.
163+
otp_length = 6
164+
# Number of seconds before the email OTP expires (defaults to 1 hour).
165+
otp_expiry = 3600
166+
167+
# Use a production-ready SMTP server
168+
# [auth.email.smtp]
169+
# enabled = true
170+
# host = "smtp.sendgrid.net"
171+
# port = 587
172+
# user = "apikey"
173+
# pass = "env(SENDGRID_API_KEY)"
174+
# admin_email = "admin@email.com"
175+
# sender_name = "Admin"
176+
177+
# Uncomment to customize email template
178+
# [auth.email.template.invite]
179+
# subject = "You have been invited"
180+
# content_path = "./supabase/templates/invite.html"
181+
182+
[auth.sms]
183+
# Allow/disallow new user signups via SMS to your project.
184+
enable_signup = false
185+
# If enabled, users need to confirm their phone number before signing in.
186+
enable_confirmations = false
187+
# Template for sending OTP to users
188+
template = "Your code is {{ .Code }}"
189+
# Controls the minimum amount of time that must pass before sending another sms otp.
190+
max_frequency = "5s"
191+
192+
# Use pre-defined map of phone number to OTP for testing.
193+
# [auth.sms.test_otp]
194+
# 4152127777 = "123456"
195+
196+
# Configure logged in session timeouts.
197+
# [auth.sessions]
198+
# Force log out after the specified duration.
199+
# timebox = "24h"
200+
# Force log out if the user has been inactive longer than the specified duration.
201+
# inactivity_timeout = "8h"
202+
203+
# This hook runs before a token is issued and allows you to add additional claims based on the authentication method used.
204+
# [auth.hook.custom_access_token]
205+
# enabled = true
206+
# uri = "pg-functions://<database>/<schema>/<hook_name>"
207+
208+
# Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`.
209+
[auth.sms.twilio]
210+
enabled = false
211+
account_sid = ""
212+
message_service_sid = ""
213+
# DO NOT commit your Twilio auth token to git. Use environment variable substitution instead:
214+
auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)"
215+
216+
# Multi-factor-authentication is available to Supabase Pro plan.
217+
[auth.mfa]
218+
# Control how many MFA factors can be enrolled at once per user.
219+
max_enrolled_factors = 10
220+
221+
# Control MFA via App Authenticator (TOTP)
222+
[auth.mfa.totp]
223+
enroll_enabled = false
224+
verify_enabled = false
225+
226+
# Configure MFA via Phone Messaging
227+
[auth.mfa.phone]
228+
enroll_enabled = false
229+
verify_enabled = false
230+
otp_length = 6
231+
template = "Your code is {{ .Code }}"
232+
max_frequency = "5s"
233+
234+
# Configure MFA via WebAuthn
235+
# [auth.mfa.web_authn]
236+
# enroll_enabled = true
237+
# verify_enabled = true
238+
239+
# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`,
240+
# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`,
241+
# `twitter`, `slack`, `spotify`, `workos`, `zoom`.
242+
[auth.external.apple]
243+
enabled = false
244+
client_id = ""
245+
# DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead:
246+
secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)"
247+
# Overrides the default auth redirectUrl.
248+
redirect_uri = ""
249+
# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure,
250+
# or any other third-party OIDC providers.
251+
url = ""
252+
# If enabled, the nonce check will be skipped. Required for local sign in with Google auth.
253+
skip_nonce_check = false
254+
255+
# Use Firebase Auth as a third-party provider alongside Supabase Auth.
256+
[auth.third_party.firebase]
257+
enabled = false
258+
# project_id = "my-firebase-project"
259+
260+
# Use Auth0 as a third-party provider alongside Supabase Auth.
261+
[auth.third_party.auth0]
262+
enabled = false
263+
# tenant = "my-auth0-tenant"
264+
# tenant_region = "us"
265+
266+
# Use AWS Cognito (Amplify) as a third-party provider alongside Supabase Auth.
267+
[auth.third_party.aws_cognito]
268+
enabled = false
269+
# user_pool_id = "my-user-pool-id"
270+
# user_pool_region = "us-east-1"
271+
272+
# Use Clerk as a third-party provider alongside Supabase Auth.
273+
[auth.third_party.clerk]
274+
enabled = false
275+
# Obtain from https://clerk.com/setup/supabase
276+
# domain = "example.clerk.accounts.dev"
277+
278+
[edge_runtime]
279+
enabled = true
280+
# Configure one of the supported request policies: `oneshot`, `per_worker`.
281+
# Use `oneshot` for hot reload, or `per_worker` for load testing.
282+
policy = "per_worker"
283+
# Port to attach the Chrome inspector for debugging edge functions.
284+
inspector_port = 8083
285+
# The Deno major version to use.
286+
deno_version = 1
287+
288+
# [edge_runtime.secrets]
289+
# secret_key = "env(SECRET_VALUE)"
290+
291+
[analytics]
292+
enabled = true
293+
port = 54327
294+
# Configure one of the supported backends: `postgres`, `bigquery`.
295+
backend = "postgres"
296+
297+
# Experimental features may be deprecated any time
298+
[experimental]
299+
# Configures Postgres storage engine to use OrioleDB (S3)
300+
orioledb_version = ""
301+
# Configures S3 bucket URL, eg. <bucket_name>.s3-<region>.amazonaws.com
302+
s3_host = "env(S3_HOST)"
303+
# Configures S3 bucket region, eg. us-east-1
304+
s3_region = "env(S3_REGION)"
305+
# Configures AWS_ACCESS_KEY_ID for S3 bucket
306+
s3_access_key = "env(S3_ACCESS_KEY)"
307+
# Configures AWS_SECRET_ACCESS_KEY for S3 bucket
308+
s3_secret_key = "env(S3_SECRET_KEY)"
309+
310+
[functions.sequential]
311+
enabled = true
312+
verify_jwt = false
313+
import_map = "./functions/sequential/deno.json"
314+
entrypoint = "./functions/sequential/index.ts"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Configuration for private npm package dependencies
2+
# For more information on using private registries with Edge Functions, see:
3+
# https://supabase.com/docs/guides/functions/import-maps#importing-from-private-registries
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"imports": {
3+
"@pgflow/dsl": "npm:@pgflow/dsl@0.1.19",
4+
"@pgflow/edge-worker": "jsr:@pgflow/edge-worker@0.1.19"
5+
}
6+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { EdgeWorker } from '@pgflow/edge-worker';
2+
import SequentialFlow from './sequential.ts';
3+
4+
EdgeWorker.start(SequentialFlow);

0 commit comments

Comments
 (0)