YeonGyu-Kim
a7b7ace7ed
fix(prompt-gate): block prompts into pending tool turns
2026-05-17 15:42:58 +09:00
YeonGyu-Kim
6eb88a0545
fix(session-recovery): prefer valid tool use ids
2026-05-17 15:15:13 +09:00
YeonGyu-Kim
f43effb842
fix(session-recovery): recover interrupted idle tool turns
2026-05-17 15:08:39 +09:00
YeonGyu-Kim
c3319c753f
Merge pull request #3470 from omer-koren/fix/thinking-block-modified-recovery
...
fix(session-recovery): add thinking_block_modified error detection and recovery
2026-05-15 18:55:42 +09:00
YeonGyu-Kim
8e9dea949b
fix(session-recovery): persist dedupe across stale repeated session.error
...
processingErrors was emptied in a finally block, so a second
session.error fired for the same assistant message id after the
first recovery resolved would re-run abort, history fetch, the
recovery toast, and any auto-resume promptAsync (resumeSession),
producing duplicate internal prompt injections during stale event
re-emission or polling-driven retries.
Drop the in-flight delete and keep the dedupe permanent for the
plugin lifetime. A genuinely new failure starts a new assistant
message with a different id, so this never blocks future legitimate
errors. Same-id duplicates collapse into a single recovery attempt.
Add hook.test.ts asserting that two sequential handleSessionRecovery
calls for the same recoverable info trigger session.abort, the
recovery toast, and any internal promptAsync at most once.
2026-05-15 18:43:53 +09:00
YeonGyu-Kim
d2a28c19c6
feat(hooks): adapt session-recovery for team-mode session semantics
2026-05-06 14:19:39 +09:00
Omer Koren
b6ad494f1f
fix(session-recovery): detect and recover from 'thinking block modified' errors
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-16 09:28:46 +03:00
MoerAI
fee60d2def
fix(session-recovery): fallback to fetching messageID from session messages ( fixes #2046 )
2026-03-27 21:26:09 +09:00
YeonGyu-Kim
49aa5162bb
fix(session-recovery): harden unavailable tool recovery flow
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
e6883a45e2
fix(session-recovery): wire unavailable_tool recovery in hook
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
a8681a9ffe
fix(session-recovery): return success=false for assistant_prefill_unsupported
...
Returning true tricked the system into thinking recovery succeeded,
triggering auto-continue which hit the same error again in an infinite loop.
2026-02-11 00:45:51 +09:00
YeonGyu-Kim
f3f6ba47fe
merge: integrate origin/dev into modular-enforcement branch
...
Resolves all merge conflicts, preserving our split module structure
while integrating all dev changes:
- Custom agent summaries support (parseRegisteredAgentSummaries)
- Background notification queue (enqueueNotificationForParent)
- Atlas shared git-worktree module (collectGitDiffStats, formatFileChanges)
- Ralph-loop withTimeout + DEFAULT_API_TIMEOUT=5000
- Session recovery assistant_prefill_unsupported error type
- Atlas agentOverrides forwarding
- Config handler plan model demotion (buildPlanDemoteConfig)
- Delegate-task agentOverrides, promptSyncWithModelSuggestionRetry, variant
- LSP init timeout + stale init detection
- isPlanFamily function + task-continuation-enforcer hook
- Handoff command
2026-02-08 17:34:47 +09:00
YeonGyu-Kim
119e18c810
refactor: wave 2 - split atlas, auto-update-checker, session-recovery, todo-enforcer, background-task hooks
...
- Extract atlas/ into 15 focused modules (hook, event handler, tool policies, types, etc.)
- Split auto-update-checker into checker/ and hook/ subdirectories with single-purpose files
- Decompose session-recovery into separate recovery strategy files per error type
- Extract todo-continuation-enforcer from monolith to directory with dedicated modules
- Split background-task/tools.ts into individual tool creator files
- Extract command-executor, tmux-utils into focused sub-modules
- Split config/schema.ts into domain-specific schema files
- Decompose cli/config-manager.ts into focused modules
- Rollback skill-mcp-manager, model-availability, index.ts splits that broke tests
- Fix all import path depths for moved files (../../ -> ../../../)
- Add explicit type annotations to resolve TS7006 implicit any errors
Typecheck: 0 errors
Tests: 2359 pass, 5 fail (all pre-existing)
2026-02-08 15:01:42 +09:00