3645 Commits

Author SHA1 Message Date
Alexander Davydov
fd971e5b79 GigaChat: fix basic scope and Telegram picker callbacks 2026-03-19 19:54:45 +03:00
Alexander Davydov
2c4f5203f5 Merge remote-tracking branch 'upstream/main' into feat/gigachat
# Conflicts:
#	extensions/discord/src/accounts.ts
#	extensions/discord/src/audit.test.ts
#	extensions/discord/src/monitor/message-handler.process.test.ts
#	extensions/discord/src/monitor/provider.registry.test.ts
#	extensions/discord/src/monitor/thread-bindings.discord-api.test.ts
#	extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts
#	extensions/telegram/src/bot-handlers.runtime.ts
#	extensions/telegram/src/bot-message-dispatch.test.ts
#	extensions/telegram/src/bot.create-telegram-bot.test-harness.ts
#	extensions/telegram/src/bot.create-telegram-bot.test.ts
#	extensions/whatsapp/src/auto-reply/heartbeat-runner.test.ts
#	extensions/whatsapp/src/inbound/access-control.test-harness.ts
#	extensions/whatsapp/src/monitor-inbox.test-harness.ts
#	extensions/whatsapp/src/test-helpers.ts
#	package.json
#	pnpm-lock.yaml
#	scripts/test-extension.mjs
#	src/commands/onboard-auth.config-shared.test.ts
2026-03-19 19:51:09 +03:00
Alexander Davydov
2d2cdf24c2 GigaChat: distinguish Basic and OAuth credentials 2026-03-19 19:19:46 +03:00
Alexander Davydov
5df5f68241 GigaChat: honor implicit base URLs 2026-03-19 18:36:02 +03:00
Vincent Koc
44cd4fb55f fix(ci): repair main type and boundary regressions 2026-03-19 08:00:33 -07:00
Tyler Yust
20728e1035 fix: stop newline block streaming from sending per paragraph 2026-03-19 05:40:12 -07:00
Gustavo Madeira Santana
f69450b170
Matrix: fix typecheck and boundary drift 2026-03-19 08:03:56 -04:00
Shaun Tsai
bcc725ffe2
fix(agents): strip prompt cache for non-OpenAI responses endpoints (#49877) thanks @ShaunTsai
Fixes #48155

Co-authored-by: Shaun Tsai <13811075+ShaunTsai@users.noreply.github.com>
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
2026-03-19 15:12:29 +08:00
Gustavo Madeira Santana
94693f7ff0
Matrix: rebuild plugin migration branch 2026-03-19 01:58:29 -04:00
Gustavo Madeira Santana
eaee01042b
Plugin SDK: move generic message tool schemas out of core 2026-03-19 01:08:23 -04:00
Gustavo Madeira Santana
b48194a07e
Plugins: move message tool schemas into channel plugins 2026-03-19 01:08:23 -04:00
clay-datacurve
7b61ca1b06
Session management improvements and dashboard API (#50101)
* fix: make cleanup "keep" persist subagent sessions indefinitely

* feat: expose subagent session metadata in sessions list

* fix: include status and timing in sessions_list tool

* fix: hide injected timestamp prefixes in chat ui

* feat: push session list updates over websocket

* feat: expose child subagent sessions in subagents list

* feat: add admin http endpoint to kill sessions

* Emit session.message websocket events for transcript updates

* Estimate session costs in sessions list

* Add direct session history HTTP and SSE endpoints

* Harden dashboard session events and history APIs

* Add session lifecycle gateway methods

* Add dashboard session API improvements

* Add dashboard session model and parent linkage support

* fix: tighten dashboard session API metadata

* Fix dashboard session cost metadata

* Persist accumulated session cost

* fix: stop followup queue drain cfg crash

* Fix dashboard session create and model metadata

* fix: stop guessing session model costs

* Gateway: cache OpenRouter pricing for configured models

* Gateway: add timeout session status

* Fix subagent spawn test config loading

* Gateway: preserve operator scopes without device identity

* Emit user message transcript events and deduplicate plugin warnings

* feat: emit sessions.changed lifecycle event on subagent spawn

Adds a session-lifecycle-events module (similar to transcript-events)
that emits create events when subagents are spawned. The gateway
server.impl.ts listens for these events and broadcasts sessions.changed
with reason=create to SSE subscribers, so dashboards can pick up new
subagent sessions without polling.

* Gateway: allow persistent dashboard orchestrator sessions

* fix: preserve operator scopes for token-authenticated backend clients

Backend clients (like agent-dashboard) that authenticate with a valid gateway
token but don't present a device identity were getting their scopes stripped.
The scope-clearing logic ran before checking the device identity decision,
so even when evaluateMissingDeviceIdentity returned 'allow' (because
roleCanSkipDeviceIdentity passed for token-authed operators), scopes were
already cleared.

Fix: also check decision.kind before clearing scopes, so token-authenticated
operators keep their requested scopes.

* Gateway: allow operator-token session kills

* Fix stale active subagent status after follow-up runs

* Fix dashboard image attachments in sessions send

* Fix completed session follow-up status updates

* feat: stream session tool events to operator UIs

* Add sessions.steer gateway coverage

* Persist subagent timing in session store

* Fix subagent session transcript event keys

* Fix active subagent session status in gateway

* bump session label max to 512

* Fix gateway send session reactivation

* fix: publish terminal session lifecycle state

* feat: change default session reset to effectively never

- Change DEFAULT_RESET_MODE from "daily" to "idle"
- Change DEFAULT_IDLE_MINUTES from 60 to 0 (0 = disabled/never)
- Allow idleMinutes=0 through normalization (don't clamp to 1)
- Treat idleMinutes=0 as "no idle expiry" in evaluateSessionFreshness
- Default behavior: mode "idle" + idleMinutes 0 = sessions never auto-reset
- Update test assertion for new default mode

* fix: prep session management followups (#50101) (thanks @clay-datacurve)

---------

Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM>
2026-03-19 12:12:30 +09:00
Peter Steinberger
46f49eb6eb refactor: shrink plugin sdk public surface 2026-03-18 23:31:08 +00:00
Alexander Davydov
d6daa108e3 GigaChat: preserve config and runtime fallbacks 2026-03-18 23:23:12 +03:00
Alexander Davydov
c875368c84 Merge remote-tracking branch 'upstream/main' into feat/gigachat
# Conflicts:
#	extensions/whatsapp/src/outbound-adapter.poll.test.ts
2026-03-18 22:10:49 +03:00
Alexander Davydov
daf9cad38f GigaChat: preserve streamed tool call sequences 2026-03-18 22:06:27 +03:00
Vincent Koc
ef1346e503 Plugin SDK: route reply payload through public subpath 2026-03-18 12:01:15 -07:00
Peter Steinberger
62edfdffbd refactor: deduplicate reply payload handling 2026-03-18 18:14:57 +00:00
Vincent Koc
b4f16bad32 Plugin SDK: export windows spawn and temp path 2026-03-18 09:46:24 -07:00
Vincent Koc
a02bfd30c5 Plugin SDK: use public utility subpaths 2026-03-18 09:43:46 -07:00
Vincent Koc
3e02635df3 Plugin SDK: use public telegram subpath 2026-03-18 09:33:21 -07:00
liyuan97
b64f4e313d
MiniMax: add M2.7 models and update default to M2.7 (#49691)
* MiniMax: add M2.7 models and update default to M2.7

- Add MiniMax-M2.7 and MiniMax-M2.7-highspeed to provider catalog and model definitions
- Update default model from MiniMax-M2.5 to MiniMax-M2.7 across onboard, portal, and provider configs
- Update isModernMiniMaxModel to recognize M2.7 prefix
- Update all test fixtures to reflect M2.7 as default

Made-with: Cursor

* MiniMax: add extension test for model definitions

* update 2.7

* feat: add MiniMax M2.7 models and update default (#49691) (thanks @liyuan97)

---------

Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
2026-03-18 09:24:37 -07:00
Alexander Davydov
52e371fa33 Merge remote-tracking branch 'upstream/main' into feat/gigachat
# Conflicts:
#	extensions/telegram/src/bot.create-telegram-bot.test.ts
#	package.json
2026-03-18 19:22:18 +03:00
Vincent Koc
73539ac787 Core: move web media seam out of plugin sdk 2026-03-18 09:12:23 -07:00
Peter Steinberger
c0c3c4824d fix: checkpoint gate fixes before rebase 2026-03-18 15:36:18 +00:00
Peter Steinberger
e9b19ca1d1 fix: restore full gate after web-search rebase 2026-03-18 15:35:27 +00:00
Alexander Davydov
db44a27801 GigaChat: reuse cached auth tokens 2026-03-18 17:38:54 +03:00
Alexander Davydov
1215ba855a GigaChat: fix stream type narrowing 2026-03-18 16:32:05 +03:00
Alexander Davydov
60e23072e5 GigaChat: honor resolved URLs and headers 2026-03-18 15:06:17 +03:00
Alexander Davydov
af83a32c9e GigaChat: broaden leaked prelude stripping 2026-03-18 15:02:03 +03:00
Alexander Davydov
62faef905a GigaChat: cover trailing SSE frames 2026-03-18 14:52:40 +03:00
Alexander Davydov
afec3305d0 GigaChat: stream-decode SSE UTF-8 bytes 2026-03-18 14:51:41 +03:00
Alexander Davydov
19eb8be825 Merge remote-tracking branch 'upstream/main' into feat/gigachat
# Conflicts:
#	package.json
#	pnpm-lock.yaml
#	src/agents/pi-embedded-runner/compact.hooks.test.ts
#	src/agents/pi-embedded-runner/run/attempt.ts
2026-03-18 12:30:19 +03:00
Alexander Davydov
1ad4fc4354 Merge remote-tracking branch 'upstream/main' into feat/gigachat
# Conflicts:
#	package.json
#	src/agents/pi-embedded-runner/compact.hooks.test.ts
#	src/commands/onboard-auth.config-core.ts
#	src/commands/onboard-auth.models.ts
#	src/commands/onboard-auth.ts
#	src/commands/onboard-non-interactive/local/auth-choice.api-key-providers.ts
#	src/plugins/provider-auth-storage.ts
2026-03-18 12:25:31 +03:00
Vincent Koc
fbd88e2c8f
Main recovery: restore formatter and contract checks (#49570)
* Extensions: fix oxfmt drift on main

* Plugins: restore runtime barrel exports on main

* Config: restore web search compatibility types

* Telegram: align test harness with reply runtime

* Plugin SDK: fix channel config accessor generics

* CLI: remove redundant search provider casts

* Tests: restore main typecheck coverage

* Lobster: fix test import formatting

* Extensions: route bundled seams through plugin-sdk

* Tests: use extension env helper for xai

* Image generation: fix main oxfmt drift

* Config: restore latest main compatibility checks

* Plugin SDK: align guardrail tests with lint

* Telegram: type native command skill mock
2026-03-18 00:30:01 -07:00
Vincent Koc
e6c6aaa11b Perf: skip MCP/LSP runtime spawning when no servers are configured 2026-03-18 00:25:53 -07:00
Vincent Koc
80e681a60c Plugins: integrate LSP tool runtime into Pi embedded runner 2026-03-18 00:23:22 -07:00
Vincent Koc
8193af6d4e Plugins: add LSP server runtime with stdio JSON-RPC client and agent tool bridge 2026-03-18 00:23:22 -07:00
Vincent Koc
21c2ba480a
Image generation: native provider migration and explicit capabilities (#49551)
* Docs: retire nano-banana skill wrapper

* Doctor: migrate nano-banana to native image generation

* Image generation: align fal aspect ratio behavior

* Image generation: make provider capabilities explicit
2026-03-18 00:04:03 -07:00
Alix-007
2c579b6ac1
fix(models): preserve @YYYYMMDD version suffixes (#48896) thanks @Alix-007
Co-authored-by: Alix-007 <267018309+Alix-007@users.noreply.github.com>
Co-authored-by: frankekn <frank.ekn@gmail.com>
2026-03-18 13:20:06 +08:00
scoootscooob
bfecc58a62
xAI: add web search credential metadata (#49472)
Merged via squash.

Prepared head SHA: faefa4089d0fdf153961d4dbf6feda58d6b6a29a
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com>
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com>
Reviewed-by: @scoootscooob
2026-03-17 22:08:19 -07:00
Peter Steinberger
e1cae60294
test: harden prompt composition coverage 2026-03-17 21:42:46 -07:00
Tak Hoffman
112d1d3a7c
refactor web search config ownership into extensions 2026-03-17 23:39:51 -05:00
Peter Steinberger
a8907d80dd
feat: finish xai provider integration 2026-03-17 21:31:20 -07:00
Peter Steinberger
b86bc9de95
refactor: split remaining monitor runtime helpers 2026-03-17 21:27:21 -07:00
Tak Hoffman
3de973ffff
refactor web search provider execution out of core 2026-03-17 23:07:19 -05:00
Vincent Koc
0a90b07f8d Agents: honor workspace Anthropic provider capabilities 2026-03-17 20:17:39 -07:00
Gustavo Madeira Santana
682f4d1ca3
Plugin SDK: require unified message discovery 2026-03-18 03:02:16 +00:00
Gustavo Madeira Santana
b942dacf48
Sessions: move session target shaping to plugins 2026-03-18 02:44:49 +00:00
Gustavo Madeira Santana
d8b95d2315
Polls: scope Telegram poll extras to plugin schema 2026-03-18 02:34:33 +00:00