b13ff68e22
fix(api): use generic mosaic-* naming in OpenClawGateway schema and tests
...
ci/woodpecker/push/ci Pipeline was successful
Replaces all jarvis-* references with mosaic-* for generic multi-user deployment.
2026-03-01 08:04:55 -06:00
c847b74bda
feat(api): add OpenClawGatewayModule with agent registry (MS22-P1b)
ci/woodpecker/push/ci Pipeline was successful
2026-03-01 07:59:39 -06:00
0e74b03d9c
test(api): integration tests for MS22 knowledge layer modules (MS22-TEST-001) ( #594 )
...
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-03-01 04:54:23 +00:00
1df20f0e13
feat(api): add assigned_agent to Task model (MS22-DB-003, MS22-API-003) ( #591 )
...
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-03-01 03:54:28 +00:00
d07a840f25
feat(api): add conversation archive with vector search (MS22-DB-004, MS22-API-004) ( #587 )
...
ci/woodpecker/push/api Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-03-01 02:20:56 +00:00
4b2e48af9c
feat(api): add agent memory module (MS22-DB-002, MS22-API-002) ( #586 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-03-01 02:20:15 +00:00
7b390d8be2
feat(api): add findings module with vector search (MS22-DB-001, MS22-API-001) ( #585 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-03-01 02:10:02 +00:00
af68f84dcd
feat(api): invalidate sessions on user deactivation (MS21-AUTH-004) ( #582 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 23:41:11 +00:00
f99107fbfc
feat(api): add admin bulk import endpoints (MS21-MIG-004) ( #567 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 19:55:01 +00:00
0e6734bdae
feat(api): add team management module with CRUD endpoints ( #564 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 18:24:09 +00:00
5bcaaeddd9
fix(api): increase flaky test timeouts for CI ( #562 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 18:20:39 +00:00
ac16d6ed88
feat(api): add break-glass local authentication module ( #559 )
...
ci/woodpecker/push/orchestrator Pipeline failed
ci/woodpecker/push/api Pipeline failed
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 18:05:19 +00:00
8388d49786
feat(api): add workspace member management endpoints ( #556 )
...
ci/woodpecker/push/api Pipeline is running
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 18:01:05 +00:00
20f914ea85
feat(api): add AdminModule with user and workspace management endpoints ( #555 )
...
ci/woodpecker/push/api Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 17:56:54 +00:00
ffc10c9a45
feat(api): add MS21 user fields for admin, local auth, and invitations ( #553 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 17:47:03 +00:00
128431ba58
fix(api,web): separate workspace context from auth session ( #551 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-28 15:14:29 +00:00
78b643a945
fix(api): use getTrustedOrigins() for WebSocket CORS ( #549 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 12:07:51 +00:00
c0e679ab7c
fix(web,api): fix WebSocket authentication for chat real-time connection ( #547 )
...
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 11:30:44 +00:00
833662a64f
feat(api): implement /users/me/preferences endpoint
...
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Implements GET/PATCH/PUT /users/me/preferences. Fixes profile page 'Preferences unavailable' error by correcting the /api prefix in frontend calls and adding PATCH handler to controller.
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 10:51:28 +00:00
78b71a0ecc
feat(api): implement personalities CRUD API ( #537 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 10:42:50 +00:00
11f22a7e96
fix(api): add sort, search, visibility to knowledge entry query DTO ( #533 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 05:16:30 +00:00
edcff6a0e0
fix(api,web): add workspace context to widgets and auto-detect workspace ID ( #532 )
...
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 04:53:07 +00:00
e3cba37e8c
fix(api,web): resolve RLS context SQL error, workspace guard crash, and projects response unwrapping ( #531 )
...
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 04:18:35 +00:00
83d5aee53a
fix(api): add debian-openssl-3.0.x to Prisma binaryTargets ( #529 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 02:44:11 +00:00
bf299bb672
fix: enforce alpha versioning (0.0.x), delete erroneous 0.1.x releases ( #526 )
...
ci/woodpecker/push/api Pipeline failed
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/orchestrator Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-27 01:22:12 +00:00
ad99cb9a03
fix(api): lazy-load node-pty to prevent API crash on missing native binary ( #525 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-26 13:46:26 +00:00
d05b870f08
fix(api): add build tools for node-pty native compilation in Docker ( #524 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-26 13:24:34 +00:00
8128eb7fbe
feat(api): add terminal session persistence with Prisma model and CRUD ( #517 )
...
ci/woodpecker/push/api Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-26 02:49:32 +00:00
6290fc3d53
feat(api): add terminal WebSocket gateway with PTY session management ( #515 )
...
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/orchestrator Pipeline failed
ci/woodpecker/push/api Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-26 02:27:29 +00:00
9f4de1682f
fix(api): resolve CSRF guard ordering with global AuthGuard ( #514 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-26 02:26:02 +00:00
72c64d2eeb
fix(api): add global /api prefix to resolve frontend route mismatch ( #507 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-26 01:13:48 +00:00
5f6c520a98
fix(auth): prevent login page freeze on OAuth sign-in failure ( #506 )
...
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-25 01:59:36 +00:00
f9cccd6965
feat(api): seed 7 widget definitions for dashboard system ( #496 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-24 00:28:02 +00:00
458cac7cdd
Phase 3: Agent Cycle Visibility ( #461 ) ( #462 )
...
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 01:07:29 +00:00
7581d26567
Phase 2: Task Ingestion Pipeline ( #459 ) ( #460 )
...
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 00:54:55 +00:00
8424a28faa
fix(auth): use set_config for transaction-scoped RLS context
ci/woodpecker/push/api Pipeline was successful
2026-02-18 23:23:15 -06:00
d2cec04cba
fix(auth): preserve raw BetterAuth cookie token for session lookup
ci/woodpecker/push/api Pipeline was successful
2026-02-18 23:06:37 -06:00
0c2a6b14cf
fix(auth): verify BetterAuth sessions via cookie headers
2026-02-18 22:39:54 -06:00
af299abdaf
debug(auth): log session cookie source
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
2026-02-18 21:36:01 -06:00
f219dd71a0
fix(auth): use UUID id generation for BetterAuth DB models
ci/woodpecker/push/api Pipeline failed
2026-02-18 18:49:16 -06:00
dedc1af080
fix(auth): restore BetterAuth OIDC flow across api/web/compose
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
2026-02-17 23:37:49 -06:00
af113707d9
Merge branch 'develop' into fix/auth-frontend-remediation
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/coordinator Pipeline was successful
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/api Pipeline was successful
2026-02-17 20:35:59 +00:00
Jason Woltje
cab8d690ab
fix( #411 ): complete 2026-02-17 remediation sweep
...
Apply RLS context at task service boundaries, harden orchestrator/web integration and session startup behavior, re-enable targeted frontend tests, and lock vulnerable transitive dependencies so QA and security gates pass cleanly.
2026-02-17 14:19:15 -06:00
027fee1afa
fix: use UUID for Better Auth ID generation to match Prisma schema
...
ci/woodpecker/manual/infra Pipeline was successful
ci/woodpecker/manual/coordinator Pipeline was successful
ci/woodpecker/manual/orchestrator Pipeline was successful
ci/woodpecker/manual/web Pipeline was successful
ci/woodpecker/manual/api Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Better Auth generates nanoid-style IDs by default, but our Prisma
schema uses @db.Uuid columns for all auth tables. This caused
P2023 errors when Better Auth tried to insert non-UUID IDs into
the verification table during OAuth sign-in.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 22:48:17 -06:00
abe57621cd
fix: add CORS env vars to Swarm/Portainer compose and log trusted origins
...
The Swarm deployment uses docker-compose.swarm.portainer.yml, not the
root docker-compose.yml. Add NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_API_URL,
and TRUSTED_ORIGINS to the API service environment. Also log trusted
origins at startup for easier CORS debugging.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 22:31:29 -06:00
18e5f6312b
fix: reduce Kaniko disk usage in Node.js Dockerfiles
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
- Combine production stage RUN commands into single layers
(each RUN triggers a full Kaniko filesystem snapshot)
- Remove BuildKit --mount=type=cache for pnpm store
(Kaniko builds are ephemeral in CI, cache is never reused)
- Remove syntax=docker/dockerfile:1 directive (no longer needed
without BuildKit cache mounts)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 20:21:44 -06:00
d2ed1f2817
fix: eliminate apt-get from Kaniko builds, use static dumb-init binary
...
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/orchestrator Pipeline failed
ci/woodpecker/push/api Pipeline failed
ci/woodpecker/push/coordinator Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Kaniko fundamentally cannot run apt-get update on bookworm (Debian 12)
due to GPG signature verification failures during filesystem snapshots.
Neither --snapshot-mode=redo nor clearing /var/lib/apt/lists/* resolves
this.
Changes:
- Replace apt-get install dumb-init with ADD from GitHub releases
(static x86_64 binary) in api, web, and orchestrator Dockerfiles
- Switch coordinator builder from python:3.11-slim to python:3.11
(full image includes build tools, avoids 336MB build-essential)
- Replace wget healthcheck with node-based check in orchestrator
(wget no longer installed)
- Exclude telemetry lifecycle integration tests in CI (fail due to
runner disk pressure on PostgreSQL, not code issues)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 20:06:06 -06:00
0c93be417a
fix: clear stale APT lists before apt-get update in Dockerfiles
...
ci/woodpecker/push/coordinator Pipeline failed
ci/woodpecker/push/api Pipeline failed
ci/woodpecker/push/orchestrator Pipeline failed
ci/woodpecker/push/web Pipeline failed
Kaniko's layer extraction can leave base-image APT metadata with
expired GPG signatures, causing "invalid signature" failures during
apt-get update in CI builds. Adding rm -rf /var/lib/apt/lists/*
before apt-get update ensures a clean state.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 19:44:36 -06:00
Jason Woltje
8961f5b18c
chore: upgrade Node.js runtime to v24 across codebase
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
- Update .woodpecker/codex-review.yml: node:22-slim → node:24-slim
- Update packages/cli-tools engines: >=18 → >=24.0.0
- Update README.md, CONTRIBUTING.md, prerequisites docs to reference Node 24+
- Rename eslint.config.js → eslint.config.mjs to eliminate Node 24
MODULE_TYPELESS_PACKAGE_JSON warnings (ESM detection overhead)
- Add .nvmrc targeting Node 24
- Fix pre-existing no-unsafe-return lint error in matrix-room.service.ts
- Add Campsite Rule to CLAUDE.md
- Regenerate Prisma client for Node 24 compatibility
All Dockerfiles and main CI pipelines already used node:24. This commit
aligns the remaining stragglers (codex-review CI, cli-tools engines,
documentation) and resolves Node 24 ESM module detection warnings.
Quality gates: lint ✅ typecheck ✅ tests ✅ (6 pre-existing API failures)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 17:33:26 -06:00
Jason Woltje
9d3a673e6c
fix( #411 ): resolve CI lint errors — prettier, unused directives, no-base-to-string
...
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/api Pipeline was successful
- auth.config.ts: collapse multiline template literal to single line
- auth.controller.ts: add eslint-disable for intentional no-unnecessary-condition
- auth.service.ts: remove 5 unused eslint-disable directives (Node 24 resolves
BetterAuth types), fix prettier formatting, fix no-base-to-string
- login/page.tsx: remove unnecessary String() wrapper
- auth-context.test.tsx: fix prettier line length
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 17:00:01 -06:00