Commit graph

1470 commits

Author SHA1 Message Date
Arjun
d6b31cc25a fixed onboarding 2026-04-07 17:25:43 +05:30
Arjun
01bc31ce77 default model in logged in 2026-04-07 13:49:01 +05:30
arkml
aea40e632b
Remove slack granola (#465)
* remove native slack and granola

* remove agent-slack instructions

* fix build error
2026-04-07 12:38:19 +05:30
Arjun
ce4e8f620a fix build issue 2026-04-07 11:58:17 +05:30
arkml
470947a59d
posthog analytics (#424)
Improved analytics
2026-04-07 11:37:20 +05:30
arkml
71c848006c
Polishes (#464)
Fix assistant scroll behavior
2026-04-07 09:10:00 +05:30
tusharmagar
290dc54d1e Enhance Composio tools prompt to clarify integration usage and configuration requirements. Added detailed instructions for users on enabling Composio integrations and handling email/calendar requests separately. 2026-04-07 01:08:19 +05:30
tusharmagar
c2177a0aa4 remove KEY configured indicator on connected account 2026-04-07 00:43:37 +05:30
Tushar
e0aaa9a27e
Feature/composio tools library (#461)
* first version of composio

* Enhance error handling in Composio tool execution. Added try-catch block to log errors and return a structured error response when executing tools fails.

* Add tool search functionality to settings dialog

Implemented a debounced search feature for tools within the toolkit, allowing users to filter tools based on a search query. Added state management for search results and loading status. Updated the UI to accommodate the search input and results display. Additionally, modified the API call to use 'query' instead of 'search' for consistency.

* Enhance Composio OAuth flow management and improve tool handling

- Updated the activeFlows management to prevent concurrent OAuth flows for the same toolkit by using toolkitSlug as the key.
- Implemented cleanup logic for existing flows, ensuring proper resource management by aborting and closing servers as needed.
- Introduced a timeout mechanism for abandoned flows, enhancing reliability.
- Refactored the Composio tools repository to use an in-memory cache for improved performance and added methods for persisting changes to disk.
- Updated the detailed tools listing to use a consistent API call structure and improved input parameter handling.
- Made connectionData in the response optional for better flexibility in handling connected accounts.

* Improve error handling in Composio API calls

- Enhanced error reporting by extracting human-readable messages from the JSON response body when the API call fails.
- Added logic to parse the response and include specific error details in the thrown error message, improving debugging and user feedback.

* Refactor Composio integration handling and improve UI components

- Updated composio-handler.ts to invalidate the copilot instructions cache upon connection and disconnection.
- Removed unused functions related to tool management in composio-handler.ts.
- Enhanced IPC handlers in ipc.ts to streamline Composio connection processes.
- Introduced ComposioConnectCard in the renderer to display connection status and handle events.
- Refactored tool rendering in App.tsx and chat-sidebar.tsx to utilize new tabbed content for parameters and results.
- Improved Composio tools prompt generation in instructions.ts to clarify integration usage and discovery flow.
- Cleaned up unused code and improved overall structure for better maintainability.

* Refactor listToolkits function to remove cursor parameter and implement pagination

- Updated listToolkits in composio-handler.ts to paginate through API results, collecting all curated toolkits.
- Adjusted IPC handler in ipc.ts to call the modified listToolkits without cursor argument.
- Made properties in ToolkitInfo optional in settings-dialog.tsx for improved flexibility.
- Removed the unused enabled-tools-repo.ts file to clean up the codebase.

* Refactor Composio toolkit management for improved structure and maintainability

- Consolidated toolkit definitions and display names into a single source of truth in shared/composio.ts.
- Updated core composio/curated-toolkits.ts to re-export types and constants for backward compatibility.
- Enhanced the organization of toolkit data, ensuring clarity and ease of access for future development.

* Refactor Composio integration and improve component structure

- Updated imports in composio-handler.ts and various components to utilize shared/composio.js for consistency.
- Simplified ComposioConnectCard by removing unnecessary state management and improving event handling.
- Enhanced chat-conversation.ts to directly reference COMPOSIO_DISPLAY_NAMES from shared/composio.js.
- Cleaned up unused functions and types in client.ts and types.ts for better maintainability.
- Removed deprecated curated-toolkits.ts file to streamline the codebase.

* Refactor Composio connection handling and improve tool display logic

- Removed the connection bridge for Composio toolkit OAuth, simplifying the connection process.
- Updated ComposioConnectCard to display a more user-friendly connection message.
- Introduced a new utility function, getToolDisplayName, to provide human-friendly names for builtin tools.
- Refactored App and ChatSidebar components to utilize the new getToolDisplayName function for improved clarity in tool titles.
- Cleaned up imports and removed unused code for better maintainability.

* remove from diff

* Address PR review: consolidate types, refactor CopilotAgent, sort toolkits

- Move ZSearchResultTool and ZNormalizedToolResult into composio/types.ts
- Convert CopilotAgent from static const to async buildCopilotAgent()
- Simplify loadAgent to delegate to buildCopilotAgent()
- Sort CURATED_TOOLKITS alphabetically by slug
- Remove inline type annotations in composio-handler, use inferred types
- Bump search limit from 15→50 for unscoped queries
- Add docstrings explaining inferToolkitSlug fallback behavior
- Add IPC schema reference comment for composio channels

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Enhance Composio connection handling and improve rendering logic

- Added a 'hidden' property to ComposioConnectCardData to prevent rendering of duplicate connection cards.
- Updated App and ChatSidebar components to skip rendering if the card is marked as hidden.
- Refactored ComposioConnectCard to utilize a ref for callback firing, ensuring onConnected is only called once.
- Improved instructions for Composio integration to clarify usage and loading of the composio-integration skill.

This update streamlines the user experience by avoiding duplicate connection prompts and enhances the overall clarity of integration instructions.

* Address PR round 2: use query param, remove inferToolkitSlug, consolidate types

- Rename deprecated `search` param to `query` per Composio docs
- Remove inferToolkitSlug fallback; make toolkit required in ZSearchResultTool
- Replace inline Awaited<ReturnType<...>> with concrete Toolkit type in handler
- Move ZToolkitMeta/ZToolkitItem/ZListToolkitsResponse to shared/composio.ts
- Reference shared schemas in ipc.ts and core/types.ts (single source of truth)
- Remove unused ZTool import from client.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add Toolkit type inference to composio/types.ts

- Introduced a new type `Toolkit` inferred from `ZToolkit` to enhance type safety and clarity in type definitions.
- This addition supports better integration and usage of the toolkit within the Composio framework.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:30:46 +05:30
tusharmagar
bc929b6c1b Update run title inference logic to set title only when it is not already defined.
removes bug where the chat session name updates to the latest user message while generating, before switching back to the original name.
2026-04-02 09:43:03 +05:30
tusharmagar
48edd98fe0 Remove action indicators from TasksSection and TabBar components (green dot) 2026-04-02 09:36:14 +05:30
tusharmagar
0b9698b0da remove "building graph" loading screen 2026-04-02 09:30:48 +05:30
Arjun
1dd622449e ensure agent-slack is available at startup 2026-04-01 23:00:43 +05:30
arkml
79be8fbf42
Email script2 (#462)
* script to run note agents separately

* improvements to tags and tagging

* add concurrency to labeling

* fix labeling precision

* skip spam

* higher precision

* split scheduling into meeting and noise

* remove duplicate default tags

* added last update time

* filter candidates

* only programattic skip and last update time

* remove candidates from notes
2026-04-01 22:37:41 +05:30
Arjun
5e53afb670 fix build error 2026-04-01 11:14:31 +05:30
Arjun
54af172cbc add right click to bases and fix copy path 2026-04-01 10:42:48 +05:30
arkml
7a425acfdf
Inline2 (#460)
* added read commands to allowlist

* fix calendar sync

* minor fixes to instructions

* more useful daily
2026-04-01 10:37:54 +05:30
arkml
3f81b771b2
Notes org (#458)
* show count in notes

* bases view for everythign other than notes

* added folder column config

* removed welcome note and reordered
2026-03-31 17:13:52 +05:30
arkml
903fecc5f5
Daily5 (#457)
* better cal and email block design

* modified email block and draft with copilot
2026-03-31 16:07:41 +05:30
Ramnique Singh
0e362cc763 Merge branch 'main' into dev 2026-03-31 15:03:47 +05:30
Ramnique Singh
f7e6f783ba
Merge pull request #456 from rowboatlabs/hotfix-google-oauth
fix oauth callback params propagation
2026-03-31 14:59:14 +05:30
Ramnique Singh
1c5e5afda8 fix oauth callback params propagation 2026-03-31 14:55:50 +05:30
Arjun
61e92783b2 fix nested lists save 2026-03-30 22:52:45 +05:30
arkml
86cc2aaf73
Meeting notes2 (#454)
Improve meeting transcription: screen recording permissions, collapsible transcript block
2026-03-30 22:31:49 +05:30
arkml
30e1785fe2
Chrome extension (#453)
* added chrome extension
* prepare chrome extension for web store submission
* retention 7 days
* gate chrome service with a flag
2026-03-28 00:41:46 +05:30
arkml
07d34471f5
Remove brave (#452)
* remove brave search

* remove constraint on single search
2026-03-27 23:58:23 +05:30
arkml
678e645bbc
Make voice input faster
* make voice input faster

* fix dependency bug

* minor speed improvements

* enter to submit
2026-03-27 23:28:38 +05:30
Arjun
eb34873c32 fix voice output 2026-03-27 22:41:33 +05:30
Arjun
f8e7c17be5 added smooth streaming 2026-03-27 17:41:40 +05:30
Arjun
a4febb09c0 change default kg model 2026-03-25 16:24:10 +05:30
Arjun
96ab91f8cb fix build issue 2026-03-25 13:04:23 +05:30
Arjun
fa07a75358 draft email options 2026-03-24 23:10:10 +05:30
Arjun
2d62824030 fix agent notes not populating user email when Gmail connected via Composio
ensureUserEmail() only tried direct Google OAuth, which doesn't work
when Gmail is connected through Composio. Now tries Composio first.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 23:04:49 +05:30
Arjun
333ccb096b inject current date/time and chronological processing context into note creation agent
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 23:04:49 +05:30
Arjun
29ee4b5930 hide Models tab in settings when signed in
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 23:04:49 +05:30
Arjun
1686c8f878 configure per-service model defaults for signed-in users
When signed in, default assistant to gpt-5.4, knowledge graph agents to
gpt-5.4-nano, inline task agent to gpt-5.4-mini, and meeting notes to
gpt-5.4. Add meetingNotesModel config field. Fix summarize_meeting to
use gateway provider when signed in.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 23:04:49 +05:30
Arjun
db7c843d33 move notes to 15sec 2026-03-24 23:04:49 +05:30
arkml
0094cfa397
Fix2 (#445)
* fix V8 memory issue
2026-03-24 19:32:02 +05:30
Arjun
e0e4f7165c populate user.json with the email 2026-03-24 15:24:32 +05:30
Ramnique Singh
02c0fd487f use deepgram ws proxy, simplify env vars 2026-03-24 11:50:22 +05:30
Ramnique Singh
8151769891 fix import 2026-03-24 11:47:53 +05:30
arkml
d191c00e4d
Memory2 (#444)
Agent Notes: background memory system that learns from emails, chats, and explicit
  saves

  - Background service (agent_notes.ts) runs periodically, collecting user-sent
  emails, copilot conversation history, and save-to-memory inbox entries
  - Agent (agent_notes_agent.ts) processes all sources with workspace tools, deciding
  what to update: user.md (timestamped facts), preferences.md (general rules),
  style/email.md (writing patterns), and topic-specific files as needed
  - save-to-memory builtin tool lets the copilot proactively note preferences during
  conversations
  - user.md and preferences.md injected into copilot system prompt on every turn;
  other files listed for on-demand access
  - Agent manages timestamp freshness on user.md: refreshes confirmed facts, removes
  stale transient ones
2026-03-23 22:30:02 +05:30
Arjun
c41586b85d added only notes option 2026-03-21 15:27:51 +05:30
Arjun
2190e793a6 email block initial 2026-03-21 15:27:51 +05:30
Arjun
c03882f43f cal block initial commit 2026-03-21 15:27:51 +05:30
Arjun
484231b224 exclude meetings from graph view 2026-03-20 14:12:41 +05:30
tusharmagar
e408f859d6 Merge branch 'dev' of github.com:rowboatlabs/rowboat into dev 2026-03-20 10:52:47 +05:30
tusharmagar
9e28c47f30 feat: enhance PATH resolution for packaged Electron apps on macOS/Linux
Added logic to spawn the user's login shell to correctly set the PATH environment variable for packaged Electron applications, ensuring access to user-specific binaries and tools. This addresses issues with minimal environment inheritance in packaged apps.
2026-03-20 10:52:39 +05:30
arkml
c0138af3ab
Ola (#438)
Native meeting transcription that captures mic and system audio, transcribes
  live via Deepgram, and generates AI-powered meeting notes.

  - Toggle button in toolbar to start/stop meeting transcription
  - Dual-stream audio capture: mic (You) + system audio (They) via getDisplayMedia
   loopback
  - Multichannel Deepgram transcription with diarization for speaker
  identification
  - Headphone detection with mic gating when using speakers to prevent echo bleed
  - Live transcript saved to knowledge/Meetings/rowboat/{date}/ as markdown
  - Auto-stop after 2 minutes of silence
  - LLM-generated meeting notes prepended above raw transcript on stop
  - Calendar event matching: pulls nearby events from calendar_sync to identify
  meeting title and participant names
  - First-time permissions setup modal on macOS for Screen Recording
  - Button only visible when Deepgram is available (logged in or API key
  configured)
2026-03-19 22:12:42 +05:30
Ramnique Singh
7966501a79 fix api url 2026-03-19 21:50:46 +05:30