oh-my-opencode 5.0.0-beta.25 → 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 (143) hide show
  1. package/dist/cli/index.js +266 -153
  2. package/dist/cli-node/index.js +266 -153
  3. package/dist/features/team-mode/tools/messaging-fallback-wake.d.ts +15 -0
  4. package/dist/index.js +1920 -1655
  5. package/dist/skills/debugging/SKILL.md +2 -0
  6. package/dist/skills/debugging/references/methodology/00-setup.md +12 -0
  7. package/dist/skills/debugging/references/methodology/02-investigate.md +21 -0
  8. package/dist/skills/debugging/references/runtimes/go.md +15 -1
  9. package/dist/skills/debugging/references/runtimes/native-binary.md +38 -0
  10. package/dist/skills/debugging/references/runtimes/node.md +25 -0
  11. package/dist/skills/debugging/references/runtimes/python.md +13 -0
  12. package/dist/skills/debugging/references/runtimes/rust.md +41 -0
  13. package/dist/skills/debugging/references/scripts/dap.mjs +267 -0
  14. package/dist/skills/debugging/references/scripts/dap.test.ts +86 -0
  15. package/dist/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  16. package/dist/skills/debugging/references/tools/dap.md +103 -0
  17. package/dist/skills/debugging/references/tools/frida.md +193 -0
  18. package/dist/tools/delegate-task/types.d.ts +3 -0
  19. package/dist/tui.js +103 -12
  20. package/package.json +18 -15
  21. package/packages/lsp-core/src/index.ts +1 -0
  22. package/packages/lsp-core/src/lsp/client-wrapper.ts +25 -5
  23. package/packages/lsp-core/src/lsp/client.ts +26 -0
  24. package/packages/lsp-core/src/lsp/connection.ts +16 -0
  25. package/packages/lsp-core/src/lsp/constants.ts +1 -0
  26. package/packages/lsp-core/src/lsp/format-document.test.ts +143 -0
  27. package/packages/lsp-core/src/lsp/format-document.ts +90 -0
  28. package/packages/lsp-core/src/lsp/manager-max-clients.test.ts +151 -0
  29. package/packages/lsp-core/src/lsp/manager.ts +34 -1
  30. package/packages/lsp-core/src/lsp/server-definitions.ts +29 -0
  31. package/packages/lsp-core/src/lsp/server-installation.test.ts +376 -0
  32. package/packages/lsp-core/src/lsp/server-installation.ts +200 -27
  33. package/packages/lsp-core/src/lsp/server-resolution-local-binary.test.ts +170 -0
  34. package/packages/lsp-core/src/lsp/server-resolution.ts +18 -5
  35. package/packages/lsp-core/src/lsp/transport.ts +9 -0
  36. package/packages/lsp-core/src/lsp/types.ts +8 -0
  37. package/packages/lsp-core/src/tool-surface.test.ts +13 -1
  38. package/packages/lsp-core/src/tools/definitions.ts +14 -0
  39. package/packages/lsp-core/src/tools/format.test.ts +56 -0
  40. package/packages/lsp-core/src/tools/format.ts +56 -0
  41. package/packages/lsp-core/src/tools/index.ts +1 -0
  42. package/packages/lsp-core/src/tools/types.ts +10 -0
  43. package/packages/lsp-daemon/dist/cli.js +432 -144
  44. package/packages/lsp-daemon/dist/client.d.ts +10 -0
  45. package/packages/lsp-daemon/dist/client.js +401 -107
  46. package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
  47. package/packages/lsp-daemon/dist/daemon-client.js +3 -0
  48. package/packages/lsp-daemon/dist/index.js +395 -107
  49. package/packages/lsp-tools-mcp/dist/cli.js +384 -99
  50. package/packages/lsp-tools-mcp/dist/lsp/manager.js +53 -0
  51. package/packages/lsp-tools-mcp/dist/mcp.js +384 -99
  52. package/packages/lsp-tools-mcp/dist/tools.js +385 -99
  53. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  54. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2 -2
  55. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  56. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  57. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +69 -35
  58. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +21 -2
  59. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  60. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  61. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  62. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  63. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  64. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  65. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  66. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  67. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +404 -121
  68. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  69. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  70. package/packages/omo-codex/plugin/components/rules/dist/cli.js +3 -3
  71. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  72. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  73. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +3 -3
  74. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +4 -4
  75. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  76. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  77. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +30 -15
  78. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +30 -15
  79. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  80. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  81. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  82. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  83. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
  84. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  85. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  86. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  87. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  88. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  89. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  90. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  91. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  92. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  93. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  94. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  95. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  96. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  97. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  98. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  99. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  100. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  101. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  102. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  103. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  104. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  105. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
  106. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  107. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  108. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  109. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  110. package/packages/omo-codex/plugin/model-catalog.json +3 -3
  111. package/packages/omo-codex/plugin/package-lock.json +13 -13
  112. package/packages/omo-codex/plugin/package.json +1 -1
  113. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +3 -3
  114. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +2 -0
  115. package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
  116. package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +21 -0
  117. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
  118. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
  119. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
  120. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
  121. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
  122. package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
  123. package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  124. package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
  125. package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
  126. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +1 -1
  127. package/packages/omo-codex/plugin/test/auto-update.test.mjs +2 -2
  128. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +8 -8
  129. package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +2 -2
  130. package/packages/omo-codex/scripts/install-dist/install-local.mjs +38 -23
  131. package/packages/shared-skills/skills/debugging/SKILL.md +2 -0
  132. package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
  133. package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +21 -0
  134. package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
  135. package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
  136. package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
  137. package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
  138. package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
  139. package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
  140. package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
  141. package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  142. package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
  143. package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
@@ -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.25) 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.25) 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.25",
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",
@@ -3882,15 +3882,15 @@ var POST_COMPACT_MIN_RESERVED_TOKENS = 8000;
3882
3882
  var POST_COMPACT_MIN_GUIDE_CHARS = 500;
3883
3883
  var FALLBACK_CONTEXT_WINDOW_TOKENS = 200000;
3884
3884
  var MODEL_CONTEXT_BUDGETS = [
3885
- { slug: "gpt-5.6-sol", contextWindowTokens: 372000, effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT },
3885
+ { slug: "gpt-5.6-sol", contextWindowTokens: 650000, effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT },
3886
3886
  {
3887
3887
  slug: "gpt-5.6-terra",
3888
- contextWindowTokens: 372000,
3888
+ contextWindowTokens: 650000,
3889
3889
  effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT
3890
3890
  },
3891
3891
  {
3892
3892
  slug: "gpt-5.6-luna",
3893
- contextWindowTokens: 372000,
3893
+ contextWindowTokens: 650000,
3894
3894
  effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT
3895
3895
  },
3896
3896
  { slug: "gpt-5.5", contextWindowTokens: 272000, effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT },
@@ -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.25) 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.25) 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.25) 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.25) 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.25",
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",
@@ -21,15 +21,15 @@ const POST_COMPACT_MIN_RESERVED_TOKENS = 8_000;
21
21
  const POST_COMPACT_MIN_GUIDE_CHARS = 500;
22
22
  const FALLBACK_CONTEXT_WINDOW_TOKENS = 200_000;
23
23
  const MODEL_CONTEXT_BUDGETS: readonly ModelContextBudget[] = [
24
- { slug: "gpt-5.6-sol", contextWindowTokens: 372_000, effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT },
24
+ { slug: "gpt-5.6-sol", contextWindowTokens: 650_000, effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT },
25
25
  {
26
26
  slug: "gpt-5.6-terra",
27
- contextWindowTokens: 372_000,
27
+ contextWindowTokens: 650_000,
28
28
  effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT,
29
29
  },
30
30
  {
31
31
  slug: "gpt-5.6-luna",
32
- contextWindowTokens: 372_000,
32
+ contextWindowTokens: 650_000,
33
33
  effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT,
34
34
  },
35
35
  { slug: "gpt-5.5", contextWindowTokens: 272_000, effectivePercent: DEFAULT_EFFECTIVE_CONTEXT_WINDOW_PERCENT },
@@ -75,7 +75,7 @@ describe("post-compact context budget", () => {
75
75
  expect(budget.maxRuleChars).toBeLessThanOrEqual(budget.maxResultChars);
76
76
  });
77
77
 
78
- it("#given gpt-5.6-sol within its 372k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
78
+ it("#given gpt-5.6-sol within its 650k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
79
79
  // given
80
80
  const transcriptPath = writeCompactedTranscript("A".repeat(541_500));
81
81
 
@@ -87,7 +87,7 @@ describe("post-compact context budget", () => {
87
87
  expect(budget.maxResultChars).toBe(CONFIG.postCompactMaxResultChars);
88
88
  });
89
89
 
90
- it("#given gpt-5.6-terra within its 372k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
90
+ it("#given gpt-5.6-terra within its 650k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
91
91
  // given
92
92
  const transcriptPath = writeCompactedTranscript("A".repeat(541_500));
93
93
 
@@ -99,7 +99,7 @@ describe("post-compact context budget", () => {
99
99
  expect(budget.maxResultChars).toBe(CONFIG.postCompactMaxResultChars);
100
100
  });
101
101
 
102
- it("#given gpt-5.6-luna within its 372k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
102
+ it("#given gpt-5.6-luna within its 650k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
103
103
  // given
104
104
  const transcriptPath = writeCompactedTranscript("A".repeat(541_500));
105
105
 
@@ -111,7 +111,7 @@ describe("post-compact context budget", () => {
111
111
  expect(budget.maxResultChars).toBe(CONFIG.postCompactMaxResultChars);
112
112
  });
113
113
 
114
- it("#given provider-prefixed gpt-5.6 variant within its 372k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
114
+ it("#given provider-prefixed gpt-5.6 variant within its 650k window #when resolving post-compact budget #then keeps configured post-compact cap", () => {
115
115
  // given
116
116
  const transcriptPath = writeCompactedTranscript("A".repeat(541_500));
117
117
 
@@ -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.25) 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.25",
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,
@@ -27,9 +27,12 @@ import {
27
27
  fsyncSync,
28
28
  openSync,
29
29
  renameSync,
30
+ rmSync,
30
31
  unlinkSync,
31
32
  writeFileSync
32
33
  } from "node:fs";
34
+ import { randomUUID } from "node:crypto";
35
+ import { dirname } from "node:path";
33
36
  var TOLERATED_FSYNC_CODES = new Set([
34
37
  "EPERM",
35
38
  "EACCES",
@@ -51,24 +54,36 @@ function tolerantFsyncSync(fileDescriptor, fsyncImpl) {
51
54
  }
52
55
  }
53
56
  function writeFileAtomically(filePath, content, options = {}) {
54
- const tempPath = `${filePath}.tmp`;
55
- writeFileSync(tempPath, content, "utf-8");
56
- const tempFileDescriptor = openSync(tempPath, "r+");
57
+ const platform = options.platform ?? process.platform;
58
+ const fsyncImpl = options.fsyncSync ?? fsyncSync;
59
+ const tempPath = `${filePath}.${process.pid}.${randomUUID()}.tmp`;
57
60
  try {
58
- tolerantFsyncSync(tempFileDescriptor, options.fsyncSync ?? fsyncSync);
59
- } finally {
60
- closeSync(tempFileDescriptor);
61
- }
62
- try {
63
- renameSync(tempPath, filePath);
64
- } catch (error) {
65
- const isPermissionError = error instanceof Error && (error.message.includes("EPERM") || error.message.includes("EACCES"));
66
- if ((options.platform ?? process.platform) === "win32" && isPermissionError) {
61
+ writeFileSync(tempPath, content, "utf-8");
62
+ const tempFileDescriptor = openSync(tempPath, "r+");
63
+ try {
64
+ tolerantFsyncSync(tempFileDescriptor, fsyncImpl);
65
+ } finally {
66
+ closeSync(tempFileDescriptor);
67
+ }
68
+ try {
69
+ renameSync(tempPath, filePath);
70
+ } catch (error) {
71
+ const isPermissionError = error instanceof Error && (error.message.includes("EPERM") || error.message.includes("EACCES"));
72
+ if (platform !== "win32" || !isPermissionError)
73
+ throw error;
67
74
  unlinkSync(filePath);
68
75
  renameSync(tempPath, filePath);
76
+ }
77
+ if (platform === "win32")
69
78
  return;
79
+ const directoryFileDescriptor = openSync(dirname(filePath), "r");
80
+ try {
81
+ tolerantFsyncSync(directoryFileDescriptor, fsyncImpl);
82
+ } finally {
83
+ closeSync(directoryFileDescriptor);
70
84
  }
71
- throw error;
85
+ } finally {
86
+ rmSync(tempPath, { force: true });
72
87
  }
73
88
  }
74
89
 
@@ -339,7 +354,7 @@ function getTelemetryHost(env = process.env, defaultHost = DEFAULT_POSTHOG_HOST)
339
354
  }
340
355
 
341
356
  // ../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
342
- import { dirname, posix, sep } from "node:path";
357
+ import { dirname as dirname2, posix, sep } from "node:path";
343
358
  function createModulerModifier() {
344
359
  const getModuleFromFileName = createGetModuleFromFilename();
345
360
  return async (frames) => {
@@ -348,7 +363,7 @@ function createModulerModifier() {
348
363
  return frames;
349
364
  };
350
365
  }
351
- function createGetModuleFromFilename(basePath = process.argv[1] ? dirname(process.argv[1]) : process.cwd(), isWindows = sep === "\\") {
366
+ function createGetModuleFromFilename(basePath = process.argv[1] ? dirname2(process.argv[1]) : process.cwd(), isWindows = sep === "\\") {
352
367
  const normalizedBase = isWindows ? normalizeWindowsPath(basePath) : basePath;
353
368
  return (filename) => {
354
369
  if (!filename)
@@ -23,9 +23,12 @@ import {
23
23
  fsyncSync,
24
24
  openSync,
25
25
  renameSync,
26
+ rmSync,
26
27
  unlinkSync,
27
28
  writeFileSync
28
29
  } from "node:fs";
30
+ import { randomUUID } from "node:crypto";
31
+ import { dirname } from "node:path";
29
32
  var TOLERATED_FSYNC_CODES = new Set([
30
33
  "EPERM",
31
34
  "EACCES",
@@ -47,24 +50,36 @@ function tolerantFsyncSync(fileDescriptor, fsyncImpl) {
47
50
  }
48
51
  }
49
52
  function writeFileAtomically(filePath, content, options = {}) {
50
- const tempPath = `${filePath}.tmp`;
51
- writeFileSync(tempPath, content, "utf-8");
52
- const tempFileDescriptor = openSync(tempPath, "r+");
53
+ const platform = options.platform ?? process.platform;
54
+ const fsyncImpl = options.fsyncSync ?? fsyncSync;
55
+ const tempPath = `${filePath}.${process.pid}.${randomUUID()}.tmp`;
53
56
  try {
54
- tolerantFsyncSync(tempFileDescriptor, options.fsyncSync ?? fsyncSync);
55
- } finally {
56
- closeSync(tempFileDescriptor);
57
- }
58
- try {
59
- renameSync(tempPath, filePath);
60
- } catch (error) {
61
- const isPermissionError = error instanceof Error && (error.message.includes("EPERM") || error.message.includes("EACCES"));
62
- if ((options.platform ?? process.platform) === "win32" && isPermissionError) {
57
+ writeFileSync(tempPath, content, "utf-8");
58
+ const tempFileDescriptor = openSync(tempPath, "r+");
59
+ try {
60
+ tolerantFsyncSync(tempFileDescriptor, fsyncImpl);
61
+ } finally {
62
+ closeSync(tempFileDescriptor);
63
+ }
64
+ try {
65
+ renameSync(tempPath, filePath);
66
+ } catch (error) {
67
+ const isPermissionError = error instanceof Error && (error.message.includes("EPERM") || error.message.includes("EACCES"));
68
+ if (platform !== "win32" || !isPermissionError)
69
+ throw error;
63
70
  unlinkSync(filePath);
64
71
  renameSync(tempPath, filePath);
72
+ }
73
+ if (platform === "win32")
65
74
  return;
75
+ const directoryFileDescriptor = openSync(dirname(filePath), "r");
76
+ try {
77
+ tolerantFsyncSync(directoryFileDescriptor, fsyncImpl);
78
+ } finally {
79
+ closeSync(directoryFileDescriptor);
66
80
  }
67
- throw error;
81
+ } finally {
82
+ rmSync(tempPath, { force: true });
68
83
  }
69
84
  }
70
85
 
@@ -335,7 +350,7 @@ function getTelemetryHost(env = process.env, defaultHost = DEFAULT_POSTHOG_HOST)
335
350
  }
336
351
 
337
352
  // ../../../../../node_modules/.bun/posthog-node@5.51.1/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
338
- import { dirname, posix, sep } from "path";
353
+ import { dirname as dirname2, posix, sep } from "path";
339
354
  function createModulerModifier() {
340
355
  const getModuleFromFileName = createGetModuleFromFilename();
341
356
  return async (frames) => {
@@ -344,7 +359,7 @@ function createModulerModifier() {
344
359
  return frames;
345
360
  };
346
361
  }
347
- function createGetModuleFromFilename(basePath = process.argv[1] ? dirname(process.argv[1]) : process.cwd(), isWindows = sep === "\\") {
362
+ function createGetModuleFromFilename(basePath = process.argv[1] ? dirname2(process.argv[1]) : process.cwd(), isWindows = sep === "\\") {
348
363
  const normalizedBase = isWindows ? normalizeWindowsPath(basePath) : basePath;
349
364
  return (filename) => {
350
365
  if (!filename)
@@ -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.25) 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.25",
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.25) 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.25",
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.25) 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.25) 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.25",
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.25) 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.25) 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.25) 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.25) 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.25",
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.25) 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.25) 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.25) 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.25) 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.25) 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.25) 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.25) 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
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Matching Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Matching Project Rules",
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-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Enforcing Unlimited Goal Budget",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Enforcing Unlimited Goal Budget",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use-spawn",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 5.0.0-beta.25) Guarding Ulw-Loop Spawns",
11
+ "statusMessage": "(OmO 5.0.0-beta.26) Guarding Ulw-Loop Spawns",
12
12
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use-spawn"
13
13
  }
14
14
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook pre-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Recommending Git Bash MCP",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Recommending Git Bash MCP",
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 pre-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/scripts/auto-update.mjs\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Checking Auto Update",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Checking Auto Update",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\scripts\\auto-update.mjs\" hook session-start"
12
12
  }
13
13
  ],
@@ -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.25) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.0.0-beta.26) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/codegraph/dist/cli.js\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Checking CodeGraph Bootstrap",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Checking CodeGraph Bootstrap",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook session-start",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Loading Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Loading Project Rules",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/telemetry/dist/cli.js\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Recording Session Telemetry",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Recording Session Telemetry",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\telemetry\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -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.25) Checking Ulw-Execute Continuation",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Checking Ulw-Execute Continuation",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-execute-continuation\\dist\\cli.js\" hook stop"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook stop",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.25) Checking Ulw-Loop Resume",
10
+ "statusMessage": "(OmO 5.0.0-beta.26) Checking Ulw-Loop Resume",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook stop"
12
12
  }
13
13
  ]