Commit Graph

12651 Commits

Author SHA1 Message Date
Tak Hoffman
2de28379dd Plugins: remove public extension-api surface (#48462)
* Plugins: remove public extension-api surface

* Plugins: fix loader setup routing follow-ups

* CI: ignore non-extension helper dirs in extension-fast

* Docs: note extension-api removal as breaking
2026-03-16 15:51:08 -05:00
Altay
df3a19051d fix(logging): make logger import browser-safe 2026-03-16 23:08:21 +03:00
Gustavo Madeira Santana
09df232f39 Plugins: stage local bundled runtime tree 2026-03-16 16:43:47 +00:00
Ayaan Zaidi
7e2658908d perf: lazy-load status route startup helpers 2026-03-16 22:07:59 +05:30
Ayaan Zaidi
97a7dcf48e perf: reduce status json startup memory 2026-03-16 21:51:24 +05:30
Gustavo Madeira Santana
2c3c48fd8d Channels: ignore enabled-only disabled plugin config 2026-03-16 15:55:06 +00:00
Gustavo Madeira Santana
8a226fffb4 Infra: ignore ciao probing cancellations 2026-03-16 15:26:47 +00:00
Gustavo Madeira Santana
13894ec5aa Gateway tests: share ordered client teardown helper 2026-03-16 14:36:04 +00:00
Gustavo Madeira Santana
d352be8e99 Gateway tests: centralize mock responses provider setup 2026-03-16 14:36:04 +00:00
Ayaan Zaidi
ce1d95454f test: fix stale web search and boot-md contracts 2026-03-16 20:04:30 +05:30
Gustavo Madeira Santana
771fbeae79 Gateway: simplify startup and stabilize mock responses tests 2026-03-16 14:32:55 +00:00
Hung-Che Lo
f8bcfb9d73 feat(skills): preserve all skills in prompt via compact fallback before dropping (#47553)
* feat(skills): add compact format fallback for skill catalog truncation

When the full-format skill catalog exceeds the character budget,
applySkillsPromptLimits now tries a compact format (name + location
only, no description) before binary-searching for the largest fitting
prefix. This preserves full model awareness of registered skills in
the common overflow case.

Three-tier strategy:
1. Full format fits → use as-is
2. Compact format fits → switch to compact, keep all skills
3. Compact still too large → binary search largest compact prefix

Other changes:
- escapeXml() utility for safe XML attribute values
- formatSkillsCompact() emits same XML structure minus <description>
- Compact char-budget check reserves 150 chars for the warning line
  the caller prepends, preventing prompt overflow at the boundary
- 13 tests covering all tiers, edge cases, and budget reservation
- docs/.generated/config-baseline.json: fix pre-existing oxfmt issue

* docs: document compact skill prompt fallback

---------

Co-authored-by: Frank Yang <frank.ekn@gmail.com>
2026-03-16 22:12:15 +08:00
Gustavo Madeira Santana
96ed010a37 Gateway: gate deferred channel startup behind opt-in 2026-03-16 13:55:53 +00:00
Gustavo Madeira Santana
1b234b910b Gateway: defer full channel plugins until after listen 2026-03-16 13:31:20 +00:00
Gustavo Madeira Santana
541e697554 Plugins: share channel plugin id resolution 2026-03-16 13:31:20 +00:00
Radek Sienkiewicz
7deb543624 Browser: support non-Chrome existing-session profiles via userDataDir (#48170)
Merged via squash.

Prepared head SHA: e490035a24
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com>
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com>
Reviewed-by: @velvet-shark
2026-03-16 14:21:22 +01:00
Gustavo Madeira Santana
55253e2a9d Plugins: avoid booting bundled providers for catalog hooks 2026-03-16 12:56:48 +00:00
Gustavo Madeira Santana
8ad8069854 Tests: fix green check typing regressions 2026-03-16 12:54:01 +00:00
Gustavo Madeira Santana
841025da66 Plugin SDK: add narrow setup subpaths 2026-03-16 12:46:04 +00:00
Gustavo Madeira Santana
77566a1448 Providers: scope compat resolution to owning plugins 2026-03-16 12:45:56 +00:00
Gustavo Madeira Santana
c186176ca3 Plugin SDK: keep root alias reflection lazy 2026-03-16 12:35:13 +00:00
Gustavo Madeira Santana
ad18866bcc Tests: align Docker cache checks with non-root images 2026-03-16 12:31:51 +00:00
Gustavo Madeira Santana
467dae53cf Secrets: honor caller env during runtime validation 2026-03-16 12:31:44 +00:00
Gustavo Madeira Santana
b7f99a57bf Plugins: decouple bundled web search discovery 2026-03-16 12:19:32 +00:00
Gustavo Madeira Santana
c08f2aa21a Providers: centralize setup defaults and helper boundaries 2026-03-16 12:06:32 +00:00
Gustavo Madeira Santana
9fc6c1929a Plugin SDK: split setup and sandbox subpaths 2026-03-16 12:06:32 +00:00
Ayaan Zaidi
e78b51baea test(telegram): cover shared parsing without registry 2026-03-16 17:25:27 +05:30
Ayaan Zaidi
55f6d2d1ad fix(channels): parse bundled targets without plugin registry 2026-03-16 17:25:27 +05:30
Gustavo Madeira Santana
4c8853122a Plugins: preserve lazy runtime provider resolution 2026-03-16 11:52:50 +00:00
Gustavo Madeira Santana
5e4851ae2b Tests: align media auth fixture with selection checks 2026-03-16 11:52:49 +00:00
Gustavo Madeira Santana
d6aa9b516e Cron: isolate active-model delivery tests 2026-03-16 11:52:49 +00:00
Ayaan Zaidi
ccba943738 test(gateway): restore agent request route mock 2026-03-16 17:17:03 +05:30
Myeongwon Choi
6a8f5bc12f feat(telegram): add configurable silent error replies (#19776)
Port and complete #19776 on top of the current Telegram extension layout.

Adds a default-off `channels.telegram.silentErrorReplies` setting. When enabled, Telegram bot replies marked as errors are delivered silently across the regular bot reply flow, native/slash command replies, and fallback sends.

Thanks @auspic7 

Co-authored-by: Myeongwon Choi <36367286+auspic7@users.noreply.github.com>
Co-authored-by: ImLukeF <92253590+ImLukeF@users.noreply.github.com>
2026-03-16 22:18:34 +11:00
Gustavo Madeira Santana
fdfa98cda8 Tests: isolate bundle surface fixtures 2026-03-16 11:03:17 +00:00
Gustavo Madeira Santana
d61c08efbb Tests: scope Codex bundle loader fixture 2026-03-16 10:48:42 +00:00
Gustavo Madeira Santana
6e65066616 Media: avoid slow auth misses in auto-detect 2026-03-16 10:45:56 +00:00
Gustavo Madeira Santana
8cd1bdd345 Status: stabilize startup memory probes 2026-03-16 10:27:44 +00:00
Gustavo Madeira Santana
1cf544ffbc Channels: fix surface contract plugin lookup 2026-03-16 10:07:55 +00:00
Gustavo Madeira Santana
296083a49a Plugin SDK: consolidate shared channel exports 2026-03-16 10:05:40 +00:00
Gustavo Madeira Santana
92700940d9 Plugin SDK: restore scoped imports for bundled channels 2026-03-16 09:51:36 +00:00
Vincent Koc
898d6840dc Runtime: lazy-load Telegram and Slack channel ops 2026-03-16 02:21:57 -07:00
Vincent Koc
abb21d9163 Runtime: lazy-load Discord channel ops 2026-03-16 02:07:13 -07:00
Vincent Koc
65f05d7c09 Tests: harden WhatsApp inbound contract cleanup 2026-03-16 02:06:21 -07:00
Vincent Koc
70aa9204c0 Channels: centralize inbound context contracts 2026-03-16 02:06:21 -07:00
Vincent Koc
79a8905fa4 Channels: centralize group policy contracts 2026-03-16 02:06:21 -07:00
Vincent Koc
4aae0d4c9d Channels: centralize outbound payload contracts 2026-03-16 02:06:21 -07:00
Vincent Koc
429144d9f1 Channels: add contract surface coverage 2026-03-16 02:06:21 -07:00
Vincent Koc
5cd206f780 Channels: expand contract suites 2026-03-16 02:06:21 -07:00
Peter Steinberger
6f5369c7e8 fix: split browser-safe thinking helpers 2026-03-16 08:51:31 +00:00
Vincent Koc
c06101b8ad Infra: restore check after gaxios compat 2026-03-16 01:49:41 -07:00