Commit Graph
1174 Commits
Author SHA1 Message Date
can1357 b9bb0cc1d6 Merge branch 'main' into pr-5030 2026-07-10 12:14:52 +02:00
can1357 3a4ee969c5 Merge remote-tracking branch 'origin/farm/44169057/fix-advisor-codex-session-id'
# Conflicts:
#	packages/coding-agent/src/session/agent-session.ts
2026-07-10 12:10:32 +02:00
can1357 1dfbc2caf6 Merge remote-tracking branch 'origin/farm/e42ff742/fork-prompt-cache-affinity' 2026-07-10 12:09:25 +02:00
can1357 2dafa7ac79 feat: further codex metadata 2026-07-10 11:35:09 +02:00
roboomp 325375f801 fix(advisor): used uuidv7 codex session ids
Separated advisor provider session identity from local advisor labels so Codex requests carry stable UUIDv7 values while transcripts keep their advisor-specific names.

Fixes #5040
2026-07-10 07:24:36 +00:00
roboomp 7fa2c3f42d fix(coding-agent): preserved fork prompt cache affinity
- Persisted an inherited provider prompt-cache key on full session forks while keeping the child OMP session id independent.

- Added --prompt-cache-key and SDK startup inheritance so explicit cache affinity is separate from provider session routing.

- Cleared automatic inherited keys when model, thinking, system prompt, or tool schema inputs change.

Fixes #5035
2026-07-10 07:22:28 +00:00
usr_bin_roygbiv cdecf65f8b fix(compaction): retry after AWS credential failures 2026-07-10 00:42:31 -05:00
can1357 c944870566 fix(coding-agent): implemented pi's ui.addAutocompleteProvider API
Extensions calling ctx.ui.addAutocompleteProvider (e.g. @ff-labs/pi-fff)
crashed at load with 'TypeError: ... is not a function' because omp's
ExtensionAPI.ui omitted pi's autocomplete-provider API; the throw also
aborted the rest of a try/catch-guarded session_start init.

ExtensionUIContext now declares addAutocompleteProvider(factory).
Interactive mode stacks each factory on the built-in editor provider in
registration order, re-applies the stack on every slash-command refresh,
and skips throwing/malformed factories; RPC, ACP, and headless contexts
accept the factory as a no-op, matching upstream pi's RPC behavior.

Fixes #4919
2026-07-09 18:27:23 +02:00
e429166673 fix(coding-agent): queued extension sendUserMessage as steer while streaming
Extension sendUserMessage() without deliverAs fell through to prompt(),
which throws AgentBusyError during an active stream; the message was
dropped and surfaced as 'Extension sendUserMessage failed'. Route the
omitted-deliverAs path through prompt() with streamingBehavior 'steer'
so streaming queues a steer with normal prompt-flow side effects
(keyword notices, advisor auto-resume reset) and idle still starts a
turn.

ACP skill-command prompts now pass streamingBehavior 'steer'; the RPC
skill fast-path honors the prompt command's streamingBehavior field
(default steer) like the plain-prompt path already did. Documented the
extension-facing delivery semantics.

Synthesized from PR #4942 (prompt-flow steer routing, docs, tests) and
PR #4922 (RPC streamingBehavior threading, steer regression test);
dropped PR #4942's unrelated workflow-notice.md ellipsis churn.

Fixes #4923

Co-authored-by: roboomp <omp@can.ac>
Co-authored-by: metaphorics <metaphorics@users.noreply.github.com>
2026-07-09 18:27:22 +02:00
can1357 53df3c82b7 style: applied biome formatting to merged sources 2026-07-08 15:37:43 +02:00
can1357 32158b74ea merge PR #4542: fix(coding-agent): scoped TTSR abort reason to matching tool call 2026-07-08 15:27:25 +02:00
can1357 8d484435c2 merge PR #4535: fix(coding-agent): restore fallback model selection 2026-07-08 15:19:38 +02:00
can1357 f313669705 fix(agent): respect vetoed auto-handoff hooks 2026-07-08 15:19:38 +02:00
can1357 74385fcbfb merge PR #4435: fix(agent): emit session_switch for handoff 2026-07-08 15:19:38 +02:00
can1357 92d3286a41 fix(coding-agent): refresh advisor on routed role reloads 2026-07-08 15:19:38 +02:00
can1357 810d112fed merge PR #4613: fix(coding-agent): refresh advisor on model role changes 2026-07-08 15:19:38 +02:00
can1357 5cd4b68d63 fix(prompting): gate workflow notice on task tool 2026-07-08 15:19:36 +02:00
can1357 83896d274a merge PR #4644: fix(prompting): hide eval guidance when disabled 2026-07-08 15:19:36 +02:00
can1357 c641e11790 merge PR #4643: fix(coding-agent): use local date in system prompt 2026-07-08 15:19:36 +02:00
can1357 cd7feac260 feat(coding-agent/advisor): implemented advisor credential blocking on usage limits
- Added `onTurnError` hook to `AdvisorRuntime` to handle failed turns before retries.
- Integrated credential blocking in `AgentSession` to prevent retrying usage-limited accounts when advisor turns fail.
- Included account key in `codex-auto-reset` debug logs to improve skip reason visibility.
2026-07-08 13:47:39 +02:00
can1357 ccf8789693 Merge remote-tracking branch 'origin/farm/f45f9d5d/get-session-stats-context-usage' 2026-07-06 07:39:07 +02:00
can1357 f572841c60 Merge remote-tracking branch 'origin/farm/4a9a5787/fix-irc-between-wait-replies' 2026-07-06 07:38:42 +02:00
roboomp 5f44151903 fix(rpc): included context usage in session stats
Added contextUsage to SessionStats so get_session_stats mirrors the existing getContextUsage data used by state responses.

Fixes #4668
2026-07-06 03:16:13 +00:00
roboomp 06f6762103 fix(agent): surfaced pending irc replies to wait
Drained pending IRC asides before parking irc wait so replies that arrive between wait calls are returned instead of being treated only as queued interrupts.

Added regression coverage for the already-aborted queued-IRC signal path and documented the fix in the coding-agent changelog.

Fixes #4657
2026-07-06 02:36:35 +00:00
roboomp 3a962c54c7 fix(agent): reset IRC wake maintenance state
Reset per-turn maintenance counters before IRC wake prompts so yielded subagents do not carry stale yield termination into later wake turns.

Add regression coverage for empty-stop retry after an IRC wake following a yielded run.

Fixes #4658
2026-07-06 02:34:23 +00:00
Christian Stewart 1936d4f250 fix(prompting): refresh bash guidance on tool changes
Signed-off-by: Christian Stewart <christian@aperture.us>
2026-07-05 18:15:22 -07:00
Christian Stewart 25c94fadba fix(prompting): match workflowz task schema
Signed-off-by: Christian Stewart <christian@aperture.us>
2026-07-05 17:34:17 -07:00
Christian Stewart 58a3259abf test(prompt): stabilize local-date regressions
Signed-off-by: Christian Stewart <christian@aperture.us>
2026-07-05 17:30:46 -07:00
Christian Stewart 722a06abce fix(coding-agent): use local date in system prompt
Signed-off-by: Christian Stewart <christian@aperture.us>
2026-07-05 16:03:44 -07:00
roboomp b2f7238a03 fix(coding-agent): allowed mixed fallback chains
- Allowed implicit default fallback resolution when other role fallback chains are configured.
- Covered the mixed-role first-run fallback case.

Fixes #4533
2026-07-05 19:21:08 +00:00
roboomp b0a84847b7 fix(agent): emitted handoff session switch hook
Fixes #4434
2026-07-05 19:19:02 +00:00
can1357 3458b037ae chore: update tests 2026-07-05 16:53:07 +02:00
roboomp 1e937cc756 fix(coding-agent): refreshed advisor on role model changes
Rebuilt active advisor runtimes when modelRoles.advisor changes so live sessions stop using stale advisor models.

Added regression coverage for advisor role updates reaching the live advisor without a manual /advisor restart.

Fixes #4612
2026-07-05 13:04:15 +00:00
can1357 b3c661f164 Merge PR #4272: perf(session): cache persisted-message keys, invalidate on branch change (@metaphorics) 2026-07-05 13:39:11 +02:00
can1357 734aed4c03 Merge PR #4382: fix(compaction): keep plan-mode guidance off the session_before_compact hook (@roboomp) 2026-07-05 13:25:28 +02:00
can1357 36c3e26fee Merge PR #4381: fix(coding-agent): queue approved plan behind turns flushed by compaction (@roboomp) 2026-07-05 13:25:27 +02:00
can1357 17a94d2d5f fix: preserve hidden image descriptions in advisor history 2026-07-05 13:25:27 +02:00
can1357 6949d9ac3e Merge PR #4334: fix: hide hidden custom session updates (@jeffscottward) 2026-07-05 13:25:27 +02:00
can1357 600191b6f5 Merge PR #4356: fix(coding-agent): size title budget for backends that ignore disableReasoning (@roboomp) 2026-07-05 13:25:25 +02:00
can1357 eb3ded68ea Merge PR #4357: fix(session): harden runEphemeralTurn against dropped provider content on idle recap (@roboomp) 2026-07-05 13:25:24 +02:00
can1357 8ec34a7662 Merge PR #4349: fix(session): handle malformed custom messages (@roboomp) 2026-07-05 13:25:24 +02:00
can1357 6ab2f75a01 style: formatted merged sources and hardened isEmptyErrorTurn exhaustiveness 2026-07-05 13:13:36 +02:00
can1357 cf774b0d57 Merge PR #4400: fix(gemini): honor hidden summary requests (@cagedbird043) 2026-07-05 13:10:27 +02:00
can1357 2f67fb3728 Merge PR #4387: fix(fast): enable custom OpenAI-compatible providers (@roboomp) 2026-07-05 13:10:27 +02:00
can1357 d5d13c2cf2 fix(session): keep empty error turns out of rollback persistence 2026-07-05 13:10:26 +02:00
can1357 05fc11394e Merge PR #4457: fix(session): drop content-less provider-rejection turns from persisted history (@mattwilkinsonn) 2026-07-05 13:10:26 +02:00
can1357 d29dfc869d Merge PR #4473: fix(session): guard legacy snapcompact frames on resume (@cexll) 2026-07-05 13:10:26 +02:00
can1357 a868a7d2d5 Merge PR #4471: fix(ai): separate Codex orchestration usage (@roboomp) 2026-07-05 13:03:08 +02:00
can1357 7f3832a263 Merge PR #4489: fix(snapcompact): select silver shape for CJK-heavy auto text (@roboomp) 2026-07-05 13:03:08 +02:00
can1357 1f4fde556f Merge PR #4581: fix(advisor): clamp default thinking against the resolved model (@roboomp) 2026-07-05 12:44:16 +02:00