lazycodex-ai 5.1.41 → 5.1.43

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 (78) hide show
  1. package/README.de.md +118 -0
  2. package/README.es.md +118 -0
  3. package/README.fr.md +118 -0
  4. package/README.it.md +118 -0
  5. package/README.ja.md +2 -1
  6. package/README.ko.md +2 -1
  7. package/README.md +3 -2
  8. package/README.pt-br.md +118 -0
  9. package/README.ru.md +2 -1
  10. package/README.zh-cn.md +2 -1
  11. package/dist/cli/index.js +187 -39
  12. package/dist/cli/service-auth/cli-keystore.fixture.d.ts +1 -7
  13. package/dist/cli/service-auth/index.d.ts +3 -0
  14. package/dist/cli/service-auth/keystore.d.ts +8 -2
  15. package/dist/cli/service-auth/secret-service-lock.d.ts +4 -0
  16. package/dist/cli/service-auth/session.d.ts +7 -1
  17. package/dist/cli-node/index.js +187 -39
  18. package/package.json +1 -1
  19. package/packages/lsp-daemon/dist/cli.js +363 -35
  20. package/packages/lsp-daemon/dist/client.js +341 -13
  21. package/packages/lsp-daemon/dist/index.js +344 -16
  22. package/packages/lsp-tools-mcp/dist/cli.js +333 -5
  23. package/packages/lsp-tools-mcp/dist/mcp.js +333 -5
  24. package/packages/lsp-tools-mcp/dist/tools.js +333 -5
  25. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  26. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +68 -9
  27. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  28. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  32. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  36. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +358 -36
  37. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  38. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  40. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  41. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  42. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  43. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +2 -0
  44. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +2 -0
  45. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  46. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  47. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  48. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  49. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  50. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  51. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  52. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  65. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  66. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  67. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  68. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  69. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  70. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  71. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  72. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  74. package/packages/omo-codex/plugin/package-lock.json +17 -12
  75. package/packages/omo-codex/plugin/package.json +1 -1
  76. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  77. package/packages/omo-codex/scripts/install-dist/install-local.mjs +72 -11
  78. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // omo-codex-install:b93c8a23ccfb735feb527d0eb908268e037e0bf2991d36923501d67a335c7f6e:6062641acd173ed604879322dfb8008ad35f96a8286ebc8dfecd7cc90bd35467
2
+ // omo-codex-install:2ea0e34a063b5132105599626c6b47d94d137afb13e7a55c26c6c4921c162571:c630cf02b0c37ca61c5c487cb4c8371d6ceef2a0de9802dd80f8c535355cd0b5
3
3
  var __esm = (fn, res, err) => () => {
4
4
  if (fn)
5
5
  try {
@@ -284,6 +284,8 @@ function toDiagnosticRecord(input, now) {
284
284
  timestamp: now.toISOString(),
285
285
  event: input.event,
286
286
  source: input.source,
287
+ ...input.entryKind === undefined ? {} : { entry_kind: input.entryKind },
288
+ ...input.errorCode === undefined ? {} : { error_code: input.errorCode },
287
289
  ...input.count === undefined ? {} : { count: input.count },
288
290
  ...serializeError(input.error, input.errorKind)
289
291
  };
@@ -10036,7 +10038,7 @@ var package_default;
10036
10038
  var init_package = __esm(() => {
10037
10039
  package_default = {
10038
10040
  name: "@oh-my-opencode/omo-codex",
10039
- version: "5.1.41",
10041
+ version: "5.1.43",
10040
10042
  type: "module",
10041
10043
  private: true,
10042
10044
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -19651,9 +19653,11 @@ var OmoMemoryAgentOverridesSchema = object({
19651
19653
  projection: OmoMemoryProjectionLayerSchema.optional(),
19652
19654
  compile_warn_tokens: number2().int().positive().optional()
19653
19655
  }).strict();
19656
+ var OmoMemoryAutoIdentitySchema = _enum(["path", "git"]);
19654
19657
  var OmoMemorySettingsSchema = object({
19655
19658
  enabled: boolean2().default(true),
19656
19659
  agent: string2().min(1).default("auto"),
19660
+ auto_identity: OmoMemoryAutoIdentitySchema.default("path"),
19657
19661
  reflection: OmoMemoryReflectionSchema.default({
19658
19662
  enabled: true,
19659
19663
  trigger: { step_count: 25, on_compaction: true },
@@ -19695,6 +19699,7 @@ var OmoMemorySettingsSchema = object({
19695
19699
  var OmoMemorySettingsLayerSchema = object({
19696
19700
  enabled: boolean2().optional(),
19697
19701
  agent: string2().min(1).optional(),
19702
+ auto_identity: OmoMemoryAutoIdentitySchema.optional(),
19698
19703
  reflection: OmoMemoryReflectionLayerSchema.optional(),
19699
19704
  nudge: OmoMemoryNudgeLayerSchema.optional(),
19700
19705
  facts: OmoMemoryFactsLayerSchema.optional(),
@@ -19733,6 +19738,7 @@ function isRecord6(value) {
19733
19738
  }
19734
19739
  var OmoModelProfileInputSchema = object({
19735
19740
  display_name: string2().optional(),
19741
+ caution: string2().optional(),
19736
19742
  family: _enum(["daily", "geeky"]).optional(),
19737
19743
  tier: _enum(["normal", "heavy"]).optional(),
19738
19744
  models: array(union([string2(), OmoFallbackModelObjectSchema])).optional()
@@ -20004,6 +20010,7 @@ var OmoGatewaySectionSchema = record(string2(), unknown()).describe("Chat-surfac
20004
20010
  // packages/omo-config-core/src/schema/config.ts
20005
20011
  var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
20006
20012
  var OmoDisabledSkillsSchema = array(string2());
20013
+ var OmoExcludedModelsSchema = array(string2());
20007
20014
  var OmoTypedHarnessConfigSchema = object({
20008
20015
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
20009
20016
  gateway: OmoGatewaySectionSchema.optional(),
@@ -20019,7 +20026,8 @@ var OmoTypedHarnessConfigSchema = object({
20019
20026
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
20020
20027
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
20021
20028
  computer: OmoComputerSettingsLayerSchema.optional(),
20022
- disabled_skills: OmoDisabledSkillsSchema.optional()
20029
+ disabled_skills: OmoDisabledSkillsSchema.optional(),
20030
+ exclude_models: OmoExcludedModelsSchema.optional()
20023
20031
  }).strict();
20024
20032
  var OmoConfigProfileSchema = object({
20025
20033
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
@@ -20036,6 +20044,7 @@ var OmoConfigProfileSchema = object({
20036
20044
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
20037
20045
  computer: OmoComputerSettingsLayerSchema.optional(),
20038
20046
  disabled_skills: OmoDisabledSkillsSchema.optional(),
20047
+ exclude_models: OmoExcludedModelsSchema.optional(),
20039
20048
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
20040
20049
  "[native]": OmoTypedHarnessConfigSchema.optional(),
20041
20050
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
@@ -20058,6 +20067,7 @@ var OmoConfigSchema = object({
20058
20067
  side_panel: OmoSidePanelSettingsSchema.optional(),
20059
20068
  computer: OmoComputerSettingsSchema.optional(),
20060
20069
  disabled_skills: OmoDisabledSkillsSchema.optional(),
20070
+ exclude_models: OmoExcludedModelsSchema.optional(),
20061
20071
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
20062
20072
  "[native]": OmoTypedHarnessConfigSchema.optional(),
20063
20073
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
@@ -20083,6 +20093,7 @@ var OmoConfigLayerSchema = object({
20083
20093
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
20084
20094
  computer: OmoComputerSettingsLayerSchema.optional(),
20085
20095
  disabled_skills: OmoDisabledSkillsSchema.optional(),
20096
+ exclude_models: OmoExcludedModelsSchema.optional(),
20086
20097
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
20087
20098
  "[native]": OmoTypedHarnessConfigSchema.optional(),
20088
20099
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
@@ -20206,6 +20217,50 @@ var DEFAULT_READ_FILE_SYSTEM = {
20206
20217
  realpathSync: realpathSync2
20207
20218
  };
20208
20219
 
20220
+ // packages/omo-config-core/src/loader/disabled-skills.ts
20221
+ function toRecord(value) {
20222
+ if (value === null || typeof value !== "object" || Array.isArray(value))
20223
+ return;
20224
+ return value;
20225
+ }
20226
+ function namesAt(record, key) {
20227
+ const value = record?.[key];
20228
+ if (!Array.isArray(value))
20229
+ return [];
20230
+ return value.filter((entry) => typeof entry === "string" && entry.trim() !== "");
20231
+ }
20232
+ function harnessBlockKeys(harness) {
20233
+ const canonical = canonicalHarnessName(harness);
20234
+ const legacy = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([name]) => harnessBlockKey(name));
20235
+ return [harnessBlockKey(canonical), ...legacy];
20236
+ }
20237
+ function scopesOf(config, harness) {
20238
+ if (harness === undefined)
20239
+ return [config];
20240
+ return [config, ...harnessBlockKeys(harness).map((key) => toRecord(config[key]))];
20241
+ }
20242
+ function collectExcludedModels(options) {
20243
+ return collectUnionedList("exclude_models", options);
20244
+ }
20245
+ function collectUnionedList(key, options) {
20246
+ const names = new Set;
20247
+ for (const layer of options.layers) {
20248
+ const config = toRecord(layer.config);
20249
+ if (config === undefined)
20250
+ continue;
20251
+ const profile = options.profile === undefined ? undefined : toRecord(toRecord(config["profiles"])?.[options.profile]);
20252
+ const scopes = [
20253
+ ...scopesOf(config, options.harness),
20254
+ ...profile === undefined ? [] : scopesOf(profile, options.harness)
20255
+ ];
20256
+ for (const scope of scopes) {
20257
+ for (const name of namesAt(scope, key))
20258
+ names.add(name.trim());
20259
+ }
20260
+ }
20261
+ return [...names];
20262
+ }
20263
+
20209
20264
  // node_modules/.bun/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/scanner.js
20210
20265
  function createScanner(text, ignoreTrivia = false) {
20211
20266
  const len = text.length;
@@ -21278,7 +21333,7 @@ function stripUnrecognizedKeys(record, issues) {
21278
21333
  }
21279
21334
  return { issuePaths, stripped };
21280
21335
  }
21281
- function toRecord(value) {
21336
+ function toRecord2(value) {
21282
21337
  if (value === null || typeof value !== "object" || Array.isArray(value))
21283
21338
  return null;
21284
21339
  const record = {};
@@ -21293,7 +21348,7 @@ var validateLayerRecord = (record) => {
21293
21348
  };
21294
21349
  function validateConfigLayer(path, data) {
21295
21350
  const sanitized = sanitizeUnsafeKeys(data);
21296
- const record = toRecord(sanitized.value);
21351
+ const record = toRecord2(sanitized.value);
21297
21352
  const unsafeIssuePaths = sanitized.issues.flatMap((issue) => issue.keys.map((key) => [...issue.path, key].join(".")));
21298
21353
  const unsafeDiagnostics = unsafeIssuePaths.length === 0 ? [] : [{ kind: "unknown-keys", message: `Ignored unknown keys in ${path}: ${unsafeIssuePaths.join(", ")}`, path, issuePaths: unsafeIssuePaths }];
21299
21354
  const validation = OmoConfigLayerSchema.safeParse(sanitized.value);
@@ -21433,7 +21488,7 @@ function resolveOmoProfileName(options = {}) {
21433
21488
  const env = options.env ?? process.env;
21434
21489
  return profileName(options.profile) ?? profileName(env["OMO_PROFILE"]) ?? profileName(env["OCX_PROFILE"]) ?? profileNameFromOpenCodeConfigDir(env["OPENCODE_CONFIG_DIR"]);
21435
21490
  }
21436
- function toRecord2(value) {
21491
+ function toRecord3(value) {
21437
21492
  if (value === null || typeof value !== "object" || Array.isArray(value))
21438
21493
  return;
21439
21494
  return Object.fromEntries(Object.entries(value));
@@ -21454,13 +21509,13 @@ function harnessLayer(config, harness) {
21454
21509
  const legacyKeys = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([legacy]) => harnessBlockKey(legacy));
21455
21510
  let layer = {};
21456
21511
  for (const key of [...legacyKeys, harnessBlockKey(canonical)]) {
21457
- layer = mergeOmoConfigRecords(layer, toRecord2(config[key]) ?? {});
21512
+ layer = mergeOmoConfigRecords(layer, toRecord3(config[key]) ?? {});
21458
21513
  }
21459
21514
  return layer;
21460
21515
  }
21461
21516
  function resolveOmoConfigView(options) {
21462
- const profiles = toRecord2(options.config["profiles"]);
21463
- const profile = options.profile === undefined ? undefined : toRecord2(profiles?.[options.profile]);
21517
+ const profiles = toRecord3(options.config["profiles"]);
21518
+ const profile = options.profile === undefined ? undefined : toRecord3(profiles?.[options.profile]);
21464
21519
  const diagnostics = profile === undefined && options.profile !== undefined ? [{
21465
21520
  kind: "profile",
21466
21521
  message: `Activated omo profile "${options.profile}" does not exist; using the base configuration`,
@@ -21601,9 +21656,15 @@ function loadOmoConfig(options = {}) {
21601
21656
  });
21602
21657
  const finalInput = mergeOmoConfigRecords(DEFAULT_RAW_CONFIG, resolved.config);
21603
21658
  const finalConfig = OmoConfigSchema.safeParse(finalInput);
21659
+ const excludeModels = collectExcludedModels({
21660
+ layers,
21661
+ ...options.harness === undefined ? {} : { harness: options.harness },
21662
+ ...resolved.profile === undefined ? {} : { profile: resolved.profile }
21663
+ });
21664
+ const withExcludedModels = (config) => excludeModels.length === 0 ? config : { ...config, exclude_models: [...excludeModels] };
21604
21665
  if (finalConfig.success) {
21605
21666
  return {
21606
- config: stripResolutionControlKeys(finalConfig.data),
21667
+ config: withExcludedModels(stripResolutionControlKeys(finalConfig.data)),
21607
21668
  diagnostics: [...diagnostics, ...resolved.diagnostics],
21608
21669
  layers,
21609
21670
  ...resolved.profile === undefined ? {} : { profile: resolved.profile },
@@ -21616,7 +21677,7 @@ function loadOmoConfig(options = {}) {
21616
21677
  });
21617
21678
  if (pruned.ok) {
21618
21679
  return {
21619
- config: stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config)),
21680
+ config: withExcludedModels(stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config))),
21620
21681
  diagnostics: [...diagnostics, ...resolved.diagnostics, ...invalidValueDiagnostics(MERGED_OMO_CONFIG_PATH, pruned.dropped)],
21621
21682
  layers,
21622
21683
  ...resolved.profile === undefined ? {} : { profile: resolved.profile },
@@ -5,5 +5,5 @@
5
5
  "index.js": "d67d3a847fe0bbc43e824feded48b280890d31879538309e671cd5f671133995",
6
6
  "page-bundle.js": "bfd51e8383cf47200d57387bbbed258bce5a3a3d00c38fc108034d2888e23f0c"
7
7
  },
8
- "stagedAtUtc": "2026-10-22T12:33:03.780Z"
8
+ "stagedAtUtc": "2026-10-22T23:36:37.978Z"
9
9
  }