oh-my-opencode 5.1.59 → 5.1.61

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 +70 -48
  2. package/dist/cli-node/index.js +70 -48
  3. package/dist/index.js +1603 -1436
  4. package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
  5. package/dist/tui.js +64 -43
  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 +13 -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 +15 -2
  57. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
@@ -2133,7 +2133,7 @@ var package_default;
2133
2133
  var init_package = __esm(() => {
2134
2134
  package_default = {
2135
2135
  name: "oh-my-opencode",
2136
- version: "5.1.59",
2136
+ version: "5.1.61",
2137
2137
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
2138
2138
  main: "./dist/index.js",
2139
2139
  types: "dist/index.d.ts",
@@ -2320,7 +2320,7 @@ var init_package = __esm(() => {
2320
2320
  },
2321
2321
  devDependencies: {
2322
2322
  "@clack/prompts": "^1.8.1",
2323
- "@code-yeongyu/senpi": "2026.11.2-3",
2323
+ "@code-yeongyu/senpi": "2026.11.3-3",
2324
2324
  "@modelcontextprotocol/sdk": "^1.30.0",
2325
2325
  "@oh-my-opencode/agents-md-core": "workspace:*",
2326
2326
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -2385,18 +2385,18 @@ var init_package = __esm(() => {
2385
2385
  typescript: "^7.0.2"
2386
2386
  },
2387
2387
  optionalDependencies: {
2388
- "oh-my-opencode-darwin-arm64": "5.1.59",
2389
- "oh-my-opencode-darwin-x64": "5.1.59",
2390
- "oh-my-opencode-darwin-x64-baseline": "5.1.59",
2391
- "oh-my-opencode-linux-arm64": "5.1.59",
2392
- "oh-my-opencode-linux-arm64-musl": "5.1.59",
2393
- "oh-my-opencode-linux-x64": "5.1.59",
2394
- "oh-my-opencode-linux-x64-baseline": "5.1.59",
2395
- "oh-my-opencode-linux-x64-musl": "5.1.59",
2396
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.59",
2397
- "oh-my-opencode-windows-arm64": "5.1.59",
2398
- "oh-my-opencode-windows-x64": "5.1.59",
2399
- "oh-my-opencode-windows-x64-baseline": "5.1.59"
2388
+ "oh-my-opencode-darwin-arm64": "5.1.61",
2389
+ "oh-my-opencode-darwin-x64": "5.1.61",
2390
+ "oh-my-opencode-darwin-x64-baseline": "5.1.61",
2391
+ "oh-my-opencode-linux-arm64": "5.1.61",
2392
+ "oh-my-opencode-linux-arm64-musl": "5.1.61",
2393
+ "oh-my-opencode-linux-x64": "5.1.61",
2394
+ "oh-my-opencode-linux-x64-baseline": "5.1.61",
2395
+ "oh-my-opencode-linux-x64-musl": "5.1.61",
2396
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.61",
2397
+ "oh-my-opencode-windows-arm64": "5.1.61",
2398
+ "oh-my-opencode-windows-x64": "5.1.61",
2399
+ "oh-my-opencode-windows-x64-baseline": "5.1.61"
2400
2400
  },
2401
2401
  overrides: {
2402
2402
  hono: "^4.13.8",
@@ -7491,7 +7491,7 @@ function createLogger(options) {
7491
7491
  function scheduleFlush() {
7492
7492
  if (flushTimer)
7493
7493
  return;
7494
- flushTimer = setTimeout(() => {
7494
+ flushTimer = scheduleTimeout(() => {
7495
7495
  flushTimer = null;
7496
7496
  flush();
7497
7497
  }, flushIntervalMs);
@@ -7518,7 +7518,7 @@ function createLogger(options) {
7518
7518
  function _setLoggerForTesting(overrides) {
7519
7519
  buffer = [];
7520
7520
  if (flushTimer) {
7521
- clearTimeout(flushTimer);
7521
+ cancelTimeout(flushTimer);
7522
7522
  flushTimer = null;
7523
7523
  }
7524
7524
  if (overrides.filePath !== undefined)
@@ -7534,13 +7534,13 @@ function createLogger(options) {
7534
7534
  maxLogFileBackups = maxLogFileBackupsDefault;
7535
7535
  buffer = [];
7536
7536
  if (flushTimer) {
7537
- clearTimeout(flushTimer);
7537
+ cancelTimeout(flushTimer);
7538
7538
  flushTimer = null;
7539
7539
  }
7540
7540
  }
7541
7541
  function _flushForTesting() {
7542
7542
  if (flushTimer) {
7543
- clearTimeout(flushTimer);
7543
+ cancelTimeout(flushTimer);
7544
7544
  flushTimer = null;
7545
7545
  }
7546
7546
  flush();
@@ -7553,8 +7553,10 @@ function createLogger(options) {
7553
7553
  _flushForTesting
7554
7554
  };
7555
7555
  }
7556
- var DEFAULT_MAX_LOG_FILE_SIZE_BYTES, DEFAULT_MAX_LOG_FILE_BACKUPS = 2, DEFAULT_LOG_FLUSH_INTERVAL_MS = 500, DEFAULT_LOG_BUFFER_SIZE_LIMIT = 50;
7556
+ var scheduleTimeout, cancelTimeout, DEFAULT_MAX_LOG_FILE_SIZE_BYTES, DEFAULT_MAX_LOG_FILE_BACKUPS = 2, DEFAULT_LOG_FLUSH_INTERVAL_MS = 500, DEFAULT_LOG_BUFFER_SIZE_LIMIT = 50;
7557
7557
  var init_logger = __esm(() => {
7558
+ scheduleTimeout = globalThis.setTimeout;
7559
+ cancelTimeout = globalThis.clearTimeout;
7558
7560
  DEFAULT_MAX_LOG_FILE_SIZE_BYTES = 50 * 1024 * 1024;
7559
7561
  });
7560
7562
 
@@ -9393,7 +9395,7 @@ var init_agent_model_requirements = __esm(() => {
9393
9395
  {
9394
9396
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
9395
9397
  model: "gpt-5.6-sol",
9396
- variant: "high"
9398
+ variant: "medium"
9397
9399
  },
9398
9400
  { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan"], model: "glm-5.2" },
9399
9401
  { providers: ["opencode"], model: "big-pickle" }
@@ -9405,12 +9407,12 @@ var init_agent_model_requirements = __esm(() => {
9405
9407
  {
9406
9408
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
9407
9409
  model: "gpt-6-sol",
9408
- variant: "high"
9410
+ variant: "medium"
9409
9411
  },
9410
9412
  {
9411
9413
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
9412
9414
  model: "gpt-5.6-sol",
9413
- variant: "high"
9415
+ variant: "medium"
9414
9416
  }
9415
9417
  ],
9416
9418
  requiresProvider: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
@@ -9418,7 +9420,7 @@ var init_agent_model_requirements = __esm(() => {
9418
9420
  },
9419
9421
  oracle: {
9420
9422
  fallbackChain: [
9421
- { providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-5.6-sol", variant: "high" },
9423
+ { providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-5.6-sol", variant: "xhigh" },
9422
9424
  { providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "high" },
9423
9425
  {
9424
9426
  providers: ["google", "google-vertex", "opencode"],
@@ -9442,7 +9444,7 @@ var init_agent_model_requirements = __esm(() => {
9442
9444
  fallbackChain: [
9443
9445
  { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
9444
9446
  { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptLunaFast, variant: "low" },
9445
- { providers: ["anthropic", "github-copilot"], model: LATEST_MODEL_BY_FAMILY.claudeHaiku, variant: "high" },
9447
+ { providers: ["anthropic", "github-copilot"], model: LATEST_MODEL_BY_FAMILY.claudeHaiku, variant: "medium" },
9446
9448
  { providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
9447
9449
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
9448
9450
  { providers: ["opencode-go"], model: "minimax-m2.7" }
@@ -9452,7 +9454,7 @@ var init_agent_model_requirements = __esm(() => {
9452
9454
  fallbackChain: [
9453
9455
  { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
9454
9456
  { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptLunaFast, variant: "low" },
9455
- { providers: ["anthropic", "github-copilot"], model: LATEST_MODEL_BY_FAMILY.claudeHaiku, variant: "high" },
9457
+ { providers: ["anthropic", "github-copilot"], model: LATEST_MODEL_BY_FAMILY.claudeHaiku, variant: "medium" },
9456
9458
  { providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
9457
9459
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
9458
9460
  { providers: ["opencode-go"], model: "minimax-m2.7" }
@@ -9471,12 +9473,12 @@ var init_agent_model_requirements = __esm(() => {
9471
9473
  {
9472
9474
  providers: ["anthropic", "github-copilot", "opencode"],
9473
9475
  model: FABLE_55_LAUNCH.id,
9474
- variant: "high"
9476
+ variant: "xhigh"
9475
9477
  },
9476
9478
  {
9477
9479
  providers: ["anthropic", "github-copilot", "opencode"],
9478
9480
  model: LATEST_MODEL_BY_FAMILY.claudeFable,
9479
- variant: "high"
9481
+ variant: "xhigh"
9480
9482
  },
9481
9483
  {
9482
9484
  providers: ["anthropic", "github-copilot", "opencode"],
@@ -9518,7 +9520,7 @@ var init_agent_model_requirements = __esm(() => {
9518
9520
  },
9519
9521
  momus: {
9520
9522
  fallbackChain: [
9521
- { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "high" },
9523
+ { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "xhigh" },
9522
9524
  { providers: ["github-copilot"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "high" },
9523
9525
  { providers: ["openai", "chatgpt-subscription", "opencode"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "high" },
9524
9526
  {
@@ -9546,7 +9548,7 @@ var init_agent_model_requirements = __esm(() => {
9546
9548
  {
9547
9549
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
9548
9550
  model: "gpt-5.6-sol",
9549
- variant: "high"
9551
+ variant: "medium"
9550
9552
  },
9551
9553
  { providers: ["opencode-go"], model: "minimax-m3" },
9552
9554
  { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
@@ -9560,7 +9562,7 @@ var init_agent_model_requirements = __esm(() => {
9560
9562
  {
9561
9563
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
9562
9564
  model: "gpt-5.6-sol",
9563
- variant: "high"
9565
+ variant: "medium"
9564
9566
  },
9565
9567
  { providers: ["opencode-go"], model: "minimax-m3" },
9566
9568
  { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
@@ -9615,14 +9617,14 @@ var init_category_model_requirements = __esm(() => {
9615
9617
  },
9616
9618
  "deep-low": {
9617
9619
  fallbackChain: [
9618
- { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSol, variant: "high" },
9619
- { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSolFast, variant: "high" },
9620
+ { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSol, variant: "medium" },
9621
+ { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSolFast, variant: "medium" },
9620
9622
  {
9621
9623
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
9622
9624
  model: "gpt-5.6-sol",
9623
- variant: "high"
9625
+ variant: "medium"
9624
9626
  },
9625
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-sol-fast", variant: "high" }
9627
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-sol-fast", variant: "medium" }
9626
9628
  ]
9627
9629
  },
9628
9630
  "deep-high": {
@@ -9665,7 +9667,7 @@ var init_category_model_requirements = __esm(() => {
9665
9667
  {
9666
9668
  providers: ["anthropic", "anthropic-api", "github-copilot"],
9667
9669
  model: LATEST_MODEL_BY_FAMILY.claudeHaiku,
9668
- variant: "high"
9670
+ variant: "medium"
9669
9671
  },
9670
9672
  { providers: ["deepseek"], model: "deepseek-flash", variant: "off" },
9671
9673
  {
@@ -9685,16 +9687,16 @@ var init_category_model_requirements = __esm(() => {
9685
9687
  {
9686
9688
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
9687
9689
  model: LATEST_MODEL_BY_FAMILY.claudeSonnet,
9688
- variant: "high"
9690
+ variant: "medium"
9689
9691
  },
9690
9692
  { providers: ["xiaomi", "opencode-go"], model: "mimo-v2.6-pro", variant: "max" },
9691
- { providers: ["xai", "github-copilot", "opencode-go"], model: "grok-4.7", variant: "high" },
9693
+ { providers: ["xai", "github-copilot", "opencode-go"], model: "grok-4.7", variant: "xhigh" },
9692
9694
  { providers: ["zai-coding-plan", "opencode-go"], model: LATEST_MODEL_BY_FAMILY.glm, variant: "high" },
9693
- { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSol, variant: "high" },
9695
+ { providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSol, variant: "medium" },
9694
9696
  {
9695
9697
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
9696
9698
  model: "gpt-5.6-sol",
9697
- variant: "high"
9699
+ variant: "medium"
9698
9700
  },
9699
9701
  {
9700
9702
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
@@ -9715,7 +9717,7 @@ var init_category_model_requirements = __esm(() => {
9715
9717
  {
9716
9718
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
9717
9719
  model: LATEST_MODEL_BY_FAMILY.claudeOpus,
9718
- variant: "high"
9720
+ variant: "medium"
9719
9721
  },
9720
9722
  { providers: ["zai-coding-plan", "opencode-go"], model: LATEST_MODEL_BY_FAMILY.glm, variant: "max" },
9721
9723
  {
@@ -11792,7 +11794,7 @@ var init_openai_categories = __esm(() => {
11792
11794
  },
11793
11795
  {
11794
11796
  name: "deep-low",
11795
- config: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptSol}`, variant: "high" },
11797
+ config: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptSol}`, variant: "medium" },
11796
11798
  description: "Default deep lane: one goal, one deliverable, decisions the child can settle from what it reads; preferred over deep-high for 3D graphics, computer/browser use, CAPTCHA, multimodal, backend, logic, and algorithm work. Multiple goals fan out as parallel calls.",
11797
11799
  callerGuidance: DEEP_LOW_CATEGORY_CALLER_GUIDANCE,
11798
11800
  promptAppend: DEEP_LOW_CATEGORY_PROMPT_APPEND,
@@ -11817,14 +11819,14 @@ var init_openai_categories = __esm(() => {
11817
11819
  },
11818
11820
  {
11819
11821
  name: "unspecified-low",
11820
- config: { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeSonnet}`, variant: "high" },
11822
+ config: { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeSonnet}`, variant: "medium" },
11821
11823
  description: "Tasks that don't fit other categories, low effort required",
11822
11824
  callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
11823
11825
  promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
11824
11826
  },
11825
11827
  {
11826
11828
  name: "unspecified-high",
11827
- config: { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeOpus}`, variant: "high" },
11829
+ config: { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeOpus}`, variant: "medium" },
11828
11830
  description: "Tasks that don't fit other categories, high effort required",
11829
11831
  callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
11830
11832
  promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
@@ -77716,6 +77718,19 @@ var init_telemetry = __esm(() => {
77716
77718
  }).strict();
77717
77719
  });
77718
77720
 
77721
+ // packages/omo-config-core/src/schema/device-service.ts
77722
+ var OmoDeviceServiceSettingsShape, OmoDeviceServiceSettingsLayerSchema, OmoDeviceServiceSettingsSchema;
77723
+ var init_device_service = __esm(() => {
77724
+ init_zod();
77725
+ OmoDeviceServiceSettingsShape = {
77726
+ enabled: boolean2()
77727
+ };
77728
+ OmoDeviceServiceSettingsLayerSchema = object(OmoDeviceServiceSettingsShape).partial().strict();
77729
+ OmoDeviceServiceSettingsSchema = OmoDeviceServiceSettingsLayerSchema.extend({
77730
+ enabled: boolean2().default(true)
77731
+ }).strict();
77732
+ });
77733
+
77719
77734
  // packages/omo-config-core/src/schema/format-on-mutation.ts
77720
77735
  var mode, languages, OmoFormatOnMutationLayerSchema, OmoFormatOnMutationSchema;
77721
77736
  var init_format_on_mutation = __esm(() => {
@@ -77764,6 +77779,7 @@ var init_config = __esm(() => {
77764
77779
  init_task();
77765
77780
  init_team();
77766
77781
  init_telemetry();
77782
+ init_device_service();
77767
77783
  init_format_on_mutation();
77768
77784
  init_provenance();
77769
77785
  OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
@@ -77783,6 +77799,7 @@ var init_config = __esm(() => {
77783
77799
  model_pad: OmoModelPadSchema.optional(),
77784
77800
  memory: OmoMemorySettingsLayerSchema.optional(),
77785
77801
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
77802
+ device_service: OmoDeviceServiceSettingsLayerSchema.optional(),
77786
77803
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
77787
77804
  computer: OmoComputerSettingsLayerSchema.optional(),
77788
77805
  disabled_skills: OmoDisabledSkillsSchema.optional(),
@@ -77802,6 +77819,7 @@ var init_config = __esm(() => {
77802
77819
  model_pad: OmoModelPadSchema.optional(),
77803
77820
  memory: OmoMemorySettingsLayerSchema.optional(),
77804
77821
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
77822
+ device_service: OmoDeviceServiceSettingsLayerSchema.optional(),
77805
77823
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
77806
77824
  computer: OmoComputerSettingsLayerSchema.optional(),
77807
77825
  disabled_skills: OmoDisabledSkillsSchema.optional(),
@@ -77826,6 +77844,7 @@ var init_config = __esm(() => {
77826
77844
  model_pad: OmoModelPadSchema.optional(),
77827
77845
  memory: OmoMemorySettingsSchema.optional(),
77828
77846
  telemetry: OmoTelemetrySettingsSchema.optional(),
77847
+ device_service: OmoDeviceServiceSettingsSchema.optional(),
77829
77848
  side_panel: OmoSidePanelSettingsSchema.optional(),
77830
77849
  computer: OmoComputerSettingsSchema.optional(),
77831
77850
  disabled_skills: OmoDisabledSkillsSchema.optional(),
@@ -77853,6 +77872,7 @@ var init_config = __esm(() => {
77853
77872
  model_pad: OmoModelPadSchema.optional(),
77854
77873
  memory: OmoMemorySettingsLayerSchema.optional(),
77855
77874
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
77875
+ device_service: OmoDeviceServiceSettingsLayerSchema.optional(),
77856
77876
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
77857
77877
  computer: OmoComputerSettingsLayerSchema.optional(),
77858
77878
  disabled_skills: OmoDisabledSkillsSchema.optional(),
@@ -78004,6 +78024,7 @@ var init_schema = __esm(() => {
78004
78024
  init_task();
78005
78025
  init_team();
78006
78026
  init_telemetry();
78027
+ init_device_service();
78007
78028
  init_computer();
78008
78029
  });
78009
78030
 
@@ -80821,7 +80842,7 @@ var init_openai_only_model_catalog = __esm(() => {
80821
80842
  librarian: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptLunaFast}`, variant: "low" }
80822
80843
  };
80823
80844
  OPENAI_ONLY_CATEGORY_OVERRIDES = {
80824
- artistry: { model: "openai/gpt-5.6-sol", variant: "high" },
80845
+ artistry: { model: "openai/gpt-5.6-sol", variant: "xhigh" },
80825
80846
  quick: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptLunaFast}` },
80826
80847
  "visual-engineering": { model: "openai/gpt-5.6-sol", variant: "high" }
80827
80848
  };
@@ -81033,7 +81054,7 @@ function generateModelConfig(config) {
81033
81054
  if (avail.native.openai) {
81034
81055
  agentConfig = { model: `openai/${LATEST_MODEL_BY_FAMILY.gptLunaFast}`, variant: "low" };
81035
81056
  } else if (avail.native.claude) {
81036
- agentConfig = { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeHaiku}`, variant: "high" };
81057
+ agentConfig = { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeHaiku}`, variant: "medium" };
81037
81058
  } else if (avail.opencodeZen) {
81038
81059
  agentConfig = { model: "opencode/gpt-5-nano" };
81039
81060
  } else if (avail.opencodeGo) {
@@ -92768,7 +92789,7 @@ var package_default2;
92768
92789
  var init_package2 = __esm(() => {
92769
92790
  package_default2 = {
92770
92791
  name: "@oh-my-opencode/omo-codex",
92771
- version: "5.1.59",
92792
+ version: "5.1.61",
92772
92793
  type: "module",
92773
92794
  private: true,
92774
92795
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -100144,6 +100165,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
100144
100165
  join66("extensions", "omo-memory-commands.js"),
100145
100166
  join66("extensions", "omo-session-history.js"),
100146
100167
  join66("extensions", "omo-recall-store.js"),
100168
+ join66("extensions", "omo-device-service.js"),
100147
100169
  join66("extensions", "omo-telemetry-posthog.js"),
100148
100170
  join66("extensions", "omo-telemetry-otlp.js"),
100149
100171
  join66("extensions", "omo-memory-sync.js"),
@@ -109528,8 +109550,8 @@ var package_default3 = {
109528
109550
  },
109529
109551
  dependencies: {
109530
109552
  "@clack/prompts": "^1.8.1",
109531
- "@code-yeongyu/senpi": "2026.11.2-3",
109532
- "@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.11.2-3",
109553
+ "@code-yeongyu/senpi": "2026.11.3-3",
109554
+ "@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.11.3-3",
109533
109555
  "@modelcontextprotocol/sdk": "^1.30.0",
109534
109556
  "@oh-my-opencode/agents-md-core": "workspace:*",
109535
109557
  "@oh-my-opencode/boulder-state": "workspace:*",