Commit graph

19 commits

Author SHA1 Message Date
mpstaton
4483a8caa4 fix(perplexed): instruct Sonar to emit inline [N] citation markers
Perplexity's Sonar API stopped embedding inline citation markers in
message.content; responses now return prose plus separate citations
and search_results arrays. The plugin's addCitations() rendered a
correct bibliography, but the body had nothing to anchor the numbers
to.

Prepend a system message telling the model to append [1], [2], ...
markers inline, ordered to match search_results. All three payload
build sites now share one messagesWithSystem array.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 00:26:23 -05:00
mpstaton
ebebfa9f21 improve(modals): apply wide-modal pattern to LM Studio + Text Enhancement modals
Brings LMStudioModal, TextEnhancementModal, and TextEnhancementWithImagesModal
to the same shape as Ask Perplexity / Ask Claude / Ask Perplexica:
modalEl.addClass(...) wide-modal unlock, sectioned header/section/footer
layout, BEM-scoped class names, native Obsidian Setting components for
dropdowns and toggles, custom textareas where Setting is a poor fit,
Cmd/Ctrl+Enter submit, mobile breakpoint at 600px.

LMStudioModal: model dropdown with live taglines, Max Tokens input,
Temperature slider (0-2 with dynamic tooltip), optional System Prompt
textarea, Images + Stream toggles.

TextEnhancementModal + TextEnhancementWithImagesModal: read-only
Selected Text textarea (background-secondary tint to distinguish from
editable input) + editable prompt pre-filled from the plugin template,
button busy-state during the call.

Bonus: TextEnhancementWithImagesModal CSS class name now matches the
file/class name (was 'get-related-images-modal' on the .ts side while
the file was text-enhancement-with-images-modal.css).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 18:12:52 -05:00
mpstaton
19b300c10c improve(modals): upgrade Perplexical Modal UI, context and changelogs
On branch development
 Your branch is up to date with 'origin/development'.
 Changes to be committed:
	new file:   changelog/2026-04-30_01.md
	new file:   changelog/2026-05-01_01.md
	modified:   changelog/2026-05-02_01.md
	modified:   context-v/specs/Using-Files-as-Prompt-Outlines.md
	modified:   src/modals/PerplexicaModal.ts
	modified:   src/styles/perplexica-modal.css
	modified:   styles.css
2026-05-02 17:07:10 -05:00
mpstaton
d7551d7bc7 stuck(model): stuck trying to get model Claude API working
On branch development
 Your branch is up to date with 'origin/development'.
 Changes to be committed:
	new file:   .logs/obsidian.md-1777711786079.log
	modified:   context-v/issue-resolutions/Getting-Claude-to-Respond-With-Research.md
	new file:   context-v/specs/Using-Files-as-Prompt-Outlines.md
	modified:   src/modals/ArticleGeneratorModal.ts
	modified:   src/modals/ClaudeModal.ts
	modified:   src/modals/PerplexityModal.ts
	modified:   src/services/claudeService.ts
	modified:   src/styles/article-generator-modal.css
	modified:   src/styles/perplexity-modal.css
	modified:   styles.css
2026-05-02 04:18:53 -05:00
mpstaton
9d5bc80ecf progress(model-provider): attempt to add new model, claude. Struggling
with getting returned research objects.

 On branch development
 Your branch is up to date with 'origin/development'.
 Changes to be committed:
	new file:   context-v/reminders/Ideal-and-Overkill-Schema-for-Max-Flexibility.md
	modified:   main.ts
	modified:   package.json
	modified:   pnpm-lock.yaml
	new file:   src/modals/ClaudeModal.ts
	new file:   src/services/claudeService.ts
	new file:   src/styles/claude-modal.css
	modified:   src/styles/main.css
	modified:   styles.css
2026-05-02 03:18:11 -05:00
mpstaton
d5e78076f6 update(dependencies): update all dependencies for Perplexed
On branch development
 Your branch is ahead of 'origin/development' by 1 commit.
   (use "git push" to publish your local commits)
 Changes to be committed:
	deleted:    .eslintignore
	deleted:    .eslintrc
	new file:   changelog/2026-05-02_01.md
	new file:   eslint.config.mjs
	modified:   package.json
	modified:   pnpm-lock.yaml
	modified:   src/services/perplexityService.ts
	modified:   styles.css
	modified:   tsconfig.json
2026-05-02 01:08:20 -05:00
mpstaton
a13b4e2292 Update styles.css 2025-11-14 14:35:58 +00:00
TanujKS
153894fa09 improve: Deep Research Streaming \nfeat: Enhance Text and Add Image from selection commands 2025-08-28 23:44:58 -07:00
TanujKS
f0ef900a13 improve: Deep Research Streaming \nfeat: Enhance Text and Add Image from selection commands 2025-08-28 23:44:17 -07:00
mpstaton
3e7eb3b51c update(styles): update css styles
On branch development
 Your branch is up to date with 'origin/development'.
 Changes to be committed:
	modified:   styles.css
2025-08-13 16:21:48 +02:00
Tanuj Siripurapu
70a2f31136 fixed image placement and added setting to position query at top or end of response 2025-08-11 23:47:14 -04:00
mpstaton
bf8f02221f fix(streaming): fix streaming for chat query.
On branch feature/perplexity-streaming
 Changes to be committed:
	modified:   README.md
	new file:   src/docs/Understanding-the-Perplexity-Response-Object.md
	modified:   src/services/lmStudioService.ts
	modified:   src/services/perplexicaService.ts
	modified:   src/services/perplexityService.ts
	new file:   src/utils/formatDate.ts
	modified:   styles.css
	new file:   test-perplexity-api.sh
	new file:   test-perplexity-non-streaming.sh
2025-08-08 19:10:06 +02:00
TanujKS
ee286d2330 feat: Refactor plugin architecture and enhance UI/UX
- Split monolithic main.ts into modular services and modals
- Created separate service classes: PerplexityService,
  PerplexicaService, LMStudioService
  - Created modular modal classes: PerplexityModal, PerplexicaModal,
    LMStudioModal, URLUpdateModal
    - Deleted unused legacy files: CitationModal.ts, citationService.ts,
      cleanReferencesSectionService.ts

      ## New Features
      - Added ArticleGeneratorModal for one-page article generation with
	predefined prompts
	- Implemented intelligent image placement with [IMAGE n:
	  description] markers
	  - Added auto-scrolling during streaming responses for better
	    UX
	    - Created full callout formatting for query blocks with
	      multi-line support

	      ## UI/UX Improvements
	      - Moved all inline styles to dedicated CSS files for
		better maintainability
		- Created modular CSS structure: perplexity-modal.css,
		  article-generator-modal.css, etc.
		  - Added proper spacing and padding to text inputs
		    across all modals
		    - Fixed sources placement to appear after last
		      non-empty line (no more huge gaps)
		      - Enhanced modal layouts with better visual
			hierarchy

			## Build System
			- Updated esbuild.config.mjs to properly bundle
			  CSS files
			  - Created src/styles/main.css as CSS entry
			    point
			    - Implemented proper CSS build process with
			      minification support

			      ## Bug Fixes
			      - Fixed TypeScript errors from unused
				imports and parameters
				- Resolved streaming scroll issues with
				  proper cursor tracking
				  - Fixed multi-line query formatting in
				    callout blocks
				    - Corrected sources insertion logic
				      for both streaming and
				      non-streaming responses

				      ## Code Quality
				      - Improved separation of concerns
					with service/modal architecture
					- Enhanced maintainability with
					  modular CSS structure
					  - Added comprehensive error
					    handling and logging
					    - Implemented consistent
					      coding patterns across all
					      services

					      ## Technical Details
					      - Services now handle API
						calls, streaming, and
						response processing
						- Modals focus purely on
						  UI and user
						  interaction
						  - CSS uses Obsidian's
						    design system
						    variables for
						    theming
						    - All modals support
						      both streaming and
						      non-streaming
						      modes
						      - Image placement
							supports both
							inline markers
							and fallback
							sections

							Breaking
							Changes: None
							Migration:
							Existing
							functionality
							preserved,
							enhanced with
							new features
2025-07-20 16:32:36 -07:00
mpstaton
15bbc0f565 improve(settings), new(api): add new LM Studio API, improve settings
On branch development
 Your branch is up to date with 'origin/development'.
 Changes to be committed:
	modified:   README.md
	modified:   main.ts
	modified:   styles.css
2025-07-20 01:48:39 +03:00
mpstaton
c81ca99aa8 improve(settings): improve settings UI
On branch development
 Your branch is up to date with 'origin/development'.
 Changes to be committed:
	modified:   main.ts
	new file:   package-lock.json
	modified:   package.json
	modified:   styles.css
2025-07-19 21:08:45 +03:00
mpstaton
ad3303c0e8 iterate(modal): rebuild of modal code
- Fixed method name mismatch between convertCitation and convertCitations
- Made generateHexId private and added public getNewHexId method
- Improved type safety for CitationMatch interface with explicit URL handling
- Cleaned up unused imports and variables in CitationModal
- Fixed file handling to use correct Obsidian API types
- Updated citation conversion logic to handle multiple groups
- Added proper error handling for file operations
- Improved code documentation and type annotations
- Formatted styles.css for better readability
2025-07-08 01:55:44 +03:00
mpstaton
0cb22b7450 start(button): start "to hex" button in modal
On branch development
 Changes to be committed:
	modified:   src/modals/CitationModal.ts
	modified:   src/styles/citations.css
	modified:   styles.css
2025-07-06 18:48:32 +03:00
mpstaton
bc051168d1 feat(modal): milestone of modal feature displaying citations working
On branch development
 Changes to be committed:
	modified:   README.md
	modified:   esbuild.config.mjs
	modified:   main.ts
	modified:   manifest.json
	new file:   src/modals/CitationModal.ts
	new file:   src/services/citationService.ts
	new file:   src/styles/citations.css
	new file:   src/types/obsidian.d.ts
	new file:   src/utils/logger.ts
2025-07-06 18:41:26 +03:00
mpstaton
fbfaa55bf7 start(project): initial setup from example Obsidian plugin with our developer preferences 2025-06-07 15:37:58 +03:00