oh-my-opencode 5.0.0-beta.13 → 5.0.0-beta.14

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 (116) hide show
  1. package/README.ja.md +25 -21
  2. package/README.ko.md +25 -21
  3. package/README.md +26 -22
  4. package/README.ru.md +24 -20
  5. package/README.zh-cn.md +25 -21
  6. package/dist/cli/index.js +12628 -13558
  7. package/dist/cli-node/index.js +12628 -13558
  8. package/dist/features/btw-side/tui-controller-types.d.ts +5 -0
  9. package/dist/features/btw-side/tui-controller.d.ts +8 -3
  10. package/dist/features/btw-side/tui-escape-return.d.ts +12 -0
  11. package/dist/features/btw-side/tui-keymap.d.ts +8 -1
  12. package/dist/features/btw-side/tui-picker-options.d.ts +20 -0
  13. package/dist/features/btw-side/tui-picker.d.ts +9 -0
  14. package/dist/features/btw-side/tui-session-catalog.d.ts +35 -0
  15. package/dist/features/btw-side/tui-side-start.d.ts +1 -1
  16. package/dist/features/opengateway-provider/index.d.ts +13 -0
  17. package/dist/index.js +8462 -6318
  18. package/dist/skills/frontend/SKILL.md +1 -0
  19. package/dist/skills/frontend/references/design/print-paged-media.md +76 -0
  20. package/dist/skills/ulw-research/SKILL.md +1 -1
  21. package/dist/skills/visual-qa/SKILL.md +3 -2
  22. package/dist/tui.js +3993 -5513
  23. package/package.json +22 -22
  24. package/packages/git-bash-mcp/package.json +1 -1
  25. package/packages/lsp-daemon/dist/cli.js +81 -113
  26. package/packages/lsp-daemon/dist/client.js +82 -117
  27. package/packages/lsp-daemon/dist/ensure-daemon.js +1 -0
  28. package/packages/lsp-daemon/dist/index.js +88 -122
  29. package/packages/lsp-daemon/dist/version-reap.js +1 -1
  30. package/packages/lsp-tools-mcp/dist/cli.js +62 -93
  31. package/packages/lsp-tools-mcp/dist/lsp/manager.js +62 -92
  32. package/packages/lsp-tools-mcp/dist/mcp.js +64 -95
  33. package/packages/lsp-tools-mcp/dist/request-context.js +11 -12
  34. package/packages/lsp-tools-mcp/dist/tools.js +73 -104
  35. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  36. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +30 -29
  37. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  38. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +1 -0
  40. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +81 -64
  41. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +81 -65
  42. package/packages/omo-codex/plugin/components/codegraph/package.json +4 -4
  43. package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +1 -0
  44. package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +1 -0
  45. package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +2 -1
  46. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  47. package/packages/omo-codex/plugin/components/comment-checker/package.json +5 -5
  48. package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +1 -0
  49. package/packages/omo-codex/plugin/components/git-bash/AGENTS.md +1 -1
  50. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  51. package/packages/omo-codex/plugin/components/git-bash/package.json +3 -4
  52. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  53. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +5 -5
  54. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  55. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +70 -107
  56. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  57. package/packages/omo-codex/plugin/components/lsp/package.json +5 -5
  58. package/packages/omo-codex/plugin/components/lsp/src/cli.ts +1 -1
  59. package/packages/omo-codex/plugin/components/rules/dist/cli.js +14 -12
  60. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  61. package/packages/omo-codex/plugin/components/rules/package.json +7 -7
  62. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  63. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +5 -5
  64. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  65. package/packages/omo-codex/plugin/components/teammode/package.json +5 -5
  66. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +25 -25
  67. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +31 -31
  68. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  69. package/packages/omo-codex/plugin/components/telemetry/package.json +5 -5
  70. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  71. package/packages/omo-codex/plugin/components/ultrawork/package.json +5 -5
  72. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +1 -3
  73. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +1 -1
  74. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  75. package/packages/omo-codex/plugin/components/ulw-loop/package.json +5 -5
  76. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +1 -1
  77. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +25 -0
  78. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +9 -0
  79. package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +1 -0
  80. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  81. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  82. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  83. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  84. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  85. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  86. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  87. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  88. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  89. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  90. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  91. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  92. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  93. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  94. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  95. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  96. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  97. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  98. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  99. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  100. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  101. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  102. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  103. package/packages/omo-codex/plugin/package-lock.json +661 -375
  104. package/packages/omo-codex/plugin/package.json +1 -1
  105. package/packages/omo-codex/plugin/shared/package.json +2 -3
  106. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -0
  107. package/packages/omo-codex/plugin/skills/frontend/references/design/print-paged-media.md +76 -0
  108. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +1 -1
  109. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +3 -2
  110. package/packages/omo-codex/scripts/install-dist/install-local.mjs +53 -53
  111. package/packages/shared-skills/skills/frontend/SKILL.md +1 -0
  112. package/packages/shared-skills/skills/frontend/references/design/print-paged-media.md +76 -0
  113. package/packages/shared-skills/skills/ulw-research/SKILL.md +1 -1
  114. package/packages/shared-skills/skills/visual-qa/SKILL.md +3 -2
  115. package/script/qa/web-terminal-visual-qa.mjs +2 -0
  116. package/script/qa/xterm-live-terminal.mjs +18 -2
@@ -749,69 +749,69 @@ function config(newConfig) {
749
749
  // ../../../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/util.js
750
750
  var exports_util = {};
751
751
  __export(exports_util, {
752
- unwrapMessage: () => unwrapMessage,
753
- uint8ArrayToHex: () => uint8ArrayToHex,
754
- uint8ArrayToBase64url: () => uint8ArrayToBase64url,
755
- uint8ArrayToBase64: () => uint8ArrayToBase64,
756
- stringifyPrimitive: () => stringifyPrimitive,
757
- slugify: () => slugify,
758
- shallowClone: () => shallowClone,
759
- safeExtend: () => safeExtend,
760
- required: () => required,
761
- randomString: () => randomString,
762
- propertyKeyTypes: () => propertyKeyTypes,
763
- promiseAllObject: () => promiseAllObject,
764
- primitiveTypes: () => primitiveTypes,
765
- prefixIssues: () => prefixIssues,
766
- pick: () => pick,
767
- partial: () => partial,
768
- parsedType: () => parsedType,
769
- optionalKeys: () => optionalKeys,
770
- omit: () => omit,
771
- objectClone: () => objectClone,
772
- numKeys: () => numKeys,
773
- nullish: () => nullish,
774
- normalizeParams: () => normalizeParams,
775
- mergeDefs: () => mergeDefs,
776
- merge: () => merge,
777
- jsonStringifyReplacer: () => jsonStringifyReplacer,
778
- joinValues: () => joinValues,
779
- issue: () => issue,
780
- isPlainObject: () => isPlainObject,
781
- isObject: () => isObject,
782
- hexToUint8Array: () => hexToUint8Array,
783
- getSizableOrigin: () => getSizableOrigin,
784
- getParsedType: () => getParsedType,
785
- getLengthableOrigin: () => getLengthableOrigin,
786
- getEnumValues: () => getEnumValues,
787
- getElementAtPath: () => getElementAtPath,
788
- floatSafeRemainder: () => floatSafeRemainder,
789
- finalizeIssue: () => finalizeIssue,
790
- extend: () => extend,
791
- explicitlyAborted: () => explicitlyAborted,
792
- escapeRegex: () => escapeRegex,
793
- esc: () => esc,
794
- defineLazy: () => defineLazy,
795
- createTransparentProxy: () => createTransparentProxy,
796
- cloneDef: () => cloneDef,
797
- clone: () => clone,
798
- cleanRegex: () => cleanRegex,
799
- cleanEnum: () => cleanEnum,
800
- captureStackTrace: () => captureStackTrace,
801
- cached: () => cached,
802
- base64urlToUint8Array: () => base64urlToUint8Array,
803
- base64ToUint8Array: () => base64ToUint8Array,
804
- assignProp: () => assignProp,
805
- assertNotEqual: () => assertNotEqual,
806
- assertNever: () => assertNever,
807
- assertIs: () => assertIs,
808
- assertEqual: () => assertEqual,
809
- assert: () => assert,
810
- allowsEval: () => allowsEval,
811
- aborted: () => aborted,
812
- NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
752
+ BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES,
813
753
  Class: () => Class,
814
- BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES
754
+ NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
755
+ aborted: () => aborted,
756
+ allowsEval: () => allowsEval,
757
+ assert: () => assert,
758
+ assertEqual: () => assertEqual,
759
+ assertIs: () => assertIs,
760
+ assertNever: () => assertNever,
761
+ assertNotEqual: () => assertNotEqual,
762
+ assignProp: () => assignProp,
763
+ base64ToUint8Array: () => base64ToUint8Array,
764
+ base64urlToUint8Array: () => base64urlToUint8Array,
765
+ cached: () => cached,
766
+ captureStackTrace: () => captureStackTrace,
767
+ cleanEnum: () => cleanEnum,
768
+ cleanRegex: () => cleanRegex,
769
+ clone: () => clone,
770
+ cloneDef: () => cloneDef,
771
+ createTransparentProxy: () => createTransparentProxy,
772
+ defineLazy: () => defineLazy,
773
+ esc: () => esc,
774
+ escapeRegex: () => escapeRegex,
775
+ explicitlyAborted: () => explicitlyAborted,
776
+ extend: () => extend,
777
+ finalizeIssue: () => finalizeIssue,
778
+ floatSafeRemainder: () => floatSafeRemainder,
779
+ getElementAtPath: () => getElementAtPath,
780
+ getEnumValues: () => getEnumValues,
781
+ getLengthableOrigin: () => getLengthableOrigin,
782
+ getParsedType: () => getParsedType,
783
+ getSizableOrigin: () => getSizableOrigin,
784
+ hexToUint8Array: () => hexToUint8Array,
785
+ isObject: () => isObject,
786
+ isPlainObject: () => isPlainObject,
787
+ issue: () => issue,
788
+ joinValues: () => joinValues,
789
+ jsonStringifyReplacer: () => jsonStringifyReplacer,
790
+ merge: () => merge,
791
+ mergeDefs: () => mergeDefs,
792
+ normalizeParams: () => normalizeParams,
793
+ nullish: () => nullish,
794
+ numKeys: () => numKeys,
795
+ objectClone: () => objectClone,
796
+ omit: () => omit,
797
+ optionalKeys: () => optionalKeys,
798
+ parsedType: () => parsedType,
799
+ partial: () => partial,
800
+ pick: () => pick,
801
+ prefixIssues: () => prefixIssues,
802
+ primitiveTypes: () => primitiveTypes,
803
+ promiseAllObject: () => promiseAllObject,
804
+ propertyKeyTypes: () => propertyKeyTypes,
805
+ randomString: () => randomString,
806
+ required: () => required,
807
+ safeExtend: () => safeExtend,
808
+ shallowClone: () => shallowClone,
809
+ slugify: () => slugify,
810
+ stringifyPrimitive: () => stringifyPrimitive,
811
+ uint8ArrayToBase64: () => uint8ArrayToBase64,
812
+ uint8ArrayToBase64url: () => uint8ArrayToBase64url,
813
+ uint8ArrayToHex: () => uint8ArrayToHex,
814
+ unwrapMessage: () => unwrapMessage
815
815
  });
816
816
  function assertEqual(val) {
817
817
  return val;
@@ -5815,6 +5815,17 @@ var OmoCodegraphSettingsSchema = OmoCodegraphSettingsLayerSchema.extend({
5815
5815
  telemetry: boolean2().default(false)
5816
5816
  }).strict();
5817
5817
 
5818
+ // ../../../../omo-config-core/src/schema/git-master.ts
5819
+ var OmoGitMasterSettingsShape = {
5820
+ commit_footer: union([boolean2(), string2()]),
5821
+ include_co_authored_by: boolean2()
5822
+ };
5823
+ var OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
5824
+ var OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
5825
+ commit_footer: union([boolean2(), string2()]).default(true),
5826
+ include_co_authored_by: boolean2().default(true)
5827
+ }).strict();
5828
+
5818
5829
  // ../../../../omo-config-core/src/schema/memory.ts
5819
5830
  var OmoMemoryReflectionTriggerSchema = object({
5820
5831
  step_count: number2().int().nonnegative().default(25),
@@ -6140,6 +6151,7 @@ var OmoTypedHarnessConfigSchema = object({
6140
6151
  categories: OmoCategoriesConfigSchema.optional(),
6141
6152
  agents: OmoAgentsConfigSchema.optional(),
6142
6153
  codegraph: OmoCodegraphSettingsLayerSchema.optional(),
6154
+ git_master: OmoGitMasterSettingsLayerSchema.optional(),
6143
6155
  task: OmoTaskSettingsLayerSchema.optional(),
6144
6156
  teams: OmoTeamsConfigLayerSchema.optional(),
6145
6157
  models: OmoModelCatalogLayerSchema.optional(),
@@ -6150,6 +6162,7 @@ var OmoConfigProfileSchema = object({
6150
6162
  categories: OmoCategoriesConfigSchema.optional(),
6151
6163
  agents: OmoAgentsConfigSchema.optional(),
6152
6164
  codegraph: OmoCodegraphSettingsLayerSchema.optional(),
6165
+ git_master: OmoGitMasterSettingsLayerSchema.optional(),
6153
6166
  task: OmoTaskSettingsLayerSchema.optional(),
6154
6167
  teams: OmoTeamsConfigLayerSchema.optional(),
6155
6168
  models: OmoModelCatalogLayerSchema.optional(),
@@ -6164,6 +6177,7 @@ var OmoConfigSchema = object({
6164
6177
  categories: OmoCategoriesConfigSchema.optional(),
6165
6178
  agents: OmoAgentsConfigSchema.optional(),
6166
6179
  codegraph: OmoCodegraphSettingsSchema.optional(),
6180
+ git_master: OmoGitMasterSettingsSchema.optional(),
6167
6181
  task: OmoTaskSettingsSchema.optional(),
6168
6182
  teams: OmoTeamsConfigSchema.optional(),
6169
6183
  models: OmoModelCatalogSchema.optional(),
@@ -6181,6 +6195,7 @@ var OmoConfigLayerSchema = object({
6181
6195
  categories: OmoCategoriesConfigSchema.optional(),
6182
6196
  agents: OmoAgentsConfigSchema.optional(),
6183
6197
  codegraph: OmoCodegraphSettingsLayerSchema.optional(),
6198
+ git_master: OmoGitMasterSettingsLayerSchema.optional(),
6184
6199
  task: OmoTaskSettingsLayerSchema.optional(),
6185
6200
  teams: OmoTeamsConfigLayerSchema.optional(),
6186
6201
  models: OmoModelCatalogLayerSchema.optional(),
@@ -9407,7 +9422,8 @@ async function runBridgedCodegraphProcess(command, args, options) {
9407
9422
  const child = spawn(invocation.command, invocation.args, {
9408
9423
  cwd: options.cwd,
9409
9424
  env: options.env,
9410
- stdio: ["pipe", "pipe", "inherit"]
9425
+ stdio: ["pipe", "pipe", "inherit"],
9426
+ windowsHide: true
9411
9427
  });
9412
9428
  const childInput = child.stdin;
9413
9429
  const childOutput = child.stdout;
@@ -9849,7 +9865,7 @@ function isDirectInvocation(argvPath) {
9849
9865
  return realpathSync3(resolve5(argvPath)) === realpathSync3(modulePath);
9850
9866
  }
9851
9867
  export {
9852
- runCodegraphServeCli,
9868
+ resolveServeProcessInvocation,
9853
9869
  runCodegraphServe,
9854
- resolveServeProcessInvocation
9870
+ runCodegraphServeCli
9855
9871
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-codegraph",
3
- "version": "5.0.0-beta.13",
3
+ "version": "5.0.0-beta.14",
4
4
  "description": "Codex plugin MCP wrapper for CodeGraph.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -20,9 +20,9 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@oh-my-opencode/utils": "file:../../../../utils",
23
- "@types/node": "^25.9.3",
24
- "bun-types": "^1.3.1",
25
- "typescript": "^6.0.3"
23
+ "@types/node": "^26.2.0",
24
+ "bun-types": "^1.4.0",
25
+ "typescript": "^7.0.2"
26
26
  },
27
27
  "optionalDependencies": {
28
28
  "@colbymchenry/codegraph": "1.5.0"
@@ -48,6 +48,7 @@ export async function runBridgedCodegraphProcess(
48
48
  cwd: options.cwd,
49
49
  env: options.env,
50
50
  stdio: ["pipe", "pipe", "inherit"],
51
+ windowsHide: true,
51
52
  });
52
53
  const childInput = child.stdin;
53
54
  const childOutput = child.stdout;
@@ -7,6 +7,7 @@ export function spawnDetachedSessionStartWorker(invocation: WorkerSpawnInvocatio
7
7
  detached: true,
8
8
  env: invocation.env,
9
9
  stdio: "ignore",
10
+ windowsHide: true,
10
11
  });
11
12
  child.unref();
12
13
  }
@@ -416,7 +416,8 @@ function spawnProcess(command, args, stdin, maxOutputBytes = MAX_PROCESS_OUTPUT_
416
416
  return new Promise((resolve) => {
417
417
  const outputByteLimit = Number.isFinite(maxOutputBytes) && maxOutputBytes > 0 ? Math.floor(maxOutputBytes) : 0;
418
418
  const proc = spawn(command, args, {
419
- stdio: ["pipe", "pipe", "pipe"]
419
+ stdio: ["pipe", "pipe", "pipe"],
420
+ windowsHide: true
420
421
  });
421
422
  const stdout = { text: "", bytes: 0, truncated: false };
422
423
  const stderr = { text: "", bytes: 0, truncated: false };
@@ -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.13) Checking Comments"
11
+ "statusMessage": "(OmO 5.0.0-beta.14) 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.13",
3
+ "version": "5.0.0-beta.14",
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",
@@ -47,10 +47,10 @@
47
47
  },
48
48
  "devDependencies": {
49
49
  "@oh-my-opencode/comment-checker-core": "file:../../../../comment-checker-core",
50
- "@biomejs/biome": "2.4.16",
51
- "@types/node": "^25.9.3",
52
- "typescript": "^6.0.3",
53
- "vitest": "^4.1.8"
50
+ "@biomejs/biome": "2.5.9",
51
+ "@types/node": "^26.2.0",
52
+ "typescript": "^7.0.2",
53
+ "vitest": "^4.1.11"
54
54
  },
55
55
  "engines": {
56
56
  "node": ">=20.0.0"
@@ -167,6 +167,7 @@ export function spawnProcess(
167
167
  const outputByteLimit = Number.isFinite(maxOutputBytes) && maxOutputBytes > 0 ? Math.floor(maxOutputBytes) : 0;
168
168
  const proc = spawn(command, args, {
169
169
  stdio: ["pipe", "pipe", "pipe"],
170
+ windowsHide: true,
170
171
  });
171
172
  const stdout: OutputAccumulator = { text: "", bytes: 0, truncated: false };
172
173
  const stderr: OutputAccumulator = { text: "", bytes: 0, truncated: false };
@@ -27,5 +27,5 @@ Component wrapper (`@sisyphuslabs/codex-git-bash-hook`, private, bin `omo-git-ba
27
27
  - **Windows detection is env-tolerant** (`isWindowsHost`): `platform === "win32"` OR any of `OS=Windows_NT` / `ComSpec` / `SystemRoot` present, so bash-hosted shells on Windows still count.
28
28
  - **Marker path:** `${PLUGIN_DATA:-~/.codex/omo-git-bash}/git-bash-reminder/<session_id>.seen`; session id sanitized to `[A-Za-z0-9._-]`. `PostCompact` removes it with `rmSync(force)`.
29
29
  - **Hook must never block the user's Bash call:** the CLI swallows parse/fs errors and exits 0 on both hook paths; malformed or empty stdin yields empty output.
30
- - **Runtime dep-free Node >=20 ESM.** `@oh-my-opencode/utils` is a devDependency only (`file:` link). Build `tsc -p tsconfig.build.json`; tests run via `bun test test/*.test.ts` (unlike the vitest-based `lsp` component).
30
+ - **Runtime dep-free Node >=20 ESM.** Build `tsc -p tsconfig.build.json`; tests run via `bun test test/*.test.ts` (unlike the vitest-based `lsp` component).
31
31
  - **Windows absolute MCP targets are valid:** `isPluginRuntimePathArg` in `packages/omo-opencode/src/cli/doctor/checks/codex-components.ts` and `script/lazycodex-marketplace-validation.ts` gained `isAbsolute(arg)` so a rewritten `C:\...` git_bash/lsp entrypoint passes validation (commit 3b1681ae8).
@@ -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.13) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.0.0-beta.14) 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.13) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.0.0-beta.14) 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.13",
3
+ "version": "5.0.0-beta.14",
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,
@@ -17,9 +17,8 @@
17
17
  "typecheck": "tsc --noEmit"
18
18
  },
19
19
  "devDependencies": {
20
- "@oh-my-opencode/utils": "file:../../../../utils",
21
- "@types/node": "^25.9.3",
22
- "typescript": "^6.0.3"
20
+ "@types/node": "^26.2.0",
21
+ "typescript": "^7.0.2"
23
22
  },
24
23
  "engines": {
25
24
  "node": ">=20.0.0"
@@ -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.13) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.0.0-beta.14) 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.13",
3
+ "version": "5.0.0-beta.14",
4
4
  "description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -33,10 +33,10 @@
33
33
  "NOTICE"
34
34
  ],
35
35
  "devDependencies": {
36
- "@biomejs/biome": "2.4.16",
37
- "@types/node": "^25.9.3",
38
- "typescript": "^6.0.3",
39
- "vitest": "^4.1.8"
36
+ "@biomejs/biome": "2.5.9",
37
+ "@types/node": "^26.2.0",
38
+ "typescript": "^7.0.2",
39
+ "vitest": "^4.1.11"
40
40
  },
41
41
  "engines": {
42
42
  "node": ">=20.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "5.0.0-beta.13",
4
- "inputDigest": "sha256:66217ff918035848a1f63a558563d53b2f1f25b7f64a4d19f4e571dc2309dbaf",
3
+ "version": "5.0.0-beta.14",
4
+ "inputDigest": "sha256:31c7d2033e42de9c522a602fec8e2d7ba002df12bd482e485dd1a63785e98835",
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": "49e3aaf5a6c6154474618f4845453461f9ce917692c219c8e23323aeb9d3d3ec"
12
+ "sha256": "3f675ea851c53c89962d593cd1c5f91779ef0e6583e56699e00d24c03994dac2"
13
13
  },
14
14
  {
15
15
  "path": "codex-hook-cli.d.ts",