Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1169 commits
Select commit Hold shift + click to select a range
994370c
Remove locked folder/document system — all items are user-manageable
claude Feb 28, 2026
95befe3
Merge pull request #274 from StanislavBG/claude/fix-left-nav-layout-L…
StanislavBG Feb 28, 2026
d4215ef
Published your App
Feb 28, 2026
1f37168
Convert Transcript panel to Notes management with save-to-context
claude Feb 28, 2026
1b0d432
Fix Evolve Document validation error and remove unused New button
claude Feb 28, 2026
2554900
Merge pull request #275 from StanislavBG/claude/transcript-to-notes-j…
StanislavBG Feb 28, 2026
77a033f
Published your App
Feb 28, 2026
3940f0a
Merge pull request #276 from StanislavBG/claude/fix-objective-validat…
StanislavBG Feb 28, 2026
d12b830
Add unused API endpoint analysis
claude Feb 28, 2026
7ef89ee
Merge pull request #277 from StanislavBG/claude/find-unused-apis-kBKjX
StanislavBG Feb 28, 2026
714638b
Improve Notes panel: add quick-add input, revert ProvokeText padding
claude Feb 28, 2026
3d771c2
Rename Transcript→Notes in notebook UI, add save-to-context, update C…
claude Feb 28, 2026
3f6ec3a
Merge pull request #278 from StanislavBG/claude/transcript-to-notes-j…
StanislavBG Feb 28, 2026
9078ae6
Published your App
Feb 28, 2026
e49f26d
Published your App
Feb 28, 2026
abdf9ee
Fix AIQA widget disappearing on click by stopping event propagation
claude Feb 28, 2026
85d13f7
Add Enter key support to delete confirmation modal
claude Feb 28, 2026
e4fe9fa
Merge pull request #279 from StanislavBG/claude/transcript-to-notes-j…
StanislavBG Feb 28, 2026
3926c83
Redesign Add Notes card with integrated label and larger input
claude Feb 28, 2026
41579f8
Merge pull request #280 from StanislavBG/claude/add-enter-key-delete-…
StanislavBG Feb 28, 2026
8429573
Add draggable nested folders, move upload to Session Context, fix dup…
claude Feb 28, 2026
0ab8a8c
Merge pull request #281 from StanislavBG/claude/draggable-nested-fold…
StanislavBG Feb 28, 2026
fcb7d3a
Update CLAUDE.md: document npm install requirement before type checking
claude Feb 28, 2026
be09e4d
Merge pull request #282 from StanislavBG/claude/draggable-nested-fold…
StanislavBG Feb 28, 2026
7e5e03b
Published your App
Feb 28, 2026
6cef7e0
Published your App
Feb 28, 2026
b4d3173
Fix objective panel layout: reduce spacing and simplify structure
claude Feb 28, 2026
b55f095
Fix Clear button disappearing on scroll in Research panel
claude Feb 28, 2026
2b0d38c
Add research focus modes and improved prompt engineering
claude Feb 28, 2026
4fb13e3
Add Save to Context and Evolve buttons to document writer bar
claude Feb 28, 2026
6ec9699
Merge pull request #283 from StanislavBG/claude/fix-objective-panel-l…
StanislavBG Feb 28, 2026
4ed8f40
Published your App
Feb 28, 2026
5fec035
Simplify objective pane to bare input with no chrome
claude Feb 28, 2026
0079d3e
Revert objective to inline ProvokeText, fix bottom overlap
claude Feb 28, 2026
6cedafc
Add infographic fullscreen, save-to-context, and folder drag-expand
claude Feb 28, 2026
6fa644e
Fix AIQA widget: add missing data-project-id and data-api-key attrs
claude Feb 28, 2026
2c1e8c6
Merge pull request #284 from StanislavBG/claude/fix-objective-panel-l…
StanislavBG Feb 28, 2026
b199934
Auto-save generated content to Context Store, make AIQA draggable
claude Feb 28, 2026
86762d1
Merge pull request #285 from StanislavBG/claude/fix-objective-panel-l…
StanislavBG Feb 28, 2026
3729efc
Published your App
Feb 28, 2026
e619974
Remove fake 'Documents' group, fix drag-to-root in Context sidebar
claude Feb 28, 2026
05b6ed6
Fix microphone word duplication in ProvokeText voice input
claude Feb 28, 2026
9fd0021
Merge pull request #286 from StanislavBG/claude/fix-objective-panel-l…
StanislavBG Feb 28, 2026
be6bd02
Published your App
Feb 28, 2026
3b46815
Fix AIQA widget not responding to clicks
claude Feb 28, 2026
9084aab
Add Synthesize, Reason, and Deep Research focus modes to Research tab
claude Feb 28, 2026
a979edc
Merge pull request #287 from StanislavBG/claude/research-tuning-modes…
StanislavBG Feb 28, 2026
d7ebbb1
Published your App
Feb 28, 2026
a3eb6de
Replace session header with logo + brand, rename Session Context to A…
claude Feb 28, 2026
a4f9db0
Implement multi-select writer controls with prompt-engineered evolution
claude Feb 28, 2026
eeb6c1c
Merge pull request #288 from StanislavBG/claude/fix-objective-panel-l…
StanislavBG Feb 28, 2026
34a8647
Published your App
Feb 28, 2026
2b21702
Optimize Context Store for scalability + add tree nesting lines
claude Feb 28, 2026
666f850
Add Evolve button hover widget with Perf and Summary tabs
claude Feb 28, 2026
7816f6e
Add folder and document creation buttons to subfolders
claude Feb 28, 2026
de5b4e3
Extract Context Store into isolated microservice with active context …
claude Feb 28, 2026
369b898
Merge pull request #289 from StanislavBG/claude/enable-subfolder-acti…
StanislavBG Feb 28, 2026
fa9b0c1
Add 5 color palette schemes with toggle in global menu
claude Feb 28, 2026
4eaf906
Replace brand icon with custom ProvoIcon and update LLM productivity …
claude Feb 28, 2026
6c99425
Refactor Evolve widget into generic LlmCallPreview framework
claude Feb 28, 2026
f2128c3
Add standalone Interview tab with Podcast generation
claude Feb 28, 2026
ec67490
Merge pull request #291 from StanislavBG/claude/evolve-button-widget-…
StanislavBG Feb 28, 2026
3c1f346
Merge pull request #292 from StanislavBG/claude/update-icon-llm-brand…
StanislavBG Feb 28, 2026
233f5d8
Merge pull request #293 from StanislavBG/claude/optimize-context-stor…
StanislavBG Feb 28, 2026
bdf6dba
Merge pull request #290 from StanislavBG/claude/add-interview-tab-ZyoGH
StanislavBG Feb 28, 2026
d9736c3
Rename Generate→Painter and Evolve→Writer, add image center panel
claude Feb 28, 2026
eac4282
Redesign mobile UI as dedicated note capture tool with interview mode
claude Feb 28, 2026
ddd799c
Merge pull request #295 from StanislavBG/claude/redesign-mobile-conte…
StanislavBG Feb 28, 2026
9d49c0b
Merge origin/main: resolve conflicts with Interview tab, context prop…
claude Feb 28, 2026
e1009a8
Merge origin/main: adopt MobileCapture early return, remove inline mo…
claude Feb 28, 2026
69ba3e8
Merge pull request #294 from StanislavBG/claude/rename-writer-painter…
StanislavBG Feb 28, 2026
db5327d
Add universal thinking lenses and Writer/Painter stance to Interview
claude Feb 28, 2026
83b7ec5
Fix all pre-existing TypeScript errors across codebase
claude Feb 28, 2026
946b0fd
Merge pull request #296 from StanislavBG/claude/separate-interviewer-…
StanislavBG Feb 28, 2026
fda8ad3
Published your App
Feb 28, 2026
3f7c2ef
Refine Interview setup: Writer first, Painter as config, save far right
claude Mar 1, 2026
5605c29
Fix folder drilling, remove Verbose toggle, fix AIQA widget styles
claude Mar 1, 2026
a12867a
Merge pull request #297 from StanislavBG/claude/separate-interviewer-…
StanislavBG Mar 1, 2026
79ae791
Published your App
Feb 28, 2026
f9a46fc
Fix Imagen model: upgrade from retired imagen-3.0 to imagen-4.0
claude Mar 1, 2026
d716684
Merge pull request #298 from StanislavBG/claude/add-replit-setup-g8qvt
StanislavBG Mar 1, 2026
122c1b1
Fix Drizzle schema sync: add missing active_context table and indexes
claude Mar 1, 2026
c566eb3
Painter uses Active Context + Nano Banana 2; add Open Document in Pre…
claude Mar 1, 2026
69759cd
Merge main: resolve conflicts keeping Nano Banana 2 model
claude Mar 1, 2026
34d995a
Merge pull request #299 from StanislavBG/claude/replit-setup-guide-6OgKg
StanislavBG Mar 1, 2026
deff659
Fix recurring Drizzle migration on Replit deploy
claude Mar 1, 2026
9c361a2
Merge pull request #300 from StanislavBG/claude/investigate-recurring…
StanislavBG Mar 1, 2026
f5d9205
Fix ensureTables/Drizzle schema mismatches causing recurring migrations
claude Mar 1, 2026
4d36c37
Add ADR for dual schema management (ensureTables + Drizzle)
claude Mar 1, 2026
8366feb
Merge pull request #301 from StanislavBG/claude/fix-items-showing-VoxMS
StanislavBG Mar 1, 2026
c664a24
Published your App
Mar 1, 2026
b36bcdb
Add Painter context description and LLM preview widget
claude Mar 1, 2026
476f5fa
Add collisionPadding to LlmHoverButton, keep Painter preview clear of…
claude Mar 1, 2026
4dbda5a
Merge pull request #302 from StanislavBG/claude/painter-context-descr…
StanislavBG Mar 1, 2026
bdb4220
Published your App
Mar 1, 2026
434fb4f
Unify smart button colors to primary and wrap Research focus tabs
claude Mar 1, 2026
20f9d77
Remove AIQA overlay and add Art/Infographic dual mode to Painter
claude Mar 1, 2026
6e10762
Optimize Painter infographic mode for Nano Banana 2 capabilities
claude Mar 1, 2026
faf92ba
Allow Painter and Writer to work without explicit settings
claude Mar 1, 2026
efd1c83
Merge pull request #303 from StanislavBG/claude/painter-context-descr…
StanislavBG Mar 1, 2026
947cead
Add Load to Context and Open as Document icon shortcuts
claude Mar 1, 2026
be561e3
Fix Generate Provocations button disabled when only context docs exist
claude Mar 1, 2026
e43bdd3
Add CLAUDE.md for Interview and Provo mini apps, rebrand Interview as…
claude Mar 1, 2026
7cfc34e
Merge pull request #304 from StanislavBG/claude/painter-context-descr…
StanislavBG Mar 1, 2026
538b489
Fix document save to update in-place instead of creating duplicates
claude Mar 1, 2026
a54fa15
Add LLM call logging trace report and header button
claude Mar 1, 2026
e5703d7
Fix voice duplication in Web Speech API fallback
claude Mar 1, 2026
31b22ff
Merge pull request #305 from StanislavBG/claude/fix-document-save-Gnuc4
StanislavBG Mar 1, 2026
da1fe63
Merge pull request #306 from StanislavBG/claude/add-llm-call-logging-…
StanislavBG Mar 1, 2026
300a857
Merge pull request #307 from StanislavBG/claude/fix-voice-duplication…
StanislavBG Mar 1, 2026
b4d402c
Move Save button to document header and Writer to right panel
claude Mar 1, 2026
a08a0f8
Add configurable panel layout with drag-to-sort and persistence
claude Mar 1, 2026
33193f0
Merge pull request #308 from StanislavBG/claude/reorganize-ui-layout-…
StanislavBG Mar 1, 2026
196c5a5
Add CLAUDE.md documentation for Researcher (gpt-to-context) app
claude Mar 1, 2026
d3eb003
Merge pull request #309 from StanislavBG/claude/researcher-feature-do…
StanislavBG Mar 1, 2026
11aadf1
Published your App
Mar 1, 2026
8dcfe47
Remove header New button and make Open as document load directly into…
claude Mar 1, 2026
5f97e72
Auto-capture provocation responses to Notes and clear after evolve
claude Mar 1, 2026
f5a4dad
Single-click previews document, double-click opens for editing
claude Mar 1, 2026
8bd65a6
Fix painter Generate button disabled when only context is available
claude Mar 1, 2026
62a8c8b
Fix panel layout tab moves and add save-to-context for images
claude Mar 1, 2026
bf2e3c1
Add fullscreen image lightbox for ImageCanvas and Context Store previews
claude Mar 1, 2026
7e24f6a
Merge pull request #310 from StanislavBG/claude/remove-header-button-…
StanislavBG Mar 1, 2026
8b47471
Add timeline document type with chronological event mapping workspace
claude Mar 1, 2026
5e2520a
Merge pull request #311 from StanislavBG/claude/timeline-component-ma…
StanislavBG Mar 1, 2026
09829f3
Published your App
Mar 1, 2026
6533e8b
Fix interview repeating same question due to stale closure
claude Mar 1, 2026
6ef66b1
Merge pull request #312 from StanislavBG/claude/review-recent-commits…
StanislavBG Mar 1, 2026
cd982ce
Published your App
Mar 1, 2026
5ffa719
Published your App
Mar 1, 2026
31319a1
Add Timeline tab to center panel tab bar
claude Mar 1, 2026
d772c71
Fix chat tab startup by wiring OnboardingSplash into NotebookWorkspace
claude Mar 1, 2026
24df35f
Merge pull request #313 from StanislavBG/claude/fix-chat-tab-startup-…
StanislavBG Mar 1, 2026
9dfde1e
Merge pull request #314 from StanislavBG/claude/add-timeline-tab-GFeEg
StanislavBG Mar 1, 2026
e5cfcfd
Published your App
Mar 1, 2026
e194420
Remove OnboardingSplash, legacy Workspace, and cascade dead components
claude Mar 1, 2026
11b0dec
Merge pull request #315 from StanislavBG/claude/add-timeline-tab-GFeEg
StanislavBG Mar 1, 2026
03fab86
Published your App
Mar 1, 2026
766211b
Fix build failure: remove dead OnboardingSplash references
claude Mar 1, 2026
62c5dfb
Merge pull request #316 from StanislavBG/claude/debug-build-failure-S…
StanislavBG Mar 1, 2026
d1e63c8
Restore AIQA QA overlay widget in index.html
StanislavBG Mar 1, 2026
21e2dbc
Published your App
Mar 1, 2026
867d039
Remove AIQA QA overlay from index.html
StanislavBG Mar 1, 2026
160e683
Published your App
Mar 1, 2026
cb027cb
Fix AIQA setup: update base URL and add overlay snippet
StanislavBG Mar 1, 2026
6903355
Published your App
Mar 1, 2026
f3e424a
Fix Timeline and Chart tabs not opening when clicked
claude Mar 1, 2026
0937009
Move Chat and Video from side panels to global header
claude Mar 1, 2026
999aead
Merge pull request #317 from StanislavBG/claude/fix-document-opening-…
StanislavBG Mar 1, 2026
0ebe7b4
Published your App
Mar 1, 2026
4a0d3e9
Fix saved image context, add unified notifications, interview TTS + v…
claude Mar 1, 2026
95676bd
Merge pull request #318 from StanislavBG/claude/fix-saved-image-conte…
StanislavBG Mar 1, 2026
3bef402
Fix panel drag vibration and provocations returning 0 challenges
claude Mar 1, 2026
29306c4
Merge pull request #319 from StanislavBG/claude/fix-saved-image-conte…
StanislavBG Mar 1, 2026
4685f25
Published your App
Mar 1, 2026
10d7b90
Mobile: add TTS, voice on all inputs, Provo End Message keyword
claude Mar 1, 2026
cd93cdb
Merge pull request #320 from StanislavBG/claude/fix-saved-image-conte…
StanislavBG Mar 1, 2026
0cb03ab
Published your App
Mar 1, 2026
27e3065
Fix mobile audio playback and real-time speech rendering
claude Mar 2, 2026
bb6ca48
Merge pull request #321 from StanislavBG/claude/fix-mobile-audio-spee…
StanislavBG Mar 2, 2026
feda5cf
Published your App
Mar 1, 2026
957c323
Published your App
Mar 2, 2026
c016706
Fix mobile interview: TTS playback, live transcript, and Provo End Me…
StanislavBG Mar 2, 2026
900b50b
Keep side panels visible when timeline is active
claude Mar 2, 2026
8d5184f
Add researcher response configuration (detail, format, audience, tone)
claude Mar 2, 2026
ce5f783
Standardize microphone capture with streaming SSE transcription
claude Mar 2, 2026
96629e7
Add competitive research features: follow-ups, stop generation, metadata
claude Mar 2, 2026
404df6f
Add Map Notes to Timeline button and Autobiography interview mode
claude Mar 2, 2026
d825c27
Fix interim transcript handlers to preserve existing content
claude Mar 2, 2026
b50779d
Add writer voice feedback and text selection editing
claude Mar 2, 2026
3b5853d
Remove 'Design with Voice' mode from BS Chart (not ready yet)
claude Mar 2, 2026
4fc2773
Add Deep Research plan preview, source grounding labels, and enhanced…
claude Mar 2, 2026
ac82d24
Enhance research chat markdown rendering with citation badges and sou…
claude Mar 2, 2026
3b245ac
Add global user connection mailbox and document/folder sharing
claude Mar 2, 2026
562c478
Merge pull request #322 from StanislavBG/claude/global-user-connectio…
StanislavBG Mar 2, 2026
c2649e0
Merge pull request #323 from StanislavBG/claude/remove-voice-design-m…
StanislavBG Mar 2, 2026
098e539
Merge pull request #324 from StanislavBG/claude/add-writer-voice-feed…
StanislavBG Mar 2, 2026
a0e1b65
Merge origin/main — resolve BSChartWorkspace conflict
claude Mar 2, 2026
a29ea4b
Harden BS Chart: limits, performance, input validation
claude Mar 2, 2026
f671746
Merge pull request #325 from StanislavBG/claude/standardize-microphon…
StanislavBG Mar 2, 2026
e4d92cc
Merge pull request #326 from StanislavBG/claude/remove-voice-design-m…
StanislavBG Mar 2, 2026
c119313
Make response config conditional on focus mode with smart defaults
claude Mar 2, 2026
7f54005
Merge pull request #327 from StanislavBG/claude/add-researcher-respon…
StanislavBG Mar 2, 2026
9380a0a
Add historical era discovery and timeline-aware interview context
claude Mar 2, 2026
6fcb511
Merge origin/main into feature branch
claude Mar 2, 2026
993c077
Add "Move to Document" icon-button to note cards
claude Mar 2, 2026
b831f25
Merge pull request #328 from StanislavBG/claude/keep-panels-visible-A…
StanislavBG Mar 2, 2026
9103778
Merge origin/main — resolve TranscriptPanel icon import conflict
claude Mar 2, 2026
9e5f97a
Merge pull request #329 from StanislavBG/claude/add-move-document-but…
StanislavBG Mar 2, 2026
45f5369
Remove toast overlay — notifications now pool in global header
claude Mar 2, 2026
874a93b
Relax Gemini safety filters for image generation endpoints
claude Mar 2, 2026
b77cc6f
Merge pull request #330 from StanislavBG/claude/add-writer-voice-feed…
StanislavBG Mar 2, 2026
7134f88
Save painter images as raw data URLs instead of markdown-wrapped prompts
claude Mar 2, 2026
ed72242
Disable Gemini content safety filters on all LLM calls
claude Mar 2, 2026
98e4aca
Merge pull request #331 from StanislavBG/claude/debug-safety-filter-a…
StanislavBG Mar 2, 2026
9740660
Merge pull request #332 from StanislavBG/claude/add-researcher-respon…
StanislavBG Mar 2, 2026
2521753
Published your App
Mar 2, 2026
13bd5b7
Move Writer icons into document header left side with distinctive sty…
claude Mar 2, 2026
1ab5def
Use short 1-2 word label for painter image titles in Context Store
claude Mar 2, 2026
d6310d6
Add clickable context source badges to Painter and always create new …
claude Mar 2, 2026
7de51eb
Fix excluded sources leaking into paint prompt + relax safety filter …
claude Mar 2, 2026
d3c42cf
Merge pull request #333 from StanislavBG/claude/add-writer-voice-feed…
StanislavBG Mar 2, 2026
35f00e9
Allow biography/autobiography interview to start without document obj…
claude Mar 2, 2026
7718fcb
Add full-screen immersive research experience
claude Mar 2, 2026
80f13ce
Merge pull request #334 from StanislavBG/claude/add-researcher-respon…
StanislavBG Mar 2, 2026
ea7ff8d
Merge pull request #335 from StanislavBG/claude/biography-interview-n…
StanislavBG Mar 2, 2026
e12f41a
Refactor sharing/mailbox routes for quality and efficiency
claude Mar 2, 2026
1a0ecf9
Merge pull request #336 from StanislavBG/claude/global-user-connectio…
StanislavBG Mar 2, 2026
75f12e8
Merge pull request #337 from StanislavBG/claude/debug-safety-filter-a…
StanislavBG Mar 2, 2026
ab677f4
Remove AutoDictate feature entirely
claude Mar 2, 2026
de076e7
Add fullscreen Painter Studio with advanced Gemini image controls
claude Mar 2, 2026
d410977
Interview panel: instructions, pill selectors, True Interview mode, f…
claude Mar 2, 2026
30755d3
Fix document title mismatch: use tab title as filename in Context Store
claude Mar 2, 2026
40ffef7
Fix Open Document: clear preview overlay, rename consistently, fix im…
claude Mar 2, 2026
778716e
Merge pull request #338 from StanislavBG/claude/fix-saved-image-conte…
StanislavBG Mar 2, 2026
8c10aa6
Merge pull request #339 from StanislavBG/claude/debug-safety-filter-a…
StanislavBG Mar 2, 2026
0aeabf0
Published your App
Mar 2, 2026
df58d3e
Fix voice transcription to work through Replit proxy
claude Mar 2, 2026
8f71904
Merge pull request #340 from StanislavBG/claude/standardize-microphon…
StanislavBG Mar 2, 2026
55796eb
Fix recurring Drizzle migration noise from duplicate UNIQUE constraints
claude Mar 2, 2026
3605602
Merge pull request #341 from StanislavBG/claude/fix-build-issues-iXf3V
StanislavBG Mar 2, 2026
9dff2ad
Add document type icons to Context Store sidebar
claude Mar 2, 2026
92aa41b
Fix timeline Save to Context and dynamic date display
claude Mar 2, 2026
586bbc8
Merge pull request #342 from StanislavBG/claude/keep-panels-visible-A…
StanislavBG Mar 2, 2026
9172180
Merge pull request #343 from StanislavBG/claude/fix-saved-image-conte…
StanislavBG Mar 2, 2026
aa5bd7b
Published your App
Mar 2, 2026
4c994d4
Fix AIQA overlay: update domain from replit.app to aiqastudio.com
StanislavBG Mar 2, 2026
0d7c1c0
Published your App
Mar 2, 2026
f662ec6
Add AIQA overlay debug logging to diagnose disappearing button
StanislavBG Mar 2, 2026
4f78fc2
Published your App
Mar 2, 2026
40694a9
Fix AIQA overlay hidden behind app UI with z-index override
StanislavBG Mar 2, 2026
2b86484
Force AIQA overlay panel visible within viewport and log computed styles
StanislavBG Mar 2, 2026
1e0ec17
Published your App
Mar 2, 2026
59464dd
AIQA debug: red outline on overlay root + full DOM/style dump
StanislavBG Mar 2, 2026
48ecce1
Published your App
Mar 2, 2026
7d359c5
Force AIQA overlay to center screen with proper dimensions
StanislavBG Mar 2, 2026
2e43212
Published your App
Mar 2, 2026
1229521
AIQA debug v3: deep mutation observer + element tree dump
StanislavBG Mar 2, 2026
a0998ac
Published your App
Mar 2, 2026
0a82a28
Revert AIQA debug: keep only the original embed line
StanislavBG Mar 2, 2026
26bffcf
Published your App
Mar 2, 2026
a2429b6
Update AIQA MCP config to new aiqastudio.com domain and credentials
StanislavBG Mar 2, 2026
c3abfbe
Make Web Speech API primary for voice capture, not LLM fallback
StanislavBG Mar 2, 2026
39652e6
Published your App
Mar 2, 2026
fb0fafa
Published your App
Mar 2, 2026
2ff941f
Add model-tree display to LLM widget, wrap all LLM buttons, integrate…
StanislavBG Mar 2, 2026
8e5067f
Add FTUX desktop shell at /ftux route with Pop!_OS-inspired UI
dellis317 Mar 2, 2026
729a249
Add backup of original NotebookWorkspace before hook extraction
dellis317 Mar 2, 2026
8ed89a8
Add FTUX v2: guided workflows, landing cards, and shell customization
dellis317 Mar 3, 2026
d390104
Polish FTUX v2: layout fixes, animations, accessibility, and UX guard…
dellis317 Mar 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
node_modules
dist
data/
.DS_Store
server/public
vite.config.ts.*
*.tar.gz
*.tar.gz
.env
15 changes: 15 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"mcpServers": {
"aiqa": {
"command": "npx",
"args": [
"aiqastudio-mcp"
],
"env": {
"AIQA_API_KEY": "aiq_425865884d0ef800ba96bab750fc43f6",
"AIQA_PROJECT_ID": "eacc71c9-f5f5-4d1b-a798-3f47b99a04da",
"AIQA_URL": "https://aiqastudio.com"
}
}
}
}
697 changes: 590 additions & 107 deletions CLAUDE.md

Large diffs are not rendered by default.

122 changes: 122 additions & 0 deletions UNUSED_APIS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# Unused API Endpoints

**Generated**: 2026-02-28
**Method**: Cross-referenced all route definitions in `server/routes.ts` against all API calls in `client/src/`

---

## Summary

| Category | Count |
|----------|-------|
| Persona query/management APIs with no UI | 6 |
| Persona admin APIs with no UI | 2 |
| Agent CRUD APIs with no UI | 5 |
| Non-streaming agent execute | 1 |
| Admin analytics/config with no UI | 6 |
| Misc unused | 3 |
| **Total unused from UI** | **23** |
| External-only (webhooks, health checks) | 3 |
| Dead code (replit_integrations never imported) | 11 routes across 3 files |

---

## Unused Endpoints — No Frontend Callers

### Persona Query & Management (6 endpoints)

| Method | Endpoint | Line | Notes |
|--------|----------|------|-------|
| GET | `/api/personas` | routes.ts:937 | Base personas list — UI imports from `shared/personas.ts` directly |
| GET | `/api/personas/hierarchy` | routes.ts:950 | Hierarchy view — no UI |
| GET | `/api/personas/all` | routes.ts:969 | All personas including DB overrides — no UI |
| GET | `/api/personas/domain/:domain` | routes.ts:979 | Filter by domain — no UI |
| GET | `/api/personas/:personaId/versions` | routes.ts:1011 | Version history — no UI |
| PUT | `/api/admin/personas/:personaId` | routes.ts:1045 | Full persona update — Admin.tsx only uses PATCH lock, not PUT |

### Persona Admin (2 endpoints)

| Method | Endpoint | Line | Notes |
|--------|----------|------|-------|
| DELETE | `/api/admin/personas/:personaId/override` | routes.ts:1127 | Delete persona override — no UI |
| GET | `/api/admin/personas/export` | routes.ts:1141 | Export all personas as JSON — no UI |

### Agent CRUD (5 endpoints)

The frontend only uses `POST /api/agents/:agentId/execute/stream` and `POST /api/agents/execute-inline`. All CRUD management endpoints are unused.

| Method | Endpoint | Line | Notes |
|--------|----------|------|-------|
| POST | `/api/agents` | routes.ts:1157 | Create agent — no UI |
| GET | `/api/agents` | routes.ts:1182 | List agents — no UI |
| GET | `/api/agents/:agentId` | routes.ts:1201 | Get single agent — no UI |
| PUT | `/api/agents/:agentId` | routes.ts:1218 | Update agent — no UI |
| DELETE | `/api/agents/:agentId` | routes.ts:1242 | Delete agent — no UI |

### Agent Execution (1 endpoint)

| Method | Endpoint | Line | Notes |
|--------|----------|------|-------|
| POST | `/api/agents/:agentId/execute` | routes.ts:1262 | Non-streaming execute — UI only uses `/execute/stream` |

### Admin Analytics & Config (6 endpoints)

| Method | Endpoint | Line | Notes |
|--------|----------|------|-------|
| GET | `/api/admin/agent-overrides` | routes.ts:1395 | List all agent overrides — UI fetches via `agent-prompts` instead, then does individual PUT/PATCH/DELETE on `:taskType` |
| GET | `/api/admin/persona-usage` | routes.ts:1674 | Persona usage stats — no UI |
| GET | `/api/admin/event-breakdown` | routes.ts:1688 | Event breakdown — no UI |
| GET | `/api/admin/llm-logs` | routes.ts:1717 | LLM call logs (admin) — no UI |
| GET | `/api/admin/voice-capture-config` | routes.ts:1886 | Admin voice config getter — no UI (user `GET /api/voice-capture-config` IS used) |
| PUT | `/api/admin/voice-capture-config` | routes.ts:1897 | Admin voice config setter — no UI |

### Misc Unused (3 endpoints)

| Method | Endpoint | Line | Notes |
|--------|----------|------|-------|
| GET | `/api/llm-status` | routes.ts:607 | Health/diagnostic endpoint — no frontend caller |
| GET | `/api/llm-logs` | routes.ts:1740 | Non-admin LLM logs — no UI |
| POST | `/api/tracking/events` | routes.ts:1536 | Batch event tracking — UI uses singular `POST /api/tracking/event` |

---

## External-Only Endpoints (NOT dead code)

These are called by external services or server-side processes, not the frontend:

| Method | Endpoint | Line | Called By |
|--------|----------|------|-----------|
| POST | `/api/stripe/webhook` | routes.ts:5044 | Stripe webhook callbacks |
| GET | `/api/stripe/payments` | routes.ts:5090 | Admin/external tooling (no frontend caller) |
| POST | `/api/chat` | routes.ts:3586 | Non-streaming chat — possibly for external integrations (UI uses `/api/chat/stream`) |

### Server-Side Auto-Sync (called on server startup, not from UI)

| Method | Endpoint | Line | Notes |
|--------|----------|------|-------|
| POST | `/api/admin/sync-app-docs` | routes.ts:1973 | Auto-syncs on server startup for admin user |
| POST | `/api/admin/sync-persona-docs` | routes.ts:2130 | Manual admin trigger |

---

## Dead Code: Replit Integrations (never imported)

These route-registration functions exist in `server/replit_integrations/` but are **never imported or called** from `server/index.ts` or `server/routes.ts`:

| File | Function | Routes Defined |
|------|----------|---------------|
| `server/replit_integrations/audio/routes.ts` | `registerAudioRoutes` | 5 conversation/audio endpoints |
| `server/replit_integrations/chat/routes.ts` | `registerChatRoutes` | 5 conversation/chat endpoints |
| `server/replit_integrations/image/routes.ts` | `registerImageRoutes` | 1 image generation endpoint |

These files can be safely removed.

---

## Recommendations

1. **Remove dead code**: The `server/replit_integrations/` routes are never registered — safe to delete
2. **Remove or build UI**: The 23 unused endpoints fall into two camps:
- **Build admin panels**: Persona management, agent CRUD, analytics (llm-logs, persona-usage, event-breakdown) could power a richer admin dashboard
- **Remove safely**: Non-streaming `POST /api/agents/:agentId/execute`, batch `POST /api/tracking/events`, `GET /api/llm-status` can likely be removed
3. **Document external endpoints**: `stripe/webhook`, `stripe/payments`, `sync-app-docs`, `sync-persona-docs`, and non-streaming `POST /api/chat` should be documented as external/server-only APIs
96 changes: 96 additions & 0 deletions apps/agent-editor/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Agent Editor — App Guide

> **Template ID**: `agent-editor` | **Category**: `build` | **Layout**: `standard`

## Purpose

Design **multi-step AI agent workflows** with structured steps (Input → Actor → Output). Each step is a prompt execution unit with defined inputs, processing logic, and outputs that chain together. Includes a built-in execution engine for testing workflows with real LLM calls, token monitoring, and SSE-based streaming results.

## User Workflow

1. **Select** the Agent Editor template from the landing page
2. **Define the agent** — What should this agent do? First step input? Final output? How many steps?
3. **Auto-interview starts** with `architect` persona (not `thinking_bigger`)
4. **Steps tab opens first** — Build step sequence with StepBuilder component
5. **Configure each step** — Define Input, Actor (prompt), Output for each step
6. **Test** — Execute the workflow via AgentRunner with real LLM calls
7. **Monitor** — Watch step-by-step progress via SSE streaming, track token usage
8. **Provoke & refine** — Personas challenge prompt quality, step compatibility, token budget
9. **Output** — A complete agent workflow definition stored in the database

## Three-Layer Definition

### Layer 1: PrebuiltTemplate (`client/src/lib/prebuiltTemplates.ts`)
- **Title**: Agent Editor
- **Short Label**: Agent
- **Subtitle**: Design multi-step AI workflows
- **Objective**: "Design a multi-step AI agent workflow with clear input, processing, and output for each step"
- **Draft Questions**:
1. What should this agent accomplish end-to-end?
2. What is the first step's input?
3. What is the final output?
4. How many steps do you envision?
- **Steps**: `[define, steps, test]` (3 steps)
- **Provocation Sources**: Workflow Architect, Prompt Quality Reviewer
- **Template Content**: Empty (workflows built through step builder)

### Layer 2: AppFlowConfig (`client/src/lib/appWorkspaceConfig.ts`)
- **Workspace Layout**: `standard`
- **Default Toolbox Tab**: **`steps`** — unique tab, opens first
- **Auto-Start Interview**: `true`
- **Auto-Start Personas**: **`["architect"]`** — uses Architect persona, not thinking_bigger
- **Left Panel Tabs**: `[steps, provoke, context]` — **Steps tab first** (unique)
- **Right Panel Tabs**: `[execution, discussion]` — **Execution tab** (unique)
- **Writer Config**:
- Mode: `edit`
- Output Format: `markdown`
- Document Type: "agent workflow definition"
- Feedback Tone: "precise and architecture-focused"

### Layer 3: Context Builder (`server/context-builder.ts`)
- **Document Type**: "agent workflow definition"
- **Feedback Tone**: "precise and architecture-focused"
- **Output Format**: `markdown`
- **System Guidance**: Multi-step agent design with Input → Actor → Output pattern. Challenges vague prompts (what exactly does "analyze" mean?), flags token budget issues (will this step exceed limits?), ensures step-to-step compatibility (does step 2's input match step 1's output?), and validates the entire chain end-to-end.

## App-Specific Components

| Component | Path | Purpose |
|-----------|------|---------|
| `StepBuilder.tsx` | `client/src/components/StepBuilder.tsx` | Left panel "Steps" tab — build, reorder, configure agent steps with token counter |
| `AgentRunner.tsx` | `client/src/components/AgentRunner.tsx` | Right panel "Execution" tab — input field, run button, SSE-based step-by-step progress, results display |
| `TokenCounter.tsx` | `client/src/components/TokenCounter.tsx` | Token estimation and usage display |

## App-Specific API Endpoints

| Endpoint | Method | Purpose |
|----------|--------|---------|
| `/api/agents` | POST | Create agent definition |
| `/api/agents` | GET | List user's agents |
| `/api/agents/:agentId` | GET | Get single agent |
| `/api/agents/:agentId` | PUT | Update agent |
| `/api/agents/:agentId` | DELETE | Delete agent |
| `/api/agents/:agentId/execute` | POST | Execute saved agent (non-streaming) |
| `/api/agents/:agentId/execute/stream` | POST | Execute saved agent (SSE streaming) |
| `/api/agents/execute-inline` | POST | Execute unsaved agent definition (for testing) |

**Server-side engine**: `server/agent-executor.ts` — Orchestrates step-by-step execution with LLM calls, handles streaming, token tracking, and error recovery.

## Data Model

Agents are stored as database entities (not just documents):
- **Agent definition**: Name, description, steps array, userId
- **Each step**: stepId, label, input template, actor prompt, output schema
- **Execution history**: Input, output, token usage, duration per step

## Key Behaviors

- **Architect persona**: Only app that auto-starts with `architect` instead of `thinking_bigger`
- **Steps tab first**: Only app with a "Steps" panel in the left toolbox
- **Execution tab**: Only app with an "Execution" panel in the right side
- **Database-backed**: Agent definitions are persisted in the database (CRUD), not just document content
- **Real execution**: Can actually run the designed workflow with real LLM calls
- **SSE streaming**: Execution results stream step-by-step via Server-Sent Events
- **Token monitoring**: Tracks and displays token usage per step and total
- **Chain validation**: System guidance specifically validates Input → Output compatibility between adjacent steps
- **Inline execution**: Can test unsaved agent definitions without persisting first
58 changes: 58 additions & 0 deletions apps/bs-chart/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# BS Chart — Infinite Canvas Diagramming Tool

## Identity

**Purpose**: An infinite canvas diagramming tool for creating data flow diagrams, architecture charts, ERD schemas, and process maps.

**Category**: build

**Philosophy**: Visual thinking should be as natural as whiteboarding — drag shapes, connect them, annotate with text. Voice commands let you design hands-free.

**User Workflow**: User drags shapes from the left toolbar onto the canvas, connects them with click-and-drag connectors, edits properties in the right panel, and can issue voice commands to manipulate the chart.

## Three-Layer Definition

### Layer 1: Template (`prebuiltTemplates.ts`)
- **id**: `bs-chart`
- **category**: `build`
- **icon**: `GitGraph`
- **statusLabel**: `alpha`

### Layer 2: Workspace Config (`appWorkspaceConfig.ts`)
- **workspaceLayout**: `bs-chart` (custom layout — toolbar | canvas | properties)
- **defaultToolboxTab**: `context`
- **autoStartInterview**: false
- **writer.mode**: `edit`
- **writer.outputFormat**: `markdown`

### Layer 3: Context Builder (`context-builder.ts`)
- **documentType**: `diagram / chart`
- **feedbackTone**: `precise and architecture-focused`
- Challenges focus on: completeness, labeled connectors, orphaned nodes, table schema validity

## App-Specific Components

| Component | File | Purpose |
|-----------|------|---------|
| `BSChartWorkspace` | `bschart/BSChartWorkspace.tsx` | Top-level workspace: toolbar, canvas, properties |
| `BSChartCanvas` | `bschart/BSChartCanvas.tsx` | Infinite canvas with grid, pan, zoom, node/connector rendering |
| `BSChartToolbar` | `bschart/BSChartToolbar.tsx` | Left panel: tools, shapes, actions |
| `BSChartProperties` | `bschart/BSChartProperties.tsx` | Right panel: edit selected node/connector |
| `BSNodeRenderer` | `bschart/nodes/BSNodeRenderer.tsx` | Renders all node types (table, diamond, rect, text, badge) |
| `BSConnectorLayer` | `bschart/BSConnectorLayer.tsx` | SVG overlay rendering connectors with markers |
| `useChartState` | `bschart/hooks/useChartState.ts` | Chart state management with undo/redo |
| `useCanvasInteraction` | `bschart/hooks/useCanvasInteraction.ts` | Pan, zoom, drag, marquee, connect interactions |
| `useVoiceChartCommands` | `bschart/hooks/useVoiceChartCommands.ts` | Voice command parser and executor |
| `types.ts` | `bschart/types.ts` | Data model: BSNode, BSConnector, BSChart |

## Key Behaviors

- **Infinite Canvas**: Pan (middle-click/hand tool), zoom (scroll wheel), grid snapping
- **Shape Types**: table, diamond, rectangle, rounded-rect, text, badge
- **Connectors**: Orthogonal bezier paths with configurable arrow markers (arrow, diamond, circle)
- **Undo/Redo**: Full history stack with Ctrl+Z/Ctrl+Y
- **Keyboard Shortcuts**: V=select, H=pan, C=connect, R=rect, D=diamond, T=table, etc.
- **Voice Commands**: "add table called Users", "connect Users to Orders", "move Orders right of Users"
- **Table Nodes**: Header row, dynamic columns/rows, per-cell editing, striped rows
- **Properties Panel**: Full style editing (fill, stroke, text color, font, opacity, border radius)
- **Export/Import**: JSON chart files, save to Context Store for sharing
73 changes: 73 additions & 0 deletions apps/email-composer/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Email Composer — App Guide

> **Template ID**: `email-composer` | **Category**: `write` | **Layout**: `standard`

## Purpose

Compose **polished business emails** quickly. Tone adapts to the described recipient (C-suite, peers, clients, direct reports). Uses a unique `email` output format (not markdown) that includes Subject line, greeting, body, and sign-off. No template — starts freeform. Challenges focus on clarity, tone appropriateness, and actionability.

## User Workflow

1. **Select** the Email Composer template from the landing page
2. **Define the email** — Purpose? Recipient? Key message or ask?
3. **Write** — Compose directly in the freeform editor
4. **Provoke tab** generates challenges against tone, clarity, and actionability
5. **Iterate** — refine tone, tighten the ask, improve structure
6. **Output** — A professional email with Subject, greeting, body, sign-off

## Three-Layer Definition

### Layer 1: PrebuiltTemplate (`client/src/lib/prebuiltTemplates.ts`)
- **Title**: Email Composer
- **Short Label**: Email
- **Subtitle**: Business professional emails, fast
- **Objective**: "Compose a clear, professional business email that achieves the stated communication goal with appropriate tone for the audience"
- **Draft Questions**:
1. What is the purpose of this email?
2. Who is the recipient (role, relationship)?
3. What is the key message or ask?
- **Steps**: `[{ id: "compose", label: "Compose your email" }]`
- **Provocation Sources**: Communications Director, Executive Assistant, Recipient's Perspective
- **Template Content**: Empty (freeform email)

### Layer 2: AppFlowConfig (`client/src/lib/appWorkspaceConfig.ts`)
- **Workspace Layout**: `standard`
- **Default Toolbox Tab**: `provoke`
- **Auto-Start Interview**: `false`
- **Auto-Start Personas**: none
- **Left Panel Tabs**: `[provoke, context]`
- **Right Panel Tabs**: `[discussion]`
- **Writer Config**:
- Mode: `edit`
- Output Format: **`email`** — unique format (not `markdown`)
- Document Type: "business email"
- Feedback Tone: "direct and professional — focus on clarity, tone, and actionability"

### Layer 3: Context Builder (`server/context-builder.ts`)
- **Document Type**: "business email"
- **Feedback Tone**: "direct and professional — focus on clarity, tone, and actionability"
- **Output Format**: **`email`**
- **System Guidance**: Formats output as email with Subject line, greeting, body, sign-off. Adapts tone based on recipient context:
- C-suite: concise, data-driven, decision-focused
- Peers: collaborative, direct
- Clients: professional, service-oriented
- Direct reports: clear, supportive, actionable
- Front-loads purpose in the first sentence. Forbids generic fillers ("I hope this email finds you well").

## Components Used

All shared/standard components — no app-specific components.

## API Endpoints Used

All shared endpoints only.

## Key Behaviors

- **Unique output format**: Only app that uses `email` format instead of `markdown` — output includes Subject line structure
- **No auto-interview**: Emails are short — no interview warmup needed
- **No template**: Starts blank — user composes from scratch
- **Recipient-adaptive tone**: System guidance adjusts formality based on described recipient
- **Anti-filler enforcement**: System guidance explicitly forbids generic email openers
- **Action-focused**: Every email must have a clear ask or next step
- **Minimal provocation sources**: Only 3 (vs. 5 for most apps) — emails are focused documents
Loading