Commit graph

35 commits

Author SHA1 Message Date
Arjun
0bb256879c preserve formatting in chat input text 2026-04-23 21:29:51 +05:30
Ramnique Singh
8e0a3e2991 render tables in markdown 2026-04-20 10:43:27 +05:30
Ramnique Singh
e2c13f0f6f
Add tracks — auto-updating note blocks with scheduled and event-driven triggers
Track blocks are YAML-fenced sections embedded in markdown notes whose output
is rewritten by a background agent. Three trigger types: manual (Run button or
Copilot), scheduled (cron / window / once with a 2 min grace window), and
event-driven (Gmail/Calendar sync events routed via an LLM classifier with a
second-pass agent decision). Output lives between <!--track-target:ID-->
comment markers that render as editable content in the Tiptap editor so users
can read and extend AI-generated content inline.

Core:
- Schedule and event pipelines run as independent polling loops (15s / 5s),
  both calling the same triggerTrackUpdate orchestrator. Events are FIFO via
  monotonic IDs; a per-track Set guards against duplicate runs.
- Track-run agent builds three message variants (manual/timed/event) — the
  event variant includes a Pass 2 directive to skip updates on false positives
  flagged by the liberal Pass 1 router.
- IPC surface: track:run/get/update/replaceYaml/delete plus tracks:events
  forward of the pub-sub bus to the renderer.
- Gmail emits per-thread events; Calendar bundles a digest per sync.

Copilot:
- New `tracks` skill (auto-generated canonical schema from Zod via
  z.toJSONSchema) teaches block creation, editing, and proactive suggestion.
- `run-track-block` tool with optional `context` parameter for backfills
  (e.g. seeding a new email-tracking block from existing synced emails).

Renderer:
- Tiptap chip (display-only) opens a rich modal with tabs, toggle, schedule
  details, raw YAML editor, and confirm-to-delete. All mutations go through
  IPC so the backend stays the single writer.
- Target regions use two atom marker nodes (open/close) around real editable
  content — custom blocks render natively, users can add their own notes.
- "Edit with Copilot" seeds a chat session with the note attached.

Docs: apps/x/TRACKS.md covers product flows, technical pipeline, and a
catalog of every LLM prompt involved with file+line pointers.
2026-04-14 13:51:45 +05:30
Ramnique Singh
610616e5a0 add mermaid rendering 2026-04-10 18:00:30 +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
91030a5fca
Blocks (#439)
Added blocks to notes and updated assistant skill with this.

Image blocks — images with alt text and captions
Embed blocks — inline YouTube videos, Figma designs, or link cards
Chart blocks — line, bar, and pie charts from inline data or JSON files
Table blocks — styled data tables with named columns
2026-03-18 23:33:12 +05:30
arkml
d0a48d7f51
Download notes (#423)
* download notes to md, pdf or docx
2026-03-14 21:29:53 +05:30
arkml
d7dc27a77e
History (#406)
* notes history
2026-02-27 20:22:54 +05:30
Ramnique Singh
9d4f25895e oauth: persist client state, simplify IPC, and refactor
connected-accounts UI

This refactor simplifies OAuth storage/IPC and updates the Electron UI
to use the new client-facing contract. OAuth state is now persisted per
provider with tokens, optional clientId, and an error string. A new oauth:getState
IPC returns only client-facing state (connected + error), and the UI renders
error/reconnect flow based on that.

  Core changes
  - Replace OAuth config with providers { tokens, clientId?, error? }
    and add zod-based migration from legacy token maps.
  - Persist Google clientId after successful OAuth and keep error state
    in repo.
  - Surface provider errors from refresh/credential failures in Google +
    Fireflies.
  - Add oauth:getState in IPC, returning client-facing config; remove
    old status wiring in the UI.

  UI changes
  - Switch renderer status checks to oauth:getState and derive connected/error
    from config.
  - Add alert dialog for account issues and update copy to “Connected
    accounts”.
  - Provide “View connected accounts” CTA that opens the Connectors popover.
  - Add shadcn alert-dialog component and Radix dependency.

  Notes
  - Adds @radix-ui/react-alert-dialog and shadcn wrapper.
  - pnpm-lock updated accordingly.
2026-02-17 09:54:34 +05:30
Ramnique Singh
d1a2446cb3 update ai packages 2026-02-14 12:16:43 +05:30
Arjun
4151c296bd feat: add parseFile builtin tool for PDF, Excel, CSV, Word extraction
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:11:13 +05:30
Ramnique Singh
35ca1b69c0 build .deb and .rpm 2026-02-06 23:34:13 +05:30
Ramnique Singh
6425dbcf28 fix electron-squirrel-startup 2026-02-06 07:28:55 +05:30
Ramnique Singh
269787a013 fix electron-squirrel-startup 2026-02-06 07:09:31 +05:30
Ramnique Singh
e1637d5965 add win32 + linux electron builds 2026-02-06 06:44:06 +05:30
Arjun
c447a42d07 feat: add background agents with scheduling support
- Add background task scheduling system with cron-based triggers
- Add background-task-detail component for viewing agent status
- Add agent schedule repo and state management
- Update sidebar to show background agents section
- Remove old workflow-authoring and workflow-run-ops skills
- Add IPC handlers for agent schedule operations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:43:09 +05:30
Arjun
3e2ed4cbc4 upgrade composio and dependencies 2026-02-03 12:28:24 +05:30
tusharmagar
aa2a830f23 feat: slack integration with composio
Allow users to ask copilot to use Slack on their behalf via Composio integration.
Adds composio client, OAuth flow, slack skill with tool catalog, and UI for
connecting Slack in onboarding and connectors popover.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:28:22 +05:30
Arjun
e6c6571b07 feat: extract presentation generator into executable code with builtin tool
Move the presentation implementation out of the skill string into real
TypeScript files (types.ts, presentation-generator.tsx) and add a
generatePresentation builtin tool so the agent calls it directly instead
of writing code. Rewrite the skill to guidance-only with content limits,
preference gathering, and JSON examples for each slide type.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:30:06 +05:30
tusharmagar
a2e929ed05 Add image upload support 2026-01-21 13:23:33 +05:30
tusharmagar
ead93c34fe Merge branch 'dev' of github.com:rowboatlabs/rowboat into dev 2026-01-21 09:25:04 +05:30
tusharmagar
500d2d6725 Add sonner for notifications and update UI components to utilize it; clean up unused props in chat sidebar 2026-01-21 09:24:56 +05:30
Ramnique Singh
7da1aa5454 add posthog 2026-01-21 09:14:32 +05:30
Ramnique Singh
0d9dac8344 add x64 target in electron build 2026-01-20 09:08:16 +05:30
Ramnique Singh
5765d50125 bump update-electron-app 2026-01-20 01:02:50 +05:30
Ramnique Singh
d92106741d add electron auto-update 2026-01-20 00:15:41 +05:30
Ramnique Singh
f72dee731a integrate electron forge 2026-01-17 10:28:44 +05:30
Arjun
274a351bc1 added glob tool 2026-01-16 15:51:29 +05:30
tusharmagar
9c1ddf66ed tiptap improvements + removing ask AI button 2026-01-16 12:05:34 +05:30
tusharmagar
23ae0d8be0 Tiptap integrated 2026-01-16 12:05:34 +05:30
tusharmagar
8834238768 added right click content menu to knowledge 2026-01-16 12:05:34 +05:30
Ramnique Singh
13f2b7c2a5 use openid-client lib 2026-01-16 12:05:34 +05:30
tusharmagar
47ab50bfe7 UI improvements 2026-01-16 12:05:33 +05:30
Ramnique Singh
505e3ea620 bootstrap new electron app 2026-01-16 12:05:33 +05:30