Commit Graph

115 Commits

Author SHA1 Message Date
saravanakumardb1
acace0cdc5 feat(field-encrypt): add CosmosDekStore for production DEK persistence (6 tests)
- dek-store-cosmos.ts: Cosmos DB-backed DekStore implementation
  - Uses _encryption_keys container with dekId partition key
  - Upsert semantics, idempotent delete, query-based listIds
- index.ts: export CosmosDekStore
- index.test.ts: 6 new tests with mock container (56 total)

This completes E2EE Phase 3 — production multi-instance DEK storage.
Previously only MemoryDekStore was available, losing DEKs on restart.
2026-04-14 11:29:23 -07:00
saravanakumardb1
54a06e227a refactor(scripts): move 5 Gitea scripts into scripts/gitea/ subdirectory
Moved:
  publish-local-gitea-packages.sh  → gitea/publish-local-packages.sh
  publish-outdated-gitea-packages.sh → gitea/publish-outdated-packages.sh
  release-gitea-packages.sh        → gitea/release-packages.sh
  run-registry-tests.sh            → gitea/run-registry-tests.sh
  harden-publish-config.sh         → gitea/harden-publish-config.sh

Dropped -gitea- infix (redundant with folder name).

Fixed in every moved script:
- REPO_ROOT: ../ → ../../ (one level deeper)
- Internal cross-reference comments

Updated all 10 referencing files:
- package.json (release script path)
- .gitea/workflows/ci.yml (publish step)
- 3 workflow .md files (publish-outdated usage)
- 3 devops docs (publish-local + registry-tests refs)
- 2 internal comment cross-references
2026-04-13 00:02:55 -07:00
saravanakumardb1
9db3967fe1 ci: update CI/CD configuration 2026-04-12 23:51:10 -07:00
saravanakumardb1
ca7c3e571e fix(cowork-service): audit H.7 — fix LLM timeout, harden test mocks, add Ollama config
Bug fixes from systematic review of H.7 LLM router wiring:
- lib/llm-router.ts: remove RUST_RUNTIME_TIMEOUT_MS (300s IPC timeout) override
  — let LlmRouter use its built-in 30s default, appropriate for cloud API calls
- server.test.ts: add debug/error to appMock.log — prevents fragile failures
  if any startup path hits those log levels
- server.test.ts: add OLLAMA_URL + OLLAMA_MODELS to config mock

New feature:
- config.ts: add OLLAMA_URL + OLLAMA_MODELS env vars for local Ollama support
- server.ts: wire Ollama env vars into initLlmRouter() — set
  OLLAMA_MODELS=model1,model2 to auto-add local Ollama as a provider

57 tests passing, 9 test files, typecheck clean
2026-04-02 23:37:50 -07:00
saravanakumardb1
53c3565874 fix(cowork-service): audit flush field name mismatch + server test mock gap
BUG: flush-scheduler.ts flushAudit() read 'events' from IPC response but
Rust handle_flush_audit() returns { count, entries }. Audit events were
silently lost (always empty array). Fixed to read 'entries'.

Also fixed:
- server.test.ts: added missing flush-scheduler.js mock (new import in server.ts)
- feature-flags.ts: doc comment '12 flags' → '13 flags'
- flush-scheduler.test.ts: mock data aligned to Rust response shape

49 tests passing, 8 test files, typecheck clean.
2026-04-02 23:02:38 -07:00
saravanakumardb1
19674c7ef7 feat(cowork-service): ecosystem alignment + IPC bridge to Rust runtime
ECOSYSTEM GAPS CLOSED — cowork-service now matches the pattern used by
all other product backends (FlowMonk, ActionTrail, NoteLett, etc.):

New lib files (6):
- lib/product-config.ts — canonical product identity (PRODUCT_ID, productConfig)
- lib/auth.ts — @bytelyst/fastify-auth createAuthMiddleware
- lib/request-context.ts — getUserId(), getRequestProductId()
- lib/telemetry.ts — @bytelyst/backend-telemetry buffer
- lib/feature-flags.ts — @bytelyst/backend-flags with 12 cowork flags
- lib/ipc-bridge.ts — IpcBridge class: spawn Rust child, JSON-RPC, 13 methods

Updated files:
- lib/config.ts — extends @bytelyst/backend-config baseBackendConfigSchema
- server.ts — JWT context, bootstrap endpoint, IPC startup, graceful shutdown
- modules/tasks/routes.ts — IPC bridge forwarding with in-memory fallback
- modules/health/routes.ts — productId from product-config, IPC status
- package.json — 7 new @bytelyst/* workspace deps

IPC bridge features:
- Spawns cowork-orchestrator --ipc-bridge as child process
- JSON-RPC 2.0 over stdin/stdout (line-delimited)
- 13 convenience methods matching Rust IpcHandler
- Timeout + pending request tracking
- Graceful shutdown with SIGTERM
- Singleton pattern with setIpcBridge() for testing

24 tests passing (was 8), typecheck clean.
2026-04-02 22:14:24 -07:00
saravanakumardb1
0bae1d6d5a ci: update CI/CD configuration 2026-03-31 23:03:14 -07:00
saravanakumardb1
de13a08a98 chore: update chat history archive + design-tokens tarball 2026-03-31 01:42:48 -07:00
saravanakumardb1
c5458c4c0e ci: update CI/CD configuration 2026-03-29 10:50:53 -07:00
saravanakumardb1
4687351de0 ci: update CI/CD configuration 2026-03-23 18:04:18 -07:00
saravanakumardb1
828d31b63d docs: update documentation 2026-03-22 14:06:44 -07:00
saravanakumardb1
ce0074d6ee fix(admin-web): proxy routes + pages use cookie-based auth
- Add getCurrentUserFromRequest() to auth-server.ts (checks cookies first, then Authorization header)
- Update all 34 proxy routes: getCurrentUser(req.headers.get('authorization')) → getCurrentUserFromRequest(req)
- Add createProxyFetch() shared helper in lib/proxy-fetch.ts (injects auth + product-id headers)
- Update 15 admin pages: replace inline fetch helpers with createProxyFetch
- Root cause: newer pages used bare fetch() without Authorization headers, causing 401s on all proxy routes
2026-03-21 20:31:30 -07:00
saravanakumardb1
2eadf480dc docs: Add post-implementation review fixes section to roadmap
Systematic review found 7 bugs across 7 repos:
1. LysnrAI Android: SettingsStore.kt incorrectly deleted (ada3d43)
2. Android kill switch: result.killed → result.disabled (3 repos)
3. Auth App iOS: BLKillSwitchClient.check() returns Void (215e7c9)
4. ChronoMind iOS: nonexistent BLKillSwitchResult (d3c3aff)
5. MindLyst iOS: KillSwitch + CrashReporter wrong API (cd78597)
6. JarvisJr iOS: KillSwitchResponse decoded 'killed' not 'disabled' (2a3cc7e)
7. NoteLett Mobile: createDiagnosticsClient doesn't exist (0b5c224)
2026-03-20 23:16:19 -07:00
saravanakumardb1
b9e37bb8b4 feat(telemetry-client,diagnostics-client): add createWebTelemetry + createWebDiagnostics convenience factories
- telemetry-client: createWebTelemetry() wraps createTelemetryClient() with web defaults
- diagnostics-client: createWebDiagnostics() wraps DiagnosticsClient with install ID + web defaults
- Eliminates ~70 lines of boilerplate per web app
- 11/11 telemetry tests pass, 21/21 diagnostics tests pass
2026-03-20 18:47:18 -07:00
saravanakumardb1
b52ace83d0 ci: update CI/CD configuration 2026-03-20 00:26:26 -07:00
saravanakumardb1
6ba86e0bf4 fix: replace corepack pnpm with pnpm in pretest/predev scripts
Node 25 removed corepack as a built-in. Replace all 'corepack pnpm'
invocations with direct 'pnpm' calls since pnpm is installed globally.

Affected: platform-service, tracker-web, blob, testing, LLM dashboard
2026-03-19 19:57:16 -07:00
saravanakumardb1
90f8f64937 ci: update CI/CD configuration 2026-03-19 18:11:27 -07:00
saravanakumardb1
0d20987f75 ci: update CI/CD configuration 2026-03-19 09:17:35 -07:00
saravanakumardb1
79e704286f feat(react-auth): include productId in login/register request bodies
When productId is configured via createAuthProvider({ productId }),
it is now included in the login and register POST bodies alongside
email/password. Previously it was only injected for OAuth calls.

This is required by platform-service which validates productId on
all auth endpoints.
2026-03-18 20:54:20 -07:00
root
604ce97e0d fix(local-llm): use resolved model for auto titles 2026-03-14 06:22:28 +00:00
root
bf2c285e41 feat(llm-router): unify local ollama routing 2026-03-14 06:17:17 +00:00
saravanakumardb1
f4b9124065 feat(auth): add Phase 5C-5E endpoints + SDK methods — TOTP secret, push approvals, QR auth
- GET /auth/mfa/totp/secret — retrieve decrypted TOTP secret for auth app
- POST /auth/mfa/push/create, GET /pending, POST /:id/respond, GET /:id/status
- POST /auth/qr/create, POST /auth/qr/confirm, GET /auth/qr/:id/status
- Kotlin SDK: getTotpSecret, getPendingApprovals, respondToApproval, confirmQrLogin
- Swift SDK: getTotpSecret, getPendingApprovals, respondToApproval, confirmQrLogin
- All 53 auth tests passing
2026-03-12 15:01:51 -07:00
saravanakumardb1
c8b520ba12 chore: sync chat history workflows and repo metadata 2026-03-11 09:13:49 -07:00
saravanakumardb1
38653bd9ec ci: update CI/CD configuration 2026-03-10 11:32:25 -07:00
saravanakumardb1
925e9b6b0f ci: update CI/CD configuration 2026-03-06 13:55:01 -08:00
saravanakumardb1
435d873436 ci: update CI/CD configuration 2026-03-05 01:17:40 -08:00
saravanakumardb1
2d3ae2b8d2 ci: update CI/CD configuration 2026-03-04 20:01:32 -08:00
saravanakumardb1
458d835e5a ci: update CI/CD configuration 2026-03-03 12:08:22 -08:00
saravanakumardb1
97b3ffb21d feat(ai-diagnostics): add LLM analyzer with prompts and insight generation [2.1-2.2] 2026-03-03 11:52:12 -08:00
saravanakumardb1
1ff02934fa feat(ai-diagnostics): add telemetry linking and context enrichment [1.3] 2026-03-03 11:50:28 -08:00
saravanakumardb1
6a23a02cd4 fix(diagnostics): BUG-4, BUG-5, BUG-7, BUG-8 - race condition, transactions, test isolation, auth validation
- BUG-4: Add optimistic concurrency control with retry to updateSessionStats
- BUG-5: Document transaction limitations in batch operations
- BUG-7: Fix test isolation with unique productIds per test run
- BUG-8: Add session ownership validation to ingest endpoints
2026-03-02 23:47:14 -08:00
saravanakumardb1
b33d3cf2b3 feat(platform): add webhook subscriptions module, DB migration runner, Swagger UI — complete 23/25 roadmap items 2026-03-01 23:38:48 -08:00
saravanakumardb1
d0cb3a2238 feat(marketplace): purchase repository — build/complete/refund docs, 70/30 revenue share, author earnings aggregation (15 tests) 2026-03-01 16:39:38 -08:00
saravanakumardb1
dcabe46de2 feat(jarvis): add jarvis-agents, jarvis-sessions, jarvis-memory modules (63 tests) 2026-03-01 07:09:12 -08:00
saravanakumardb1
069d1ffda9 docs: add 19 reusable AI coding agent skills + sessions module scaffold 2026-02-28 02:41:22 -08:00
saravanakumardb1
662d417267 feat(platform): add email delivery module, wire event bus into auth, update roadmap
- modules/delivery: 8 email templates, renderer, SendGrid/Postmark/console adapters, dispatcher, delivery log, 21 tests
- modules/delivery/subscribers: event bus listeners for user.created, password_reset, email_verified
- auth/routes: emit bus events on register, forgot-password, verify-email (fire-and-forget)
- cosmos-init: delivery_log container (pk /pk, 90d TTL)
- roadmap: updated inventory (30 modules, 14 packages, 988 tests), marked P0 items complete
- 988 platform-service + 14 events = 1002 total tests passing
2026-02-28 02:36:58 -08:00
saravanakumardb1
772f428967 feat(platform): add P0 foundational modules — event bus, scheduled jobs, password reset, email verification, status page 2026-02-28 02:29:08 -08:00
saravanakumardb1
eae39cbd4e chore(windsurf): refresh chat history archive snapshot
- Updated repo docs and workflows from all 4 repos
- Stats: 50 conversations (540M), 45 memories, 182 tracker dirs, 1810 edit history entries
- Gitignore launchd log files
2026-02-28 00:04:09 -08:00
saravanakumardb1
1a4b3c1fb3 move oss_llm/ from learning_ai_2nd_brain 2026-02-28 00:03:37 -08:00
saravanakumardb1
a32978f9c3 feat(windsurf): add chat history archive auto-refresh tooling
- refresh.sh: idempotent script, auto-discovers repos, updates symlinks + copies docs/workflows
- launchd plist: scheduled daily at 11 PM + on login
- /refresh-chat-history workflow for on-demand Cascade runs
- README updated with auto-refresh docs and full data inventory
- Repo docs and workflows refreshed from all 4 repos
2026-02-28 00:02:04 -08:00
saravanakumardb1
a09529c441 ci: update CI/CD configuration 2026-02-27 17:09:57 -08:00
saravanakumardb1
9f2bd0877f fix: correct gitignore path for APPS/ and remove accidental submodule ref
- Fix .gitignore: __LOCAL_LLMs/APPS/ → APPS/ (relative to .gitignore location)
- Remove accidentally staged voicebox embedded git repo from index
2026-02-27 17:09:26 -08:00
saravanakumardb1
41e7a125da chore: update project files 2026-02-27 17:09:25 -08:00
saravanakumardb1
e5acd1dc26 fix(mission-control): dedupe whisper binaries and clean WSL package metadata
Prevent duplicate React keys by de-duplicating whisper binary names and improve WSL package reporting so system metadata shows stable, user-friendly versions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-22 18:03:59 -08:00
saravanakumardb1
a7790b7115 chore(local-llms): add WSL Ollama connectivity test script
Add a helper script to quickly verify Ollama reachability across localhost, WSL gateway, and nameserver paths to speed up Windows+WSL troubleshooting.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-22 16:46:18 -08:00
saravanakumardb1
112341e162 fix(local-llms): harden WSL setup and dashboard Ollama connectivity
Stabilize Windows+WSL setup by fixing script line-ending pitfalls, WSL Ollama host detection, and dashboard startup behavior so models are detected reliably in Mission Control.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-22 16:44:58 -08:00
saravanakumardb1
6dca1bd6f1 docs(windows): rename mac-vs-windows → all-machines-comparison, add 4-machine tables
- Renamed mac-vs-windows-comparison.md → all-machines-comparison.md
- Added Fleet Overview table (all 4 machines at a glance)
- Added All Machines — Hardware Comparison (4-column ASCII table)
- Added All Machines — AI/ML Capability (inference, TTS, fine-tuning, OpenClaw, Voicebox)
- Added All Machines — Software Development (iOS, CUDA, Docker, portability)
- Added All Machines — Recommended Roles (PRIMARY/SECONDARY per workload)
- Added All Machines — Cost & Power (purchase, electricity, fleet totals)
- Preserved original Mac vs Razer deep-dive sections below
- Updated README.md file reference
2026-02-22 15:47:44 -08:00
saravanakumardb1
9f6c216d0f docs(voicebox): add setup guide for local voice cloning studio
Covers: what it is, architecture diagram, prerequisites (Python 3.12,
Bun, Rust), step-by-step install for macOS and WSL2, running backend
+ web frontend, first use (model download, voice profiles, story editor),
Make commands reference, platform performance table, troubleshooting
(proxy workaround, MPS/CUDA, transformers conflict), file structure,
and relevance to LysnrAI
2026-02-22 15:45:32 -08:00
saravanakumardb1
c50f271e1c docs(windows): flesh out Dell P16s spec with full hardware details + use cases
Expanded from 7-line raw system info to full spec document:
- CPU (Ryzen 7 PRO 7840U Zen 4, 8c/16t, AVX-512, NPU)
- GPU (Radeon 780M RDNA 3 iGPU, DirectML/ROCm)
- RAM (32GB DDR5, 24GB usable, VRAM allocation explained)
- Capabilities assessment (dev workstation, light AI, remote dev)
- AI/ML section (Ollama CPU, ROCm experimental, Ryzen AI NPU)
- Portable dev setup diagram + OpenClaw client use case
- 4-machine comparison table
- Optimization tips (reclaim RAM from iGPU, WSL2 memory limit)
- BIOS recommendations
2026-02-22 15:43:20 -08:00
saravanakumardb1
b3da5dd66e docs(windows): flesh out HP Z240 spec + update README with all machines
- HP Z240 spec: expanded from 7-line raw info to full spec document
  with hardware details, capabilities assessment, OpenClaw server
  use case, home lab services table, GPU upgrade path, machine
  comparison, and setup recommendations
- README: added Machines table (Razer/HP Z240/Dell P16s), expanded
  files table, added Related: OpenClaw section with links to OPEN_CLAW/
2026-02-22 15:41:20 -08:00