lazycodex-ai 5.1.41 → 5.1.42

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