Commit graph

14 commits

Author SHA1 Message Date
34afb8d729 fix(docker): force NODE_ENV=development in build stage to include devDependencies
Some checks are pending
CI / lint + typecheck + tests (push) Waiting to run
CI / docker build + push (push) Blocked by required conditions
Coolify auto-injects ARG NODE_ENV into all Dockerfile stages and passes
NODE_ENV=production as a build arg. This causes npm ci to skip devDependencies
(including typescript), making tsc not found (exit 127) at npm run build.

Fix: prefix the npm ci call with NODE_ENV=development to override the injected
env var only for the install step, ensuring TypeScript and other build tools
are always installed.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 10:13:17 +00:00
6fcb5cbc1d fix(docker): remove --prefer-offline from build stage to fix npm ci in CI/CD
Some checks are pending
CI / lint + typecheck + tests (push) Waiting to run
CI / docker build + push (push) Blocked by required conditions
Coolify's build environment has no npm cache populated, so --prefer-offline
causes npm ci to fail to install devDependencies (incl. typescript).
Removing the flag ensures npm always fetches from registry during builds.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 10:10:55 +00:00
Paperclip FoundingEngineer
f490152172 fix(agenthub): Apply J5 deployment fixes discovered during LAN rollout
Some checks are pending
CI / lint + typecheck + tests (push) Waiting to run
CI / docker build + push (push) Blocked by required conditions
Five critical fixes discovered and patched on production (192.168.9.23)
during BARAAA-51 deployment, now committed to align repo with reality.

1. tsconfig.build.json: Add rootDir to fix build output path
   - Without rootDir, tsc compiled to dist/src/server.js
   - Dockerfile CMD expected dist/server.js
   - Now builds correctly to dist/server.js

2. Dockerfile: Correct CMD path back to dist/server.js
   - Reverts workaround commit 6d0515d
   - Now matches actual build output with rootDir fix

3. src/routes/sessions.ts: Fix API token prefix parsing
   - Old: split('_') failed because base64url can contain '_'
   - New: Extract prefix by fixed position (first 12 chars)
   - Prevents ~64% authentication failures

4. src/routes/rooms.ts: Add /api/v1 prefix to all routes
   - All 7 room endpoints now properly namespaced
   - Aligns with API versioning convention

5. .env.lan: Add POSTGRES_HOST and POSTGRES_PORT
   - Required for DB connection in Docker Compose
   - Without this, app tried localhost instead of postgres service

6. test/j5-messaging-validation.js: Fix validation script
   - Correct endpoint: /api/v1/agents/:id/tokens
   - Correct field: .secret (not .token)
   - Alexia role: admin (needed for room creation)

All fixes verified with clean build and dist/server.js output check.

Related: BARAAA-63, BARAAA-51

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-02 09:46:43 +00:00
Paperclip FoundingEngineer
ef613a3679 docs(agenthub): Complete Phase 1 documentation
Add comprehensive documentation suite for AgentHub Phase 1:

- ARCHITECTURE.md: Technical architecture, data model, tech stack rationale,
  security model, deployment topology, scalability considerations
- API.md: Complete REST & WebSocket API reference with authentication flow,
  endpoints, events, error handling, rate limits, SDK examples
- DEPLOYMENT.md: Deployment guide covering local dev, Phase 1 LAN, Phase 2
  Coolify with environment setup, verification procedures, troubleshooting
- GIT-HOSTING-GUIDE.md: Comparison of GitHub vs Forgejo for Barodine
- FORGEJO-INSTALL.md: Forgejo installation via Coolify
- FORGEJO-MANUAL-STEPS.md: Detailed manual steps for Forgejo setup

Update README.md with documentation index linking to all guides.

Closes BARAAA-56 (Documentation complète AgentHub Phase 1).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-02 09:28:58 +00:00
Paperclip FoundingEngineer
7121ad5dc1 test(agenthub): Add integration tests for metrics endpoint
Some checks are pending
CI / lint + typecheck + tests (push) Waiting to run
CI / docker build + push (push) Blocked by required conditions
Ajoute 9 tests d'intégration pour valider l'endpoint /metrics:
- Vérification du format Prometheus (text/plain)
- Présence de toutes les métriques AgentHub custom
- Présence des métriques Node.js par défaut
- Incrémentation correcte des compteurs HTTP

Tous les tests passent 

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-02 01:18:09 +00:00
Paperclip FoundingEngineer
709d8db52d feat(agenthub): Add Prometheus metrics endpoint (Phase 1)
Implémente l'endpoint /metrics avec toutes les métriques Prometheus
pour monitoring AgentHub (BARAAA-52 / AGNHUB-16).

Métriques exposées:
- agenthub_agents_connected: Nombre d'agents WebSocket connectés
- agenthub_rooms_active: Nombre de rooms actives (avec membres)
- agenthub_messages_total: Total des messages envoyés
- agenthub_websocket_latency_seconds: Latence WebSocket (histogramme)
- agenthub_http_requests_total: Total requêtes HTTP par route/status
- agenthub_http_request_duration_seconds: Durée requêtes HTTP
- agenthub_db_query_duration_seconds: Durée requêtes DB
- Métriques Node.js par défaut (CPU, mémoire, event loop, etc.)

Livrables:
- Endpoint GET /metrics (format Prometheus)
- Instrumentation HTTP automatique via hooks Fastify
- Collecteur périodique pour métriques DB (30s)
- Template Grafana complet avec 7 panels
- Documentation complète dans docs/METRICS.md

Testé en local - toutes les métriques fonctionnelles.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-02 01:17:12 +00:00
Paperclip FoundingEngineer
2eee794e3b fix(agenthub): Move dotenv to production dependencies
dotenv is imported in server.ts and required at runtime,
so it must be in dependencies, not devDependencies.

Fixes ERR_MODULE_NOT_FOUND in Docker container.

Related to BARAAA-50.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 00:42:21 +00:00
Paperclip FoundingEngineer
6d0515da8e fix(agenthub): Correct Docker CMD path for compiled TypeScript
TypeScript builds to dist/src/server.js, not dist/server.js
because tsconfig preserves source directory structure.

Fixes MODULE_NOT_FOUND error on container startup.

Related to BARAAA-50.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 00:40:41 +00:00
Paperclip FoundingEngineer
4cbd6f6e8a scripts(agenthub): Add one-liner deploy script
Simplest deployment option - single command execution.
Usage: ./scripts/deploy-oneliner.sh

Deploys J5 code to 192.168.9.23 via SSH.

Related to BARAAA-50.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 00:26:35 +00:00
Paperclip FoundingEngineer
09164036af docs(agenthub): Add quick deployment guides for CEO
Quick reference guides for immediate J5 deployment:
- DEPLOY-NOW.md: Express deployment steps
- DEPLOY-NOW-SUMMARY.md: Status summary for CEO question

Related to BARAAA-50.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 00:25:28 +00:00
Paperclip FoundingEngineer
ff408af8d1 docs(agenthub): Add J5 implementation completion summary
Comprehensive summary of J5 development work:
- All deliverables completed
- Deployment blockers documented
- Next steps clearly defined
- Rollback procedures included

Closes development phase of BARAAA-50.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 00:08:57 +00:00
Paperclip FoundingEngineer
c082ea9fd4 docs(agenthub): Add J5 deployment update guide
Documents deployment procedure for the new WebSocket handlers:
- Deployment steps for 192.168.9.23
- Validation procedure with E2E test script
- Rollback instructions

Related to BARAAA-50.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 00:06:51 +00:00
Paperclip FoundingEngineer
a79df89a78 feat(agenthub): Add room:list and message:history WebSocket handlers
Implements missing WebSocket event handlers for J5 messaging:
- room:list: List all rooms for the authenticated agent
- message:history: Retrieve paginated message history for a room

Also adds:
- Unit tests for both handlers in socket.test.ts
- E2E validation script test/j5-messaging-validation.js

Completes BARAAA-50 deliverables for real-time messaging.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 00:05:01 +00:00
Paperclip FoundingEngineer
bdd5d92ba7 Initial AgentHub codebase for Coolify deployment
Complete implementation ready for Coolify:
- Node.js 22 + Fastify + socket.io backend
- PostgreSQL 16 + Redis 7 services
- Docker Compose configuration
- Deployment scripts and documentation

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-01 21:25:57 +00:00