YeonGyu-Kim
ea46ba6c60
fix(background-agent): use session.idle event for completion detection
...
- Remove broken session.updated handler (Session has no status field)
- Add session.idle event handler for proper completion detection
- Remove all file persistence (persist/restore methods)
- Add comprehensive logging for debugging
- Dual detection: event-based (session.idle) + polling (session.status API)
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
d67f97158a
fix(background-agent): use session.status() API for idle detection
...
session.get() doesn't return status field - it was always undefined.
Now using session.status() API which returns { type: 'idle' | 'busy' | 'retry' }
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
24a7f333a2
refactor(background-agent): remove file persistence, use memory-only
...
- Remove background_tasks.json persistence (race condition with multiple instances)
- Pure memory-based task management
- Add logging for promptAsync errors
- Remove unused persist/restore methods
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
80cfe87390
fix(background-agent): use promptAsync to wake parent session
...
- Change prompt() to promptAsync() for parent session notification
- Only mark 404 errors as permanent task failure
- Add defensive progress initialization
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
5733291a0f
fix(background-agent): notify parent session when task completes
...
- Add notifyParentSession() to send message to parent session via prompt()
- Agent receives completion notification immediately, not waiting for next chat.message
- Includes task ID, description, duration, tool calls in notification
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
b5d56246f6
fix(background-agent): add polling mechanism for child session tracking
...
- Replace unreliable event-based tracking with 2-second polling
- Use SDK session.get() to detect completion (status === idle)
- Use SDK session.messages() to count tool_use parts for progress
- Auto-start polling on launch, auto-stop when no running tasks
- Resume polling on restore if running tasks exist
Fixes: Child session events not reaching plugin event handler
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
245acdabad
fix(background-agent): address Oracle review feedback
...
- Remove unused storage.ts (dead code, runtime inconsistency)
- Change persist() to sync void (debounce semantics clarity)
- Add type guards in handleEvent() for event safety
- Remove unused 'pending' from BackgroundTaskStatus
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
698cdb6744
feat(background-agent): add BackgroundManager with persistence layer
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-13 00:35:34 +09:00
YeonGyu-Kim
bd67419d1d
feat(features): add hook message injector
...
- Port hook-message-injector from opencode-cc-plugin (4 files)
- constants.ts: XDG-based path definitions (MESSAGE_STORAGE, PART_STORAGE)
- types.ts: MessageMeta, OriginalMessageContext, TextPart interfaces
- injector.ts: injectHookMessage() implementation with message/part storage
- index.ts: Barrel export
- Self-contained module with no import path changes needed
- Preserves XDG_DATA_HOME environment variable support
- Preserves message fallback logic for incomplete originalMessage
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 18:02:45 +09:00
YeonGyu-Kim
376bf363af
feat(features): add claude-code-agent-loader, mcp-loader, session-state
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
c7a65af475
refactor(features): rename command-loader and skill-loader with claude-code prefix
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
3c6ffe5d9c
feat(skill-loader): add skill loader that converts skills to commands
...
Skills are loaded from:
- ~/.claude/skills/ (user scope)
- .claude/skills/ (project scope)
Each skill directory contains SKILL.md with frontmatter metadata.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
938a3709e1
feat(command-loader): add slash command loader from multiple paths
...
Load commands from 4 directory scopes:
- .opencode/command/ (opencode-project)
- .claude/commands/ (project)
- ~/.config/opencode/command/ (opencode)
- ~/.claude/commands/ (user)
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
9a9351a082
feat(feature): add terminal title renaming with session status
2025-12-04 16:19:12 +09:00