Commit graph

179 commits

Author SHA1 Message Date
Logan Yang
f0a822ca32
fix: upgrade @langchain/google-genai to fix Gemini streaming crash (#2249)
Upgrade @langchain/google-genai from 1.0.2 to 2.1.23 to fix a crash
where `candidateContent.parts.reduce()` throws when `parts` is undefined
during Gemini streaming responses. The new version uses optional chaining
(`candidateContent.parts?.reduce()`).

Also upgrades @langchain/core (1.1.13 → 1.1.29) and langchain (1.2.8 →
1.2.28) to align peer dependencies.

Fixes #2248

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 00:03:37 -08:00
Logan Yang
c464b33cae
3.2.3 (#2214)
* 3.2.3

* fix: rename "Copy command" to "Duplicate command" with copy-plus icon (#2150)

Improves UX clarity by distinguishing the duplicate action from clipboard copy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 21:11:04 -08:00
Logan Yang
81015f6e7b
3.2.2 (#2206) 2026-02-22 23:05:31 -08:00
Logan Yang
30b54b6fdd
fix: Gemini 3 preview models image support (#2197)
* fix: upgrade @langchain/google-genai to fix Gemini 3 preview image support (#2178)

The @langchain/google-genai v1.0.0 had a hardcoded _isMultimodalModel check
that only recognized gemini-1.5, gemini-2, and "vision" model names. Gemini 3
preview models (gemini-3-flash-preview, gemini-3-pro-preview) were rejected
with "This model does not support images" when sending image content.

Upgrade to v1.0.2 which adds gemini-3 to the multimodal model pattern.
Also bump @google/generative-ai from ^0.21.0 to ^0.24.0 (required dep).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: update built-in Gemini Pro to 3.1 preview model IDs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:10:03 -08:00
Logan Yang
05831e345d
3.2.1 (#2177)
* Add v3.2.1 release notes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* 3.2.1

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 20:48:05 -08:00
Logan Yang
c2fe511eb8
3.2.0 (#2170)
* Add RELEASES.md with full release history and v3.2.0 draft

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* 3.2.0

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 12:54:44 -08:00
Logan Yang
54e341ca88
Update ollama (#2147)
* Update ollama chat model to fix thinking

* fix: consolidate tool call parsing and add actionable error logging

- Remove duplicate tool call parsing in AutonomousAgentChainRunner
  by using shared buildToolCallsFromChunks() function
- Add sanitizeToolArgs() to remove empty objects from tool args
  (fixes Ollama returning timeRange: {} which fails Zod validation)
- Add actionable logging for tool call failures with full args context
- Clean up unused parameters in AutonomousAgentChainRunner
- Simplify ToolManager.callTool to throw instead of swallowing errors

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: add repeatPenalty for Ollama to reduce repetitive outputs

Local models via Ollama are prone to repetitive hallucination loops.
Adding repeatPenalty=1.1 applies a slight penalty to repeated tokens,
which helps reduce this pattern.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: increase Ollama context window to 128k

Default numCtx of 8192 causes prompt truncation with larger contexts.
Setting numCtx=131072 (128k) to support models with large context.
Ollama automatically caps at model's actual maximum if exceeded.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: handle Ollama empty object tool args at schema level

- Make timeRange inner fields (startTime, endTime) optional in schema
- Update validateTimeRange to handle empty or partial objects from LLMs
- Apply validation in all search tools (local, lexical, semantic)
- Remove sanitizeToolArgs function that was too aggressive
- Fixes tool calls that legitimately accept {} as valid input

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 22:18:39 -08:00
Emt-lin
76520d0259
Add Editor "Quick Ask" Floating Panel + Persistent Selection Highlights (#2139)
* feat: implement floating quick command with AI-powered inline editing

Add a new floating quick command feature that allows users to interact
with AI directly from the editor. Key features include:

- Quick Ask panel with draggable modal interface
- Multiple interaction modes: ask, edit, and edit-direct
- Selection highlight and replace guard for safe text operations
- Streaming chat session support for real-time AI responses
- Context menu integration for quick access
- Resizable and draggable UI components

# Conflicts:
#	src/commands/CustomCommandChatModal.tsx
#	src/styles/tailwind.css

* feat: add persistent selection highlight for Chat panel

* refactor: extract persistent highlight factory and fix state consistency

* fix: improve popup positioning with flip logic and line-start trap fix

- Use selection.head instead of selection.to for anchor point
- Fix line-start trap: only apply when head is selection end
- Add flip logic: show above when not enough space below
- Add horizontal visibility check
- Single-line selection: center popup horizontally
- Multi-line selection: follow head position
- Cursor mode: align near cursor instead of centering
2026-02-03 17:37:33 -08:00
Logan Yang
382d88328e
3.1.5 (#2116) 2026-01-15 12:36:07 -08:00
Emt-lin
bb2ebf1c9b
feat: Add comprehensive system prompt management system. (#1969)
* feat: Add comprehensive system prompt management system.

* fix:fixed some bugs

* fix: prevent false negatives in migration content verification

Strip leading newlines before comparing saved vs original content.
Obsidian may insert extra blank line after frontmatter block,
causing stripFrontmatter to leave a leading newline and fail verification.
2026-01-13 21:38:17 -08:00
Emt-lin
ff3636637f
feat: Add Web Viewer bridge for referencing open web tabs in chat (#2096)
* feat: Add Web Viewer bridge for referencing open web tabs in chat.

* refactor: Simplify markdown image extraction parser。

* fix: Prevent web selection from auto-reappearing after removal or new chat.

* fix: Suppress active web tab when web selection exists.

* feat: Add YouTube transcript extraction for Web Viewer tabs.

* feat: Built-in slash prompts for web clippers.

* feat: Improve web selection tracking and simplify context settings

  - Merge context settings: combine note/web active content and selection settings
  - Add auto-clear for web selection badge when deselected on page
  - Make note and web selections mutually exclusive
  - Show website favicon in web selection badge
  - Add migration logic and tests for settings
2026-01-12 17:54:54 -08:00
Logan Yang
ccbe039a86
Fix search v3 ranking (#2101)
* Replace FlexSearch with MiniSearch for improved search functionality and scoring

* Enhance QueryExpander and README for improved recall and ranking clarity

- Update QueryExpander to clearly separate salient and expanded terms for recall and ranking.
- Modify README to reflect changes in the search system's architecture and clarify the distinction between recall and ranking processes.
- Adjust FullTextEngine comments to emphasize BM25's native multi-term scoring capabilities.

* Implement weighted query expansion in FullTextEngine with 90/10 scoring for salient and expanded terms
2026-01-09 22:30:30 -08:00
Logan Yang
13523c9fc1
3.1.4 (#2074) 2025-12-15 22:00:08 -08:00
Logan Yang
88feebf486
3.1.3 (#2025) 2025-11-11 17:07:35 -08:00
Logan Yang
ba4eba5dcf
3.1.2 (#1998) 2025-10-31 18:35:23 -07:00
Logan Yang
95247f01bd
3.1.1 (#1958) 2025-10-23 17:40:20 -07:00
Zero Liu
3269943cc3
Improve custom command (#1942)
* Persist quick command configs

* upgrade langchain and fix gpt-5 in custom command

* Handle thinking in custom command

* code clean up

* Address cursor feedback
2025-10-20 17:52:50 -07:00
Logan Yang
800a3dbbf9
3.1.0 (#1911)
* 3.1.0

* Add experimental to Memory setting title
2025-10-11 08:22:10 -07:00
Logan Yang
5568b70e0f
Merge 3.1.0 preview (#1906)
* Building persistent memory for copilot (#1848)

* Implement chat input v3 (#1794)

* Fix chat crash React 409 (#1849)

* Fix mobile typeahead menu size (#1853)

* Enhance progress bar and bug fix (#1814)

* feat: Add edit context for progress card.
* fix: When adding a model, do not set the key in the single model setting.
* fix: fix the width of the popover on mobile.

* Refactor Brevilabs API integration to use models base URL (#1855)

- Updated constants to switch from BREVILABS_API_BASE_URL to BREVILABS_MODELS_BASE_URL for model-related API calls.
- Adjusted ChatModelManager and EmbeddingManager to utilize the new models base URL for configuration settings.

* feat: Add new chat history popover. (#1850)

* feat: Add new chat history popover.

* feat: Add open source file button to chat history popover

- Add ArrowUpRight button to each chat history item
- Implement openChatSourceFile method in main.ts
- Add onOpenSourceFile callback prop chain through components
- Open chat files in new Obsidian tabs when clicked
- Optimize error handling to prevent duplicate notices

* feat: Implement localSearch CiC prompting flow in CopilotPlusChainRunner (#1856)

* Properly extract response text in UserMemoryManager (#1857)

* feat: Temporarily disable autocomplete features (#1858)

* chore: Update version to 3.1.0-preview-250927 in manifest.json

* Support space in typeahead trigger and improve search (#1859)

* More chat input enhancement (#1864)

* Fix dropdown color
* Fix badge border in light theme
* Increase search result number
* support paste image
* fix folder context

* Enhance ChatPersistenceManager with filename sanitization tests (#1865)

- Added tests to ensure proper sanitization of wiki link brackets and illegal characters in filenames when saving chat messages.
- Updated filename generation logic to handle empty sanitized topics by defaulting to 'Untitled Chat'.
- Refactored imports in ChatPersistenceManager for better organization.

* Update ApplyView accept button styles for improved visibility and interaction (#1866)

- Adjusted the positioning of the action button to be further from the bottom of the viewport for better accessibility.
- Increased the z-index to ensure the button is always on top of other elements.
- Added a shadow effect to enhance the button's visibility against the background.

* Expose add selection to chat context to free users (#1867)

* New chat input improvements (#1868)

* Improve search logic in at mention search
* Subscribe to file changes
* Detect changes for folders and tags
* Make context badge tooltip always show
* Add full note path in preview
* Fix enter being blocked when no search result

* Rebuild "Active Note" and more chat input improvement (#1873)

* Performance improvement and extend "active note" to note typeahead menu (#1875)

* Add better agent prompt logging (#1882)

* Add read tool (#1883)

* Add readNote tool for reading notes in chunks

* Enhance readNote tool to support dynamic note path display and linked note extraction

* Refine readNote tool instructions for improved clarity and efficiency in note content retrieval

* Add support for readNote tool: integrate emoji, format results, and refine instructions

* Add inline citation reminder functionality to user questions

* Add an alert when user hits the maxToken limit (#1884)

* Refactor AutonomousAgentChainRunner (#1887)

* Refactor AutonomousAgentChainRunner to enhance agent workflow, streamline context preparation, and improve response handling

* Enhance type safety in addChatHistoryToMessages by specifying message structure

* Improve max iteration limit message for clarity and formatting

* Refactor tool display name handling for improved clarity and maintainability

* Refactor tool call ID generation and visibility handling for improved clarity and uniqueness

* Fix agent tool call ID (#1890)

* Enhance tool call ID generation and improve readNote handling in prompts

Update readNote description for clarity and improve prompt instructions

* Update instructions for registerFileTreeTool to clarify usage guidelines

* Clarify instructions for readNote tool to improve context inference and handling of partial note titles

* Add token counter (#1889)

* Fix index rebuild on semantic search toggle (#1891)

* Update token counter label (#1892)

* Implement tag search v3 (#1893)

* feat: Enhance TieredLexicalRetriever to support tag-based retrieval and improve search scoring

- Added support for returning all matching tags in TieredLexicalRetriever.
- Introduced new options for tag terms and returnAllTags in the retriever.
- Updated FullTextEngine to prioritize tag matches and improve scoring for documents with tags.
- Enhanced tokenization to handle hierarchical tags and prevent splitting hyphenated tags.
- Improved handling of frontmatter tags in documents.
- Updated search tools to accommodate new tag handling features.
- Added tests to verify the functionality of tag-based retrieval and scoring improvements.

* fix: Improve logging for query expansion in SearchCore

* feat: Add explanation for non-tag matches in FullTextEngine search results

* feat: Enhance QueryExpander to preserve standalone terms in tag handling and improve term validation

* feat: Enhance QueryExpander and TieredLexicalRetriever to improve tag handling and standalone term extraction

* Update version to 3.1.0-preview-251006 in manifest.json

* Normalize tag queries for case-insensitive matching and improve search functionality (#1894)

* Implement merge retriever (#1896)

* Fix note read (#1897)

* Enhance note resolution logic and add tests for wiki-linked notes and basename matching

* Implement note resolution outcome types and enhance readNoteTool tests for ambiguous matches

* Add deriveReadNoteDisplayName function and enhance readNoteTool tests for edge cases

* Fix note tool UI freeze (#1898)

* Update how tags work in context (#1895)

* Enhance file creation instructions in modelAdapter and update tool usage guidelines in builtinTools (#1901)

- Added instructions for confirming folder existence before creating new files in modelAdapter.
- Updated custom prompt instructions in builtinTools to clarify the use of getFileTree for folder lookups when creating new notes.

* Do not add url context for youtube url (#1899)

* Update YouTube Script command and modal title to indicate Plus feature (#1903)

* Enhance ChatPersistenceManager to handle file save conflicts (#1904)

* Enhance ChatPersistenceManager to handle file save conflicts and improve epoch handling

* Fix type checking for existing files in ChatPersistenceManager to prevent errors

* Fix verify add (#1905)

- Rename "Verify" button to "Test" in Add Model dialog
- Make verification not required for adding model in Set Keys
- Upgrade chatAnthropic client to fix the Top P -1 error for Claude Opus models

* Enhance XML parsing to handle tool calls missing closing tags

---------

Co-authored-by: Wenzheng Jiang <jwzh.hi@gmail.com>
Co-authored-by: Zero Liu <zero@lumos.com>
Co-authored-by: Emt-lin <41323133+Emt-lin@users.noreply.github.com>
2025-10-10 21:38:50 -07:00
Logan Yang
731a8e819e
3.0.3 (#1842) 2025-09-22 20:39:48 -07:00
Logan Yang
d6ad7162c5
3.0.2 (#1777) 2025-08-30 22:59:37 -07:00
Logan Yang
d98768273d
3.0.1 (#1768) 2025-08-27 22:12:46 -07:00
Logan Yang
d85420bc06
3.0.0 (#1753)
* Revise README.md to highlight new features and improvements in Copilot V3

* 3.0.0
2025-08-25 21:23:58 -07:00
Emt-lin
214fd8d44d
feat: enhance optional parameter controls with toggle functionality. (#1716)
* feat: enhance optional parameter controls with toggle functionality.

* fix: fix the issue of the ParameterControl Fails with Undefined and Zero.

* feat: Change Reasoning Effort/Verbosity parameters to optional parameters.
2025-08-15 21:32:29 -07:00
Logan Yang
df3efaecc0
Implement vault search v3 (#1703)
* Add LexicalEngine and related interfaces for enhanced search functionality

- Implement LexicalEngine class utilizing FlexSearch for efficient document indexing and searching.
- Create Hit, SearchResult, SearchOptions, and RetrieverEngine interfaces to standardize search operations.
- Update package.json and package-lock.json to include new dependencies: flexsearch and p-queue.

* Add QueryExpander class and tests for enhanced search query expansion

* Add README for Tiered Note-Level Lexical Retrieval with multilingual support and enhanced search pipeline

* Implement v3 tiered search with GrepScanner, FullTextEngine, and GraphExpander

- Add GrepScanner for fast substring search (L0)
- Implement FullTextEngine with ephemeral FlexSearch index (L1)
- Add GraphExpander for link-based candidate expansion
- Create MemoryManager with platform-aware limits
- Implement weighted RRF fusion for result combination
- Add SemanticReranker placeholder for future integration
- Include comprehensive tests for core components
- Simplify code based on review: use TextEncoder, extract methods, streamline RRF
- Add clear logging for debugging search pipeline

The architecture follows a tiered approach:
1. Grep scan for initial candidates
2. Graph expansion to increase recall
3. Full-text search on expanded set
4. Optional semantic reranking
5. RRF fusion to combine signals

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Enhance tiered retrieval recall with both rewritten queries and the expanded salient terms

- Added detailed example of end-to-end query processing in README.md
- Updated TieredRetriever to log salient terms during query expansion
- Modified FullTextEngine to index link basenames for improved searchability
- Adjusted NoteDoc interface to clarify link handling and indexing

* Refactor QueryExpander configuration and caching logic for improved clarity and performance; enhance GraphExpander documentation and testing; remove unused fields from NoteDoc interface.

* Refactor search retrieval system to wire in TieredLexicalRetriever

- Replaced HybridRetriever with TieredLexicalRetriever in ChainManager, VaultQAChainRunner, and main.ts for improved multi-stage retrieval.
- Updated README.md to reflect new integration tasks and performance benchmarks.
- Introduced TieredLexicalRetriever class to handle on-demand indexing and retrieval.
- Enhanced GrepScanner to support inclusion/exclusion patterns for file indexing.
- Modified TieredRetriever to combine expanded salient terms and improved logging for final results.
- Removed legacy index management in favor of ephemeral indexing with TieredLexicalRetriever.
- Updated interfaces and utility functions to support new retrieval logic.

* feat: Implement first working TieredLexicalRetriever and refactor search scoring

- Added comprehensive tests for TieredLexicalRetriever, covering folder boosting and result combination.
- Refactored TieredLexicalRetriever to utilize SearchCore instead of TieredRetriever.
- Enhanced FullTextEngine with improved scoring mechanisms, including field weighting and multi-field match bonuses.
- Introduced FuzzyMatcher utility for fuzzy matching capabilities, including Levenshtein distance and variant generation.
- Updated GrepScanner to prioritize path matching for faster search results.
- Implemented normalized scoring in RRF for better ranking consistency.

* feat: Update vault search result display to show snippet of content instead of full text

* feat: Enhance FullTextEngine to index frontmatter property values and improve search scoring

* feat: Improve scoring and logging

* feat: Refactor TieredLexicalRetriever to support time-based queries and improve document retrieval logic

* Remove TODO.md from tracking and add to .gitignore

- TODO.md is now a local-only development session tracker
- Prevents accidental commits of work-in-progress task lists
- Each developer can maintain their own TODO.md without conflicts

* feat: Update dependencies and enhance search functionality

- Upgraded axios to version 1.11.0 and electron to version 27.3.11 for improved performance and security.
- Refactored QueryExpander to limit queries to the original for strict fallback tests.
- Enhanced SearchCore to rank grep hits by evidence quality before fusion, improving retrieval accuracy.
- Implemented a new method in SearchCore to rank grep hits based on evidence strength.
- Updated TieredLexicalRetriever tests to ensure proper integration with mocked SearchCore.
- Improved FuzzyMatcher to include plural/singular normalization for better fuzzy matching.

* feat: Add tool call marker encoding/decoding

- Introduced new utility functions for encoding and decoding tool call markers to ensure safe embedding in HTML comments.
- Updated `updateChatMemory` to handle encoded tool call markers, preserving their integrity during memory storage.
- Enhanced logging to decode tool marker results for better readability while maintaining encoded formats for storage.
- Added comprehensive tests for tool call marker functionality to ensure correct encoding and decoding behavior.
- Refactored related components to integrate the new encoding/decoding logic seamlessly.

* feat: Enhance FullTextEngine search to support low-weight terms and improve scoring

- Updated FullTextEngine to accept low-weight terms in the search method, allowing for better handling of salient terms.
- Implemented downweighting for boolean and numeric tokens in the properties field to reduce noise in search results.
- Added a new test case to validate the downweighting behavior for boolean and numeric queries in FullTextEngine.
- Improved logging for full-text search results to provide clearer insights into the search process.

* feat: Update GraphExpander to enhance search recall with adaptive hop logic

- Implemented guardrails in GraphExpander to adjust hop depth based on the number of grep hits: allows +1 hop for small sets (<5) and limits to 1 hop for large sets (≥50).
- Updated README.md to reflect new guardrail logic and scoring normalization in search results.
- Enhanced test cases to validate the new behavior of skipping co-citations for large result sets and allowing additional hops for smaller sets.

* feat: Filter out background tools during streaming to enhance user experience

- Added logic to determine and filter out background tools, preventing their names from appearing in the tool call display during streaming.
- Implemented a mechanism to include partial tool names only if they meet a specified length threshold, improving clarity in tool call presentations.

* feat: Enhance search tools to support time-based queries and display modified time

- Updated localSearchTool to ensure a healthy cap on max source chunks for time-based queries, improving recall.
- Modified ToolResultFormatter to display actual modified time for time-filtered results, enhancing clarity in search results.
- Adjusted output formatting to differentiate between recency and relevance scores based on query type.

* feat: Introduce semantic search capabilities with Memory Index support

- Added `enableSemanticSearchV3` setting to control the new semantic search feature.
- Implemented `MemoryIndexManager` for managing in-memory vector indexing with JSONL persistence.
- Enhanced `SearchCore` to utilize semantic retrieval based on the new memory index.
- Introduced command to build the semantic memory index, improving search accuracy and retrieval efficiency.
- Updated relevant components to integrate semantic search functionality seamlessly.

* feat: Add unit tests for MemoryIndexManager to validate functionality

- Introduced comprehensive tests for the MemoryIndexManager, covering scenarios such as loading from a file, building a vector store, and indexing vault contents.
- Implemented a mock embeddings API to facilitate testing without external dependencies.
- Added a utility function to reset the MemoryIndexManager state between tests, ensuring isolation and reliability of test outcomes.

* feat: Enhance MemoryIndexManager and related components for improved semantic indexing

- Introduced incremental indexing capabilities in MemoryIndexManager to update the JSONL index with new or modified files, enhancing efficiency.
- Updated commands to utilize the new incremental indexing method, providing users with real-time updates to the semantic memory index.
- Refactored existing indexing logic to support partitioned writes, improving performance and manageability of large datasets.
- Enhanced user notifications during indexing processes to provide better feedback on progress and status.
- Added a setting to enable semantic search, allowing users to blend semantic similarity into search results seamlessly.

* feat: Refine scoring display and enhance search result handling

- Updated SourcesModal to display relevance scores with four decimal places for consistency with SearchCore logs.
- Enhanced TieredLexicalRetriever to include a new `rerank_score` field for better score management and consistency across search results.
- Modified the combineResults method to ensure that title matches retain their original score while incorporating a fused score as `rerank_score`.
- Adjusted formatting in SearchTools to ensure both `score` and `rerank_score` reflect the same final score when present.
- Updated ToolResultFormatter to display scores with four decimal places, improving clarity in search result presentations.

* refactor: Simplify relevant notes retrieval by removing VectorStoreManager dependency

- Removed the use of VectorStoreManager in the relevant notes fetching logic, streamlining the process.
- Integrated MemoryIndexManager for improved handling of in-memory indexing and note retrieval.
- Enhanced error handling to ensure relevant notes are only fetched when the embedding index is available.
- Updated related functions to utilize the new memory index approach, improving performance and reliability.

* refactor: Remove VectorStoreManager dependency and streamline indexing logic

- Eliminated the VectorStoreManager from various components, transitioning to MemoryIndexManager for indexing and retrieval.
- Updated project and chain managers to remove unnecessary dependencies, enhancing code clarity and maintainability.
- Improved error handling and indexing conditions, particularly for mobile users, ensuring a more robust initialization process.
- Refactored settings components to utilize the new memory indexing approach, simplifying the user experience and reducing legacy code.

* chore: Mark legacy components as deprecated in preparation for v3 transition

- Annotated various files including DebugSearchModal, OramaSearchModal, chunkedStorage, dbOperations, hybridRetriever, and vectorStoreManager as deprecated, indicating they are obsolete in v3.
- Updated README.md to reflect the current implementation status and migration notes, emphasizing the removal of Orama-based modules and the transition to MemoryIndexManager for indexing and retrieval.

* feat: Implement file tracking and reindexing for modified files

- Introduced a new FileTrackingState interface to manage the last active file and its modification time.
- Enhanced the CopilotPlugin to opportunistically reindex the previous active file if it was modified while active, contingent on semantic search settings.
- Updated MemoryIndexManager to support reindexing of single modified files, improving efficiency in handling changes.
- Added unit tests for reindexSingleFileIfModified to ensure correct functionality and performance.

* feat: Add graph hops setting for enhanced search result expansion

- Introduced a new `graphHops` setting in `CopilotSettings` to control the number of hops for graph expansion during search, with a default value of 1 and a range of 1-3.
- Updated the `sanitizeSettings` function to validate the `graphHops` value.
- Enhanced the `SearchCore` and `TieredLexicalRetriever` classes to utilize the `graphHops` setting for improved search result relevance.
- Updated documentation in `README.md` to reflect the new feature and its security optimizations.

* refactor: Improve error handling and indexing logic in MemoryIndexManager and related components

- Replaced console error logging with structured logging using logError and logWarn for better error tracking.
- Enhanced the refresh and reindexing functions to ensure proper user notifications and error handling.
- Updated the logic for managing indexed files, including handling exclusions and ensuring accurate reporting of indexed and unindexed files.
- Implemented rate limiting in the MemoryIndexManager to optimize embedding requests and prevent overloading the service.
- Refactored chunk processing to improve efficiency and clarity in the indexing workflow.

* chore: Update README.md to reflect final session completion and key fixes

- Expanded the final session summary with a date and detailed list of completed features and fixes, including UI enhancements and improved logging practices.
- Clarified the status of deferred features and provided migration notes for better user guidance.
- Ensured documentation aligns with the latest implementation changes and optimizations.

* chore: Update memory limits in README.md and MemoryManager.ts for improved performance

- Adjusted memory limits for mobile and desktop platforms in both README.md and MemoryManager.ts to reflect increased capacity (20MB mobile, 100MB desktop).
- Ensured documentation aligns with the latest implementation changes for better clarity on resource management.

* feat: Integrate HyDE document generation into SearchCore for enhanced semantic search

- Implemented a new method to generate hypothetical documents (HyDE) to improve semantic search capabilities.
- Added timeout handling for HyDE generation to ensure graceful error management.
- Updated SearchCore to utilize HyDE documents in search queries, enhancing the relevance of results when semantic search is enabled.
- Introduced unit tests to validate the integration and functionality of HyDE generation within the search process.

* refactor: Enhance MemoryIndexManager with public methods for better indexing management

- Introduced public methods in MemoryIndexManager to streamline access to indexed file paths, check if a file is indexed, retrieve embeddings, and clear the index.
- Updated related components to utilize these new methods, improving code clarity and reducing direct access to internal properties.
- Enhanced error handling and user notifications during memory index operations.

* feat: Implement indexing notification and progress management

- Introduced the IndexingNotificationManager to handle UI notifications during indexing operations, allowing users to pause or stop the process.
- Added the IndexingProgressTracker to track progress across multiple files, enhancing user feedback during indexing.
- Developed the IndexingPipeline to manage the chunking and processing of files into embeddings, improving the overall indexing workflow.
- Created the IndexPersistenceManager for managing the persistence of indexed data, ensuring efficient storage and retrieval of index records.
- Refactored MemoryIndexManager to utilize the new components, streamlining the indexing process and improving code organization.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-11 16:58:04 -07:00
Emt-lin
fe26c8943b
feat: Add project new context loading ui. (#1695) 2025-08-08 09:59:00 -07:00
Logan Yang
eca41a929b
Update version to 2.9.5 (#1700)
- Update manifest.json to 2.9.5
- Update versions.json to include 2.9.5
- Update package.json and package-lock.json to 2.9.5
2025-08-08 09:40:47 -07:00
Logan Yang
8c532ecbdc
Add GPT5 models (#1698)
* Add GPT5 models

* Refactor BUILTIN_CHAT_MODELS: remove some models

* Fix temperature again
2025-08-08 09:30:46 -07:00
Logan Yang
607b3c0907
2.9.4 (#1622) 2025-07-10 16:50:40 -07:00
Logan Yang
e06ace16b1
2.9.3 (#1605) 2025-07-03 12:05:25 -07:00
Logan Yang
276dd992d8
2.9.2 (#1595) 2025-07-01 15:49:45 -07:00
Logan Yang
0e170b4ef9
2.9.1 (#1585) 2025-06-27 19:41:46 -07:00
Emt-lin
4539338dfe
feat: Support project context preview. (#1551)
* feat: Support project context preview.
* feat: add test file.
* fix: Fix state update issues and remove extension section.
2025-06-24 12:35:48 -07:00
Zero Liu
a7dbd7f14b
Merge custom command with custom prompts (#1549) 2025-06-18 22:03:25 -07:00
Logan Yang
c29ee3bc67
2.9.0 (#1531) 2025-06-07 14:18:24 -07:00
Zero Liu
972b63d002
Add tw prefix to tailwind (#1497) 2025-05-31 22:30:54 -07:00
Logan Yang
9ee7b7ac43
Squash preview (#1502)
* Squashed commit from 2.9.0-preview

commit aaba478fabb58281fdecf1f053eb1412c926d3e5
Author: Logan Yang <logancyang@gmail.com>
Date:   Fri May 30 15:20:58 2025 -0700

    Make saveDB non-blocking to avoid frozen UI (#56)

commit 0d7c9893102743dd7558f365e11477d7d18939fa
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Sat May 31 07:17:27 2025 +0900

    Append copilot system prompt (including composer) to project prompt. (#48)

commit a74ac79ef8ea8d98ed5abed3982e87b3bb87eac1
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Sat May 31 07:16:55 2025 +0900

    Composer: Rename "Apply" to "Preview" (#54)

commit b205c3f3b68d4891b6b019ba69eaea01879e17f6
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 27 21:10:26 2025 -0700

    Make saveDB non-blocking to avoid frozen UI (#52)

commit 535ac3e7d64c2cc7d794d09a8fd5e35cfa09d081
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 27 15:39:26 2025 -0700

    Implement word completion (#49)

commit f2b324e336c3f0825354e1ee0912bfca44b429b4
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Sat May 24 04:45:30 2025 +0900

    Change composer output to JSON format (#46)

commit 4f9a0b0332ef984cb1197f8812e98d88ef091603
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 20 14:48:59 2025 -0700

    chore: Update version to 2.9.0-preview-250520 (#44)

commit 16ccc5795572427143a8a25ddaac0d0cfa146d97
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 20 14:40:55 2025 -0700

    Fix plus embedding switching (#43)

commit 3d8c6dfb668e6e820d17346cdf3e23310333ba60
Merge: c4502b0 7031ddb
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 20 12:40:26 2025 -0700

    fix: Respect autosave setting with new chat command (#42)

commit 7031ddbb342acc28cd7f776897ed85e01162af94
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 20 11:58:23 2025 -0700

    fix: Respect autosave setting with new chat command

commit c4502b07b0f02d36b49fbb8948d6d6ae85472aeb
Merge: d4c4be5 1d220e1
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 20:17:43 2025 -0700

    2.9.0-preview-250518 (#41)

commit 1d220e1839cb8bee930a8359978505e455d45fb0
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 19:59:01 2025 -0700

    chore: Update descriptions in manifest and package files to enhance clarity and branding

commit 12aa7e54899b5ec7efbc07affce9a7e76910ddc2
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 19:56:32 2025 -0700

    Prerelease 2.9.0-preview-250518

commit d4c4be556bd7b087f69121f0834446926fad7be7
Merge: 1716d20 ed2cc2c
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 18:51:13 2025 -0700

    feat: Optimize the selection logic of the dropdown list in the chat/embedding model (#33)

commit 1716d202411d162bda19a6f09eed2eaff45f0ca7
Merge: 5b20b47 6a64a64
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 16:40:02 2025 -0700

    Allow more file types in projects mode (#40)

commit 6a64a64c51d06c6fd2acf0be6d180df032c698b1
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 16:36:34 2025 -0700

    Allow more file types in projects mode

commit 5b20b47e5d903903111f737d8aa89ec2facd665b
Merge: cd94b03 36d9da3
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 14:53:44 2025 -0700

    Clear copilot cache command should clear all types of cache (#39)

commit 36d9da345bdbdd9678e5d3fa1247587c95bd2045
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 14:47:55 2025 -0700

    refactor: Update FileCache instance to use default cache directory

commit 1d80d31edd19a24af10f955e60c5736ca0dc4732
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 14:44:02 2025 -0700

    Clear copilot cache command should clear all types of cache

commit cd94b0321141dc54bb02eaaca6985483e31792a3
Merge: 4c553a0 6502541
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 13:27:42 2025 -0700

    Implement project-specific chat history (#38)

commit 65025412f58985e864aabe949e0aa253d2c65bb9
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 13:09:04 2025 -0700

     Reload context on project modal update

commit 2ff8269d9cc421c425947f34080462fb8b6f2a3f
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 12:58:38 2025 -0700

    refactor: Update project identifier in chat metadata to use project name instead of ID

commit 36dc52e93d3329168c8e1e11f957f14427dd115c
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 12:54:41 2025 -0700

    feat: Implement project-specific chat history saving and loading

commit 1778dd9b8874c71fface0db4a54a60f6f4623a3d
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 12:21:36 2025 -0700

    Add copy button on user message

commit 656aef8f5dac2321ad227e00dcc599e1ab439e0a
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 12:19:53 2025 -0700

    Add confirm modal to force rebuild index button

commit cc0fe12ca9103f91b7084adf013f2e7d6f0c8c0a
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 12:18:25 2025 -0700

    Update projects mode label

commit 4c553a0e1c272fea40a3b18563e7f0016ab876a5
Merge: 40235ce 5249ff9
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 10:43:35 2025 -0700

    feat: Support send the msg by shift+enter on mobile. (#26)

commit 40235ce1f654e896308e153cfa005c839e653508
Merge: ac94aea 4d07452
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 09:58:22 2025 -0700

    fix: Fix the issue with the failed request to the Anthropic list model API. (#34)

commit ac94aea5195b4696c07ee618584d96aec31383fd
Merge: bb6bc33 e45b838
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 18 09:58:00 2025 -0700

    fix: Fixed the issue where current chat history was lost when changing settings. (#37)

commit 5249ff9e8671fd53fd3b033d29828679ca0d8974
Author: wyh <emt934841028@gmail.com>
Date:   Thu May 15 18:47:41 2025 +0800

    feat: Support send the msg by shift+enter on mobile.

commit e45b83858911ddb68ea93e4311d4fc2bd86613e8
Author: yhw <emt934841028@gmail.com>
Date:   Sun May 18 23:31:48 2025 +0800

    fix: Fixed the issue where current chat history was lost when changing settings.

commit 4d07452c856a00037b2019624fc37ab1299a53ff
Author: yhw <emt934841028@gmail.com>
Date:   Sun May 18 12:31:09 2025 +0800

    fix: remove the misleading popup when fetch list api successful .

commit bb6bc33809502ca446f68e9e00700805c746a3bc
Merge: 69ac09b 75eacd7
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 19:08:49 2025 -0700

    Projects CAG v0 (#36)

commit 75eacd788b716ffeedff7f86b0550e9cc70e61a0
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 19:04:59 2025 -0700

    Fix test

commit 8d6503c885172ca088bd7819a2503124fc568218
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 18:34:54 2025 -0700

    Add reloading and force rebuilding project context in ChatControls

commit 236dbc4ca3486c196a4d39bb27a03278cac5aac0
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 16:02:52 2025 -0700

    Improve project context management with dedicated file cache

commit da83b3f0855bad0a1cda8a3cbba78cb0ae650f86
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 14:30:13 2025 -0700

    Implement project context rebuild

commit 474987c44573d99861646da8ca18b78706e26a28
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 13:19:47 2025 -0700

    Implement confirmation modal for clearing project context cache in ChatControls

commit 69ac09b15764453a2e0c56e19bf59421610d7a16
Merge: 7622cc9 7785098
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 00:51:12 2025 -0700

    Treating tags in prompt as tags in note properties. (#35)

commit ccc42bdc2120ade970fe4019dc21e7cc4504c2e1
Author: Logan Yang <logancyang@gmail.com>
Date:   Sat May 17 00:41:07 2025 -0700

    Add Docs4llm API integration and response handling; enhance project context with file details

commit 77850989317fdf6378b82dad29550c025c355bff
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Sat May 17 16:38:47 2025 +0900

    Treating tags in prompt as tags in note properties.

commit b298e38e16f8659414db447895843c3f6b50e6a8
Author: Logan Yang <logancyang@gmail.com>
Date:   Fri May 16 17:13:49 2025 -0700

    Add project context cache clearing in chat controls

commit bbeacb4036f1c960f807d1926ea911935f4ddc0e
Author: Logan Yang <logancyang@gmail.com>
Date:   Fri May 16 16:32:02 2025 -0700

    Implement file context management

commit 115619f2e1d6ab07ea878f40c48889591f1e3a26
Author: Logan Yang <logancyang@gmail.com>
Date:   Fri May 16 15:59:48 2025 -0700

    Loop through project loading messages

commit b67408f6737664cc8090dff56fc0c495b024e92b
Author: Logan Yang <logancyang@gmail.com>
Date:   Fri May 16 14:29:12 2025 -0700

    Add tooltip for file type inclusions. Add projectEnabled flag to 4.1 and gemini pro.

commit 857bbb599d33520b971a069e68c7a14f7337ae57
Author: Logan Yang <logancyang@gmail.com>
Date:   Fri May 16 13:43:39 2025 -0700

    Update maxTokens in DEFAULT_SETTINGS to 6000

commit 12eaa50a1e0990ea279e3b0714a69ede12acb460
Author: wyh <emt934841028@gmail.com>
Date:   Fri May 16 14:58:30 2025 +0800

    fix: Fix the issue with the failed request to the Anthropic list model API.

commit ed2cc2c9c14218fbdac692c7c33fdb47ca8972de
Author: wyh <emt934841028@gmail.com>
Date:   Fri May 16 14:26:31 2025 +0800

    feat: Optimize the selection logic of the dropdown list in the chat/embedding model.

commit 7622cc9c64c4fef2139fd9cda44ada5892a315dd
Merge: c506a09 b36d3ae
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 21:10:21 2025 -0700

    Fix main circular dependency (#32)

commit b36d3ae58a4390fcd9b70e2ca6089545abfae7c0
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 21:08:07 2025 -0700

    Fix main circular dependency

commit c506a090a59d7d0019b30c90a01e12fd4caff125
Merge: a48156d b74c815
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 21:04:31 2025 -0700

    Revert "UX: Optimize the selection logic of the dropdown list in the model." (#31)

commit b74c8153f500e63c8cde8e2fffbb6a716675fee1
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 20:57:38 2025 -0700

    Revert "UX: Optimize the selection logic of the dropdown list in the model."

commit a48156d8cac2ffbeb71a1c0a5fa052ab73290cd4
Merge: d9e227b 0d76890
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 20:53:40 2025 -0700

    UX: Optimize the selection logic of the dropdown list in the model. (#27)

commit d9e227b7e42c5f8b2396574fd40a10259e6cc30b
Merge: 1ceb603 2b1d809
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 20:53:23 2025 -0700

    Remove the up down navigation in chat input (#30)

commit 1ceb603a642f213f703b660937222c9d2f9cd205
Merge: d7d12dd a4697ba
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 20:53:10 2025 -0700

    UX: Support The custom prompt list can be sorted alphabetically or by time (#25)

commit 2b1d80985bc02a9a3799125d9a817600b08e292d
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 20:49:27 2025 -0700

    Remove the up down navigation in chat input

commit d7d12dd5c6b4025e7cbbfc332be73358a6468e3e
Merge: 2e45d51 eb72bfe
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 20:04:32 2025 -0700

    Add Claude 3.7 sonnet thinking support (#29)

commit eb72bfea0d820128059c457b590223f7916091b1
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 19:53:03 2025 -0700

    Support claude 3.7 sonnet thinking tokens

commit 2e45d517f17e5fe5617a253f4e5db71b2e49e1c7
Merge: f1c3f91 789fb77
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 19:47:52 2025 -0700

    Fix canvas example in compoer prompt. (#28)

commit 789fb77e18a72be787a0bb6b513c7cef36ac53d8
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Fri May 16 11:44:56 2025 +0900

    Fix canvas example in compoer prompt.

commit a4697ba7f86740fc7a39c44d05a2906456f52f98
Author: wyh <emt934841028@gmail.com>
Date:   Thu May 15 19:27:42 2025 +0800

    feat: Support The custom prompt list can be sorted alphabetically or by time.

commit 3afa2627bd35d9161fae4c2fe71111542e5121f3
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 16:59:40 2025 -0700

    Update chat model constants

commit 7d5c2c217844175adec2626a860dcea49359c26b
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 16:28:21 2025 -0700

    Implement model table refresh for chat and embedding models in ModelSettings and ModelTable components

commit 87bf3aecc942c2ba6fe33cfce0898b851f2f9d70
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 15:46:38 2025 -0700

    Add project mode validation for chat models in ChainManager

commit d9a0929c31524ea8be7493aebe1ef65591b9defb
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 13:28:58 2025 -0700

    Enhance project context cache management with new atomic operations for markdown and URL handling

commit f1c3f911d9cfb1d6ed340a02370c8b247cf562a2
Merge: 271b24a 23bf9d9
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 11:54:27 2025 -0700

    feat: Support the model list is sorted in alphabetical order when add the chat model in Modal. (#24)

commit 271b24adbccefa4e22921e18a6e7e04d404214c2
Merge: 8c4ee81 1e8d190
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 15 11:51:27 2025 -0700

    some project-based feature bug fix (#20)

commit 0d76890dc9764e03204fe3950a9729aa62dadbd0
Author: wyh <emt934841028@gmail.com>
Date:   Thu May 15 21:08:10 2025 +0800

    fix: Optimize model validation and API Key verification process.

commit 23bf9d9f1c034b429166910a55242ab8fc91d3df
Author: wyh <emt934841028@gmail.com>
Date:   Thu May 15 16:57:52 2025 +0800

    feat: Support model selection list sorted alphabetically.

commit 8c4ee8107080862f652782b95ded3b0442015866
Merge: 5ac8442 f6a0d53
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed May 14 22:44:48 2025 -0700

    feat: Support quick addition of models。 (#19)

commit 5ac8442ce4be43faf0e135e555481ae3a33ac2a2
Merge: 61d7dbb 75b245e
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed May 14 10:37:43 2025 -0700

    Do not trigger autocomplete for note title (#23)

commit 75b245e487097cfd8c232d956f597c9ce1758ac6
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed May 14 10:24:06 2025 -0700

    Do not trigger autocomplete for note title

commit 61d7dbbc9c5fe742599604d7885de81c5e6f1aba
Merge: d01134d 0080f33
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed May 14 10:10:20 2025 -0700

    Some quality-of-life updates (#22)

commit 0080f3332a78ae9cdbeb63e7948eb4ff2cb7f4e0
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed May 14 10:03:49 2025 -0700

    Respect IncludeActiveNote setting at New Chat

commit 5944c8f95c0447ef50bd700d8e6bc01156c0b049
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 22:03:15 2025 -0700

    Suppress token count warnings everywhere

commit ca94da9b6c0d5568a1e8f146838e78dd6a661ce0
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 21:47:25 2025 -0700

    Rename settings for clarity

commit cdd011f06c332879b916b05179e0cf9f822fc68f
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 21:40:06 2025 -0700

    Add force reindex button to 3-dot menu

commit 7e0cfa634222ba9e9357664e6c347f206f6afb77
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 15:51:08 2025 -0700

    Enhance token counting with fallback estimation and suppress warnings

commit 8a05e5bd844284f7e6efa6ad0194948a04f94d40
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 15:05:13 2025 -0700

    Active note setting should only work in Plus mode

commit 050d6d95e7b10f4b07398e1753a131ad3fd9be23
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 14:53:19 2025 -0700

    Add setting to include current note as context

commit 16e6c481cec8970c7762628b12b2f13a38e08f02
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 13:50:10 2025 -0700

    Conditional rendering for "Save Chat as Note" button based on autosave setting

commit 46fd747ba21a988c03ea37f8f30ee61365d35355
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 13:47:25 2025 -0700

    Add chat history loading button

commit 7358f37f17688be8d2fd55ae8b08c69ea6a02af2
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 13:27:28 2025 -0700

    Add new chat command

commit 710d893cd80c831cf138ea4ead45baea00866a7e
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 13 13:15:57 2025 -0700

    Stop opening note on Save Chat as Note

commit d01134d451b0ccc04b363c159b98388954d3da49
Merge: c41bd9d 73a57cd
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 22:19:13 2025 -0700

    Add autocomplete settings (#21)

commit 73a57cd953b61684c981414ebd3b603264f118a2
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 22:15:53 2025 -0700

    Enable additional context in autocomplete and update settings UI

commit c10fe737f70ef77ff77bb969ff88ad3f3f613f6d
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 21:18:27 2025 -0700

    Add Copilot Plus settings and update related components

commit ddf831da70438fd956d62e7f28fcf152c8d1297d
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 17:35:01 2025 -0700

    Update command name

commit c5ab1a69035dedf72d1df7fc4b5e2c3472b53c96
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 17:17:59 2025 -0700

    Update AutocompleteSettings component to include a "Plus required" label for clarity

commit fefad8cf311295a1d6dc6ff6482c320808b98fb1
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 17:06:08 2025 -0700

    Add toggle command for Copilot autocomplete

commit e8ef2a9693d3fcabe3f5a1dcbbca2fb3d27a174f
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 16:58:01 2025 -0700

    Refactor autocomplete settings to use a select dropdown for key binding

commit 0d0fe3200a6dbd565a62fc4bd4b5280bd3cdef6d
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 11 10:44:03 2025 -0700

    Add Autocomplete Settings tab

commit 1e8d190a5a44354d5d1eda8dfa1f30b20daf4161
Author: yhw <emt934841028@gmail.com>
Date:   Sat May 10 23:38:42 2025 +0800

    feat: Refactor project caching functionality.

commit 91118511fffcee17b6535ad8e7480d20411bfeea
Author: yhw <emt934841028@gmail.com>
Date:   Sat May 10 23:20:38 2025 +0800

    fix: delete the project old cache.

commit ae92b666d148605dce0d8e6ef1a19fd750e61d60
Author: yhw <emt934841028@gmail.com>
Date:   Sat May 10 23:15:59 2025 +0800

    fix: delete the project old cache.

commit f6a0d53fc0491006cf2494d99615291f724ae3cb
Author: wyh <emt934841028@gmail.com>
Date:   Fri May 9 19:19:51 2025 +0800

    feat: Support quick addition of models。

commit dc1083a37c277053d1876c9598da0152c9c30e33
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 8 17:08:25 2025 -0700

    Add autocomplete post-processing functionality with context detection

commit c41bd9dec75e5075aa95d60cb260ad132c54e545
Merge: 1d043c2 778aad0
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 8 16:03:33 2025 -0700

    Only add composer prompt for plus users. (#16)

commit 1d043c27d780b98fdbef770538575287e27f7a7a
Merge: 2d22438 ff636f6
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 8 16:03:06 2025 -0700

    Update FAQ in README.md (#18)

commit ff636f63d9da1610b7283e9743dd3eabfb7ee420
Author: Run Zhou <happycdi@gmail.com>
Date:   Thu May 8 15:15:50 2025 -0700

    Add error code to FAQ for explicitity

commit 778aad0cd461ff01f56c963d3415f0d964dcb53a
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Fri May 9 07:05:34 2025 +0900

    Remove debugging output

commit 8079561154a487b1f357b4cd258c3dd248884bc1
Author: Run Zhou <happycdi@gmail.com>
Date:   Thu May 8 12:21:45 2025 -0700

    Update FAQ

commit 2d22438280948c7428bb45fcfb9f7646cd44d6ee
Merge: d62fca7 cfe1512
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu May 8 10:06:32 2025 -0700

    Enable integration tests in CI (#17)

commit cfe15125e5fca631974ffe273299b2862f112b4b
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 8 20:34:12 2025 +0900

    Fail the test if API_KEY is missing

commit 96df0dd99bab7120def56a5e69006df67ad92a8f
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 8 20:31:29 2025 +0900

    Fix typo

commit 72d98337c873b7e11ee023d1c02982ef63ea8a8a
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 8 20:27:39 2025 +0900

    Enable integration tests in CI

commit f9b8177cb3b5e1b537ad6eec6a260cef3713ad07
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 8 08:51:16 2025 +0900

    Only add composer prompt for plus users.

commit d62fca776bd2fa404a83ebcc27f19706389f8ae2
Merge: 237b36a dd2d1c4
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue May 6 14:34:01 2025 -0700

    Revamp README.md into a quickstart guide (#4)

commit dd2d1c4191d4f46de1e17bae895a6df7f578d862
Author: Run Zhou <happycdi@gmail.com>
Date:   Tue May 6 12:26:45 2025 -0700

    Update README.md in response to feedback

commit 54cb36ef2b81f070b9cfd7970b3bd4452ed0d087
Author: Run Zhou <happycdi@gmail.com>
Date:   Mon May 5 20:43:33 2025 -0700

    Update README with image file path corrected

commit 861884e827793079bf2a0a9edc2067bed4d134cf
Author: Run Zhou <happycdi@gmail.com>
Date:   Mon May 5 20:17:46 2025 -0700

    Update README

commit b1c24bd2517859f8e129fbc8626a788e7b62ca3c
Author: Run Zhou <happycdi@gmail.com>
Date:   Wed Apr 23 16:13:58 2025 -0700

    Revamp README.md into a 2-minute quickstart guide for onboarding new Obsidian Copilot users. This version contains only GIF placeholders.

commit 237b36abf3ed00a5dc51bccda4d1577f6188d7c1
Merge: 69ec5f9 6640a67
Author: Logan Yang <logancyang@gmail.com>
Date:   Mon May 5 09:15:11 2025 -0700

    Remove redundant heading from composer new note (#15)

commit 6640a6766040833928420210bbfe096249961568
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Mon May 5 23:03:48 2025 +0900

    Remove redundant heading from composer new note

commit 69ec5f98ef560be65bedbcb210030a43286bb464
Merge: 51bcc4a a30f8f9
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun May 4 16:40:09 2025 -0700

    Add composer integration tests (#12)

commit a30f8f9742f3f8ecc68f3c2855dbe9a01b085067
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 1 22:40:14 2025 +0900

    Add docs for prompt testing

commit 10111f5b70061ee2507fe0b989dd6f14e48e909d
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 1 19:22:33 2025 +0900

    Fix package-lock.json

commit 92fe52c5427e461fd7159aec0ded4a0ca86b1efb
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 1 19:19:38 2025 +0900

    Exclude integration tests from "npm test"

commit df6d857742c13b3d8628e47b07498d3331dad729
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Thu May 1 19:11:21 2025 +0900

    Add some basic composer tests

commit 51bcc4a337872b5d185025b0c7f8f45da365982f
Merge: a68fc81 f7d454b
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed Apr 30 18:25:21 2025 -0700

    Composer: Replace intermediate output with loading text (#11)

commit f7d454b71ef6680a77f9700c03b7fc646a28bbdf
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Wed Apr 30 10:28:22 2025 +0900

    Show loading text for intermediate composer output.

commit ce2d524135c55eaba593c837a7945cd9b2a75446
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Wed Apr 30 09:50:37 2025 +0900

    Catch file content in composer rendering

commit a68fc81b803f29cf59de9c3ccfc9b8af4d49ee70
Merge: 00d53cf 3fda5a2
Author: Logan Yang <logancyang@gmail.com>
Date:   Mon Apr 28 18:55:54 2025 -0700

    Update prompt for supporting canvas edit (#9)

commit 3fda5a21db5395d288ef2a021b77d18e95e99972
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Tue Apr 29 08:29:15 2025 +0900

    Update prompt for supporting canvas edit

commit 00d53cf3dcd8dfd1517aece0d190086cfa88d430
Merge: cbe7ca4 0bfe9d2
Author: Logan Yang <logancyang@gmail.com>
Date:   Sun Apr 27 21:40:25 2025 -0700

    Move composer prompts to copilot system prompt (#6)

commit 0bfe9d25bed7fe7ea0475311c8212e069150b4b2
Author: wenzhengjiang <jwzh.hi@gmail.com>
Date:   Fri Apr 25 22:58:56 2025 +0900

    More guardrails in the prompt

commit 45fee93bfb13ea17b7207941f0d0f2a946483a59
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Fri Apr 25 22:35:20 2025 +0900

    Add prompt for folder preference

commit e73e1942050c0ee87ec1391ee473ce5d1273e145
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Fri Apr 25 22:33:02 2025 +0900

    Only show relevant changes in md block and add a copy button

commit bb59f60cf32af9ca09602e9fd2db82ae4168ff60
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Fri Apr 25 16:20:41 2025 +0900

    Use chat system prompt for creating composer codeblocks.

commit cbe7ca45f7e175db4255897b984ae6765e98e2df
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu Apr 24 12:56:35 2025 -0700

    Bump to 2.9.0-preview-250424

commit c0226836490415e87e2acf2defff6a2b11a02c0a
Merge: 2abbda7 7e74bd2
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu Apr 24 12:11:10 2025 -0700

    Let composer prefer existing folder (#5)

commit 7e74bd28d217c4c5cb41a9772c29fa9aa915c45d
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Thu Apr 24 18:10:09 2025 +0900

    Add a guard rail to not missing the note path from the markdown block

commit 37e69f85ad742fcb51c2e9086df19003dc6fc5e5
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Thu Apr 24 11:49:53 2025 +0900

    Let composer prefer existing folder

commit 2abbda70c895b1b60abb1d13097b19eb3080bc50
Merge: c899e5f 29fd86b
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed Apr 23 09:20:33 2025 -0700

    Composer: Remove unused code and small UX improvement.

commit c899e5fab6ce4c9417fab15602c4f07b823958c2
Merge: fa4f8ad d130b83
Author: Logan Yang <logancyang@gmail.com>
Date:   Wed Apr 23 09:20:18 2025 -0700

    Fix JSON parsing from composer

commit d130b833932bf224d2ca2a942fec399416807880
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Wed Apr 23 22:22:46 2025 +0900

    Fix JSON parsing from composer

commit 29fd86bf178e7fd00d5af3dbed7836f8cca5330e
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Wed Apr 23 14:33:11 2025 +0900

    Composer: Remove unused code and small UX improvement.

commit fa4f8ad56610e31c7093287c4ec1dda9772000c8
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue Apr 22 14:45:50 2025 -0700

    Update github action

commit 1db4cceed84018bce7cad3d4a2b820ba8fee0455
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue Apr 22 14:32:52 2025 -0700

    Update to 2.9.0-preview-250422

commit a1ba142ded1ad3061f0c5ac9adc1989978e080a9
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue Apr 22 16:26:58 2025 -0700

    Fix image recognition issue

commit d8f3b120d53fcf07fe9f02ac2022419ad81aae85
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue Apr 22 14:23:18 2025 -0700

    Fix build

commit 684a3fc2aa
Author: Logan Yang <logancyang@gmail.com>
Date:   Tue Apr 22 00:03:19 2025 -0700

    Squashed new commits from master to preview

    commit 730d0c82b1
    Author: Logan Yang <logancyang@gmail.com>
    Date:   Mon Apr 21 20:13:21 2025 -0700

        Switch insert and copy button positions (#1463)

    commit 4efdc941f2
    Author: Logan Yang <logancyang@gmail.com>
    Date:   Mon Apr 21 16:15:50 2025 -0700

        Fix canvas read (#1462)

    commit 93e4a04ef1
    Author: Emt-lin <41323133+Emt-lin@users.noreply.github.com>
    Date:   Tue Apr 22 07:13:47 2025 +0800

        fix: Add a new line when press the Enter key on mobile. (#1450)

    commit 3c65d79a74
    Author: Logan Yang <logancyang@gmail.com>
    Date:   Mon Apr 21 15:38:36 2025 -0700

        Implement canvas adaptor (#1461)

        * Implement canvas parser
        * Refactor context processing and custom prompt handling

        - Update `processContextNotes` to exclude notes already processed by custom prompts using a set of excluded note paths.
        - Modify `extractVariablesFromPrompt` to return both a variables map and a set of included files.
        - Adjust `processPrompt` to track included files during prompt processing.
        - Update `Chat` component to handle context notes more efficiently by avoiding duplication of processed notes.
        - Ensure that the `FileParserManager` is initialized with the vault in `main.ts`.

        * Include canvas files in note context modal
        * Fix tests

    commit 6a9085a71c
    Author: Logan Yang <logancyang@gmail.com>
    Date:   Sun Apr 20 16:14:54 2025 -0700

        Add a toggle to turn custom prompt templating off (#1460)

    commit 448a64c383
    Author: Logan Yang <logancyang@gmail.com>
    Date:   Sun Apr 20 15:52:42 2025 -0700

        Update dependencies and support gpt 4.1 series, o4-mini and grok 3 (#1459)

    commit 1d46ab90b0
    Author: Logan Yang <logancyang@gmail.com>
    Date:   Sun Apr 20 12:14:56 2025 -0700

        Fix image in note logic (#1457)

        * Refactor image processing in note context
        * Add passMarkdownImages setting

    commit f4bf334c27
    Author: Felix Haase <felix.haase@feki.de>
    Date:   Fri Apr 18 08:19:35 2025 +0200

        Ollama ApiKey support (#1421)

        * Update @langchain/ollama and ollama
        * Ollama: support api keys by passing headers

    commit 19d8b50a74
    Author: Emt-lin <41323133+Emt-lin@users.noreply.github.com>
    Date:   Fri Apr 18 14:13:25 2025 +0800

        refactor: Optimize some user experiences. (#1441)

    commit fe9b9311ba
    Author: Zero Liu <zerolxy@gmail.com>
    Date:   Sun Apr 13 17:40:42 2025 -0700

        Improve custom command (v3) (#1446)

        * Trim responses and auto focus replace on finishing
        * Make textarea auto scroll to bottom when generating
        * Support custom prompt syntax in custom command
        * Support follow up instruction
        * Fix unit test
        * Allow followup instruction to use custom prompt syntax

    commit 648412a914
    Author: Zero Liu <zerolxy@gmail.com>
    Date:   Wed Apr 2 21:44:37 2025 -0700

        Add update notification (#1415)

    commit cb4510e920
    Author: Zero Liu <zerolxy@gmail.com>
    Date:   Wed Apr 2 21:43:26 2025 -0700

        Add user_id to broca requests (#1414)

commit 4b4d09924f
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Sat Apr 19 08:28:02 2025 +0900

    Composer: Ask for clarification if intent unclear. (#1456)

commit a73c61d817
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Thu Apr 10 14:07:39 2025 +0900

    Pass project state to broca (#1436)

commit 88599dc113
Author: Wenzheng Jiang <jwzh.hi@gmail.com>
Date:   Wed Apr 9 03:44:51 2025 +0900

    Refactor Composer: Implement @composer tool. (#1399)

commit b35290568a
Author: Logan Yang <logancyang@gmail.com>
Date:   Thu Mar 6 22:38:34 2025 -0800

    Squashed 2.9.0 preview 250327

    Update preview version

    Merge latest from Composer

    Support creating new files

    Update version to 2.9.0 preview

    Add minor fixes

    Update autocomplete call and prefix logic

    Merge Project mode into 2.9.0-preview

    Squashed commits from:

    commit a762629dee
    Author: Logan Yang <logancyang@gmail.com>
    Date:   Tue Mar 25 16:29:31 2025 -0700

        Add projectEnabled flag to CustomModel interface

    To

    commit 1694357823
    Author: wyh <emt934841028@gmail.com>
    Date:   Wed Feb 19 14:45:22 2025 +0800

        feat: Support project-based feature.

    Fix package vulnerabilities

    Prerelease 250325

    Update label for PROJECT_CHAIN to "Plus Projects (alpha)" in BasicSettings component

* Fix build

* Fix composer canvas json generation
2025-05-30 20:06:25 -07:00
Logan Yang
0d6b56d1e8
2.8.9 (#1465) 2025-04-22 16:28:35 -07:00
Logan Yang
448a64c383
Update dependencies and support gpt 4.1 series, o4-mini and grok 3 (#1459) 2025-04-20 15:52:42 -07:00
Felix Haase
f4bf334c27
Ollama ApiKey support (#1421)
* Update @langchain/ollama and ollama
* Ollama: support api keys by passing headers
2025-04-17 23:19:35 -07:00
Logan Yang
68bec985df
2.8.8 (#1406) 2025-03-27 14:45:11 -07:00
Logan Yang
c25455f08e
Add DeepSeek official API provider and support thinking stream (#1404) 2025-03-27 14:04:33 -07:00
Logan Yang
d2fdb0c715
2.8.7 (#1335) 2025-03-05 15:06:39 -08:00
Logan Yang
c53e08a8b1
Add async mutex for thread-safe database upsert operations (#1330)
* Add async mutex for thread-safe database upsert operations
* Improve embedding validation and error handling in indexing
2025-03-04 22:30:56 -08:00
Emt-lin
4c7b11f68c
fix: replacing Node's Buffer with npm's buffer package. (#1306) 2025-03-02 19:04:05 -08:00
Wenzheng Jiang
4e685210b0
Remove full path from file tree context (#1277) 2025-02-20 11:17:36 -08:00
Logan Yang
faf8b3df39
2.8.6 (#1276) 2025-02-19 16:42:04 -08:00
Logan Yang
be36c964fa
2.8.5 (#1246) 2025-02-12 13:30:06 -08:00
Emt-lin
899133166e
feat: Support custom model displayNames and reorderable Model list. (#1225) 2025-02-12 13:11:09 -08:00
o-mikhailovskii
45838c4754
Add support for Mistral as LLM provider (#1232) 2025-02-12 12:37:39 -08:00