lazycodex-ai 5.0.0-beta.57 → 5.0.0-beta.60

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 (78) hide show
  1. package/dist/cli/index.js +18 -22
  2. package/dist/cli-node/index.js +18 -22
  3. package/package.json +1 -1
  4. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  5. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  6. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  7. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  8. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  9. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  10. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  11. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  12. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  13. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  14. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  15. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  17. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  19. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  21. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  22. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  23. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.d.ts +5 -1
  27. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.js +4 -3
  28. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +5 -1
  29. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +2 -2
  30. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +1 -1
  31. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +38 -39
  32. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +163 -36
  33. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.d.ts +2 -0
  34. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.js +125 -0
  35. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.d.ts +46 -0
  36. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.js +28 -0
  37. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.d.ts +127 -0
  38. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.js +1 -0
  39. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.d.ts +3 -0
  40. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.js +3 -0
  41. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  42. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  43. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +4 -0
  44. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-template.ts +8 -2
  45. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +6 -2
  46. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +50 -48
  47. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/factory.ts +159 -0
  48. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/manifest.ts +42 -0
  49. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/types.ts +140 -0
  50. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk.ts +3 -0
  51. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-contract.test.ts +137 -0
  52. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-session-context.test.ts +148 -0
  53. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  65. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  66. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  67. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  68. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  69. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  70. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  71. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  72. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  74. package/packages/omo-codex/plugin/package-lock.json +12 -12
  75. package/packages/omo-codex/plugin/package.json +1 -1
  76. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +4 -0
  77. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
  78. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
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.57",
67
+ version: "5.0.0-beta.60",
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",
@@ -178,8 +178,8 @@ var init_package = __esm(() => {
178
178
  "install:codex-dev": "bun run script/build-codex-install.ts && bun run script/install-codex-dev.ts",
179
179
  "build:codex-plugin": "npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build",
180
180
  "build:senpi-plugin": "bun run build:lsp-daemon && bun run build:ast-grep-mcp && bun run build:senpi-plugin:stage",
181
- "build:senpi-plugin:native": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-agent-toolkit.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
182
- "build:senpi-plugin:stage": "bun run build:materialize-frontend && node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-agent-toolkit.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
181
+ "build:senpi-plugin:native": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
182
+ "build:senpi-plugin:stage": "bun run build:materialize-frontend && node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
183
183
  "build:materialize-frontend": "node packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs --strict",
184
184
  "build:shared-skills-assets": "bun run build:materialize-frontend && rm -rf dist/skills && cp -R packages/shared-skills/skills dist/skills",
185
185
  "build:lsp-tools-mcp": "npm --prefix packages/lsp-tools-mcp ci && npm --prefix packages/lsp-tools-mcp run build",
@@ -249,7 +249,7 @@ var init_package = __esm(() => {
249
249
  zod: "^4.4.3"
250
250
  },
251
251
  devDependencies: {
252
- "@code-yeongyu/senpi": "2026.9.12",
252
+ "@code-yeongyu/senpi": "2026.9.12-2",
253
253
  "@oh-my-opencode/agents-md-core": "workspace:*",
254
254
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
255
255
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -290,18 +290,18 @@ var init_package = __esm(() => {
290
290
  typescript: "^7.0.2"
291
291
  },
292
292
  optionalDependencies: {
293
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.57",
294
- "oh-my-opencode-darwin-x64": "5.0.0-beta.57",
295
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.57",
296
- "oh-my-opencode-linux-arm64": "5.0.0-beta.57",
297
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.57",
298
- "oh-my-opencode-linux-x64": "5.0.0-beta.57",
299
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.57",
300
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.57",
301
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.57",
302
- "oh-my-opencode-windows-arm64": "5.0.0-beta.57",
303
- "oh-my-opencode-windows-x64": "5.0.0-beta.57",
304
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.57"
293
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.60",
294
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.60",
295
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.60",
296
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.60",
297
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.60",
298
+ "oh-my-opencode-linux-x64": "5.0.0-beta.60",
299
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.60",
300
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.60",
301
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.60",
302
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.60",
303
+ "oh-my-opencode-windows-x64": "5.0.0-beta.60",
304
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.60"
305
305
  },
306
306
  overrides: {
307
307
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -84542,7 +84542,7 @@ var package_default2;
84542
84542
  var init_package2 = __esm(() => {
84543
84543
  package_default2 = {
84544
84544
  name: "@oh-my-opencode/omo-codex",
84545
- version: "5.0.0-beta.56",
84545
+ version: "5.0.0-beta.60",
84546
84546
  type: "module",
84547
84547
  private: true,
84548
84548
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -93457,6 +93457,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
93457
93457
  join59("extensions", "omo.js"),
93458
93458
  join59("extensions", "omo-task.js"),
93459
93459
  join59("extensions", "omo-member.js"),
93460
+ join59("extensions", "omo-agent-toolkit.js"),
93460
93461
  join59("extensions", "memory-run-supervisor.mjs"),
93461
93462
  ...PERSONA_ASSET_FILES.map((filename) => join59("extensions", filename)),
93462
93463
  join59("skills", "ast-grep", "SKILL.md"),
@@ -93479,10 +93480,6 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
93479
93480
  join59("skills", "visual-qa", "SKILL.md"),
93480
93481
  join59("skills-conditional", "x-search", "SKILL.md"),
93481
93482
  join59("runtime", "ast-grep-mcp", "cli.js"),
93482
- join59("runtime", "agent-toolkit", "cli.js"),
93483
- join59("runtime", "agent-toolkit", "ulw-loop", "cli.js"),
93484
- join59("runtime", "agent-toolkit", "omo-agent-toolkit"),
93485
- join59("runtime", "agent-toolkit", "omo-agent-toolkit.cmd"),
93486
93483
  join59("runtime", "lsp-daemon", "dist", "cli.js"),
93487
93484
  join59("runtime", "lsp-daemon", "dist", "index.js"),
93488
93485
  join59("runtime", "lsp-daemon", "dist", "index.d.ts"),
@@ -93500,7 +93497,6 @@ async function ensurePluginArtifacts(context) {
93500
93497
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "build-install.mjs")], { cwd: context.repoRoot });
93501
93498
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-lsp-daemon-runtime.mjs")], { cwd: context.repoRoot });
93502
93499
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-ast-grep-mcp-runtime.mjs")], { cwd: context.repoRoot });
93503
- await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-agent-toolkit.mjs")], { cwd: context.repoRoot });
93504
93500
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-x-search-skill.mjs")], { cwd: context.repoRoot });
93505
93501
  }
93506
93502
  if (await hasMissingPluginArtifact(context.pluginPath)) {
@@ -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.57",
68
+ version: "5.0.0-beta.60",
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",
@@ -179,8 +179,8 @@ var init_package = __esm(() => {
179
179
  "install:codex-dev": "bun run script/build-codex-install.ts && bun run script/install-codex-dev.ts",
180
180
  "build:codex-plugin": "npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build",
181
181
  "build:senpi-plugin": "bun run build:lsp-daemon && bun run build:ast-grep-mcp && bun run build:senpi-plugin:stage",
182
- "build:senpi-plugin:native": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-agent-toolkit.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
183
- "build:senpi-plugin:stage": "bun run build:materialize-frontend && node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-agent-toolkit.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
182
+ "build:senpi-plugin:native": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
183
+ "build:senpi-plugin:stage": "bun run build:materialize-frontend && node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
184
184
  "build:materialize-frontend": "node packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs --strict",
185
185
  "build:shared-skills-assets": "bun run build:materialize-frontend && rm -rf dist/skills && cp -R packages/shared-skills/skills dist/skills",
186
186
  "build:lsp-tools-mcp": "npm --prefix packages/lsp-tools-mcp ci && npm --prefix packages/lsp-tools-mcp run build",
@@ -250,7 +250,7 @@ var init_package = __esm(() => {
250
250
  zod: "^4.4.3"
251
251
  },
252
252
  devDependencies: {
253
- "@code-yeongyu/senpi": "2026.9.12",
253
+ "@code-yeongyu/senpi": "2026.9.12-2",
254
254
  "@oh-my-opencode/agents-md-core": "workspace:*",
255
255
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
256
256
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -291,18 +291,18 @@ var init_package = __esm(() => {
291
291
  typescript: "^7.0.2"
292
292
  },
293
293
  optionalDependencies: {
294
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.57",
295
- "oh-my-opencode-darwin-x64": "5.0.0-beta.57",
296
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.57",
297
- "oh-my-opencode-linux-arm64": "5.0.0-beta.57",
298
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.57",
299
- "oh-my-opencode-linux-x64": "5.0.0-beta.57",
300
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.57",
301
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.57",
302
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.57",
303
- "oh-my-opencode-windows-arm64": "5.0.0-beta.57",
304
- "oh-my-opencode-windows-x64": "5.0.0-beta.57",
305
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.57"
294
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.60",
295
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.60",
296
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.60",
297
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.60",
298
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.60",
299
+ "oh-my-opencode-linux-x64": "5.0.0-beta.60",
300
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.60",
301
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.60",
302
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.60",
303
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.60",
304
+ "oh-my-opencode-windows-x64": "5.0.0-beta.60",
305
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.60"
306
306
  },
307
307
  overrides: {
308
308
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -84621,7 +84621,7 @@ var package_default2;
84621
84621
  var init_package2 = __esm(() => {
84622
84622
  package_default2 = {
84623
84623
  name: "@oh-my-opencode/omo-codex",
84624
- version: "5.0.0-beta.56",
84624
+ version: "5.0.0-beta.60",
84625
84625
  type: "module",
84626
84626
  private: true,
84627
84627
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -93536,6 +93536,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
93536
93536
  join59("extensions", "omo.js"),
93537
93537
  join59("extensions", "omo-task.js"),
93538
93538
  join59("extensions", "omo-member.js"),
93539
+ join59("extensions", "omo-agent-toolkit.js"),
93539
93540
  join59("extensions", "memory-run-supervisor.mjs"),
93540
93541
  ...PERSONA_ASSET_FILES.map((filename) => join59("extensions", filename)),
93541
93542
  join59("skills", "ast-grep", "SKILL.md"),
@@ -93558,10 +93559,6 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
93558
93559
  join59("skills", "visual-qa", "SKILL.md"),
93559
93560
  join59("skills-conditional", "x-search", "SKILL.md"),
93560
93561
  join59("runtime", "ast-grep-mcp", "cli.js"),
93561
- join59("runtime", "agent-toolkit", "cli.js"),
93562
- join59("runtime", "agent-toolkit", "ulw-loop", "cli.js"),
93563
- join59("runtime", "agent-toolkit", "omo-agent-toolkit"),
93564
- join59("runtime", "agent-toolkit", "omo-agent-toolkit.cmd"),
93565
93562
  join59("runtime", "lsp-daemon", "dist", "cli.js"),
93566
93563
  join59("runtime", "lsp-daemon", "dist", "index.js"),
93567
93564
  join59("runtime", "lsp-daemon", "dist", "index.d.ts"),
@@ -93579,7 +93576,6 @@ async function ensurePluginArtifacts(context) {
93579
93576
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "build-install.mjs")], { cwd: context.repoRoot });
93580
93577
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-lsp-daemon-runtime.mjs")], { cwd: context.repoRoot });
93581
93578
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-ast-grep-mcp-runtime.mjs")], { cwd: context.repoRoot });
93582
- await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-agent-toolkit.mjs")], { cwd: context.repoRoot });
93583
93579
  await context.runCommand("node", [join59(context.pluginPath, "scripts", "stage-x-search-skill.mjs")], { cwd: context.repoRoot });
93584
93580
  }
93585
93581
  if (await hasMissingPluginArtifact(context.pluginPath)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazycodex-ai",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",
@@ -8,7 +8,7 @@
8
8
  "command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
9
9
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.0.0-beta.57) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.0.0-beta.60) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-bootstrap",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.0.0-beta.57) Checking Comments"
11
+ "statusMessage": "(OmO 5.0.0-beta.60) Checking Comments"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-comment-checker",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex plugin that runs comment-checker after edit-like PostToolUse hooks.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 5.0.0-beta.57) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.0.0-beta.60) Recommending Git Bash MCP"
12
12
  }
13
13
  ]
14
14
  }
@@ -20,7 +20,7 @@
20
20
  "type": "command",
21
21
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
22
22
  "timeout": 5,
23
- "statusMessage": "(OmO 5.0.0-beta.57) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.0.0-beta.60) Resetting Git Bash MCP Reminder"
24
24
  }
25
25
  ]
26
26
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-git-bash-hook",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex hook component that reminds Windows sessions to prefer the OMO git_bash MCP.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 5.0.0-beta.57) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.0.0-beta.60) Verifying LazyCodex Executor Evidence"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-lazycodex-executor-verify",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "5.0.0-beta.57",
4
- "inputDigest": "sha256:8b0c4163f8b9b9f7c1771b5ef315fe35f3bdceb1aff7a627cfb7be8cf83984a0",
3
+ "version": "5.0.0-beta.60",
4
+ "inputDigest": "sha256:35c40ea27ccc412089d9bcf1e58810b6889dd51c24d269191d092bf8ed3c4c4d",
5
5
  "outputs": [
6
6
  {
7
7
  "path": "cli.d.ts",
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 60,
11
- "statusMessage": "(OmO 5.0.0-beta.57) Checking LSP Diagnostics"
11
+ "statusMessage": "(OmO 5.0.0-beta.60) Checking LSP Diagnostics"
12
12
  }
13
13
  ]
14
14
  }
@@ -21,7 +21,7 @@
21
21
  "type": "command",
22
22
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
23
23
  "timeout": 5,
24
- "statusMessage": "(OmO 5.0.0-beta.57) Resetting LSP Diagnostics Cache"
24
+ "statusMessage": "(OmO 5.0.0-beta.60) Resetting LSP Diagnostics Cache"
25
25
  }
26
26
  ]
27
27
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-lsp",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex plugin that exposes Language Server Protocol tools and post-edit diagnostics.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook session-start",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.57) Loading Project Rules"
10
+ "statusMessage": "(OmO 5.0.0-beta.60) Loading Project Rules"
11
11
  }
12
12
  ]
13
13
  }
@@ -19,7 +19,7 @@
19
19
  "type": "command",
20
20
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
21
21
  "timeout": 10,
22
- "statusMessage": "(OmO 5.0.0-beta.57) Loading Project Rules"
22
+ "statusMessage": "(OmO 5.0.0-beta.60) Loading Project Rules"
23
23
  }
24
24
  ]
25
25
  }
@@ -32,7 +32,7 @@
32
32
  "type": "command",
33
33
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
34
34
  "timeout": 10,
35
- "statusMessage": "(OmO 5.0.0-beta.57) Matching Project Rules"
35
+ "statusMessage": "(OmO 5.0.0-beta.60) Matching Project Rules"
36
36
  }
37
37
  ]
38
38
  }
@@ -45,7 +45,7 @@
45
45
  "type": "command",
46
46
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
47
47
  "timeout": 10,
48
- "statusMessage": "(OmO 5.0.0-beta.57) Resetting Project Rule Cache"
48
+ "statusMessage": "(OmO 5.0.0-beta.60) Resetting Project Rule Cache"
49
49
  }
50
50
  ]
51
51
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-rules",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex plugin that injects project rule files into model context through lifecycle hooks.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 5.0.0-beta.57) Checking Thread Title Hygiene"
11
+ "statusMessage": "(OmO 5.0.0-beta.60) Checking Thread Title Hygiene"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-teammode",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex team-mode hook component that keeps background thread titles descriptive after create_thread.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook session-start",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.57) Recording Session Telemetry"
10
+ "statusMessage": "(OmO 5.0.0-beta.60) Recording Session Telemetry"
11
11
  }
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-telemetry",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex plugin component that emits omo-codex anonymous daily-active telemetry on SessionStart.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.57) Checking Ultrawork Trigger"
10
+ "statusMessage": "(OmO 5.0.0-beta.60) Checking Ultrawork Trigger"
11
11
  }
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ultrawork",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex plugin that injects the ultrawork orchestration directive and ships LazyCodex planning, review, QA, and gate agent roles.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook stop",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.57) Checking Ulw-Execute Continuation"
10
+ "statusMessage": "(OmO 5.0.0-beta.60) Checking Ulw-Execute Continuation"
11
11
  }
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ulw-execute-continuation",
3
- "version": "5.0.0-beta.57",
3
+ "version": "5.0.0-beta.60",
4
4
  "description": "Codex Stop hook continuation injector for omo-codex ulw-execute plans.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -1,8 +1,12 @@
1
1
  import { type UlwLoopScope } from "./paths.js";
2
+ import { type UlwLoopToolkitSurface } from "./surface.js";
2
3
  export interface CheckpointTemplate {
3
4
  readonly qualityGateTemplate: Record<string, unknown>;
4
5
  readonly codexGoalTemplate: Record<string, unknown>;
5
6
  readonly attemptDir?: string;
6
7
  readonly guidance?: string;
7
8
  }
8
- export declare function checkpointTemplate(repoRoot: string, scope?: UlwLoopScope, goalId?: string): Promise<CheckpointTemplate>;
9
+ export interface CheckpointTemplateDependencies {
10
+ readonly surface?: UlwLoopToolkitSurface;
11
+ }
12
+ export declare function checkpointTemplate(repoRoot: string, scope?: UlwLoopScope, goalId?: string, dependencies?: CheckpointTemplateDependencies): Promise<CheckpointTemplate>;
@@ -82,8 +82,9 @@ function gateTemplate(surface, base) {
82
82
  };
83
83
  return common;
84
84
  }
85
- export async function checkpointTemplate(repoRoot, scope, goalId) {
85
+ export async function checkpointTemplate(repoRoot, scope, goalId, dependencies) {
86
86
  const plan = await readUlwLoopPlan(repoRoot, scope);
87
+ const surface = dependencies?.surface ?? resolveToolkitSurface();
87
88
  const targetId = goalId ?? plan.activeGoalId;
88
89
  const active = plan.goals.find((goal) => goal.id === targetId);
89
90
  if (goalId !== undefined && active === undefined)
@@ -95,7 +96,7 @@ export async function checkpointTemplate(repoRoot, scope, goalId) {
95
96
  "Fill every <replace:...> value with plausible non-empty evidence and use real, non-empty artifact files.",
96
97
  'Passing codex-goal-json example: {"goal":{"objective":"<plan codexObjective verbatim>","status":"complete"}}.',
97
98
  'Passing quality-gate-json example requires gateReview {"by":"category:deep","recommendation":"APPROVE","evidence":"review passed","reportPath":"<attemptDir>/gate-review.md","blockers":[],"notes":[]}, manualQa.artifactRefs objects, iteration, and criteriaCoverage.',
98
- ...(resolveToolkitSurface() === "lazycodex"
99
+ ...(surface === "lazycodex"
99
100
  ? [
100
101
  "Self-review defaults: manualQa.by and gateReview.by are main-session. Alternatives: manualQa.by accepts lazycodex-qa-executor; gateReview.by accepts lazycodex-gate-reviewer, category:deep, category:unspecified-high, or category:unspecified-low. Optional codeReview.by accepts lazycodex-code-reviewer or main-session.",
101
102
  ]
@@ -103,7 +104,7 @@ export async function checkpointTemplate(repoRoot, scope, goalId) {
103
104
  ...(hasAttempt ? [] : ["This plan is evidence-layout v1; artifacts go under .omo/evidence/."]),
104
105
  ].join(" ");
105
106
  return {
106
- qualityGateTemplate: gateTemplate(resolveToolkitSurface(), attemptDir),
107
+ qualityGateTemplate: gateTemplate(surface, attemptDir),
107
108
  codexGoalTemplate: {
108
109
  goal: { objective: plan.codexObjective ?? "<replace:codex objective>", status: "complete" },
109
110
  },
@@ -1,4 +1,5 @@
1
1
  import type { UlwLoopScope } from "./paths.js";
2
+ import { type UlwLoopToolkitSurface } from "./surface.js";
2
3
  import type { UlwLoopAggregateCompletion, UlwLoopItem, UlwLoopLedgerEntry, UlwLoopPlan } from "./types.js";
3
4
  export interface CheckpointUlwLoopArgs {
4
5
  readonly goalId: string;
@@ -7,6 +8,9 @@ export interface CheckpointUlwLoopArgs {
7
8
  readonly codexGoalJson?: string;
8
9
  readonly qualityGateJson?: string;
9
10
  }
11
+ export interface CheckpointUlwLoopDependencies {
12
+ readonly surface?: UlwLoopToolkitSurface;
13
+ }
10
14
  export interface CheckpointUlwLoopResult {
11
15
  readonly plan: UlwLoopPlan;
12
16
  readonly goal: UlwLoopItem;
@@ -15,4 +19,4 @@ export interface CheckpointUlwLoopResult {
15
19
  readonly nextActions: readonly string[];
16
20
  readonly warnings: readonly string[];
17
21
  }
18
- export declare function checkpointUlwLoop(repoRoot: string, args: CheckpointUlwLoopArgs, scope?: UlwLoopScope): Promise<CheckpointUlwLoopResult>;
22
+ export declare function checkpointUlwLoop(repoRoot: string, args: CheckpointUlwLoopArgs, scope?: UlwLoopScope, dependencies?: CheckpointUlwLoopDependencies): Promise<CheckpointUlwLoopResult>;
@@ -101,7 +101,7 @@ function buildLedger(now, args, goal, qualityGate, codexGoal, aggregateCompletio
101
101
  entry.requiredExternalDecision = goal.requiredExternalDecision;
102
102
  return entry;
103
103
  }
104
- export async function checkpointUlwLoop(repoRoot, args, scope) {
104
+ export async function checkpointUlwLoop(repoRoot, args, scope, dependencies) {
105
105
  return withUlwLoopMutationLock(repoRoot, scope, async () => {
106
106
  const plan = await readUlwLoopPlan(repoRoot, scope);
107
107
  const goal = findGoal(plan, args.goalId);
@@ -155,7 +155,7 @@ export async function checkpointUlwLoop(repoRoot, args, scope) {
155
155
  qualityGate = validateQualityGate(await readJsonInput(args.qualityGateJson, repoRoot), {
156
156
  repoRoot,
157
157
  fs: QUALITY_GATE_FS,
158
- reviewerSurface: resolveToolkitSurface(),
158
+ reviewerSurface: dependencies?.surface ?? resolveToolkitSurface(),
159
159
  ...(plan.evidenceLayoutVersion === 2
160
160
  ? { currentAttemptDir: ulwLoopAttemptEvidenceDir(goal.id, goal.attempt, scope) }
161
161
  : {}),
@@ -1,4 +1,4 @@
1
- import { type UlwLoopScope } from "./paths.js";
1
+ import type { UlwLoopScope } from "./paths.js";
2
2
  export declare function createGoals(repoRoot: string, argv: readonly string[], json: boolean, scope?: UlwLoopScope): Promise<number>;
3
3
  export declare function status(repoRoot: string, json: boolean, scope?: UlwLoopScope): Promise<number>;
4
4
  export declare function completeGoals(repoRoot: string, argv: readonly string[], json: boolean, scope?: UlwLoopScope): Promise<number>;