oh-my-opencode 5.0.0-beta.24 → 5.0.0-beta.26

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 (57) hide show
  1. package/dist/cli/index.js +98 -28
  2. package/dist/cli-node/index.js +98 -28
  3. package/dist/features/team-mode/tools/messaging-fallback-wake.d.ts +15 -0
  4. package/dist/index.js +369 -163
  5. package/dist/tui.js +78 -12
  6. package/package.json +15 -15
  7. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  8. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  9. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  10. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  11. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  12. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  13. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  14. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  15. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  16. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  17. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  18. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  19. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  21. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  22. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  23. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  27. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
  29. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  30. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  31. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  32. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  33. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  34. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  35. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  36. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  55. package/packages/omo-codex/plugin/package-lock.json +13 -13
  56. package/packages/omo-codex/plugin/package.json +1 -1
  57. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
package/dist/tui.js CHANGED
@@ -18676,6 +18676,9 @@ var init_message_inspection_error = () => {};
18676
18676
  function getPromptGateMessagesFetchTimeoutMs() {
18677
18677
  return promptGateMessagesFetchTimeoutMsForTesting ?? DEFAULT_PROMPT_GATE_MESSAGES_FETCH_TIMEOUT_MS;
18678
18678
  }
18679
+ function getPromptGateRevalidationTimeoutMs() {
18680
+ return promptGateRevalidationTimeoutMsForTesting ?? DEFAULT_PROMPT_REVALIDATION_TIMEOUT_MS;
18681
+ }
18679
18682
  async function withDispatchTimeout(operation, dispatchTimeoutMs, operationName) {
18680
18683
  if (dispatchTimeoutMs <= 0) {
18681
18684
  return operation;
@@ -18694,7 +18697,7 @@ async function withDispatchTimeout(operation, dispatchTimeoutMs, operationName)
18694
18697
  }
18695
18698
  }
18696
18699
  }
18697
- var DEFAULT_PROMPT_GATE_MESSAGES_FETCH_TIMEOUT_MS = 5000, promptGateMessagesFetchTimeoutMsForTesting;
18700
+ var DEFAULT_PROMPT_GATE_MESSAGES_FETCH_TIMEOUT_MS = 5000, DEFAULT_PROMPT_REVALIDATION_TIMEOUT_MS = 5000, promptGateMessagesFetchTimeoutMsForTesting, promptGateRevalidationTimeoutMsForTesting;
18698
18701
 
18699
18702
  // packages/utils/src/prompt-async-gate/pending-tool-turn.ts
18700
18703
  function getPromptQuery(input) {
@@ -18891,6 +18894,7 @@ async function dispatchAfterSessionIdle(args) {
18891
18894
  checkStatus,
18892
18895
  checkToolState,
18893
18896
  shouldDispatch,
18897
+ retryDispatchFailure,
18894
18898
  dispatch
18895
18899
  } = args;
18896
18900
  const existing = getActiveReservation(sessionID);
@@ -18945,7 +18949,9 @@ async function dispatchAfterSessionIdle(args) {
18945
18949
  });
18946
18950
  return { status: "active" };
18947
18951
  }
18948
- if (shouldDispatch?.() === false) {
18952
+ const dispatchDecision = shouldDispatch?.();
18953
+ const resolvedDispatchDecision = dispatchDecision !== undefined && typeof dispatchDecision !== "boolean" ? await withDispatchTimeout(dispatchDecision, Math.min(dispatchTimeoutMs, getPromptGateRevalidationTimeoutMs()), `[prompt-async-gate] ${sessionName} shouldDispatch`) : dispatchDecision;
18954
+ if (resolvedDispatchDecision === false) {
18949
18955
  log(`[prompt-async-gate] ${sessionName} cancelled before dispatch`, { sessionID, source });
18950
18956
  return { status: "cancelled" };
18951
18957
  }
@@ -18961,6 +18967,7 @@ async function dispatchAfterSessionIdle(args) {
18961
18967
  log(`[prompt-async-gate] ${sessionName} dispatched`, { sessionID, source });
18962
18968
  return { status: "dispatched", response };
18963
18969
  } catch (error51) {
18970
+ const queueRetryable = dispatchAttempted && retryDispatchFailure?.(error51) === true;
18964
18971
  if (dispatchAttempted) {
18965
18972
  rememberRecentPromptDispatch({
18966
18973
  sessionID,
@@ -18971,7 +18978,12 @@ async function dispatchAfterSessionIdle(args) {
18971
18978
  }
18972
18979
  const errorText = error51 instanceof Error ? `${error51.name}: ${error51.message}` : String(error51);
18973
18980
  log(`[prompt-async-gate] ${sessionName} failed`, { sessionID, source, error: errorText });
18974
- return { status: "failed", error: error51, dispatchAttempted };
18981
+ return {
18982
+ status: "failed",
18983
+ error: error51,
18984
+ dispatchAttempted,
18985
+ ...queueRetryable ? { queueRetryable: true } : {}
18986
+ };
18975
18987
  } finally {
18976
18988
  finishPromptReservation(sessionID, reservation, dispatchAttempted, postDispatchHoldMs);
18977
18989
  }
@@ -19024,6 +19036,7 @@ function schedulePromptQueueDrain(sessionID, delayMs) {
19024
19036
  promptQueueTimers.set(sessionID, timer);
19025
19037
  }
19026
19038
  function removePromptQueueEntry(sessionID, entry) {
19039
+ promptQueueRetryStates.delete(entry.id);
19027
19040
  const queue = promptQueues.get(sessionID);
19028
19041
  if (!queue) {
19029
19042
  return;
@@ -19038,6 +19051,7 @@ async function drainPromptQueue(sessionID, awaitedEntry) {
19038
19051
  promptQueueDraining.add(sessionID);
19039
19052
  clearPromptQueueTimer(sessionID);
19040
19053
  let awaitedResult;
19054
+ const deferredRetryIds = new Set;
19041
19055
  try {
19042
19056
  while (true) {
19043
19057
  const queue = promptQueues.get(sessionID);
@@ -19045,6 +19059,20 @@ async function drainPromptQueue(sessionID, awaitedEntry) {
19045
19059
  if (!entry) {
19046
19060
  break;
19047
19061
  }
19062
+ const retryState = promptQueueRetryStates.get(entry.id);
19063
+ if (entry.durableRetry && retryState?.retryAfter !== undefined && retryState.retryAfter > Date.now()) {
19064
+ if (deferredRetryIds.has(entry.id)) {
19065
+ const nextRetryAt = Math.min(...queue.flatMap((queued) => {
19066
+ const retryAfter = promptQueueRetryStates.get(queued.id)?.retryAfter;
19067
+ return retryAfter === undefined ? [] : [retryAfter];
19068
+ }));
19069
+ schedulePromptQueueDrain(sessionID, nextRetryAt - Date.now());
19070
+ break;
19071
+ }
19072
+ deferredRetryIds.add(entry.id);
19073
+ setPromptQueue(sessionID, [...queue.slice(1), entry]);
19074
+ continue;
19075
+ }
19048
19076
  promptQueueInFlight.set(sessionID, entry);
19049
19077
  const result = await dispatchAfterSessionIdle({
19050
19078
  sessionName: entry.sessionName,
@@ -19060,12 +19088,45 @@ async function drainPromptQueue(sessionID, awaitedEntry) {
19060
19088
  checkStatus: entry.checkStatus,
19061
19089
  checkToolState: entry.checkToolState,
19062
19090
  shouldDispatch: entry.shouldDispatch,
19091
+ retryDispatchFailure: entry.retryDispatchFailure,
19063
19092
  dispatch: entry.dispatch
19064
19093
  });
19065
19094
  if (promptQueueInFlight.get(sessionID)?.id === entry.id) {
19066
19095
  promptQueueInFlight.delete(sessionID);
19067
19096
  }
19068
- if (result.status === "active" || result.status === "reserved") {
19097
+ const retryableQueuedFailure = result.status === "failed" && (!result.dispatchAttempted || result.queueRetryable === true);
19098
+ if (retryableQueuedFailure) {
19099
+ const failureCount = (promptQueueRetryStates.get(entry.id)?.failureCount ?? 0) + 1;
19100
+ if (entry.durableRetry) {
19101
+ const exponentialBackoffMs = entry.queueRetryMs * 2 ** Math.min(failureCount, 7);
19102
+ const retryDelayMs = Math.max(entry.postDispatchHoldMs, Math.min(exponentialBackoffMs, MAX_DURABLE_RETRY_BACKOFF_MS));
19103
+ promptQueueRetryStates.set(entry.id, {
19104
+ failureCount,
19105
+ retryAfter: Date.now() + retryDelayMs
19106
+ });
19107
+ const currentQueue = promptQueues.get(sessionID);
19108
+ if (currentQueue && currentQueue.length > 1) {
19109
+ setPromptQueue(sessionID, [...currentQueue.slice(1), entry]);
19110
+ continue;
19111
+ }
19112
+ schedulePromptQueueDrain(sessionID, retryDelayMs);
19113
+ break;
19114
+ }
19115
+ if (failureCount >= MAX_QUEUED_RETRYABLE_FAILURES) {
19116
+ log("[prompt-async-gate] dropping queued prompt after repeated retryable failures", {
19117
+ sessionID,
19118
+ source: entry.source,
19119
+ failureCount
19120
+ });
19121
+ removePromptQueueEntry(sessionID, entry);
19122
+ if (awaitedEntry?.id === entry.id) {
19123
+ awaitedResult = result;
19124
+ }
19125
+ continue;
19126
+ }
19127
+ promptQueueRetryStates.set(entry.id, { failureCount });
19128
+ }
19129
+ if (result.status === "active" || result.status === "reserved" || retryableQueuedFailure) {
19069
19130
  const queued = queuedResult(entry, 1, result.status === "reserved" ? result.reservedBy : entry.source);
19070
19131
  if (awaitedEntry?.id === entry.id) {
19071
19132
  awaitedResult = queued;
@@ -19089,7 +19150,7 @@ async function drainPromptQueue(sessionID, awaitedEntry) {
19089
19150
  }
19090
19151
  return awaitedResult;
19091
19152
  }
19092
- var promptQueues, promptQueueDraining, promptQueueInFlight, promptQueueTimers;
19153
+ var promptQueues, promptQueueDraining, promptQueueInFlight, promptQueueTimers, promptQueueRetryStates, MAX_QUEUED_RETRYABLE_FAILURES = 3, MAX_DURABLE_RETRY_BACKOFF_MS = 30000;
19093
19154
  var init_queue = __esm(() => {
19094
19155
  init_session_idle_dispatch();
19095
19156
  init_reservations();
@@ -19097,6 +19158,7 @@ var init_queue = __esm(() => {
19097
19158
  promptQueueDraining = new Set;
19098
19159
  promptQueueInFlight = new Map;
19099
19160
  promptQueueTimers = new Map;
19161
+ promptQueueRetryStates = new Map;
19100
19162
  setExpiredReservationHandler((sessionID) => {
19101
19163
  schedulePromptQueueDrain(sessionID, 0);
19102
19164
  });
@@ -78095,7 +78157,17 @@ function isPreSendConnectionFailure(error51) {
78095
78157
  if (error51.name === "AbortError") {
78096
78158
  return false;
78097
78159
  }
78098
- const CONNECTION_CODES = new Set(["ECONNREFUSED", "ENOTFOUND", "EAI_AGAIN"]);
78160
+ const CONNECTION_CODES = new Set([
78161
+ "ECONNREFUSED",
78162
+ "ENOTFOUND",
78163
+ "EAI_AGAIN",
78164
+ "ENETUNREACH",
78165
+ "EHOSTUNREACH",
78166
+ "ENETDOWN",
78167
+ "EHOSTDOWN",
78168
+ "EADDRNOTAVAIL",
78169
+ "UND_ERR_CONNECT_TIMEOUT"
78170
+ ]);
78099
78171
  const self = error51;
78100
78172
  if (self.code && CONNECTION_CODES.has(self.code)) {
78101
78173
  return true;
@@ -78107,12 +78179,6 @@ function isPreSendConnectionFailure(error51) {
78107
78179
  return true;
78108
78180
  }
78109
78181
  }
78110
- if (error51 instanceof TypeError) {
78111
- const msg = error51.message;
78112
- if (msg.includes("fetch failed") || msg.includes("Unable to connect")) {
78113
- return true;
78114
- }
78115
- }
78116
78182
  return false;
78117
78183
  }
78118
78184
  function markLiveRouteUnavailable(reason) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "5.0.0-beta.24",
3
+ "version": "5.0.0-beta.26",
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",
@@ -181,7 +181,7 @@
181
181
  "zod": "^4.4.3"
182
182
  },
183
183
  "devDependencies": {
184
- "@code-yeongyu/senpi": "2026.8.28",
184
+ "@code-yeongyu/senpi": "2026.8.28-2",
185
185
  "@oh-my-opencode/agents-md-core": "workspace:*",
186
186
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
187
187
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -222,18 +222,18 @@
222
222
  "typescript": "^7.0.2"
223
223
  },
224
224
  "optionalDependencies": {
225
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.24",
226
- "oh-my-opencode-darwin-x64": "5.0.0-beta.24",
227
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.24",
228
- "oh-my-opencode-linux-arm64": "5.0.0-beta.24",
229
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.24",
230
- "oh-my-opencode-linux-x64": "5.0.0-beta.24",
231
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.24",
232
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.24",
233
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.24",
234
- "oh-my-opencode-windows-arm64": "5.0.0-beta.24",
235
- "oh-my-opencode-windows-x64": "5.0.0-beta.24",
236
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.24"
225
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.26",
226
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.26",
227
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.26",
228
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.26",
229
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.26",
230
+ "oh-my-opencode-linux-x64": "5.0.0-beta.26",
231
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.26",
232
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.26",
233
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.26",
234
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.26",
235
+ "oh-my-opencode-windows-x64": "5.0.0-beta.26",
236
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.26"
237
237
  },
238
238
  "overrides": {
239
239
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -251,6 +251,6 @@
251
251
  "@code-yeongyu/comment-checker"
252
252
  ],
253
253
  "patchedDependencies": {
254
- "@code-yeongyu/senpi@2026.8.28": "patches/@code-yeongyu%2Fsenpi@2026.8.28.patch"
254
+ "@code-yeongyu/senpi@2026.8.28-2": "patches/@code-yeongyu%2Fsenpi@2026.8.28-2.patch"
255
255
  }
256
256
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.0.0-beta.24",
3
+ "version": "5.0.0-beta.26",
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.24) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
4
4
  "description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-codegraph",
3
- "version": "5.0.0-beta.24",
3
+ "version": "5.0.0-beta.26",
4
4
  "description": "Codex plugin MCP wrapper for CodeGraph.",
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.24) Checking Comments"
11
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24",
4
- "inputDigest": "sha256:1d5519c7705a0d587b2cfef5549b468faafcc64a300f9260ce00e27f5f2d5da9",
3
+ "version": "5.0.0-beta.26",
4
+ "inputDigest": "sha256:350b9cbca765e5d88f1849e371a0ead419919da53edd905b6394bbae623924e1",
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.24) Checking LSP Diagnostics"
11
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Resetting LSP Diagnostics Cache"
24
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Loading Project Rules"
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Loading Project Rules"
22
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Matching Project Rules"
35
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Resetting Project Rule Cache"
48
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Checking Thread Title Hygiene"
11
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Recording Session Telemetry"
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Checking Ultrawork Trigger"
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Checking Ulw-Execute Continuation"
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Checking Ulw-Execute Continuation"
22
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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.24) Checking Ulw-Loop Steering"
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Enforcing Unlimited Ulw-Loop Budget"
23
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Guarding Ulw-Loop Spawns"
34
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Checking Ulw-Loop Resume"
46
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24",
3
+ "version": "5.0.0-beta.26",
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",
@@ -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.24) Resetting Git Bash MCP Reminder",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Resetting LSP Diagnostics Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Resetting Project Rule Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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/codegraph/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.24) Checking CodeGraph Init Guidance",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Checking CodeGraph Init Guidance",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\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/comment-checker/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 30,
10
- "statusMessage": "(OmO 5.0.0-beta.24) Checking Comments",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Checking LSP Diagnostics",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) 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.24) Checking Thread Title Hygiene",
11
+ "statusMessage": "(OmO 5.0.0-beta.26) 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
  ]