oh-my-opencode 5.0.0-beta.81 → 5.0.0-beta.82

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/README.md +1 -1
  2. package/dist/cli/index.js +78 -17
  3. package/dist/cli/senpi-edition-hint.d.ts +10 -0
  4. package/dist/cli-node/index.js +78 -17
  5. package/dist/index.js +44 -15
  6. package/dist/tui.js +28 -1
  7. package/package.json +17 -15
  8. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  9. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +27 -0
  10. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  11. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  12. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  13. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  15. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  17. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  19. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  20. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  22. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  26. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  27. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  28. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  32. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  33. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  34. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  35. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  36. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  54. package/packages/omo-codex/plugin/package-lock.json +12 -12
  55. package/packages/omo-codex/plugin/package.json +1 -1
  56. package/packages/omo-codex/scripts/install-dist/install-local.mjs +29 -2
  57. package/postinstall.mjs +3 -0
package/README.md CHANGED
@@ -115,7 +115,7 @@ Pick the edition(s) you want.
115
115
  | **Ultimate** (OpenCode) | `bunx oh-my-openagent install` (TUI walks you through it) | Plugin registered in `opencode.json` + agent/model config + provider auth prompts |
116
116
  | **Light** (Codex CLI) | `npx lazycodex-ai install` | `~/.codex/plugins/cache/sisyphuslabs/omo/` + local Codex marketplace cache + `~/.codex/config.toml` marketplace/plugin/agent blocks + optional autonomous permissions + component CLIs in `~/.local/bin` |
117
117
  | **Both** | `bunx oh-my-openagent install --platform=both` | Both of the above |
118
- | **Senpi edition** (beta) | `bun add -g omo-ai@beta`, then `omo` | The `omo` command: pinned senpi release with the OMO extension built in. Beta channel only; a bare `bun add -g omo-ai` fails by design. See the [install guide](docs/guide/installation.md#senpi-edition-beta-omo-via-npm-omo-ai). |
118
+ | **Senpi edition** (beta) | `bun add -g omo-ai@beta`, then `omo` | The `omo` command: pinned senpi release with the OMO extension built in. Beta channel only; a bare `bun add -g omo-ai` fails by design. See the [install guide](docs/guide/installation.md#senpi-edition-beta-omo-via-omo-ai). |
119
119
 
120
120
  `lazycodex-ai` defaults to the Codex Light installer and runs through Node/npm. `--platform` on the shared `omo-agent-toolkit` CLI still defaults to `opencode` (Ultimate).
121
121
 
package/dist/cli/index.js CHANGED
@@ -64,7 +64,7 @@ var package_default;
64
64
  var init_package = __esm(() => {
65
65
  package_default = {
66
66
  name: "oh-my-opencode",
67
- version: "5.0.0-beta.81",
67
+ version: "5.0.0-beta.82",
68
68
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
69
69
  main: "./dist/index.js",
70
70
  types: "dist/index.d.ts",
@@ -88,6 +88,7 @@ var init_package = __esm(() => {
88
88
  "packages/openclaw-core",
89
89
  "packages/boulder-state",
90
90
  "packages/memory-core",
91
+ "packages/isolation-core",
91
92
  "packages/telemetry-core",
92
93
  "packages/claude-code-compat-core",
93
94
  "packages/skills-loader-core",
@@ -197,7 +198,7 @@ var init_package = __esm(() => {
197
198
  prepublishOnly: "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
198
199
  "test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
199
200
  typecheck: "tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
200
- "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
201
+ "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
201
202
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
202
203
  test: "bun test --timeout 20000",
203
204
  "changelog:section": "bun script/changelog-section.ts",
@@ -246,7 +247,7 @@ var init_package = __esm(() => {
246
247
  zod: "^4.6.5"
247
248
  },
248
249
  devDependencies: {
249
- "@code-yeongyu/senpi": "2026.9.21-2",
250
+ "@code-yeongyu/senpi": "2026.9.22",
250
251
  "@oh-my-opencode/agents-md-core": "workspace:*",
251
252
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
252
253
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -256,6 +257,7 @@ var init_package = __esm(() => {
256
257
  "@oh-my-opencode/git-bash-mcp": "workspace:*",
257
258
  "@oh-my-opencode/hashline-core": "workspace:*",
258
259
  "@oh-my-opencode/lsp-core": "workspace:*",
260
+ "@oh-my-opencode/isolation-core": "workspace:*",
259
261
  "@oh-my-opencode/memory-core": "workspace:*",
260
262
  "@oh-my-opencode/mcp-client-core": "workspace:*",
261
263
  "@oh-my-opencode/mcp-stdio-core": "workspace:*",
@@ -285,18 +287,18 @@ var init_package = __esm(() => {
285
287
  typescript: "^7.0.2"
286
288
  },
287
289
  optionalDependencies: {
288
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.81",
289
- "oh-my-opencode-darwin-x64": "5.0.0-beta.81",
290
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.81",
291
- "oh-my-opencode-linux-arm64": "5.0.0-beta.81",
292
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.81",
293
- "oh-my-opencode-linux-x64": "5.0.0-beta.81",
294
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.81",
295
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.81",
296
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.81",
297
- "oh-my-opencode-windows-arm64": "5.0.0-beta.81",
298
- "oh-my-opencode-windows-x64": "5.0.0-beta.81",
299
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.81"
290
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.82",
291
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.82",
292
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.82",
293
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.82",
294
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.82",
295
+ "oh-my-opencode-linux-x64": "5.0.0-beta.82",
296
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.82",
297
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.82",
298
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.82",
299
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.82",
300
+ "oh-my-opencode-windows-x64": "5.0.0-beta.82",
301
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.82"
300
302
  },
301
303
  overrides: {
302
304
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -74137,7 +74139,7 @@ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism
74137
74139
  global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
74138
74140
  });
74139
74141
  }
74140
- var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
74142
+ var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, IsolationBackendKindSchema, OmoTaskIsolationSchema, isolationDefaults, OmoTaskIsolationLayerSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
74141
74143
  var init_task = __esm(() => {
74142
74144
  init_zod();
74143
74145
  ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
@@ -74154,6 +74156,31 @@ var init_task = __esm(() => {
74154
74156
  OmoTaskWarningsSchema = object({
74155
74157
  unavailable_categories: boolean2().default(true)
74156
74158
  }).strict();
74159
+ IsolationBackendKindSchema = _enum([
74160
+ "auto",
74161
+ "apfs",
74162
+ "btrfs",
74163
+ "zfs",
74164
+ "reflink",
74165
+ "overlayfs",
74166
+ "block-clone",
74167
+ "rcopy"
74168
+ ]);
74169
+ OmoTaskIsolationSchema = object({
74170
+ enabled: boolean2().default(false),
74171
+ backend: IsolationBackendKindSchema.default("auto"),
74172
+ apply: boolean2().default(true),
74173
+ merge: _enum(["patch", "branch"]).default("patch"),
74174
+ commits: _enum(["generic", "ai"]).default("generic")
74175
+ }).strict();
74176
+ isolationDefaults = OmoTaskIsolationSchema.parse({});
74177
+ OmoTaskIsolationLayerSchema = object({
74178
+ enabled: boolean2().optional(),
74179
+ backend: IsolationBackendKindSchema.optional(),
74180
+ apply: boolean2().optional(),
74181
+ merge: _enum(["patch", "branch"]).optional(),
74182
+ commits: _enum(["generic", "ai"]).optional()
74183
+ }).strict();
74157
74184
  OmoTaskDagSettingsSchema = object({
74158
74185
  max_nodes_per_run: number2().int().positive().default(64),
74159
74186
  max_runs_per_session: number2().int().positive().default(16),
@@ -74165,6 +74192,7 @@ var init_task = __esm(() => {
74165
74192
  max_prompt_bytes: number2().int().positive().default(262144)
74166
74193
  }).strict();
74167
74194
  OmoTaskSettingsSchema = object({
74195
+ isolation: OmoTaskIsolationSchema.default(isolationDefaults),
74168
74196
  default_execution_mode: _enum(["auto", "in-process", "process"]).default("auto"),
74169
74197
  process_runner: _enum(["host", "child-process"]).default("host"),
74170
74198
  host_engine_policy: _enum(["upgrade", "fallback"]).default("upgrade"),
@@ -74213,6 +74241,7 @@ var init_task = __esm(() => {
74213
74241
  unavailable_categories: boolean2().optional()
74214
74242
  }).strict();
74215
74243
  OmoTaskSettingsLayerSchema = object({
74244
+ isolation: OmoTaskIsolationLayerSchema.optional(),
74216
74245
  default_execution_mode: _enum(["auto", "in-process", "process"]).optional(),
74217
74246
  process_runner: _enum(["host", "child-process"]).optional(),
74218
74247
  host_engine_policy: _enum(["upgrade", "fallback"]).optional(),
@@ -88182,7 +88211,7 @@ var package_default2;
88182
88211
  var init_package2 = __esm(() => {
88183
88212
  package_default2 = {
88184
88213
  name: "@oh-my-opencode/omo-codex",
88185
- version: "5.0.0-beta.81",
88214
+ version: "5.0.0-beta.82",
88186
88215
  type: "module",
88187
88216
  private: true,
88188
88217
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -97372,6 +97401,26 @@ function findRepoRoot2(importerDir) {
97372
97401
  function fileExistsSync(path) {
97373
97402
  return existsSync30(path);
97374
97403
  }
97404
+ // packages/omo-opencode/src/cli/senpi-edition-hint.ts
97405
+ var SENPI_EDITION_INSTALL_COMMAND = "bun add -g omo-ai@beta";
97406
+ var SENPI_EDITION_GUIDE_URL = "https://github.com/code-yeongyu/oh-my-openagent/blob/dev/docs/guide/installation.md#senpi-edition-beta-omo-via-omo-ai";
97407
+ var SENPI_EDITION_HINT_TITLE = "Standalone Senpi edition (beta)";
97408
+ var PLAIN_PAINT = {
97409
+ command: (text) => text,
97410
+ link: (text) => text
97411
+ };
97412
+ function shouldShowSenpiEditionHint(config) {
97413
+ return !config.hasSenpi;
97414
+ }
97415
+ function senpiEditionHintLines(paint = PLAIN_PAINT) {
97416
+ return [
97417
+ `omo also ships as a standalone Senpi edition: one ${paint.command("omo")} command, no OpenCode host required.`,
97418
+ `Try it next to this install: ${paint.command(SENPI_EDITION_INSTALL_COMMAND)}, then run ${paint.command("omo")}.`,
97419
+ "This install keeps working as-is.",
97420
+ `Guide: ${paint.link(SENPI_EDITION_GUIDE_URL)}`
97421
+ ];
97422
+ }
97423
+
97375
97424
  // packages/omo-opencode/src/cli/star-request.ts
97376
97425
  import { execFile as execFile4 } from "child_process";
97377
97426
  import { promisify as promisify3 } from "util";
@@ -97903,6 +97952,13 @@ async function runCliInstaller(args, version) {
97903
97952
  printBox(`${import_picocolors3.default.bold("Pro Tip:")} Include ${import_picocolors3.default.cyan("ultrawork")} (or ${import_picocolors3.default.cyan("ulw")}) in your prompt.
97904
97953
  ` + `All features work like magic-parallel agents, background tasks,
97905
97954
  ` + `deep exploration, and relentless execution until completion.`, "The Magic Word");
97955
+ if (shouldShowSenpiEditionHint(config)) {
97956
+ printInfo(import_picocolors3.default.bold(SENPI_EDITION_HINT_TITLE));
97957
+ for (const line of senpiEditionHintLines({ command: import_picocolors3.default.cyan, link: import_picocolors3.default.underline })) {
97958
+ console.log(` ${line}`);
97959
+ }
97960
+ console.log();
97961
+ }
97906
97962
  if (args.tui) {
97907
97963
  await maybePromptForGitHubStars(config.platform);
97908
97964
  }
@@ -99394,6 +99450,11 @@ async function runTuiInstaller(args, version) {
99394
99450
  note(`Include ${import_picocolors4.default.cyan("ultrawork")} (or ${import_picocolors4.default.cyan("ulw")}) in your prompt.
99395
99451
  ` + `All features work like magic-parallel agents, background tasks,
99396
99452
  ` + `deep exploration, and relentless execution until completion.`, "The Magic Word");
99453
+ if (shouldShowSenpiEditionHint(config)) {
99454
+ log4.info(import_picocolors4.default.bold(SENPI_EDITION_HINT_TITLE));
99455
+ log4.message(senpiEditionHintLines({ command: import_picocolors4.default.cyan, link: import_picocolors4.default.underline }).join(`
99456
+ `));
99457
+ }
99397
99458
  const shouldStar = await confirm({
99398
99459
  message: "Star the repos on GitHub?",
99399
99460
  initialValue: false
@@ -0,0 +1,10 @@
1
+ import type { InstallConfig } from "./types";
2
+ export declare const SENPI_EDITION_INSTALL_COMMAND = "bun add -g omo-ai@beta";
3
+ export declare const SENPI_EDITION_GUIDE_URL = "https://github.com/code-yeongyu/oh-my-openagent/blob/dev/docs/guide/installation.md#senpi-edition-beta-omo-via-omo-ai";
4
+ export declare const SENPI_EDITION_HINT_TITLE = "Standalone Senpi edition (beta)";
5
+ export type SenpiEditionHintPaint = {
6
+ readonly command: (text: string) => string;
7
+ readonly link: (text: string) => string;
8
+ };
9
+ export declare function shouldShowSenpiEditionHint(config: Pick<InstallConfig, "hasSenpi">): boolean;
10
+ export declare function senpiEditionHintLines(paint?: SenpiEditionHintPaint): readonly string[];
@@ -65,7 +65,7 @@ var package_default;
65
65
  var init_package = __esm(() => {
66
66
  package_default = {
67
67
  name: "oh-my-opencode",
68
- version: "5.0.0-beta.81",
68
+ version: "5.0.0-beta.82",
69
69
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
70
70
  main: "./dist/index.js",
71
71
  types: "dist/index.d.ts",
@@ -89,6 +89,7 @@ var init_package = __esm(() => {
89
89
  "packages/openclaw-core",
90
90
  "packages/boulder-state",
91
91
  "packages/memory-core",
92
+ "packages/isolation-core",
92
93
  "packages/telemetry-core",
93
94
  "packages/claude-code-compat-core",
94
95
  "packages/skills-loader-core",
@@ -198,7 +199,7 @@ var init_package = __esm(() => {
198
199
  prepublishOnly: "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
199
200
  "test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
200
201
  typecheck: "tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
201
- "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
202
+ "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
202
203
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
203
204
  test: "bun test --timeout 20000",
204
205
  "changelog:section": "bun script/changelog-section.ts",
@@ -247,7 +248,7 @@ var init_package = __esm(() => {
247
248
  zod: "^4.6.5"
248
249
  },
249
250
  devDependencies: {
250
- "@code-yeongyu/senpi": "2026.9.21-2",
251
+ "@code-yeongyu/senpi": "2026.9.22",
251
252
  "@oh-my-opencode/agents-md-core": "workspace:*",
252
253
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
253
254
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -257,6 +258,7 @@ var init_package = __esm(() => {
257
258
  "@oh-my-opencode/git-bash-mcp": "workspace:*",
258
259
  "@oh-my-opencode/hashline-core": "workspace:*",
259
260
  "@oh-my-opencode/lsp-core": "workspace:*",
261
+ "@oh-my-opencode/isolation-core": "workspace:*",
260
262
  "@oh-my-opencode/memory-core": "workspace:*",
261
263
  "@oh-my-opencode/mcp-client-core": "workspace:*",
262
264
  "@oh-my-opencode/mcp-stdio-core": "workspace:*",
@@ -286,18 +288,18 @@ var init_package = __esm(() => {
286
288
  typescript: "^7.0.2"
287
289
  },
288
290
  optionalDependencies: {
289
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.81",
290
- "oh-my-opencode-darwin-x64": "5.0.0-beta.81",
291
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.81",
292
- "oh-my-opencode-linux-arm64": "5.0.0-beta.81",
293
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.81",
294
- "oh-my-opencode-linux-x64": "5.0.0-beta.81",
295
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.81",
296
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.81",
297
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.81",
298
- "oh-my-opencode-windows-arm64": "5.0.0-beta.81",
299
- "oh-my-opencode-windows-x64": "5.0.0-beta.81",
300
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.81"
291
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.82",
292
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.82",
293
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.82",
294
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.82",
295
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.82",
296
+ "oh-my-opencode-linux-x64": "5.0.0-beta.82",
297
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.82",
298
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.82",
299
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.82",
300
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.82",
301
+ "oh-my-opencode-windows-x64": "5.0.0-beta.82",
302
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.82"
301
303
  },
302
304
  overrides: {
303
305
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -74216,7 +74218,7 @@ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism
74216
74218
  global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
74217
74219
  });
74218
74220
  }
74219
- var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
74221
+ var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, IsolationBackendKindSchema, OmoTaskIsolationSchema, isolationDefaults, OmoTaskIsolationLayerSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
74220
74222
  var init_task = __esm(() => {
74221
74223
  init_zod();
74222
74224
  ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
@@ -74233,6 +74235,31 @@ var init_task = __esm(() => {
74233
74235
  OmoTaskWarningsSchema = object({
74234
74236
  unavailable_categories: boolean2().default(true)
74235
74237
  }).strict();
74238
+ IsolationBackendKindSchema = _enum([
74239
+ "auto",
74240
+ "apfs",
74241
+ "btrfs",
74242
+ "zfs",
74243
+ "reflink",
74244
+ "overlayfs",
74245
+ "block-clone",
74246
+ "rcopy"
74247
+ ]);
74248
+ OmoTaskIsolationSchema = object({
74249
+ enabled: boolean2().default(false),
74250
+ backend: IsolationBackendKindSchema.default("auto"),
74251
+ apply: boolean2().default(true),
74252
+ merge: _enum(["patch", "branch"]).default("patch"),
74253
+ commits: _enum(["generic", "ai"]).default("generic")
74254
+ }).strict();
74255
+ isolationDefaults = OmoTaskIsolationSchema.parse({});
74256
+ OmoTaskIsolationLayerSchema = object({
74257
+ enabled: boolean2().optional(),
74258
+ backend: IsolationBackendKindSchema.optional(),
74259
+ apply: boolean2().optional(),
74260
+ merge: _enum(["patch", "branch"]).optional(),
74261
+ commits: _enum(["generic", "ai"]).optional()
74262
+ }).strict();
74236
74263
  OmoTaskDagSettingsSchema = object({
74237
74264
  max_nodes_per_run: number2().int().positive().default(64),
74238
74265
  max_runs_per_session: number2().int().positive().default(16),
@@ -74244,6 +74271,7 @@ var init_task = __esm(() => {
74244
74271
  max_prompt_bytes: number2().int().positive().default(262144)
74245
74272
  }).strict();
74246
74273
  OmoTaskSettingsSchema = object({
74274
+ isolation: OmoTaskIsolationSchema.default(isolationDefaults),
74247
74275
  default_execution_mode: _enum(["auto", "in-process", "process"]).default("auto"),
74248
74276
  process_runner: _enum(["host", "child-process"]).default("host"),
74249
74277
  host_engine_policy: _enum(["upgrade", "fallback"]).default("upgrade"),
@@ -74292,6 +74320,7 @@ var init_task = __esm(() => {
74292
74320
  unavailable_categories: boolean2().optional()
74293
74321
  }).strict();
74294
74322
  OmoTaskSettingsLayerSchema = object({
74323
+ isolation: OmoTaskIsolationLayerSchema.optional(),
74295
74324
  default_execution_mode: _enum(["auto", "in-process", "process"]).optional(),
74296
74325
  process_runner: _enum(["host", "child-process"]).optional(),
74297
74326
  host_engine_policy: _enum(["upgrade", "fallback"]).optional(),
@@ -88261,7 +88290,7 @@ var package_default2;
88261
88290
  var init_package2 = __esm(() => {
88262
88291
  package_default2 = {
88263
88292
  name: "@oh-my-opencode/omo-codex",
88264
- version: "5.0.0-beta.81",
88293
+ version: "5.0.0-beta.82",
88265
88294
  type: "module",
88266
88295
  private: true,
88267
88296
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -97451,6 +97480,26 @@ function findRepoRoot2(importerDir) {
97451
97480
  function fileExistsSync(path) {
97452
97481
  return existsSync30(path);
97453
97482
  }
97483
+ // packages/omo-opencode/src/cli/senpi-edition-hint.ts
97484
+ var SENPI_EDITION_INSTALL_COMMAND = "bun add -g omo-ai@beta";
97485
+ var SENPI_EDITION_GUIDE_URL = "https://github.com/code-yeongyu/oh-my-openagent/blob/dev/docs/guide/installation.md#senpi-edition-beta-omo-via-omo-ai";
97486
+ var SENPI_EDITION_HINT_TITLE = "Standalone Senpi edition (beta)";
97487
+ var PLAIN_PAINT = {
97488
+ command: (text) => text,
97489
+ link: (text) => text
97490
+ };
97491
+ function shouldShowSenpiEditionHint(config) {
97492
+ return !config.hasSenpi;
97493
+ }
97494
+ function senpiEditionHintLines(paint = PLAIN_PAINT) {
97495
+ return [
97496
+ `omo also ships as a standalone Senpi edition: one ${paint.command("omo")} command, no OpenCode host required.`,
97497
+ `Try it next to this install: ${paint.command(SENPI_EDITION_INSTALL_COMMAND)}, then run ${paint.command("omo")}.`,
97498
+ "This install keeps working as-is.",
97499
+ `Guide: ${paint.link(SENPI_EDITION_GUIDE_URL)}`
97500
+ ];
97501
+ }
97502
+
97454
97503
  // packages/omo-opencode/src/cli/star-request.ts
97455
97504
  import { execFile as execFile4 } from "node:child_process";
97456
97505
  import { promisify as promisify3 } from "node:util";
@@ -97982,6 +98031,13 @@ async function runCliInstaller(args, version) {
97982
98031
  printBox(`${import_picocolors3.default.bold("Pro Tip:")} Include ${import_picocolors3.default.cyan("ultrawork")} (or ${import_picocolors3.default.cyan("ulw")}) in your prompt.
97983
98032
  ` + `All features work like magic-parallel agents, background tasks,
97984
98033
  ` + `deep exploration, and relentless execution until completion.`, "The Magic Word");
98034
+ if (shouldShowSenpiEditionHint(config)) {
98035
+ printInfo(import_picocolors3.default.bold(SENPI_EDITION_HINT_TITLE));
98036
+ for (const line of senpiEditionHintLines({ command: import_picocolors3.default.cyan, link: import_picocolors3.default.underline })) {
98037
+ console.log(` ${line}`);
98038
+ }
98039
+ console.log();
98040
+ }
97985
98041
  if (args.tui) {
97986
98042
  await maybePromptForGitHubStars(config.platform);
97987
98043
  }
@@ -99473,6 +99529,11 @@ async function runTuiInstaller(args, version) {
99473
99529
  note(`Include ${import_picocolors4.default.cyan("ultrawork")} (or ${import_picocolors4.default.cyan("ulw")}) in your prompt.
99474
99530
  ` + `All features work like magic-parallel agents, background tasks,
99475
99531
  ` + `deep exploration, and relentless execution until completion.`, "The Magic Word");
99532
+ if (shouldShowSenpiEditionHint(config)) {
99533
+ log4.info(import_picocolors4.default.bold(SENPI_EDITION_HINT_TITLE));
99534
+ log4.message(senpiEditionHintLines({ command: import_picocolors4.default.cyan, link: import_picocolors4.default.underline }).join(`
99535
+ `));
99536
+ }
99476
99537
  const shouldStar = await confirm({
99477
99538
  message: "Star the repos on GitHub?",
99478
99539
  initialValue: false
package/dist/index.js CHANGED
@@ -23436,6 +23436,31 @@ var OmoTaskTeamSettingsSchema = z10.object({
23436
23436
  var OmoTaskWarningsSchema = z10.object({
23437
23437
  unavailable_categories: z10.boolean().default(true)
23438
23438
  }).strict();
23439
+ var IsolationBackendKindSchema = z10.enum([
23440
+ "auto",
23441
+ "apfs",
23442
+ "btrfs",
23443
+ "zfs",
23444
+ "reflink",
23445
+ "overlayfs",
23446
+ "block-clone",
23447
+ "rcopy"
23448
+ ]);
23449
+ var OmoTaskIsolationSchema = z10.object({
23450
+ enabled: z10.boolean().default(false),
23451
+ backend: IsolationBackendKindSchema.default("auto"),
23452
+ apply: z10.boolean().default(true),
23453
+ merge: z10.enum(["patch", "branch"]).default("patch"),
23454
+ commits: z10.enum(["generic", "ai"]).default("generic")
23455
+ }).strict();
23456
+ var isolationDefaults = OmoTaskIsolationSchema.parse({});
23457
+ var OmoTaskIsolationLayerSchema = z10.object({
23458
+ enabled: z10.boolean().optional(),
23459
+ backend: IsolationBackendKindSchema.optional(),
23460
+ apply: z10.boolean().optional(),
23461
+ merge: z10.enum(["patch", "branch"]).optional(),
23462
+ commits: z10.enum(["generic", "ai"]).optional()
23463
+ }).strict();
23439
23464
  var OmoTaskDagSettingsSchema = z10.object({
23440
23465
  max_nodes_per_run: z10.number().int().positive().default(64),
23441
23466
  max_runs_per_session: z10.number().int().positive().default(16),
@@ -23447,6 +23472,7 @@ var OmoTaskDagSettingsSchema = z10.object({
23447
23472
  max_prompt_bytes: z10.number().int().positive().default(262144)
23448
23473
  }).strict();
23449
23474
  var OmoTaskSettingsSchema = z10.object({
23475
+ isolation: OmoTaskIsolationSchema.default(isolationDefaults),
23450
23476
  default_execution_mode: z10.enum(["auto", "in-process", "process"]).default("auto"),
23451
23477
  process_runner: z10.enum(["host", "child-process"]).default("host"),
23452
23478
  host_engine_policy: z10.enum(["upgrade", "fallback"]).default("upgrade"),
@@ -23495,6 +23521,7 @@ var OmoTaskWarningsLayerSchema = z10.object({
23495
23521
  unavailable_categories: z10.boolean().optional()
23496
23522
  }).strict();
23497
23523
  var OmoTaskSettingsLayerSchema = z10.object({
23524
+ isolation: OmoTaskIsolationLayerSchema.optional(),
23498
23525
  default_execution_mode: z10.enum(["auto", "in-process", "process"]).optional(),
23499
23526
  process_runner: z10.enum(["host", "child-process"]).optional(),
23500
23527
  host_engine_policy: z10.enum(["upgrade", "fallback"]).optional(),
@@ -97249,7 +97276,7 @@ function getCachedVersion(options = {}) {
97249
97276
  // package.json
97250
97277
  var package_default = {
97251
97278
  name: "oh-my-opencode",
97252
- version: "5.0.0-beta.81",
97279
+ version: "5.0.0-beta.82",
97253
97280
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
97254
97281
  main: "./dist/index.js",
97255
97282
  types: "dist/index.d.ts",
@@ -97273,6 +97300,7 @@ var package_default = {
97273
97300
  "packages/openclaw-core",
97274
97301
  "packages/boulder-state",
97275
97302
  "packages/memory-core",
97303
+ "packages/isolation-core",
97276
97304
  "packages/telemetry-core",
97277
97305
  "packages/claude-code-compat-core",
97278
97306
  "packages/skills-loader-core",
@@ -97382,7 +97410,7 @@ var package_default = {
97382
97410
  prepublishOnly: "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
97383
97411
  "test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
97384
97412
  typecheck: "tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
97385
- "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
97413
+ "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
97386
97414
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
97387
97415
  test: "bun test --timeout 20000",
97388
97416
  "changelog:section": "bun script/changelog-section.ts",
@@ -97431,7 +97459,7 @@ var package_default = {
97431
97459
  zod: "^4.6.5"
97432
97460
  },
97433
97461
  devDependencies: {
97434
- "@code-yeongyu/senpi": "2026.9.21-2",
97462
+ "@code-yeongyu/senpi": "2026.9.22",
97435
97463
  "@oh-my-opencode/agents-md-core": "workspace:*",
97436
97464
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
97437
97465
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -97441,6 +97469,7 @@ var package_default = {
97441
97469
  "@oh-my-opencode/git-bash-mcp": "workspace:*",
97442
97470
  "@oh-my-opencode/hashline-core": "workspace:*",
97443
97471
  "@oh-my-opencode/lsp-core": "workspace:*",
97472
+ "@oh-my-opencode/isolation-core": "workspace:*",
97444
97473
  "@oh-my-opencode/memory-core": "workspace:*",
97445
97474
  "@oh-my-opencode/mcp-client-core": "workspace:*",
97446
97475
  "@oh-my-opencode/mcp-stdio-core": "workspace:*",
@@ -97470,18 +97499,18 @@ var package_default = {
97470
97499
  typescript: "^7.0.2"
97471
97500
  },
97472
97501
  optionalDependencies: {
97473
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.81",
97474
- "oh-my-opencode-darwin-x64": "5.0.0-beta.81",
97475
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.81",
97476
- "oh-my-opencode-linux-arm64": "5.0.0-beta.81",
97477
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.81",
97478
- "oh-my-opencode-linux-x64": "5.0.0-beta.81",
97479
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.81",
97480
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.81",
97481
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.81",
97482
- "oh-my-opencode-windows-arm64": "5.0.0-beta.81",
97483
- "oh-my-opencode-windows-x64": "5.0.0-beta.81",
97484
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.81"
97502
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.82",
97503
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.82",
97504
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.82",
97505
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.82",
97506
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.82",
97507
+ "oh-my-opencode-linux-x64": "5.0.0-beta.82",
97508
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.82",
97509
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.82",
97510
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.82",
97511
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.82",
97512
+ "oh-my-opencode-windows-x64": "5.0.0-beta.82",
97513
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.82"
97485
97514
  },
97486
97515
  overrides: {
97487
97516
  "@earendil-works/pi-agent-core": "0.84.2",
package/dist/tui.js CHANGED
@@ -69480,7 +69480,7 @@ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism
69480
69480
  global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
69481
69481
  });
69482
69482
  }
69483
- var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
69483
+ var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, IsolationBackendKindSchema, OmoTaskIsolationSchema, isolationDefaults, OmoTaskIsolationLayerSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
69484
69484
  var init_task = __esm(() => {
69485
69485
  init_zod();
69486
69486
  ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
@@ -69497,6 +69497,31 @@ var init_task = __esm(() => {
69497
69497
  OmoTaskWarningsSchema = object({
69498
69498
  unavailable_categories: boolean2().default(true)
69499
69499
  }).strict();
69500
+ IsolationBackendKindSchema = _enum([
69501
+ "auto",
69502
+ "apfs",
69503
+ "btrfs",
69504
+ "zfs",
69505
+ "reflink",
69506
+ "overlayfs",
69507
+ "block-clone",
69508
+ "rcopy"
69509
+ ]);
69510
+ OmoTaskIsolationSchema = object({
69511
+ enabled: boolean2().default(false),
69512
+ backend: IsolationBackendKindSchema.default("auto"),
69513
+ apply: boolean2().default(true),
69514
+ merge: _enum(["patch", "branch"]).default("patch"),
69515
+ commits: _enum(["generic", "ai"]).default("generic")
69516
+ }).strict();
69517
+ isolationDefaults = OmoTaskIsolationSchema.parse({});
69518
+ OmoTaskIsolationLayerSchema = object({
69519
+ enabled: boolean2().optional(),
69520
+ backend: IsolationBackendKindSchema.optional(),
69521
+ apply: boolean2().optional(),
69522
+ merge: _enum(["patch", "branch"]).optional(),
69523
+ commits: _enum(["generic", "ai"]).optional()
69524
+ }).strict();
69500
69525
  OmoTaskDagSettingsSchema = object({
69501
69526
  max_nodes_per_run: number2().int().positive().default(64),
69502
69527
  max_runs_per_session: number2().int().positive().default(16),
@@ -69508,6 +69533,7 @@ var init_task = __esm(() => {
69508
69533
  max_prompt_bytes: number2().int().positive().default(262144)
69509
69534
  }).strict();
69510
69535
  OmoTaskSettingsSchema = object({
69536
+ isolation: OmoTaskIsolationSchema.default(isolationDefaults),
69511
69537
  default_execution_mode: _enum(["auto", "in-process", "process"]).default("auto"),
69512
69538
  process_runner: _enum(["host", "child-process"]).default("host"),
69513
69539
  host_engine_policy: _enum(["upgrade", "fallback"]).default("upgrade"),
@@ -69556,6 +69582,7 @@ var init_task = __esm(() => {
69556
69582
  unavailable_categories: boolean2().optional()
69557
69583
  }).strict();
69558
69584
  OmoTaskSettingsLayerSchema = object({
69585
+ isolation: OmoTaskIsolationLayerSchema.optional(),
69559
69586
  default_execution_mode: _enum(["auto", "in-process", "process"]).optional(),
69560
69587
  process_runner: _enum(["host", "child-process"]).optional(),
69561
69588
  host_engine_policy: _enum(["upgrade", "fallback"]).optional(),