oh-my-opencode 5.1.38 → 5.1.41

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 (149) hide show
  1. package/dist/cli/index.js +229 -187
  2. package/dist/cli-node/index.js +229 -187
  3. package/dist/index.js +1559 -1528
  4. package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
  5. package/dist/skills/frontend/SKILL.md +6 -6
  6. package/dist/skills/frontend/references/design/README.md +2 -2
  7. package/dist/skills/frontend/references/perfection/README.md +2 -2
  8. package/dist/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +22 -13
  9. package/dist/skills/frontend/scripts/perfection/accent-stripes/findings.ts +7 -6
  10. package/dist/skills/frontend/scripts/perfection/accent-stripes/lint.ts +18 -24
  11. package/dist/skills/frontend/scripts/perfection/accent-stripes/markup.ts +14 -7
  12. package/dist/skills/frontend/scripts/perfection/accent-stripes/selector.ts +5 -1
  13. package/dist/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +32 -14
  14. package/dist/skills/frontend/scripts/perfection/check-accent-stripes.test.ts +15 -6
  15. package/dist/skills/frontend/scripts/perfection/check-accent-stripes.ts +1 -1
  16. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +1 -0
  17. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +1 -1
  18. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +5 -2
  19. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +2 -2
  20. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.css +4 -0
  21. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.tsx +8 -0
  22. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/{negative → positive}/flat-stripe-side.tsx +3 -1
  23. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/report-callouts.html +8 -0
  24. package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/square-surfaces.css +8 -0
  25. package/dist/skills/git-master/SKILL.md +1 -1
  26. package/dist/skills/ulw-plan/SKILL.md +1 -1
  27. package/dist/skills/ulw-plan/references/full-workflow.md +5 -4
  28. package/dist/skills/ulw-research/SKILL.md +10 -2
  29. package/dist/skills/ulw-research/references/deliverable-phase.md +10 -0
  30. package/dist/skills/ulw-research/references/report-visualization.md +23 -0
  31. package/dist/tui.js +51 -22
  32. package/package.json +15 -14
  33. package/packages/lsp-core/src/lsp/fixtures/disposed-stdin-epipe-probe.ts +28 -0
  34. package/packages/lsp-core/src/lsp/process-pipe-errors.test.ts +21 -0
  35. package/packages/lsp-core/src/lsp/process.ts +16 -0
  36. package/packages/lsp-daemon/dist/cli.js +10 -0
  37. package/packages/lsp-daemon/dist/client.js +10 -0
  38. package/packages/lsp-daemon/dist/index.js +10 -0
  39. package/packages/lsp-tools-mcp/dist/cli.js +10 -0
  40. package/packages/lsp-tools-mcp/dist/lsp/manager.js +10 -0
  41. package/packages/lsp-tools-mcp/dist/mcp.js +10 -0
  42. package/packages/lsp-tools-mcp/dist/tools.js +10 -0
  43. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  44. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +24 -2
  45. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  46. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  47. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  48. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  49. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  50. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  51. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  52. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  53. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  54. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +10 -0
  55. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  56. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  57. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  58. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  59. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  60. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  61. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +157 -151
  62. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +157 -151
  63. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  64. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  65. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  66. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  67. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +1 -1
  68. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +5 -4
  69. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  70. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  71. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  72. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  74. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  75. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  76. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  77. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  78. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  79. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  80. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  81. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  82. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  83. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  84. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  85. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  86. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  87. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  88. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  89. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  90. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  91. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  92. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  93. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  94. package/packages/omo-codex/plugin/package-lock.json +12 -12
  95. package/packages/omo-codex/plugin/package.json +1 -1
  96. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  97. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +6 -6
  98. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +2 -2
  99. package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +2 -2
  100. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +22 -13
  101. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/findings.ts +7 -6
  102. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/lint.ts +18 -24
  103. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/markup.ts +14 -7
  104. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/selector.ts +5 -1
  105. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +32 -14
  106. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-accent-stripes.ts +1 -1
  107. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +1 -0
  108. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +1 -1
  109. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +5 -2
  110. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +2 -2
  111. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.css +4 -0
  112. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.tsx +8 -0
  113. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/{negative → positive}/flat-stripe-side.tsx +3 -1
  114. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/report-callouts.html +8 -0
  115. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/square-surfaces.css +8 -0
  116. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
  117. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +1 -1
  118. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +5 -4
  119. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +10 -2
  120. package/packages/omo-codex/plugin/skills/ulw-research/references/deliverable-phase.md +10 -0
  121. package/packages/omo-codex/plugin/skills/ulw-research/references/report-visualization.md +23 -0
  122. package/packages/omo-codex/scripts/install-dist/install-local.mjs +195 -168
  123. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  124. package/packages/shared-skills/skills/frontend/SKILL.md +6 -6
  125. package/packages/shared-skills/skills/frontend/references/design/README.md +2 -2
  126. package/packages/shared-skills/skills/frontend/references/perfection/README.md +2 -2
  127. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +22 -13
  128. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/findings.ts +7 -6
  129. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/lint.ts +18 -24
  130. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/markup.ts +14 -7
  131. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/selector.ts +5 -1
  132. package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +32 -14
  133. package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.test.ts +15 -6
  134. package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.ts +1 -1
  135. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +1 -0
  136. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +1 -1
  137. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +5 -2
  138. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +2 -2
  139. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.css +4 -0
  140. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.tsx +8 -0
  141. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/{negative → positive}/flat-stripe-side.tsx +3 -1
  142. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/report-callouts.html +8 -0
  143. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/square-surfaces.css +8 -0
  144. package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
  145. package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
  146. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +5 -4
  147. package/packages/shared-skills/skills/ulw-research/SKILL.md +10 -2
  148. package/packages/shared-skills/skills/ulw-research/references/deliverable-phase.md +10 -0
  149. package/packages/shared-skills/skills/ulw-research/references/report-visualization.md +23 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.1.38",
3
+ "version": "5.1.41",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",
@@ -7100,14 +7100,20 @@ var OmoComputerSettingsLayerSchema = object({
7100
7100
  var OmoComputerSettingsSchema = OmoComputerSettingsLayerSchema;
7101
7101
 
7102
7102
  // ../../omo-config-core/src/schema/git-master.ts
7103
+ var GIT_ENV_ASSIGNMENT_PATTERN = /^(?:[A-Za-z_][A-Za-z0-9_]*=[A-Za-z0-9_-]*)(?: [A-Za-z_][A-Za-z0-9_]*=[A-Za-z0-9_-]*)*$/;
7104
+ var GitEnvPrefixSchema = string2().refine((value) => value === "" || GIT_ENV_ASSIGNMENT_PATTERN.test(value), {
7105
+ message: 'git_env_prefix must be empty or use shell-safe env assignments like "GIT_MASTER=1"'
7106
+ });
7103
7107
  var OmoGitMasterSettingsShape = {
7104
7108
  commit_footer: union([boolean2(), string2()]),
7105
- include_co_authored_by: boolean2()
7109
+ include_co_authored_by: boolean2(),
7110
+ git_env_prefix: GitEnvPrefixSchema
7106
7111
  };
7107
7112
  var OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
7108
7113
  var OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
7109
7114
  commit_footer: union([boolean2(), string2()]).default(false),
7110
- include_co_authored_by: boolean2().default(false)
7115
+ include_co_authored_by: boolean2().default(false),
7116
+ git_env_prefix: GitEnvPrefixSchema.default("GIT_MASTER=1")
7111
7117
  }).strict();
7112
7118
 
7113
7119
  // ../../omo-config-core/src/schema/harness.ts
@@ -7117,6 +7123,19 @@ var OmoHarnessIdSchema = _enum(OMO_CONFIG_HARNESS_IDS);
7117
7123
  var OMO_CONFIG_LEGACY_HARNESS_ALIASES = { senpi: "native" };
7118
7124
  var OMO_CONFIG_LEGACY_HARNESS_IDS = Object.keys(OMO_CONFIG_LEGACY_HARNESS_ALIASES);
7119
7125
 
7126
+ // ../../omo-config-core/src/schema/memory-agreements.ts
7127
+ var OMO_MEMORY_AGREEMENTS_DEFAULTS = { enabled: true, needs_human_threshold: 3, max_items: 64 };
7128
+ var OmoMemoryAgreementsSchema = object({
7129
+ enabled: boolean2().default(OMO_MEMORY_AGREEMENTS_DEFAULTS.enabled),
7130
+ needs_human_threshold: number2().int().min(1).default(OMO_MEMORY_AGREEMENTS_DEFAULTS.needs_human_threshold),
7131
+ max_items: number2().int().min(8).max(256).default(OMO_MEMORY_AGREEMENTS_DEFAULTS.max_items)
7132
+ }).strict();
7133
+ var OmoMemoryAgreementsLayerSchema = object({
7134
+ enabled: boolean2().optional(),
7135
+ needs_human_threshold: number2().int().min(1).optional(),
7136
+ max_items: number2().int().min(8).max(256).optional()
7137
+ }).strict();
7138
+
7120
7139
  // ../../omo-config-core/src/schema/memory.ts
7121
7140
  var OmoMemoryReflectionTriggerSchema = object({
7122
7141
  step_count: number2().int().nonnegative().default(25),
@@ -7260,6 +7279,7 @@ var OmoMemoryAgentOverridesSchema = object({
7260
7279
  facts: OmoMemoryFactsLayerSchema.optional(),
7261
7280
  dream: OmoMemoryDreamLayerSchema.optional(),
7262
7281
  people: OmoMemoryPeopleLayerSchema.optional(),
7282
+ agreements: OmoMemoryAgreementsLayerSchema.optional(),
7263
7283
  soul: OmoMemorySoulLayerSchema.optional(),
7264
7284
  write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
7265
7285
  sync: OmoMemorySyncLayerSchema.optional(),
@@ -7290,6 +7310,7 @@ var OmoMemorySettingsSchema = object({
7290
7310
  auto_select_max_chars: 150000
7291
7311
  }),
7292
7312
  people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
7313
+ agreements: OmoMemoryAgreementsSchema.default(OMO_MEMORY_AGREEMENTS_DEFAULTS),
7293
7314
  soul: OmoMemorySoulSchema.default({ edit_notice: true }),
7294
7315
  write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
7295
7316
  sync: OmoMemorySyncSchema.default({ enabled: true }),
@@ -7316,6 +7337,7 @@ var OmoMemorySettingsLayerSchema = object({
7316
7337
  facts: OmoMemoryFactsLayerSchema.optional(),
7317
7338
  dream: OmoMemoryDreamLayerSchema.optional(),
7318
7339
  people: OmoMemoryPeopleLayerSchema.optional(),
7340
+ agreements: OmoMemoryAgreementsLayerSchema.optional(),
7319
7341
  soul: OmoMemorySoulLayerSchema.optional(),
7320
7342
  write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
7321
7343
  sync: OmoMemorySyncLayerSchema.optional(),
@@ -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.1.38) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.1.41) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-bootstrap",
3
- "version": "5.1.38",
3
+ "version": "5.1.41",
4
4
  "description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.1.38) Checking Comments"
11
+ "statusMessage": "(OmO 5.1.41) 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.1.38",
3
+ "version": "5.1.41",
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.1.38) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.1.41) 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.1.38) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.1.41) 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.1.38",
3
+ "version": "5.1.41",
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.1.38) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.1.41) 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.1.38",
3
+ "version": "5.1.41",
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.1.38",
4
- "inputDigest": "sha256:243e2955ac73aa061ab27152dc6f31cf118025bce72b0f52537519d2f687a54e",
3
+ "version": "5.1.41",
4
+ "inputDigest": "sha256:ad15254c56422d6b36ee8b483fb554748ed5358e03e99bbf8588449fb83e9ee6",
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": "e4d7664d4b1a19eb00e68e5a0f42ceae1195188a26e59217522c1d0de3854f54"
12
+ "sha256": "0775d5a52628cc6aeed25d5ff10fdf42f236b8058428d5120f278ce5157ad76a"
13
13
  },
14
14
  {
15
15
  "path": "codex-hook-cli.d.ts",
@@ -1146,6 +1146,13 @@ function validateCwd(cwd) {
1146
1146
  };
1147
1147
  }
1148
1148
  }
1149
+ function guardPipeErrors(stream, pipe) {
1150
+ stream.on("error", (error) => {
1151
+ if (stream.listenerCount("error") > 1)
1152
+ return;
1153
+ reportBestEffortCleanupError(`server ${pipe}`, error);
1154
+ });
1155
+ }
1149
1156
  function wrap(proc) {
1150
1157
  const exitedPromise = new Promise((resolve) => {
1151
1158
  proc.once("close", (code) => resolve(code ?? 0));
@@ -1154,6 +1161,9 @@ function wrap(proc) {
1154
1161
  if (!proc.stdin || !proc.stdout || !proc.stderr) {
1155
1162
  throw new LspProcessSpawnError("Spawned process is missing one of stdin/stdout/stderr pipes");
1156
1163
  }
1164
+ guardPipeErrors(proc.stdin, "stdin");
1165
+ guardPipeErrors(proc.stdout, "stdout");
1166
+ guardPipeErrors(proc.stderr, "stderr");
1157
1167
  return {
1158
1168
  stdin: proc.stdin,
1159
1169
  stdout: proc.stdout,
@@ -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.1.38) Checking LSP Diagnostics"
11
+ "statusMessage": "(OmO 5.1.41) 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.1.38) Resetting LSP Diagnostics Cache"
24
+ "statusMessage": "(OmO 5.1.41) 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.1.38",
3
+ "version": "5.1.41",
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.1.38) Loading Project Rules"
10
+ "statusMessage": "(OmO 5.1.41) 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.1.38) Loading Project Rules"
22
+ "statusMessage": "(OmO 5.1.41) 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.1.38) Matching Project Rules"
35
+ "statusMessage": "(OmO 5.1.41) 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.1.38) Resetting Project Rule Cache"
48
+ "statusMessage": "(OmO 5.1.41) 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.1.38",
3
+ "version": "5.1.41",
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.1.38) Checking Thread Title Hygiene"
11
+ "statusMessage": "(OmO 5.1.41) 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.1.38",
3
+ "version": "5.1.41",
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,
@@ -386,6 +386,157 @@ function getTelemetryHost(env = process.env, defaultHost = DEFAULT_POSTHOG_HOST)
386
386
  return env["POSTHOG_HOST"]?.trim() || defaultHost;
387
387
  }
388
388
 
389
+ // ../../telemetry-core/src/machine-id.ts
390
+ import { createHash } from "node:crypto";
391
+ import os2 from "node:os";
392
+ function getDefaultTelemetryOsProvider() {
393
+ return os2;
394
+ }
395
+ function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
396
+ return createHash("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
397
+ }
398
+
399
+ // ../../telemetry-core/src/injected-client.ts
400
+ var NO_OP_CLIENT = {
401
+ enabled: false,
402
+ trackActive: () => {
403
+ return;
404
+ },
405
+ flush: async () => {
406
+ return;
407
+ },
408
+ shutdown: async () => {
409
+ return;
410
+ }
411
+ };
412
+ function isTelemetryClientEnabled(input) {
413
+ const env = input.env ?? process.env;
414
+ return !shouldDisableTelemetry({ env, productEnvPrefix: input.product.productEnvPrefix }) && hasTelemetryApiKey(env, input.product.defaultApiKey);
415
+ }
416
+ function createTelemetryClient(input) {
417
+ if (!isTelemetryClientEnabled(input)) {
418
+ return NO_OP_CLIENT;
419
+ }
420
+ const transport = createTransport(input);
421
+ if (transport === null) {
422
+ return NO_OP_CLIENT;
423
+ }
424
+ const sharedProperties = getSharedProperties(input);
425
+ return {
426
+ enabled: true,
427
+ trackActive: ({ dayUTC, distinctId, reason }) => {
428
+ try {
429
+ transport.capture({
430
+ distinctId,
431
+ event: input.product.eventName,
432
+ properties: {
433
+ ...sharedProperties,
434
+ $process_person_profile: false,
435
+ day_utc: dayUTC,
436
+ reason
437
+ }
438
+ });
439
+ } catch (error) {
440
+ input.diagnostics?.({
441
+ event: "telemetry_capture_failed",
442
+ source: input.source,
443
+ error,
444
+ errorKind: error instanceof Error ? "error" : "non_error"
445
+ });
446
+ }
447
+ },
448
+ flush: async () => {
449
+ if (transport.flush === undefined) {
450
+ return;
451
+ }
452
+ await transport.flush();
453
+ },
454
+ shutdown: async () => {
455
+ try {
456
+ await transport.shutdown();
457
+ } catch (error) {
458
+ input.diagnostics?.({
459
+ event: "telemetry_shutdown_failed",
460
+ source: input.source,
461
+ error,
462
+ errorKind: error instanceof Error ? "error" : "non_error"
463
+ });
464
+ }
465
+ }
466
+ };
467
+ }
468
+ function createTransport(input) {
469
+ const env = input.env ?? process.env;
470
+ const factory = input.transportFactory;
471
+ try {
472
+ return factory(getTelemetryApiKey(env, input.product.defaultApiKey), {
473
+ enableExceptionAutocapture: false,
474
+ enableLocalEvaluation: false,
475
+ strictLocalEvaluation: true,
476
+ disableRemoteConfig: true,
477
+ flushAt: 1,
478
+ flushInterval: 0,
479
+ host: getTelemetryHost(env, input.product.defaultHost),
480
+ disableGeoip: input.product.disableGeoip ?? false,
481
+ ...input.product.transportOptions
482
+ });
483
+ } catch (error) {
484
+ input.diagnostics?.({
485
+ event: "telemetry_posthog_init_failed",
486
+ source: input.source,
487
+ error,
488
+ errorKind: error instanceof Error ? "error" : "non_error"
489
+ });
490
+ return null;
491
+ }
492
+ }
493
+ function getSharedProperties(input) {
494
+ const osProvider = input.osProvider ?? getDefaultTelemetryOsProvider();
495
+ const cpuInfo = getSafeCpuInfo(osProvider, input);
496
+ return {
497
+ platform: input.product.platform,
498
+ product_name: input.product.productName,
499
+ package_name: input.product.packageName,
500
+ package_version: input.product.packageVersion,
501
+ runtime: "bun",
502
+ runtime_version: process.versions.bun ?? process.version,
503
+ source: input.source,
504
+ $os: osProvider.platform(),
505
+ $os_version: osProvider.release(),
506
+ os_arch: osProvider.arch(),
507
+ os_type: osProvider.type(),
508
+ cpu_count: cpuInfo.count,
509
+ cpu_model: cpuInfo.model,
510
+ total_memory_gb: Math.round(osProvider.totalmem() / 1024 / 1024 / 1024),
511
+ locale: Intl.DateTimeFormat().resolvedOptions().locale,
512
+ timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
513
+ shell: process.env.SHELL,
514
+ ci: Boolean(process.env.CI),
515
+ terminal: process.env.TERM_PROGRAM,
516
+ ...input.product.additionalProperties
517
+ };
518
+ }
519
+ function getSafeCpuInfo(osProvider, input) {
520
+ try {
521
+ const cpuInfo = osProvider.cpus();
522
+ return {
523
+ count: cpuInfo.length,
524
+ model: cpuInfo[0]?.model
525
+ };
526
+ } catch (error) {
527
+ input.diagnostics?.({
528
+ event: "telemetry_cpu_info_unavailable",
529
+ source: "shared",
530
+ error,
531
+ errorKind: error instanceof Error ? "error" : "non_error"
532
+ });
533
+ return {
534
+ count: 0,
535
+ model: undefined
536
+ };
537
+ }
538
+ }
539
+
389
540
  // ../../../node_modules/.bun/posthog-node@5.52.4/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
390
541
  import { dirname as dirname2, posix, sep } from "node:path";
391
542
  function createModulerModifier() {
@@ -9452,30 +9603,7 @@ class PostHog extends PostHogBackendClient {
9452
9603
  }
9453
9604
  }
9454
9605
 
9455
- // ../../telemetry-core/src/machine-id.ts
9456
- import { createHash } from "node:crypto";
9457
- import os2 from "node:os";
9458
- function getDefaultTelemetryOsProvider() {
9459
- return os2;
9460
- }
9461
- function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
9462
- return createHash("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
9463
- }
9464
-
9465
- // ../../telemetry-core/src/posthog-client.ts
9466
- var NO_OP_CLIENT = {
9467
- enabled: false,
9468
- trackActive: () => {
9469
- return;
9470
- },
9471
- flush: async () => {
9472
- return;
9473
- },
9474
- shutdown: async () => {
9475
- return;
9476
- }
9477
- };
9478
-
9606
+ // ../../telemetry-core/src/posthog-transport.ts
9479
9607
  class PostHogTelemetryTransport {
9480
9608
  #client;
9481
9609
  constructor(apiKey, options) {
@@ -9494,132 +9622,10 @@ class PostHogTelemetryTransport {
9494
9622
  function createDefaultPostHogTransport(apiKey, options) {
9495
9623
  return new PostHogTelemetryTransport(apiKey, options);
9496
9624
  }
9497
- function isTelemetryClientEnabled(input) {
9498
- const env = input.env ?? process.env;
9499
- return !shouldDisableTelemetry({ env, productEnvPrefix: input.product.productEnvPrefix }) && hasTelemetryApiKey(env, input.product.defaultApiKey);
9500
- }
9501
- function createTelemetryClient(input) {
9502
- if (!isTelemetryClientEnabled(input)) {
9503
- return NO_OP_CLIENT;
9504
- }
9505
- const transport = createTransport(input);
9506
- if (transport === null) {
9507
- return NO_OP_CLIENT;
9508
- }
9509
- const sharedProperties = getSharedProperties(input);
9510
- return {
9511
- enabled: true,
9512
- trackActive: ({ dayUTC, distinctId, reason }) => {
9513
- try {
9514
- transport.capture({
9515
- distinctId,
9516
- event: input.product.eventName,
9517
- properties: {
9518
- ...sharedProperties,
9519
- $process_person_profile: false,
9520
- day_utc: dayUTC,
9521
- reason
9522
- }
9523
- });
9524
- } catch (error) {
9525
- input.diagnostics?.({
9526
- event: "telemetry_capture_failed",
9527
- source: input.source,
9528
- error,
9529
- errorKind: error instanceof Error ? "error" : "non_error"
9530
- });
9531
- }
9532
- },
9533
- flush: async () => {
9534
- if (transport.flush === undefined) {
9535
- return;
9536
- }
9537
- await transport.flush();
9538
- },
9539
- shutdown: async () => {
9540
- try {
9541
- await transport.shutdown();
9542
- } catch (error) {
9543
- input.diagnostics?.({
9544
- event: "telemetry_shutdown_failed",
9545
- source: input.source,
9546
- error,
9547
- errorKind: error instanceof Error ? "error" : "non_error"
9548
- });
9549
- }
9550
- }
9551
- };
9552
- }
9553
- function createTransport(input) {
9554
- const env = input.env ?? process.env;
9555
- const factory = input.transportFactory ?? createDefaultPostHogTransport;
9556
- try {
9557
- return factory(getTelemetryApiKey(env, input.product.defaultApiKey), {
9558
- enableExceptionAutocapture: false,
9559
- enableLocalEvaluation: false,
9560
- strictLocalEvaluation: true,
9561
- disableRemoteConfig: true,
9562
- flushAt: 1,
9563
- flushInterval: 0,
9564
- host: getTelemetryHost(env, input.product.defaultHost),
9565
- disableGeoip: input.product.disableGeoip ?? false,
9566
- ...input.product.transportOptions
9567
- });
9568
- } catch (error) {
9569
- input.diagnostics?.({
9570
- event: "telemetry_posthog_init_failed",
9571
- source: input.source,
9572
- error,
9573
- errorKind: error instanceof Error ? "error" : "non_error"
9574
- });
9575
- return null;
9576
- }
9577
- }
9578
- function getSharedProperties(input) {
9579
- const osProvider = input.osProvider ?? getDefaultTelemetryOsProvider();
9580
- const cpuInfo = getSafeCpuInfo(osProvider, input);
9581
- return {
9582
- platform: input.product.platform,
9583
- product_name: input.product.productName,
9584
- package_name: input.product.packageName,
9585
- package_version: input.product.packageVersion,
9586
- runtime: "bun",
9587
- runtime_version: process.versions.bun ?? process.version,
9588
- source: input.source,
9589
- $os: osProvider.platform(),
9590
- $os_version: osProvider.release(),
9591
- os_arch: osProvider.arch(),
9592
- os_type: osProvider.type(),
9593
- cpu_count: cpuInfo.count,
9594
- cpu_model: cpuInfo.model,
9595
- total_memory_gb: Math.round(osProvider.totalmem() / 1024 / 1024 / 1024),
9596
- locale: Intl.DateTimeFormat().resolvedOptions().locale,
9597
- timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
9598
- shell: process.env.SHELL,
9599
- ci: Boolean(process.env.CI),
9600
- terminal: process.env.TERM_PROGRAM,
9601
- ...input.product.additionalProperties
9602
- };
9603
- }
9604
- function getSafeCpuInfo(osProvider, input) {
9605
- try {
9606
- const cpuInfo = osProvider.cpus();
9607
- return {
9608
- count: cpuInfo.length,
9609
- model: cpuInfo[0]?.model
9610
- };
9611
- } catch (error) {
9612
- input.diagnostics?.({
9613
- event: "telemetry_cpu_info_unavailable",
9614
- source: "shared",
9615
- error,
9616
- errorKind: error instanceof Error ? "error" : "non_error"
9617
- });
9618
- return {
9619
- count: 0,
9620
- model: undefined
9621
- };
9622
- }
9625
+
9626
+ // ../../telemetry-core/src/posthog-client.ts
9627
+ function createTelemetryClient2(input) {
9628
+ return createTelemetryClient({ ...input, transportFactory: input.transportFactory ?? createDefaultPostHogTransport });
9623
9629
  }
9624
9630
 
9625
9631
  // components/telemetry/src/product-identity.ts
@@ -9729,7 +9735,7 @@ function createPluginPostHogClient(options = {}) {
9729
9735
  }),
9730
9736
  source: "plugin"
9731
9737
  };
9732
- const client = createTelemetryClient(options.transportFactory === undefined ? clientInput : {
9738
+ const client = createTelemetryClient2(options.transportFactory === undefined ? clientInput : {
9733
9739
  ...clientInput,
9734
9740
  transportFactory: options.transportFactory
9735
9741
  });