Commit graph

2111 commits

Author SHA1 Message Date
d207cf37c3 feat: extend GatewayRuntime with session management, model, config, and history endpoints
Add new HTTP endpoints to the pi-mono gateway for companion-cloud web app integration:
- GET /models, POST /sessions/:key/model - model listing and switching
- GET /config, POST /config - settings read/write with redacted secrets
- GET /sessions/:key/history - conversation history as UI-friendly parts
- PATCH /sessions/:key, DELETE /sessions/:key - session rename and delete
- GET /channels/status, GET /logs, POST /sessions/:key/reload - ops endpoints
- Enhanced GatewaySessionSnapshot with name, lastMessagePreview, updatedAt
- Added log ring buffer (1000 entries) for /logs endpoint
2026-03-06 15:59:15 -08:00
2cb87538c4 fix 2026-03-06 10:13:13 -08:00
5a2172fb9d fix 2026-03-06 10:05:58 -08:00
ca0861400d Fix Vercel AI SDK v6 protocol compliance
- Add messageId to start chunk (required by useChat)
- Remove undocumented tool-output-error wire type, use
  tool-output-available for all tool results
- Pass structured tool output through instead of JSON-stringifying
2026-03-06 01:36:19 -08:00
998945afe5 Add unit tests for vercel-ai-stream extractUserText and stream listener
Tests cover extractUserText with v5+ parts format, v4 content string,
last-user-message extraction, simple text/prompt fields, null cases, and
preference ordering. Stream listener tests verify text event translation
and the writableEnded guard.
2026-03-06 01:27:43 -08:00
8a61de15fa Add reasoning events and abort-aware finish reason to chat endpoint
Map thinking_start/delta/end to Vercel AI SDK reasoning-start/delta/end
chunk types. Derive finish reason from enqueueMessage result - aborted
sessions get a clean finish with reason "error" instead of an error chunk.
2026-03-06 01:25:22 -08:00
fcd51005e2 Add tool call streaming and tool execution results to chat endpoint
Extend the Vercel stream listener to handle toolcall_start,
toolcall_delta, toolcall_end, and tool_execution_end events.
Maps to tool-input-start, tool-input-delta, tool-input-available,
and tool-output-available/tool-output-error Vercel SDK chunk types.
2026-03-06 01:21:40 -08:00
f83648c5c5 Add Vercel AI SDK v5+ chat endpoint with text streaming
New POST /sessions/:key/chat endpoint that speaks the Vercel AI SDK
UI message SSE protocol (x-vercel-ai-ui-message-stream: v1). Accepts
both useChat format ({ messages: UIMessage[] }) and simple gateway
format ({ text: string }). Streams text-start, text-delta, text-end
events through the existing session infrastructure.
2026-03-06 01:17:51 -08:00
Hari
52211fa3d2
Merge pull request #9 from getcompanion-ai/remove
remove shit
2026-03-06 01:28:45 -05:00
Hari
fcdfe82bd8
Merge pull request #10 from getcompanion-ai/dumb-init
dumb init
2026-03-06 01:25:42 -05:00
fcb434bd57 fix 2026-03-05 22:24:46 -08:00
3cf69a35f8 soul 2026-03-05 22:17:20 -08:00
4ca2086cd4 dumb init 2026-03-05 22:10:38 -08:00
88e7883051 remove 2026-03-05 22:01:45 -08:00
8b720e916a hotfix 2026-03-05 19:23:54 -08:00
9a0b848789 new gateway 2026-03-05 18:58:27 -08:00
3f04822f58 fix(runtime): keep daemon alive and localize package installs
Co-authored-by: Codex <noreply@openai.com>
2026-03-05 17:36:25 -08:00
3e72ca7f4b daemon with coding agent 2026-03-05 17:26:42 -08:00
6506288db4 chore: rebrand monorepo references to co-mono 2026-03-05 16:00:17 -08:00
Mario Zechner
b14c359289 Add [Unreleased] section for next cycle 2026-03-06 00:42:35 +01:00
Mario Zechner
45a8499c8f Release v0.56.2 2026-03-06 00:41:33 +01:00
Mario Zechner
4110d93369 docs(changelog): audit unreleased entries 2026-03-06 00:39:41 +01:00
Mario Zechner
84655e814c fix(coding-agent): prefer workspace dist files for extension aliases 2026-03-06 00:39:13 +01:00
Mario Zechner
9bcf06c056 fix(tui): add Kitty CSI-u printable decoding to Input component, closes #1857 2026-03-06 00:33:58 +01:00
Mario Zechner
863135d429 fix(ai): keep mistral browser-safe 2026-03-06 00:16:18 +01:00
Mario Zechner
a31065166d Merge branch 'feat/use-mistral-sdk' 2026-03-05 23:49:29 +01:00
Mario Zechner
0573612a89 fix(ai,coding-agent): simplify oauth subpath exports closes #1856 2026-03-05 23:28:56 +01:00
Mario Zechner
a74b18ca5a docs(changelog): add gpt-5.4 entries 2026-03-05 23:07:43 +01:00
Markus Ylisiurunen
f8d731a134 fix codex context window and add a few tests 2026-03-05 22:54:16 +01:00
Markus Ylisiurunen
8a6384a925 add support for gpt-5.4 2026-03-05 22:53:08 +01:00
Mario Zechner
7aed39063b docs(coding-agent): add changelog entry for CRLF write preview fix (#1854) 2026-03-05 22:37:28 +01:00
Mario Zechner
daaabbeac5 fix(coding-agent): normalize CRLF in write preview rendering (fixes #1854) 2026-03-05 22:35:26 +01:00
lajarre
1f39cc776a
feat(coding-agent): add treeFilterMode setting for /tree default filter (#1852)
Add configurable initial filter mode for the session tree navigator.
Users who always switch to a specific filter (e.g. no-tools via Ctrl+T)
can now set it as default in settings.

Same pattern as doubleEscapeAction (#404). Filter infra from #747.
2026-03-05 22:25:58 +01:00
Mario Zechner
a0d839ce84 fix(ai): use skip_thought_signature_validator for unsigned Gemini 3 tool calls
Replace text fallback with the official sentinel value so unsigned function
calls retain structured context in multi-turn conversations.

closes #1829
2026-03-05 22:04:00 +01:00
Mario Zechner
cfbb15876a fix(ai): antigravity endpoint cascade on 403/404, add autopush fallback, strip extra headers
closes #1830
2026-03-05 21:59:43 +01:00
Mario Zechner
87d71380e2 fix(ai): preserve OpenAI Responses assistant phase across turns closes #1819 2026-03-05 21:13:06 +01:00
Mario Zechner
3de8c48692 fix(coding-agent): make footer truncation width-aware
Use visibleWidth/truncateToWidth for footer path and stats truncation so wide Unicode text cannot overflow terminal width.

Add regression tests for wide session/model/provider names and document the fix in changelog.

closes #1833
2026-03-05 20:45:04 +01:00
Mario Zechner
dabcda0db3 fix(tui): full redraw on terminal width/height resize\n\ncloses #1844 2026-03-05 20:27:37 +01:00
Mario Zechner
3daf72d720 docs(coding-agent): clarify models.json name behavior (fixes #1840) 2026-03-05 20:16:28 +01:00
Mario Zechner
708ce9d4ce Add [Unreleased] section for next cycle 2026-03-05 07:14:13 +01:00
Mario Zechner
ab00c80892 Release v0.56.1 2026-03-05 07:13:27 +01:00
Mario Zechner
da915ddb99 chore(changelog): add unreleased entries for post-v0.56.0 fixes 2026-03-05 07:12:35 +01:00
Sviatoslav Abakumov
1ce870db1b
fix(coding-agent): use ESM resolution for extension alias fallback (#1821)
The previous fix (83b57924) replaced require.resolve() with bare
specifier fallbacks to avoid ERR_PACKAGE_PATH_NOT_EXPORTED for ESM-only
packages like pi-ai. However, bare specifiers are not valid jiti alias
targets, breaking extension loading in global npm installs.

Use import.meta.resolve() as the fallback instead. It respects the
"import" exports condition and returns a real file path.
2026-03-05 07:08:30 +01:00
Mario Zechner
3e611c135b Add [Unreleased] section for next cycle 2026-03-04 21:24:33 +01:00
Mario Zechner
e39c7d163b Release v0.56.0 2026-03-04 21:23:47 +01:00
Mario Zechner
cefb17dbd7 docs(changelog): add missing unreleased entries after v0.55.4 2026-03-04 21:19:14 +01:00
Mario Zechner
83b57924a0 fix(coding-agent): resolve extension aliases without require.resolve 2026-03-04 21:18:45 +01:00
Mario Zechner
0199abfd11 fix(binary): preload Bedrock provider module for Bun bundle
refs #1814
2026-03-04 20:47:41 +01:00
Mario Zechner
12cec4f162 fix(coding-agent): build binary with freshly built workspace deps 2026-03-04 20:36:27 +01:00
Mario Zechner
c0d706bf32 fix(extensions): alias pi-ai oauth subpath in jiti loader 2026-03-04 20:31:57 +01:00