Commit graph

28 commits

Author SHA1 Message Date
Adam Moussa
864531b51e
feat(api): portal contract, cookie auth, and domain stubs (AP-51) (#64)
* feat(api): serve portal-shaped health and error envelope

Move liveness to GET /api/health { stage, sha } with a Node 24 image on 8080 so ALB probes and deploy verify do not need auth or a database ping.

* feat(api): switch live auth to host cookie BFF

Replace Bearer as the documented session path with Cognito hosted UI plus __Host-ap_* cookies so the SPA can call /api with credentials include.

* feat(web): add unused cookie SPA API client

Land a credentials-include fetch helper and hand-synced health/me types without wiring pages or domain hooks, so mocks stay the default data path.

* feat(api): add master-data OpenAPI and Hono stubs

* feat(api): add invoice, line, and document stubs

* feat(api): add approval policy, inbox, and activity stubs

* test(web): fix SPA client fetch mock types

* test(web): cast fetch mock call args for tsc

* fix(api): do not default DEV_AUTH_BYPASS outside local migrate

* fix(api): replace invoice lines in a single transaction

* fix(api): create invoices and lines in one transaction

* fix(api): inline GIT_SHA from the image build arg

* fix(api): stop PATCH from skipping the approval workflow

* fix(api): address review feedback

* fix(ci): format upsert-user test

* fix(api): document only the auth statuses the routes return

* fix(api): drop health 400 responses the routes never return
2026-09-25 22:43:44 +00:00
renovate[bot]
81d5d5c97a
chore(deps): update dependency vitest to v5 (#63)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-25 22:39:24 +00:00
Adam Moussa
f10dddf6f2
feat(web): add minimal Filter slide-over for invoice processing (AP-46) (#19)
* feat(web): fix shell chrome, logo home, and live nav badges

Refs: AP-42

* feat(web): add invoice grid lines and bold headers

Refs: AP-44

* feat(web): support auto row height for multi-line invoice cells

Refs: AP-44

* feat(web): expand mock invoice fields for Stampli column catalog

Refs: AP-47

* feat(web): add Action and Vendor filters to invoice processing

Refs: AP-43

* feat(web): add multi-line Stampli invoice cell renderers

Refs: AP-47

* feat(web): align filter toolbar layout, field shapes, and tabs

Refs: AP-43

* feat(web): add Columns slide-over with Stampli HTML defaults

Refs: AP-45

* feat(web): add minimal Filter slide-over for invoice processing

Refs: AP-46

* fix(web): address review feedback

* fix(web): address review feedback

* fix(web): address review feedback

* ci: remove the pr policy caller

* fix(web): keep mock catalog dates and updates in sync

* fix(web): render the attention banner as text

* fix(web): keep pay date editable on the approved grid

* fix(web): make the attention banner non-interactive copy

* fix(web): derive mock action labels from invoice status

* fix(web): restore link-style attention banner copy

* fix(ci): drop the unused catalog refresh index

* fix(web): assert the vendor column by its grid field

* fix(ci): format invoice mock helpers

* fix(web): hide Payment Date when the drawer omits it

* test(web): keep filters applied when the drawer closes

* fix(web): count filtered rows on invoice tabs
2026-09-25 22:35:10 +00:00
Adam Moussa
ee2f7a9902
feat(web): add Columns slide-over with Stampli HTML defaults (AP-45) (#18)
* feat(web): fix shell chrome, logo home, and live nav badges

Refs: AP-42

* feat(web): add invoice grid lines and bold headers

Refs: AP-44

* feat(web): support auto row height for multi-line invoice cells

Refs: AP-44

* feat(web): expand mock invoice fields for Stampli column catalog

Refs: AP-47

* feat(web): add Action and Vendor filters to invoice processing

Refs: AP-43

* feat(web): add multi-line Stampli invoice cell renderers

Refs: AP-47

* feat(web): align filter toolbar layout, field shapes, and tabs

Refs: AP-43

* feat(web): add Columns slide-over with Stampli HTML defaults

Refs: AP-45

* fix(web): address review feedback

* fix(web): address review feedback

* fix(web): address review feedback

* ci: remove the pr policy caller

* fix(web): keep mock catalog dates and updates in sync

* fix(web): render the attention banner as text

* fix(web): keep pay date editable on the approved grid

* fix(web): make the attention banner non-interactive copy

* fix(web): derive mock action labels from invoice status

* fix(web): restore link-style attention banner copy

* fix(ci): drop the unused catalog refresh index

* fix(web): assert the vendor column by its grid field

* fix(ci): format invoice mock helpers

* fix(web): hide Payment Date when the drawer omits it

* fix(web): count filtered rows on invoice tabs

* fix(web): close the columns drawer before editing pay date
2026-09-25 22:28:05 +00:00
renovate[bot]
894a73dd13
fix(deps): update npm minor and patch (#62)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 16:14:46 +00:00
renovate[bot]
91ff2e4b06
fix(deps): update npm minor and patch (#61)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-14 17:45:53 +00:00
renovate[bot]
8b6aa3bc4e
fix(deps): update npm minor and patch (#58)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-10 23:14:55 +00:00
renovate[bot]
24c36d3080
fix(deps): update dependency hono to ^4.13.7 [security] (#59)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-09 18:45:55 +00:00
renovate[bot]
a2cbcfb7e8
fix(deps): update dependency @mui/material to v9 (#53)
* fix(deps): update dependency @mui/material to v9

* fix(deps): couple @mui/icons-material v9 and migrate system props

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Adam Moussa <adam@seahavenind.com>
2026-08-25 20:26:42 +00:00
renovate[bot]
63986295ab
chore(deps): update dependency @vitejs/plugin-react to v6 (#45)
* chore(deps): update dependency @vitejs/plugin-react to v6

* fix(deps): regenerate lockfile for @vitejs/plugin-react v6

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Adam Moussa <adam@seahavenind.com>
2026-08-25 20:26:40 +00:00
renovate[bot]
4051323135
chore(deps): update dependency vite to v8 (#48)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 18:27:09 +00:00
renovate[bot]
1f7132198f
chore(deps): update node.js to v24 (#49)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 18:19:38 +00:00
renovate[bot]
553779444d
fix(deps): update dependency @mui/x-data-grid to v9 (#54)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 18:18:51 +00:00
renovate[bot]
e65c4a0994
chore(deps): update dependency globals to v17 (#46) 2026-08-25 17:12:42 +00:00
renovate[bot]
ea10810f93
fix(deps): update npm minor and patch (#44) 2026-08-25 16:53:09 +00:00
dependabot[bot]
4118de4edc
chore(deps): bump jsdom from 26.1.0 to 30.0.1 (#25)
* chore(deps): bump jsdom from 26.1.0 to 30.0.1

Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.0.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](https://github.com/jsdom/jsdom/compare/v26.1.0...v30.0.1)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 30.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(package): align node engine with jsdom

Co-authored-by: Adam Moussa <amoussa1229@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Adam Moussa <amoussa1229@users.noreply.github.com>
2026-08-17 23:14:58 +00:00
dependabot[bot]
085293f8f7
chore(deps): bump the minor-and-patch group with 7 updates (#27)
Bumps the minor-and-patch group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@redocly/cli](https://github.com/Redocly/redocly-cli) | `2.46.0` | `2.46.1` |
| [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | `7.0.0` | `7.0.1` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.3` | `0.5.4` |
| [@aws-sdk/client-rds-data](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-rds-data) | `3.1107.0` | `3.1111.0` |
| [@hono/node-server](https://github.com/honojs/node-server) | `2.1.0` | `2.1.1` |
| [hono](https://github.com/honojs/hono) | `4.13.1` | `4.13.2` |
| [@faker-js/faker](https://github.com/faker-js/faker) | `10.5.0` | `10.6.0` |

Updates `@redocly/cli` from 2.46.0 to 2.46.1
- [Release notes](https://github.com/Redocly/redocly-cli/releases)
- [Commits](https://github.com/Redocly/redocly-cli/compare/@redocly/cli@2.46.0...@redocly/cli@2.46.1)

Updates `@testing-library/jest-dom` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v7.0.0...v7.0.1)

Updates `eslint-plugin-react-refresh` from 0.5.3 to 0.5.4
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.5.3...v0.5.4)

Updates `@aws-sdk/client-rds-data` from 3.1107.0 to 3.1111.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-rds-data/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1111.0/clients/client-rds-data)

Updates `@hono/node-server` from 2.1.0 to 2.1.1
- [Release notes](https://github.com/honojs/node-server/releases)
- [Commits](https://github.com/honojs/node-server/compare/v2.1.0...v2.1.1)

Updates `hono` from 4.13.1 to 4.13.2
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.13.1...v4.13.2)

Updates `@faker-js/faker` from 10.5.0 to 10.6.0
- [Release notes](https://github.com/faker-js/faker/releases)
- [Changelog](https://github.com/faker-js/faker/blob/next/CHANGELOG.md)
- [Commits](https://github.com/faker-js/faker/compare/v10.5.0...v10.6.0)

---
updated-dependencies:
- dependency-name: "@redocly/cli"
  dependency-version: 2.46.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@testing-library/jest-dom"
  dependency-version: 7.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: eslint-plugin-react-refresh
  dependency-version: 0.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@aws-sdk/client-rds-data"
  dependency-version: 3.1111.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@hono/node-server"
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: hono
  dependency-version: 4.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@faker-js/faker"
  dependency-version: 10.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-08-17 19:17:32 +00:00
dependabot[bot]
0cabfd9d7e
chore(deps): bump vitest from 3.2.7 to 4.1.10 (#23)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 3.2.7 to 4.1.10.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.10/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.10
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-08-17 19:08:58 +00:00
dependabot[bot]
4feb3278af
chore(deps): bump @faker-js/faker from 9.9.0 to 10.5.0 (#24)
Bumps [@faker-js/faker](https://github.com/faker-js/faker) from 9.9.0 to 10.5.0.
- [Release notes](https://github.com/faker-js/faker/releases)
- [Changelog](https://github.com/faker-js/faker/blob/next/CHANGELOG.md)
- [Commits](https://github.com/faker-js/faker/compare/v9.9.0...v10.5.0)

---
updated-dependencies:
- dependency-name: "@faker-js/faker"
  dependency-version: 10.5.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-17 19:05:56 +00:00
dependabot[bot]
74f75fd9f6
chore(deps): bump ky from 1.14.3 to 2.0.2 (#26)
Bumps [ky](https://github.com/sindresorhus/ky) from 1.14.3 to 2.0.2.
- [Release notes](https://github.com/sindresorhus/ky/releases)
- [Commits](https://github.com/sindresorhus/ky/compare/v1.14.3...v2.0.2)

---
updated-dependencies:
- dependency-name: ky
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-08-17 19:01:54 +00:00
Adam Moussa
9d3646876e
feat(api): stand up Hono Drizzle foundation with auth and Redocly (AP-14) (#12)
* feat(api): stand up Hono Drizzle foundation with auth and Redocly

* fix(api): bump drizzle-orm and hono node-server past audit highs

* fix(api): harden auth upsert and Cognito token verification
2026-08-11 00:10:49 +00:00
Adam Moussa
46b570352a
feat(shared): add payment ladder and CSV domain package (AP-13) (#11)
* feat(shared): add payment ladder and CSV domain package

Introduce @seahaven-ap/shared via npm workspaces so FE and future API share
payments-dashboard-compatible status ladders, pay-date helpers, and CSV headers.

* fix(web): build shared package before vite dev

Ensure fresh npm ci && npm run dev (and Playwright webServer) can resolve
@seahaven-ap/shared dist exports that are gitignored.
2026-08-10 19:28:02 -04:00
dependabot[bot]
9c792b0bbb
chore(deps): bump react-router from 7.18.2 to 8.3.0 (#5)
Bumps [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) from 7.18.2 to 8.3.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@8.3.0/packages/react-router)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 8.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 21:40:44 +00:00
dependabot[bot]
88c3a2560d
chore(deps): bump @eslint/js from 9.39.5 to 10.0.1 (#3)
* chore(deps): bump @eslint/js from 9.39.5 to 10.0.1

Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.39.5 to 10.0.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 10.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(deps): align eslint 10 with @eslint/js peer dependency

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam Moussa <adam@seahavenind.com>
2026-08-10 21:38:16 +00:00
dependabot[bot]
0136cfe5ad
chore(deps): bump @testing-library/jest-dom from 6.9.1 to 7.0.0 (#6)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.9.1 to 7.0.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.9.1...v7.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-version: 7.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 21:22:20 +00:00
dependabot[bot]
cf84852e37
chore(deps): bump eslint-plugin-react-refresh (#2)
Bumps the minor-and-patch group with 1 update: [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh).


Updates `eslint-plugin-react-refresh` from 0.4.26 to 0.5.3
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.26...v0.5.3)

---
updated-dependencies:
- dependency-name: eslint-plugin-react-refresh
  dependency-version: 0.5.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 17:18:33 -04:00
712e40b9a4
fix(frontend): load IBM Plex fonts for MUI theme 2026-08-10 16:56:54 -04:00
bff873c2df
feat(frontend): scaffold vite spa and ci (AP-4) 2026-08-10 16:42:19 -04:00