lazycodex-ai 5.0.0-beta.40 → 5.0.0-beta.42

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 (101) hide show
  1. package/dist/cli/index.js +21 -15
  2. package/dist/cli-node/index.js +21 -15
  3. package/package.json +1 -1
  4. package/packages/lsp-daemon/dist/cli.js +11 -6
  5. package/packages/lsp-daemon/dist/client.js +11 -6
  6. package/packages/lsp-daemon/dist/index.js +11 -6
  7. package/packages/lsp-tools-mcp/dist/cli.js +11 -6
  8. package/packages/lsp-tools-mcp/dist/lsp/manager.js +11 -6
  9. package/packages/lsp-tools-mcp/dist/mcp.js +11 -6
  10. package/packages/lsp-tools-mcp/dist/tools.js +11 -6
  11. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  12. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  13. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  15. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  17. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  19. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  21. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +11 -6
  22. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  23. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  25. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  27. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  29. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  30. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  31. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
  33. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  34. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  35. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  36. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  58. package/packages/omo-codex/plugin/package-lock.json +12 -12
  59. package/packages/omo-codex/plugin/package.json +1 -1
  60. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +6 -18
  61. package/packages/omo-codex/plugin/skills/ast-grep/SKILL.md +1 -1
  62. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +1 -1
  63. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +1 -1
  64. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
  65. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -1
  66. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
  67. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +1 -1
  68. package/packages/omo-codex/plugin/skills/lsp-setup/SKILL.md +1 -1
  69. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -1
  70. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +1 -1
  71. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -1
  72. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +99 -417
  73. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +1 -1
  74. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +24 -9
  75. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -10
  76. package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +1 -1
  77. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
  78. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +5 -2
  79. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +2 -2
  80. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +1 -1
  81. package/packages/omo-codex/scripts/install-dist/install-local.mjs +3 -2
  82. package/packages/shared-skills/package.json +7 -1
  83. package/packages/shared-skills/skills/ast-grep/SKILL.md +1 -1
  84. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +1 -1
  85. package/packages/shared-skills/skills/data-scientist/SKILL.md +1 -1
  86. package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
  87. package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
  88. package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
  89. package/packages/shared-skills/skills/init-deep/SKILL.md +1 -1
  90. package/packages/shared-skills/skills/lsp-setup/SKILL.md +1 -1
  91. package/packages/shared-skills/skills/programming/SKILL.md +1 -1
  92. package/packages/shared-skills/skills/refactor/SKILL.md +1 -1
  93. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
  94. package/packages/shared-skills/skills/review-work/SKILL.md +99 -417
  95. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +1 -1
  96. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +24 -9
  97. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -10
  98. package/packages/shared-skills/skills/ulw-execute/SKILL.md +1 -1
  99. package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
  100. package/packages/shared-skills/skills/ulw-research/SKILL.md +5 -2
  101. package/packages/shared-skills/skills/visual-qa/SKILL.md +2 -2
package/dist/cli/index.js CHANGED
@@ -54,7 +54,7 @@ var package_default;
54
54
  var init_package = __esm(() => {
55
55
  package_default = {
56
56
  name: "oh-my-opencode",
57
- version: "5.0.0-beta.40",
57
+ version: "5.0.0-beta.42",
58
58
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
59
59
  main: "./dist/index.js",
60
60
  types: "dist/index.d.ts",
@@ -124,6 +124,8 @@ var init_package = __esm(() => {
124
124
  "packages/git-bash-mcp/dist",
125
125
  "packages/shared-skills/package.json",
126
126
  "packages/shared-skills/index.mjs",
127
+ "packages/shared-skills/skill-source-filter.d.ts",
128
+ "packages/shared-skills/skill-source-filter.mjs",
127
129
  "packages/shared-skills/skills",
128
130
  "packages/omo-codex/THIRD-PARTY-NOTICES.md",
129
131
  "packages/omo-codex/marketplace.json",
@@ -176,6 +178,7 @@ var init_package = __esm(() => {
176
178
  "build:binaries": "bun run script/build-binaries.ts",
177
179
  "build:schema": "bun run script/build-schema.ts",
178
180
  "build:omo-native": "bun run script/build-omo-native.ts",
181
+ omob: "bun run script/build-omob.ts",
179
182
  "build:omo-schema": "bun run script/build-omo-schema.ts",
180
183
  "build:model-capabilities": "bun run script/build-model-capabilities.ts",
181
184
  clean: "rm -rf dist",
@@ -234,7 +237,7 @@ var init_package = __esm(() => {
234
237
  zod: "^4.4.3"
235
238
  },
236
239
  devDependencies: {
237
- "@code-yeongyu/senpi": "2026.9.4",
240
+ "@code-yeongyu/senpi": "2026.9.4-3",
238
241
  "@oh-my-opencode/agents-md-core": "workspace:*",
239
242
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
240
243
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -275,18 +278,18 @@ var init_package = __esm(() => {
275
278
  typescript: "^7.0.2"
276
279
  },
277
280
  optionalDependencies: {
278
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.40",
279
- "oh-my-opencode-darwin-x64": "5.0.0-beta.40",
280
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.40",
281
- "oh-my-opencode-linux-arm64": "5.0.0-beta.40",
282
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.40",
283
- "oh-my-opencode-linux-x64": "5.0.0-beta.40",
284
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.40",
285
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.40",
286
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.40",
287
- "oh-my-opencode-windows-arm64": "5.0.0-beta.40",
288
- "oh-my-opencode-windows-x64": "5.0.0-beta.40",
289
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.40"
281
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.42",
282
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.42",
283
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.42",
284
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.42",
285
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.42",
286
+ "oh-my-opencode-linux-x64": "5.0.0-beta.42",
287
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.42",
288
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.42",
289
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.42",
290
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.42",
291
+ "oh-my-opencode-windows-x64": "5.0.0-beta.42",
292
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.42"
290
293
  },
291
294
  overrides: {
292
295
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -94349,7 +94352,7 @@ var package_default2;
94349
94352
  var init_package2 = __esm(() => {
94350
94353
  package_default2 = {
94351
94354
  name: "@oh-my-opencode/omo-codex",
94352
- version: "5.0.0-beta.40",
94355
+ version: "5.0.0-beta.42",
94353
94356
  type: "module",
94354
94357
  private: true,
94355
94358
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -94380,6 +94383,7 @@ var init_package2 = __esm(() => {
94380
94383
  "sync:skills": "node plugin/scripts/sync-skills.mjs"
94381
94384
  },
94382
94385
  dependencies: {
94386
+ "@oh-my-opencode/shared-skills": "workspace:*",
94383
94387
  "@oh-my-opencode/utils": "workspace:*"
94384
94388
  },
94385
94389
  devDependencies: {
@@ -103533,6 +103537,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
103533
103537
  join61("skills", "ulw-plan", "SKILL.md"),
103534
103538
  join61("skills", "ulw-research", "SKILL.md"),
103535
103539
  join61("skills", "visual-qa", "SKILL.md"),
103540
+ join61("skills-conditional", "x-search", "SKILL.md"),
103536
103541
  join61("runtime", "ast-grep-mcp", "cli.js"),
103537
103542
  join61("runtime", "agent-toolkit", "cli.js"),
103538
103543
  join61("runtime", "agent-toolkit", "ulw-loop", "cli.js"),
@@ -103556,6 +103561,7 @@ async function ensurePluginArtifacts(context) {
103556
103561
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-lsp-daemon-runtime.mjs")], { cwd: context.repoRoot });
103557
103562
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-ast-grep-mcp-runtime.mjs")], { cwd: context.repoRoot });
103558
103563
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-agent-toolkit.mjs")], { cwd: context.repoRoot });
103564
+ await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-x-search-skill.mjs")], { cwd: context.repoRoot });
103559
103565
  }
103560
103566
  if (await hasMissingPluginArtifact(context.pluginPath)) {
103561
103567
  throw new Error(`Packed omo-senpi plugin is missing required runtime artifacts at ${context.pluginPath}`);
@@ -55,7 +55,7 @@ var package_default;
55
55
  var init_package = __esm(() => {
56
56
  package_default = {
57
57
  name: "oh-my-opencode",
58
- version: "5.0.0-beta.40",
58
+ version: "5.0.0-beta.42",
59
59
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
60
60
  main: "./dist/index.js",
61
61
  types: "dist/index.d.ts",
@@ -125,6 +125,8 @@ var init_package = __esm(() => {
125
125
  "packages/git-bash-mcp/dist",
126
126
  "packages/shared-skills/package.json",
127
127
  "packages/shared-skills/index.mjs",
128
+ "packages/shared-skills/skill-source-filter.d.ts",
129
+ "packages/shared-skills/skill-source-filter.mjs",
128
130
  "packages/shared-skills/skills",
129
131
  "packages/omo-codex/THIRD-PARTY-NOTICES.md",
130
132
  "packages/omo-codex/marketplace.json",
@@ -177,6 +179,7 @@ var init_package = __esm(() => {
177
179
  "build:binaries": "bun run script/build-binaries.ts",
178
180
  "build:schema": "bun run script/build-schema.ts",
179
181
  "build:omo-native": "bun run script/build-omo-native.ts",
182
+ omob: "bun run script/build-omob.ts",
180
183
  "build:omo-schema": "bun run script/build-omo-schema.ts",
181
184
  "build:model-capabilities": "bun run script/build-model-capabilities.ts",
182
185
  clean: "rm -rf dist",
@@ -235,7 +238,7 @@ var init_package = __esm(() => {
235
238
  zod: "^4.4.3"
236
239
  },
237
240
  devDependencies: {
238
- "@code-yeongyu/senpi": "2026.9.4",
241
+ "@code-yeongyu/senpi": "2026.9.4-3",
239
242
  "@oh-my-opencode/agents-md-core": "workspace:*",
240
243
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
241
244
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -276,18 +279,18 @@ var init_package = __esm(() => {
276
279
  typescript: "^7.0.2"
277
280
  },
278
281
  optionalDependencies: {
279
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.40",
280
- "oh-my-opencode-darwin-x64": "5.0.0-beta.40",
281
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.40",
282
- "oh-my-opencode-linux-arm64": "5.0.0-beta.40",
283
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.40",
284
- "oh-my-opencode-linux-x64": "5.0.0-beta.40",
285
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.40",
286
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.40",
287
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.40",
288
- "oh-my-opencode-windows-arm64": "5.0.0-beta.40",
289
- "oh-my-opencode-windows-x64": "5.0.0-beta.40",
290
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.40"
282
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.42",
283
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.42",
284
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.42",
285
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.42",
286
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.42",
287
+ "oh-my-opencode-linux-x64": "5.0.0-beta.42",
288
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.42",
289
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.42",
290
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.42",
291
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.42",
292
+ "oh-my-opencode-windows-x64": "5.0.0-beta.42",
293
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.42"
291
294
  },
292
295
  overrides: {
293
296
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -94428,7 +94431,7 @@ var package_default2;
94428
94431
  var init_package2 = __esm(() => {
94429
94432
  package_default2 = {
94430
94433
  name: "@oh-my-opencode/omo-codex",
94431
- version: "5.0.0-beta.40",
94434
+ version: "5.0.0-beta.42",
94432
94435
  type: "module",
94433
94436
  private: true,
94434
94437
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -94459,6 +94462,7 @@ var init_package2 = __esm(() => {
94459
94462
  "sync:skills": "node plugin/scripts/sync-skills.mjs"
94460
94463
  },
94461
94464
  dependencies: {
94465
+ "@oh-my-opencode/shared-skills": "workspace:*",
94462
94466
  "@oh-my-opencode/utils": "workspace:*"
94463
94467
  },
94464
94468
  devDependencies: {
@@ -103612,6 +103616,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
103612
103616
  join61("skills", "ulw-plan", "SKILL.md"),
103613
103617
  join61("skills", "ulw-research", "SKILL.md"),
103614
103618
  join61("skills", "visual-qa", "SKILL.md"),
103619
+ join61("skills-conditional", "x-search", "SKILL.md"),
103615
103620
  join61("runtime", "ast-grep-mcp", "cli.js"),
103616
103621
  join61("runtime", "agent-toolkit", "cli.js"),
103617
103622
  join61("runtime", "agent-toolkit", "ulw-loop", "cli.js"),
@@ -103635,6 +103640,7 @@ async function ensurePluginArtifacts(context) {
103635
103640
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-lsp-daemon-runtime.mjs")], { cwd: context.repoRoot });
103636
103641
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-ast-grep-mcp-runtime.mjs")], { cwd: context.repoRoot });
103637
103642
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-agent-toolkit.mjs")], { cwd: context.repoRoot });
103643
+ await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-x-search-skill.mjs")], { cwd: context.repoRoot });
103638
103644
  }
103639
103645
  if (await hasMissingPluginArtifact(context.pluginPath)) {
103640
103646
  throw new Error(`Packed omo-senpi plugin is missing required runtime artifacts at ${context.pluginPath}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazycodex-ai",
3
- "version": "5.0.0-beta.40",
3
+ "version": "5.0.0-beta.42",
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",
@@ -686,6 +686,7 @@ class JsonRpcConnection {
686
686
  let cancelAfterWrite = false;
687
687
  let settled = false;
688
688
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
689
+ let rejectAfterCancelWrite;
689
690
  const responsePromise = new Promise((resolve2, reject) => {
690
691
  const cleanup = () => {
691
692
  options.signal?.removeEventListener("abort", onAbort);
@@ -697,15 +698,19 @@ class JsonRpcConnection {
697
698
  this.pendingRequests.delete(key);
698
699
  cleanup();
699
700
  const rejectCancelled = () => reject(abortError(options.signal));
701
+ rejectAfterCancelWrite = async () => {
702
+ try {
703
+ await writeCancel();
704
+ } catch (error) {
705
+ this.emitError(toError(error));
706
+ }
707
+ rejectCancelled();
708
+ };
700
709
  if (!requestWritten) {
701
710
  cancelAfterWrite = true;
702
- rejectCancelled();
703
711
  return;
704
712
  }
705
- writeCancel().then(rejectCancelled, (error) => {
706
- this.emitError(toError(error));
707
- rejectCancelled();
708
- });
713
+ rejectAfterCancelWrite();
709
714
  };
710
715
  const onAbort = () => settleCancel();
711
716
  this.pendingRequests.set(key, {
@@ -733,7 +738,7 @@ class JsonRpcConnection {
733
738
  await this.writeMessage(message);
734
739
  requestWritten = true;
735
740
  if (cancelAfterWrite)
736
- await writeCancel();
741
+ await rejectAfterCancelWrite?.();
737
742
  } catch (error) {
738
743
  if (settled)
739
744
  return responsePromise;
@@ -1341,6 +1341,7 @@ class JsonRpcConnection {
1341
1341
  let cancelAfterWrite = false;
1342
1342
  let settled = false;
1343
1343
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
1344
+ let rejectAfterCancelWrite;
1344
1345
  const responsePromise = new Promise((resolve2, reject) => {
1345
1346
  const cleanup = () => {
1346
1347
  options.signal?.removeEventListener("abort", onAbort);
@@ -1352,15 +1353,19 @@ class JsonRpcConnection {
1352
1353
  this.pendingRequests.delete(key);
1353
1354
  cleanup();
1354
1355
  const rejectCancelled = () => reject(abortError2(options.signal));
1356
+ rejectAfterCancelWrite = async () => {
1357
+ try {
1358
+ await writeCancel();
1359
+ } catch (error) {
1360
+ this.emitError(toError(error));
1361
+ }
1362
+ rejectCancelled();
1363
+ };
1355
1364
  if (!requestWritten) {
1356
1365
  cancelAfterWrite = true;
1357
- rejectCancelled();
1358
1366
  return;
1359
1367
  }
1360
- writeCancel().then(rejectCancelled, (error) => {
1361
- this.emitError(toError(error));
1362
- rejectCancelled();
1363
- });
1368
+ rejectAfterCancelWrite();
1364
1369
  };
1365
1370
  const onAbort = () => settleCancel();
1366
1371
  this.pendingRequests.set(key, {
@@ -1388,7 +1393,7 @@ class JsonRpcConnection {
1388
1393
  await this.writeMessage(message);
1389
1394
  requestWritten = true;
1390
1395
  if (cancelAfterWrite)
1391
- await writeCancel();
1396
+ await rejectAfterCancelWrite?.();
1392
1397
  } catch (error) {
1393
1398
  if (settled)
1394
1399
  return responsePromise;
@@ -183,6 +183,7 @@ class JsonRpcConnection {
183
183
  let cancelAfterWrite = false;
184
184
  let settled = false;
185
185
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
186
+ let rejectAfterCancelWrite;
186
187
  const responsePromise = new Promise((resolve, reject) => {
187
188
  const cleanup = () => {
188
189
  options.signal?.removeEventListener("abort", onAbort);
@@ -194,15 +195,19 @@ class JsonRpcConnection {
194
195
  this.pendingRequests.delete(key);
195
196
  cleanup();
196
197
  const rejectCancelled = () => reject(abortError(options.signal));
198
+ rejectAfterCancelWrite = async () => {
199
+ try {
200
+ await writeCancel();
201
+ } catch (error) {
202
+ this.emitError(toError(error));
203
+ }
204
+ rejectCancelled();
205
+ };
197
206
  if (!requestWritten) {
198
207
  cancelAfterWrite = true;
199
- rejectCancelled();
200
208
  return;
201
209
  }
202
- writeCancel().then(rejectCancelled, (error) => {
203
- this.emitError(toError(error));
204
- rejectCancelled();
205
- });
210
+ rejectAfterCancelWrite();
206
211
  };
207
212
  const onAbort = () => settleCancel();
208
213
  this.pendingRequests.set(key, {
@@ -230,7 +235,7 @@ class JsonRpcConnection {
230
235
  await this.writeMessage(message);
231
236
  requestWritten = true;
232
237
  if (cancelAfterWrite)
233
- await writeCancel();
238
+ await rejectAfterCancelWrite?.();
234
239
  } catch (error) {
235
240
  if (settled)
236
241
  return responsePromise;
@@ -185,6 +185,7 @@ class JsonRpcConnection {
185
185
  let cancelAfterWrite = false;
186
186
  let settled = false;
187
187
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
188
+ let rejectAfterCancelWrite;
188
189
  const responsePromise = new Promise((resolve, reject) => {
189
190
  const cleanup = () => {
190
191
  options.signal?.removeEventListener("abort", onAbort);
@@ -196,15 +197,19 @@ class JsonRpcConnection {
196
197
  this.pendingRequests.delete(key);
197
198
  cleanup();
198
199
  const rejectCancelled = () => reject(abortError(options.signal));
200
+ rejectAfterCancelWrite = async () => {
201
+ try {
202
+ await writeCancel();
203
+ } catch (error) {
204
+ this.emitError(toError(error));
205
+ }
206
+ rejectCancelled();
207
+ };
199
208
  if (!requestWritten) {
200
209
  cancelAfterWrite = true;
201
- rejectCancelled();
202
210
  return;
203
211
  }
204
- writeCancel().then(rejectCancelled, (error) => {
205
- this.emitError(toError(error));
206
- rejectCancelled();
207
- });
212
+ rejectAfterCancelWrite();
208
213
  };
209
214
  const onAbort = () => settleCancel();
210
215
  this.pendingRequests.set(key, {
@@ -232,7 +237,7 @@ class JsonRpcConnection {
232
237
  await this.writeMessage(message);
233
238
  requestWritten = true;
234
239
  if (cancelAfterWrite)
235
- await writeCancel();
240
+ await rejectAfterCancelWrite?.();
236
241
  } catch (error) {
237
242
  if (settled)
238
243
  return responsePromise;
@@ -183,6 +183,7 @@ class JsonRpcConnection {
183
183
  let cancelAfterWrite = false;
184
184
  let settled = false;
185
185
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
186
+ let rejectAfterCancelWrite;
186
187
  const responsePromise = new Promise((resolve, reject) => {
187
188
  const cleanup = () => {
188
189
  options.signal?.removeEventListener("abort", onAbort);
@@ -194,15 +195,19 @@ class JsonRpcConnection {
194
195
  this.pendingRequests.delete(key);
195
196
  cleanup();
196
197
  const rejectCancelled = () => reject(abortError(options.signal));
198
+ rejectAfterCancelWrite = async () => {
199
+ try {
200
+ await writeCancel();
201
+ } catch (error) {
202
+ this.emitError(toError(error));
203
+ }
204
+ rejectCancelled();
205
+ };
197
206
  if (!requestWritten) {
198
207
  cancelAfterWrite = true;
199
- rejectCancelled();
200
208
  return;
201
209
  }
202
- writeCancel().then(rejectCancelled, (error) => {
203
- this.emitError(toError(error));
204
- rejectCancelled();
205
- });
210
+ rejectAfterCancelWrite();
206
211
  };
207
212
  const onAbort = () => settleCancel();
208
213
  this.pendingRequests.set(key, {
@@ -230,7 +235,7 @@ class JsonRpcConnection {
230
235
  await this.writeMessage(message);
231
236
  requestWritten = true;
232
237
  if (cancelAfterWrite)
233
- await writeCancel();
238
+ await rejectAfterCancelWrite?.();
234
239
  } catch (error) {
235
240
  if (settled)
236
241
  return responsePromise;
@@ -687,6 +687,7 @@ class JsonRpcConnection {
687
687
  let cancelAfterWrite = false;
688
688
  let settled = false;
689
689
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
690
+ let rejectAfterCancelWrite;
690
691
  const responsePromise = new Promise((resolve2, reject) => {
691
692
  const cleanup = () => {
692
693
  options.signal?.removeEventListener("abort", onAbort);
@@ -698,15 +699,19 @@ class JsonRpcConnection {
698
699
  this.pendingRequests.delete(key);
699
700
  cleanup();
700
701
  const rejectCancelled = () => reject(abortError(options.signal));
702
+ rejectAfterCancelWrite = async () => {
703
+ try {
704
+ await writeCancel();
705
+ } catch (error) {
706
+ this.emitError(toError(error));
707
+ }
708
+ rejectCancelled();
709
+ };
701
710
  if (!requestWritten) {
702
711
  cancelAfterWrite = true;
703
- rejectCancelled();
704
712
  return;
705
713
  }
706
- writeCancel().then(rejectCancelled, (error) => {
707
- this.emitError(toError(error));
708
- rejectCancelled();
709
- });
714
+ rejectAfterCancelWrite();
710
715
  };
711
716
  const onAbort = () => settleCancel();
712
717
  this.pendingRequests.set(key, {
@@ -734,7 +739,7 @@ class JsonRpcConnection {
734
739
  await this.writeMessage(message);
735
740
  requestWritten = true;
736
741
  if (cancelAfterWrite)
737
- await writeCancel();
742
+ await rejectAfterCancelWrite?.();
738
743
  } catch (error) {
739
744
  if (settled)
740
745
  return responsePromise;
@@ -375,6 +375,7 @@ class JsonRpcConnection {
375
375
  let cancelAfterWrite = false;
376
376
  let settled = false;
377
377
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
378
+ let rejectAfterCancelWrite;
378
379
  const responsePromise = new Promise((resolve2, reject) => {
379
380
  const cleanup = () => {
380
381
  options.signal?.removeEventListener("abort", onAbort);
@@ -386,15 +387,19 @@ class JsonRpcConnection {
386
387
  this.pendingRequests.delete(key);
387
388
  cleanup();
388
389
  const rejectCancelled = () => reject(abortError(options.signal));
390
+ rejectAfterCancelWrite = async () => {
391
+ try {
392
+ await writeCancel();
393
+ } catch (error) {
394
+ this.emitError(toError(error));
395
+ }
396
+ rejectCancelled();
397
+ };
389
398
  if (!requestWritten) {
390
399
  cancelAfterWrite = true;
391
- rejectCancelled();
392
400
  return;
393
401
  }
394
- writeCancel().then(rejectCancelled, (error) => {
395
- this.emitError(toError(error));
396
- rejectCancelled();
397
- });
402
+ rejectAfterCancelWrite();
398
403
  };
399
404
  const onAbort = () => settleCancel();
400
405
  this.pendingRequests.set(key, {
@@ -422,7 +427,7 @@ class JsonRpcConnection {
422
427
  await this.writeMessage(message);
423
428
  requestWritten = true;
424
429
  if (cancelAfterWrite)
425
- await writeCancel();
430
+ await rejectAfterCancelWrite?.();
426
431
  } catch (error) {
427
432
  if (settled)
428
433
  return responsePromise;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.0.0-beta.40",
3
+ "version": "5.0.0-beta.42",
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.40) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.0.0-beta.42) 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.40",
3
+ "version": "5.0.0-beta.42",
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.40) Checking Comments"
11
+ "statusMessage": "(OmO 5.0.0-beta.42) 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.40",
3
+ "version": "5.0.0-beta.42",
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.40) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.0.0-beta.42) 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.40) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.0.0-beta.42) 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.40",
3
+ "version": "5.0.0-beta.42",
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.40) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.0.0-beta.42) 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.40",
3
+ "version": "5.0.0-beta.42",
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.40",
4
- "inputDigest": "sha256:f5ac752ed14d163713d17be93ce49192eae480e7d323a20ea21d216b5b286b6b",
3
+ "version": "5.0.0-beta.42",
4
+ "inputDigest": "sha256:8ce37a3cb962dce9c150d14a35e8cd2861cdfc6bffd3bf6ad766c669f629c513",
5
5
  "outputs": [
6
6
  {
7
7
  "path": "cli.d.ts",
@@ -9,7 +9,7 @@
9
9
  },
10
10
  {
11
11
  "path": "cli.js",
12
- "sha256": "89f0a2360dc1977cc00f2cdb661ff6929a7b90131728488502834a372840db3c"
12
+ "sha256": "87e305eb201e11600c35d89f332ac4892d2c927ab850ab8b69c5c84255f7ef78"
13
13
  },
14
14
  {
15
15
  "path": "codex-hook-cli.d.ts",
@@ -852,6 +852,7 @@ class JsonRpcConnection {
852
852
  let cancelAfterWrite = false;
853
853
  let settled = false;
854
854
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
855
+ let rejectAfterCancelWrite;
855
856
  const responsePromise = new Promise((resolve22, reject) => {
856
857
  const cleanup = () => {
857
858
  options.signal?.removeEventListener("abort", onAbort);
@@ -863,15 +864,19 @@ class JsonRpcConnection {
863
864
  this.pendingRequests.delete(key);
864
865
  cleanup();
865
866
  const rejectCancelled = () => reject(abortError2(options.signal));
867
+ rejectAfterCancelWrite = async () => {
868
+ try {
869
+ await writeCancel();
870
+ } catch (error) {
871
+ this.emitError(toError(error));
872
+ }
873
+ rejectCancelled();
874
+ };
866
875
  if (!requestWritten) {
867
876
  cancelAfterWrite = true;
868
- rejectCancelled();
869
877
  return;
870
878
  }
871
- writeCancel().then(rejectCancelled, (error) => {
872
- this.emitError(toError(error));
873
- rejectCancelled();
874
- });
879
+ rejectAfterCancelWrite();
875
880
  };
876
881
  const onAbort = () => settleCancel();
877
882
  this.pendingRequests.set(key, {
@@ -899,7 +904,7 @@ class JsonRpcConnection {
899
904
  await this.writeMessage(message);
900
905
  requestWritten = true;
901
906
  if (cancelAfterWrite)
902
- await writeCancel();
907
+ await rejectAfterCancelWrite?.();
903
908
  } catch (error) {
904
909
  if (settled)
905
910
  return responsePromise;