v0.6.99: tables filter operators, copilot chat persistence consolidation, together AI, Baseten, Ollama Cloud, Linq integrations #4836
v0.6.99: tables filter operators, copilot chat persistence consolidation, together AI, Baseten, Ollama Cloud, Linq integrations #4836waleedlatif1 wants to merge 5 commits into
Conversation
waleedlatif1
commented
Jun 1, 2026
- improvement(copilot): make copilot_messages the sole transcript store, remove JSONB dual-write (improvement(copilot): make copilot_messages the sole transcript store, remove JSONB dual-write #4826)
- feat(tables): expand filter operators (not-contains, starts/ends-with, not-in, empty) (feat(tables): expand filter operators (not-contains, starts/ends-with, not-in, empty) #4827)
- improvement(copilot): stop persisting tool-call result outputs in transcripts (improvement(copilot): stop persisting tool-call result outputs in transcripts #4829)
- feat(providers): add Together AI, Baseten, and Ollama Cloud model providers (feat(providers): add Together AI, Baseten, and Ollama Cloud model providers #4830)
- feat(linq): add Linq iMessage/SMS/RCS integration (34 tools, block, attachment upload) (feat(linq): add Linq iMessage/SMS/RCS integration #4831)
…, remove JSONB dual-write (#4826) Stop writing/reading the legacy copilot_chats.messages JSONB column now that reads are cut over to copilot_messages. Make appendCopilotChatMessages the primary write (throws on failure instead of swallowing), repoint peripheral readers (workspace VFS, chat cleanup, data drains, fork, superuser import) to copilot_messages, and persist the assistant turn inside finalizeAssistantTurn's transaction so it commits atomically with the stream-marker clear. The column itself is dropped in a follow-up migration after this bakes.
…, not-in, empty) (#4827) Add does-not-contain ($ncontains), starts-with ($startsWith), ends-with ($endsWith), not-in-array ($nin, previously executed server-side but unexposed in the UI), and is-empty/is-not-empty ($empty) filter operators end-to-end — SQL builder, condition types, query-builder converters/constants, the filter UI, the Table tools/block descriptions, and docs. Also fix correctness bugs in the filter builder surfaced by the wider operator set: - Same-column AND rules (e.g. age > 18 AND age < 65, or name startsWith 'A' AND name endsWith 'Z') silently overwrote each other because the AND group was keyed by column name. They now merge into one operator object, which also makes Filter -> rules -> Filter round-trip losslessly for multi-operator columns. - $nin values were not split into an array like $in, and textual-match values like "123" were numeric-coerced (breaking the ILIKE path). - A non-boolean $empty operand from the raw API silently inverted the check; it now coerces 'true'/'false' strings and otherwise returns a 400.
…nscripts (#4829) Opening a Mothership task could take many seconds because a single persisted assistant message in copilot_messages.content can reach hundreds of MB, almost entirely inside contentBlocks[].toolCall.result.output (e.g. a get_workflow_logs or run_workflow result). The DB query is ~2ms; the cost is detoasting that payload, shipping it to the browser, and parsing it. These outputs are dead weight on the Sim side: they are never rendered (the thread shows only tool name/title/status) and never replayed to the model (the upstream copilot service owns conversation memory). So drop result.output before it is persisted, keeping result.success/error plus the tool metadata. - add stripToolResultOutput() in persisted-message.ts - apply it in messages-store toRow (covers every write path) and in loadCopilotChatMessages (existing rows render fast on read) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…viders (#4830) * feat(providers): add Together AI, Baseten, and Ollama Cloud model providers * fix(providers): guard Ollama streaming fast-path with hasActiveTools Match Together/Baseten/Fireworks: when tools are supplied but all are filtered out (usageControl 'none'), take the single streaming call instead of an extra non-streaming round-trip. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(providers): filter non-chat model types from Together model list * refactor(providers): dedupe Ollama Cloud upstream schema ollamaCloudUpstreamResponseSchema was byte-for-byte identical to ollamaUpstreamResponseSchema (both /api/tags endpoints return the same { models: [{ name }] } shape). Drop the duplicate and reuse the shared schema. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…ttachment upload) (#4831)
PR SummaryMedium Risk Overview Tables gain case-insensitive string filters ( LLM providers add Together AI, Baseten (env/BYOK model listing), and Ollama Cloud (BYOK-only), wired through model APIs, BYOK settings, and workspace model loading. Linq is introduced as a new integration: a workflow block with 34 operations, presigned attachment upload API, docs/landing catalog entries, and icons. Reviewed by Cursor Bugbot for commit e5a46d7. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|