lazycodex-ai 5.1.7 → 5.1.9

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 (65) hide show
  1. package/dist/cli/index.js +35 -43
  2. package/dist/cli-node/index.js +35 -43
  3. package/package.json +1 -1
  4. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  5. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +12 -3
  6. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  7. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  8. package/packages/omo-codex/plugin/components/bootstrap/test/download.test.ts +0 -16
  9. package/packages/omo-codex/plugin/components/bootstrap/test/environment.test.ts +3 -0
  10. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  11. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  12. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  13. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  15. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  17. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  18. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  19. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +0 -27
  20. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  21. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  22. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  23. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  27. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/ultrawork/test/directive-source.test.ts +0 -6
  29. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +0 -15
  30. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  31. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  33. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  34. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  35. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  36. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  55. package/packages/omo-codex/plugin/package-lock.json +12 -12
  56. package/packages/omo-codex/plugin/package.json +1 -1
  57. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  58. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
  59. package/packages/omo-codex/plugin/skills/debugging/references/methodology/06-fix.md +8 -0
  60. package/packages/omo-codex/plugin/test/AGENTS.md +11 -0
  61. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +0 -50
  62. package/packages/omo-codex/scripts/install-dist/install-local.mjs +14 -5
  63. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  64. package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
  65. package/packages/shared-skills/skills/debugging/references/methodology/06-fix.md +8 -0
package/dist/cli/index.js CHANGED
@@ -64,7 +64,7 @@ var package_default;
64
64
  var init_package = __esm(() => {
65
65
  package_default = {
66
66
  name: "oh-my-opencode",
67
- version: "5.1.7",
67
+ version: "5.1.9",
68
68
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
69
69
  main: "./dist/index.js",
70
70
  types: "dist/index.d.ts",
@@ -241,7 +241,7 @@ var init_package = __esm(() => {
241
241
  },
242
242
  devDependencies: {
243
243
  "@clack/prompts": "^1.8.1",
244
- "@code-yeongyu/senpi": "2026.9.30",
244
+ "@code-yeongyu/senpi": "2026.10.1-3",
245
245
  "@modelcontextprotocol/sdk": "^1.30.0",
246
246
  "@oh-my-opencode/agents-md-core": "workspace:*",
247
247
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -299,18 +299,18 @@ var init_package = __esm(() => {
299
299
  typescript: "^7.0.2"
300
300
  },
301
301
  optionalDependencies: {
302
- "oh-my-opencode-darwin-arm64": "5.1.7",
303
- "oh-my-opencode-darwin-x64": "5.1.7",
304
- "oh-my-opencode-darwin-x64-baseline": "5.1.7",
305
- "oh-my-opencode-linux-arm64": "5.1.7",
306
- "oh-my-opencode-linux-arm64-musl": "5.1.7",
307
- "oh-my-opencode-linux-x64": "5.1.7",
308
- "oh-my-opencode-linux-x64-baseline": "5.1.7",
309
- "oh-my-opencode-linux-x64-musl": "5.1.7",
310
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.7",
311
- "oh-my-opencode-windows-arm64": "5.1.7",
312
- "oh-my-opencode-windows-x64": "5.1.7",
313
- "oh-my-opencode-windows-x64-baseline": "5.1.7"
302
+ "oh-my-opencode-darwin-arm64": "5.1.9",
303
+ "oh-my-opencode-darwin-x64": "5.1.9",
304
+ "oh-my-opencode-darwin-x64-baseline": "5.1.9",
305
+ "oh-my-opencode-linux-arm64": "5.1.9",
306
+ "oh-my-opencode-linux-arm64-musl": "5.1.9",
307
+ "oh-my-opencode-linux-x64": "5.1.9",
308
+ "oh-my-opencode-linux-x64-baseline": "5.1.9",
309
+ "oh-my-opencode-linux-x64-musl": "5.1.9",
310
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.9",
311
+ "oh-my-opencode-windows-arm64": "5.1.9",
312
+ "oh-my-opencode-windows-x64": "5.1.9",
313
+ "oh-my-opencode-windows-x64-baseline": "5.1.9"
314
314
  },
315
315
  overrides: {
316
316
  hono: "^4.13.8",
@@ -7407,7 +7407,7 @@ var init_category_model_requirements = __esm(() => {
7407
7407
  {
7408
7408
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
7409
7409
  model: "gpt-6-astra",
7410
- variant: "xhigh"
7410
+ variant: "high"
7411
7411
  }
7412
7412
  ]
7413
7413
  },
@@ -9516,7 +9516,7 @@ var init_openai_categories = __esm(() => {
9516
9516
  },
9517
9517
  {
9518
9518
  name: "deep-high",
9519
- config: { model: "openai/gpt-6-astra", variant: "xhigh" },
9519
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9520
9520
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
9521
9521
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
9522
9522
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -68191,28 +68191,6 @@ var init_legacy_workspace_migration = __esm(() => {
68191
68191
  // packages/omo-opencode/src/shared/model-string-parser.ts
68192
68192
  var init_model_string_parser2 = () => {};
68193
68193
 
68194
- // packages/omo-opencode/src/shared/excluded-dirs.ts
68195
- var EXCLUDED_DIR_NAMES, EXCLUDED_DIRS;
68196
- var init_excluded_dirs = __esm(() => {
68197
- EXCLUDED_DIR_NAMES = [
68198
- "node_modules",
68199
- ".git",
68200
- "dist",
68201
- "build",
68202
- ".next",
68203
- ".omo",
68204
- ".sisyphus",
68205
- ".turbo",
68206
- "coverage",
68207
- "out",
68208
- ".cache",
68209
- ".vscode-test",
68210
- "target",
68211
- ".local-ignore"
68212
- ];
68213
- EXCLUDED_DIRS = Object.freeze(new Set(EXCLUDED_DIR_NAMES));
68214
- });
68215
-
68216
68194
  // packages/omo-opencode/src/shared/replace-tool-args.ts
68217
68195
  var init_replace_tool_args = () => {};
68218
68196
 
@@ -68223,7 +68201,6 @@ var init_shared = __esm(() => {
68223
68201
  init_model_resolution_pipeline();
68224
68202
  init_session_category_registry();
68225
68203
  init_model_string_parser2();
68226
- init_excluded_dirs();
68227
68204
  init_frontmatter2();
68228
68205
  init_command_executor2();
68229
68206
  init_contains_path2();
@@ -74610,7 +74587,8 @@ var init_memory = __esm(() => {
74610
74587
  event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
74611
74588
  sidecar_max_tokens: number2().int().positive().default(48000),
74612
74589
  max_concurrent_wakes: number2().int().positive().default(2),
74613
- tool_budget: number2().int().positive().default(8)
74590
+ tool_budget: number2().int().positive().default(8),
74591
+ query_expansion: boolean2().default(false)
74614
74592
  }).strict();
74615
74593
  OmoMemoryNudgeSchema = object({
74616
74594
  enabled: boolean2().default(true),
@@ -74671,7 +74649,8 @@ var init_memory = __esm(() => {
74671
74649
  event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
74672
74650
  sidecar_max_tokens: number2().int().positive().optional(),
74673
74651
  max_concurrent_wakes: number2().int().positive().optional(),
74674
- tool_budget: number2().int().positive().optional()
74652
+ tool_budget: number2().int().positive().optional(),
74653
+ query_expansion: boolean2().optional()
74675
74654
  }).strict();
74676
74655
  OmoMemoryNudgeLayerSchema = object({
74677
74656
  enabled: boolean2().optional(),
@@ -74748,7 +74727,8 @@ var init_memory = __esm(() => {
74748
74727
  event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
74749
74728
  sidecar_max_tokens: 48000,
74750
74729
  max_concurrent_wakes: 2,
74751
- tool_budget: 8
74730
+ tool_budget: 8,
74731
+ query_expansion: false
74752
74732
  }),
74753
74733
  compile_warn_tokens: number2().int().positive().default(30000),
74754
74734
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
@@ -75034,6 +75014,13 @@ var init_format_on_mutation = __esm(() => {
75034
75014
  }).strict();
75035
75015
  });
75036
75016
 
75017
+ // packages/omo-config-core/src/schema/gateway.ts
75018
+ var OmoGatewaySectionSchema;
75019
+ var init_gateway = __esm(() => {
75020
+ init_zod();
75021
+ OmoGatewaySectionSchema = record(string2(), unknown()).describe("Chat-surface gateway settings, owned and validated by a separately installed gateway package. omo accepts the key and never reads it.");
75022
+ });
75023
+
75037
75024
  // packages/omo-config-core/src/schema/config.ts
75038
75025
  var OmoOpenCodeHarnessConfigSchema, OmoDisabledSkillsSchema, OmoTypedHarnessConfigSchema, OmoConfigProfileSchema, OmoConfigSchema, OmoConfigLayerSchema;
75039
75026
  var init_config = __esm(() => {
@@ -75049,10 +75036,12 @@ var init_config = __esm(() => {
75049
75036
  init_team();
75050
75037
  init_telemetry();
75051
75038
  init_format_on_mutation();
75039
+ init_gateway();
75052
75040
  OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
75053
75041
  OmoDisabledSkillsSchema = array(string2());
75054
75042
  OmoTypedHarnessConfigSchema = object({
75055
75043
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
75044
+ gateway: OmoGatewaySectionSchema.optional(),
75056
75045
  categories: OmoCategoriesConfigSchema.optional(),
75057
75046
  agents: OmoAgentsConfigSchema.optional(),
75058
75047
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -75087,6 +75076,7 @@ var init_config = __esm(() => {
75087
75076
  }).strict();
75088
75077
  OmoConfigSchema = object({
75089
75078
  formatOnMutation: OmoFormatOnMutationSchema.optional(),
75079
+ gateway: OmoGatewaySectionSchema.optional(),
75090
75080
  $schema: string2().optional(),
75091
75081
  categories: OmoCategoriesConfigSchema.optional(),
75092
75082
  agents: OmoAgentsConfigSchema.optional(),
@@ -75110,6 +75100,7 @@ var init_config = __esm(() => {
75110
75100
  }).strict();
75111
75101
  OmoConfigLayerSchema = object({
75112
75102
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
75103
+ gateway: OmoGatewaySectionSchema.optional(),
75113
75104
  $schema: string2().optional(),
75114
75105
  categories: OmoCategoriesConfigSchema.optional(),
75115
75106
  agents: OmoAgentsConfigSchema.optional(),
@@ -75256,6 +75247,7 @@ var init_schema = __esm(() => {
75256
75247
  init_config();
75257
75248
  init_fallback_models();
75258
75249
  init_format_on_mutation();
75250
+ init_gateway();
75259
75251
  init_git_master();
75260
75252
  init_harness();
75261
75253
  init_legacy_category_names();
@@ -89377,7 +89369,7 @@ var package_default2;
89377
89369
  var init_package2 = __esm(() => {
89378
89370
  package_default2 = {
89379
89371
  name: "@oh-my-opencode/omo-codex",
89380
- version: "5.1.7",
89372
+ version: "5.1.9",
89381
89373
  type: "module",
89382
89374
  private: true,
89383
89375
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -65,7 +65,7 @@ var package_default;
65
65
  var init_package = __esm(() => {
66
66
  package_default = {
67
67
  name: "oh-my-opencode",
68
- version: "5.1.7",
68
+ version: "5.1.9",
69
69
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
70
70
  main: "./dist/index.js",
71
71
  types: "dist/index.d.ts",
@@ -242,7 +242,7 @@ var init_package = __esm(() => {
242
242
  },
243
243
  devDependencies: {
244
244
  "@clack/prompts": "^1.8.1",
245
- "@code-yeongyu/senpi": "2026.9.30",
245
+ "@code-yeongyu/senpi": "2026.10.1-3",
246
246
  "@modelcontextprotocol/sdk": "^1.30.0",
247
247
  "@oh-my-opencode/agents-md-core": "workspace:*",
248
248
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -300,18 +300,18 @@ var init_package = __esm(() => {
300
300
  typescript: "^7.0.2"
301
301
  },
302
302
  optionalDependencies: {
303
- "oh-my-opencode-darwin-arm64": "5.1.7",
304
- "oh-my-opencode-darwin-x64": "5.1.7",
305
- "oh-my-opencode-darwin-x64-baseline": "5.1.7",
306
- "oh-my-opencode-linux-arm64": "5.1.7",
307
- "oh-my-opencode-linux-arm64-musl": "5.1.7",
308
- "oh-my-opencode-linux-x64": "5.1.7",
309
- "oh-my-opencode-linux-x64-baseline": "5.1.7",
310
- "oh-my-opencode-linux-x64-musl": "5.1.7",
311
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.7",
312
- "oh-my-opencode-windows-arm64": "5.1.7",
313
- "oh-my-opencode-windows-x64": "5.1.7",
314
- "oh-my-opencode-windows-x64-baseline": "5.1.7"
303
+ "oh-my-opencode-darwin-arm64": "5.1.9",
304
+ "oh-my-opencode-darwin-x64": "5.1.9",
305
+ "oh-my-opencode-darwin-x64-baseline": "5.1.9",
306
+ "oh-my-opencode-linux-arm64": "5.1.9",
307
+ "oh-my-opencode-linux-arm64-musl": "5.1.9",
308
+ "oh-my-opencode-linux-x64": "5.1.9",
309
+ "oh-my-opencode-linux-x64-baseline": "5.1.9",
310
+ "oh-my-opencode-linux-x64-musl": "5.1.9",
311
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.9",
312
+ "oh-my-opencode-windows-arm64": "5.1.9",
313
+ "oh-my-opencode-windows-x64": "5.1.9",
314
+ "oh-my-opencode-windows-x64-baseline": "5.1.9"
315
315
  },
316
316
  overrides: {
317
317
  hono: "^4.13.8",
@@ -7408,7 +7408,7 @@ var init_category_model_requirements = __esm(() => {
7408
7408
  {
7409
7409
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
7410
7410
  model: "gpt-6-astra",
7411
- variant: "xhigh"
7411
+ variant: "high"
7412
7412
  }
7413
7413
  ]
7414
7414
  },
@@ -9517,7 +9517,7 @@ var init_openai_categories = __esm(() => {
9517
9517
  },
9518
9518
  {
9519
9519
  name: "deep-high",
9520
- config: { model: "openai/gpt-6-astra", variant: "xhigh" },
9520
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9521
9521
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
9522
9522
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
9523
9523
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -68270,28 +68270,6 @@ var init_legacy_workspace_migration = __esm(() => {
68270
68270
  // packages/omo-opencode/src/shared/model-string-parser.ts
68271
68271
  var init_model_string_parser2 = () => {};
68272
68272
 
68273
- // packages/omo-opencode/src/shared/excluded-dirs.ts
68274
- var EXCLUDED_DIR_NAMES, EXCLUDED_DIRS;
68275
- var init_excluded_dirs = __esm(() => {
68276
- EXCLUDED_DIR_NAMES = [
68277
- "node_modules",
68278
- ".git",
68279
- "dist",
68280
- "build",
68281
- ".next",
68282
- ".omo",
68283
- ".sisyphus",
68284
- ".turbo",
68285
- "coverage",
68286
- "out",
68287
- ".cache",
68288
- ".vscode-test",
68289
- "target",
68290
- ".local-ignore"
68291
- ];
68292
- EXCLUDED_DIRS = Object.freeze(new Set(EXCLUDED_DIR_NAMES));
68293
- });
68294
-
68295
68273
  // packages/omo-opencode/src/shared/replace-tool-args.ts
68296
68274
  var init_replace_tool_args = () => {};
68297
68275
 
@@ -68302,7 +68280,6 @@ var init_shared = __esm(() => {
68302
68280
  init_model_resolution_pipeline();
68303
68281
  init_session_category_registry();
68304
68282
  init_model_string_parser2();
68305
- init_excluded_dirs();
68306
68283
  init_frontmatter2();
68307
68284
  init_command_executor2();
68308
68285
  init_contains_path2();
@@ -74689,7 +74666,8 @@ var init_memory = __esm(() => {
74689
74666
  event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
74690
74667
  sidecar_max_tokens: number2().int().positive().default(48000),
74691
74668
  max_concurrent_wakes: number2().int().positive().default(2),
74692
- tool_budget: number2().int().positive().default(8)
74669
+ tool_budget: number2().int().positive().default(8),
74670
+ query_expansion: boolean2().default(false)
74693
74671
  }).strict();
74694
74672
  OmoMemoryNudgeSchema = object({
74695
74673
  enabled: boolean2().default(true),
@@ -74750,7 +74728,8 @@ var init_memory = __esm(() => {
74750
74728
  event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
74751
74729
  sidecar_max_tokens: number2().int().positive().optional(),
74752
74730
  max_concurrent_wakes: number2().int().positive().optional(),
74753
- tool_budget: number2().int().positive().optional()
74731
+ tool_budget: number2().int().positive().optional(),
74732
+ query_expansion: boolean2().optional()
74754
74733
  }).strict();
74755
74734
  OmoMemoryNudgeLayerSchema = object({
74756
74735
  enabled: boolean2().optional(),
@@ -74827,7 +74806,8 @@ var init_memory = __esm(() => {
74827
74806
  event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
74828
74807
  sidecar_max_tokens: 48000,
74829
74808
  max_concurrent_wakes: 2,
74830
- tool_budget: 8
74809
+ tool_budget: 8,
74810
+ query_expansion: false
74831
74811
  }),
74832
74812
  compile_warn_tokens: number2().int().positive().default(30000),
74833
74813
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
@@ -75113,6 +75093,13 @@ var init_format_on_mutation = __esm(() => {
75113
75093
  }).strict();
75114
75094
  });
75115
75095
 
75096
+ // packages/omo-config-core/src/schema/gateway.ts
75097
+ var OmoGatewaySectionSchema;
75098
+ var init_gateway = __esm(() => {
75099
+ init_zod();
75100
+ OmoGatewaySectionSchema = record(string2(), unknown()).describe("Chat-surface gateway settings, owned and validated by a separately installed gateway package. omo accepts the key and never reads it.");
75101
+ });
75102
+
75116
75103
  // packages/omo-config-core/src/schema/config.ts
75117
75104
  var OmoOpenCodeHarnessConfigSchema, OmoDisabledSkillsSchema, OmoTypedHarnessConfigSchema, OmoConfigProfileSchema, OmoConfigSchema, OmoConfigLayerSchema;
75118
75105
  var init_config = __esm(() => {
@@ -75128,10 +75115,12 @@ var init_config = __esm(() => {
75128
75115
  init_team();
75129
75116
  init_telemetry();
75130
75117
  init_format_on_mutation();
75118
+ init_gateway();
75131
75119
  OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
75132
75120
  OmoDisabledSkillsSchema = array(string2());
75133
75121
  OmoTypedHarnessConfigSchema = object({
75134
75122
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
75123
+ gateway: OmoGatewaySectionSchema.optional(),
75135
75124
  categories: OmoCategoriesConfigSchema.optional(),
75136
75125
  agents: OmoAgentsConfigSchema.optional(),
75137
75126
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -75166,6 +75155,7 @@ var init_config = __esm(() => {
75166
75155
  }).strict();
75167
75156
  OmoConfigSchema = object({
75168
75157
  formatOnMutation: OmoFormatOnMutationSchema.optional(),
75158
+ gateway: OmoGatewaySectionSchema.optional(),
75169
75159
  $schema: string2().optional(),
75170
75160
  categories: OmoCategoriesConfigSchema.optional(),
75171
75161
  agents: OmoAgentsConfigSchema.optional(),
@@ -75189,6 +75179,7 @@ var init_config = __esm(() => {
75189
75179
  }).strict();
75190
75180
  OmoConfigLayerSchema = object({
75191
75181
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
75182
+ gateway: OmoGatewaySectionSchema.optional(),
75192
75183
  $schema: string2().optional(),
75193
75184
  categories: OmoCategoriesConfigSchema.optional(),
75194
75185
  agents: OmoAgentsConfigSchema.optional(),
@@ -75335,6 +75326,7 @@ var init_schema = __esm(() => {
75335
75326
  init_config();
75336
75327
  init_fallback_models();
75337
75328
  init_format_on_mutation();
75329
+ init_gateway();
75338
75330
  init_git_master();
75339
75331
  init_harness();
75340
75332
  init_legacy_category_names();
@@ -89456,7 +89448,7 @@ var package_default2;
89456
89448
  var init_package2 = __esm(() => {
89457
89449
  package_default2 = {
89458
89450
  name: "@oh-my-opencode/omo-codex",
89459
- version: "5.1.7",
89451
+ version: "5.1.9",
89460
89452
  type: "module",
89461
89453
  private: true,
89462
89454
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazycodex-ai",
3
- "version": "5.1.7",
3
+ "version": "5.1.9",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.1.7",
3
+ "version": "5.1.9",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",
@@ -7148,7 +7148,8 @@ var OmoMemoryRecallSchema = object({
7148
7148
  event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
7149
7149
  sidecar_max_tokens: number2().int().positive().default(48000),
7150
7150
  max_concurrent_wakes: number2().int().positive().default(2),
7151
- tool_budget: number2().int().positive().default(8)
7151
+ tool_budget: number2().int().positive().default(8),
7152
+ query_expansion: boolean2().default(false)
7152
7153
  }).strict();
7153
7154
  var OmoMemoryNudgeSchema = object({
7154
7155
  enabled: boolean2().default(true),
@@ -7209,7 +7210,8 @@ var OmoMemoryRecallLayerSchema = object({
7209
7210
  event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
7210
7211
  sidecar_max_tokens: number2().int().positive().optional(),
7211
7212
  max_concurrent_wakes: number2().int().positive().optional(),
7212
- tool_budget: number2().int().positive().optional()
7213
+ tool_budget: number2().int().positive().optional(),
7214
+ query_expansion: boolean2().optional()
7213
7215
  }).strict();
7214
7216
  var OmoMemoryNudgeLayerSchema = object({
7215
7217
  enabled: boolean2().optional(),
@@ -7286,7 +7288,8 @@ var OmoMemorySettingsSchema = object({
7286
7288
  event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
7287
7289
  sidecar_max_tokens: 48000,
7288
7290
  max_concurrent_wakes: 2,
7289
- tool_budget: 8
7291
+ tool_budget: 8,
7292
+ query_expansion: false
7290
7293
  }),
7291
7294
  compile_warn_tokens: number2().int().positive().default(30000),
7292
7295
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
@@ -7545,11 +7548,15 @@ var OmoFormatOnMutationSchema = OmoFormatOnMutationLayerSchema.extend({
7545
7548
  timeoutMs: number2().int().positive().default(3000)
7546
7549
  }).strict();
7547
7550
 
7551
+ // ../../omo-config-core/src/schema/gateway.ts
7552
+ var OmoGatewaySectionSchema = record(string2(), unknown()).describe("Chat-surface gateway settings, owned and validated by a separately installed gateway package. omo accepts the key and never reads it.");
7553
+
7548
7554
  // ../../omo-config-core/src/schema/config.ts
7549
7555
  var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
7550
7556
  var OmoDisabledSkillsSchema = array(string2());
7551
7557
  var OmoTypedHarnessConfigSchema = object({
7552
7558
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
7559
+ gateway: OmoGatewaySectionSchema.optional(),
7553
7560
  categories: OmoCategoriesConfigSchema.optional(),
7554
7561
  agents: OmoAgentsConfigSchema.optional(),
7555
7562
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -7584,6 +7591,7 @@ var OmoConfigProfileSchema = object({
7584
7591
  }).strict();
7585
7592
  var OmoConfigSchema = object({
7586
7593
  formatOnMutation: OmoFormatOnMutationSchema.optional(),
7594
+ gateway: OmoGatewaySectionSchema.optional(),
7587
7595
  $schema: string2().optional(),
7588
7596
  categories: OmoCategoriesConfigSchema.optional(),
7589
7597
  agents: OmoAgentsConfigSchema.optional(),
@@ -7607,6 +7615,7 @@ var OmoConfigSchema = object({
7607
7615
  }).strict();
7608
7616
  var OmoConfigLayerSchema = object({
7609
7617
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
7618
+ gateway: OmoGatewaySectionSchema.optional(),
7610
7619
  $schema: string2().optional(),
7611
7620
  categories: OmoCategoriesConfigSchema.optional(),
7612
7621
  agents: OmoAgentsConfigSchema.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.7) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.1.9) 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.7",
3
+ "version": "5.1.9",
4
4
  "description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -262,22 +262,6 @@ describe("downloadFromManifest", () => {
262
262
  });
263
263
 
264
264
  describe("committed manifests", () => {
265
- it("#given the committed ast-grep manifest #when loaded #then every required platform pins an https URL and a sha256", async () => {
266
- // given / when
267
- const manifest = await loadAssetManifest("ast-grep");
268
-
269
- // then
270
- expect(manifest.name).toBe("ast-grep");
271
- expect(manifest.version).toMatch(/^\d+\.\d+\.\d+$/);
272
- for (const platformKey of ["darwin-arm64", "darwin-x64", "linux-x64", "win32-x64"]) {
273
- const asset = manifest.platforms[platformKey];
274
- if (asset === undefined) throw new Error(`missing platform ${platformKey}`);
275
- expect(asset.url).toStartWith("https://");
276
- expect(asset.url).toContain(manifest.version);
277
- expect(asset.sha256).toMatch(/^[a-f0-9]{64}$/);
278
- }
279
- });
280
-
281
265
  it("#given the committed node manifest #when loaded #then the win32-x64 LTS zip pins an https URL and a sha256", async () => {
282
266
  // given / when
283
267
  const manifest = await loadAssetManifest("node");
@@ -373,4 +373,7 @@ async function writeSyncSourceFixture(sourceRoot: string): Promise<void> {
373
373
  await writeExecutableStub(join(sourceRoot, "packages", "git-bash-mcp", "dist", "cli.js"));
374
374
  await writeExecutableStub(join(sourceRoot, "packages", "lsp-tools-mcp", "dist", "cli.js"));
375
375
  await writeExecutableStub(join(sourceRoot, "packages", "lsp-daemon", "dist", "cli.js"));
376
+ // The sync bundles the root CLI and its node fallback too (script/lazycodex-runtime-dists.ts).
377
+ await writeExecutableStub(join(sourceRoot, "dist", "cli", "index.js"));
378
+ await writeExecutableStub(join(sourceRoot, "dist", "cli-node", "index.js"));
376
379
  }
@@ -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.7) Checking Comments"
11
+ "statusMessage": "(OmO 5.1.9) 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.7",
3
+ "version": "5.1.9",
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.7) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.1.9) 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.7) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.1.9) 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.7",
3
+ "version": "5.1.9",
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.7) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.1.9) 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.7",
3
+ "version": "5.1.9",
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.7",
4
- "inputDigest": "sha256:7628ae176ffa5fe1657de3e04fb8944d413281370d4c46b5df7085db4f1ec720",
3
+ "version": "5.1.9",
4
+ "inputDigest": "sha256:408549caf858a9eb5d20f3b2d5b951828904b19d663a0296c992546a061ec3ea",
5
5
  "outputs": [
6
6
  {
7
7
  "path": "cli.d.ts",
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 60,
11
- "statusMessage": "(OmO 5.1.7) Checking LSP Diagnostics"
11
+ "statusMessage": "(OmO 5.1.9) 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.7) Resetting LSP Diagnostics Cache"
24
+ "statusMessage": "(OmO 5.1.9) 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.7",
3
+ "version": "5.1.9",
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",
@@ -16,9 +16,6 @@ describe("plugin package metadata", () => {
16
16
  const hooksJson = readHooksJson("hooks/hooks.json");
17
17
  const mcpJson = readMcpJson(".mcp.json");
18
18
  const cliSource = readTextFile("src/cli.ts");
19
- const daemonCliPathSource = readTextFile("src/daemon-cli-path.ts");
20
- const codexHookCliSource = readTextFile("src/codex-hook-cli.ts");
21
- const codexHookSource = readTextFile("src/codex-hook.ts");
22
19
  const sourceFiles = listDirectoryEntries("src");
23
20
  const scripts = requireScripts(packageJson, "package.json");
24
21
 
@@ -55,30 +52,6 @@ describe("plugin package metadata", () => {
55
52
  },
56
53
  },
57
54
  });
58
- expect(cliSource).not.toContain("./lazy-lsp-mcp.js");
59
- expect(cliSource).toContain("resolveLspDaemonCliPath");
60
- expect(daemonCliPathSource).toContain("@code-yeongyu/lsp-daemon/cli");
61
- expect(daemonCliPathSource).toContain("../../lsp-daemon/dist/cli.js");
62
- expect(daemonCliPathSource).toContain("OMO_LSP_DAEMON_VERSION");
63
- expect(cliSource).not.toContain("../../../../../lsp-daemon/dist/cli.js");
64
- expect(codexHookSource).toContain("ensureLspDaemonCliEnv");
65
- expect(codexHookCliSource).not.toContain("@code-yeongyu/lsp-daemon");
66
- expect(codexHookSource).toContain("@code-yeongyu/lsp-daemon/client");
67
- expect(codexHookSource).toContain("@oh-my-opencode/lsp-core/post-edit");
68
- expect(codexHookSource).toContain("CODEX_HOME");
69
- expect(codexHookCliSource).not.toContain("../../../../../lsp-daemon");
70
- expect(codexHookSource).not.toContain("../../../../../lsp-daemon");
71
55
  expect(sourceFiles.filter((name) => name.startsWith("lazy-mcp") || name === "lazy-lsp-mcp.ts")).toEqual([]);
72
56
  });
73
-
74
- it("#given built component CLI #when runtime imports are inspected #then it is self-contained except Node builtins", () => {
75
- const cliSource = readTextFile("dist/cli.js");
76
- const imports = [
77
- ...cliSource.matchAll(/\bimport\s+(?:[^'";]+?\s+from\s+)?["']([^"']+)["']/g),
78
- ...cliSource.matchAll(/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g),
79
- ].flatMap((match) => (match[1] === undefined ? [] : [match[1]]));
80
- expect(imports.filter((specifier) => !specifier.startsWith("node:"))).toEqual([]);
81
- expect(cliSource).not.toContain("@code-yeongyu/lsp-daemon/client");
82
- expect(cliSource).not.toContain("@oh-my-opencode/lsp-core");
83
- });
84
57
  });