Commit Graph

1108 Commits

Author SHA1 Message Date
Scott Idem
56fa003382 feat(journals): implement centralized export templates and bulk interop
- Added 'ae_journals_export_templates.ts' with Markdown, HTML, and JSON support
- Refactored 'ae_comp__modal_journal_export.svelte' to use the new template system
- Optimized bulk export with automated template selection based on Journal type
- Integrated 'Import Entries' action directly into the Journal menu
- Updated project documentation to reflect portability features and implementation status
2026-01-14 12:55:45 -05:00
Scott Idem
0143f18ebb feat(journals): implement auto-save toggle and visual status
- Added 'auto_save' preference to journals store
- Added toggle and status indicators (Check/X/Loader) to JournalEntry_Header
- Implemented auto-save logic with debounce in Journal Entry view
2026-01-13 23:52:42 -05:00
Scott Idem
d691fa8cb3 feat(journals): implement bulk Markdown import with multiple parsing strategies
- Added 'ae_journals_parsers.ts' with Standard, Personal Log, and Amazon Vine parsers (ported from Python)
- Created 'AeCompModalJournalImport' for file selection, preview, and API submission
- Integrated Import button into Journals list view
2026-01-13 23:22:46 -05:00
Scott Idem
93dd8271eb fix: resolve Svelte 5 'props_invalid_value' error by removing defaults from $bindable props
Binding to an undefined value when a $bindable prop has a default fallback causes a runtime error in Svelte 5 runes mode. Defaults are now applied within the component logic.
2026-01-12 12:50:35 -05:00
Scott Idem
5056d5d8f0 Standardize Core UI forms and unify schemas for V3 API compatibility
- Implement new Svelte 5 Person, Address, and Contact form components with surgical payload logic.
- Refactor core routes (People, Addresses, Contacts) to support unified Create/Edit workflows.
- Update ae_types.ts, db_core.ts, and db_journals.ts to align with V3 backend object models.
- Fix type safety issues in Journal history views and refine metadata display.
- Migrate person core functions to the newer ae_core__person module.
2026-01-09 15:14:36 -05:00
Scott Idem
5ffab36ef7 Add independent settings access to AI Tools component
- Added a dedicated gear button to open the AI modal directly to the Settings tab.
- Resolved the 'chicken and egg' problem where settings were inaccessible if the AI process failed.
- Improved layout consistency with inline-flex wrapper.
2026-01-08 18:16:45 -05:00
Scott Idem
b912350829 Add Demo Mode and error handling to AE_AITools component
- Implemented 'Demo Mode' fallback when no API token is provided.
- Ensured the AI modal opens even on connection errors to display troubleshooting info.
- Improved user feedback with simulated loading states for demo data.
2026-01-08 18:15:16 -05:00
Scott Idem
51bdad9485 Centralize AI configuration into generic AE_AITools component
- Enhanced AE_AITools with a Settings tab for model, prompt, and parameter configuration.
- Connected AE_AITools to Journals state via two-way bindings for persistent configuration.
- Removed redundant AI settings from Journals config modal.
- Standardized Svelte 5 patterns for cross-module component configuration.
2026-01-08 18:12:15 -05:00
Scott Idem
c884eed52c Implement generic AE_ObjectFlags and AE_MetadataFooter components
- Created AE_ObjectFlags.svelte for standardized flag management across all modules.
- Created AE_MetadataFooter.svelte for unified creation/update/original timestamp display.
- Modularized Journal Entry view by replacing manual flag and footer logic with generic elements.
- Improved code reusability and reduced main component complexity.
2026-01-08 18:08:47 -05:00
Scott Idem
efe8677ab6 Implement generic AE_AITools component and integrate into Journals
- Created reusable AE_AITools.svelte in src/lib/ae_elements for system-wide AI features.
- Refactored Journal Entry view to utilize the generic AI toolset.
- Cleaned up redundant module-specific AI logic and modal code.
- Standardized Svelte 5  patterns for AI summary results.
2026-01-08 18:02:05 -05:00
Scott Idem
6146cebaa4 Fix build warnings and restore missing event sync function
- Restored sync_config__event_pres_mgmt in ae_events__event.ts to resolve import errors.
- Removed unused OpenAI import in journal entry view.
- Removed unused Html5QrcodeScannerState import in QR scanner component.
- Improved build consistency for staging and production environments.
2026-01-08 16:17:57 -05:00
Scott Idem
dd0390a5dd Refine Journals UI and harden entry toggle logic
- Implemented 3-state (View/Eye/Save) toggle in journal entry header with Lucide icons.
- Hardened change detection logic using Svelte 5 .by for reliable UI updates.
- Improved header responsiveness and scaling across device sizes.
- Commented out experimental CodeMirror toolbar to maintain stability while keeping the helper code for reference.
2026-01-08 15:38:28 -05:00
Scott Idem
4c8f09e588 Finalize Unified Type Migration and scaffold core logistics logic
- Completed the unified type system in ae_types.ts covering all 42 active Aether objects.
- Scaffolded missing core logic modules for Organization, EventTrack, and Sponsorship with standardized return types.
- Updated project roadmap in TODO.md to reflect mission completion on foundational type parity.
2026-01-08 15:11:37 -05:00
Scott Idem
2b21031beb Fix CodeMirror stability and dispatch errors
- Replaced dangerous custom dispatch override with EditorView.updateListener.
- Resolved 'Uncaught TypeError: child is undefined' by allowing CodeMirror to manage its own update cycle.
- Improved Svelte state syncing for new_content.
2026-01-08 14:56:19 -05:00
Scott Idem
66ddc9ace4 Fix duplicate declaration of editorView in CodeMirror component 2026-01-08 14:43:10 -05:00
Scott Idem
01ced00f78 Refactor Journals UI and enhance CodeMirror editor
- Added formatting toolbar to journal entry editor with support for bold, italic, headers, and lists.
- Standardized iconography to Lucide across Journals module, removing legacy FontAwesome.
- Improved responsiveness and dark mode compatibility in layout and list views.
- Refactored CodeMirror component to support external control via editorView binding.
- Hardened security by removing unnecessary @html tags in journal names.
2026-01-08 14:39:26 -05:00
Scott Idem
9d6b0ef568 Migrate Journal module to unified type system
- Added detailed fields for ae_EventPerson, ae_EventRegistration, ae_AccountCfg, and others to ae_types.ts.
- Replaced local interfaces in ae_journals__journal.ts with unified imports.
- Standardized Promise return types for all core data loading, creation, search, and update functions in Journal module.
- Finalized migration for primary Identity and Journal objects.
2026-01-08 14:19:22 -05:00
Scott Idem
e138f12c6d Migrate Event Exhibit and Tracking modules to unified type system
- Added ae_EventExhibit and ae_EventExhibitTracking interfaces to ae_types.ts.
- Replaced local interfaces in ae_events__exhibit.ts with unified imports.
- Standardized Promise return types for all core data loading, creation, and update functions in Exhibit and Tracking logic.
- Integrated triple-ID patterns for lead retrieval and booth management components.
2026-01-08 14:15:45 -05:00
Scott Idem
8656fa0c42 Migrate Posts and Event Presentations to unified type system
- Integrated ae_Post, ae_PostComment, ae_Page, and ae_Archive types into logic files.
- Replaced local interfaces in ae_posts__post.ts and ae_posts__post_comment.ts.
- Standardized Promise return types for all CRUD and loading functions in Post and Presentation modules.
- Synchronized event presentation logic with V3 triple-ID patterns.
2026-01-08 14:06:31 -05:00
Scott Idem
541a06135c Migrate Event child modules to unified type system
- Added ae_EventFile, ae_EventDevice, ae_EventAbstract, and ae_Organization to ae_types.ts.
- Replaced local interfaces in EventFile and EventDevice logic files with unified imports.
- Standardized Promise return types for all core data loading, creation, search, and update functions.
- Integrated triple-ID patterns for Dexie and V3 API parity across files and devices.
2026-01-08 13:59:03 -05:00
Scott Idem
c46485a954 Migrate Content and Storage modules to unified type system
- Added ae_HostedFile, ae_HostedFileLink, ae_DataStore, ae_Post, ae_PostComment, ae_Page, ae_Archive, and ae_ArchiveContent to ae_types.ts.
- Replaced local interfaces in core__hosted_files.ts and core__data_store.ts with unified imports.
- Replaced local interfaces in ae_archives/*.ts with unified imports.
- Standardized Promise return types for all core data loading, creation, search, and update functions across migrated modules.
- Synchronized storage and archival modules with Backend V3 field naming and Triple-ID patterns.
2026-01-08 13:44:07 -05:00
Scott Idem
113905f731 Migrate Event logistics modules to unified type system
- Added ae_EventLocation, ae_EventSession, ae_EventPresenter, and ae_EventTrack to ae_types.ts.
- Replaced local interfaces in logistics logic files with unified imports.
- Standardized Promise return types for all core data loading, creation, search, and update functions.
- Integrated triple-ID patterns for Dexie and V3 API parity across locations, sessions, and presenters.
2026-01-08 12:49:31 -05:00
Scott Idem
777f453894 Migrate Address and Contact modules to unified type system
- Added ae_Address and ae_Contact interfaces to ae_types.ts.
- Replaced local interfaces in Address and Contact logic files with unified imports.
- Standardized Promise return types for all core data loading, creation, and update functions in migrated modules.
- Refined field optionality to align with frontend CRUD requirements.
2026-01-08 12:22:47 -05:00
Scott Idem
324b65394a Migrate User and ActivityLog modules to unified type system
- Added ae_User and ae_ActivityLog interfaces to ae_types.ts.
- Replaced local interfaces in User and ActivityLog logic files with unified imports.
- Standardized Promise return types for all core data loading, creation, and update functions.
- Verified permission field alignment for User type to support hierarchical access logic.
2026-01-08 12:20:21 -05:00
Scott Idem
25b51e1081 Migrate Event and EventBadge modules to unified type system
- Updated ae_types.ts with ae_Event, ae_EventBadge, and ae_EventBadgeTemplate interfaces.
- Standardized return types (Promise<ae_Event[]>, etc.) for all core loading and CRUD functions in Events module.
- Integrated triple-ID patterns for Dexie and V3 API parity in event-related objects.
- Cleaned up local interface redundancies in favor of unified imports.
2026-01-08 12:10:31 -05:00
Scott Idem
78bbba5999 Migrate Person and Site modules to unified type system
- Updated ae_types.ts with detailed fields for ae_Person, ae_Site, and ae_SiteDomain based on V3 backend exports.
- Replaced local interfaces in ae_core__person.ts and ae_core__site.ts with unified imports.
- Added explicit Promise return types to all core data loading and CRUD functions in Person and Site modules.
- Standardized triple-ID pattern and return signatures across core identity and configuration modules.
2026-01-08 11:37:32 -05:00
Scott Idem
d9848234a4 Implement unified frontend type system and migrate core modules
- Created src/lib/types/ae_types.ts to serve as the central repository for Aether object interfaces.
- Standardized interfaces to include the triple-ID pattern (id, [type]_id, [type]_id_random) for Dexie and V3 API compatibility.
- Migrated Account and JournalEntry modules to use ae_Account and ae_JournalEntry types.
- Added explicit Promise return types to all core data loading, creation, and update functions in migrated modules.
2026-01-08 11:35:06 -05:00
Scott Idem
e355b7649d Refactor core API helpers and implement System Testing Dashboard
- Unified and hardened get, post, patch, and delete helpers with standardized retry logic, kebab-case headers, and V3 response envelope handling.
- Implemented robust 'Bootstrap Paradox' resolution logic across the API stack to handle unauthenticated site domain lookups safely.
- Enhanced API helpers to support custom fetch injection, enabling reliable server-side execution in SvelteKit.
- Upgraded /testing page into a comprehensive System Testing Dashboard for core helper and V3 search verification.
- Updated TODO.md and GEMINI.md with 2026-01-08 session learnings and 'Frontier Journals' vision.
2026-01-08 11:30:05 -05:00
Scott Idem
e20898e513 Implement Bootstrap Paradox resolution for V3 site domain lookup
- Modified lookup_site_domain_v3 to strictly strip auth headers for guest lookup
- Enhanced /testing page with FQDN input and improved error visibility
- Updated TODO.md with Technical Debt refactoring roadmap
- Documented Unified Aether AI Agent (UE-AE-01) transition progress in GEMINI.md
2026-01-07 19:28:09 -05:00
Scott Idem
ea0d57658f Standardize JWT authentication and finalize Activity Log V3 migration 2026-01-07 17:43:23 -05:00
Scott Idem
3ed3f9ed90 Fix Activity Log visibility and search query construction
- Changed default 'enabled' and 'hidden' filters to 'all' for activity logs
- Refactored qry__activity_log to avoid sending empty 'and' arrays
- Ensured consistent filtering between API function and UI
2026-01-07 12:41:18 -05:00
Scott Idem
07479f17a8 Implement Activity Log management and Person activity integration
- Updated qry__activity_log to support filtering by person_id
- Created /core/activity_logs standalone page for monitoring system actions
- Enhanced Person detail page with 'Recent Activity' column showing real data
- Added 'Activity Logs' card to the Core Management dashboard
2026-01-07 12:20:52 -05:00
Scott Idem
5bd7c4756c Complete editable fields whitelists for all remaining AE objects
- Created .editable_fields.ts files for Journals, Events, and Sponsorships modules
- Standardized the whitelist pattern across the entire codebase
- Updated TODO.md and GEMINI.md with recent accomplishments and learnings
2026-01-07 11:56:28 -05:00
Scott Idem
9c6df5c7f9 Finalize IDAA Bulletin Board V3 migration and fix UI filtering issues
- Ensured 'account_id' is injected into post objects during processing to maintain IndexedDB filter consistency
- Resolved race condition by awaiting database clearing before refreshing posts
- Corrected 'archive_on' date comparison logic in BB component
- Exported 'qry__post' and enabled comment fetching during post search
- Updated GEMINI.md and TODO.md with project progress
2026-01-07 11:37:36 -05:00
Scott Idem
c0fc5052ab Fix SSR errors, enhance Person activity views, and expand Core CRUD
- Resolved Svelte 5 / SvelteKit SSR errors by adding browser checks for window.postMessage and Dexie database operations
- Prevented side effects on global state during detail page preloading by refactoring people/[person_id]/+page.ts to use shallow copies
- Implemented full V3 CRUD support, detail pages, and editable_fields for Address and Contact modules
- Enhanced Event and Post search to support filtering by person_id, enabling real related data in the Person detail view
- Fixed missing onMount import in Person detail component
2026-01-06 19:20:27 -05:00
Scott Idem
6d0531e227 Restore server-side 'conference' filter and finalize IDAA migration
- Restored 'conference' search filter in ae_events__event.ts (now supported by backend)
- Maintained local filtering as a safety fallback
- Finalized Bulletin Board (Posts) V3 migration
- Added editable_fields for all remaining IDAA-related core objects
2026-01-06 18:06:32 -05:00
Scott Idem
43d32f2e3e Migrate Bulletin Board (Posts) to V3 and finish IDAA V3 migration
- Migrated Post and Post Comment modules to Aether API CRUD V3
- Added editable_fields for Posts and Post Comments
- Implemented local filtering for 'archive_on' in BB route as V3 workaround
- Verified IDAA Archives and Recovery Meetings are functional on V3
- Ensured all IDAA logic follows the API -> Processor -> DB Save pattern
2026-01-06 17:47:17 -05:00
Scott Idem
bfa1943889 Fix IDAA Recovery Meetings loading and optimize API retry logic
- Implemented workaround for 'conference' field search restriction in V3 by using local filtering
- Optimized post_object to stop retrying on 4xx client errors (400, 401, 403)
- Migrated Archives and Event/Recovery Meeting modules to Aether API CRUD V3
- Added editable_fields definitions for Archive and Archive Content objects
2026-01-06 17:22:19 -05:00
Scott Idem
e1f97d5154 Migrate initial site domain lookup to Aether API CRUD V3
- Implemented lookup_site_domain_v3 in ae_core__site.ts using Search API
- Refactored root +layout.ts to use the new V3 lookup logic
- Standardized top-level data initialization with V3 response metadata
- Improved security by transitioning to standardized V3 API patterns
2026-01-06 16:41:06 -05:00
Scott Idem
d2084de4d8 Fix 500 error, add Address/Contact placeholders, and enhance Person activity view
- Fixed broken import path in /core dashboard
- Simplified core layout data requirements to prevent crashes
- Implemented V3 CRUD and Dexie tables for Addresses and Contacts
- Created placeholder management pages for /core/addresses and /core/contacts
- Added 'Linked Activity & Content' section to Person detail page to show related events and posts
2026-01-06 16:16:31 -05:00
Scott Idem
00e80af3a1 Migrate Event Badges to V3 and implement Core Management pages
- Completed V3 migration for Event Badge CRUD operations
- Implemented User module V3 logic and editable fields
- Created management routes for Accounts, Sites, Users, and Lookups
- Updated Site Domain logic to use 'fqdn' and show 'access_key'
- Modernized Core Dashboard with navigation cards
- Restored Dexie User table definition
2026-01-06 13:38:47 -05:00
Scott Idem
1b318eeb8b Migrate Core modules (Account, Site, Person, Activity Log) to Aether API CRUD V3 pattern
- Created V3 logic files: ae_core__account.ts, ae_core__site.ts, ae_core__person.ts
- Standardized on API -> Processor -> DB Save pattern
- Added editable_fields definitions for Account, Site, Person, and Activity Log
- Updated Activity Log module to use V3 wrappers
- Updated Dexie schema with account, site, and site_domain tables
- Added V3 tests to testing page
2026-01-06 12:55:50 -05:00
Scott Idem
c6476cd767 Implement V3 PATCH/DELETE wrappers and migrate Journals module to full V3 CRUD.
- Added update_ae_obj_v3, update_nested_obj_v3, delete_ae_obj_v3, and delete_nested_ae_obj_v3.
- Refactored Journals and Journal Entries modules to utilize the new V3 API wrappers.
- Standardized data processing and IDB caching for all CRUD operations in Journals.
- Updated testing page with comprehensive V3 CUD test buttons.
2026-01-05 19:30:12 -05:00
Scott Idem
d066da9047 The ability to use V3 Create Nested works. 2026-01-05 19:10:07 -05:00
Scott Idem
45f7393ee3 Now with a working V# GET ID and GET nested ID. 2026-01-05 18:52:11 -05:00
Scott Idem
bb6b3b7352 The sorting now works and some missing fields were added. 2026-01-05 18:29:41 -05:00
Scott Idem
17589596bc Improved sorting for badges. Waiting on an API fix to include the missing badge fields. I think only the minimum is being returned. We need things like the print_count, print_first_datetime, and other fields. 2026-01-05 18:02:09 -05:00
Scott Idem
cdca5d64be Work on cleaning up the order by for badges. 2026-01-05 17:00:00 -05:00
Scott Idem
60057814c7 Work on switching to the new CRUD V3. 2026-01-02 20:29:43 -05:00
Scott Idem
6eb601f56d Saving changes to the Journals and API CRUD V3 fixes. 2026-01-02 19:30:33 -05:00