seweryn

seweryn a împins spre master la aiac/eks_relay

  • eca691eb71 Record the verified deployment in the docs Documents what the first deployment actually needed, so the next person does not rediscover it: - Cloudflare requires TWO skip rules, not one. The outbound rule on the easyklima.pl zone is the non-obvious half: without it every WooCommerce and eksrelay/v1 call from the relay host gets a 403 challenge and every shop-backed tool fails. - 'docker compose restart' does not re-read .env; env changes need 'up -d'. - git push from the server checkout works via a temporary GIT_ASKPASS helper. - Appends the recorded smoke-test results and the webhook cutover steps, including repointing $vars.relay_base in Flowise. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WvzjhjUY7tr5Naj1Co4N6B

3 săptămâni în urmă

seweryn etichetă împinsă deployed-acmycar-20260820 la aiac/eks_relay

3 săptămâni în urmă

seweryn a împins spre master la aiac/eks_relay

  • f36fc3d2e0 Require an exact match when falling back to order search WooCommerce's ?search= is fuzzy, so looking up a non-existent order number returned an unrelated order, which the ownership check then reported as an e-mail mismatch. The agent would tell the customer their address does not match an order that never existed. Accept a search hit only when its number or id is the one that was requested, otherwise ORDER_NOT_FOUND. Adds WooClient tests covering the fallback, hidden products and unpublished products. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WvzjhjUY7tr5Naj1Co4N6B

4 săptămâni în urmă

seweryn a împins spre master la aiac/eks_relay

  • e09111b4d2 Keep dev dependencies in the container so it can compile at start NODE_ENV=production makes 'npm ci' omit devDependencies, which stripped typescript and tsx from the bind-mounted node_modules on first start and left the entrypoint unable to build. Both RELAY_MODE=prod (tsc) and dev (tsx watch) compile from source at runtime, so the dev dependencies have to stay. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WvzjhjUY7tr5Naj1Co4N6B

4 săptămâni în urmă

seweryn etichetă împinsă php-legacy la aiac/eks_relay

4 săptămâni în urmă

seweryn a împins spre master la aiac/eks_relay

  • 7fe0ea23e8 Rewrite EKSRelay as a Node.js/TypeScript service Replaces the PHP relay with a containerised Node 22 / TypeScript service while keeping every /tools/* contract byte-compatible with the deployed Flowise custom tools. What this fixes from the PHP version: - Flowise auth sent a literal 'Bearer ***' placeholder; the real API key is now used, and only when one is configured. - Webhook retries could answer a customer twice; ProcessedMessage is now unique on (source, messageId), with a content-hash surrogate id for payloads that carry none. - The webhook waited synchronously for Flowise; it now persists a job, returns 202, and a worker processes it with retry and backoff. - No spam filtering; a rule-based gate now sits in front of Flowise. - Ticket number was the bare conversation id; it is now EKS-YYYYMMDD-<conversationId>, idempotent per conversation. - unassignConversation() existed but was never called; it now runs behind CHATWOOT_UNASSIGN_ON_TICKET. - Request bodies with PII were written to a log file; logging is now structured JSON with secrets always redacted and PII behind LOG_PII. Adds: /health and /ready, /admin/* behind a separate token, Prisma/SQLite persistence with migrations, Zod-validated config, Docker Compose with Traefik labels, and 86 tests. The PHP implementation is preserved at the php-legacy tag and stays deployed as a fallback; see docs/MIGRATION.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WvzjhjUY7tr5Naj1Co4N6B

4 săptămâni în urmă