oh-my-opencode 5.1.23 → 5.1.26

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 (57) hide show
  1. package/dist/cli/index.js +161 -101
  2. package/dist/cli-node/index.js +161 -101
  3. package/dist/index.js +1674 -1451
  4. package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
  5. package/dist/tui.js +210 -150
  6. package/package.json +14 -14
  7. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  8. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +54 -0
  9. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  10. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  11. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  12. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  13. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  14. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  15. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  16. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  17. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  18. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  19. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  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/ulw-execute-continuation/hooks/hooks.json +1 -1
  29. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  30. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  31. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  32. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  33. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  34. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  35. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  36. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  53. package/packages/omo-codex/plugin/package-lock.json +12 -12
  54. package/packages/omo-codex/plugin/package.json +1 -1
  55. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  56. package/packages/omo-codex/scripts/install-dist/install-local.mjs +56 -2
  57. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
@@ -5,5 +5,5 @@
5
5
  "index.js": "b6b064fab277031c6c51f5a58b84b31040f9960bf767bf646adc0540c1d25c1b",
6
6
  "page-bundle.js": "bfd51e8383cf47200d57387bbbed258bce5a3a3d00c38fc108034d2888e23f0c"
7
7
  },
8
- "stagedAtUtc": "2026-10-07T16:27:53.017Z"
8
+ "stagedAtUtc": "2026-10-08T16:22:58.908Z"
9
9
  }
package/dist/tui.js CHANGED
@@ -63507,92 +63507,6 @@ var init_log_legacy_plugin_startup_warning = __esm(() => {
63507
63507
  init_plugin_identity();
63508
63508
  });
63509
63509
 
63510
- // packages/omo-opencode/src/shared/legacy-workspace-migration.ts
63511
- var init_legacy_workspace_migration = __esm(() => {
63512
- init_logger2();
63513
- });
63514
- // packages/omo-opencode/src/shared/model-string-parser.ts
63515
- var init_model_string_parser2 = () => {};
63516
-
63517
- // packages/omo-opencode/src/shared/replace-tool-args.ts
63518
- var init_replace_tool_args = () => {};
63519
-
63520
- // packages/omo-opencode/src/shared/index.ts
63521
- var init_shared = __esm(() => {
63522
- init_model_normalization();
63523
- init_model_resolver2();
63524
- init_model_resolution_pipeline();
63525
- init_session_category_registry();
63526
- init_model_string_parser2();
63527
- init_frontmatter2();
63528
- init_command_executor2();
63529
- init_contains_path2();
63530
- init_file_reference_resolver();
63531
- init_model_sanitizer();
63532
- init_logger2();
63533
- init_snake_case2();
63534
- init_tool_name2();
63535
- init_pattern_matcher();
63536
- init_deep_merge2();
63537
- init_file_utils2();
63538
- init_dynamic_truncator();
63539
- init_data_path();
63540
- init_config_errors();
63541
- init_claude_config_dir();
63542
- init_jsonc_parser2();
63543
- init_migration2();
63544
- init_opencode_config_dir();
63545
- init_opencode_plugin_sandbox();
63546
- init_resolve_agent_definition_paths();
63547
- init_opencode_version();
63548
- init_opencode_storage_detection();
63549
- init_external_plugin_detector();
63550
- init_zip_extractor();
63551
- init_binary_downloader();
63552
- init_write_file_atomically();
63553
- init_agent_variant();
63554
- init_session_cursor();
63555
- init_shell_env();
63556
- init_system_directive();
63557
- init_agent_tool_restrictions();
63558
- init_model_requirements2();
63559
- init_model_resolver2();
63560
- init_model_availability();
63561
- init_model_capabilities2();
63562
- init_model_capabilities_cache();
63563
- init_model_settings_compatibility2();
63564
- init_fallback_model_availability();
63565
- init_connected_providers_cache();
63566
- init_context_limit_resolver2();
63567
- init_session_utils();
63568
- init_event_session_id();
63569
- init_tmux();
63570
- init_model_suggestion_retry();
63571
- init_opencode_server_auth();
63572
- init_opencode_provider_auth();
63573
- init_opencode_http_api();
63574
- init_port_utils2();
63575
- init_git_worktree2();
63576
- init_safe_create_hook();
63577
- init_opencode_storage_paths();
63578
- init_opencode_message_dir();
63579
- init_opencode_command_dirs();
63580
- init_project_discovery_dirs();
63581
- init_record_type_guard();
63582
- init_session_directory_resolver();
63583
- init_session_route();
63584
- init_prompt_tools();
63585
- init_prompt_failure_classifier();
63586
- init_compaction_marker();
63587
- init_internal_initiator_marker2();
63588
- init_runtime_fallback_retry_marker();
63589
- init_plugin_command_discovery();
63590
- init_plugin_identity();
63591
- init_log_legacy_plugin_startup_warning();
63592
- init_legacy_workspace_migration();
63593
- init_replace_tool_args();
63594
- });
63595
-
63596
63510
  // node_modules/.bun/zod@4.6.5/node_modules/zod/v4/core/util.js
63597
63511
  function getEnumValues(entries) {
63598
63512
  const numericValues = Object.values(entries).filter((v) => typeof v === "number");
@@ -70125,6 +70039,60 @@ var init_model_profile = __esm(() => {
70125
70039
  OmoModelProfilesLayerSchema = record(string2(), OmoModelProfileLayerSchema);
70126
70040
  });
70127
70041
 
70042
+ // packages/omo-config-core/src/schema/side-panel.ts
70043
+ var OmoSidePanelWidthSchema, OmoSidePanelSectionsShape, OmoSidePanelSectionsLayerSchema, OmoSidePanelSectionsSchema, OmoSidePanelSettingsShape, OmoSidePanelSettingsLayerSchema, OmoSidePanelSettingsSchema;
70044
+ var init_side_panel = __esm(() => {
70045
+ init_zod();
70046
+ OmoSidePanelWidthSchema = union([number2().int().min(24).max(160), string2().regex(/^(?:1\d|[2-4]\d|50)%$/)]);
70047
+ OmoSidePanelSectionsShape = {
70048
+ session: boolean2(),
70049
+ goal: boolean2(),
70050
+ context: boolean2(),
70051
+ usage: boolean2(),
70052
+ agents: boolean2(),
70053
+ tools: boolean2(),
70054
+ files: boolean2(),
70055
+ memory: boolean2()
70056
+ };
70057
+ OmoSidePanelSectionsLayerSchema = object(OmoSidePanelSectionsShape).partial().strict();
70058
+ OmoSidePanelSectionsSchema = OmoSidePanelSectionsLayerSchema.extend({
70059
+ session: boolean2().default(true),
70060
+ goal: boolean2().default(true),
70061
+ context: boolean2().default(true),
70062
+ usage: boolean2().default(false),
70063
+ agents: boolean2().default(true),
70064
+ tools: boolean2().default(true),
70065
+ files: boolean2().default(true),
70066
+ memory: boolean2().default(true)
70067
+ }).strict();
70068
+ OmoSidePanelSettingsShape = {
70069
+ enabled: boolean2(),
70070
+ width: OmoSidePanelWidthSchema,
70071
+ min_columns: number2().int().min(60).max(400),
70072
+ clickable: boolean2(),
70073
+ usage_poll_seconds: number2().int().min(60).max(3600),
70074
+ sections: OmoSidePanelSectionsLayerSchema
70075
+ };
70076
+ OmoSidePanelSettingsLayerSchema = object(OmoSidePanelSettingsShape).partial().strict();
70077
+ OmoSidePanelSettingsSchema = OmoSidePanelSettingsLayerSchema.extend({
70078
+ enabled: boolean2().default(false),
70079
+ width: OmoSidePanelWidthSchema.default("26%"),
70080
+ min_columns: number2().int().min(60).max(400).default(120),
70081
+ clickable: boolean2().default(true),
70082
+ usage_poll_seconds: number2().int().min(60).max(3600).default(150),
70083
+ sections: OmoSidePanelSectionsSchema.default({
70084
+ session: true,
70085
+ goal: true,
70086
+ context: true,
70087
+ usage: false,
70088
+ agents: true,
70089
+ tools: true,
70090
+ files: true,
70091
+ memory: true
70092
+ })
70093
+ }).strict();
70094
+ });
70095
+
70128
70096
  // packages/omo-config-core/src/schema/task.ts
70129
70097
  import { availableParallelism } from "os";
70130
70098
  function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
@@ -70363,6 +70331,7 @@ var init_config = __esm(() => {
70363
70331
  init_memory();
70364
70332
  init_model_catalog();
70365
70333
  init_model_profile();
70334
+ init_side_panel();
70366
70335
  init_task();
70367
70336
  init_team();
70368
70337
  init_telemetry();
@@ -70383,6 +70352,7 @@ var init_config = __esm(() => {
70383
70352
  model_profile: string2().optional(),
70384
70353
  memory: OmoMemorySettingsLayerSchema.optional(),
70385
70354
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
70355
+ side_panel: OmoSidePanelSettingsLayerSchema.optional(),
70386
70356
  computer: OmoComputerSettingsLayerSchema.optional(),
70387
70357
  disabled_skills: OmoDisabledSkillsSchema.optional()
70388
70358
  }).strict();
@@ -70398,6 +70368,7 @@ var init_config = __esm(() => {
70398
70368
  model_profile: string2().optional(),
70399
70369
  memory: OmoMemorySettingsLayerSchema.optional(),
70400
70370
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
70371
+ side_panel: OmoSidePanelSettingsLayerSchema.optional(),
70401
70372
  computer: OmoComputerSettingsLayerSchema.optional(),
70402
70373
  disabled_skills: OmoDisabledSkillsSchema.optional(),
70403
70374
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
@@ -70419,6 +70390,7 @@ var init_config = __esm(() => {
70419
70390
  model_profile: string2().optional(),
70420
70391
  memory: OmoMemorySettingsSchema.optional(),
70421
70392
  telemetry: OmoTelemetrySettingsSchema.optional(),
70393
+ side_panel: OmoSidePanelSettingsSchema.optional(),
70422
70394
  computer: OmoComputerSettingsSchema.optional(),
70423
70395
  disabled_skills: OmoDisabledSkillsSchema.optional(),
70424
70396
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
@@ -70443,6 +70415,7 @@ var init_config = __esm(() => {
70443
70415
  model_profile: string2().optional(),
70444
70416
  memory: OmoMemorySettingsLayerSchema.optional(),
70445
70417
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
70418
+ side_panel: OmoSidePanelSettingsLayerSchema.optional(),
70446
70419
  computer: OmoComputerSettingsLayerSchema.optional(),
70447
70420
  disabled_skills: OmoDisabledSkillsSchema.optional(),
70448
70421
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
@@ -70581,6 +70554,7 @@ var init_schema = __esm(() => {
70581
70554
  init_model_catalog();
70582
70555
  init_model_profile();
70583
70556
  init_model_ref();
70557
+ init_side_panel();
70584
70558
  init_task();
70585
70559
  init_team();
70586
70560
  init_telemetry();
@@ -70588,14 +70562,14 @@ var init_schema = __esm(() => {
70588
70562
  });
70589
70563
 
70590
70564
  // packages/omo-config-core/src/loader/types.ts
70591
- import { existsSync as existsSync6, lstatSync, readFileSync as readFileSync6, realpathSync as realpathSync4 } from "fs";
70565
+ import { existsSync as existsSync5, lstatSync, readFileSync as readFileSync3, realpathSync as realpathSync3 } from "fs";
70592
70566
  var MERGED_OMO_CONFIG_PATH = "(merged omo config)", DEFAULT_READ_FILE_SYSTEM;
70593
70567
  var init_types3 = __esm(() => {
70594
70568
  DEFAULT_READ_FILE_SYSTEM = {
70595
- existsSync: existsSync6,
70569
+ existsSync: existsSync5,
70596
70570
  lstatSync,
70597
- readFileSync: readFileSync6,
70598
- realpathSync: realpathSync4
70571
+ readFileSync: readFileSync3,
70572
+ realpathSync: realpathSync3
70599
70573
  };
70600
70574
  });
70601
70575
 
@@ -70945,20 +70919,20 @@ var init_posix_path = () => {};
70945
70919
 
70946
70920
  // packages/omo-config-core/src/loader/paths.ts
70947
70921
  import { userInfo } from "os";
70948
- import { dirname as dirname4, join as join12, posix as posix2, resolve as resolve4 } from "path";
70922
+ import { dirname as dirname2, join as join7, posix as posix2, resolve as resolve3 } from "path";
70949
70923
  function resolveHomeDir(env = process.env) {
70950
70924
  const homeDir = env.HOME ?? env.USERPROFILE ?? process.cwd();
70951
- return homeDir.startsWith("/") ? posix2.resolve(homeDir) : toPosixPath(resolve4(homeDir));
70925
+ return homeDir.startsWith("/") ? posix2.resolve(homeDir) : toPosixPath(resolve3(homeDir));
70952
70926
  }
70953
70927
  function resolveUserOmoConfigDirectory(env = process.env) {
70954
- return join12(resolveHomeDir(env), ".omo");
70928
+ return join7(resolveHomeDir(env), ".omo");
70955
70929
  }
70956
70930
  function detectUserOmoJsonPath(env, fileSystem) {
70957
70931
  const configDir = resolveUserOmoConfigDirectory(env);
70958
- const jsoncPath = join12(configDir, "omo.jsonc");
70932
+ const jsoncPath = join7(configDir, "omo.jsonc");
70959
70933
  if (fileSystem.existsSync(jsoncPath))
70960
70934
  return jsoncPath;
70961
- const jsonPath = join12(configDir, "omo.json");
70935
+ const jsonPath = join7(configDir, "omo.json");
70962
70936
  return fileSystem.existsSync(jsonPath) ? jsonPath : jsoncPath;
70963
70937
  }
70964
70938
  function isSymlinkedProjectPath(path, fileSystem) {
@@ -70976,13 +70950,13 @@ function isLoadableProjectConfigFile(path, fileSystem) {
70976
70950
  return fileSystem.existsSync(path) && !isSymlinkedProjectPath(path, fileSystem);
70977
70951
  }
70978
70952
  function detectOmoJsonPath(dir, fileSystem) {
70979
- const omoDir = join12(dir, ".omo");
70953
+ const omoDir = join7(dir, ".omo");
70980
70954
  if (isSymlinkedProjectPath(omoDir, fileSystem))
70981
70955
  return null;
70982
- const jsoncPath = join12(omoDir, "omo.jsonc");
70956
+ const jsoncPath = join7(omoDir, "omo.jsonc");
70983
70957
  if (isLoadableProjectConfigFile(jsoncPath, fileSystem))
70984
70958
  return jsoncPath;
70985
- const jsonPath = join12(omoDir, "omo.json");
70959
+ const jsonPath = join7(omoDir, "omo.json");
70986
70960
  return isLoadableProjectConfigFile(jsonPath, fileSystem) ? jsonPath : null;
70987
70961
  }
70988
70962
  function realpathOrSelf(path, fileSystem) {
@@ -70995,8 +70969,8 @@ function realpathOrSelf(path, fileSystem) {
70995
70969
  }
70996
70970
  }
70997
70971
  function findProjectConfigPathsFarthestFirst(cwd, homeDir, fileSystem, accountHomeDir = homeDir) {
70998
- const startDir = resolve4(cwd);
70999
- const boundaryDirs = [...new Set([resolve4(homeDir), resolve4(accountHomeDir)])];
70972
+ const startDir = resolve3(cwd);
70973
+ const boundaryDirs = [...new Set([resolve3(homeDir), resolve3(accountHomeDir)])];
71000
70974
  const realBoundaryDirs = new Set(boundaryDirs.map((path) => realpathOrSelf(path, fileSystem)));
71001
70975
  const nearestFirst = [];
71002
70976
  let currentDir = startDir;
@@ -71007,7 +70981,7 @@ function findProjectConfigPathsFarthestFirst(cwd, homeDir, fileSystem, accountHo
71007
70981
  nearestFirst.push(configPath);
71008
70982
  if (isHomeDir)
71009
70983
  break;
71010
- const parentDir = dirname4(currentDir);
70984
+ const parentDir = dirname2(currentDir);
71011
70985
  if (parentDir === currentDir)
71012
70986
  break;
71013
70987
  currentDir = parentDir;
@@ -71437,30 +71411,30 @@ var init_models = __esm(() => {
71437
71411
  // packages/omo-config-core/src/writer/types.ts
71438
71412
  import {
71439
71413
  copyFileSync,
71440
- existsSync as existsSync7,
71414
+ existsSync as existsSync6,
71441
71415
  lstatSync as lstatSync2,
71442
- mkdirSync as mkdirSync7,
71443
- readFileSync as readFileSync7,
71416
+ mkdirSync as mkdirSync5,
71417
+ readFileSync as readFileSync4,
71444
71418
  readdirSync as readdirSync2,
71445
71419
  renameSync as renameSync3,
71446
- unlinkSync as unlinkSync3,
71447
- writeFileSync as writeFileSync4
71420
+ unlinkSync as unlinkSync2,
71421
+ writeFileSync as writeFileSync3
71448
71422
  } from "fs";
71449
71423
  var DEFAULT_WRITE_FILE_SYSTEM;
71450
71424
  var init_types4 = __esm(() => {
71451
71425
  DEFAULT_WRITE_FILE_SYSTEM = {
71452
71426
  copyFileSync,
71453
- existsSync: existsSync7,
71427
+ existsSync: existsSync6,
71454
71428
  lstatSync: lstatSync2,
71455
- mkdirSync: mkdirSync7,
71456
- readFileSync: readFileSync7,
71429
+ mkdirSync: mkdirSync5,
71430
+ readFileSync: readFileSync4,
71457
71431
  readdirSync: readdirSync2,
71458
71432
  renameSync: renameSync3,
71459
- unlinkSync: unlinkSync3,
71433
+ unlinkSync: unlinkSync2,
71460
71434
  writeFileExclusiveSync: (path, content) => {
71461
- writeFileSync4(path, content, { encoding: "utf-8", flag: "wx" });
71435
+ writeFileSync3(path, content, { encoding: "utf-8", flag: "wx" });
71462
71436
  },
71463
- writeFileSync: writeFileSync4
71437
+ writeFileSync: writeFileSync3
71464
71438
  };
71465
71439
  });
71466
71440
 
@@ -71554,6 +71528,92 @@ var init_src4 = __esm(() => {
71554
71528
  init_migration3();
71555
71529
  });
71556
71530
 
71531
+ // packages/omo-opencode/src/shared/legacy-workspace-migration.ts
71532
+ var init_legacy_workspace_migration = __esm(() => {
71533
+ init_logger2();
71534
+ });
71535
+ // packages/omo-opencode/src/shared/model-string-parser.ts
71536
+ var init_model_string_parser2 = () => {};
71537
+
71538
+ // packages/omo-opencode/src/shared/replace-tool-args.ts
71539
+ var init_replace_tool_args = () => {};
71540
+
71541
+ // packages/omo-opencode/src/shared/index.ts
71542
+ var init_shared = __esm(() => {
71543
+ init_model_normalization();
71544
+ init_model_resolver2();
71545
+ init_model_resolution_pipeline();
71546
+ init_session_category_registry();
71547
+ init_model_string_parser2();
71548
+ init_frontmatter2();
71549
+ init_command_executor2();
71550
+ init_contains_path2();
71551
+ init_file_reference_resolver();
71552
+ init_model_sanitizer();
71553
+ init_logger2();
71554
+ init_snake_case2();
71555
+ init_tool_name2();
71556
+ init_pattern_matcher();
71557
+ init_deep_merge2();
71558
+ init_file_utils2();
71559
+ init_dynamic_truncator();
71560
+ init_data_path();
71561
+ init_config_errors();
71562
+ init_claude_config_dir();
71563
+ init_jsonc_parser2();
71564
+ init_migration2();
71565
+ init_opencode_config_dir();
71566
+ init_opencode_plugin_sandbox();
71567
+ init_resolve_agent_definition_paths();
71568
+ init_opencode_version();
71569
+ init_opencode_storage_detection();
71570
+ init_external_plugin_detector();
71571
+ init_zip_extractor();
71572
+ init_binary_downloader();
71573
+ init_write_file_atomically();
71574
+ init_agent_variant();
71575
+ init_session_cursor();
71576
+ init_shell_env();
71577
+ init_system_directive();
71578
+ init_agent_tool_restrictions();
71579
+ init_model_requirements2();
71580
+ init_model_resolver2();
71581
+ init_model_availability();
71582
+ init_model_capabilities2();
71583
+ init_model_capabilities_cache();
71584
+ init_model_settings_compatibility2();
71585
+ init_fallback_model_availability();
71586
+ init_connected_providers_cache();
71587
+ init_context_limit_resolver2();
71588
+ init_session_utils();
71589
+ init_event_session_id();
71590
+ init_tmux();
71591
+ init_model_suggestion_retry();
71592
+ init_opencode_server_auth();
71593
+ init_opencode_provider_auth();
71594
+ init_opencode_http_api();
71595
+ init_port_utils2();
71596
+ init_git_worktree2();
71597
+ init_safe_create_hook();
71598
+ init_opencode_storage_paths();
71599
+ init_opencode_message_dir();
71600
+ init_opencode_command_dirs();
71601
+ init_project_discovery_dirs();
71602
+ init_record_type_guard();
71603
+ init_session_directory_resolver();
71604
+ init_session_route();
71605
+ init_prompt_tools();
71606
+ init_prompt_failure_classifier();
71607
+ init_compaction_marker();
71608
+ init_internal_initiator_marker2();
71609
+ init_runtime_fallback_retry_marker();
71610
+ init_plugin_command_discovery();
71611
+ init_plugin_identity();
71612
+ init_log_legacy_plugin_startup_warning();
71613
+ init_legacy_workspace_migration();
71614
+ init_replace_tool_args();
71615
+ });
71616
+
71557
71617
  // packages/omo-opencode/src/shared/disabled-providers.ts
71558
71618
  function getModelProvider(model) {
71559
71619
  const slash = model.indexOf("/");
@@ -74620,7 +74680,7 @@ init_shared();
74620
74680
  // package.json
74621
74681
  var package_default = {
74622
74682
  name: "oh-my-opencode",
74623
- version: "5.1.23",
74683
+ version: "5.1.26",
74624
74684
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
74625
74685
  main: "./dist/index.js",
74626
74686
  types: "dist/index.d.ts",
@@ -74797,7 +74857,7 @@ var package_default = {
74797
74857
  },
74798
74858
  devDependencies: {
74799
74859
  "@clack/prompts": "^1.8.1",
74800
- "@code-yeongyu/senpi": "2026.10.10-6",
74860
+ "@code-yeongyu/senpi": "2026.10.10-8",
74801
74861
  "@modelcontextprotocol/sdk": "^1.30.0",
74802
74862
  "@oh-my-opencode/agents-md-core": "workspace:*",
74803
74863
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -74855,18 +74915,18 @@ var package_default = {
74855
74915
  typescript: "^7.0.2"
74856
74916
  },
74857
74917
  optionalDependencies: {
74858
- "oh-my-opencode-darwin-arm64": "5.1.23",
74859
- "oh-my-opencode-darwin-x64": "5.1.23",
74860
- "oh-my-opencode-darwin-x64-baseline": "5.1.23",
74861
- "oh-my-opencode-linux-arm64": "5.1.23",
74862
- "oh-my-opencode-linux-arm64-musl": "5.1.23",
74863
- "oh-my-opencode-linux-x64": "5.1.23",
74864
- "oh-my-opencode-linux-x64-baseline": "5.1.23",
74865
- "oh-my-opencode-linux-x64-musl": "5.1.23",
74866
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.23",
74867
- "oh-my-opencode-windows-arm64": "5.1.23",
74868
- "oh-my-opencode-windows-x64": "5.1.23",
74869
- "oh-my-opencode-windows-x64-baseline": "5.1.23"
74918
+ "oh-my-opencode-darwin-arm64": "5.1.26",
74919
+ "oh-my-opencode-darwin-x64": "5.1.26",
74920
+ "oh-my-opencode-darwin-x64-baseline": "5.1.26",
74921
+ "oh-my-opencode-linux-arm64": "5.1.26",
74922
+ "oh-my-opencode-linux-arm64-musl": "5.1.26",
74923
+ "oh-my-opencode-linux-x64": "5.1.26",
74924
+ "oh-my-opencode-linux-x64-baseline": "5.1.26",
74925
+ "oh-my-opencode-linux-x64-musl": "5.1.26",
74926
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.26",
74927
+ "oh-my-opencode-windows-arm64": "5.1.26",
74928
+ "oh-my-opencode-windows-x64": "5.1.26",
74929
+ "oh-my-opencode-windows-x64-baseline": "5.1.26"
74870
74930
  },
74871
74931
  overrides: {
74872
74932
  hono: "^4.13.8",
@@ -74924,7 +74984,7 @@ var NUDGE_INTERVALS_MS = [3, 7, 14].map((days) => days * 24 * 60 * 60 * 1000);
74924
74984
  var NUDGE_SNOOZE_MS = 7 * 24 * 60 * 60 * 1000;
74925
74985
  var NUDGE_CORRUPT_RECOVERY_MS = 3 * 24 * 60 * 60 * 1000;
74926
74986
  // packages/omo-opencode/src/hooks/native-edition-nudge/hook.ts
74927
- import { join as join9 } from "path";
74987
+ import { join as join10 } from "path";
74928
74988
  init_logger2();
74929
74989
 
74930
74990
  // packages/omo-opencode/src/hooks/auto-update-checker/constants.ts
@@ -74945,8 +75005,8 @@ var INSTALLED_PACKAGE_JSON = path4.join(CACHE_DIR, "node_modules", PACKAGE_NAME,
74945
75005
  var INSTALLED_PACKAGE_JSON_CANDIDATES = ACCEPTED_PACKAGE_NAMES2.map((name) => path4.join(CACHE_DIR, "node_modules", name, "package.json"));
74946
75006
 
74947
75007
  // packages/omo-opencode/src/hooks/native-edition-nudge/state.ts
74948
- import { mkdirSync as mkdirSync5, readFileSync as readFileSync3, unlinkSync as unlinkSync2, writeFileSync as writeFileSync3 } from "fs";
74949
- import { join as join8 } from "path";
75008
+ import { mkdirSync as mkdirSync6, readFileSync as readFileSync5, unlinkSync as unlinkSync3, writeFileSync as writeFileSync4 } from "fs";
75009
+ import { join as join9 } from "path";
74950
75010
  var NUDGE_STATE_FILE = "native-nudge.json";
74951
75011
  function isDecision(value) {
74952
75012
  return value === "none" || value === "snoozed" || value === "never" || value === "migrated";
@@ -74980,12 +75040,12 @@ function parseNudgeState(raw) {
74980
75040
  };
74981
75041
  }
74982
75042
  function createNudgeStateStore(stateDir) {
74983
- const path = join8(stateDir, NUDGE_STATE_FILE);
75043
+ const path = join9(stateDir, NUDGE_STATE_FILE);
74984
75044
  return {
74985
75045
  read: () => {
74986
75046
  let raw;
74987
75047
  try {
74988
- raw = readFileSync3(path, "utf8");
75048
+ raw = readFileSync5(path, "utf8");
74989
75049
  } catch {
74990
75050
  return "missing";
74991
75051
  }
@@ -74993,8 +75053,8 @@ function createNudgeStateStore(stateDir) {
74993
75053
  },
74994
75054
  write: (state) => {
74995
75055
  try {
74996
- mkdirSync5(stateDir, { recursive: true });
74997
- writeFileSync3(path, `${JSON.stringify(state, null, 2)}
75056
+ mkdirSync6(stateDir, { recursive: true });
75057
+ writeFileSync4(path, `${JSON.stringify(state, null, 2)}
74998
75058
  `, { mode: 384 });
74999
75059
  return true;
75000
75060
  } catch {
@@ -75002,15 +75062,15 @@ function createNudgeStateStore(stateDir) {
75002
75062
  }
75003
75063
  },
75004
75064
  probeWritable: () => {
75005
- const probe = join8(stateDir, `.${NUDGE_STATE_FILE}.probe`);
75065
+ const probe = join9(stateDir, `.${NUDGE_STATE_FILE}.probe`);
75006
75066
  try {
75007
- mkdirSync5(stateDir, { recursive: true });
75008
- writeFileSync3(probe, "", { mode: 384 });
75067
+ mkdirSync6(stateDir, { recursive: true });
75068
+ writeFileSync4(probe, "", { mode: 384 });
75009
75069
  } catch {
75010
75070
  return false;
75011
75071
  }
75012
75072
  try {
75013
- unlinkSync2(probe);
75073
+ unlinkSync3(probe);
75014
75074
  } catch {}
75015
75075
  return true;
75016
75076
  }
@@ -75021,7 +75081,7 @@ function createNudgeStateStore(stateDir) {
75021
75081
  var NATIVE_NUDGE_TOAST_MESSAGE = `Same agent, one binary, nothing else to keep updated.
75022
75082
  Install: ${NATIVE_EDITION_INSTALL_COMMAND}`;
75023
75083
  function nativeEditionStateDir() {
75024
- return join9(getUserConfigDir(), "oh-my-openagent");
75084
+ return join10(getUserConfigDir(), "oh-my-openagent");
75025
75085
  }
75026
75086
  // packages/omo-opencode/src/features/native-edition-nudge/tui.ts
75027
75087
  var NATIVE_NUDGE_DIALOG_TITLE = "OmO Native";
@@ -75269,30 +75329,30 @@ function compareJobs(left, right) {
75269
75329
  }
75270
75330
 
75271
75331
  // packages/omo-opencode/src/features/tui-sidebar/mirror-io.ts
75272
- import { mkdirSync as mkdirSync6, readFileSync as readFileSync4 } from "fs";
75332
+ import { mkdirSync as mkdirSync7, readFileSync as readFileSync6 } from "fs";
75273
75333
  init_write_file_atomically();
75274
75334
 
75275
75335
  // packages/omo-opencode/src/features/tui-sidebar/mirror-path.ts
75276
75336
  import { createHash } from "crypto";
75277
- import { realpathSync as realpathSync3 } from "fs";
75337
+ import { realpathSync as realpathSync4 } from "fs";
75278
75338
  import { homedir as homedir3 } from "os";
75279
- import { join as join10, resolve as resolve3 } from "path";
75339
+ import { join as join11, resolve as resolve4 } from "path";
75280
75340
  function mirrorStorageDir() {
75281
- return join10(process.env.XDG_DATA_HOME ?? join10(homedir3(), ".local", "share"), "opencode", "storage", "oh-my-openagent", MIRROR_DIR_NAME);
75341
+ return join11(process.env.XDG_DATA_HOME ?? join11(homedir3(), ".local", "share"), "opencode", "storage", "oh-my-openagent", MIRROR_DIR_NAME);
75282
75342
  }
75283
75343
  function canonicalProjectDir(projectDir) {
75284
75344
  try {
75285
- return realpathSync3.native(projectDir);
75345
+ return realpathSync4.native(projectDir);
75286
75346
  } catch (error) {
75287
75347
  if (error instanceof Error) {
75288
- return resolve3(projectDir);
75348
+ return resolve4(projectDir);
75289
75349
  }
75290
75350
  throw error;
75291
75351
  }
75292
75352
  }
75293
75353
  function mirrorFilePath(projectDir) {
75294
75354
  const projectHash = createHash("sha1").update(canonicalProjectDir(projectDir)).digest("hex").slice(0, 16);
75295
- return join10(mirrorStorageDir(), `${projectHash}.json`);
75355
+ return join11(mirrorStorageDir(), `${projectHash}.json`);
75296
75356
  }
75297
75357
 
75298
75358
  // packages/omo-opencode/src/features/tui-sidebar/snapshot-schema.ts
@@ -75352,7 +75412,7 @@ function parseSnapshot(raw) {
75352
75412
  function readMirror(projectDir) {
75353
75413
  let raw;
75354
75414
  try {
75355
- raw = JSON.parse(readFileSync4(mirrorFilePath(projectDir), "utf-8"));
75415
+ raw = JSON.parse(readFileSync6(mirrorFilePath(projectDir), "utf-8"));
75356
75416
  } catch (error) {
75357
75417
  if (error instanceof Error) {
75358
75418
  return null;
@@ -75493,7 +75553,7 @@ init_logger2();
75493
75553
  init_logger2();
75494
75554
  init_data_path();
75495
75555
  init_opencode_plugin_sandbox();
75496
- import { basename as basename2, dirname as dirname3 } from "path";
75556
+ import { basename as basename2, dirname as dirname4 } from "path";
75497
75557
  import { fileURLToPath } from "url";
75498
75558
 
75499
75559
  // packages/omo-opencode/src/hooks/auto-update-checker/checker/package-json-locator.ts
@@ -75534,13 +75594,13 @@ function findPackageJsonUp(startPath) {
75534
75594
  // packages/omo-opencode/src/hooks/auto-update-checker/checker/sandbox-refresh.ts
75535
75595
  var trackedSandboxDirs = new Set;
75536
75596
  function getLoadedPluginSandboxDir(moduleUrl, cacheDir = getOpenCodeCacheDir()) {
75537
- const packageJsonPath = findPackageJsonUp(dirname3(fileURLToPath(moduleUrl)));
75597
+ const packageJsonPath = findPackageJsonUp(dirname4(fileURLToPath(moduleUrl)));
75538
75598
  if (!packageJsonPath)
75539
75599
  return null;
75540
- const nodeModulesDir = dirname3(dirname3(packageJsonPath));
75600
+ const nodeModulesDir = dirname4(dirname4(packageJsonPath));
75541
75601
  if (basename2(nodeModulesDir) !== "node_modules")
75542
75602
  return null;
75543
- const workspace = dirname3(nodeModulesDir);
75603
+ const workspace = dirname4(nodeModulesDir);
75544
75604
  return isPluginSandboxDir(workspace, cacheDir) ? workspace : null;
75545
75605
  }
75546
75606
  function refreshMarkedSandbox(sandboxDir, cacheDir, pid) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "5.1.23",
3
+ "version": "5.1.26",
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",
@@ -177,7 +177,7 @@
177
177
  },
178
178
  "devDependencies": {
179
179
  "@clack/prompts": "^1.8.1",
180
- "@code-yeongyu/senpi": "2026.10.10-6",
180
+ "@code-yeongyu/senpi": "2026.10.10-8",
181
181
  "@modelcontextprotocol/sdk": "^1.30.0",
182
182
  "@oh-my-opencode/agents-md-core": "workspace:*",
183
183
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -235,18 +235,18 @@
235
235
  "typescript": "^7.0.2"
236
236
  },
237
237
  "optionalDependencies": {
238
- "oh-my-opencode-darwin-arm64": "5.1.23",
239
- "oh-my-opencode-darwin-x64": "5.1.23",
240
- "oh-my-opencode-darwin-x64-baseline": "5.1.23",
241
- "oh-my-opencode-linux-arm64": "5.1.23",
242
- "oh-my-opencode-linux-arm64-musl": "5.1.23",
243
- "oh-my-opencode-linux-x64": "5.1.23",
244
- "oh-my-opencode-linux-x64-baseline": "5.1.23",
245
- "oh-my-opencode-linux-x64-musl": "5.1.23",
246
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.23",
247
- "oh-my-opencode-windows-arm64": "5.1.23",
248
- "oh-my-opencode-windows-x64": "5.1.23",
249
- "oh-my-opencode-windows-x64-baseline": "5.1.23"
238
+ "oh-my-opencode-darwin-arm64": "5.1.26",
239
+ "oh-my-opencode-darwin-x64": "5.1.26",
240
+ "oh-my-opencode-darwin-x64-baseline": "5.1.26",
241
+ "oh-my-opencode-linux-arm64": "5.1.26",
242
+ "oh-my-opencode-linux-arm64-musl": "5.1.26",
243
+ "oh-my-opencode-linux-x64": "5.1.26",
244
+ "oh-my-opencode-linux-x64-baseline": "5.1.26",
245
+ "oh-my-opencode-linux-x64-musl": "5.1.26",
246
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.26",
247
+ "oh-my-opencode-windows-arm64": "5.1.26",
248
+ "oh-my-opencode-windows-x64": "5.1.26",
249
+ "oh-my-opencode-windows-x64-baseline": "5.1.26"
250
250
  },
251
251
  "overrides": {
252
252
  "hono": "^4.13.8",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.1.23",
3
+ "version": "5.1.26",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",