- Add create_linear_issue, update_linear_issue, delete_linear_issue to
TOOLS_WITH_UI so the HIL approval cards are correctly dispatched to
the Linear tool-ui components (without this the interrupt cards were
never rendered)
- Replace blocking requests.post with httpx.AsyncClient in
LinearConnector.execute_graphql_query to avoid stalling the asyncio
event loop during live streaming; remove now-unused requests import
cast(document_metadata["key"], String) generates CAST(col->'key' AS TEXT)
which preserves JSON string quotes (e.g. '"Fix login bug"'), causing
case-insensitive comparisons to never match.
Replace with .astext which generates the ->> operator (unquoted text
extraction), making issue lookups by title and identifier work correctly.
- LinearConnector.update_issue: return error early when no fields are
provided, preventing a silent no-op mutation and unnecessary KB sync
- Rename delete_from_db → delete_from_kb in delete_notion_page tool and
its frontend component to match the more accurate Linear naming and
keep both tool APIs consistent for the LLM
- Add rollback on exception to prevent dirty database state
- Fix block verification threshold from >=1 to >=80%
- Remove technical 'failed' language from user messages
- Add empty content validation with warning
- Add NotionKBSyncService for immediate KB updates after page changes
- Implement block ID verification to ensure content freshness
- Refactor duplicate block processing logic to shared utils
- Add user-friendly status messages
- Include debug logging for troubleshooting
Add a ref-based guard to handleUploadClick that prevents the native file
picker from being triggered a second time when the browser re-dispatches
a click event after the dialog closes. This matches the existing pattern
used in document-upload-popup.tsx for the Upload Documents dialog.
- Consolidated the Docker run command into a single line for improved readability across multiple language-specific README files (Spanish, Hindi, English, Portuguese, and Chinese).
- Modified the iconLink property in DriveItem interfaces for Composio and Google Drive folder trees to accept null values, enhancing type safety.
- Updated the corresponding type definition in connector.types.ts to reflect this change.