Brad Groux
55d98a6017
fix task popout spacing and harden webhook
CI / Lint & Type Check (push) Waiting to run
CI / Workspace Unit Tests (push) Waiting to run
CI / Build (push) Waiting to run
CI / Security Audit (push) Waiting to run
2026-05-03 22:40:24 -05:00
Brad Groux
179b1b709c
Merge pull request #278 from BradGroux/dependabot/npm_and_yarn/typescript-6.0.2
...
CI / Lint & Type Check (push) Has been cancelled
CI / Workspace Unit Tests (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
chore: bump typescript from 5.9.3 to 6.0.2
2026-04-14 22:21:03 -05:00
bradgroux
4c06d1faa2
chore: regenerate pnpm lockfile cleanly
2026-04-14 22:19:31 -05:00
bradgroux
ae392c0de4
fix(web): silence TypeScript 6 baseUrl deprecation
2026-04-14 22:16:51 -05:00
bradgroux
2b2d8d85a9
fix(shared): add DOM lib and node types for TypeScript 6 compatibility
...
TypeScript 6 tightened implicit global resolution; fetch/RequestInit
(TS2304) and process (TS2591) were no longer implicitly available.
Add DOM to lib for fetch/RequestInit and types:["node"] for process.
2026-04-14 22:16:51 -05:00
dependabot[bot]
acaf875d2d
chore: bump typescript from 5.9.3 to 6.0.2
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 6.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 6.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-14 22:16:50 -05:00
Brad Groux
015d7adf4a
Merge pull request #277 from BradGroux/dependabot/npm_and_yarn/production-dependencies-5b6777a9a2
...
chore: bump the production-dependencies group with 21 updates
2026-04-14 21:42:35 -05:00
Brad Groux
9baf8946a1
Merge pull request #276 from BradGroux/dependabot/github_actions/pnpm/action-setup-6
...
chore: bump pnpm/action-setup from 5 to 6
2026-04-14 21:40:41 -05:00
dependabot[bot]
ef60d621cd
chore: bump the production-dependencies group with 21 updates
...
Bumps the production-dependencies group with 21 updates:
| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.5.2` | `25.6.0` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ) | `8.58.0` | `8.58.2` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ) | `8.58.0` | `8.58.2` |
| [prettier](https://github.com/prettier/prettier ) | `3.8.1` | `3.8.2` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) | `4.1.2` | `4.1.4` |
| [content-disposition](https://github.com/jshttp/content-disposition ) | `1.0.1` | `1.1.0` |
| [dotenv](https://github.com/motdotla/dotenv ) | `17.4.1` | `17.4.2` |
| [file-type](https://github.com/sindresorhus/file-type ) | `22.0.0` | `22.0.1` |
| [simple-git](https://github.com/steveukx/git-js/tree/HEAD/simple-git ) | `3.35.2` | `3.36.0` |
| [unpdf](https://github.com/unjs/unpdf ) | `1.4.0` | `1.6.0` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8 ) | `4.1.2` | `4.1.4` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query ) | `5.96.2` | `5.99.0` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `1.7.0` | `1.8.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react ) | `19.2.4` | `19.2.5` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ) | `19.2.4` | `19.2.5` |
| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn ) | `4.1.2` | `4.2.0` |
| [autoprefixer](https://github.com/postcss/autoprefixer ) | `10.4.27` | `10.5.0` |
| [jsdom](https://github.com/jsdom/jsdom ) | `29.0.1` | `29.0.2` |
| [postcss](https://github.com/postcss/postcss ) | `8.5.8` | `8.5.9` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.0.5` | `8.0.8` |
| [hono](https://github.com/honojs/hono ) | `4.12.11` | `4.12.12` |
Updates `@types/node` from 25.5.2 to 25.6.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@typescript-eslint/eslint-plugin` from 8.58.0 to 8.58.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/eslint-plugin )
Updates `@typescript-eslint/parser` from 8.58.0 to 8.58.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/parser )
Updates `prettier` from 3.8.1 to 3.8.2
- [Release notes](https://github.com/prettier/prettier/releases )
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prettier/prettier/compare/3.8.1...3.8.2 )
Updates `vitest` from 4.1.2 to 4.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.4/packages/vitest )
Updates `content-disposition` from 1.0.1 to 1.1.0
- [Release notes](https://github.com/jshttp/content-disposition/releases )
- [Commits](https://github.com/jshttp/content-disposition/compare/v1.0.1...v1.1.0 )
Updates `dotenv` from 17.4.1 to 17.4.2
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md )
- [Commits](https://github.com/motdotla/dotenv/compare/v17.4.1...v17.4.2 )
Updates `file-type` from 22.0.0 to 22.0.1
- [Release notes](https://github.com/sindresorhus/file-type/releases )
- [Commits](https://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1 )
Updates `simple-git` from 3.35.2 to 3.36.0
- [Release notes](https://github.com/steveukx/git-js/releases )
- [Changelog](https://github.com/steveukx/git-js/blob/main/simple-git/CHANGELOG.md )
- [Commits](https://github.com/steveukx/git-js/commits/simple-git@3.36.0/simple-git )
Updates `unpdf` from 1.4.0 to 1.6.0
- [Release notes](https://github.com/unjs/unpdf/releases )
- [Commits](https://github.com/unjs/unpdf/compare/v1.4.0...v1.6.0 )
Updates `@vitest/coverage-v8` from 4.1.2 to 4.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.4/packages/coverage-v8 )
Updates `@tanstack/react-query` from 5.96.2 to 5.99.0
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.99.0/packages/react-query )
Updates `lucide-react` from 1.7.0 to 1.8.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.8.0/packages/lucide-react )
Updates `react` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react )
Updates `react-dom` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-dom )
Updates `shadcn` from 4.1.2 to 4.2.0
- [Release notes](https://github.com/shadcn-ui/ui/releases )
- [Changelog](https://github.com/shadcn-ui/ui/blob/main/packages/shadcn/CHANGELOG.md )
- [Commits](https://github.com/shadcn-ui/ui/commits/shadcn@4.2.0/packages/shadcn )
Updates `autoprefixer` from 10.4.27 to 10.5.0
- [Release notes](https://github.com/postcss/autoprefixer/releases )
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.27...10.5.0 )
Updates `jsdom` from 29.0.1 to 29.0.2
- [Release notes](https://github.com/jsdom/jsdom/releases )
- [Commits](https://github.com/jsdom/jsdom/compare/v29.0.1...v29.0.2 )
Updates `postcss` from 8.5.8 to 8.5.9
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.9 )
Updates `vite` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.0.8/packages/vite )
Updates `hono` from 4.12.11 to 4.12.12
- [Release notes](https://github.com/honojs/hono/releases )
- [Commits](https://github.com/honojs/hono/compare/v4.12.11...v4.12.12 )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 25.6.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
dependency-version: 8.58.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@typescript-eslint/parser"
dependency-version: 8.58.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: prettier
dependency-version: 3.8.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vitest
dependency-version: 4.1.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: content-disposition
dependency-version: 1.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: dotenv
dependency-version: 17.4.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: file-type
dependency-version: 22.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: simple-git
dependency-version: 3.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: unpdf
dependency-version: 1.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: "@vitest/coverage-v8"
dependency-version: 4.1.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@tanstack/react-query"
dependency-version: 5.99.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: lucide-react
dependency-version: 1.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: react
dependency-version: 19.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: react-dom
dependency-version: 19.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: shadcn
dependency-version: 4.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: autoprefixer
dependency-version: 10.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: jsdom
dependency-version: 29.0.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: postcss
dependency-version: 8.5.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vite
dependency-version: 8.0.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: hono
dependency-version: 4.12.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 23:31:09 +00:00
dependabot[bot]
f9df657d09
chore: bump pnpm/action-setup from 5 to 6
...
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup ) from 5 to 6.
- [Release notes](https://github.com/pnpm/action-setup/releases )
- [Commits](https://github.com/pnpm/action-setup/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: pnpm/action-setup
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 23:21:19 +00:00
Brad Groux
bacbd07a1b
Merge pull request #274 from BradGroux/dependabot/npm_and_yarn/production-dependencies-cc85bb0106
...
CI / Lint & Type Check (push) Has been cancelled
CI / Workspace Unit Tests (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
chore: bump the production-dependencies group across 1 directory with 17 updates
2026-04-08 22:15:58 -05:00
dependabot[bot]
ccdffe2960
chore: bump the production-dependencies group across 1 directory with 17 updates
...
Bumps the production-dependencies group with 17 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@playwright/test](https://github.com/microsoft/playwright ) | `1.58.2` | `1.59.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.5.0` | `25.5.2` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ) | `8.57.2` | `8.58.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ) | `8.57.2` | `8.58.0` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) | `4.1.1` | `4.1.2` |
| [dotenv](https://github.com/motdotla/dotenv ) | `17.3.1` | `17.4.1` |
| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit ) | `8.3.1` | `8.3.2` |
| [simple-git](https://github.com/steveukx/git-js/tree/HEAD/simple-git ) | `3.33.0` | `3.35.2` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8 ) | `4.1.1` | `4.1.2` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query ) | `5.95.2` | `5.96.2` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `1.0.1` | `1.7.0` |
| [react-grid-layout](https://github.com/STRML/react-grid-layout ) | `2.2.2` | `2.2.3` |
| [recharts](https://github.com/recharts/recharts ) | `3.8.0` | `3.8.1` |
| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn ) | `4.1.0` | `4.1.2` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.0.2` | `8.0.5` |
| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk ) | `1.27.1` | `1.29.0` |
| [hono](https://github.com/honojs/hono ) | `4.12.9` | `4.12.11` |
Updates `@playwright/test` from 1.58.2 to 1.59.1
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.58.2...v1.59.1 )
Updates `@types/node` from 25.5.0 to 25.5.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@typescript-eslint/eslint-plugin` from 8.57.2 to 8.58.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/eslint-plugin )
Updates `@typescript-eslint/parser` from 8.57.2 to 8.58.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/parser )
Updates `vitest` from 4.1.1 to 4.1.2
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.2/packages/vitest )
Updates `dotenv` from 17.3.1 to 17.4.1
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md )
- [Commits](https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.1 )
Updates `express-rate-limit` from 8.3.1 to 8.3.2
- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases )
- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v8.3.1...v8.3.2 )
Updates `simple-git` from 3.33.0 to 3.35.2
- [Release notes](https://github.com/steveukx/git-js/releases )
- [Changelog](https://github.com/steveukx/git-js/blob/main/simple-git/CHANGELOG.md )
- [Commits](https://github.com/steveukx/git-js/commits/simple-git@3.35.2/simple-git )
Updates `@vitest/coverage-v8` from 4.1.1 to 4.1.2
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.2/packages/coverage-v8 )
Updates `@tanstack/react-query` from 5.95.2 to 5.96.2
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.96.2/packages/react-query )
Updates `lucide-react` from 1.0.1 to 1.7.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.7.0/packages/lucide-react )
Updates `react-grid-layout` from 2.2.2 to 2.2.3
- [Release notes](https://github.com/STRML/react-grid-layout/releases )
- [Changelog](https://github.com/react-grid-layout/react-grid-layout/blob/master/CHANGELOG.md )
- [Commits](https://github.com/STRML/react-grid-layout/compare/2.2.2...2.2.3 )
Updates `recharts` from 3.8.0 to 3.8.1
- [Release notes](https://github.com/recharts/recharts/releases )
- [Changelog](https://github.com/recharts/recharts/blob/main/CHANGELOG.md )
- [Commits](https://github.com/recharts/recharts/compare/v3.8.0...v3.8.1 )
Updates `shadcn` from 4.1.0 to 4.1.2
- [Release notes](https://github.com/shadcn-ui/ui/releases )
- [Changelog](https://github.com/shadcn-ui/ui/blob/main/packages/shadcn/CHANGELOG.md )
- [Commits](https://github.com/shadcn-ui/ui/commits/shadcn@4.1.2/packages/shadcn )
Updates `vite` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.0.5/packages/vite )
Updates `@modelcontextprotocol/sdk` from 1.27.1 to 1.29.0
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases )
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.29.0 )
Updates `hono` from 4.12.9 to 4.12.11
- [Release notes](https://github.com/honojs/hono/releases )
- [Commits](https://github.com/honojs/hono/compare/v4.12.9...v4.12.11 )
---
updated-dependencies:
- dependency-name: "@playwright/test"
dependency-version: 1.59.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: "@types/node"
dependency-version: 25.5.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
dependency-version: 8.58.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: "@typescript-eslint/parser"
dependency-version: 8.58.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: vitest
dependency-version: 4.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: dotenv
dependency-version: 17.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: express-rate-limit
dependency-version: 8.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: simple-git
dependency-version: 3.35.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: "@vitest/coverage-v8"
dependency-version: 4.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@tanstack/react-query"
dependency-version: 5.96.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: lucide-react
dependency-version: 1.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: react-grid-layout
dependency-version: 2.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: recharts
dependency-version: 3.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: shadcn
dependency-version: 4.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vite
dependency-version: 8.0.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@modelcontextprotocol/sdk"
dependency-version: 1.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: hono
dependency-version: 4.12.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 23:18:51 +00:00
dependabot[bot]
87a0c0fecd
chore: bump file-type from 21.3.4 to 22.0.0 ( #273 )
...
* chore: bump file-type from 21.3.4 to 22.0.0
Bumps [file-type](https://github.com/sindresorhus/file-type ) from 21.3.4 to 22.0.0.
- [Release notes](https://github.com/sindresorhus/file-type/releases )
- [Commits](https://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0 )
---
updated-dependencies:
- dependency-name: file-type
dependency-version: 22.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix: unblock security audit in dependabot file-type bump
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-03-31 03:15:55 -05:00
Brad Groux
766dfd19ab
Merge pull request #268 from BradGroux/docs/cleanup-and-freshness-sweep
...
docs: v4.0 documentation freshness sweep
2026-03-25 21:46:22 -05:00
bradgroux
aa4711b41c
docs: add sweep history to DOC-FRESHNESS tracking
...
- Record 2026-03-25 documentation sweep covering version refs,
governance docs, CHANGELOG, and examples
- Add Last Sweep table for tracking doc maintenance history
2026-03-25 21:42:34 -05:00
bradgroux
ced8ff11bf
docs: update CHANGELOG with post-4.0 fixes and improvements
...
- Add all merged fixes since v4.0.0 release (security hardening,
test isolation, build order, MIME validation)
- Add performance improvements (batch reads, type exports)
- Add security section with 6 hardening PRs
- Add docs section for governance audit and test coverage
2026-03-25 21:42:13 -05:00
bradgroux
6661cd0b3e
docs: update agent task workflow SOP for v4.0
...
- Remove version tags from section headers
- Add Governance Compliance section covering policy checks,
decision logging, and output scoring integration
2026-03-25 21:41:47 -05:00
bradgroux
19c2c4f449
docs: add v4.0 governance examples and remove version tags
...
- Add examples for policy evaluation, drift monitoring, and
decision audit trail (sections 11-13)
- Remove version tags from section headers (7-10) since features
are now part of the stable release
- Practical curl examples with realistic payloads
2026-03-25 21:41:19 -05:00
bradgroux
b01285ae2f
docs: clean up TESTING_ANALYTICS with dynamic dates
...
- Replace hardcoded 2026-02-04/05 dates with dynamic shell variables
- Simplify parallelism example output to be date-agnostic
- Remove hardcoded timestamps from example error responses
2026-03-25 21:40:29 -05:00
bradgroux
c1b4711162
docs: add v4.0 governance quick tips to Tips & Tricks
...
- Add quick reference table for all v4.0 governance features
- Cover policy engine, decision audit, output scoring,
drift detection, feedback analytics, system health,
dashboard widgets, and prompt registry
- Remove version number from Workflow Engine header
2026-03-25 21:39:59 -05:00
bradgroux
f906644be7
docs: add v4.0 governance best practices section
...
- Rename v3.3 section to 'Advanced Features'
- Add 5 new best practices for v4.0 governance features:
policy definition, drift monitoring, decision logging,
output scoring, and feedback loops
- Reference correct API endpoints for each practice
2026-03-25 21:39:29 -05:00
bradgroux
e3a9abc2fc
docs: update stale v3.x version references to v4.0
...
- FEATURES.md: update version header from v3.3 to v4.0
- BEST-PRACTICES.md: update section header for v3.3+ features
- WORKFLOW-GUIDE.md: update version and prerequisites to v4.0
- WORKFLOW_ENGINE_ARCHITECTURE.md: remove version from title (living doc)
- SOP-multi-agent-orchestration.md: remove version from section header
2026-03-25 21:39:01 -05:00
dependabot[bot]
02df89345a
chore: bump lucide-react from 0.577.0 to 1.0.1 ( #262 )
...
Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) from 0.577.0 to 1.0.1.
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.1/packages/lucide-react )
---
updated-dependencies:
- dependency-name: lucide-react
dependency-version: 1.0.1
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-03-23 21:42:15 -05:00
Brad Groux
bee813b2d6
fix(tests): use valid PNG IHDR chunks in mime-validation fixtures ( #266 )
...
file-type >=21.3.4 now validates PNG structure beyond just the 8-byte
signature. The minimal header+zeros buffer no longer detects as image/png.
Updated both the PNG acceptance test and the PNG-as-JPG mismatch test
to include a valid IHDR chunk (1x1 RGB pixel), making them compatible
with both current and upcoming file-type versions.
Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-03-23 20:30:59 -05:00
dependabot[bot]
a4a506c5c4
chore: bump pnpm/action-setup from 4 to 5 ( #260 )
...
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup ) from 4 to 5.
- [Release notes](https://github.com/pnpm/action-setup/releases )
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: pnpm/action-setup
dependency-version: '5'
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-03-23 20:26:33 -05:00
Brad Groux
9f49379b72
test: comprehensive unit tests for v4.0 governance services ( #249 ) ( #263 )
...
* test: decision-service tests (issue #249 )
* test: chat-service tests (issue #249 )
* test: feedback-service tests (issue #249 )
* docs: security audit findings for #254 — governance endpoint review
Audit-only report covering:
- v1 router rate limiting (confirmed global coverage)
- chat.ts: unbounded message/agent fields (MEDIUM)
- prompt-registry.ts: unbounded content/sampleVariables (MEDIUM)
- delegation.ts: missing .max() on string fields, unvalidated limit param (LOW)
- workflows.ts: unbounded context/config depth (LOW)
- No SSRF or path traversal vectors found in audited routes
No code changes. Fixes to be tracked in follow-up issues.
Closes #254 (audit report delivered)
* test: add remaining governance service coverage (#249 )
* chore: remove stray audit file from wrong branch
---------
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-03-23 20:16:55 -05:00
Brad Groux
3328a79b3f
test: add governance dashboard e2e coverage ( #264 )
...
Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-03-23 20:16:47 -05:00
Brad Groux
c89c5e5d7e
docs: add v4 governance security audit ( #265 )
...
Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-03-23 20:16:41 -05:00
Brad Groux
07f1b9857e
test(routes): add feedback, chat, and system-health route tests ( #250 ) ( #257 )
...
* perf(task-service): batch file reads with bounded concurrency (#253 )
- Add batchedMap() to fs-helpers.ts: Promise.all-based worker pool capped
at BATCH_CONCURRENCY (10) concurrent operations. Individual item errors
become null — one bad file never aborts the entire batch.
- Replace unbounded Promise.all in loadCacheFromDisk() with batchedMap()
- Replace unbounded Promise.all in listArchivedTasks() with batchedMap()
- Add batch-reads-benchmark.test.ts: concurrency-cap proof, order
preservation, error isolation, corrupt/missing file tolerance, and a
50-file wall-clock benchmark (3.4× improvement on local tmpfs)
Closes #253
* Revert "perf(task-service): batch file reads with bounded concurrency (#253 )"
This reverts commit a423e5ea25 .
* test(routes): add feedback, chat, and system-health route tests (#250 )
- feedback.test.ts: 27 tests covering GET/POST/PUT/DELETE, validation, auth, errors
- chat.test.ts: 32 tests covering sessions, squad messages, auth enforcement
- system-health.test.ts: 12 tests covering health check endpoints and response shape
All 71 tests pass. Closes #250
---------
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-23 20:16:33 -05:00
Brad Groux
c23d261b9e
perf(task-service): batch file reads with bounded concurrency ( #253 ) ( #255 )
...
- Add batchedMap() to fs-helpers.ts: Promise.all-based worker pool capped
at BATCH_CONCURRENCY (10) concurrent operations. Individual item errors
become null — one bad file never aborts the entire batch.
- Replace unbounded Promise.all in loadCacheFromDisk() with batchedMap()
- Replace unbounded Promise.all in listArchivedTasks() with batchedMap()
- Add batch-reads-benchmark.test.ts: concurrency-cap proof, order
preservation, error isolation, corrupt/missing file tolerance, and a
50-file wall-clock benchmark (3.4× improvement on local tmpfs)
Closes #253
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-23 20:16:25 -05:00
Brad Groux
450ee469ce
feat(shared): export governance, policy, and workflow types ( #252 ) ( #256 )
...
- Add shared/src/types/governance.ts — re-exports decision, drift, feedback, and scoring types from their canonical files
- Add shared/src/types/policy.ts — re-exports policy types from policy.types.ts
- Add shared/src/types/workflow.ts — extracts WorkflowDefinition, WorkflowRun, WorkflowStep, StepRunStatus and related types from server/src/types/workflow.ts into shared
- Update shared/src/types/index.ts to barrel-export workflow types
- Update shared/package.json with subpath exports for governance, policy, and workflow type paths
Closes #252
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-23 20:16:11 -05:00
Brad Groux
c4cbd715de
Merge pull request #248 from BradGroux/fix/shared-typecheck-drift
...
fix: build shared before typecheck to prevent export drift
2026-03-22 14:36:56 -05:00
Brad Groux
8fe134bd7d
fix: build shared before typecheck to prevent export drift
...
The root typecheck script ran `pnpm -r typecheck` without building
@veritas-kanban/shared first. Since shared/dist/ is gitignored, any
new type files added to shared/src/types/ (drift, decision, evaluation,
policy, prompt-registry, system-health, feedback) would not be compiled
to dist/, causing TS2305 errors in server imports.
CI already had the correct ordering (build shared → typecheck), but the
local dev script diverged. This aligns the root typecheck script with CI
by prepending `pnpm --filter @veritas-kanban/shared build`.
Resolves 80+ TS2305/TS2724 errors in server typecheck.
VK: task_20260322_l9Qj-A
2026-03-22 14:25:44 -05:00
Brad Groux
2fb680003e
Merge pull request #246 from BradGroux/fix/status-history-test-isolation
...
fix: isolate status history tests from real state
2026-03-22 14:24:26 -05:00
Brad Groux
ddca1b6cb4
fix: isolate status history tests from real state
2026-03-22 14:24:15 -05:00
Brad Groux
e9f63c9199
Merge pull request #244 from clintoncodewell/fix/build-shared-first
...
fix: build shared package before server and web
2026-03-22 14:06:18 -05:00
Ubuntu
6658294ce6
fix: build shared package before server and web
2026-03-22 08:58:08 +00:00
Brad Groux
7483cc67f3
fix(security): harden localhost bypass and broadcast frontmatter parsing ( closes #236 ) ( #242 )
...
- auth: disable localhost bypass entirely in production mode instead of
just logging a warning — prevents misconfigured deployments from
allowing unauthenticated access
- broadcast-storage: wrap JSON.parse() calls for tags and readBy
frontmatter fields in try-catch, defaulting to empty arrays on parse
failure instead of crashing the route handler
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:20:31 -05:00
Brad Groux
303b7935b6
fix(api): make startup init failures fatal and add shutdown timeouts ( closes #235 ) ( #241 )
...
- Service initialization (telemetry, policy, config, migrations) now
calls process.exit(1) on failure instead of silently continuing with
a partially broken server
- WebSocket server close gets a 3s timeout so stuck clients don't block
shutdown indefinitely
- Telemetry flush gets a 5s timeout so a stuck write queue doesn't
prevent shutdown
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:20:28 -05:00
Brad Groux
0fc2c834ae
fix(api): prevent config cache stampede and log corrupted activity files ( closes #234 ) ( #240 )
...
- config-service: coalesce concurrent getConfig() calls into a single
disk read via pendingRead promise, preventing cache stampede under load
- activity-service: log warning when corrupted activity file is reset
instead of silently discarding data
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:20:26 -05:00
Brad Groux
74dc3a9074
fix(api): WebSocket event listener leaks and add message rate limiting ( closes #233 ) ( #239 )
...
- Replace per-subscribe ws.on('close') listeners with tracked emitter
references, preventing listener accumulation when clients re-subscribe
- Add message rate limiting (30 msgs / 10s window) to prevent DoS via
WebSocket message spam
- Clean up emitter listeners on close handler to prevent callbacks on
destroyed sockets
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:20:23 -05:00
Brad Groux
aaf0f47ac6
fix(api): resolve promise handling issues causing crashes and data loss ( closes #232 ) ( #238 )
...
- gateway-chat-client: add settled flag to prevent multiple resolve/reject
on the same promise from concurrent timeout, error, and close events
- file-lock: add rejection handler on previous.then() in timeout path so
a rejected predecessor doesn't cause an unhandled rejection
- telemetry-service: capture event reference at enqueue time instead of
shifting from queue at write time, preventing event loss under concurrency
- status-history-service: await async init before any public method runs,
preventing race conditions when logStatusChange is called before
loadLastEntry completes
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:20:20 -05:00
Brad Groux
43725e69e2
fix(security): enforce HS256 algorithm in JWT verification ( closes #231 ) ( #237 )
...
Add explicit `algorithms: ['HS256']` to all `jwt.verify()` calls to
prevent algorithm confusion attacks (CVE-2015-9235). Without this,
an attacker could switch the algorithm header to exploit key type
mismatches and forge valid tokens.
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:20:18 -05:00
Brad Groux
dd35ad8a72
docs: update README for v4.0.0 release
...
- Move v4.0 roadmap items to Shipped section
- Add new SOP docs and self-hosting guide to documentation map
- Verify feature descriptions match shipped functionality
2026-03-21 12:51:39 -05:00
Brad Groux
70c8c06e56
docs: v4.0 documentation update and cleanup ( closes #229 ) ( #230 )
...
v4.0 docs update: CHANGELOG, README, FEATURES, API-REFERENCE, 11 new SOPs, MCP docs, version bumps to 4.0.0, docs cleanup. Closes #229 .
2026-03-21 12:20:16 -05:00
Brad Groux
e50119ab1e
feat(mcp): project management tools (reimplements #151 ) ( #227 )
...
Adds full CRUD project management tools to the MCP server:
- list_projects (with includeHidden filter)
- get_project (by ID)
- create_project (with Tailwind color validation)
- update_project (PATCH by ID)
- delete_project (with optional force flag)
- get_project_stats (NEW: task counts per status via GET /api/tasks?project=)
- reorder_projects (NEW: POST /api/projects/reorder)
Registers tools in mcp/src/index.ts alongside existing tool modules.
Includes 34 unit tests (all mocked, no server required).
Original implementation by @hekr4jivs in PR #151 .
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-21 11:51:56 -05:00
Brad Groux
66f498fd6d
docs: comprehensive self-hosting guide (reimplements #126 ) ( #226 )
...
Adds docs/guides/SELF_HOST.md covering:
- Prerequisites (Node.js, pnpm)
- Build steps
- Local hosting
- LAN access (HOST=0.0.0.0, CORS, VITE_ALLOWED_HOSTS)
- Tailscale Serve — root path and sub-path (/kanban/) routing
- Reverse proxy (nginx, Caddy) with sub-path examples
- Docker / docker-compose with sub-path build args
- Security (VERITAS_ADMIN_KEY, API keys, TRUST_PROXY, roles)
- Full environment variables reference table
- Troubleshooting (CORS, WebSocket, base path, rate limits, sessions)
Original contribution by @xechehot in PR #126 — the Vite base path
and VITE_ALLOWED_HOSTS config from that PR are already merged into main;
this adds the missing documentation guide.
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-21 11:51:49 -05:00
Brad Groux
f084ce7d39
fix: add missing requireDeliverableForDone to settings schema ( #228 )
...
The requireDeliverableForDone field was used in task-service.ts and
the UI (TasksTab.tsx) but was missing from the Zod validation schema
in feature-settings-schema.ts. Due to .strict() mode on
TaskBehaviorSettingsSchema, PATCH /api/settings/features rejected
any payload containing this field with a 400 error.
Fix: Add requireDeliverableForDone: z.boolean().optional() to
TaskBehaviorSettingsSchema after autoSaveDelayMs.
Also add tests verifying the field is accepted (true and false) and
that unknown fields are still rejected by strict mode.
Reimplements #130 . Original contribution by @TylonHH.
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-21 11:51:40 -05:00
Brad Groux
7868a92bea
fix: squad chat panel not scrollable ( #224 ) ( #225 )
...
Add min-h-0 to ScrollArea in flex column layout. Without it,
flex-1 items default to min-height:auto which prevents the
container from shrinking below content size, breaking overflow
scroll.
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-21 11:23:52 -05:00
Brad Groux
415a095d31
feat: Prompt Template Registry with Version Control ( #184 ) ( #220 )
...
* feat: prompt template registry with version control (#184 )
- Add PromptTemplate, PromptVersion, PromptUsage, PromptStats types
- Implement prompt-registry service with full CRUD, versioning, and usage tracking
- Add prompt-registry REST endpoints with preview rendering and statistics
- Create React Query hooks (usePromptTemplates, usePromptStats, etc.)
- Implement multi-tab PromptRegistry component with Templates, Versions, Usage, Stats, Preview tabs
- Add INTEGRATION.md documenting manual merge points for existing files
- Supports variable interpolation {{variable_name}} and changelog tracking
- File-based storage pattern consistent with existing template system
* fix: export prompt-registry types from shared barrel
* fix: handle optional changelog in prompt version
* fix: handle optional content field in version creation
* fix: remove unused imports and variables in prompt registry
* fix: remove all unused imports in prompt registry web files
* ci: trigger checks (retry)
---------
Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-03-21 11:16:59 -05:00