Skip to content

Local development#105

Merged
656d696c65 merged 52 commits intomainfrom
local-development
May 5, 2026
Merged

Local development#105
656d696c65 merged 52 commits intomainfrom
local-development

Conversation

@656d696c65
Copy link
Copy Markdown
Member

No description provided.

&mile added 30 commits March 16, 2026 11:18
- add LinkedIn contact card to support documentation page
- replace GitHub plain text link with styled ButtonOutlineContent
- add API documentation link button to related resources section
- move GitHub icon button from hero header to footer
- add LinkedIn and GitHub social links group in homepage footer
- forward className from submitButtonProps to the Button.Content component
- remove fixed height from inputPassword and inputToggle containers
- add gap between password input and toggle button
- adjust padding and margin on password input field and eye icon button
- change hover border color from neutral/30 to neutral/50
- replace fontSize/lineHeight tokens with explicit rem values and add fontWeight
- replace inner focus border-radius with outline: none on password input
- add stroke color to eye icons for visibility
- change inputToggle border-radius from sm to md
- remove border-radius from selected toggle option outline
…r navigation

- add collapsible hamburger menu for SubPageLayout sidebar on
  mobile (hidden on md+ breakpoints)
- add collapsible hamburger menu for DocsLayout sidebar on
  mobile with toggle button
- add flexWrap to dashboard header, docs header, home page,
  and page navigation tabs for small screen wrapping
- extract SubPageLayout aside content into reusable variable
  shared between desktop sidebar and mobile menu
- add onClick prop to SidebarNavigation to close mobile menu
  on link click
- invalidate query cache when switching organizations in
  organizationPathRoute
- remove unused PopoverContent type alias and comment out
  default popover padding
- adjust docs layout padding to use uniform padding values
- add format:fix step before biome check in CI Dockerfile
- fix ternary formatting in inputPassword and indentation
  in inputToggle
- replace IconAbacus logo with custom SVG icon using
  primary color and stacked bar design
- separate logo icon and "Arrhes" text in home page header
- replace favicon.svg with favicon.ico and update index.html
  reference
- add inset box-shadow to outline button for depth effect
- change plain button border color from rgba to primary token
- add padding and gap to Popover.Content in inputCombobox,
  inputComboboxMultiple, inputSelect, and dashboard layout
- fix indentation in index.html and inputSelect type definition
- add publicDir config to vite and fix root-relative script src
- mark automation feature as isDev in pricing page
- split monolithic accounts, reports, and glossary pages
  into individual sub-pages with dedicated routes
  (accounts/classes, accounts/list, account detail,
  journal, grand livre, balance, bilan, compte de
  résultat, annexe, glossary term)
- add double-entry accounting page as a new dedicated
  section between introduction and records
- expand root accounting page with course plan overview
  and step-by-step navigation
- rewrite introduction page with historical context and
  legal references, add cross-links to glossary terms
- update sidebar navigation to support nested routes
  with optional title/icon sections and active state
  for child routes
- add params and hash support to DocLink, DocNextPage,
  and LinkButton for parameterized routing
- refactor DocGlossaryEntry to reuse DocDefinition and
  generate anchor IDs from term names
- restyle document components: update DocDefinition
  layout and colors, make DocExample header always
  visible with default label, remove left border accent
  from DocTip variants, adjust paragraph text color
- update Logo component to support optional text display
- adjust buttonOutlineContent box-shadow opacity
- remove redundant headings from root doc pages (API,
  dashboard, general)
- correct account classes range from "1 à 7" to "1 à 8"
  in getting started page
…ies and fix border styles

- move accounting doc pages and routes into nested subdirectories
  (accounts/, glossary/, introduction/, reports/) for better
  organization
- rename doc pages to follow consistent naming convention
  (e.g., bilanPage → balanceSheetAccountingDocPage,
  grandLivrePage → ledgerAccountingDocPage)
- remove PCG 2026 diff tracking fields (removed, added,
  previousLabel, previousSystem) from AccountEntry interface
  and account data
- simplify AccountDetailPage by removing PCG 2026 diff banners,
  practical usage section, and class-specific tips
- extract rootAccountingDocPage into introduction/ subdirectory
  as a new standalone component
- replace generic borderColor with directional border color
  properties (borderBottomColor, borderTopColor, borderRightColor)
  across ~20 components
- update docsTree route imports and navigation paths to match
  new directory structure
- fix income statement doc path to use accented "résultat"
- add Panda codegen step in dev website Dockerfile CMD for
  ui and website packages
- simplify table header styling in docRouteRequest (remove
  textTransform, letterSpacing, adjust color)
…rs to accounting docs

- add examples field to AccountEntry interface and populate
  ~870 example entries across all account classes
- add ~170 descriptions to accounts lacking them
- display journal entry examples with debit/credit rows on
  non-summary account pages
- add info banner on summary accounts (1-2 digits) explaining
  they cannot be used directly in journal entries
- add counterpart account resolution logic to generate
  contextual journal entry rows per account class
- add warning tip on records introduction page about summary
  account restrictions
- hide "Fonctionnement" and "Utilisation pratique" sections
  for summary accounts
- update internal route paths from comptes/$account to
  comptes/liste/$account
- remove unused ChildDiffTag component and ValidRoutes type
- remove withText prop from Logo in docs sidebar
… pages

Add DocSources component and integrate it into all 17 accounting doc
pages, citing authoritative references (ANC PCG, Wikipedia, Légifrance)
to back the documentation content.
…ument components

- add Open Graph, Twitter Card, and JSON-LD structured data
  (Organization, WebSite, SoftwareApplication, BreadcrumbList)
  to rootLayoutRoute with per-route description and robots support
- add meta descriptions to all route beforeLoad contexts
  (docs, dashboard, API, sign-in, sign-up, home, error)
- add sitemap generator Vite plugin that extracts account and
  glossary slugs from source data to build a complete sitemap.xml
- enhance index.html with OG/Twitter meta tags, theme-color,
  and improved keywords and description
- add og.png and og.webp Open Graph images
- add "neutral" variant to DocTip with custom icon and title
  props, change content wrapper from span to div
- refactor DocDefinition and DocExample to compose via DocTip
  instead of duplicating layout/styling
- change DocDefinition and DocGlossaryEntry API from definition
  prop to children prop pattern
- add DocSourceRef component for inline source reference links
- add optional description prop to DocNextPage component
- refine DocSources styling: add source IDs, move hover styles
  to inner span, fix borderColor specificity
- extract accountAccountingDocPage into lazy-loaded per-account
  page components (~866 page files) with shared reusable
  components (accountInfoCard, accountPageHeader, infoRow, etc.)
- add accountPageRegistry for dynamic account page resolution
- set noindex/nofollow robots directive on dashboard and error
  routes
- replace catch-all route redirect logic with a dedicated
  NotFoundPage component
- add SEO metadata (title, description, noindex) to the
  catch route's beforeLoad
- create notFoundPage with 404 heading, descriptive message,
  and navigation buttons to home and documentation pages
- use lazyRouteComponent for code-splitting the not found page
…d data into accountsData.ts

- replace 866 individual account page components with a single
  generic page (accountAccountingDocPage.tsx) that reads the
  URL param and renders the correct account dynamically
- delete the entire pages/ directory (866 files) and
  accountPageRegistry.ts which mapped account numbers to
  lazy-loaded page components
- move all derived account data (counterpart, usageTips,
  debitMeaning, creditMeaning, journalExample) directly into
  accountsData.ts as explicit inline fields on each
  defineAccount() call
- remove runtime computation functions from accountUtilities.ts
  (getCounterpartForAccount, getJournalExample, getUsageTips,
  getDebitMeaning, getCreditMeaning) and the enrichment loops
  that ran them
- simplify debitCreditSection.tsx and practicalUsageSection.tsx
  to read pre-computed fields from account entries instead of
  computing them at render time
…ps into JournalEntryExamples

- delete practicalUsageSection.tsx and move usageTips rendering
  into journalEntryExamples.tsx
- remove PracticalUsageSection import and usage from
  accountAccountingDocPage.tsx
- fix defineAccount regex in sitemap plugin to handle
  multiline function calls
- add scrollRestoration: true to createRouter configuration
- add explicit 1-day cache rules for favicon.ico, og.png, and og.webp
- remove ico from the immutable 1-year cache regex to prevent
  stale favicon caching
- unhashed assets now get max-age=86400 instead of
  max-age=31536000 with immutable
…ry/entryLine/tag

- rename record → entry, recordRow → entryLine, recordLabel → tag
  across models, schemas, API routes, metadata routes, website
  features, and tests
- rename database tables: table_record → table_entry,
  table_record_row → table_entry_line,
  table_record_label → table_tag
- add new entryTag join model (table_entry_tag) to replace the
  direct idRecordLabel foreign key on records with a
  many-to-many relationship between entries and tags
- add entryTags API routes (addOneEntryTag, removeOneEntryTag,
  readAllEntryTags) and update duplicateOneEntry to copy tags
- remove flag column from entryLine (previously recordRow) model
- add FEC file export feature to entries page
- update seed data, integration tests, docs, and dashboard
  routes to reflect the new naming
- fix formatting in inputCombobox, inputComboboxMultiple,
  inputSelect, and dropdownContent components
- add zIndex to dropdownContent for proper layering
- delete .dev/2026.json data file
…nts and UI consistency

- add english translations and per-term sources to glossary data model
- extract GlossaryListItem into its own component with translation display
- replace custom styled links/cards with ButtonOutlineContent in
  account pages (parent, children, glossary term, error report)
- remove AccountPageHeader component and use DocHeader directly
- make DocDefinition term prop optional for flexible reuse
- add children slot to ButtonContentProps for custom inner content
- update ANC source URL across all accounting doc pages
- compute isSelectable from account number length instead of
  using static data in createOneYear API route
…dedicated sub-routes

- add reusable Tab component (Tab.Root) using router-based
  navigation instead of local useState tab switching
- extract layout shells (entryLayout, fileLayout, accountLayout,
  journalLayout, tagLayout, balanceSheetLayout,
  incomeStatementLayout, computationLayout,
  computationIncomeStatementLayout, entryLineLayout) with
  shared header, banners, and Tab.Root
- split monolithic detail pages into dedicated tab routes
  (informations, metadata, lines, categories, visualisation,
  postes) as child routes under each layout
- replace Outlet passthrough in layout routes with
  lazyRouteComponent imports for code splitting
- add dashboard catch-all route with dashboardNotFoundPage
- add computationsPage replacing the redirect on /computations
- remove unique constraint on tag label in tag model
- simplify InputComboboxMultiple to always append selected
  option instead of toggling, remove check icon
- increase PageContent gap from 0.5rem to 1rem
- replace em dash (—) with hyphen (-) across codebase
  (AGENTS.md, comments, docs data, UI labels, page titles)
- reorder node:crypto imports to follow external-first convention
- adjust indentation in ensureStorageBucket and rootLayoutRoute
- extract inline css() calls to module-level constants in virtualizer
- skip measureElement and ref measurement when childSize is provided,
  using fixed-size estimation instead of dynamic measurement
- export ACCOUNT_ITEM_HEIGHT constant and set fixed row height
- remove useDeferredValue wrapping for globalFilter and
  structuredAccounts in accountsTable to avoid unnecessary
  deferred renders
- add fecAccountingDocPage with definition, file structure,
  naming convention, obligations, sanctions, and Arrhes integration
- add fecAccountingDocRoute with lazy-loaded component
- register FEC route in docsTree and add entry in docSections
- update ledger doc next page link to point to FEC page
  instead of annexe
- add link to fec.arrhes.com validator tool in FEC export dialog
- remove unused destructured variables in entryLayout
- reorder node:crypto imports to comply with import sorting
  rules in checkUserSessionMiddleware and seed
- format glossaryTermAccountingDocPage for line length
  consistency
- add admin package with sign-in page, dashboard layout,
  and ticket management UI
- add admin API routes (signIn, signOut, readAdminUserSession)
  with dedicated session middleware
- add ticket and ticketMessage models, schemas, and route
  definitions for both admin and dashboard users
- replace sendSupportMessage with full ticket CRUD: create,
  read, update, list tickets and messages
- rename user/userSession models to dashboardUser/
  dashboardUserSession, add adminUser/adminUserSession models
- restructure metadata routes from auth/public to
  dashboard/auth, dashboard/public, and admin
- move shared UI components (inputs, LinkButton, command,
  popover, virtualizer, formatNull, pageNavigation) from
  website to ui package
- add Docker build and dev configurations for admin package
- update website support page to display ticket list with
  detail view and message thread
…in ticket pages

- move format components (FormatBase, FormatBoolean, FormatDate,
  FormatDateTime, FormatError, FormatFileSize, FormatLink, FormatPrice,
  FormatSelect, FormatText) from website to ui package
- move Chip layout component from website to ui package
- move toast system (ToasterProvider, Toast, useToast) from website
  contexts to ui package overlays
- update all website imports to consume formats, Chip, and toast
  from @arrhes/ui instead of local paths
- add react-dom and @types/react-dom to ui package dependencies
- split admin ticketDetailPage monolith into separate components:
  ticketLayout, ticketPage, ticketMessageList,
  createOneTicketMessage, and statusToggle
- restructure admin ticket routes with layout/child route pattern
  ($idTicketLayoutRoute + $idTicketRoute)
- replace local formatDate functions in admin with shared formatDate
  from @arrhes/ui
- add StatusToggle to website ticket layout with DataWrapper
- improve website ticket message list styling with border container
  and time display
- sort metadata model and schema imports alphabetically
- fix formatting (import order, indentation) across api, ui, and
  metadata packages
- add authenticated agent routes for chat, session management, and undo actions
- add agent provider, executor, tool router, and system prompt utilities
- add agent session and message models, schemas, and dashboard auth route metadata exports
- add dashboard agent pages, routes, chat components, and tools catalog in website
- add assistant button in dashboard header with organization-aware navigation
- update ui button color variant from neutral to default and adjust outline interactions
- adjust page layout spacing and text line height for dashboard page components
- seed populated organization with a premium subscription ending date
- direct dependency updates:
  - packages/api @tanstack/ai: none -> 0.9.1
  - packages/api @tanstack/ai-ollama: none -> 0.6.3
  - packages/api @tanstack/ai-openai: none -> 0.7.2
  - packages/api @valibot/to-json-schema: none -> 1.2.0
  - packages/api openai: none -> 6.33.0
  - packages/api vitest: ^4.0.18 -> 4.0.18
  - packages/website @vitest/browser: ^4.0.18 -> 4.0.18
  - packages/website playwright: ^1.58.2 -> 1.58.2
  - packages/website vitest: ^4.0.18 -> 4.0.18
  - packages/website @radix-ui/react-context-menu: ^2.2.16 -> 2.2.16
  - packages/website @tanstack/ai-react: none -> 0.7.5
  - packages/website mdast-util-gfm-table: none -> ^2.0.0
  - packages/website micromark-extension-gfm-table: none -> ^2.1.1
  - packages/website react-markdown: none -> 10.1.0
…tion

- relocate agent feature files from features/agent/ to
  features/dashboard/agent/ to colocate with dashboard code
- redesign AgentNewSessionPage with greeting, input area,
  suggestion chips, and disclaimer instead of bare chat
- add module-level pending message store to pass first
  message from new session page to AgentChat on mount
- nest agent routes under organization path
  (/organisations/$idOrganization/agent) instead of
  top-level /dashboard/agent/$idOrganization
- remove standalone agentToolsPage and agentToolsRoute,
  move tools catalog to dashboard agent directory
- redesign AgentPage layout with persistent sidebar for
  session list and new-session button
- add session search with full-text matching on titles
  and message content via readAllAgentSessions endpoint
- add usedTools field to agentMessage model, schema, and
  persistence logic to track which tools each message used
- auto-generate session titles using a lightweight LLM
  call on first user message (fire-and-forget)
- improve intent router with explicit documentation
  classification rule and additional examples
- expand documentation tool category description to cover
  guides, API docs, and all application features
- sort toolCategories imports alphabetically
- add AI assistant documentation section under dashboard
  docs with introduction, models, tools, and OCR pages
- add assistant navigation entries to docSections
- update dashboardLayout to toggle assistant/dashboard
  button based on current route and require organization
- redirect /dashboard/ to last-used organization via cookie
- add "neutral" variant to ButtonColor type and update
  ghost/outline/plain button recipes for default color
- fix message ordering with asc(createdAt) in
  readOneAgentSession
- set dashboard layout to full viewport height with
  overflow hidden for proper nested scrolling
…tructure routing

- remove AgentNewSessionPage and replace it with AgentOrganizationPage, which renders
  AgentChat without a session ID — the welcome screen is now an inline state of AgentChat
- add welcome screen directly to AgentChat: greeting, input form, suggestion chips,
  and disclaimer rendered when no session, no messages, and no pending message exist
- move session title generation from async LLM call to a direct truncation of the first
  user message text (up to 128 chars), set synchronously on session insert
- remove generateSessionTitle and its fire-and-forget pattern, along with the
  delayed query invalidation workaround it required
- remove the assistant toggle button from DashboardLayout and replace it with a
  permanent "Assistant" nav entry in OrganizationLayout
- add mobile sidebar support in AgentPage: hamburger menu toggle on small screens,
  sidebar breakpoint changed from lg to md
- restructure agent route tree: nest session routes under a new /sessions layout
  route (agentSessionsLayoutRoute), updating all navigation targets accordingly
- move agentLayoutRoute parent from organizationPathRoute to organizationLayoutRoute
  so the agent shares the organization sidebar navigation
- filter out mid-stream interrupted assistant messages in
  convertStoredMessagesToUIMessages to avoid displaying incomplete entries
- remove the empty-state placeholder message from the existing session view
…ing, improve UI

- Schema: replace role column with userMessage field in agentMessage table
- API: move Bull enqueue outside transaction, add updateOneAgentSession route
- API: fix SSE race conditions (dedicated Redis subscriber, re-check after subscribe)
- API: handle completed/error states in SSE endpoint gracefully
- Worker: rebuild conversation history with proper user→assistant alternation
- Worker: emit TEXT_BOUNDARY markers for interleaved tool/text display
- Worker: capture RUN_ERROR and persist error messages to DB
- Website: SSE auto-detect on page load, polling fallback, auto-scroll
- Website: interleave tool calls with text parts using TEXT_BOUNDARY markers
- Website: error part rendering (red-tinted box), Enter-to-send, InputTextArea
- Website: session context popover (year selector, custom instructions)
- Website: delete session via dropdown menu with confirmation dialog
- Clean up dead code: old.agentChat.ts, executor.ts, router.ts, provider.ts,
  mistralAdapter.ts, old.agentSessionPage copy.tsx, agentSessionList.tsx
- Fix biome lint warnings (formatting, unused variables, Date.now())
Remove leading dots from workflow subdirectory names.
Update all references in justfile, docs, Dockerfiles, entrypoints,
compose files, and GitHub Actions workflow.
&mile added 22 commits April 14, 2026 14:31
…, stream fix

- Add file import for agent with OCR processing (Mistral API)
- Add SHA-256 hash dedup for files and OCR content
- Add entry deduplication rules and entry-by-entry workflow
- Strip isComputedFor* fields from tool schema
- Add context limit warning (80% threshold) with SSE event
- Fix [object Object] stream bug with typeof string guard
- Add idFile linking for entries created from files
- Fix Biome lint errors (useTemplate, noUselessContinue, import ordering)
…ponents

- Add filter popover to all 5 report pages (journal, ledger, balance, balance sheet, income statement)
- Filter by journal (single combobox) and category/tags (multiple combobox)
- Refactor InputComboboxMultiple to use InputText + Virtualizer (remove cmdk dependency)
- Align InputComboboxMultiple styling with InputCombobox
- Fix tooltip clipping in drawers via TooltipPortal with z-index
- Fix disabled button cursor visibility
- Fix Biome import ordering in ui/index.ts
…t, and email validation

- Add user profile page at /dashboard/profil with settings sections
- Add UpdateUserEmail drawer with email validation flow
- Add UpdateUserPassword drawer
- Add DeleteUser drawer with sole admin protection
- Add ValidateUserEmail inline component with code input and resend button
- Add resendEmailValidation API route and metadata definition
- Add deleteUser API route and metadata definition
- Enable sendEmail in updateUserEmail API route
- Use API error messages in toast notifications
- Fix biome import ordering in UI and API packages
…ranslations

- Add subagent delegation system with 4 specialized roles (data_analyst,
  entry_creator, document_processor, auditor) and recursive depth limit
- Switch billing from message-count to token-based (64M tokens/month)
- Move file attachments from message-level to session-level with OCR
- Add tool translation catalog and strip raw tool names from LLM output
- Show tool calls immediately during streaming (awaiting → completed)
- Add UsageBar component for token/OCR usage on subscription page
- Add streaming loader and subagent indicator in chat UI
- Add system prompt rule enforcing entry lines creation
- Increase maxIterations from 10 to 20
- Add DB migration for token tracking and subagent fields
- Use isNull() for nullable idYear column in eq() calls across file route handlers
- Conditionally spread idYear in storage metadata objects
- Convert ContextClients from static-only class to plain object
- Fix import sorting in runAgentSession.ts
- Add @ mention system with searchable dropdown for accounts, entries, journals, tags, files
- New MentionInput component with contentEditable, chip insertion, and dropdown positioning
- Add searchReferenceable API endpoint with ILIKE search across entity tables
- Persist references on agentMessage model (JSONB column + migration)
- Resolve referenced entities to full JSON in worker system prompt
- Display reference chips on sent messages
- Simplify file attachment: paperclip button opens picker, auto-uploads, shows file chips in input area
- Fix biome import ordering in runAgentSession.ts
- Create defineEntryTemplate factory in metadata package with types
- Extract amortization template from website to shared metadata
- Rename 'lines' to 'entryLines' across route, API handler, and forms
- Add 'description' field to template definitions
- Add buildEntryTemplatesDocumentation() helper for agent context
- Create apply_entry_template agent tool with auto account resolution
- Inject template docs into agent system prompt
- Add ./entryTemplates subpath export to metadata package
…ation

- Long-press-to-drag (300ms) on table rows with visual feedback (outline +
  background highlight when ready to drag)
- Full-row drag/drop in FilesTable via getRowProps on DataTable; highlights
  drop targets, dims dragged item, suppresses click after drag
- Drag-and-drop for both files and folders in FilesGrid (folders are now
  draggable sources as well as drop targets)
- Move file/folder dialogs accessible via actions dropdown and context menu
  (MoveOneFileForm, MoveOneFolderForm) with descendant-folder exclusion
- File upload deduplication: SHA-256 hash computed on client, server returns
  existing record if hash+org+year already present; distinct toasts for
  added / duplicate / error cases
- DataTable: text ellipsis in cells (maxWidth:0 + overflow:hidden), last
  column exempt; getRowProps prop for per-row className and event handlers
- UI: fix cursor inheritance in Button/ButtonGhostContent/ButtonOutlineContent;
  remove preventDefault from DialogContent onClick
- InputCheckbox: custom styled checkbox with clip-path checkmark animation,
  primary color fill on checked/indeterminate, appearance:none with ::before
  pseudo-element using transform scale for smooth draw-in effect
- DataTable: internal rowSelection state via TanStack rowSelection API;
  new props enableRowSelection, getRowId, selectionActions, resetSelectionTrigger;
  memoized selectColumnDef/allColumns to avoid re-rendering all cells on tick;
  meta.fit column option for shrink-to-content column widths;
  ColumnMeta module augmentation for fit property
- FilesTableSelectionActions: extracted component with bulk delete for files
  and folders, uses Extract<TableRow> type narrowing
- EntriesTable: migrated to DataTable-internal selection, removed external
  selectedIds/handleBulkDelete state
- fix(lint): remove unused biome-ignore suppression in dataTable.tsx;
  fix export ordering in ui/src/index.ts
- Add docsSearchIndexPlugin() Vite plugin that generates 'virtual:docs-search-index' at build/dev time
  - Manifest maps every static doc route to its source TSX file + nav metadata
  - extractDocPageContent(): scrapes title/description props, DocList items, DocTable rows, JSX text nodes
  - extractAccountEntries(): parses accountsData.ts — one entry per PCG account (866 entries)
  - extractGlossaryEntries(): parses glossaryData.ts — one entry per glossary term (37 entries)
  - HMR: invalidates virtual module on any watched doc/data file change
- Add type declaration for virtual:docs-search-index in vite-env.d.ts
- Remove static docsSearchIndex.ts (replaced by virtual module)
- docsSearch.tsx: uniform result layout — chunk (highlighted match), path, title
- docsSearch.tsx: max-height 70vh + overflow-y scroll on results panel
- docsLayout.tsx: pull DocsSearch out of breadcrumb div as its own flex child (flex:1, maxWidth:512px)
- Replace document route + S3-stored PDF with react-pdf client-side rendering
  for balance sheet and income statement downloads
- Add balanceSheetReportPdf.tsx and incomeStatementReportPdf.tsx using
  @react-pdf/renderer with local fmt() to avoid formatPrice incompatibilities
- Fix XML download using fetch→blob→createObjectURL (was opening new tab)
- Add generateBalanceSheetXml and generateIncomeStatementXml API routes
- Remove document model, document routes, and server-side PDF generation routes
- Add DB migration 0018_schema_cleanup.sql
- Remove dead worker code: aiClient, qdrantClient, embeddings, vectors,
  scoring engine, example files, saveToStorage
- Remove stale @evidencesystem/schemas workspace dependency from worker
- Update billing: subscription pricing, wallet, invoice UBL, cancel flows
- Update account creation/update routes and metadata models
- Fix Biome formatting issues across modified files
@656d696c65 656d696c65 merged commit 8a8de68 into main May 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant