100 Commits
Author SHA1 Message Date
Peter Stockings 4991a66b63 Change LLM model gemini-2.0-flash -> gemini-2.5-flash-lite 2026-02-08 14:47:38 +11:00
Peter Stockings 717a18fa3c Improve look of auth pages 2025-12-17 23:36:13 +11:00
Peter Stockings 049c875bc2 WIP: Add tests for http functions 2025-12-03 21:12:35 +11:00
Peter Stockings c5eb1ce463 Add loading spinner for mermaid ERD 2025-12-03 17:04:56 +11:00
Peter Stockings 54dbcb45fa Hide mermaid ERD text prior to rendering to prevent flash 2025-12-03 16:46:34 +11:00
Peter Stockings 9311893c57 Fix for database query editor not loading when route is loaded via htmx 2025-12-03 16:09:31 +11:00
Peter Stockings 46339cc4cf Add ability to set commit messages when editing functions 2025-12-02 20:36:55 +11:00
Peter Stockings 2253c8f7a7 Show execution time in logs screen for http and timer functions 2025-12-02 20:08:56 +11:00
Peter Stockings b863a5a9ae Fix http logs malformed file 2025-12-02 20:02:59 +11:00
Peter Stockings 1dd9040d24 Render duration as ms not s 2025-12-02 20:02:32 +11:00
Peter Stockings 71296b1301 Store duration of http & timer functions in ms from begining of request to end 2025-12-02 19:55:32 +11:00
Peter Stockings d04b7f2120 Add rate limiting support to API keys 2025-12-02 17:02:17 +11:00
Peter Stockings 814691c235 Add account settings page with options to update email, password and delete account 2025-12-02 16:32:45 +11:00
Peter Stockings d983854c7c Add python script for applying migrations 2025-12-02 16:30:34 +11:00
Peter Stockings 416f6d423d Get IP from proxy headers if available 2025-12-02 16:17:20 +11:00
Peter Stockings 4227be5a80 Add login history to settings 2025-12-02 16:08:40 +11:00
Peter Stockings ab7079f87e Add functionality in settings to import data 2025-12-02 15:19:20 +11:00
Peter Stockings 290b141d32 Add functionality to query DB through settings 2025-12-01 10:04:19 +11:00
Peter Stockings 0f26545c51 Show ERD in settings tab 2025-12-01 09:53:21 +11:00
Peter Stockings 1402723a6e Use htmx to switch between settings tabs 2025-12-01 09:31:10 +11:00
Peter Stockings 5574fb3d24 Add export data functionality on settings page 2025-12-01 09:22:44 +11:00
Peter Stockings 0c35ec996e Make current shared env ace editor full width 2025-11-30 22:32:53 +11:00
Peter Stockings e8f9d4dc26 Resize current and historical shared env ace editors to size of initial text 2025-11-30 22:02:54 +11:00
Peter Stockings fa29b90af1 Use ace editor (readonly) to render current and historical shared environments 2025-11-30 22:00:47 +11:00
Peter Stockings 9533ebf91f Fix bug where reopening edit modal of shared env instance wouldnt render text editor 2025-11-30 21:45:20 +11:00
Peter Stockings eb6e5c5649 Append shared env versioning sql scripts to route as comment 2025-11-30 21:43:13 +11:00
Peter Stockings a7dfc28a8b Add version history for shared environments 2025-11-30 19:50:29 +11:00
Peter Stockings b1fc0ae2f5 Readd response view for editor 2025-11-30 15:27:18 +11:00
Peter Stockings c65a64f81d Switch shared environment to Mithril component 2025-11-30 14:29:55 +11:00
Peter Stockings e864a9f5f3 Add launch.json for debugging via vscode 2025-11-30 14:25:11 +11:00
Peter Stockings b4cda2f4c4 Add mutable datastores that can be linked to multiple functions 2025-11-30 13:10:53 +11:00
Peter Stockings bb20146143 Add syntax highlighting for different runtimes in function history for timer & http functions 2025-11-30 00:26:33 +11:00
Peter Stockings 6c55eaa930 Update next time execution time when starting function 2025-11-30 00:17:40 +11:00
Peter Stockings a2367f3ed9 Revert breaking change to http client 2025-11-30 00:06:14 +11:00
Peter Stockings 3f9fa79515 Add support for cron expressions for scheduling timer functions 2025-11-27 15:51:15 +11:00
Peter Stockings f3c2664b31 Change timer check internal to seconds (10s by default) 2025-11-25 22:22:37 +11:00
Peter Stockings dc2c22c939 Support node, deno, & python runtimes for timer functions 2025-11-25 21:53:39 +11:00
Peter Stockings c0970835ab Add feature to restore script content to a specific version on history page 2025-11-25 15:43:12 +11:00
Peter Stockings 17518c3fcc Add auto complete, theme select, & full screen toggle in editors 2025-11-25 14:55:22 +11:00
Peter Stockings f0bed51b66 Fix http overview template 2025-11-24 09:08:10 +11:00
Peter Stockings 89a17f68ab WIP: Add light/dark theme with toggle in navbar (dark theme styling incomplete - dont care for now) 2025-11-23 22:00:41 +11:00
Peter Stockings fc494a9355 Improve look of http/timer header component 2025-11-21 11:43:28 +11:00
Peter Stockings eff379cf94 Improve look of dashboard page 2025-11-21 11:27:56 +11:00
Peter Stockings 64c3a4bbf7 Update features section on landing page 2025-11-21 11:06:47 +11:00
Peter Stockings d390820ba3 Remove black overlay from public function iframe view on landing page 2025-11-21 10:48:18 +11:00
Peter Stockings d7188a1a43 Show public functions on landing page as well 2025-11-21 10:43:10 +11:00
Peter Stockings 213abbfe93 Add community section where public functions can be viewed 2025-11-21 10:30:14 +11:00
Peter Stockings 8eb9b7dceb Add settings link in dashboard sidebar 2025-11-20 20:27:48 +11:00
Peter Stockings f0d63bed22 Allow creation of api keys scoped to functions 2025-11-20 19:44:00 +11:00
Peter Stockings 7241c4803f Initial setup for adding support for api key based auth 2025-11-20 19:33:10 +11:00
Peter Stockings dfcbd9263e Add explain, debug and optimise llm options, also make it runtime specific 2025-11-19 22:28:00 +11:00
Peter Stockings 7e5df46997 Improve look of anayltics page (home) 2025-11-19 21:15:41 +11:00
Peter Stockings 2af2cdef0c Add button to expand nested functions 2025-11-19 18:01:04 +11:00
Peter Stockings c6599c7543 Add badge for public functions and move function link to right 2025-11-19 17:47:18 +11:00
Peter Stockings 00c0d19e3e Update http functions overview page to show functions in searchable nested directory 2025-11-19 17:28:35 +11:00
Peter Stockings b210188556 Add documentation about js, deno, & python runtimes 2025-11-17 21:32:16 +11:00
Peter Stockings 65b35813d2 Fix home -> home.index error in documentation page 2025-11-17 21:30:11 +11:00
Peter Stockings ffe1e1c160 Add toggle for nav bar on landing page 2025-11-17 21:13:42 +11:00
Peter Stockings 031f2265bf Fix link to signup page from landing 2025-11-17 21:03:49 +11:00
Peter Stockings ace9f0a896 Node js runtime adds logs as an array of arrays, whilst python stores it as an array. Adjust logs template to handle both 2025-09-28 23:02:40 +10:00
Peter Stockings 99723b4b6b Add support for python function runtime 2025-09-28 13:32:42 +10:00
Peter Stockings 38adbd22d2 Add failed execution count and average execution time to home page stats 2025-09-21 15:29:53 +10:00
Peter Stockings 34ca6804d5 Improve look of runtime toggle, and general UI enhancements for editor 2025-07-29 17:23:12 +10:00
Peter Stockings e115d06691 Add support to switch between deno and nodejs function executor 2025-07-28 15:48:18 +10:00
Peter Stockings a4d8abcf5b Update default script to export function as we are now using deno to execute functions 2025-07-26 17:41:59 +10:00
Peter Stockings d1f8f825c3 Add anlytics info and search to logs page 2025-07-25 15:46:56 +10:00
Peter Stockings 8f2838f920 Update function history view 2025-07-24 23:00:22 +10:00
Peter Stockings 54347ded89 Make requests to isolator service asynchronous 2025-07-23 22:11:52 +10:00
Peter Stockings a4c29e0d8f Add db connection pooling 2025-07-23 21:58:43 +10:00
Peter Stockings b5acb9e93e Move default function code/environment to constants file 2025-07-23 21:51:33 +10:00
Peter Stockings 19d855fb89 Move auth logic to blueprint 2025-07-23 21:46:13 +10:00
Peter Stockings b0a172bee0 Update mithril loader extension 2025-07-23 21:36:50 +10:00
Peter Stockings 39c819f062 Rename home to landing page 2025-07-23 21:36:22 +10:00
Peter Stockings d65495541f Move LLM logic to seperate route 2025-07-22 20:25:42 +10:00
Peter Stockings 2c089fcaf7 Remove dashboard route 2025-07-22 09:46:06 +10:00
Peter Stockings 6891ce5661 Make Http client path consistent 2025-07-21 23:29:17 +10:00
Peter Stockings f55f50d0dc Further refactor, still need to cleanup db.py 2025-07-21 23:25:25 +10:00
Peter Stockings 2ec44252bb Move http endpoints into seperate route 2025-07-21 22:05:58 +10:00
Peter Stockings 917189b3d9 Add support to use LLM's (gemni) to create functions, also create documentation page 2025-06-21 19:04:00 +10:00
Peter Stockings 525471d8c0 Separate timer function execution into dedicated worker process
- Move timer function scheduling and execution logic from `app.py` to new `worker.py`
- Update `Procfile` to launch worker process alongside web application
- Simplify main application startup by removing scheduler configuration
- Maintain existing timer function execution and logging behavior
2025-02-23 17:57:16 +11:00
Peter Stockings df9378ac23 Update Flask version in requirements.txt
- Upgrade Flask from version 2.2.2 to 2.2.5
- Maintain compatibility with existing project dependencies
2025-02-23 16:50:25 +11:00
Peter Stockings 1b7cfcc8b8 Add background job scheduler for timer functions
- Implement asynchronous timer function execution using APScheduler
- Add support for concurrent timer function invocations with asyncio
- Create background job to check and run enabled timer functions at specified intervals
- Update requirements.txt to include aiohttp and flask-apscheduler
- Configure thread pool executor for scheduler
- Add error handling and logging for timer function executions
2025-02-23 16:48:01 +11:00
Peter Stockings 556a4430ad Improve dashboard responsiveness and layout spacing
- Adjust grid layouts and spacing for better mobile and small screen support
- Reduce padding and margin sizes for compact displays
- Update text sizes and alignment for improved readability across devices
- Maintain existing dashboard structure and content
2025-02-23 16:47:31 +11:00
Peter Stockings ad84f39113 Update timer function logs display to show first log entry
- Modify logs template to extract and display the first log entry
- Preserve existing log display formatting and empty log handling
2025-02-23 16:47:07 +11:00
Peter Stockings 98f38d56bd Update default timer script to remove request parameter
- Modify default timer script to remove unused `req` parameter
- Simplify default script signature to match current usage
2025-02-21 00:22:08 +11:00
Peter Stockings f42c3257a8 Remove unused timer functions dashboard route and template
- Delete `/dashboard/timer_functions` route from `app.py`
- Remove `timer_functions.html` template
- Simplify application routing by eliminating unused dashboard view
2025-02-21 00:19:22 +11:00
Peter Stockings 3b7c630a44 Update dashboard navigation icons and styling
- Refresh Home and HTTP sidebar icons with new SVG designs
- Adjust icon sizes and stroke attributes for improved visual consistency
- Maintain existing navigation structure and functionality
2025-02-21 00:00:49 +11:00
Peter Stockings 02e703c62f Update dashboard navigation and login redirect
- Modify login route to redirect to home index instead of dashboard
- Refresh dashboard sidebar icons with new SVG designs
- Remove Analytics sidebar item from dashboard template
2025-02-20 23:53:55 +11:00
Peter Stockings 2d47235d95 Update build pack 2025-02-20 23:42:56 +11:00
Peter Stockings d4c0c0f262 Add home dashboard and Mithril rendering support
- Create new home route with comprehensive dashboard statistics
- Implement Mithril rendering support with new `mithril_loader.html` template
- Add new routes for home and test pages in `app.py`
- Create `lib/mithril.py` with Mithril rendering and error handling utilities
- Update dashboard template to use new home route
- Add detailed dashboard view with timer and HTTP function statistics
2025-02-20 23:35:46 +11:00
Peter Stockings 24a0c0ffef Enhance timer function tracking with invocation count and log storage
- Add `invocation_count` column to `timer_functions` table
- Change `logs` column in `timer_function_invocations` to JSONB type
- Create trigger function to automatically increment invocation count on new log entries
2025-02-20 22:51:52 +11:00
Peter Stockings 19b5508a9c Refactor timer settings UI in editor component
- Integrate timer settings directly into the main edit template
- Remove separate timer settings panel
- Improve layout and styling of timer configuration inputs
- Maintain existing functionality for interval and date-based triggers
2025-02-17 20:42:29 +11:00
Peter Stockings 0a70f90953 Simplify timer function edit template configuration
- Disable public, log request, and log response toggles in edit template
- Streamline edit view configuration for timer functions
2025-02-17 19:25:31 +11:00
Peter Stockings 17457e492e Add version history view for timer functions
- Implement `/history/<function_id>` route in timer routes to fetch and display function versions
- Create new Mithril `DiffView` component for comparing script versions
- Add new history template for timer functions with version comparison
- Include version diff functionality using AceDiff library
- Update header and edit templates to include history URL for timer functions
2025-02-17 19:19:45 +11:00
Peter Stockings 77957a61a3 Add logs view for timer functions
- Create new database table `timer_function_invocations` to track function executions
- Implement `/logs/<function_id>` route in timer routes to fetch and display invocation logs
- Add new logs template for timer functions with detailed invocation information
- Update header templates to include logs URL for timer functions
2025-02-17 00:24:49 +11:00
Peter Stockings 29da93a9f8 Update ResponseView to support timer function display
- Add `isTimer` flag to conditionally render response view tabs and details
- Hide preview and raw tabs for timer responses
- Automatically switch to logs tab for timer responses
- Conditionally hide status and size details for timer responses
2025-02-17 00:09:02 +11:00
Peter Stockings d5338f17c1 Hide client details in timer function edit template 2025-02-17 00:08:37 +11:00
Peter Stockings aeb880ed0a Update cancel URL handling in HTTP and timer function templates
- Modify header template to use explicit `cancel_url` parameter
- Add `cancel_url` to new timer and HTTP function templates
- Remove default URL fallback in header template
2025-02-16 20:22:03 +11:00
Peter Stockings e09437c7b8 Implement timer functions with full CRUD functionality and enhanced UI
- Add comprehensive routes for creating, editing, deleting, and toggling timer functions
- Create new HTML templates for timer function overview, new, and edit pages
- Extend Mithril editor component to support timer-specific settings like trigger type, frequency, and enabled status
- Implement database schema and versioning for timer functions
- Add UI improvements for timer function listing with detailed schedule and status information
2025-02-16 19:50:58 +11:00
Peter Stockings adeb62365b Update Jinja2 environment to include Flask's default globals and filters 2025-02-16 14:07:23 +11:00