oh-my-opencode 5.0.0-beta.53 → 5.0.0-beta.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/.agents/command/publish.md +15 -7
  2. package/.agents/skills/publish/SKILL.md +15 -7
  3. package/.opencode/command/publish.md +15 -7
  4. package/dist/cli/index.js +53 -19
  5. package/dist/cli-node/index.js +53 -19
  6. package/dist/index.js +58 -17
  7. package/dist/tui.js +34 -4
  8. package/package.json +15 -14
  9. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  10. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  11. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  12. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  13. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  15. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  17. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  19. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  20. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  22. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  26. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  27. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  28. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.d.ts +5 -1
  32. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.js +14 -34
  33. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.js +1 -4
  34. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.d.ts +0 -18
  35. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +1 -88
  36. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +2 -0
  37. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +10 -3
  38. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.js +2 -2
  39. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +2 -0
  40. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +86 -174
  41. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +2 -18
  42. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +23 -33
  43. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.d.ts +2 -0
  44. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +16 -9
  45. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  46. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  47. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-codex-validation.ts +18 -59
  48. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-continuation.ts +1 -6
  49. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +1 -124
  50. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +11 -3
  51. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +10 -4
  52. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +2 -0
  53. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +31 -50
  54. package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +29 -10
  55. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +0 -82
  56. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +16 -22
  57. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint.test.ts +27 -0
  58. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-json-errors.test.ts +25 -0
  59. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +34 -11
  60. package/packages/omo-codex/plugin/components/ulw-loop/test/guided-recovery.test.ts +9 -47
  61. package/packages/omo-codex/plugin/components/ulw-loop/test/review-blockers.test.ts +9 -7
  62. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  65. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  66. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  67. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  68. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  69. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  70. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  71. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  72. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  74. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  75. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  76. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  77. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  78. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  79. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  80. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  81. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  82. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  83. package/packages/omo-codex/plugin/package-lock.json +12 -12
  84. package/packages/omo-codex/plugin/package.json +1 -1
  85. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
@@ -203,22 +203,30 @@ NEW_VERSION=$(node -p "require('./package.json').version")
203
203
  gh release view "v${NEW_VERSION}" --json tagName,url --jq '{tag: .tagName, url: .url}'
204
204
  ```
205
205
 
206
- **After verifying, generate a local preview of the auto-generated content:**
206
+ **Release notes are written BEFORE the release, not after.**
207
+
208
+ The release body is extracted from the `CHANGELOG.md` section for this version. Author the user-facing
209
+ notes under `## [Unreleased]` and land them before dispatching `/publish`; release-state preparation
210
+ stamps that heading into `## [<version>] - <UTC date>` and commits it with the release state, so the
211
+ published commit already carries its own notes.
212
+
213
+ Preview exactly what the release body will be:
207
214
 
208
215
  ```bash
209
- bun run script/generate-changelog.ts
216
+ bun run script/generate-changelog.ts > /tmp/contributors.md
217
+ bun run script/print-release-notes.ts "${NEW_VERSION}" /tmp/contributors.md
210
218
  ```
211
219
 
212
220
  <agent-instruction>
213
221
  After running the preview, present the output to the user and say:
214
222
 
215
- > **The following content is ALREADY included in the release automatically:**
216
- > - Commit changelog (grouped by feat/fix/refactor)
217
- > - Contributor thank-you messages (for non-team contributors)
223
+ > **This is the exact body the release will publish:** the notes you authored under `[Unreleased]`,
224
+ > then contributor thank-yous for non-team contributors, then the install footer.
218
225
  >
219
- > You do NOT need to write any of this. It's handled.
226
+ > Both steps are fail-closed: an absent, empty, or duplicated section aborts the release instead of
227
+ > publishing blank notes, and re-stamping a version that already has a section is refused.
220
228
  >
221
- > **For all release types**, an enhanced summary is **required** — I'll draft one in the next step.
229
+ > If the `[Unreleased]` section is empty, STOP and write the notes first — the release cannot proceed.
222
230
 
223
231
  **APPROVAL GATE (single, binary):** The user's initial publish request with a named bump type IS the only approval this workflow requires. Do NOT wait for a separate acknowledgement here. Present the preview, then IMMEDIATELY proceed to Step 6. The only exception: if the user explicitly said "let me review the changelog before you continue" (or equivalent), stop and wait. Otherwise continue without ending the turn.
224
232
  </agent-instruction>
@@ -202,22 +202,30 @@ NEW_VERSION=$(node -p "require('./package.json').version")
202
202
  gh release view "v${NEW_VERSION}" --json tagName,url --jq '{tag: .tagName, url: .url}'
203
203
  ```
204
204
 
205
- **After verifying, generate a local preview of the auto-generated content:**
205
+ **Release notes are written BEFORE the release, not after.**
206
+
207
+ The release body is extracted from the `CHANGELOG.md` section for this version. Author the user-facing
208
+ notes under `## [Unreleased]` and land them before dispatching `/publish`; release-state preparation
209
+ stamps that heading into `## [<version>] - <UTC date>` and commits it with the release state, so the
210
+ published commit already carries its own notes.
211
+
212
+ Preview exactly what the release body will be:
206
213
 
207
214
  ```bash
208
- bun run script/generate-changelog.ts
215
+ bun run script/generate-changelog.ts > /tmp/contributors.md
216
+ bun run script/print-release-notes.ts "${NEW_VERSION}" /tmp/contributors.md
209
217
  ```
210
218
 
211
219
  <agent-instruction>
212
220
  After running the preview, present the output to the user and say:
213
221
 
214
- > **The following content is ALREADY included in the release automatically:**
215
- > - Commit changelog (grouped by feat/fix/refactor)
216
- > - Contributor thank-you messages (for non-team contributors)
222
+ > **This is the exact body the release will publish:** the notes you authored under `[Unreleased]`,
223
+ > then contributor thank-yous for non-team contributors, then the install footer.
217
224
  >
218
- > You do NOT need to write any of this. It's handled.
225
+ > Both steps are fail-closed: an absent, empty, or duplicated section aborts the release instead of
226
+ > publishing blank notes, and re-stamping a version that already has a section is refused.
219
227
  >
220
- > **For all release types**, an enhanced summary is **required** — I'll draft one in the next step.
228
+ > If the `[Unreleased]` section is empty, STOP and write the notes first — the release cannot proceed.
221
229
 
222
230
  **APPROVAL GATE (single, binary):** The user's initial publish request with a named bump type IS the only approval this workflow requires. Do NOT wait for a separate acknowledgement here. Present the preview, then IMMEDIATELY proceed to Step 6. The only exception: if the user explicitly said "let me review the changelog before you continue" (or equivalent), stop and wait. Otherwise continue without ending the turn.
223
231
  </agent-instruction>
@@ -203,22 +203,30 @@ NEW_VERSION=$(node -p "require('./package.json').version")
203
203
  gh release view "v${NEW_VERSION}" --json tagName,url --jq '{tag: .tagName, url: .url}'
204
204
  ```
205
205
 
206
- **After verifying, generate a local preview of the auto-generated content:**
206
+ **Release notes are written BEFORE the release, not after.**
207
+
208
+ The release body is extracted from the `CHANGELOG.md` section for this version. Author the user-facing
209
+ notes under `## [Unreleased]` and land them before dispatching `/publish`; release-state preparation
210
+ stamps that heading into `## [<version>] - <UTC date>` and commits it with the release state, so the
211
+ published commit already carries its own notes.
212
+
213
+ Preview exactly what the release body will be:
207
214
 
208
215
  ```bash
209
- bun run script/generate-changelog.ts
216
+ bun run script/generate-changelog.ts > /tmp/contributors.md
217
+ bun run script/print-release-notes.ts "${NEW_VERSION}" /tmp/contributors.md
210
218
  ```
211
219
 
212
220
  <agent-instruction>
213
221
  After running the preview, present the output to the user and say:
214
222
 
215
- > **The following content is ALREADY included in the release automatically:**
216
- > - Commit changelog (grouped by feat/fix/refactor)
217
- > - Contributor thank-you messages (for non-team contributors)
223
+ > **This is the exact body the release will publish:** the notes you authored under `[Unreleased]`,
224
+ > then contributor thank-yous for non-team contributors, then the install footer.
218
225
  >
219
- > You do NOT need to write any of this. It's handled.
226
+ > Both steps are fail-closed: an absent, empty, or duplicated section aborts the release instead of
227
+ > publishing blank notes, and re-stamping a version that already has a section is refused.
220
228
  >
221
- > **For all release types**, an enhanced summary is **required** — I'll draft one in the next step.
229
+ > If the `[Unreleased]` section is empty, STOP and write the notes first — the release cannot proceed.
222
230
 
223
231
  **APPROVAL GATE (single, binary):** The user's initial publish request with a named bump type IS the only approval this workflow requires. Do NOT wait for a separate acknowledgement here. Present the preview, then IMMEDIATELY proceed to Step 6. The only exception: if the user explicitly said "let me review the changelog before you continue" (or equivalent), stop and wait. Otherwise continue without ending the turn.
224
232
  </agent-instruction>
package/dist/cli/index.js CHANGED
@@ -64,7 +64,7 @@ var package_default;
64
64
  var init_package = __esm(() => {
65
65
  package_default = {
66
66
  name: "oh-my-opencode",
67
- version: "5.0.0-beta.53",
67
+ version: "5.0.0-beta.55",
68
68
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
69
69
  main: "./dist/index.js",
70
70
  types: "dist/index.d.ts",
@@ -202,6 +202,7 @@ var init_package = __esm(() => {
202
202
  "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/pi-goal/tsconfig.json && tsgo --noEmit -p packages/pi-webfetch/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
203
203
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
204
204
  test: "bun test --timeout 20000",
205
+ "changelog:section": "bun script/changelog-section.ts",
205
206
  "test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test --timeout 20000 packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
206
207
  "test:fast": "bun run script/test-fast.ts",
207
208
  "test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test --timeout 20000 packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
@@ -248,7 +249,7 @@ var init_package = __esm(() => {
248
249
  zod: "^4.4.3"
249
250
  },
250
251
  devDependencies: {
251
- "@code-yeongyu/senpi": "2026.9.10-2",
252
+ "@code-yeongyu/senpi": "2026.9.11",
252
253
  "@oh-my-opencode/agents-md-core": "workspace:*",
253
254
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
254
255
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -289,18 +290,18 @@ var init_package = __esm(() => {
289
290
  typescript: "^7.0.2"
290
291
  },
291
292
  optionalDependencies: {
292
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.53",
293
- "oh-my-opencode-darwin-x64": "5.0.0-beta.53",
294
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.53",
295
- "oh-my-opencode-linux-arm64": "5.0.0-beta.53",
296
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.53",
297
- "oh-my-opencode-linux-x64": "5.0.0-beta.53",
298
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.53",
299
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.53",
300
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.53",
301
- "oh-my-opencode-windows-arm64": "5.0.0-beta.53",
302
- "oh-my-opencode-windows-x64": "5.0.0-beta.53",
303
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.53"
293
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.55",
294
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.55",
295
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.55",
296
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.55",
297
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.55",
298
+ "oh-my-opencode-linux-x64": "5.0.0-beta.55",
299
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.55",
300
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.55",
301
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.55",
302
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.55",
303
+ "oh-my-opencode-windows-x64": "5.0.0-beta.55",
304
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.55"
304
305
  },
305
306
  overrides: {
306
307
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -72651,7 +72652,7 @@ var init_harness = __esm(() => {
72651
72652
  });
72652
72653
 
72653
72654
  // packages/omo-config-core/src/schema/memory.ts
72654
- var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
72655
+ var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
72655
72656
  var init_memory = __esm(() => {
72656
72657
  init_zod();
72657
72658
  OmoMemoryReflectionTriggerSchema = object({
@@ -72673,9 +72674,20 @@ var init_memory = __esm(() => {
72673
72674
  OmoMemorySearchSchema = object({
72674
72675
  enabled: boolean2().default(true)
72675
72676
  }).strict();
72677
+ OmoMemoryRecallEventCapsSchema = object({
72678
+ tool_args: number2().int().nonnegative().default(400),
72679
+ result_head: number2().int().nonnegative().default(600),
72680
+ assistant: number2().int().nonnegative().default(1500),
72681
+ prompt: number2().int().nonnegative().default(4000)
72682
+ }).strict();
72676
72683
  OmoMemoryRecallSchema = object({
72677
72684
  enabled: boolean2().default(true),
72678
- max_items: number2().int().min(1).max(5).default(2)
72685
+ max_items: number2().int().min(1).max(5).default(2),
72686
+ category: string2().min(1).default("quick"),
72687
+ event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
72688
+ sidecar_max_tokens: number2().int().positive().default(48000),
72689
+ max_concurrent_wakes: number2().int().positive().default(2),
72690
+ tool_budget: number2().int().positive().default(8)
72679
72691
  }).strict();
72680
72692
  OmoMemoryNudgeSchema = object({
72681
72693
  enabled: boolean2().default(true),
@@ -72723,9 +72735,20 @@ var init_memory = __esm(() => {
72723
72735
  OmoMemorySearchLayerSchema = object({
72724
72736
  enabled: boolean2().optional()
72725
72737
  }).strict();
72738
+ OmoMemoryRecallEventCapsLayerSchema = object({
72739
+ tool_args: number2().int().nonnegative().optional(),
72740
+ result_head: number2().int().nonnegative().optional(),
72741
+ assistant: number2().int().nonnegative().optional(),
72742
+ prompt: number2().int().nonnegative().optional()
72743
+ }).strict();
72726
72744
  OmoMemoryRecallLayerSchema = object({
72727
72745
  enabled: boolean2().optional(),
72728
- max_items: number2().int().min(1).max(5).optional()
72746
+ max_items: number2().int().min(1).max(5).optional(),
72747
+ category: string2().min(1).optional(),
72748
+ event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
72749
+ sidecar_max_tokens: number2().int().positive().optional(),
72750
+ max_concurrent_wakes: number2().int().positive().optional(),
72751
+ tool_budget: number2().int().positive().optional()
72729
72752
  }).strict();
72730
72753
  OmoMemoryNudgeLayerSchema = object({
72731
72754
  enabled: boolean2().optional(),
@@ -72795,7 +72818,15 @@ var init_memory = __esm(() => {
72795
72818
  write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
72796
72819
  sync: OmoMemorySyncSchema.default({ enabled: true }),
72797
72820
  search: OmoMemorySearchSchema.default({ enabled: true }),
72798
- recall: OmoMemoryRecallSchema.default({ enabled: true, max_items: 2 }),
72821
+ recall: OmoMemoryRecallSchema.default({
72822
+ enabled: true,
72823
+ max_items: 2,
72824
+ category: "quick",
72825
+ event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
72826
+ sidecar_max_tokens: 48000,
72827
+ max_concurrent_wakes: 2,
72828
+ tool_budget: 8
72829
+ }),
72799
72830
  compile_warn_tokens: number2().int().positive().default(30000),
72800
72831
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
72801
72832
  }).strict();
@@ -84511,7 +84542,7 @@ var package_default2;
84511
84542
  var init_package2 = __esm(() => {
84512
84543
  package_default2 = {
84513
84544
  name: "@oh-my-opencode/omo-codex",
84514
- version: "5.0.0-beta.53",
84545
+ version: "5.0.0-beta.55",
84515
84546
  type: "module",
84516
84547
  private: true,
84517
84548
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -93217,6 +93248,9 @@ function renderLocalLauncher(options) {
93217
93248
  envPrefix: "OMO",
93218
93249
  userAgent: "omo",
93219
93250
  originator: "omo",
93251
+ changelog: {
93252
+ path: join57(options.pluginPath, "CHANGELOG.md")
93253
+ },
93220
93254
  update: {
93221
93255
  packageName: "omo-ai",
93222
93256
  distTag: "beta",
@@ -65,7 +65,7 @@ var package_default;
65
65
  var init_package = __esm(() => {
66
66
  package_default = {
67
67
  name: "oh-my-opencode",
68
- version: "5.0.0-beta.53",
68
+ version: "5.0.0-beta.55",
69
69
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
70
70
  main: "./dist/index.js",
71
71
  types: "dist/index.d.ts",
@@ -203,6 +203,7 @@ var init_package = __esm(() => {
203
203
  "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/pi-goal/tsconfig.json && tsgo --noEmit -p packages/pi-webfetch/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
204
204
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
205
205
  test: "bun test --timeout 20000",
206
+ "changelog:section": "bun script/changelog-section.ts",
206
207
  "test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test --timeout 20000 packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
207
208
  "test:fast": "bun run script/test-fast.ts",
208
209
  "test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test --timeout 20000 packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
@@ -249,7 +250,7 @@ var init_package = __esm(() => {
249
250
  zod: "^4.4.3"
250
251
  },
251
252
  devDependencies: {
252
- "@code-yeongyu/senpi": "2026.9.10-2",
253
+ "@code-yeongyu/senpi": "2026.9.11",
253
254
  "@oh-my-opencode/agents-md-core": "workspace:*",
254
255
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
255
256
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -290,18 +291,18 @@ var init_package = __esm(() => {
290
291
  typescript: "^7.0.2"
291
292
  },
292
293
  optionalDependencies: {
293
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.53",
294
- "oh-my-opencode-darwin-x64": "5.0.0-beta.53",
295
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.53",
296
- "oh-my-opencode-linux-arm64": "5.0.0-beta.53",
297
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.53",
298
- "oh-my-opencode-linux-x64": "5.0.0-beta.53",
299
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.53",
300
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.53",
301
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.53",
302
- "oh-my-opencode-windows-arm64": "5.0.0-beta.53",
303
- "oh-my-opencode-windows-x64": "5.0.0-beta.53",
304
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.53"
294
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.55",
295
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.55",
296
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.55",
297
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.55",
298
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.55",
299
+ "oh-my-opencode-linux-x64": "5.0.0-beta.55",
300
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.55",
301
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.55",
302
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.55",
303
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.55",
304
+ "oh-my-opencode-windows-x64": "5.0.0-beta.55",
305
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.55"
305
306
  },
306
307
  overrides: {
307
308
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -72730,7 +72731,7 @@ var init_harness = __esm(() => {
72730
72731
  });
72731
72732
 
72732
72733
  // packages/omo-config-core/src/schema/memory.ts
72733
- var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
72734
+ var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
72734
72735
  var init_memory = __esm(() => {
72735
72736
  init_zod();
72736
72737
  OmoMemoryReflectionTriggerSchema = object({
@@ -72752,9 +72753,20 @@ var init_memory = __esm(() => {
72752
72753
  OmoMemorySearchSchema = object({
72753
72754
  enabled: boolean2().default(true)
72754
72755
  }).strict();
72756
+ OmoMemoryRecallEventCapsSchema = object({
72757
+ tool_args: number2().int().nonnegative().default(400),
72758
+ result_head: number2().int().nonnegative().default(600),
72759
+ assistant: number2().int().nonnegative().default(1500),
72760
+ prompt: number2().int().nonnegative().default(4000)
72761
+ }).strict();
72755
72762
  OmoMemoryRecallSchema = object({
72756
72763
  enabled: boolean2().default(true),
72757
- max_items: number2().int().min(1).max(5).default(2)
72764
+ max_items: number2().int().min(1).max(5).default(2),
72765
+ category: string2().min(1).default("quick"),
72766
+ event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
72767
+ sidecar_max_tokens: number2().int().positive().default(48000),
72768
+ max_concurrent_wakes: number2().int().positive().default(2),
72769
+ tool_budget: number2().int().positive().default(8)
72758
72770
  }).strict();
72759
72771
  OmoMemoryNudgeSchema = object({
72760
72772
  enabled: boolean2().default(true),
@@ -72802,9 +72814,20 @@ var init_memory = __esm(() => {
72802
72814
  OmoMemorySearchLayerSchema = object({
72803
72815
  enabled: boolean2().optional()
72804
72816
  }).strict();
72817
+ OmoMemoryRecallEventCapsLayerSchema = object({
72818
+ tool_args: number2().int().nonnegative().optional(),
72819
+ result_head: number2().int().nonnegative().optional(),
72820
+ assistant: number2().int().nonnegative().optional(),
72821
+ prompt: number2().int().nonnegative().optional()
72822
+ }).strict();
72805
72823
  OmoMemoryRecallLayerSchema = object({
72806
72824
  enabled: boolean2().optional(),
72807
- max_items: number2().int().min(1).max(5).optional()
72825
+ max_items: number2().int().min(1).max(5).optional(),
72826
+ category: string2().min(1).optional(),
72827
+ event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
72828
+ sidecar_max_tokens: number2().int().positive().optional(),
72829
+ max_concurrent_wakes: number2().int().positive().optional(),
72830
+ tool_budget: number2().int().positive().optional()
72808
72831
  }).strict();
72809
72832
  OmoMemoryNudgeLayerSchema = object({
72810
72833
  enabled: boolean2().optional(),
@@ -72874,7 +72897,15 @@ var init_memory = __esm(() => {
72874
72897
  write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
72875
72898
  sync: OmoMemorySyncSchema.default({ enabled: true }),
72876
72899
  search: OmoMemorySearchSchema.default({ enabled: true }),
72877
- recall: OmoMemoryRecallSchema.default({ enabled: true, max_items: 2 }),
72900
+ recall: OmoMemoryRecallSchema.default({
72901
+ enabled: true,
72902
+ max_items: 2,
72903
+ category: "quick",
72904
+ event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
72905
+ sidecar_max_tokens: 48000,
72906
+ max_concurrent_wakes: 2,
72907
+ tool_budget: 8
72908
+ }),
72878
72909
  compile_warn_tokens: number2().int().positive().default(30000),
72879
72910
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
72880
72911
  }).strict();
@@ -84590,7 +84621,7 @@ var package_default2;
84590
84621
  var init_package2 = __esm(() => {
84591
84622
  package_default2 = {
84592
84623
  name: "@oh-my-opencode/omo-codex",
84593
- version: "5.0.0-beta.53",
84624
+ version: "5.0.0-beta.55",
84594
84625
  type: "module",
84595
84626
  private: true,
84596
84627
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -93296,6 +93327,9 @@ function renderLocalLauncher(options) {
93296
93327
  envPrefix: "OMO",
93297
93328
  userAgent: "omo",
93298
93329
  originator: "omo",
93330
+ changelog: {
93331
+ path: join57(options.pluginPath, "CHANGELOG.md")
93332
+ },
93299
93333
  update: {
93300
93334
  packageName: "omo-ai",
93301
93335
  distTag: "beta",
package/dist/index.js CHANGED
@@ -19900,6 +19900,10 @@ function isKimiK3Model(model) {
19900
19900
  return true;
19901
19901
  return false;
19902
19902
  }
19903
+ function isSWE2Model(model) {
19904
+ const modelName = extractModelName(model).toLowerCase();
19905
+ return /^swe-2(?:[-.]|$)/.test(modelName);
19906
+ }
19903
19907
  function isMiniMaxModel(model) {
19904
19908
  const modelName = extractModelName(model).toLowerCase();
19905
19909
  return modelName.includes("minimax");
@@ -22714,9 +22718,20 @@ var OmoMemorySyncSchema = z7.object({
22714
22718
  var OmoMemorySearchSchema = z7.object({
22715
22719
  enabled: z7.boolean().default(true)
22716
22720
  }).strict();
22721
+ var OmoMemoryRecallEventCapsSchema = z7.object({
22722
+ tool_args: z7.number().int().nonnegative().default(400),
22723
+ result_head: z7.number().int().nonnegative().default(600),
22724
+ assistant: z7.number().int().nonnegative().default(1500),
22725
+ prompt: z7.number().int().nonnegative().default(4000)
22726
+ }).strict();
22717
22727
  var OmoMemoryRecallSchema = z7.object({
22718
22728
  enabled: z7.boolean().default(true),
22719
- max_items: z7.number().int().min(1).max(5).default(2)
22729
+ max_items: z7.number().int().min(1).max(5).default(2),
22730
+ category: z7.string().min(1).default("quick"),
22731
+ event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
22732
+ sidecar_max_tokens: z7.number().int().positive().default(48000),
22733
+ max_concurrent_wakes: z7.number().int().positive().default(2),
22734
+ tool_budget: z7.number().int().positive().default(8)
22720
22735
  }).strict();
22721
22736
  var OmoMemoryNudgeSchema = z7.object({
22722
22737
  enabled: z7.boolean().default(true),
@@ -22764,9 +22779,20 @@ var OmoMemorySyncLayerSchema = z7.object({
22764
22779
  var OmoMemorySearchLayerSchema = z7.object({
22765
22780
  enabled: z7.boolean().optional()
22766
22781
  }).strict();
22782
+ var OmoMemoryRecallEventCapsLayerSchema = z7.object({
22783
+ tool_args: z7.number().int().nonnegative().optional(),
22784
+ result_head: z7.number().int().nonnegative().optional(),
22785
+ assistant: z7.number().int().nonnegative().optional(),
22786
+ prompt: z7.number().int().nonnegative().optional()
22787
+ }).strict();
22767
22788
  var OmoMemoryRecallLayerSchema = z7.object({
22768
22789
  enabled: z7.boolean().optional(),
22769
- max_items: z7.number().int().min(1).max(5).optional()
22790
+ max_items: z7.number().int().min(1).max(5).optional(),
22791
+ category: z7.string().min(1).optional(),
22792
+ event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
22793
+ sidecar_max_tokens: z7.number().int().positive().optional(),
22794
+ max_concurrent_wakes: z7.number().int().positive().optional(),
22795
+ tool_budget: z7.number().int().positive().optional()
22770
22796
  }).strict();
22771
22797
  var OmoMemoryNudgeLayerSchema = z7.object({
22772
22798
  enabled: z7.boolean().optional(),
@@ -22836,7 +22862,15 @@ var OmoMemorySettingsSchema = z7.object({
22836
22862
  write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
22837
22863
  sync: OmoMemorySyncSchema.default({ enabled: true }),
22838
22864
  search: OmoMemorySearchSchema.default({ enabled: true }),
22839
- recall: OmoMemoryRecallSchema.default({ enabled: true, max_items: 2 }),
22865
+ recall: OmoMemoryRecallSchema.default({
22866
+ enabled: true,
22867
+ max_items: 2,
22868
+ category: "quick",
22869
+ event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
22870
+ sidecar_max_tokens: 48000,
22871
+ max_concurrent_wakes: 2,
22872
+ tool_budget: 8
22873
+ }),
22840
22874
  compile_warn_tokens: z7.number().int().positive().default(30000),
22841
22875
  agents: z7.record(z7.string(), OmoMemoryAgentOverridesSchema).default({})
22842
22876
  }).strict();
@@ -96469,7 +96503,7 @@ function getCachedVersion(options = {}) {
96469
96503
  // package.json
96470
96504
  var package_default = {
96471
96505
  name: "oh-my-opencode",
96472
- version: "5.0.0-beta.53",
96506
+ version: "5.0.0-beta.55",
96473
96507
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
96474
96508
  main: "./dist/index.js",
96475
96509
  types: "dist/index.d.ts",
@@ -96607,6 +96641,7 @@ var package_default = {
96607
96641
  "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/pi-goal/tsconfig.json && tsgo --noEmit -p packages/pi-webfetch/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
96608
96642
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
96609
96643
  test: "bun test --timeout 20000",
96644
+ "changelog:section": "bun script/changelog-section.ts",
96610
96645
  "test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test --timeout 20000 packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
96611
96646
  "test:fast": "bun run script/test-fast.ts",
96612
96647
  "test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test --timeout 20000 packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
@@ -96653,7 +96688,7 @@ var package_default = {
96653
96688
  zod: "^4.4.3"
96654
96689
  },
96655
96690
  devDependencies: {
96656
- "@code-yeongyu/senpi": "2026.9.10-2",
96691
+ "@code-yeongyu/senpi": "2026.9.11",
96657
96692
  "@oh-my-opencode/agents-md-core": "workspace:*",
96658
96693
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
96659
96694
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -96694,18 +96729,18 @@ var package_default = {
96694
96729
  typescript: "^7.0.2"
96695
96730
  },
96696
96731
  optionalDependencies: {
96697
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.53",
96698
- "oh-my-opencode-darwin-x64": "5.0.0-beta.53",
96699
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.53",
96700
- "oh-my-opencode-linux-arm64": "5.0.0-beta.53",
96701
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.53",
96702
- "oh-my-opencode-linux-x64": "5.0.0-beta.53",
96703
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.53",
96704
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.53",
96705
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.53",
96706
- "oh-my-opencode-windows-arm64": "5.0.0-beta.53",
96707
- "oh-my-opencode-windows-x64": "5.0.0-beta.53",
96708
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.53"
96732
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.55",
96733
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.55",
96734
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.55",
96735
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.55",
96736
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.55",
96737
+ "oh-my-opencode-linux-x64": "5.0.0-beta.55",
96738
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.55",
96739
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.55",
96740
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.55",
96741
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.55",
96742
+ "oh-my-opencode-windows-x64": "5.0.0-beta.55",
96743
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.55"
96709
96744
  },
96710
96745
  overrides: {
96711
96746
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -102215,6 +102250,11 @@ var atlasPromptVariants = {
102215
102250
  content: kimi_k3_default,
102216
102251
  filePath: "packages/prompts-core/prompts/atlas/kimi-k3.md"
102217
102252
  },
102253
+ "swe-2": {
102254
+ kind: "bundled",
102255
+ content: kimi_k3_default,
102256
+ filePath: "packages/prompts-core/prompts/atlas/kimi-k3.md"
102257
+ },
102218
102258
  "kimi-k2-7": {
102219
102259
  kind: "bundled",
102220
102260
  content: kimi_k2_7_default,
@@ -103379,6 +103419,7 @@ var MODEL_MATCHERS = {
103379
103419
  gpt: isGptModel,
103380
103420
  gemini: isGeminiModel,
103381
103421
  "kimi-k3": isKimiK3Model,
103422
+ "swe-2": isSWE2Model,
103382
103423
  "kimi-k2-7": isKimiK27Model,
103383
103424
  kimi: isKimiK2Model,
103384
103425
  glm: isGlmModel,