Commit Graph

20992 Commits

Author SHA1 Message Date
Peter Steinberger f600e98e5b fix(agents): handle OpenAI web search schema rejects 2026-04-23 06:51:29 +01:00
Peter Steinberger 87c85c507a fix: align docs with cli and provider surfaces 2026-04-23 06:39:11 +01:00
Peter Steinberger 76ab7c5b05 test: align channel plugin install fixtures 2026-04-23 06:13:31 +01:00
Peter Steinberger e62431fd7f test: type onboarding plugin enable mock 2026-04-23 06:07:35 +01:00
Vincent Koc f67e48e6a0 feat(onboarding): auto-install missing provider and channel plugins
Squash-merge PR 70012.
2026-04-22 22:05:00 -07:00
Peter Steinberger 66f94104c6 test: trim slow CI hotspot coverage 2026-04-23 06:02:26 +01:00
Peter Steinberger e3caacd530 lint: enforce exhaustive switches 2026-04-23 06:02:12 +01:00
Peter Steinberger 6163cfffdf test: update misc extension routing expectation 2026-04-23 05:50:57 +01:00
Peter Steinberger e763ea1119 fix(plugins): stop tracking runtime deps manifests 2026-04-23 05:48:49 +01:00
Peter Steinberger 56c7ed0f8a test(codex): mock lightweight app-server runtime 2026-04-23 05:46:00 +01:00
Vincent Koc d5c0f70e95 refactor(hooks): share live config fallback handling 2026-04-22 21:42:53 -07:00
Peter Steinberger 0be2b85951 test: avoid slow followup fallback fixture 2026-04-23 05:35:34 +01:00
Peter Steinberger d88d6a3c8b fix: complete codex app-server turns in docker 2026-04-23 05:35:17 +01:00
Peter Steinberger 20b05f220e fix: expose codex provider catalog 2026-04-23 05:35:17 +01:00
Peter Steinberger 0585e181f8 fix(media): prefer provider stt before local whisper 2026-04-23 05:30:57 +01:00
Peter Steinberger 596b88986d chore: apply core lint cleanups 2026-04-23 05:30:49 +01:00
Peter Steinberger cc9dcd3d69 fix(gateway): prefer linux child OOM victims
Raise eligible Linux child processes own oom_score_adj from a child-side /bin/sh exec shim so cgroup memory pressure prefers transient workers over the long-lived gateway. Cover supervisor children, PTY shells, MCP stdio servers, and OpenClaw-launched browser processes through the shared process runtime seam.

Harden the wrapper for distroless images, shell startup env, per-child and process-level opt-outs, dash-compatible exec, and leading-dash command names. Document Linux verification and OOM behavior.

Fixes #70404.

Co-authored-by: Neerav Makwana <261249544+neeravmakwana@users.noreply.github.com>
2026-04-23 05:23:40 +01:00
Peter Steinberger d3a2e993a8 test(gateway): stabilize codex acp bind live 2026-04-23 05:22:37 +01:00
Peter Steinberger 4ad8ed2cbe refactor: type config schemas as typebox-compatible 2026-04-23 05:22:16 +01:00
Marcus Castro f5f0235bb1 feat(whatsapp): adopt replyToMode quoting (#62305)
* fix(core): align auto-reply threading behavior

* fix(core): propagate reply threading through outbound and gateway

* fix(whatsapp): use cached metadata for native quoted replies

* feat(whatsapp): add configurable native reply quoting
2026-04-23 01:19:47 -03:00
Shakker d60eb9a4a4 fix: harden CLI debug timing helper 2026-04-23 05:17:17 +01:00
Shakker 8273f5fc0a feat: add CLI debug timing helper 2026-04-23 05:17:17 +01:00
Josh Avant 01e18b6e3b Add maintainer-gated Telegram live QA workflow with Convex hardening (#70427) 2026-04-22 23:17:09 -05:00
Peter Steinberger 33aea44fe5 refactor: tighten tool schema types 2026-04-23 05:06:58 +01:00
Peter Steinberger 9937452405 build: enable more zero-baseline oxlint rules 2026-04-23 05:03:58 +01:00
Peter Steinberger b2472d6560 build: migrate schema deps to typebox 2026-04-23 04:59:42 +01:00
Peter Steinberger 35ec4a9991 fix: make session write locks non-reentrant by default 2026-04-23 04:57:30 +01:00
Neerav Makwana d878cf026c fix(pi-embedded-runner): address greptile review on incomplete-turn gate
- Drop redundant !lastToolError check from the messaging-tool clean-stop
  early return; the earlier lastToolError early return already handles
  that case, so the extra condition was dead and misleading.
- Update the CHANGELOG entry to reference only stopReason=stop; the pi-ai
  StopReason type does not include end_turn, so the earlier mention was
  a documentation-only discrepancy.
2026-04-23 04:57:09 +01:00
Neerav Makwana 6cd9136f2d fix(pi-embedded-runner): suppress incomplete-turn warning after clean messaging-tool delivery
The agent runner was surfacing a '⚠️ Agent couldn't generate a response'
warning even when the assistant had already sent user-visible content
through a messaging tool and the turn ended cleanly. Treat that path as
a successful delivery and skip the warning while keeping real failure
modes (tool errors, stopReason=error, interrupted tool use) intact.

Fixes #70396.
2026-04-23 04:57:09 +01:00
Peter Steinberger e61eba11e6 fix: avoid plugin normalization in status model refs 2026-04-23 04:43:25 +01:00
Peter Steinberger 2e40ca2c15 build: enable additional oxlint rules 2026-04-23 04:42:54 +01:00
Ayaan Zaidi 3eb6edc67c fix(cli): key oauth session epochs on identity 2026-04-23 09:06:56 +05:30
Peter Steinberger c866820fed refactor(stt): share transcription helpers 2026-04-23 04:29:35 +01:00
Peter Steinberger 2908190ba2 fix(agents): recover streamed timings usage (#41056) (thanks @xaeon2026) 2026-04-23 04:23:27 +01:00
Peter Steinberger d0d018bdad fix(qa): restore agentic parity tool runtime 2026-04-23 04:22:03 +01:00
zqchris 0020a327b9 fix(agents): defuse unicode-whitespace MEDIA lines 2026-04-23 04:22:03 +01:00
zqchris c165af97d7 fix(agents): defuse TTS transcript fence markers 2026-04-23 04:22:03 +01:00
Chris Zhang 7b51b7b26f fix(agents): preserve spoken text in tts tool result
The tts tool previously returned a fixed "Generated audio reply."
string in its content, so session transcripts lost what was actually
spoken. Across every channel, a voice-only reply left no text record
for future turns, forcing users to recover transcripts from the
provider's API. Echo the synthesized text back in the tool result
content (audio still delivered via details.media).

Sanitize the transcript before embedding so crafted utterances cannot
inject reply directives when tool output is rendered in verbose mode:
MEDIA: at line start and [[…]] markers are interrupted with a
zero-width word joiner (U+2060) that defuses parseReplyDirectives
without altering the visible text.
2026-04-23 04:22:03 +01:00
Peter Steinberger 1e8564cb13 fix(auth-profiles): repair stale codex oauth profiles 2026-04-23 04:03:47 +01:00
Peter Steinberger 06308e21f7 build: update dependencies 2026-04-23 04:00:17 +01:00
Peter Steinberger 1c91f3f09f fix: route btw provider streams by workspace (#70413) (thanks @suboss87) 2026-04-23 03:59:11 +01:00
Subash bc3c8eee2c fix(agents): route /btw through the provider's stream fn so Ollama URLs build correctly 2026-04-23 03:59:11 +01:00
Peter Steinberger da8621df0d fix(openai-completions): enable local streaming usage compat (#68711) (thanks @gaineyllc) 2026-04-23 03:57:04 +01:00
Peter Steinberger 728e29a898 test(agents): cover openai-completions tool-call arg repair 2026-04-23 03:54:16 +01:00
Peter Steinberger 7503d4859f fix(plugin-sdk): fall back for provider auth runtime 2026-04-23 03:49:04 +01:00
Peter Steinberger f78fc61768 fix(agents): pass embedded tool allowlist to pi sessions 2026-04-23 03:49:04 +01:00
Ted Li 2ba43f5d27 fix(agents): keep tool-call repair scoped by transport 2026-04-23 03:49:04 +01:00
Ted Li 49c7319ea5 fix(agents): repair malformed tool-call args on openai-completions 2026-04-23 03:49:04 +01:00
Peter Steinberger e54d0634c5 fix: harden removed Codex auth choice guidance (#70390) (thanks @pashpashpash) 2026-04-23 03:45:01 +01:00
Peter Steinberger 35c9f96878 test: wait for gateway restart sentinel 2026-04-23 03:42:34 +01:00