From ed2cf2d6f0a49ecd0df158c2e8e40b5eccd850e6 Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Tue, 27 Oct 2026 01:19:18 -0700 Subject: [PATCH 1/3] chore(repo): clear dead files from the repo root Removes 21 root files that nothing loads (checked against Dockerfiles, .github/, k8s/, scripts/, dev.sh, install.sh, prod.sh, the compose files and package.json, plus a whole-repo grep): - 13 empty files committed in bulk in February: .bashrc, .bash_profile, .zshrc, .zprofile, .profile, .gitconfig, .ripgreprc, .idea, .vscode, config, hooks, objects, refs. .gitignore now ignores them at the root, and .vscode/.idea lose their trailing slash so a file of that name is ignored too. - LINT_SETUP_SUMMARY.md (2025-05; docs/development/LINTING.md and lint-gate-state.md cover it) and UIUX_TASK_BOARD.md (a finished April sprint board). - discord-logo.png and pod-chat-mobile.png, referenced nowhere. - run-cuz-provision.sh: one pod id, the dead api-dev host. - cloudbuild.backend.yaml / cloudbuild.frontend.yaml: gcloud builds is blocked by org policy; Deploy Dev builds the images. - download-ca.js fetched one provider's CA to the repo root; the DEPLOYMENT.md steps now say to point PG_SSL_CA_PATH at your provider's certificate. Kept: external/ (deploy-dev and deploy-staging build external/commonly-agent-services, tests.yml runs its tests) and .cursor/rules/commonly.mdc (un-ignored on purpose, served by frontend/src/v2/utils/cursorProjectRule.ts). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MDs9DPbsFurockEzieszpM --- .bash_profile | 0 .bashrc | 0 .gitconfig | 0 .gitignore | 18 +++- .idea | 0 .profile | 0 .ripgreprc | 0 .vscode | 0 .zprofile | 0 .zshrc | 0 LINT_SETUP_SUMMARY.md | 68 --------------- UIUX_TASK_BOARD.md | 150 ---------------------------------- cloudbuild.backend.yaml | 14 ---- cloudbuild.frontend.yaml | 19 ----- config | 0 discord-logo.png | Bin 6137 -> 0 bytes docs/deployment/DEPLOYMENT.md | 11 +-- download-ca.js | 33 -------- hooks | 0 objects | 0 pod-chat-mobile.png | Bin 130490 -> 0 bytes refs | 0 run-cuz-provision.sh | 33 -------- 23 files changed, 18 insertions(+), 328 deletions(-) delete mode 100644 .bash_profile delete mode 100644 .bashrc delete mode 100644 .gitconfig delete mode 100644 .idea delete mode 100644 .profile delete mode 100644 .ripgreprc delete mode 100644 .vscode delete mode 100644 .zprofile delete mode 100644 .zshrc delete mode 100644 LINT_SETUP_SUMMARY.md delete mode 100644 UIUX_TASK_BOARD.md delete mode 100644 cloudbuild.backend.yaml delete mode 100644 cloudbuild.frontend.yaml delete mode 100644 config delete mode 100644 discord-logo.png delete mode 100644 download-ca.js delete mode 100644 hooks delete mode 100644 objects delete mode 100644 pod-chat-mobile.png delete mode 100644 refs delete mode 100755 run-cuz-provision.sh diff --git a/.bash_profile b/.bash_profile deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.bashrc b/.bashrc deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.gitignore b/.gitignore index b0c8178eba..ee5d18811f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,22 @@ node_modules .env -.vscode/ -.idea/ +.vscode +.idea + +# Empty files once committed at the root. No trailing slash, so a FILE of +# the name is ignored too. +/.bashrc +/.bash_profile +/.zshrc +/.zprofile +/.profile +/.gitconfig +/.ripgreprc +/config +/hooks +/objects +/refs build/ dist/ diff --git a/.idea b/.idea deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.profile b/.profile deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.ripgreprc b/.ripgreprc deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.vscode b/.vscode deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.zprofile b/.zprofile deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.zshrc b/.zshrc deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/LINT_SETUP_SUMMARY.md b/LINT_SETUP_SUMMARY.md deleted file mode 100644 index 49aa8ea2b4..0000000000 --- a/LINT_SETUP_SUMMARY.md +++ /dev/null @@ -1,68 +0,0 @@ -# Linting Setup Summary - -## โœ… What's Been Set Up - -1. **ESLint Configuration** - - Backend: Airbnb style guide with customizations - - Frontend: React-app config with React-specific rules - - Both configured for auto-fixing - -2. **Auto-Fix Commands** - ```bash - npm run lint:fix # Fix both frontend and backend - npm run lint:fix:backend # Fix backend only - npm run lint:fix:frontend # Fix frontend only - ``` - -3. **Pre-commit Hook** - - Automatically runs ESLint with auto-fix on staged files - - Prevents commits if unfixable issues exist - - Uses husky + lint-staged - -4. **IDE Integration** - - VS Code settings included (`.vscode/settings.json`) - - Auto-fix on save enabled - - ESLint extension support - -5. **CI/CD Integration** - - GitHub workflow updated to use unified lint commands - - Runs on every push and pull request - -## ๐Ÿš€ Quick Start for Developers - -1. **Install dependencies** (if not already done): - ```bash - npm install - cd backend && npm install - cd ../frontend && npm install - ``` - -2. **Fix lint issues**: - ```bash - npm run lint:fix - ``` - -3. **Check for remaining issues**: - ```bash - npm run lint - ``` - -4. **Commit your changes** (pre-commit hook will run automatically): - ```bash - git add . - git commit -m "Your commit message" - ``` - -## ๐Ÿ“ Key Benefits - -- **Minimal new packages**: Only added husky and lint-staged -- **Auto-fix capability**: Most issues are fixed automatically -- **Pre-commit safety**: Prevents bad code from being committed -- **IDE integration**: Real-time feedback while coding -- **Consistent style**: Enforces project-wide code standards - -## ๐Ÿ”ง Troubleshooting - -- If pre-commit hook fails: Run `npm run lint:fix` manually -- If ESLint errors persist: Check the specific error and fix manually -- For IDE issues: Ensure ESLint extension is installed and enabled \ No newline at end of file diff --git a/UIUX_TASK_BOARD.md b/UIUX_TASK_BOARD.md deleted file mode 100644 index bca1288b48..0000000000 --- a/UIUX_TASK_BOARD.md +++ /dev/null @@ -1,150 +0,0 @@ -# UI/UX Enhancement โ€” Task Board - -**Started**: 2026-04-11 -**Worktree**: `/home/xcjam/workspace/commonly-uiux` -**Branch**: `uiux/enhance-2026-04-11` -**Coordinator**: Claude Opus 4.6 (1M) - -**Status**: โœ… Round 1 complete โ€” all 5 tracks delivered, typecheck + lint green, ready for commit & deploy. - -Status legend: โณ pending ยท ๐Ÿ”จ in-progress ยท โœ… done ยท โŒ blocked ยท ๐Ÿงช needs review ยท ๐ŸŽจ needs live smoke test - ---- - -## Scope (from user request) - -1. Agent Hub (registry) UI/UX enhancement โ€” โœ… -2. Marketplace UI/UX enhancement โ€” โœ… -3. App Integration page UI/UX enhancement โ€” โœ… (Social section reorganized; full category regroup deferred because `GlobalIntegrations.tsx` only holds X + Instagram + the global-model-policy card, not a list with categories โ€” noted in code as `TODO(ui)`) -4. Skill Marketplace with ratings/comments โ€” โœ… -5. Fix stale skill star counts + sync freshness โ€” โœ… -6. Enriched content for agent messages (emoji, memes/images) โ€” โœ… -7. PostgreSQL 30-day message retention โ€” โœ… -8. Task board UI/UX polish โ€” โœ… -9. OpenAI image endpoint wired for agent avatar generation โ€” โœ… (code landed; runtime blocked on OPENAI_API_KEY in GCP SM โ€” see Phase 2) -10. Generate nice avatars for all team agents โ€” ๐Ÿ”œ Phase 2 (script written, needs API key) -11. Remove useless "debug runtime" section from agent hub โ€” โœ… -12. Typing indicators for agents โ€” โœ… - ---- - -## Decisions - -- **Clawhub integration**: DEFERRED. Use GitHub API refresh of existing `awesome-agent-skills-index.json` instead. Smaller attack surface, tighter guardrail. -- **LiteLLM for image gen**: BYPASS. Direct OpenAI client for `/v1/images/generations`. -- **Meme storage**: Reuse existing `/api/uploads/` multer endpoint. -- **Retention default**: 30 days, configurable via `PG_MESSAGE_RETENTION_DAYS`. -- **Worktree strategy**: Single shared worktree, non-overlapping file ownership per agent โ€” worked perfectly. No merge conflicts. - ---- - -## Implementation Tracks - -### Track 1 โ€” Agent Hub Polish ยท `@hub-designer` โœ… - -- โœ… Removed Runtime Debug `` (old L3030-3129) and collapsed its wrapper Box -- โœ… Removed reset `useEffect` (old L2328-2331) -- โœ… Removed helpers `getInstalledDebugKey`, `fetchInstalledRuntimeDebug`, `handleToggleInstalledDebug`, `copyInstalledDebug` (old L830-913) -- โœ… Removed state `installedDebugExpanded`, `installedRuntimeDebug` -- โœ… Pruned imports: `Accordion`, `AccordionSummary`, `AccordionDetails`, `ExpandMoreIcon` (RefreshIcon + CopyIcon kept โ€” still used in Admin tab) -- โœ… Polished Installed tab empty state with `SmartToyOutlinedIcon` + headline + "Browse Discover" link -- โœ… Polished Discover tab header (subtitle + wider gap + flexShrink on chip) -- **Delta**: `AgentsHub.tsx` 5035 โ†’ 4884 lines (โˆ’151 net) -- **Files**: `frontend/src/components/agents/AgentsHub.tsx` - -### Track 2 โ€” ChatRoom Enhancement ยท `@chat-designer` โœ… - -**Task Board polish:** -- โœ… Typography: column headers 0.7โ†’0.75rem, letterSpacing 0.8โ†’0.4; card IDs/chips 0.68โ†’0.72rem; titles 0.8โ†’0.9rem; meta rows 0.68/0.7โ†’0.85rem -- โœ… Card padding 10ร—12 โ†’ 14ร—14; border-left 3โ†’2px; hover translate+shadow -- โœ… Tooltip wraps truncated titles (3-line clamp) -- โœ… Unicode markers replaced: `โ›”` โ†’ ``, `โ†ณ` โ†’ ``, `๐Ÿ”’` โ†’ `` -- โœ… Per-column empty states (dashed-border centered Box with `InboxOutlinedIcon`) -- โœ… Mobile drawer constrained: `min(420px, calc(100vw - 48px))` - -**Typing Indicator:** -- โœ… `AgentTypingIndicator` local component with stacked overlapping 24px avatars + animated three-dot `@keyframes typingDot` -- โœ… State `typingAgents` + ref-based 30s safety timers keyed on `agentName:instanceId` -- โœ… Pod-change cleanup effect + socket subscribe/unsubscribe on `agent_typing_start`/`agent_typing_stop` -- โœ… Rendered between message list and composer; returns `null` when empty - -**Enriched Content:** -- โœ… `node-emoji@^2.1.3` added to `frontend/package.json` -- โœ… `emojifyPreserveCode(raw)` splits on fenced ``` ``` + inline `` ` `` via regex, emojifies only prose segments (avoids corrupting code blocks). Applied at `messageType === 'text'` render site only โ€” MarkdownContent.tsx untouched, so posts/comments unaffected. -- โœ… `` IconButton in composer (between emoji picker and attach), hidden file input accepts `image/gif,image/png,image/jpeg,image/webp`, POSTs to `/api/uploads` with field name `image` (verified via `uploads.ts:38`), injects `\n![image](${url})\n` into composer on success, `CircularProgress` during upload. - -- **Files**: `frontend/src/components/ChatRoom.tsx`, `frontend/package.json` - -### Track 3 โ€” Marketplace + Skills Fix ยท `@market-designer` โœ… - -**Skills sync:** -- โœ… `backend/services/skillsRefreshService.ts` (new) โ€” fetches upstream JSON from `raw.githubusercontent.com/openclaw/skills/main/...`, overridable via `SKILLS_UPSTREAM_INDEX_URL`, uses `GITHUB_PAT` bearer auth, 100ms delay between unique-repo star count requests, preserves partial progress on 401/rate-limit, keeps stale local file on upstream failure (never blanks). Stamps `upstreamRefreshedAt` + `localRefreshedAt`. Exports `getLastRefreshAt()`. -- โœ… `backend/services/skillsCatalogService.ts` โ€” mtime-based cache invalidation + `invalidateCache()` + `getLastRefreshedAt()` exports -- โœ… `backend/services/schedulerService.ts` โ€” 6-hourly cron `0 */6 * * *` + 30s startup kick -- โœ… `backend/routes/skills.ts` `/catalog` response extended with refreshedAt timestamps - -**Skill ratings:** -- โœ… `backend/models/SkillRating.ts` (new) โ€” `skillId + userId` compound unique, rating 1-5, comment โ‰ค2000, `getAggregated()` + `getAggregatedMany()` statics -- โœ… Routes in `backend/routes/skills.ts`: `POST /:skillId/rating` (upsert), `GET /:skillId/ratings` (paginated), `GET /:skillId/ratings/summary`, `DELETE /:skillId/rating`, `GET /ratings/summary?skillIds=a,b,c` (batch) -- โœ… `frontend/src/components/skills/SkillsCatalogPage.tsx` โ€” `` on each card, detail `` with summary (avg + histogram bars), interactive rating form, comments list, "Highest rated" sort option, "Last updated X ago" indicator, manual refresh button - -**Apps Marketplace polish:** -- โœ… Hero section with gradient background, h3 headline, inline pill-shaped search, pod select, "Submit App" button -- โœ… Featured section converted to horizontal scroll strip with scroll-snap -- โœ… `AppCard.tsx` โ€” avatar 56โ†’64px, stronger hover, absolute-positioned category chip top-right, "Installed" chip bottom-right - -**Admin Integrations polish:** -- โœ… "Social" section header above X/Instagram cards -- โœ… X + Instagram edit forms wrapped in collapsed-by-default `` -- ๐Ÿ”œ Full Chat/Email/Other category grouping deferred (requires data-fetch refactor; noted as `TODO(ui)` in file) - -- **Files**: `backend/services/skillsRefreshService.ts` (new), `backend/models/SkillRating.ts` (new), `backend/services/skillsCatalogService.ts`, `backend/services/schedulerService.ts`, `backend/routes/skills.ts`, `frontend/src/components/skills/SkillsCatalogPage.tsx`, `frontend/src/components/apps/AppsMarketplacePage.tsx`, `frontend/src/components/apps/AppCard.tsx`, `frontend/src/components/admin/GlobalIntegrations.tsx` - -### Track 4 โ€” Avatar Forge ยท `@avatar-forge` โœ… - -- โœ… `openai@^4.77.0` added to `backend/package.json` (installed @ 4.104.0) -- โœ… `backend/services/openaiImageService.ts` (new) โ€” lazy client init, `gpt-image-1` โ†’ `dall-e-3` fallback, rate-limit + 5xx retry-once, typed `OpenAIImageError` kinds, cost-estimate logging, `b64_json` โ†’ URL-fetch conversion, CJS compat footer -- โœ… `backend/services/agentAvatarService.ts` โ€” three-tier provider chain OpenAI โ†’ Gemini โ†’ SVG; env toggle `AVATAR_PROVIDER=openai|gemini|auto`; existing Gemini code untouched (purely additive) -- โœ… `backend/models/User.ts` โ€” `avatarMetadata` extended with `source: 'openai'|'gemini'|'svg'|'manual'` + `model: string` -- โœ… `k8s/helm/commonly/templates/secrets/api-keys.yaml` โ€” `OPENAI_API_KEY` mapping already present (no YAML edit needed) -- โœ… `backend/scripts/generate-team-avatars.ts` (new) โ€” idempotent, TEAM array of liz/theo/nova/pixel/ops/x-curator with personality-matched prompts, resolves via `AgentIdentityService.getOrCreateAgentUser`, writes to `User.profilePicture` + `avatarMetadata`, `--force` flag, cost total -- โœ… `docs/AGENT_AVATARS.md` (new) โ€” GCP SM setup, ESO force-sync, script usage, cost table, adding new agents - -- **Files**: `backend/package.json`, `backend/services/openaiImageService.ts` (new), `backend/services/agentAvatarService.ts`, `backend/models/User.ts`, `backend/scripts/generate-team-avatars.ts` (new), `docs/AGENT_AVATARS.md` (new) - -### Track 5 โ€” Backend Infra ยท `@infra-dev` โœ… - -**Typing events:** -- โœ… `backend/services/agentTypingService.ts` (new) โ€” `bindSocketIO`, `emitAgentTypingStart`, `emitAgentTypingStop`, 60s safety timer keyed on `podId:agentName:instanceId`, structural `SocketIOLike` interface, CJS compat footer -- โœ… `backend/server.ts` โ€” binds socket.io near other one-time socket setup; client-side `agent_typing_start`/`agent_typing_stop` forwarders inside `io.on('connection')` that re-broadcast into `pod_{podId}` room -- โœ… `backend/services/agentEventService.ts` โ€” lazy `getTypingService()` + `TYPING_EVENT_TYPES` allowlist (`heartbeat`, `chat.mention`, `summary.request`, `discord.summary`, `integration.summary`, `ensemble.turn`); fire-and-forget `signalAgentTyping(event)` inside `enqueue()` after websocket push -- โœ… `backend/services/agentMessageService.ts` โ€” emits `agent_typing_stop` at the **entry** of `postMessage()` wrapped in try/catch so every return path (skip/dedupe/error/success) clears the indicator - -**PG retention:** -- โœ… `backend/services/pgRetentionService.ts` (new) โ€” daily cron `0 3 * * *` UTC, reads `PG_MESSAGE_RETENTION_DAYS` (default 30), idempotent init guard, swallows errors so cron keeps running, gated on `NODE_ENV !== 'test'` -- โœ… `backend/models/pg/Message.ts` โ€” `static async deleteOlderThan(days)` with `NOW() - $1::interval RETURNING id`, validates days > 0, returns `{ deleted: N }` -- โœ… `backend/server.ts` โ€” calls `initPgRetention()` after PG success log - -- **Files**: `backend/services/agentTypingService.ts` (new), `backend/services/pgRetentionService.ts` (new), `backend/server.ts`, `backend/services/agentEventService.ts`, `backend/services/agentMessageService.ts`, `backend/models/pg/Message.ts` - ---- - -## Integration checklist (Round 1 post-mortem) - -- [x] Review diffs from each agent โ€” 17 modified + 7 new files, no track overlaps -- [x] `cd backend && npm install openai@^4.77.0` โ€” installed @ 4.104.0 -- [x] `cd frontend && npm install node-emoji@^2.1.3` โ€” installed @ 2.2.0 -- [x] `backend && npm run tsc:check` โ€” clean -- [x] `frontend && npm run typecheck` โ€” clean -- [x] `backend && npm run lint` โ€” 865 errors ALL pre-existing (main branch baseline matches; `eslint . --ext .js` doesn't cover my `.ts` changes anyway) -- [x] `frontend && npm run lint` โ€” 104 pre-existing JSX-extension warnings from Apr 8 `.tsx` migration + 1 pre-existing unescaped-entity error in `PersonalityBuilder.tsx` (untouched by this work) -- [x] Zero new lint errors introduced by Round 1 -- [ ] Commit tracks as coherent chunks -- [ ] Report to user - -## Phase 2 (blocked on external / user decision) - -- **Generate actual avatars for team agents**: blocked on `OPENAI_API_KEY` in GCP Secret Manager. Commands in `docs/AGENT_AVATARS.md`. Once key lands: `npx ts-node backend/scripts/generate-team-avatars.ts` โ†’ images flow into `User.profilePicture`. -- **Deploy to dev**: local docker build backend + frontend + gateway, bump `values-dev.yaml` tags, helm upgrade with all 3 `-f` flags (per memory: include `values-private.yaml`). Restart-safe: no breaking schema changes, no API removals. -- **MCP Playwright smoke test**: navigate `app-dev.commonly.me/agents`, `/skills`, `/apps`, `/pods/` โ€” confirm (a) no runtime debug accordion, (b) skills page shows ratings, (c) apps hero renders, (d) agent hub discover polish, (e) chat room empty state + typing indicator wire (no server-side stimulus yet). -- **GCP SM backfill**: create `commonly-dev-openai-api-key` + force ESO sync + roll backend. diff --git a/cloudbuild.backend.yaml b/cloudbuild.backend.yaml deleted file mode 100644 index ddbc962ba1..0000000000 --- a/cloudbuild.backend.yaml +++ /dev/null @@ -1,14 +0,0 @@ -steps: - - name: 'gcr.io/cloud-builders/docker' - dir: 'backend' - args: - - 'build' - - '-t' - - '${_IMAGE}' - - '.' - -images: - - '${_IMAGE}' - -substitutions: - _IMAGE: '${_AR_HOST}/${PROJECT_ID}/docker/commonly-backend:latest' diff --git a/cloudbuild.frontend.yaml b/cloudbuild.frontend.yaml deleted file mode 100644 index 855a5db69d..0000000000 --- a/cloudbuild.frontend.yaml +++ /dev/null @@ -1,19 +0,0 @@ -steps: - - name: 'gcr.io/cloud-builders/docker' - dir: 'frontend' - args: - - 'build' - - '--build-arg' - - 'VITE_API_URL=${_REACT_APP_API_URL}' - - '--build-arg' - - 'REACT_APP_API_URL=${_REACT_APP_API_URL}' - - '-t' - - '${_IMAGE}' - - '.' - -images: - - '${_IMAGE}' - -substitutions: - _REACT_APP_API_URL: 'https://api.commonly.me' - _IMAGE: '${_AR_HOST}/${PROJECT_ID}/docker/commonly-frontend:latest' diff --git a/config b/config deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/discord-logo.png b/discord-logo.png deleted file mode 100644 index 48e52246f636ac58c7d6137ff8fcc9eb132920b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6137 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 Is^DJ!4|lVPq5uE@ diff --git a/docs/deployment/DEPLOYMENT.md b/docs/deployment/DEPLOYMENT.md index 3e55d15cab..059a886264 100644 --- a/docs/deployment/DEPLOYMENT.md +++ b/docs/deployment/DEPLOYMENT.md @@ -113,11 +113,7 @@ Notes: - The repository also ships `.env.example` with these local defaults; `./dev.sh up` will create `.env` from it automatically if missing. - AI keys are optional for boot. If `GEMINI_API_KEY`, `OPENAI_API_KEY`, and `OPENROUTER_API_KEY` are all unset, the app still starts but AI-backed features will stay limited until you add a key and restart. -2. Download the CA certificate only if you are using external PostgreSQL: - -```bash -node download-ca.js -``` +2. Only if you are using external PostgreSQL with SSL: download your provider's CA certificate, mount it into the backend container, and point `PG_SSL_CA_PATH` at it (for example `/app/certs/ca.pem`). ### Step 3: Build and Start the Containers @@ -168,10 +164,7 @@ Note: In development, the backend container will install dependencies on first b 2. Place the `.env` file in the project root directory. -3. Download the CA certificate (if using external PostgreSQL): - ```bash - node download-ca.js - ``` +3. If you use external PostgreSQL with SSL, download your provider's CA certificate and set `PG_SSL_CA_PATH` to its path inside the backend container. ### Step 3: Configure HTTPS (Optional but Recommended) diff --git a/download-ca.js b/download-ca.js deleted file mode 100644 index 0bfed760da..0000000000 --- a/download-ca.js +++ /dev/null @@ -1,33 +0,0 @@ -const fs = require('fs'); -const https = require('https'); -const path = require('path'); - -// Aiven CA certificate URL -const CA_URL = 'https://api.aiven.io/ca.pem'; -const OUTPUT_PATH = path.join(__dirname, 'ca.pem'); - -console.log(`Downloading CA certificate from ${CA_URL} to ${OUTPUT_PATH}...`); - -https.get(CA_URL, (res) => { - if (res.statusCode !== 200) { - console.error(`Failed to download CA certificate: ${res.statusCode} ${res.statusMessage}`); - process.exit(1); - } - - const fileStream = fs.createWriteStream(OUTPUT_PATH); - res.pipe(fileStream); - - fileStream.on('finish', () => { - console.log(`CA certificate downloaded successfully to ${OUTPUT_PATH}`); - fileStream.close(); - }); - - fileStream.on('error', (err) => { - console.error(`Error writing CA certificate to file: ${err.message}`); - fs.unlinkSync(OUTPUT_PATH); - process.exit(1); - }); -}).on('error', (err) => { - console.error(`Error downloading CA certificate: ${err.message}`); - process.exit(1); -}); \ No newline at end of file diff --git a/hooks b/hooks deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/objects b/objects deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pod-chat-mobile.png b/pod-chat-mobile.png deleted file mode 100644 index 03c4366d962277b09bc954d2dd1ae8113ae8ae01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130490 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 AjQ{`u diff --git a/refs b/refs deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/run-cuz-provision.sh b/run-cuz-provision.sh deleted file mode 100755 index a30ac1e76a..0000000000 --- a/run-cuz-provision.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -JWT_FILE="${1:-commonly-default-jwt.txt}" -POD_ID="698482ab827d253a2051605e" -AGENT_NAME="cuz" -INSTANCE_ID="cuz" -API_BASE="https://api-dev.commonly.me" - -if [[ ! -f "$JWT_FILE" ]]; then - echo "JWT file not found: $JWT_FILE" >&2 - exit 1 -fi - -JWT=$(cat "$JWT_FILE") -if [[ -z "$JWT" ]]; then - echo "JWT file is empty: $JWT_FILE" >&2 - exit 1 -fi - -echo "== Runtime tokens ==" -curl -sS -H "Authorization: Bearer $JWT" \ - "$API_BASE/api/registry/pods/$POD_ID/agents/$AGENT_NAME/runtime-tokens?instanceId=$INSTANCE_ID" - -echo - -echo "== Force provision ==" -curl -sS -H "Authorization: Bearer $JWT" \ - -H "Content-Type: application/json" \ - -d "{\"instanceId\":\"$INSTANCE_ID\",\"includeUserToken\":true,\"force\":true}" \ - "$API_BASE/api/registry/pods/$POD_ID/agents/$AGENT_NAME/provision" - -echo From 4be5e199a494825a3a1a0001e04628b9f7ff7d20 Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Tue, 27 Oct 2026 01:45:26 -0700 Subject: [PATCH 2/3] docs(deployment): match the Compose CA contract (./ca.pem mounted at /app/ca.pem) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MDs9DPbsFurockEzieszpM --- docs/deployment/DEPLOYMENT.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/deployment/DEPLOYMENT.md b/docs/deployment/DEPLOYMENT.md index 059a886264..d4b5052345 100644 --- a/docs/deployment/DEPLOYMENT.md +++ b/docs/deployment/DEPLOYMENT.md @@ -113,7 +113,7 @@ Notes: - The repository also ships `.env.example` with these local defaults; `./dev.sh up` will create `.env` from it automatically if missing. - AI keys are optional for boot. If `GEMINI_API_KEY`, `OPENAI_API_KEY`, and `OPENROUTER_API_KEY` are all unset, the app still starts but AI-backed features will stay limited until you add a key and restart. -2. Only if you are using external PostgreSQL with SSL: download your provider's CA certificate, mount it into the backend container, and point `PG_SSL_CA_PATH` at it (for example `/app/certs/ca.pem`). +2. Only if you are using external PostgreSQL with SSL: put your provider's CA certificate at `./ca.pem` and set `PG_SSL_ENABLED=true`. `docker-compose.yml` mounts that file at `/app/ca.pem`, the path it sets as `PG_SSL_CA_PATH`. ### Step 3: Build and Start the Containers @@ -164,7 +164,7 @@ Note: In development, the backend container will install dependencies on first b 2. Place the `.env` file in the project root directory. -3. If you use external PostgreSQL with SSL, download your provider's CA certificate and set `PG_SSL_CA_PATH` to its path inside the backend container. +3. If you use external PostgreSQL with SSL, put your provider's CA certificate at `./ca.pem` and set `PG_SSL_ENABLED=true`. `docker-compose.yml` mounts that file at `/app/ca.pem`, the path it sets as `PG_SSL_CA_PATH`. ### Step 3: Configure HTTPS (Optional but Recommended) From 3e0b6fe01423ba2717b9d0c9a6d82beca33b66cf Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Tue, 27 Oct 2026 02:08:25 -0700 Subject: [PATCH 3/3] docs(runbooks): record cloudbuild.frontend.yaml as removed in the domain-migration runbook Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MDs9DPbsFurockEzieszpM --- docs/runbooks/domain-migration-commonly-me.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/runbooks/domain-migration-commonly-me.md b/docs/runbooks/domain-migration-commonly-me.md index ee859eb923..1fd73cd0c3 100644 --- a/docs/runbooks/domain-migration-commonly-me.md +++ b/docs/runbooks/domain-migration-commonly-me.md @@ -38,8 +38,10 @@ Move the dev cluster's public surface from `app-dev` / `api-dev` to the apex `backendUrl`, ingress `hosts.{frontend,backend,litellm}.host`, and `cloudflared.hostnames` (also deduped a repeated `api-dev` entry and dropped a stray `app.commonly.me`). -- `.github/workflows/deploy-dev.yml` + `cloudbuild.frontend.yaml` โ€” - `REACT_APP_API_URL=https://api.commonly.me` (frontend build arg). +- `.github/workflows/deploy-dev.yml` โ€” + `REACT_APP_API_URL=https://api.commonly.me` (frontend build arg). At the + time `cloudbuild.frontend.yaml` carried the same arg; that file was removed + in #2861, since Deploy Dev builds every image. - `backend/server.ts` โ€” CORS fallback default + a doc comment. - `frontend/src/v2/components/V2AgentBYO.tsx` โ€” BYO snippet API-URL fallback. (The hostname-derivation regex correctly falls through to this fallback for @@ -92,6 +94,6 @@ Move the dev cluster's public surface from `app-dev` / `api-dev` to the apex add the old hosts back as ingress `aliases` on each service and keep them in `cloudflared.hostnames` until step 5 โ€” say the word and I'll prepare that shape. - **Pre-existing (not from this branch):** `cloudbuild.frontend.yaml` line 19 - hard-codes a GCP project id + AR path in the public repo. Flagging per the - no-infra-leak-in-public-repo rule โ€” worth moving to a substitution/secret in a - separate cleanup, independent of this migration. + hard-coded a GCP project id + AR path in the public repo, against the + no-infra-leak-in-public-repo rule. Resolved: the file now uses + substitutions, and was then removed in #2861.