oh-my-opencode 5.0.0-beta.30 → 5.0.0-beta.31
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.
- package/dist/cli/index.js +75 -26
- package/dist/cli-node/index.js +75 -26
- package/dist/config/schema/background-task.d.ts +1 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
- package/dist/features/background-agent/constants.d.ts +0 -7
- package/dist/features/background-agent/manager.d.ts +2 -1
- package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +0 -1
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +8 -0
- package/dist/features/task-toast-manager/manager.d.ts +0 -24
- package/dist/hooks/anthropic-context-window-limit-recovery/message-storage-directory.d.ts +0 -3
- package/dist/hooks/anthropic-context-window-limit-recovery/state.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage/empty-messages.d.ts +0 -1
- package/dist/hooks/claude-code-hooks/session-hook-state.d.ts +1 -0
- package/dist/hooks/claude-code-hooks/stop.d.ts +2 -0
- package/dist/hooks/claude-code-hooks/todo.d.ts +0 -1
- package/dist/hooks/claude-code-hooks/transcript.d.ts +2 -0
- package/dist/hooks/fsync-skip-warning/index.d.ts +4 -0
- package/dist/hooks/hashline-edit-diff-enhancer/hook.d.ts +1 -0
- package/dist/hooks/hashline-edit-diff-enhancer/pending-captures.d.ts +13 -0
- package/dist/hooks/keyword-detector/hook.d.ts +7 -0
- package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +0 -1
- package/dist/hooks/model-fallback/hook.d.ts +1 -1
- package/dist/index.js +439 -218
- package/dist/oh-my-opencode.schema.json +5 -0
- package/dist/plugin-dispose.d.ts +3 -0
- package/dist/shared/agent-tool-restrictions.d.ts +0 -1
- package/dist/tools/delegate-task/sync-session-cleanup.d.ts +3 -0
- package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -0
- package/dist/tools/delegate-task/types.d.ts +1 -0
- package/dist/tui.js +56 -3
- package/package.json +15 -15
- package/packages/git-bash-mcp/dist/cli.js +1 -0
- package/packages/lsp-core/src/lsp/client-wrapper.test.ts +97 -0
- package/packages/lsp-core/src/lsp/client-wrapper.ts +21 -6
- package/packages/lsp-core/src/lsp/constants.ts +5 -0
- package/packages/lsp-core/src/lsp/errors.ts +15 -0
- package/packages/lsp-core/src/lsp/manager-lifecycle.test.ts +262 -0
- package/packages/lsp-core/src/lsp/manager.ts +106 -13
- package/packages/lsp-core/src/lsp/workspace-markers.ts +18 -1
- package/packages/lsp-core/src/mcp.ts +3 -0
- package/packages/lsp-daemon/dist/cli.js +114 -18
- package/packages/lsp-daemon/dist/client.js +114 -18
- package/packages/lsp-daemon/dist/index.js +114 -18
- package/packages/lsp-daemon/dist/proxy.js +3 -0
- package/packages/lsp-tools-mcp/dist/cli.js +114 -18
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +93 -12
- package/packages/lsp-tools-mcp/dist/mcp.js +114 -18
- package/packages/lsp-tools-mcp/dist/tools.js +113 -18
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +31 -2
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +31 -2
- package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/src/mcp-unavailable.ts +12 -0
- package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable-idle.test.ts +47 -0
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +113 -18
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +100 -54
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +9 -6
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +7 -10
- package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.d.ts +15 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.js +50 -0
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +16 -5
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +11 -14
- package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/surface.ts +73 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +44 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +25 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +7 -3
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +45 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +20 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/surface.test.ts +74 -0
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +13 -13
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
- package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +0 -11
- package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +0 -7
- package/dist/tools/call-omo-agent/message-storage-directory.d.ts +0 -1
- package/dist/tools/delegate-task/model-string-parser.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +0 -1
package/dist/cli/index.js
CHANGED
|
@@ -54,7 +54,7 @@ var package_default;
|
|
|
54
54
|
var init_package = __esm(() => {
|
|
55
55
|
package_default = {
|
|
56
56
|
name: "oh-my-opencode",
|
|
57
|
-
version: "5.0.0-beta.
|
|
57
|
+
version: "5.0.0-beta.31",
|
|
58
58
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
59
59
|
main: "./dist/index.js",
|
|
60
60
|
types: "dist/index.d.ts",
|
|
@@ -235,7 +235,7 @@ var init_package = __esm(() => {
|
|
|
235
235
|
zod: "^4.4.3"
|
|
236
236
|
},
|
|
237
237
|
devDependencies: {
|
|
238
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
238
|
+
"@code-yeongyu/senpi": "2026.8.31",
|
|
239
239
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
240
240
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
241
241
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -276,18 +276,18 @@ var init_package = __esm(() => {
|
|
|
276
276
|
typescript: "^7.0.2"
|
|
277
277
|
},
|
|
278
278
|
optionalDependencies: {
|
|
279
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
280
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
281
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
282
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
283
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
284
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
285
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
286
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
287
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
288
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
289
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
290
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
279
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.31",
|
|
280
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.31",
|
|
281
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.31",
|
|
282
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.31",
|
|
283
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.31",
|
|
284
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.31",
|
|
285
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.31",
|
|
286
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.31",
|
|
287
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.31",
|
|
288
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.31",
|
|
289
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.31",
|
|
290
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.31"
|
|
291
291
|
},
|
|
292
292
|
overrides: {
|
|
293
293
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -305,7 +305,7 @@ var init_package = __esm(() => {
|
|
|
305
305
|
"@code-yeongyu/comment-checker"
|
|
306
306
|
],
|
|
307
307
|
patchedDependencies: {
|
|
308
|
-
"@code-yeongyu/senpi@2026.8.
|
|
308
|
+
"@code-yeongyu/senpi@2026.8.31": "patches/@code-yeongyu%2Fsenpi@2026.8.31.patch"
|
|
309
309
|
}
|
|
310
310
|
};
|
|
311
311
|
});
|
|
@@ -20229,7 +20229,7 @@ var init_git_master = __esm(() => {
|
|
|
20229
20229
|
});
|
|
20230
20230
|
|
|
20231
20231
|
// packages/omo-config-core/src/schema/memory.ts
|
|
20232
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
20232
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
20233
20233
|
var init_memory = __esm(() => {
|
|
20234
20234
|
init_zod();
|
|
20235
20235
|
OmoMemoryReflectionTriggerSchema = object({
|
|
@@ -20251,6 +20251,14 @@ var init_memory = __esm(() => {
|
|
|
20251
20251
|
OmoMemorySearchSchema = object({
|
|
20252
20252
|
enabled: boolean2().default(true)
|
|
20253
20253
|
}).strict();
|
|
20254
|
+
OmoMemoryRecallSchema = object({
|
|
20255
|
+
enabled: boolean2().default(true),
|
|
20256
|
+
max_items: number2().int().min(1).max(5).default(2),
|
|
20257
|
+
budget_tokens: number2().int().positive().default(600),
|
|
20258
|
+
excerpt_chars: number2().int().positive().default(200),
|
|
20259
|
+
min_score: number2().optional(),
|
|
20260
|
+
exclude: array(string2()).default([])
|
|
20261
|
+
}).strict();
|
|
20254
20262
|
OmoMemoryNudgeSchema = object({
|
|
20255
20263
|
enabled: boolean2().default(true),
|
|
20256
20264
|
every_user_turns: number2().int().min(1).default(10)
|
|
@@ -20297,6 +20305,14 @@ var init_memory = __esm(() => {
|
|
|
20297
20305
|
OmoMemorySearchLayerSchema = object({
|
|
20298
20306
|
enabled: boolean2().optional()
|
|
20299
20307
|
}).strict();
|
|
20308
|
+
OmoMemoryRecallLayerSchema = object({
|
|
20309
|
+
enabled: boolean2().optional(),
|
|
20310
|
+
max_items: number2().int().min(1).max(5).optional(),
|
|
20311
|
+
budget_tokens: number2().int().positive().optional(),
|
|
20312
|
+
excerpt_chars: number2().int().positive().optional(),
|
|
20313
|
+
min_score: number2().optional(),
|
|
20314
|
+
exclude: array(string2()).optional()
|
|
20315
|
+
}).strict();
|
|
20300
20316
|
OmoMemoryNudgeLayerSchema = object({
|
|
20301
20317
|
enabled: boolean2().optional(),
|
|
20302
20318
|
every_user_turns: number2().int().min(1).optional()
|
|
@@ -20336,6 +20352,7 @@ var init_memory = __esm(() => {
|
|
|
20336
20352
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
20337
20353
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
20338
20354
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
20355
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
20339
20356
|
compile_warn_tokens: number2().int().positive().optional()
|
|
20340
20357
|
}).strict();
|
|
20341
20358
|
OmoMemorySettingsSchema = object({
|
|
@@ -20365,6 +20382,13 @@ var init_memory = __esm(() => {
|
|
|
20365
20382
|
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
20366
20383
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
20367
20384
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
20385
|
+
recall: OmoMemoryRecallSchema.default({
|
|
20386
|
+
enabled: true,
|
|
20387
|
+
max_items: 2,
|
|
20388
|
+
budget_tokens: 600,
|
|
20389
|
+
excerpt_chars: 200,
|
|
20390
|
+
exclude: []
|
|
20391
|
+
}),
|
|
20368
20392
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
20369
20393
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
20370
20394
|
}).strict();
|
|
@@ -20381,6 +20405,7 @@ var init_memory = __esm(() => {
|
|
|
20381
20405
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
20382
20406
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
20383
20407
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
20408
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
20384
20409
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
20385
20410
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
20386
20411
|
}).strict();
|
|
@@ -20414,11 +20439,11 @@ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism
|
|
|
20414
20439
|
const record2 = record(string2(), unknown()).parse(input);
|
|
20415
20440
|
return OmoTaskSettingsSchema.parse({
|
|
20416
20441
|
...record2,
|
|
20417
|
-
residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() *
|
|
20442
|
+
residency_max_children: record2["residency_max_children"] ?? Math.min(DEFAULT_RESIDENCY_MAX_CHILDREN, Math.max(8, resolveParallelism() * 2)),
|
|
20418
20443
|
global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
|
|
20419
20444
|
});
|
|
20420
20445
|
}
|
|
20421
|
-
var ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
20446
|
+
var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
20422
20447
|
var init_task = __esm(() => {
|
|
20423
20448
|
init_zod();
|
|
20424
20449
|
ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
|
|
@@ -23980,7 +24005,6 @@ function extractPromptFailureMessage(error51) {
|
|
|
23980
24005
|
try {
|
|
23981
24006
|
return JSON.stringify(error51);
|
|
23982
24007
|
} catch (stringifyError) {
|
|
23983
|
-
stringifyError instanceof Error;
|
|
23984
24008
|
return "";
|
|
23985
24009
|
}
|
|
23986
24010
|
}
|
|
@@ -24196,6 +24220,33 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
24196
24220
|
{ providers: ["opencode-go"], model: "glm-5.2" }
|
|
24197
24221
|
]
|
|
24198
24222
|
},
|
|
24223
|
+
"omo-senpi-code-reviewer": {
|
|
24224
|
+
fallbackChain: [
|
|
24225
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-terra", variant: "medium" },
|
|
24226
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-terra", variant: "medium" },
|
|
24227
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-6" },
|
|
24228
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24229
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24230
|
+
]
|
|
24231
|
+
},
|
|
24232
|
+
"omo-senpi-qa-executor": {
|
|
24233
|
+
fallbackChain: [
|
|
24234
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-luna", variant: "high" },
|
|
24235
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-luna", variant: "high" },
|
|
24236
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-6" },
|
|
24237
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24238
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24239
|
+
]
|
|
24240
|
+
},
|
|
24241
|
+
"omo-senpi-gate-reviewer": {
|
|
24242
|
+
fallbackChain: [
|
|
24243
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-sol", variant: "low" },
|
|
24244
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "low" },
|
|
24245
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-5", variant: "max" },
|
|
24246
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24247
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24248
|
+
]
|
|
24249
|
+
},
|
|
24199
24250
|
atlas: {
|
|
24200
24251
|
fallbackChain: [
|
|
24201
24252
|
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-5" },
|
|
@@ -24702,7 +24753,7 @@ function normalizeCapabilitiesReasoningEfforts(capabilities) {
|
|
|
24702
24753
|
}
|
|
24703
24754
|
return capabilities.reasoningEfforts.map((value) => value.toLowerCase());
|
|
24704
24755
|
}
|
|
24705
|
-
function resolveField(normalized, familyCaps,
|
|
24756
|
+
function resolveField(normalized, familyCaps, familyKnown, metadataOverride, familyAliases) {
|
|
24706
24757
|
const aliased = familyAliases?.[normalized];
|
|
24707
24758
|
if (aliased && (metadataOverride?.includes(aliased) || familyCaps?.includes(aliased))) {
|
|
24708
24759
|
return { value: aliased, reason: "unsupported-by-model-family" };
|
|
@@ -24737,7 +24788,7 @@ function resolveCompatibleModelSettings(input) {
|
|
|
24737
24788
|
let variant = input.desired.variant;
|
|
24738
24789
|
if (variant !== undefined) {
|
|
24739
24790
|
const normalized = variant.toLowerCase();
|
|
24740
|
-
const resolved = resolveField(normalized, family?.variants,
|
|
24791
|
+
const resolved = resolveField(normalized, family?.variants, familyKnown, metadataVariants);
|
|
24741
24792
|
if (resolved.value !== normalized && resolved.reason) {
|
|
24742
24793
|
changes.push({ field: "variant", from: variant, to: resolved.value, reason: resolved.reason });
|
|
24743
24794
|
}
|
|
@@ -24746,7 +24797,7 @@ function resolveCompatibleModelSettings(input) {
|
|
|
24746
24797
|
let reasoningEffort = input.desired.reasoningEffort;
|
|
24747
24798
|
if (reasoningEffort !== undefined) {
|
|
24748
24799
|
const normalized = reasoningEffort.toLowerCase();
|
|
24749
|
-
const resolved = resolveField(normalized, family?.reasoningEfforts,
|
|
24800
|
+
const resolved = resolveField(normalized, family?.reasoningEfforts, familyKnown, metadataReasoningEfforts, family?.reasoningEffortAliases);
|
|
24750
24801
|
if (resolved.value !== normalized && resolved.reason) {
|
|
24751
24802
|
changes.push({ field: "reasoningEffort", from: reasoningEffort, to: resolved.value, reason: resolved.reason });
|
|
24752
24803
|
}
|
|
@@ -94400,7 +94451,7 @@ var package_default2;
|
|
|
94400
94451
|
var init_package2 = __esm(() => {
|
|
94401
94452
|
package_default2 = {
|
|
94402
94453
|
name: "@oh-my-opencode/omo-codex",
|
|
94403
|
-
version: "5.0.0-beta.
|
|
94454
|
+
version: "5.0.0-beta.31",
|
|
94404
94455
|
type: "module",
|
|
94405
94456
|
private: true,
|
|
94406
94457
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -94840,7 +94891,6 @@ function getLocalDevVersion(directory) {
|
|
|
94840
94891
|
const pkg = JSON.parse(content);
|
|
94841
94892
|
return pkg.version ?? null;
|
|
94842
94893
|
} catch (error51) {
|
|
94843
|
-
error51 instanceof Error;
|
|
94844
94894
|
return null;
|
|
94845
94895
|
}
|
|
94846
94896
|
}
|
|
@@ -94872,7 +94922,6 @@ function findPluginEntry(directory) {
|
|
|
94872
94922
|
}
|
|
94873
94923
|
}
|
|
94874
94924
|
} catch (error51) {
|
|
94875
|
-
error51 instanceof Error;
|
|
94876
94925
|
continue;
|
|
94877
94926
|
}
|
|
94878
94927
|
}
|
|
@@ -94977,7 +95026,6 @@ async function getLatestVersion(channel = "latest") {
|
|
|
94977
95026
|
const data = await response.json();
|
|
94978
95027
|
return data[channel] ?? data.latest ?? null;
|
|
94979
95028
|
} catch (error51) {
|
|
94980
|
-
error51 instanceof Error;
|
|
94981
95029
|
return null;
|
|
94982
95030
|
} finally {
|
|
94983
95031
|
clearTimeout(timeoutId);
|
|
@@ -107061,6 +107109,7 @@ var BackgroundTaskConfigSchema = exports_external.object({
|
|
|
107061
107109
|
providerConcurrency: exports_external.record(exports_external.string(), exports_external.number().min(0)).optional(),
|
|
107062
107110
|
modelConcurrency: exports_external.record(exports_external.string(), exports_external.number().min(0)).optional(),
|
|
107063
107111
|
maxDepth: exports_external.number().int().min(1).optional(),
|
|
107112
|
+
maxLiveDescendantsPerRoot: exports_external.number().int().min(0).optional(),
|
|
107064
107113
|
staleTimeoutMs: exports_external.number().min(60000).optional(),
|
|
107065
107114
|
messageStalenessTimeoutMs: exports_external.number().min(60000).optional(),
|
|
107066
107115
|
taskTtlMs: exports_external.number().min(300000).optional(),
|
package/dist/cli-node/index.js
CHANGED
|
@@ -55,7 +55,7 @@ var package_default;
|
|
|
55
55
|
var init_package = __esm(() => {
|
|
56
56
|
package_default = {
|
|
57
57
|
name: "oh-my-opencode",
|
|
58
|
-
version: "5.0.0-beta.
|
|
58
|
+
version: "5.0.0-beta.31",
|
|
59
59
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
60
60
|
main: "./dist/index.js",
|
|
61
61
|
types: "dist/index.d.ts",
|
|
@@ -236,7 +236,7 @@ var init_package = __esm(() => {
|
|
|
236
236
|
zod: "^4.4.3"
|
|
237
237
|
},
|
|
238
238
|
devDependencies: {
|
|
239
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
239
|
+
"@code-yeongyu/senpi": "2026.8.31",
|
|
240
240
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
241
241
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
242
242
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -277,18 +277,18 @@ var init_package = __esm(() => {
|
|
|
277
277
|
typescript: "^7.0.2"
|
|
278
278
|
},
|
|
279
279
|
optionalDependencies: {
|
|
280
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
281
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
282
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
283
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
284
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
285
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
286
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
287
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
288
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
289
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
290
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
291
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
280
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.31",
|
|
281
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.31",
|
|
282
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.31",
|
|
283
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.31",
|
|
284
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.31",
|
|
285
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.31",
|
|
286
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.31",
|
|
287
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.31",
|
|
288
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.31",
|
|
289
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.31",
|
|
290
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.31",
|
|
291
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.31"
|
|
292
292
|
},
|
|
293
293
|
overrides: {
|
|
294
294
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -306,7 +306,7 @@ var init_package = __esm(() => {
|
|
|
306
306
|
"@code-yeongyu/comment-checker"
|
|
307
307
|
],
|
|
308
308
|
patchedDependencies: {
|
|
309
|
-
"@code-yeongyu/senpi@2026.8.
|
|
309
|
+
"@code-yeongyu/senpi@2026.8.31": "patches/@code-yeongyu%2Fsenpi@2026.8.31.patch"
|
|
310
310
|
}
|
|
311
311
|
};
|
|
312
312
|
});
|
|
@@ -20230,7 +20230,7 @@ var init_git_master = __esm(() => {
|
|
|
20230
20230
|
});
|
|
20231
20231
|
|
|
20232
20232
|
// packages/omo-config-core/src/schema/memory.ts
|
|
20233
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
20233
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
20234
20234
|
var init_memory = __esm(() => {
|
|
20235
20235
|
init_zod();
|
|
20236
20236
|
OmoMemoryReflectionTriggerSchema = object({
|
|
@@ -20252,6 +20252,14 @@ var init_memory = __esm(() => {
|
|
|
20252
20252
|
OmoMemorySearchSchema = object({
|
|
20253
20253
|
enabled: boolean2().default(true)
|
|
20254
20254
|
}).strict();
|
|
20255
|
+
OmoMemoryRecallSchema = object({
|
|
20256
|
+
enabled: boolean2().default(true),
|
|
20257
|
+
max_items: number2().int().min(1).max(5).default(2),
|
|
20258
|
+
budget_tokens: number2().int().positive().default(600),
|
|
20259
|
+
excerpt_chars: number2().int().positive().default(200),
|
|
20260
|
+
min_score: number2().optional(),
|
|
20261
|
+
exclude: array(string2()).default([])
|
|
20262
|
+
}).strict();
|
|
20255
20263
|
OmoMemoryNudgeSchema = object({
|
|
20256
20264
|
enabled: boolean2().default(true),
|
|
20257
20265
|
every_user_turns: number2().int().min(1).default(10)
|
|
@@ -20298,6 +20306,14 @@ var init_memory = __esm(() => {
|
|
|
20298
20306
|
OmoMemorySearchLayerSchema = object({
|
|
20299
20307
|
enabled: boolean2().optional()
|
|
20300
20308
|
}).strict();
|
|
20309
|
+
OmoMemoryRecallLayerSchema = object({
|
|
20310
|
+
enabled: boolean2().optional(),
|
|
20311
|
+
max_items: number2().int().min(1).max(5).optional(),
|
|
20312
|
+
budget_tokens: number2().int().positive().optional(),
|
|
20313
|
+
excerpt_chars: number2().int().positive().optional(),
|
|
20314
|
+
min_score: number2().optional(),
|
|
20315
|
+
exclude: array(string2()).optional()
|
|
20316
|
+
}).strict();
|
|
20301
20317
|
OmoMemoryNudgeLayerSchema = object({
|
|
20302
20318
|
enabled: boolean2().optional(),
|
|
20303
20319
|
every_user_turns: number2().int().min(1).optional()
|
|
@@ -20337,6 +20353,7 @@ var init_memory = __esm(() => {
|
|
|
20337
20353
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
20338
20354
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
20339
20355
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
20356
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
20340
20357
|
compile_warn_tokens: number2().int().positive().optional()
|
|
20341
20358
|
}).strict();
|
|
20342
20359
|
OmoMemorySettingsSchema = object({
|
|
@@ -20366,6 +20383,13 @@ var init_memory = __esm(() => {
|
|
|
20366
20383
|
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
20367
20384
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
20368
20385
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
20386
|
+
recall: OmoMemoryRecallSchema.default({
|
|
20387
|
+
enabled: true,
|
|
20388
|
+
max_items: 2,
|
|
20389
|
+
budget_tokens: 600,
|
|
20390
|
+
excerpt_chars: 200,
|
|
20391
|
+
exclude: []
|
|
20392
|
+
}),
|
|
20369
20393
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
20370
20394
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
20371
20395
|
}).strict();
|
|
@@ -20382,6 +20406,7 @@ var init_memory = __esm(() => {
|
|
|
20382
20406
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
20383
20407
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
20384
20408
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
20409
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
20385
20410
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
20386
20411
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
20387
20412
|
}).strict();
|
|
@@ -20415,11 +20440,11 @@ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism
|
|
|
20415
20440
|
const record2 = record(string2(), unknown()).parse(input);
|
|
20416
20441
|
return OmoTaskSettingsSchema.parse({
|
|
20417
20442
|
...record2,
|
|
20418
|
-
residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() *
|
|
20443
|
+
residency_max_children: record2["residency_max_children"] ?? Math.min(DEFAULT_RESIDENCY_MAX_CHILDREN, Math.max(8, resolveParallelism() * 2)),
|
|
20419
20444
|
global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
|
|
20420
20445
|
});
|
|
20421
20446
|
}
|
|
20422
|
-
var ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
20447
|
+
var DEFAULT_RESIDENCY_MAX_CHILDREN = 16, ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
20423
20448
|
var init_task = __esm(() => {
|
|
20424
20449
|
init_zod();
|
|
20425
20450
|
ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
|
|
@@ -23981,7 +24006,6 @@ function extractPromptFailureMessage(error51) {
|
|
|
23981
24006
|
try {
|
|
23982
24007
|
return JSON.stringify(error51);
|
|
23983
24008
|
} catch (stringifyError) {
|
|
23984
|
-
stringifyError instanceof Error;
|
|
23985
24009
|
return "";
|
|
23986
24010
|
}
|
|
23987
24011
|
}
|
|
@@ -24197,6 +24221,33 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
24197
24221
|
{ providers: ["opencode-go"], model: "glm-5.2" }
|
|
24198
24222
|
]
|
|
24199
24223
|
},
|
|
24224
|
+
"omo-senpi-code-reviewer": {
|
|
24225
|
+
fallbackChain: [
|
|
24226
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-terra", variant: "medium" },
|
|
24227
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-terra", variant: "medium" },
|
|
24228
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-6" },
|
|
24229
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24230
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24231
|
+
]
|
|
24232
|
+
},
|
|
24233
|
+
"omo-senpi-qa-executor": {
|
|
24234
|
+
fallbackChain: [
|
|
24235
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-luna", variant: "high" },
|
|
24236
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-luna", variant: "high" },
|
|
24237
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-6" },
|
|
24238
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24239
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24240
|
+
]
|
|
24241
|
+
},
|
|
24242
|
+
"omo-senpi-gate-reviewer": {
|
|
24243
|
+
fallbackChain: [
|
|
24244
|
+
{ providers: ["openai", "openai-codex"], model: "gpt-5.6-sol", variant: "low" },
|
|
24245
|
+
{ providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "low" },
|
|
24246
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-5", variant: "max" },
|
|
24247
|
+
{ providers: ["opencode-go"], model: "glm-5.2" },
|
|
24248
|
+
{ providers: ["kimi-for-coding"], model: "kimi-k3" }
|
|
24249
|
+
]
|
|
24250
|
+
},
|
|
24200
24251
|
atlas: {
|
|
24201
24252
|
fallbackChain: [
|
|
24202
24253
|
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-5" },
|
|
@@ -24703,7 +24754,7 @@ function normalizeCapabilitiesReasoningEfforts(capabilities) {
|
|
|
24703
24754
|
}
|
|
24704
24755
|
return capabilities.reasoningEfforts.map((value) => value.toLowerCase());
|
|
24705
24756
|
}
|
|
24706
|
-
function resolveField(normalized, familyCaps,
|
|
24757
|
+
function resolveField(normalized, familyCaps, familyKnown, metadataOverride, familyAliases) {
|
|
24707
24758
|
const aliased = familyAliases?.[normalized];
|
|
24708
24759
|
if (aliased && (metadataOverride?.includes(aliased) || familyCaps?.includes(aliased))) {
|
|
24709
24760
|
return { value: aliased, reason: "unsupported-by-model-family" };
|
|
@@ -24738,7 +24789,7 @@ function resolveCompatibleModelSettings(input) {
|
|
|
24738
24789
|
let variant = input.desired.variant;
|
|
24739
24790
|
if (variant !== undefined) {
|
|
24740
24791
|
const normalized = variant.toLowerCase();
|
|
24741
|
-
const resolved = resolveField(normalized, family?.variants,
|
|
24792
|
+
const resolved = resolveField(normalized, family?.variants, familyKnown, metadataVariants);
|
|
24742
24793
|
if (resolved.value !== normalized && resolved.reason) {
|
|
24743
24794
|
changes.push({ field: "variant", from: variant, to: resolved.value, reason: resolved.reason });
|
|
24744
24795
|
}
|
|
@@ -24747,7 +24798,7 @@ function resolveCompatibleModelSettings(input) {
|
|
|
24747
24798
|
let reasoningEffort = input.desired.reasoningEffort;
|
|
24748
24799
|
if (reasoningEffort !== undefined) {
|
|
24749
24800
|
const normalized = reasoningEffort.toLowerCase();
|
|
24750
|
-
const resolved = resolveField(normalized, family?.reasoningEfforts,
|
|
24801
|
+
const resolved = resolveField(normalized, family?.reasoningEfforts, familyKnown, metadataReasoningEfforts, family?.reasoningEffortAliases);
|
|
24751
24802
|
if (resolved.value !== normalized && resolved.reason) {
|
|
24752
24803
|
changes.push({ field: "reasoningEffort", from: reasoningEffort, to: resolved.value, reason: resolved.reason });
|
|
24753
24804
|
}
|
|
@@ -94479,7 +94530,7 @@ var package_default2;
|
|
|
94479
94530
|
var init_package2 = __esm(() => {
|
|
94480
94531
|
package_default2 = {
|
|
94481
94532
|
name: "@oh-my-opencode/omo-codex",
|
|
94482
|
-
version: "5.0.0-beta.
|
|
94533
|
+
version: "5.0.0-beta.31",
|
|
94483
94534
|
type: "module",
|
|
94484
94535
|
private: true,
|
|
94485
94536
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -94919,7 +94970,6 @@ function getLocalDevVersion(directory) {
|
|
|
94919
94970
|
const pkg = JSON.parse(content);
|
|
94920
94971
|
return pkg.version ?? null;
|
|
94921
94972
|
} catch (error51) {
|
|
94922
|
-
error51 instanceof Error;
|
|
94923
94973
|
return null;
|
|
94924
94974
|
}
|
|
94925
94975
|
}
|
|
@@ -94951,7 +95001,6 @@ function findPluginEntry(directory) {
|
|
|
94951
95001
|
}
|
|
94952
95002
|
}
|
|
94953
95003
|
} catch (error51) {
|
|
94954
|
-
error51 instanceof Error;
|
|
94955
95004
|
continue;
|
|
94956
95005
|
}
|
|
94957
95006
|
}
|
|
@@ -95056,7 +95105,6 @@ async function getLatestVersion(channel = "latest") {
|
|
|
95056
95105
|
const data = await response.json();
|
|
95057
95106
|
return data[channel] ?? data.latest ?? null;
|
|
95058
95107
|
} catch (error51) {
|
|
95059
|
-
error51 instanceof Error;
|
|
95060
95108
|
return null;
|
|
95061
95109
|
} finally {
|
|
95062
95110
|
clearTimeout(timeoutId);
|
|
@@ -107140,6 +107188,7 @@ var BackgroundTaskConfigSchema = exports_external.object({
|
|
|
107140
107188
|
providerConcurrency: exports_external.record(exports_external.string(), exports_external.number().min(0)).optional(),
|
|
107141
107189
|
modelConcurrency: exports_external.record(exports_external.string(), exports_external.number().min(0)).optional(),
|
|
107142
107190
|
maxDepth: exports_external.number().int().min(1).optional(),
|
|
107191
|
+
maxLiveDescendantsPerRoot: exports_external.number().int().min(0).optional(),
|
|
107143
107192
|
staleTimeoutMs: exports_external.number().min(60000).optional(),
|
|
107144
107193
|
messageStalenessTimeoutMs: exports_external.number().min(60000).optional(),
|
|
107145
107194
|
taskTtlMs: exports_external.number().min(300000).optional(),
|
|
@@ -4,6 +4,7 @@ export declare const BackgroundTaskConfigSchema: z.ZodObject<{
|
|
|
4
4
|
providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
5
5
|
modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
6
6
|
maxDepth: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
maxLiveDescendantsPerRoot: z.ZodOptional<z.ZodNumber>;
|
|
7
8
|
staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
8
9
|
messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
9
10
|
taskTtlMs: z.ZodOptional<z.ZodNumber>;
|
|
@@ -3557,6 +3557,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
3557
3557
|
providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
3558
3558
|
modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
3559
3559
|
maxDepth: z.ZodOptional<z.ZodNumber>;
|
|
3560
|
+
maxLiveDescendantsPerRoot: z.ZodOptional<z.ZodNumber>;
|
|
3560
3561
|
staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
3561
3562
|
messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
3562
3563
|
taskTtlMs: z.ZodOptional<z.ZodNumber>;
|
|
@@ -14,7 +14,6 @@ export declare const MIN_IDLE_TIME_MS = 5000;
|
|
|
14
14
|
export declare const POLLING_INTERVAL_MS = 3000;
|
|
15
15
|
export declare const TASK_CLEANUP_DELAY_MS: number;
|
|
16
16
|
export declare const TMUX_CALLBACK_DELAY_MS = 200;
|
|
17
|
-
export type ProcessCleanupEvent = NodeJS.Signals | "beforeExit" | "exit";
|
|
18
17
|
export type OpencodeClient = PluginInput["client"];
|
|
19
18
|
export interface MessagePartInfo {
|
|
20
19
|
sessionID?: string;
|
|
@@ -32,12 +31,6 @@ export interface BackgroundEvent {
|
|
|
32
31
|
type: string;
|
|
33
32
|
properties?: EventProperties;
|
|
34
33
|
}
|
|
35
|
-
export interface Todo {
|
|
36
|
-
content: string;
|
|
37
|
-
status: string;
|
|
38
|
-
priority: string;
|
|
39
|
-
id?: string;
|
|
40
|
-
}
|
|
41
34
|
export interface QueueItem {
|
|
42
35
|
attemptID: string;
|
|
43
36
|
rawConcurrencyKey?: string;
|
|
@@ -88,6 +88,8 @@ export declare class BackgroundManager {
|
|
|
88
88
|
commit: () => number;
|
|
89
89
|
rollback: () => void;
|
|
90
90
|
}>;
|
|
91
|
+
acquireSyncSubagentConcurrency(model: string, taskId?: string): Promise<void>;
|
|
92
|
+
releaseSyncSubagentConcurrency(model: string): void;
|
|
91
93
|
private registerRootDescendant;
|
|
92
94
|
private unregisterRootDescendant;
|
|
93
95
|
private markPreStartDescendantReservation;
|
|
@@ -162,7 +164,6 @@ export declare class BackgroundManager {
|
|
|
162
164
|
private requeueDispatchedParentWake;
|
|
163
165
|
private clearSessionOutputObserved;
|
|
164
166
|
private clearSessionTodoObservation;
|
|
165
|
-
private messageUpdatedInfoHasParentWakeOutput;
|
|
166
167
|
private shouldHoldDispatchedParentWakeForTextDelta;
|
|
167
168
|
private parentWakeTextDeltaBufferKey;
|
|
168
169
|
private clearParentWakeTextDeltaBuffers;
|
|
@@ -19,7 +19,6 @@ export declare class ParentWakeDispatchedTracker {
|
|
|
19
19
|
releaseNotificationPreparation(sessionID: string): void;
|
|
20
20
|
hasNotificationPreparation(sessionID: string): boolean;
|
|
21
21
|
getWake(sessionID: string): PendingParentWake | undefined;
|
|
22
|
-
hasWake(sessionID: string): boolean;
|
|
23
22
|
clearWake(sessionID: string): void;
|
|
24
23
|
trackWake(sessionID: string, wake: PendingParentWake, dispatchedAt: number): void;
|
|
25
24
|
refreshWakeTimer(sessionID: string): void;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { BackgroundTaskConfig } from "../../config/schema";
|
|
2
2
|
import type { OpencodeClient } from "./constants";
|
|
3
3
|
export declare const DEFAULT_MAX_SUBAGENT_DEPTH = 3;
|
|
4
|
+
export declare const DEFAULT_MAX_LIVE_DESCENDANTS_PER_ROOT = 24;
|
|
4
5
|
export interface SubagentSpawnContext {
|
|
5
6
|
rootSessionID: string;
|
|
6
7
|
parentDepth: number;
|
|
7
8
|
childDepth: number;
|
|
8
9
|
}
|
|
9
10
|
export declare function getMaxSubagentDepth(config?: BackgroundTaskConfig): number;
|
|
11
|
+
export declare function getMaxLiveDescendantsPerRoot(config?: BackgroundTaskConfig): number;
|
|
10
12
|
export declare function resolveSubagentSpawnContext(client: OpencodeClient, parentSessionID: string, directory?: string): Promise<SubagentSpawnContext>;
|
|
11
13
|
export declare function createSubagentDepthLimitError(input: {
|
|
12
14
|
childDepth: number;
|
|
@@ -14,3 +16,9 @@ export declare function createSubagentDepthLimitError(input: {
|
|
|
14
16
|
parentSessionID: string;
|
|
15
17
|
rootSessionID: string;
|
|
16
18
|
}): Error;
|
|
19
|
+
export declare function createSubagentDescendantLimitError(input: {
|
|
20
|
+
descendantCount: number;
|
|
21
|
+
maxDescendants: number;
|
|
22
|
+
parentSessionID: string;
|
|
23
|
+
rootSessionID: string;
|
|
24
|
+
}): Error;
|
|
@@ -19,39 +19,15 @@ export declare class TaskToastManager {
|
|
|
19
19
|
skills?: string[];
|
|
20
20
|
modelInfo?: ModelFallbackInfo;
|
|
21
21
|
}): void;
|
|
22
|
-
/**
|
|
23
|
-
* Update task status
|
|
24
|
-
*/
|
|
25
22
|
updateTask(id: string, status: TaskStatus): void;
|
|
26
|
-
/**
|
|
27
|
-
* Update model info for a task by session ID
|
|
28
|
-
*/
|
|
29
23
|
updateTaskModelBySession(sessionID: string, modelInfo: ModelFallbackInfo): void;
|
|
30
|
-
/**
|
|
31
|
-
* Remove completed/error task
|
|
32
|
-
*/
|
|
33
24
|
removeTask(id: string): void;
|
|
34
|
-
/**
|
|
35
|
-
* Get all running tasks (newest first)
|
|
36
|
-
*/
|
|
37
25
|
getRunningTasks(): TrackedTask[];
|
|
38
|
-
/**
|
|
39
|
-
* Get all queued tasks
|
|
40
|
-
*/
|
|
41
26
|
getQueuedTasks(): TrackedTask[];
|
|
42
|
-
/**
|
|
43
|
-
* Format duration since task started
|
|
44
|
-
*/
|
|
45
27
|
private formatDuration;
|
|
46
28
|
private getConcurrencyInfo;
|
|
47
29
|
private buildTaskListMessage;
|
|
48
|
-
/**
|
|
49
|
-
* Show consolidated toast with all running/queued tasks
|
|
50
|
-
*/
|
|
51
30
|
private showTaskListToast;
|
|
52
|
-
/**
|
|
53
|
-
* Show task completion toast
|
|
54
|
-
*/
|
|
55
31
|
showCompletionToast(task: {
|
|
56
32
|
id: string;
|
|
57
33
|
description: string;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
1
|
import { getMessageDir } from "../../shared/opencode-message-dir";
|
|
3
2
|
export { getMessageDir };
|
|
4
|
-
type OpencodeClient = PluginInput["client"];
|
|
5
|
-
export declare function getMessageIdsFromSDK(client: OpencodeClient, sessionID: string): Promise<string[]>;
|
|
6
3
|
export declare function getMessageIds(sessionID: string): string[];
|
|
@@ -2,6 +2,7 @@ import type { AutoCompactState, RetryState, TruncateState } from "./types";
|
|
|
2
2
|
export declare function getOrCreateRetryState(autoCompactState: AutoCompactState, sessionID: string): RetryState;
|
|
3
3
|
export declare function getOrCreateTruncateState(autoCompactState: AutoCompactState, sessionID: string): TruncateState;
|
|
4
4
|
export declare function clearSessionState(autoCompactState: AutoCompactState, sessionID: string): void;
|
|
5
|
+
export declare function clearAllSessionState(autoCompactState: AutoCompactState): void;
|
|
5
6
|
export declare function setRetryTimer(autoCompactState: AutoCompactState, sessionID: string, timeout: ReturnType<typeof setTimeout>): void;
|
|
6
7
|
export declare function clearRetryTimer(autoCompactState: AutoCompactState, sessionID: string): void;
|
|
7
8
|
export declare function getEmptyContentAttempt(autoCompactState: AutoCompactState, sessionID: string): number;
|
|
@@ -7,4 +7,5 @@ export declare const sessionInterruptState: Map<string, {
|
|
|
7
7
|
interrupted: boolean;
|
|
8
8
|
}>;
|
|
9
9
|
export declare function clearSessionHookState(sessionID: string): void;
|
|
10
|
+
export declare function clearSessionEndHookState(sessionID: string): void;
|
|
10
11
|
export declare function clearAllSessionHookState(): void;
|