Commit Graph

5464 Commits

Author SHA1 Message Date
YeonGyu-Kim c537e840ee fix(ultrawork): handle bun:sqlite import failure directly
Use the lazy bun:sqlite importer inside the deferred override microtask and keep the unavailable-runtime test on the rejected-import path.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-05 19:09:31 +09:00
YeonGyu-Kim f4a225b6cd fix(ultrawork): lazy-load bun:sqlite to support Node/Electron runtime
Top-level `import { Database } from 'bun:sqlite'` caused Node/Electron's
ESM loader to reject the plugin at module-graph resolution time because
the `bun:` protocol is not in Node's allowed scheme list. This prevented
the OpenCode desktop app from loading the plugin at all.

Fix:
- Remove top-level static import of `bun:sqlite`
- Use a lazy importer (`_bunSqliteImporter`) that calls
  `import('bun:sqlite').catch(() => null)` at runtime
- If the import returns null (non-Bun environment), log a warning and
  return early — no DB override attempted, plugin loads normally
- Expose `__setBunSqliteImporterForTesting` / `__resetBunSqliteImporterForTesting`
  test seams to verify the Node/Electron fallback path

Closes #3795
2026-05-05 19:09:31 +09:00
YeonGyu-Kim 61ea99a72b fix(process-cleanup): add test seam to prevent process.exitCode contaminating bun runner
fix(process-cleanup): isolate test to prevent process.exitCode leaking into shared batch CI
2026-05-05 19:09:19 +09:00
YeonGyu-Kim 32fab88d68 fix(process-cleanup): add test seam to prevent process.exitCode contaminating bun runner
scheduleForcedExit() sets process.exitCode which taints the bun test runner's
own exit code for the entire suite. This caused CI to fail even though all
tests passed individually.

Fix:
- Add __disableScheduledForcedExitForTesting / __enableScheduledForcedExitForTesting
  seams to skip scheduleForcedExit() during tests
- beforeEach disables forced exit; afterEach re-enables
- The 'fallback exit timer' test explicitly re-enables to verify setTimeout/clearTimeout
- Remove process.exitCode and exitSpy assertions that required forced exit to be active
  (shutdown call counts are sufficient to verify behavior)
2026-05-05 19:04:40 +09:00
YeonGyu-Kim ad535cd29d fix(process-cleanup): isolate test and avoid checking process.exitCode directly
The test file modifies process.exitCode and emits process signals which can
leak into bun test's exit code. Add:
1. mock.module() sentinel to route to isolated batch (following abort-with-timeout.test.ts pattern)
2. Global afterAll() hook that resets process.exitCode = 0 before test runner checks it
3. Remove direct checks of process.exitCode in assertions - only check that process.exit() was called with the right code via spy

This ensures bun test exits with code 0 even after tests verify process.exit behavior.

Fixes #3792
2026-05-05 05:15:59 +09:00
YeonGyu-Kim 45452a039c Merge pull request #3731 from yizhifengye/fix/process-cleanup-infinite-loop-epipe
fix(background-agent): detach error listener before running body to s…
2026-05-05 04:24:01 +09:00
YeonGyu-Kim fd62f5b072 Merge pull request #3639 from auyua9/fix/fatal-cleanup-exit
fix(background): exit after fatal cleanup
2026-05-05 04:15:50 +09:00
YeonGyu-Kim ef7ac52286 Merge pull request #3771 from tw-yshuang/fix/atlas-pending-continuation-race
fix(atlas): block continuation while delegated tasks are pending
2026-05-05 04:15:46 +09:00
YeonGyu-Kim b43f849fb4 Merge pull request #3791 from code-yeongyu/fix/parentSessionId-typo
fix(background-agent): fix parentSessionID -> parentSessionId typo causing TS build failure
2026-05-05 04:05:19 +09:00
YeonGyu-Kim 6323fa8ef9 fix(background-agent): fix parentSessionID -> parentSessionId typo causing TS build failure
Property 'parentSessionID' does not exist on type 'LaunchInput' / 'BackgroundTask'.
The correct casing is 'parentSessionId' (camelCase with lowercase 'd').
Fixes CI build failure on dev branch.
2026-05-05 03:53:44 +09:00
github-actions[bot] a63d6e326e @brooksbUWO has signed the CLA in code-yeongyu/oh-my-openagent#3790 2026-05-04 18:36:14 +00:00
YeonGyu-Kim e699f3388d Merge pull request #3455 from CHLK/fix/cli-run-premature-exit-with-background-tasks
fix(cli-run): prevent premature exit when background tasks are active
2026-05-04 23:58:34 +09:00
YeonGyu-Kim 9c8aab9f22 Merge pull request #3420 from grandmaster451/fix-version-comparison
fix(auto-update): use semantic version comparison instead of string e…
2026-05-04 23:58:26 +09:00
YeonGyu-Kim 8c8522ee72 Merge pull request #3415 from lightrabbit/fix/skill-mcp-stdio-cwd
fix(skill-mcp): pass workspace directory as cwd to stdio MCP processes
2026-05-04 23:58:22 +09:00
YeonGyu-Kim 7b28298b2a Merge pull request #3414 from garnetlyx/fix/sandbox-cache-availability-check
fix: use in-process flag instead of existsSync for cache availability
2026-05-04 23:58:19 +09:00
github-actions[bot] 8fbb4523f9 @Biemmmmm has signed the CLA in code-yeongyu/oh-my-openagent#3785 2026-05-04 12:04:21 +00:00
github-actions[bot] 6b9731923d release: v3.17.13 2026-05-04 07:42:32 +00:00
YeonGyu-Kim fa255e14c6 test(create-managers): align openclaw mock with refactored BackgroundManager config object
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:23 +09:00
YeonGyu-Kim dd4166cb57 test(session-notification): provide chainable Bun shell mock for sender tests
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:23 +09:00
YeonGyu-Kim ce5bcd1d9b test(call-omo-agent): align background task fixtures with normalized field names
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:23 +09:00
YeonGyu-Kim 63170f4dd8 test(lsp): use named tmpdir import to avoid node:os mock leak
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:23 +09:00
YeonGyu-Kim 4e763fb0cb test(team-mode/team-worktree): use named tmpdir import to avoid mock leak
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:23 +09:00
YeonGyu-Kim 700ba1e541 test(unstable-agent-babysitter): align task fixture with sessionId field
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:06 +09:00
YeonGyu-Kim 7fefb59a06 test(stop-continuation-guard): rename parentSessionId/parentMessageId in task fixture
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:06 +09:00
YeonGyu-Kim 65c1b50946 test(background-agent): align manager test fixtures with normalized field names
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:06 +09:00
YeonGyu-Kim 3ae9f5f104 fix(background-agent): prevent false task completion on status API outage
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 16:30:06 +09:00
YeonGyu-Kim 4f32ecd7de test(deps): avoid Bun-specific path metadata
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 02:10:57 +09:00
YeonGyu-Kim 1045354776 test(deps): cover picomatch security floor
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 02:09:45 +09:00
YeonGyu-Kim fe9b71635c fix(deps): bump picomatch to patched release
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-04 02:09:45 +09:00
YeonGyu-Kim 1a881b374e test(agents): cover OpenCode Agent.list sort with runtime-name prefixes
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-05-04 01:44:07 +09:00
YeonGyu-Kim 81d36ae749 test(cli-installer): cover telemetry shutdown failure isolation
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-05-04 01:44:04 +09:00
YeonGyu-Kim e395eadfa4 feat(ralph-loop): add loop session recovery state tracker
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-05-04 01:44:01 +09:00
YeonGyu-Kim 6a8bdcaa25 feat(team-mode): add resolveCallerTeamLead helper
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-05-04 01:43:55 +09:00
github-actions[bot] 9ba3b574a7 @tw-yshuang has signed the CLA in code-yeongyu/oh-my-openagent#3771 2026-05-03 09:43:40 +00:00
github-actions[bot] 9f60eaee16 @netizenXuan has signed the CLA in code-yeongyu/oh-my-openagent#3770 2026-05-03 09:38:17 +00:00
tw-yshuang 56e4044927 fix(atlas): block continuation while delegated tasks are pending
Atlas continuation only treated running background tasks as active work. When a delegated subagent had been launched but was still waiting for session creation, the task remained pending and Atlas could inject another continuation too early.

Treat pending tasks as active background work in the continuation injector and add regression coverage for the pending-session-creation race so delegated work is allowed to acquire a session before Atlas resumes the plan.

Tests: bun test src/hooks/atlas/boulder-continuation-injector.test.ts src/hooks/atlas/index.test.ts; bun run typecheck

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-03 17:24:46 +08:00
github-actions[bot] 6c51eac8bf @claudianus has signed the CLA in code-yeongyu/oh-my-openagent#3767 2026-05-02 23:44:40 +00:00
YeonGyu-Kim e17850cbab Merge pull request #3754 from code-yeongyu/refactor/background-task-naming-cleanup
refactor(background-agent): normalize task ID field naming to camelCase
2026-05-02 03:03:21 +09:00
YeonGyu-Kim da251c9b30 refactor(background-agent): normalize task ID field naming
Rename BackgroundTask and attempt ID fields to camelCase across background-agent consumers while moving BackgroundManager construction to a single config object.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-02 03:01:03 +09:00
github-actions[bot] 054ade9ced @nerored has signed the CLA in code-yeongyu/oh-my-openagent#3752 2026-05-01 16:41:09 +00:00
YeonGyu-Kim 1eadc26e91 Merge pull request #3750 from code-yeongyu/fix/posthog-keep-only-dau
fix(telemetry): keep only omo_daily_active for DAU/WAU/MAU
2026-05-02 00:43:43 +09:00
YeonGyu-Kim 425d0300fc docs(privacy): drop diagnostics retention reference (no diagnostics events collected) 2026-05-02 00:37:07 +09:00
YeonGyu-Kim 0d89294a91 docs(telemetry): align README + installation guide + privacy policy with single-event scope 2026-05-02 00:32:08 +09:00
YeonGyu-Kim d8d061c2b0 docs(privacy): narrow telemetry scope to omo_daily_active only 2026-05-02 00:11:03 +09:00
YeonGyu-Kim 92dab9285c refactor(telemetry): narrow PostHog client and mark omo_daily_active anonymous 2026-05-02 00:11:01 +09:00
YeonGyu-Kim b8a5f27dee refactor(telemetry): drop plugin_loaded capture from plugin entry 2026-05-02 00:10:59 +09:00
YeonGyu-Kim 14568db278 refactor(telemetry): drop run lifecycle events and captureException from runner 2026-05-02 00:10:57 +09:00
YeonGyu-Kim be2eee6306 refactor(telemetry): drop install events from cli-installer 2026-05-02 00:10:54 +09:00
YeonGyu-Kim 468e42f57e Merge pull request #3749 from code-yeongyu/fix/readonly-agent-delegation
fix(agents): allow Momus and Metis delegation
2026-05-01 19:32:11 +09:00
YeonGyu-Kim bae62ab582 fix(agents): allow Momus and Metis delegation
Keep Momus and Metis read-only for file edits while allowing task-based invocation for planning review workflows.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-01 19:27:25 +09:00