oh-my-opencode 5.0.0-beta.1 → 5.0.0-beta.11

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 (202) hide show
  1. package/.agents/command/publish.md +44 -16
  2. package/.agents/skills/publish/SKILL.md +44 -16
  3. package/.agents/skills/work-with-pr/SKILL.md +37 -23
  4. package/.opencode/command/publish.md +44 -16
  5. package/.opencode/skills/work-with-pr/SKILL.md +37 -23
  6. package/README.md +12 -1
  7. package/dist/agents/atlas/agent.d.ts +0 -1
  8. package/dist/agents/sisyphus/grok-4.d.ts +20 -0
  9. package/dist/agents/sisyphus/index.d.ts +2 -0
  10. package/dist/agents/sisyphus-agent-config.d.ts +6 -0
  11. package/dist/agents/sisyphus-agent-factory.d.ts +1 -1
  12. package/dist/agents/sisyphus-runtime-prompt-reconciler.d.ts +15 -4
  13. package/dist/agents/types.d.ts +2 -2
  14. package/dist/cli/index.js +805 -534
  15. package/dist/cli/run/on-complete-hook.d.ts +2 -0
  16. package/dist/cli-node/index.js +805 -534
  17. package/dist/hooks/atlas/final-wave-approval-gate.test-support.d.ts +50 -0
  18. package/dist/hooks/atlas/system-reminder-templates.d.ts +0 -1
  19. package/dist/index.js +1566 -1217
  20. package/dist/shared/normalize-sdk-response.d.ts +1 -0
  21. package/dist/shared/shell-env.d.ts +1 -1
  22. package/dist/skills/coding-agent-sessions/SKILL.md +3 -2
  23. package/dist/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  24. package/dist/skills/coding-agent-sessions/references/senpi.md +4 -4
  25. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  26. package/dist/skills/frontend/SKILL.md +10 -7
  27. package/dist/skills/frontend/references/design/_INDEX.md +1 -0
  28. package/dist/skills/frontend/references/design/stylegallery.md +80 -0
  29. package/dist/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  30. package/dist/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  31. package/dist/skills/ultimate-browsing/engine/templates/package.json +1 -1
  32. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  33. package/dist/skills/ulw-plan/SKILL.md +2 -2
  34. package/dist/skills/ulw-plan/references/full-workflow.md +27 -3
  35. package/dist/skills/ulw-plan/references/intent-clear.md +2 -1
  36. package/dist/skills/ulw-plan/references/intent-unclear.md +3 -3
  37. package/dist/tools/delegate-task/builtin-categories.d.ts +1 -0
  38. package/dist/tools/delegate-task/builtin-category-definition.d.ts +1 -0
  39. package/dist/tools/delegate-task/tool-description.d.ts +3 -1
  40. package/dist/tui.js +184 -83
  41. package/package.json +21 -19
  42. package/packages/lsp-core/src/lsp/client-diagnostics-concurrency.integration.test.ts +44 -0
  43. package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +0 -28
  44. package/packages/lsp-core/src/lsp/client-wrapper-outside-cwd.test.ts +78 -0
  45. package/packages/lsp-core/src/lsp/client-wrapper.test.ts +66 -13
  46. package/packages/lsp-core/src/lsp/client-wrapper.ts +70 -18
  47. package/packages/lsp-core/src/lsp/outside-context-workspace.ts +33 -0
  48. package/packages/lsp-core/src/lsp/workspace-edit-adversarial.test.ts +20 -1
  49. package/packages/lsp-core/src/lsp/workspace-markers.ts +1 -0
  50. package/packages/lsp-core/src/tools/diagnostics.ts +3 -3
  51. package/packages/lsp-core/src/tools/navigation.ts +4 -2
  52. package/packages/lsp-core/src/tools/rename.ts +4 -2
  53. package/packages/lsp-core/src/tools/symbols.ts +1 -1
  54. package/packages/lsp-daemon/dist/cli.js +160 -71
  55. package/packages/lsp-daemon/dist/client.js +135 -46
  56. package/packages/lsp-daemon/dist/index.js +143 -54
  57. package/packages/lsp-tools-mcp/dist/cli.js +131 -42
  58. package/packages/lsp-tools-mcp/dist/mcp.js +131 -42
  59. package/packages/lsp-tools-mcp/dist/tools.js +131 -42
  60. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  61. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  62. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  63. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +118 -8
  64. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +118 -8
  65. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  66. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  67. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  68. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  69. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  70. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  71. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  72. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +3 -17
  73. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  74. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +147 -64
  75. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  76. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  77. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  78. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  79. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
  80. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +16 -23
  81. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
  82. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
  83. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
  84. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
  85. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
  86. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +37 -69
  87. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
  88. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +1 -15
  89. package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +3 -2
  90. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  91. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  92. package/packages/omo-codex/plugin/components/start-work-continuation/test/cli.test.ts +0 -3
  93. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +2 -16
  94. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  95. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  96. package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +3 -9
  97. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +24 -12
  98. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +24 -12
  99. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  100. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  101. package/packages/omo-codex/plugin/components/ultrawork/directive.md +6 -0
  102. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  103. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  104. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +6 -0
  105. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +2 -2
  106. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +27 -3
  107. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +2 -1
  108. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +3 -3
  109. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
  110. package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
  111. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +6 -0
  112. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  113. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  114. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +3 -2
  115. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +108 -0
  116. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +1 -0
  117. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
  118. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
  119. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +0 -3
  120. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +2 -35
  121. package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +4 -5
  122. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  123. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  124. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  125. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  126. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  127. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  128. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  129. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  130. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  131. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  132. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  133. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  134. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  135. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  136. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  137. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  138. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  139. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  140. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  141. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  142. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  143. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  144. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  145. package/packages/omo-codex/plugin/package-lock.json +20 -20
  146. package/packages/omo-codex/plugin/package.json +1 -1
  147. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +3 -2
  148. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  149. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +4 -4
  150. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  151. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +10 -7
  152. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -0
  153. package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +80 -0
  154. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  155. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  156. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
  157. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  158. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +6 -0
  159. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +3 -2
  160. package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +108 -0
  161. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +1 -0
  162. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +2 -2
  163. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +27 -3
  164. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +2 -1
  165. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +3 -3
  166. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
  167. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +4 -24
  168. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
  169. package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
  170. package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
  171. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
  172. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
  173. package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +101 -0
  174. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +1 -119
  175. package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
  176. package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
  177. package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
  178. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
  179. package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
  180. package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +0 -3
  181. package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
  182. package/packages/omo-codex/scripts/install-dist/install-local.mjs +57 -19
  183. package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +7 -2
  184. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +3 -2
  185. package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  186. package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +4 -4
  187. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  188. package/packages/shared-skills/skills/frontend/SKILL.md +10 -7
  189. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -0
  190. package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +80 -0
  191. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  192. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  193. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
  194. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  195. package/packages/shared-skills/skills/ulw-plan/SKILL.md +2 -2
  196. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +27 -3
  197. package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +2 -1
  198. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +3 -3
  199. package/dist/tools/call-omo-agent/background-agent-executor.d.ts +0 -5
  200. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
  201. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
  202. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
@@ -4269,7 +4269,7 @@ function finalize(ctx, schema) {
4269
4269
  result.$schema = "http://json-schema.org/draft-07/schema#";
4270
4270
  } else if (ctx.target === "draft-04") {
4271
4271
  result.$schema = "http://json-schema.org/draft-04/schema#";
4272
- } else if (ctx.target === "openapi-3.0") {} else {}
4272
+ } else if (ctx.target === "openapi-3.0") {}
4273
4273
  if (ctx.external?.uri) {
4274
4274
  const id = ctx.external.registry.get(schema)?.id;
4275
4275
  if (!id)
@@ -4478,7 +4478,7 @@ var literalProcessor = (schema, ctx, json, _params) => {
4478
4478
  if (val === undefined) {
4479
4479
  if (ctx.unrepresentable === "throw") {
4480
4480
  throw new Error("Literal `undefined` cannot be represented in JSON Schema");
4481
- } else {}
4481
+ }
4482
4482
  } else if (typeof val === "bigint") {
4483
4483
  if (ctx.unrepresentable === "throw") {
4484
4484
  throw new Error("BigInt literals cannot be represented in JSON Schema");
@@ -5817,11 +5817,12 @@ var OmoCodegraphSettingsSchema = OmoCodegraphSettingsLayerSchema.extend({
5817
5817
 
5818
5818
  // ../../../../omo-config-core/src/schema/memory.ts
5819
5819
  var OmoMemoryReflectionTriggerSchema = object({
5820
- step_count: number2().int().nonnegative().default(0),
5820
+ step_count: number2().int().nonnegative().default(25),
5821
5821
  on_compaction: boolean2().default(true)
5822
5822
  }).strict();
5823
5823
  var OmoMemoryReflectionSchema = object({
5824
- trigger: OmoMemoryReflectionTriggerSchema.default({ step_count: 0, on_compaction: true }),
5824
+ enabled: boolean2().default(true),
5825
+ trigger: OmoMemoryReflectionTriggerSchema.default({ step_count: 25, on_compaction: true }),
5825
5826
  merge: _enum(["auto", "integration"]).default("auto"),
5826
5827
  category: string2().min(1).default("quick"),
5827
5828
  timeout_minutes: number2().int().positive().default(15),
@@ -5834,11 +5835,36 @@ var OmoMemorySyncSchema = object({
5834
5835
  var OmoMemorySearchSchema = object({
5835
5836
  enabled: boolean2().default(true)
5836
5837
  }).strict();
5838
+ var OmoMemoryNudgeSchema = object({
5839
+ enabled: boolean2().default(true),
5840
+ every_user_turns: number2().int().min(1).default(10)
5841
+ }).strict();
5842
+ var OmoMemoryFactsSchema = object({
5843
+ enabled: boolean2().default(true),
5844
+ debounce_settles: number2().int().min(1).default(4)
5845
+ }).strict();
5846
+ var OmoMemoryDreamSchema = object({
5847
+ enabled: boolean2().default(true),
5848
+ idle_minutes: number2().int().min(0).default(30),
5849
+ min_hours_between: number2().int().min(1).default(24),
5850
+ shutdown_launch: boolean2().default(true),
5851
+ auto_select_max: number2().int().min(1).max(10).default(5),
5852
+ auto_select_max_chars: number2().int().min(1e4).default(150000)
5853
+ }).strict();
5854
+ var OmoMemoryPeopleSchema = object({
5855
+ enabled: boolean2().default(true),
5856
+ max_entries: number2().int().min(1).max(100).default(40),
5857
+ max_entry_chars: number2().int().min(50).max(500).default(200)
5858
+ }).strict();
5859
+ var OmoMemorySoulSchema = object({
5860
+ edit_notice: boolean2().default(true)
5861
+ }).strict();
5837
5862
  var OmoMemoryReflectionTriggerLayerSchema = object({
5838
5863
  step_count: number2().int().nonnegative().optional(),
5839
5864
  on_compaction: boolean2().optional()
5840
5865
  }).strict();
5841
5866
  var OmoMemoryReflectionLayerSchema = object({
5867
+ enabled: boolean2().optional(),
5842
5868
  trigger: OmoMemoryReflectionTriggerLayerSchema.optional(),
5843
5869
  merge: _enum(["auto", "integration"]).optional(),
5844
5870
  category: string2().min(1).optional(),
@@ -5852,10 +5878,39 @@ var OmoMemorySyncLayerSchema = object({
5852
5878
  var OmoMemorySearchLayerSchema = object({
5853
5879
  enabled: boolean2().optional()
5854
5880
  }).strict();
5881
+ var OmoMemoryNudgeLayerSchema = object({
5882
+ enabled: boolean2().optional(),
5883
+ every_user_turns: number2().int().min(1).optional()
5884
+ }).strict();
5885
+ var OmoMemoryFactsLayerSchema = object({
5886
+ enabled: boolean2().optional(),
5887
+ debounce_settles: number2().int().min(1).optional()
5888
+ }).strict();
5889
+ var OmoMemoryDreamLayerSchema = object({
5890
+ enabled: boolean2().optional(),
5891
+ idle_minutes: number2().int().min(0).optional(),
5892
+ min_hours_between: number2().int().min(1).optional(),
5893
+ shutdown_launch: boolean2().optional(),
5894
+ auto_select_max: number2().int().min(1).max(10).optional(),
5895
+ auto_select_max_chars: number2().int().min(1e4).optional()
5896
+ }).strict();
5897
+ var OmoMemoryPeopleLayerSchema = object({
5898
+ enabled: boolean2().optional(),
5899
+ max_entries: number2().int().min(1).max(100).optional(),
5900
+ max_entry_chars: number2().int().min(50).max(500).optional()
5901
+ }).strict();
5902
+ var OmoMemorySoulLayerSchema = object({
5903
+ edit_notice: boolean2().optional()
5904
+ }).strict();
5855
5905
  var OmoMemoryAgentOverridesSchema = object({
5856
5906
  enabled: boolean2().optional(),
5857
5907
  agent: string2().min(1).optional(),
5858
5908
  reflection: OmoMemoryReflectionLayerSchema.optional(),
5909
+ nudge: OmoMemoryNudgeLayerSchema.optional(),
5910
+ facts: OmoMemoryFactsLayerSchema.optional(),
5911
+ dream: OmoMemoryDreamLayerSchema.optional(),
5912
+ people: OmoMemoryPeopleLayerSchema.optional(),
5913
+ soul: OmoMemorySoulLayerSchema.optional(),
5859
5914
  sync: OmoMemorySyncLayerSchema.optional(),
5860
5915
  search: OmoMemorySearchLayerSchema.optional(),
5861
5916
  compile_warn_tokens: number2().int().positive().optional()
@@ -5863,13 +5918,27 @@ var OmoMemoryAgentOverridesSchema = object({
5863
5918
  var OmoMemorySettingsSchema = object({
5864
5919
  enabled: boolean2().default(true),
5865
5920
  agent: string2().min(1).default("auto"),
5921
+ tool_exposure: _enum(["direct", "search"]).default("direct"),
5866
5922
  reflection: OmoMemoryReflectionSchema.default({
5867
- trigger: { step_count: 0, on_compaction: true },
5923
+ enabled: true,
5924
+ trigger: { step_count: 25, on_compaction: true },
5868
5925
  merge: "auto",
5869
5926
  category: "quick",
5870
5927
  timeout_minutes: 15,
5871
5928
  sandbox: "auto"
5872
5929
  }),
5930
+ nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
5931
+ facts: OmoMemoryFactsSchema.default({ enabled: true, debounce_settles: 4 }),
5932
+ dream: OmoMemoryDreamSchema.default({
5933
+ enabled: true,
5934
+ idle_minutes: 30,
5935
+ min_hours_between: 24,
5936
+ shutdown_launch: true,
5937
+ auto_select_max: 5,
5938
+ auto_select_max_chars: 150000
5939
+ }),
5940
+ people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
5941
+ soul: OmoMemorySoulSchema.default({ edit_notice: true }),
5873
5942
  sync: OmoMemorySyncSchema.default({ enabled: true }),
5874
5943
  search: OmoMemorySearchSchema.default({ enabled: true }),
5875
5944
  compile_warn_tokens: number2().int().positive().default(30000),
@@ -5878,7 +5947,13 @@ var OmoMemorySettingsSchema = object({
5878
5947
  var OmoMemorySettingsLayerSchema = object({
5879
5948
  enabled: boolean2().optional(),
5880
5949
  agent: string2().min(1).optional(),
5950
+ tool_exposure: _enum(["direct", "search"]).optional(),
5881
5951
  reflection: OmoMemoryReflectionLayerSchema.optional(),
5952
+ nudge: OmoMemoryNudgeLayerSchema.optional(),
5953
+ facts: OmoMemoryFactsLayerSchema.optional(),
5954
+ dream: OmoMemoryDreamLayerSchema.optional(),
5955
+ people: OmoMemoryPeopleLayerSchema.optional(),
5956
+ soul: OmoMemorySoulLayerSchema.optional(),
5882
5957
  sync: OmoMemorySyncLayerSchema.optional(),
5883
5958
  search: OmoMemorySearchLayerSchema.optional(),
5884
5959
  compile_warn_tokens: number2().int().positive().optional(),
@@ -5917,6 +5992,16 @@ var OmoTaskTeamSettingsSchema = object({
5917
5992
  var OmoTaskWarningsSchema = object({
5918
5993
  unavailable_categories: boolean2().default(true)
5919
5994
  }).strict();
5995
+ var OmoTaskDagSettingsSchema = object({
5996
+ max_nodes_per_run: number2().int().positive().default(64),
5997
+ max_runs_per_session: number2().int().positive().default(16),
5998
+ subscriber_ring: number2().int().positive().default(1000),
5999
+ heartbeat_ms: number2().int().positive().default(15000),
6000
+ history_default_limit: number2().int().positive().default(256),
6001
+ history_max_limit: number2().int().positive().default(1000),
6002
+ retention_days: number2().int().positive().default(7),
6003
+ max_prompt_bytes: number2().int().positive().default(262144)
6004
+ }).strict();
5920
6005
  var OmoTaskSettingsSchema = object({
5921
6006
  default_execution_mode: _enum(["in-process", "process"]).default("in-process"),
5922
6007
  default_concurrency: number2().int().positive().default(5),
@@ -5934,7 +6019,18 @@ var OmoTaskSettingsSchema = object({
5934
6019
  max_members: 8,
5935
6020
  max_parallel_members: 4,
5936
6021
  max_wall_clock_minutes: 120
5937
- })
6022
+ }),
6023
+ dag: OmoTaskDagSettingsSchema.optional()
6024
+ }).strict();
6025
+ var OmoTaskDagSettingsLayerSchema = object({
6026
+ max_nodes_per_run: number2().int().positive().optional(),
6027
+ max_runs_per_session: number2().int().positive().optional(),
6028
+ subscriber_ring: number2().int().positive().optional(),
6029
+ heartbeat_ms: number2().int().positive().optional(),
6030
+ history_default_limit: number2().int().positive().optional(),
6031
+ history_max_limit: number2().int().positive().optional(),
6032
+ retention_days: number2().int().positive().optional(),
6033
+ max_prompt_bytes: number2().int().positive().optional()
5938
6034
  }).strict();
5939
6035
  var OmoTaskWaitLayerSchema = object({
5940
6036
  min_ms: number2().int().positive().optional(),
@@ -5962,7 +6058,8 @@ var OmoTaskSettingsLayerSchema = object({
5962
6058
  resume_children: boolean2().optional(),
5963
6059
  warnings: OmoTaskWarningsLayerSchema.optional(),
5964
6060
  wait: OmoTaskWaitLayerSchema.optional(),
5965
- team: OmoTaskTeamSettingsLayerSchema.optional()
6061
+ team: OmoTaskTeamSettingsLayerSchema.optional(),
6062
+ dag: OmoTaskDagSettingsLayerSchema.optional()
5966
6063
  }).strict();
5967
6064
  function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
5968
6065
  const record2 = record(string2(), unknown()).parse(input);
@@ -6019,6 +6116,15 @@ var OmoTeamSpecLayerSchema = OmoTeamSpecBaseSchema.partial();
6019
6116
  var OmoTeamsConfigSchema = record(string2(), OmoTeamSpecSchema);
6020
6117
  var OmoTeamsConfigLayerSchema = record(string2(), OmoTeamSpecLayerSchema);
6021
6118
 
6119
+ // ../../../../omo-config-core/src/schema/telemetry.ts
6120
+ var OmoTelemetrySettingsShape = {
6121
+ enabled: boolean2()
6122
+ };
6123
+ var OmoTelemetrySettingsLayerSchema = object(OmoTelemetrySettingsShape).partial().strict();
6124
+ var OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
6125
+ enabled: boolean2().default(true)
6126
+ }).strict();
6127
+
6022
6128
  // ../../../../omo-config-core/src/schema/config.ts
6023
6129
  var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
6024
6130
  var OmoTypedHarnessConfigSchema = object({
@@ -6028,7 +6134,8 @@ var OmoTypedHarnessConfigSchema = object({
6028
6134
  task: OmoTaskSettingsLayerSchema.optional(),
6029
6135
  teams: OmoTeamsConfigLayerSchema.optional(),
6030
6136
  models: OmoModelCatalogLayerSchema.optional(),
6031
- memory: OmoMemorySettingsLayerSchema.optional()
6137
+ memory: OmoMemorySettingsLayerSchema.optional(),
6138
+ telemetry: OmoTelemetrySettingsLayerSchema.optional()
6032
6139
  }).strict();
6033
6140
  var OmoConfigProfileSchema = object({
6034
6141
  categories: OmoCategoriesConfigSchema.optional(),
@@ -6038,6 +6145,7 @@ var OmoConfigProfileSchema = object({
6038
6145
  teams: OmoTeamsConfigLayerSchema.optional(),
6039
6146
  models: OmoModelCatalogLayerSchema.optional(),
6040
6147
  memory: OmoMemorySettingsLayerSchema.optional(),
6148
+ telemetry: OmoTelemetrySettingsLayerSchema.optional(),
6041
6149
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
6042
6150
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
6043
6151
  "[codex]": OmoTypedHarnessConfigSchema.optional()
@@ -6051,6 +6159,7 @@ var OmoConfigSchema = object({
6051
6159
  teams: OmoTeamsConfigSchema.optional(),
6052
6160
  models: OmoModelCatalogSchema.optional(),
6053
6161
  memory: OmoMemorySettingsSchema.optional(),
6162
+ telemetry: OmoTelemetrySettingsSchema.optional(),
6054
6163
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
6055
6164
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
6056
6165
  "[codex]": OmoTypedHarnessConfigSchema.optional(),
@@ -6067,6 +6176,7 @@ var OmoConfigLayerSchema = object({
6067
6176
  teams: OmoTeamsConfigLayerSchema.optional(),
6068
6177
  models: OmoModelCatalogLayerSchema.optional(),
6069
6178
  memory: OmoMemorySettingsLayerSchema.optional(),
6179
+ telemetry: OmoTelemetrySettingsLayerSchema.optional(),
6070
6180
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
6071
6181
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
6072
6182
  "[codex]": OmoTypedHarnessConfigSchema.optional(),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-codegraph",
3
- "version": "5.0.0-beta.1",
3
+ "version": "5.0.0-beta.11",
4
4
  "description": "Codex plugin MCP wrapper for CodeGraph.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.0.0-beta.1) Checking Comments"
11
+ "statusMessage": "(OmO 5.0.0-beta.11) 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.1",
3
+ "version": "5.0.0-beta.11",
4
4
  "description": "Codex plugin that runs comment-checker after edit-like PostToolUse hooks.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 5.0.0-beta.1) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.0.0-beta.11) 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.1) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.0.0-beta.11) 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.1",
3
+ "version": "5.0.0-beta.11",
4
4
  "description": "Codex hook component that reminds Windows sessions to prefer the OMO git_bash MCP.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 5.0.0-beta.1) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.0.0-beta.11) 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.1",
3
+ "version": "5.0.0-beta.11",
4
4
  "description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -36,10 +36,8 @@ describe("lazycodex executor SubagentStop verifier", () => {
36
36
  // then
37
37
  const parsed = parseBlockOutput(output);
38
38
  expect(parsed.decision).toBe("block");
39
- expect(parsed.reason).toContain("너는 방금 작업을 완료했다고 보고했고, 그건 거짓말이다.");
40
39
  expect(parsed.reason).toContain(".omo/evidence/");
41
40
  expect(parsed.reason).toContain("EVIDENCE_RECORDED: <path>");
42
- expect(parsed.reason).not.toContain("2번째");
43
41
  });
44
42
 
45
43
  it("#given a prior blocked stop #when lazycodex executor stops again #then escalates the attempt count", () => {
@@ -51,8 +49,9 @@ describe("lazycodex executor SubagentStop verifier", () => {
51
49
  const output = runSubagentStopHook(createInput(cwd), nodeFileSystem);
52
50
 
53
51
  // then
54
- const parsed = parseBlockOutput(output);
55
- expect(parsed.reason).toContain("2번째");
52
+ expect(parseBlockOutput(output).decision).toBe("block");
53
+ const statePath = join(cwd, ".omo", "lazycodex-executor-verify", "sess.1-agent_1.json");
54
+ expect(JSON.parse(readFileSync(statePath, "utf8"))).toEqual({ attempts: 2 });
56
55
  });
57
56
 
58
57
  it("#given turn_id is omitted #when lazycodex executor stops #then the hook still parses the payload", () => {
@@ -394,18 +393,5 @@ describe("tier worker receipt enforcement", () => {
394
393
  expect(matcher.test("lazycodex-gate-reviewer")).toBe(false);
395
394
  }
396
395
  });
397
-
398
- it("#given the tier worker TOMLs #when inspected #then each instructs the EVIDENCE_RECORDED receipt line", () => {
399
- for (const tier of ["low", "medium", "high"]) {
400
- // when
401
- const toml = readFileSync(
402
- new URL(`../../ultrawork/agents/lazycodex-worker-${tier}.toml`, import.meta.url),
403
- "utf8",
404
- );
405
-
406
- // then
407
- expect(toml).toContain("EVIDENCE_RECORDED: <path>");
408
- }
409
- });
410
396
  });
411
397
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "5.0.0-beta.1",
4
- "inputDigest": "sha256:7d9e27b843bce201ea8db4fea0de44bca45d4d9a1629b9cf272827acb59a4d08",
3
+ "version": "5.0.0-beta.11",
4
+ "inputDigest": "sha256:869482aa584cd81bc6d87d4814c6795016bcc23b2a83b9ea3564036569c70889",
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": "805d158f4d99b2fcc318f995efbbf219a8c577952b0785d0da63916d52fc33f8"
12
+ "sha256": "49e3aaf5a6c6154474618f4845453461f9ce917692c219c8e23323aeb9d3d3ec"
13
13
  },
14
14
  {
15
15
  "path": "codex-hook-cli.d.ts",