Commit graph

2158 commits

Author SHA1 Message Date
Nexus Dev
2e210a4e6d docs(phase-36): complete phase execution 2026-04-04 01:49:24 +00:00
Nexus Dev
9813903270 fix(36): resolve TypeScript errors in voice-pipeline.ts (ffmpegPath cast, callback types) 2026-04-04 01:49:08 +00:00
Nexus Dev
d4db7ffffc docs(36-03): update STATE.md and REQUIREMENTS.md after plan completion 2026-04-04 01:41:38 +00:00
Nexus Dev
fd372eafbd feat(36-03): wire voiceMode through chat stream, mount voice routes, remove old transcribe
- server/src/routes/chat.ts: destructure voiceMode from req.body in stream endpoint
- server/src/routes/chat.ts: inject dual-output system prompt when voiceMode=full_voice (VPIPE-06)
- server/src/routes/chat.ts: persist voiceMode to messageType column (voice_full/voice_input)
- server/src/routes/chat-files.ts: remove old inline /transcribe endpoint (lines 297-386)
- server/src/app.ts: import and mount voiceRoutes() after nexusSettingsRoutes()
2026-04-04 01:41:32 +00:00
Nexus Dev
1150854762 feat(36-03): add voice HTTP routes with POST /transcribe and POST /synthesize
- Create server/src/routes/voice.ts with voiceRoutes() factory
- POST /transcribe: multer audio upload → VoicePipelineService.transcribe → JSON response
- POST /synthesize: text body → VoicePipelineService.synthesize → audio/wav response
- Both routes protected by assertBoard(req) auth check
- Create server/src/__tests__/36-voice-routes.test.ts with 5 passing tests
2026-04-04 01:41:32 +00:00
Nexus Dev
f991a11fa9 docs(36-03): complete voice HTTP routes plan — POST /transcribe + POST /synthesize + voiceMode wiring 2026-04-04 01:40:50 +00:00
Nexus Dev
d0d7a23af5 feat(36-02): extend nexus-settings schema with voiceMode, telegramToken, and binary paths
- Export VOICE_MODES constant and VoiceMode type from nexus-settings
- Export nexusSettingsSchema for testing
- Add voiceMode field with default 'text' to nexusSettingsSchema
- Add telegramToken optional field to nexusSettingsSchema
- Add piperBinaryPath and whisperBinaryPath optional fields
- Update fallback in get() to use nexusSettingsSchema.parse({}) for consistent defaults
- Add 5 passing tests for nexus-settings schema in 36-voice-schema.test.ts
2026-04-04 01:32:06 +00:00
Nexus Dev
b964c0e413 feat(36-02): add voiceMode field to createMessageSchema and ChatMessage interface
- Add VOICE_MODES constant and VoiceMode type to shared validators/chat.ts
- Extend createMessageSchema with optional voiceMode enum field
- Add voiceMode optional field to ChatMessage interface in types/chat.ts
- Add 36-voice-schema.test.ts with 6 passing tests for voiceMode validation
2026-04-04 01:32:06 +00:00
Nexus Dev
f8df254777 feat(36-01): VoicePipelineService with transcribe, synthesize, formatForVoice, transcodeToWav16k
- Install ffmpeg-static and @types/ffmpeg-static
- Create voice-pipeline.ts with voicePipelineService factory function
- transcodeToWav16k: pipes audio through ffmpeg at 16kHz mono WAV
- transcribe: whisper-cpp cascade with --language auto, falls back to openai-whisper
- synthesize: piper TTS with sentence chunking and 8s timeout via Promise.race
- formatForVoice: extracts SPOKEN marker or strips markdown as fallback
- Unit tests with mocked child_process (12 tests all passing)
2026-04-04 01:31:53 +00:00
Nexus Dev
826b455967 docs(36-01): complete VoicePipelineService plan 2026-04-04 01:30:38 +00:00
Nexus Dev
7d47463d5b docs(36-02): complete voice schema foundation plan
- Add 36-02-SUMMARY.md with task details and verification results
- Advance STATE.md to plan 2 of 3, 33% progress
- Update ROADMAP.md plan progress (1 of 3 summaries)
- Mark VPIPE-05 as complete in REQUIREMENTS.md
2026-04-04 01:25:24 +00:00
Nexus Dev
044e3dad54 feat(36-02): extend nexus-settings schema with voiceMode, telegramToken, and binary paths
- Export VOICE_MODES constant and VoiceMode type from nexus-settings
- Export nexusSettingsSchema for testing
- Add voiceMode field with default 'text' to nexusSettingsSchema
- Add telegramToken optional field to nexusSettingsSchema
- Add piperBinaryPath and whisperBinaryPath optional fields
- Update fallback in get() to use nexusSettingsSchema.parse({}) for consistent defaults
- Add 5 passing tests for nexus-settings schema in 36-voice-schema.test.ts
2026-04-04 01:23:46 +00:00
Nexus Dev
390034c76d feat(36-02): add voiceMode field to createMessageSchema and ChatMessage interface
- Add VOICE_MODES constant and VoiceMode type to shared validators/chat.ts
- Extend createMessageSchema with optional voiceMode enum field
- Add voiceMode optional field to ChatMessage interface in types/chat.ts
- Add 36-voice-schema.test.ts with 6 passing tests for voiceMode validation
2026-04-04 01:22:55 +00:00
Nexus Dev
edd7b17569 docs(36): create phase plan — 3 plans in 2 waves 2026-04-04 01:16:50 +00:00
Nexus Dev
eada6c44e5 docs(phase-36): add validation strategy 2026-04-04 01:11:40 +00:00
Nexus Dev
8788b70cb9 docs(36): research voice pipeline foundation 2026-04-04 01:10:58 +00:00
Nexus Dev
b18355bc47 docs(36): auto-generated context (discuss skipped) 2026-04-04 00:55:08 +00:00
Nexus Dev
68aa5ae052 docs: create milestone v1.6 roadmap (4 phases) 2026-04-04 00:53:37 +00:00
Nexus Dev
1cdcfac10b docs: define milestone v1.6 requirements 2026-04-04 00:25:20 +00:00
Nexus Dev
0c29013931 docs: complete project research 2026-04-03 23:53:14 +00:00
Nexus Dev
2dc450008d docs: start milestone v1.6 Voice Pipeline + Minimal Message Bridge 2026-04-03 23:31:55 +00:00
Nexus Dev
51eb2edf0b chore: complete v1.5 Smart Onboarding + Personal AI Assistant milestone
6 phases, 13 plans, 21 requirements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 23:03:46 +00:00
Nexus Dev
048f6ad6fe docs(phase-35): complete npx buildthis CLI phase 2026-04-03 23:03:19 +00:00
Nexus Dev
e149e01458 feat(35-01): buildthis CLI package — hardware detection + bootstrap
Standalone npm package at packages/buildthis/. Probes running Nexus
instance, opens browser if found, guides install with hardware-aware
provider recommendations if not. 14 tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 23:01:10 +00:00
Nexus Dev
9c6ff93a89 docs(35-01): complete buildthis CLI package plan 2026-04-03 23:00:16 +00:00
Nexus Dev
cec48d9f42 docs(35): create phase plan for npx buildthis CLI
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:53:24 +00:00
Nexus Dev
e0e60be6b6 docs(35): research npx buildthis CLI phase domain
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 22:49:06 +00:00
Nexus Dev
f489f5f4d1 docs(35): auto-generated context (discuss skipped) 2026-04-03 22:43:17 +00:00
Nexus Dev
c0f340a915 docs(phase-34): complete voice phase 2026-04-03 22:42:52 +00:00
Nexus Dev
c55b085caa feat(34-02): voice onboarding step + PersonalAssistant voice wiring
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:42:45 +00:00
Nexus Dev
e7090f63c3 docs(34-02): complete voice onboarding step + PersonalAssistant wire-up plan
- 34-02-SUMMARY.md: VoiceStep onboarding, 6-step wizard, PersonalAssistant with STT+TTS
- STATE.md: plan advanced to last_plan (12/12 complete), metrics recorded, decisions added
- ROADMAP.md: phase 34 marked Complete (2/2 summaries)
- REQUIREMENTS.md: VOICE-03 marked complete
2026-04-03 22:42:17 +00:00
Nexus Dev
966c8b5656 docs(34-01): complete voice foundation plan — chatFileRoutes, usePiperTts, TtsButton, voiceEnabled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 22:36:11 +00:00
Nexus Dev
8f8257e143 feat(34-01): create usePiperTts hook and TtsButton component with piper-tts-web
- Install @mintplex-labs/piper-tts-web as UI dependency
- Create usePiperTts hook with prewarm/speak/stop/status/progress (VOICE-01, VOICE-02)
- tts.stored() checks IndexedDB cache to skip re-download
- tts.download() with progress callback for visible download progress
- tts.predict() returns WAV blob URL for CPU-safe WASM synthesis
- Create TtsButton component showing download progress during prewarm
- TtsButton shows Volume2/VolumeX icons for idle/speaking states
2026-04-03 22:34:44 +00:00
Nexus Dev
0d318a31d3 feat(34-01): register chatFileRoutes + nexusSettingsRoutes in app.ts, add voiceEnabled to nexus-settings
- Add chatFileRoutes(db, storageService) after assistantHandoffRoutes (inside boardMutationGuard)
- Add nexusSettingsRoutes() after chatFileRoutes
- Extend nexusSettingsSchema with voiceEnabled: z.boolean().default(false)
- Update default return values in nexusSettingsService.get() to include voiceEnabled: false
- Add voiceEnabled?: boolean to NexusSettings client interface in hardware.ts
2026-04-03 22:33:43 +00:00
Nexus Dev
af77ef6da8 docs(34-voice): create phase plan 2026-04-03 22:29:45 +00:00
Nexus Dev
d9c628fe38 docs(34): research phase voice domain 2026-04-03 22:23:50 +00:00
Nexus Dev
221af2e461 docs(34): auto-generated context (discuss skipped) 2026-04-03 22:16:13 +00:00
Nexus Dev
d35db437e2 docs(phase-33): complete persistent memory phase 2026-04-03 22:15:46 +00:00
Nexus Dev
d3dc1b73bd feat(33-03): real AI streaming with memory injection + assistant handoff
Replace streamEcho with Puter proxy AI call, inject memory facts as
system message, append memory after each turn. Assistant-to-PM handoff
creates new conversation with context summary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:15:39 +00:00
Nexus Dev
185e219498 docs(33-03): complete AI streaming + handoff plan — summary, state, roadmap updated
Real AI streaming with memory injection, SSE format fix, assistant-to-PM handoff route,
wired UI button. All 24 tests pass. Phase 33 complete.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 22:15:07 +00:00
Nexus Dev
0bfec2a3c8 feat(33-01,33-02): memory service + sanitizer, personal assistant page
33-01: memory-sanitizer, assistant-memory service, REST routes, 17 tests
33-02: useNexusMode hook, PersonalAssistantPage, sidebar nav, route wiring

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:03:09 +00:00
Nexus Dev
0f01b4e30e docs(33-02): complete personal-assistant-page plan — summary, state, roadmap updated 2026-04-03 22:02:37 +00:00
Nexus Dev
fc4bf9a38a docs(33-01): complete persistent-memory memory-service plan
- SUMMARY.md with 17 passing tests, 2 deviations documented
- STATE.md advanced to plan 2, progress 80%
- ROADMAP.md updated: Phase 33 1/3 plans complete
- REQUIREMENTS.md: ASST-01 and ASST-02 marked complete
2026-04-03 21:57:25 +00:00
Nexus Dev
4c2521bc54 docs(33): create phase plan — memory service, personal assistant page, AI streaming + handoff 2026-04-03 21:50:35 +00:00
Nexus Dev
f6c49a1f36 docs(33): research phase persistent memory domain 2026-04-03 21:44:10 +00:00
Nexus Dev
f3bf580a0b docs(33): auto-generated context (discuss skipped) 2026-04-03 21:38:42 +00:00
Nexus Dev
9030558938 docs(phase-32): complete multi-step onboarding wizard phase 2026-04-03 21:38:15 +00:00
Nexus Dev
492e38e57c docs(32-01): complete multi-step-onboarding-wizard plan
- OnboardingSummaryStep component with 6 passing tests
- NexusOnboardingWizard updated: 5 steps, skip on 1/2/4, summary on step 5
- Requirements ONBD-04, ONBD-05, ONBD-06 marked complete
2026-04-03 21:37:41 +00:00
Nexus Dev
47630e53f7 feat(32-01): wire summary step, skip buttons, chat handoff in wizard
- Add OnboardingSummaryStep as step 5 of the wizard
- Add Skip buttons on step 1 (hardware) and step 2 (mode)
- Replace step 4 form submit with Review & finish -> step 5 flow
- Add Skip to summary on step 4
- Step indicator shows 'Summary' on step 5 instead of 'Step 5 of 4'
- Add deriveProviderLabel helper for provider display text
- Add handleStartChat that creates workspace then calls setChatOpen(true)
- Refactor shared workspace creation into createWorkspace() helper
2026-04-03 21:36:13 +00:00
Nexus Dev
c0d7ea5a3c feat(32-01): create OnboardingSummaryStep component and tests
- Read-only summary card with hardware, mode, provider, root dir rows
- SummaryRow helper component with optional mono styling
- Start chatting CTA with spinner and disabled state
- 6 unit tests covering rendering, empty root dir, error, click, loading
2026-04-03 21:34:32 +00:00