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

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 (106) hide show
  1. package/README.ja.md +2 -2
  2. package/README.ko.md +4 -4
  3. package/README.md +4 -4
  4. package/README.ru.md +2 -2
  5. package/README.zh-cn.md +2 -2
  6. package/dist/cli/index.js +174 -78
  7. package/dist/cli-node/index.js +174 -78
  8. package/package.json +1 -1
  9. package/packages/lsp-daemon/dist/cli.js +11 -6
  10. package/packages/lsp-daemon/dist/client.js +11 -6
  11. package/packages/lsp-daemon/dist/index.js +11 -6
  12. package/packages/lsp-tools-mcp/dist/cli.js +11 -6
  13. package/packages/lsp-tools-mcp/dist/lsp/manager.js +11 -6
  14. package/packages/lsp-tools-mcp/dist/mcp.js +11 -6
  15. package/packages/lsp-tools-mcp/dist/tools.js +11 -6
  16. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  17. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  18. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  19. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  20. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  22. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  26. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +11 -6
  27. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  28. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  30. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  32. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  36. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  37. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
  38. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  40. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  41. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  63. package/packages/omo-codex/plugin/package-lock.json +12 -12
  64. package/packages/omo-codex/plugin/package.json +1 -1
  65. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +6 -18
  66. package/packages/omo-codex/plugin/skills/ast-grep/SKILL.md +1 -1
  67. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +1 -1
  68. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +1 -1
  69. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
  70. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -1
  71. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
  72. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +1 -1
  73. package/packages/omo-codex/plugin/skills/lsp-setup/SKILL.md +1 -1
  74. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -1
  75. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +1 -1
  76. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -1
  77. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +99 -417
  78. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +1 -1
  79. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +24 -9
  80. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -10
  81. package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +1 -1
  82. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
  83. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +5 -2
  84. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +2 -2
  85. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +1 -1
  86. package/packages/omo-codex/scripts/install-dist/install-local.mjs +3 -2
  87. package/packages/shared-skills/package.json +7 -1
  88. package/packages/shared-skills/skills/ast-grep/SKILL.md +1 -1
  89. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +1 -1
  90. package/packages/shared-skills/skills/data-scientist/SKILL.md +1 -1
  91. package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
  92. package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
  93. package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
  94. package/packages/shared-skills/skills/init-deep/SKILL.md +1 -1
  95. package/packages/shared-skills/skills/lsp-setup/SKILL.md +1 -1
  96. package/packages/shared-skills/skills/programming/SKILL.md +1 -1
  97. package/packages/shared-skills/skills/refactor/SKILL.md +1 -1
  98. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
  99. package/packages/shared-skills/skills/review-work/SKILL.md +99 -417
  100. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +1 -1
  101. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +24 -9
  102. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -10
  103. package/packages/shared-skills/skills/ulw-execute/SKILL.md +1 -1
  104. package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
  105. package/packages/shared-skills/skills/ulw-research/SKILL.md +5 -2
  106. package/packages/shared-skills/skills/visual-qa/SKILL.md +2 -2
@@ -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.43",
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.43) 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.43",
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.43) 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.43",
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.43) 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.43) 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.43",
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.43) 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.43",
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.43",
4
+ "inputDigest": "sha256:faf7a14a997f0b942aca47d7f55cade37a72d162a02b5e3cb53fb3f946e25f0f",
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;
@@ -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.40) Checking LSP Diagnostics"
11
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40) Resetting LSP Diagnostics Cache"
24
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40",
3
+ "version": "5.0.0-beta.43",
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.40) Loading Project Rules"
10
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40) Loading Project Rules"
22
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40) Matching Project Rules"
35
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40) Resetting Project Rule Cache"
48
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40",
3
+ "version": "5.0.0-beta.43",
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.40) Checking Thread Title Hygiene"
11
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40",
3
+ "version": "5.0.0-beta.43",
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.40) Recording Session Telemetry"
10
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40",
3
+ "version": "5.0.0-beta.43",
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.40) Checking Ultrawork Trigger"
10
+ "statusMessage": "(OmO 5.0.0-beta.43) 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.40",
3
+ "version": "5.0.0-beta.43",
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.40) Checking Ulw-Execute Continuation"
10
+ "statusMessage": "(OmO 5.0.0-beta.43) Checking Ulw-Execute Continuation"
11
11
  }
12
12
  ]
13
13
  }
@@ -19,7 +19,7 @@
19
19
  "type": "command",
20
20
  "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook subagent-stop",
21
21
  "timeout": 10,
22
- "statusMessage": "(OmO 5.0.0-beta.40) Checking Ulw-Execute Continuation"
22
+ "statusMessage": "(OmO 5.0.0-beta.43) Checking Ulw-Execute Continuation"
23
23
  }
24
24
  ]
25
25
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ulw-execute-continuation",
3
- "version": "5.0.0-beta.40",
3
+ "version": "5.0.0-beta.43",
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",
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit --with-ultrawork",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.40) Checking Ulw-Loop Steering"
10
+ "statusMessage": "(OmO 5.0.0-beta.43) Checking Ulw-Loop Steering"
11
11
  }
12
12
  ]
13
13
  }
@@ -20,7 +20,7 @@
20
20
  "type": "command",
21
21
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
22
22
  "timeout": 5,
23
- "statusMessage": "(OmO 5.0.0-beta.40) Enforcing Unlimited Ulw-Loop Budget"
23
+ "statusMessage": "(OmO 5.0.0-beta.43) Enforcing Unlimited Ulw-Loop Budget"
24
24
  }
25
25
  ]
26
26
  },
@@ -31,7 +31,7 @@
31
31
  "type": "command",
32
32
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use-spawn",
33
33
  "timeout": 5,
34
- "statusMessage": "(OmO 5.0.0-beta.40) Guarding Ulw-Loop Spawns"
34
+ "statusMessage": "(OmO 5.0.0-beta.43) Guarding Ulw-Loop Spawns"
35
35
  }
36
36
  ]
37
37
  }
@@ -43,7 +43,7 @@
43
43
  "type": "command",
44
44
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook stop",
45
45
  "timeout": 10,
46
- "statusMessage": "(OmO 5.0.0-beta.40) Checking Ulw-Loop Resume"
46
+ "statusMessage": "(OmO 5.0.0-beta.43) Checking Ulw-Loop Resume"
47
47
  }
48
48
  ]
49
49
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ulw-loop",
3
- "version": "5.0.0-beta.40",
3
+ "version": "5.0.0-beta.43",
4
4
  "description": "Codex plugin: durable repo-native multi-goal orchestration with embedded success criteria and observable evidence audit.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ulw-loop
3
- description: Goal-like loop that uses ultrawork mode to decompose work into systematic, evidence-bound steps.
3
+ description: "A goal-like loop that decomposes work into systematic, evidence-bound ultrawork steps. Use when the user wants a goal loop or durable, checkpointed execution."
4
4
  metadata:
5
5
  short-description: Goal-like ultrawork loop for systematic decomposition
6
6
  ---
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook post-compact",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.40) Resetting Git Bash MCP Reminder",
10
+ "statusMessage": "(OmO 5.0.0-beta.43) Resetting Git Bash MCP Reminder",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\git-bash\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-compact",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.40) Resetting LSP Diagnostics Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.43) Resetting LSP Diagnostics Cache",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-compact",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.40) Resetting Project Rule Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.43) Resetting Project Rule Cache",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/comment-checker/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 30,
10
- "statusMessage": "(OmO 5.0.0-beta.40) Checking Comments",
10
+ "statusMessage": "(OmO 5.0.0-beta.43) Checking Comments",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\comment-checker\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 60,
10
- "statusMessage": "(OmO 5.0.0-beta.40) Checking LSP Diagnostics",
10
+ "statusMessage": "(OmO 5.0.0-beta.43) Checking LSP Diagnostics",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/teammode/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 5.0.0-beta.40) Checking Thread Title Hygiene",
11
+ "statusMessage": "(OmO 5.0.0-beta.43) Checking Thread Title Hygiene",
12
12
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\teammode\\dist\\cli.js\" hook post-tool-use"
13
13
  }
14
14
  ]