oh-my-opencode 5.0.0-beta.10 → 5.0.0-beta.11
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 +24 -85
- package/dist/cli-node/index.js +24 -85
- package/dist/index.js +70 -92
- package/dist/tools/delegate-task/builtin-categories.d.ts +1 -0
- package/dist/tools/delegate-task/builtin-category-definition.d.ts +1 -0
- package/dist/tools/delegate-task/tool-description.d.ts +3 -1
- package/dist/tui.js +9 -70
- package/package.json +14 -14
- package/packages/lsp-core/src/lsp/client-wrapper-outside-cwd.test.ts +78 -0
- package/packages/lsp-core/src/lsp/client-wrapper.test.ts +6 -6
- package/packages/lsp-core/src/lsp/client-wrapper.ts +5 -6
- package/packages/lsp-core/src/lsp/outside-context-workspace.ts +33 -0
- package/packages/lsp-core/src/lsp/workspace-markers.ts +1 -0
- package/packages/lsp-daemon/dist/cli.js +94 -59
- package/packages/lsp-daemon/dist/client.js +72 -37
- package/packages/lsp-daemon/dist/index.js +78 -43
- package/packages/lsp-tools-mcp/dist/cli.js +68 -33
- package/packages/lsp-tools-mcp/dist/mcp.js +68 -33
- package/packages/lsp-tools-mcp/dist/tools.js +68 -33
- 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/package.json +1 -1
- 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 +83 -54
- 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/start-work-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/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-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- 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-start-work-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-start-work-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/cli/index.js
CHANGED
|
@@ -2145,7 +2145,7 @@ var package_default;
|
|
|
2145
2145
|
var init_package = __esm(() => {
|
|
2146
2146
|
package_default = {
|
|
2147
2147
|
name: "oh-my-opencode",
|
|
2148
|
-
version: "5.0.0-beta.
|
|
2148
|
+
version: "5.0.0-beta.11",
|
|
2149
2149
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2150
2150
|
main: "./dist/index.js",
|
|
2151
2151
|
types: "dist/index.d.ts",
|
|
@@ -2326,7 +2326,7 @@ var init_package = __esm(() => {
|
|
|
2326
2326
|
zod: "^4.4.3"
|
|
2327
2327
|
},
|
|
2328
2328
|
devDependencies: {
|
|
2329
|
-
"@code-yeongyu/senpi": "2026.8.18-
|
|
2329
|
+
"@code-yeongyu/senpi": "2026.8.18-3",
|
|
2330
2330
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2331
2331
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
2332
2332
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -2367,18 +2367,18 @@ var init_package = __esm(() => {
|
|
|
2367
2367
|
typescript: "^7.0.2"
|
|
2368
2368
|
},
|
|
2369
2369
|
optionalDependencies: {
|
|
2370
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
2371
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
2372
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
2373
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
2374
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
2375
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
2376
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
2377
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
2378
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
2379
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
2380
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
2381
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
2370
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.11",
|
|
2371
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.11",
|
|
2372
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.11",
|
|
2373
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.11",
|
|
2374
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.11",
|
|
2375
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.11",
|
|
2376
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.11",
|
|
2377
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.11",
|
|
2378
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.11",
|
|
2379
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.11",
|
|
2380
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.11",
|
|
2381
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.11"
|
|
2382
2382
|
},
|
|
2383
2383
|
overrides: {
|
|
2384
2384
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -27941,24 +27941,14 @@ var init_agent_display_names = __esm(() => {
|
|
|
27941
27941
|
// packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
|
|
27942
27942
|
var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
27943
27943
|
You are working on tasks that don't fit specific categories but require substantial effort.
|
|
27944
|
-
|
|
27945
|
-
<Selection_Gate>
|
|
27946
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
27947
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
27948
|
-
2. Task requires substantial effort across multiple systems/modules
|
|
27949
|
-
3. Changes have broad impact or require careful coordination
|
|
27950
|
-
4. NOT just "complex" - must be genuinely unclassifiable AND high-effort
|
|
27951
|
-
|
|
27952
|
-
If task fits ANY other category, DO NOT select unspecified-high.
|
|
27953
|
-
If task is unclassifiable but moderate-effort, use unspecified-low instead.
|
|
27954
|
-
</Selection_Gate>
|
|
27955
|
-
</Category_Context>`, ANTHROPIC_CATEGORIES;
|
|
27944
|
+
</Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, ANTHROPIC_CATEGORIES;
|
|
27956
27945
|
var init_anthropic_categories = __esm(() => {
|
|
27957
27946
|
ANTHROPIC_CATEGORIES = [
|
|
27958
27947
|
{
|
|
27959
27948
|
name: "unspecified-high",
|
|
27960
27949
|
config: { model: "kimi-for-coding/k3", variant: "max" },
|
|
27961
27950
|
description: "Tasks that don't fit other categories, high effort required",
|
|
27951
|
+
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
27962
27952
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
|
|
27963
27953
|
}
|
|
27964
27954
|
];
|
|
@@ -28215,64 +28205,10 @@ Approach:
|
|
|
28215
28205
|
- Minimal viable implementation
|
|
28216
28206
|
- Skip unnecessary abstractions
|
|
28217
28207
|
- Direct and concise
|
|
28218
|
-
</Category_Context>
|
|
28219
|
-
|
|
28220
|
-
<Caller_Warning>
|
|
28221
|
-
THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.6-luna-fast).
|
|
28222
|
-
|
|
28223
|
-
The model executing this task is optimized for speed over depth. Your prompt MUST be:
|
|
28224
|
-
|
|
28225
|
-
**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:
|
|
28226
|
-
1. MUST DO: List every required action as atomic, numbered steps
|
|
28227
|
-
2. MUST NOT DO: Explicitly forbid likely mistakes and deviations
|
|
28228
|
-
3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples
|
|
28229
|
-
|
|
28230
|
-
**WHY THIS MATTERS:**
|
|
28231
|
-
- Smaller models benefit from explicit guardrails
|
|
28232
|
-
- Vague instructions may lead to unpredictable results
|
|
28233
|
-
- Implicit expectations may be missed
|
|
28234
|
-
**PROMPT STRUCTURE (MANDATORY):**
|
|
28235
|
-
\`\`\`
|
|
28236
|
-
TASK: [One-sentence goal]
|
|
28237
|
-
|
|
28238
|
-
MUST DO:
|
|
28239
|
-
1. [Specific action with exact details]
|
|
28240
|
-
2. [Another specific action]
|
|
28241
|
-
...
|
|
28242
|
-
|
|
28243
|
-
MUST NOT DO:
|
|
28244
|
-
- [Forbidden action + why]
|
|
28245
|
-
- [Another forbidden action]
|
|
28246
|
-
...
|
|
28247
|
-
|
|
28248
|
-
EXPECTED OUTPUT:
|
|
28249
|
-
- [Exact deliverable description]
|
|
28250
|
-
- [Success criteria / verification method]
|
|
28251
|
-
\`\`\`
|
|
28252
|
-
|
|
28253
|
-
If your prompt lacks this structure, REWRITE IT before delegating.
|
|
28254
|
-
</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28208
|
+
</Category_Context>`, QUICK_CATEGORY_CALLER_GUIDANCE = `<Caller_Warning>Small/fast model: before delegating, write an explicit prompt with numbered must-do steps, forbidden deviations, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28255
28209
|
You are working on tasks that don't fit specific categories but require moderate effort.
|
|
28256
|
-
|
|
28257
|
-
<
|
|
28258
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
28259
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
28260
|
-
2. Task requires more than trivial effort but is NOT system-wide
|
|
28261
|
-
3. Scope is contained within a few files/modules
|
|
28262
|
-
|
|
28263
|
-
If task fits ANY other category, DO NOT select unspecified-low.
|
|
28264
|
-
This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
|
|
28265
|
-
</Selection_Gate>
|
|
28266
|
-
</Category_Context>
|
|
28267
|
-
|
|
28268
|
-
<Caller_Warning>
|
|
28269
|
-
THIS CATEGORY USES GROK 4.6 (xhigh).
|
|
28270
|
-
|
|
28271
|
-
**PROVIDE CLEAR STRUCTURE:**
|
|
28272
|
-
1. MUST DO: Enumerate required actions explicitly
|
|
28273
|
-
2. MUST NOT DO: State forbidden actions to prevent scope creep
|
|
28274
|
-
3. EXPECTED OUTPUT: Define concrete success criteria
|
|
28275
|
-
</Caller_Warning>`, OPENAI_CATEGORIES;
|
|
28210
|
+
</Category_Context>`, UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits, effort is moderate, and scope stays within a few files/modules. Prefer any matching specialist category.</Selection_Gate>
|
|
28211
|
+
<Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, OPENAI_CATEGORIES;
|
|
28276
28212
|
var init_openai_categories = __esm(() => {
|
|
28277
28213
|
init_types4();
|
|
28278
28214
|
OPENAI_CATEGORIES = [
|
|
@@ -28294,12 +28230,14 @@ var init_openai_categories = __esm(() => {
|
|
|
28294
28230
|
name: "quick",
|
|
28295
28231
|
config: { model: "kimi-for-coding/kimi-for-coding-highspeed" },
|
|
28296
28232
|
description: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
28233
|
+
callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
|
|
28297
28234
|
promptAppend: QUICK_CATEGORY_PROMPT_APPEND
|
|
28298
28235
|
},
|
|
28299
28236
|
{
|
|
28300
28237
|
name: "unspecified-low",
|
|
28301
28238
|
config: { model: "xai/grok-4.6", variant: "xhigh" },
|
|
28302
28239
|
description: "Tasks that don't fit other categories, low effort required",
|
|
28240
|
+
callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
28303
28241
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
28304
28242
|
}
|
|
28305
28243
|
];
|
|
@@ -28309,7 +28247,7 @@ var init_openai_categories = __esm(() => {
|
|
|
28309
28247
|
function buildCategoryRecord(selector) {
|
|
28310
28248
|
return Object.fromEntries(BUILTIN_CATEGORIES.map((definition) => [definition.name, selector(definition)]));
|
|
28311
28249
|
}
|
|
28312
|
-
var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
|
|
28250
|
+
var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_CALLER_GUIDANCE, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
|
|
28313
28251
|
var init_builtin_categories = __esm(() => {
|
|
28314
28252
|
init_anthropic_categories();
|
|
28315
28253
|
init_google_categories();
|
|
@@ -28324,6 +28262,7 @@ var init_builtin_categories = __esm(() => {
|
|
|
28324
28262
|
DEFAULT_CATEGORIES = buildCategoryRecord((definition) => definition.config);
|
|
28325
28263
|
CATEGORY_PROMPT_APPENDS = buildCategoryRecord((definition) => definition.promptAppend);
|
|
28326
28264
|
CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition) => definition.description);
|
|
28265
|
+
CATEGORY_CALLER_GUIDANCE = buildCategoryRecord((definition) => definition.callerGuidance);
|
|
28327
28266
|
CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.resolvePromptAppend !== undefined).map((definition) => [definition.name, definition.resolvePromptAppend]));
|
|
28328
28267
|
BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.requiresModel !== undefined).map((definition) => [definition.name, definition.requiresModel]));
|
|
28329
28268
|
});
|
|
@@ -94644,7 +94583,7 @@ var package_default2;
|
|
|
94644
94583
|
var init_package2 = __esm(() => {
|
|
94645
94584
|
package_default2 = {
|
|
94646
94585
|
name: "@oh-my-opencode/omo-codex",
|
|
94647
|
-
version: "5.0.0-beta.
|
|
94586
|
+
version: "5.0.0-beta.11",
|
|
94648
94587
|
type: "module",
|
|
94649
94588
|
private: true,
|
|
94650
94589
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
package/dist/cli-node/index.js
CHANGED
|
@@ -2146,7 +2146,7 @@ var package_default;
|
|
|
2146
2146
|
var init_package = __esm(() => {
|
|
2147
2147
|
package_default = {
|
|
2148
2148
|
name: "oh-my-opencode",
|
|
2149
|
-
version: "5.0.0-beta.
|
|
2149
|
+
version: "5.0.0-beta.11",
|
|
2150
2150
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2151
2151
|
main: "./dist/index.js",
|
|
2152
2152
|
types: "dist/index.d.ts",
|
|
@@ -2327,7 +2327,7 @@ var init_package = __esm(() => {
|
|
|
2327
2327
|
zod: "^4.4.3"
|
|
2328
2328
|
},
|
|
2329
2329
|
devDependencies: {
|
|
2330
|
-
"@code-yeongyu/senpi": "2026.8.18-
|
|
2330
|
+
"@code-yeongyu/senpi": "2026.8.18-3",
|
|
2331
2331
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2332
2332
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
2333
2333
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -2368,18 +2368,18 @@ var init_package = __esm(() => {
|
|
|
2368
2368
|
typescript: "^7.0.2"
|
|
2369
2369
|
},
|
|
2370
2370
|
optionalDependencies: {
|
|
2371
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
2372
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
2373
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
2374
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
2375
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
2376
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
2377
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
2378
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
2379
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
2380
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
2381
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
2382
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
2371
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.11",
|
|
2372
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.11",
|
|
2373
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.11",
|
|
2374
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.11",
|
|
2375
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.11",
|
|
2376
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.11",
|
|
2377
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.11",
|
|
2378
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.11",
|
|
2379
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.11",
|
|
2380
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.11",
|
|
2381
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.11",
|
|
2382
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.11"
|
|
2383
2383
|
},
|
|
2384
2384
|
overrides: {
|
|
2385
2385
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -27942,24 +27942,14 @@ var init_agent_display_names = __esm(() => {
|
|
|
27942
27942
|
// packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
|
|
27943
27943
|
var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
27944
27944
|
You are working on tasks that don't fit specific categories but require substantial effort.
|
|
27945
|
-
|
|
27946
|
-
<Selection_Gate>
|
|
27947
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
27948
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
27949
|
-
2. Task requires substantial effort across multiple systems/modules
|
|
27950
|
-
3. Changes have broad impact or require careful coordination
|
|
27951
|
-
4. NOT just "complex" - must be genuinely unclassifiable AND high-effort
|
|
27952
|
-
|
|
27953
|
-
If task fits ANY other category, DO NOT select unspecified-high.
|
|
27954
|
-
If task is unclassifiable but moderate-effort, use unspecified-low instead.
|
|
27955
|
-
</Selection_Gate>
|
|
27956
|
-
</Category_Context>`, ANTHROPIC_CATEGORIES;
|
|
27945
|
+
</Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, ANTHROPIC_CATEGORIES;
|
|
27957
27946
|
var init_anthropic_categories = __esm(() => {
|
|
27958
27947
|
ANTHROPIC_CATEGORIES = [
|
|
27959
27948
|
{
|
|
27960
27949
|
name: "unspecified-high",
|
|
27961
27950
|
config: { model: "kimi-for-coding/k3", variant: "max" },
|
|
27962
27951
|
description: "Tasks that don't fit other categories, high effort required",
|
|
27952
|
+
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
27963
27953
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
|
|
27964
27954
|
}
|
|
27965
27955
|
];
|
|
@@ -28216,64 +28206,10 @@ Approach:
|
|
|
28216
28206
|
- Minimal viable implementation
|
|
28217
28207
|
- Skip unnecessary abstractions
|
|
28218
28208
|
- Direct and concise
|
|
28219
|
-
</Category_Context>
|
|
28220
|
-
|
|
28221
|
-
<Caller_Warning>
|
|
28222
|
-
THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.6-luna-fast).
|
|
28223
|
-
|
|
28224
|
-
The model executing this task is optimized for speed over depth. Your prompt MUST be:
|
|
28225
|
-
|
|
28226
|
-
**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:
|
|
28227
|
-
1. MUST DO: List every required action as atomic, numbered steps
|
|
28228
|
-
2. MUST NOT DO: Explicitly forbid likely mistakes and deviations
|
|
28229
|
-
3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples
|
|
28230
|
-
|
|
28231
|
-
**WHY THIS MATTERS:**
|
|
28232
|
-
- Smaller models benefit from explicit guardrails
|
|
28233
|
-
- Vague instructions may lead to unpredictable results
|
|
28234
|
-
- Implicit expectations may be missed
|
|
28235
|
-
**PROMPT STRUCTURE (MANDATORY):**
|
|
28236
|
-
\`\`\`
|
|
28237
|
-
TASK: [One-sentence goal]
|
|
28238
|
-
|
|
28239
|
-
MUST DO:
|
|
28240
|
-
1. [Specific action with exact details]
|
|
28241
|
-
2. [Another specific action]
|
|
28242
|
-
...
|
|
28243
|
-
|
|
28244
|
-
MUST NOT DO:
|
|
28245
|
-
- [Forbidden action + why]
|
|
28246
|
-
- [Another forbidden action]
|
|
28247
|
-
...
|
|
28248
|
-
|
|
28249
|
-
EXPECTED OUTPUT:
|
|
28250
|
-
- [Exact deliverable description]
|
|
28251
|
-
- [Success criteria / verification method]
|
|
28252
|
-
\`\`\`
|
|
28253
|
-
|
|
28254
|
-
If your prompt lacks this structure, REWRITE IT before delegating.
|
|
28255
|
-
</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28209
|
+
</Category_Context>`, QUICK_CATEGORY_CALLER_GUIDANCE = `<Caller_Warning>Small/fast model: before delegating, write an explicit prompt with numbered must-do steps, forbidden deviations, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28256
28210
|
You are working on tasks that don't fit specific categories but require moderate effort.
|
|
28257
|
-
|
|
28258
|
-
<
|
|
28259
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
28260
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
28261
|
-
2. Task requires more than trivial effort but is NOT system-wide
|
|
28262
|
-
3. Scope is contained within a few files/modules
|
|
28263
|
-
|
|
28264
|
-
If task fits ANY other category, DO NOT select unspecified-low.
|
|
28265
|
-
This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
|
|
28266
|
-
</Selection_Gate>
|
|
28267
|
-
</Category_Context>
|
|
28268
|
-
|
|
28269
|
-
<Caller_Warning>
|
|
28270
|
-
THIS CATEGORY USES GROK 4.6 (xhigh).
|
|
28271
|
-
|
|
28272
|
-
**PROVIDE CLEAR STRUCTURE:**
|
|
28273
|
-
1. MUST DO: Enumerate required actions explicitly
|
|
28274
|
-
2. MUST NOT DO: State forbidden actions to prevent scope creep
|
|
28275
|
-
3. EXPECTED OUTPUT: Define concrete success criteria
|
|
28276
|
-
</Caller_Warning>`, OPENAI_CATEGORIES;
|
|
28211
|
+
</Category_Context>`, UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits, effort is moderate, and scope stays within a few files/modules. Prefer any matching specialist category.</Selection_Gate>
|
|
28212
|
+
<Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, OPENAI_CATEGORIES;
|
|
28277
28213
|
var init_openai_categories = __esm(() => {
|
|
28278
28214
|
init_types4();
|
|
28279
28215
|
OPENAI_CATEGORIES = [
|
|
@@ -28295,12 +28231,14 @@ var init_openai_categories = __esm(() => {
|
|
|
28295
28231
|
name: "quick",
|
|
28296
28232
|
config: { model: "kimi-for-coding/kimi-for-coding-highspeed" },
|
|
28297
28233
|
description: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
28234
|
+
callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
|
|
28298
28235
|
promptAppend: QUICK_CATEGORY_PROMPT_APPEND
|
|
28299
28236
|
},
|
|
28300
28237
|
{
|
|
28301
28238
|
name: "unspecified-low",
|
|
28302
28239
|
config: { model: "xai/grok-4.6", variant: "xhigh" },
|
|
28303
28240
|
description: "Tasks that don't fit other categories, low effort required",
|
|
28241
|
+
callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
28304
28242
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
28305
28243
|
}
|
|
28306
28244
|
];
|
|
@@ -28310,7 +28248,7 @@ var init_openai_categories = __esm(() => {
|
|
|
28310
28248
|
function buildCategoryRecord(selector) {
|
|
28311
28249
|
return Object.fromEntries(BUILTIN_CATEGORIES.map((definition) => [definition.name, selector(definition)]));
|
|
28312
28250
|
}
|
|
28313
|
-
var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
|
|
28251
|
+
var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_CALLER_GUIDANCE, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
|
|
28314
28252
|
var init_builtin_categories = __esm(() => {
|
|
28315
28253
|
init_anthropic_categories();
|
|
28316
28254
|
init_google_categories();
|
|
@@ -28325,6 +28263,7 @@ var init_builtin_categories = __esm(() => {
|
|
|
28325
28263
|
DEFAULT_CATEGORIES = buildCategoryRecord((definition) => definition.config);
|
|
28326
28264
|
CATEGORY_PROMPT_APPENDS = buildCategoryRecord((definition) => definition.promptAppend);
|
|
28327
28265
|
CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition) => definition.description);
|
|
28266
|
+
CATEGORY_CALLER_GUIDANCE = buildCategoryRecord((definition) => definition.callerGuidance);
|
|
28328
28267
|
CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.resolvePromptAppend !== undefined).map((definition) => [definition.name, definition.resolvePromptAppend]));
|
|
28329
28268
|
BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.requiresModel !== undefined).map((definition) => [definition.name, definition.requiresModel]));
|
|
28330
28269
|
});
|
|
@@ -94700,7 +94639,7 @@ var package_default2;
|
|
|
94700
94639
|
var init_package2 = __esm(() => {
|
|
94701
94640
|
package_default2 = {
|
|
94702
94641
|
name: "@oh-my-opencode/omo-codex",
|
|
94703
|
-
version: "5.0.0-beta.
|
|
94642
|
+
version: "5.0.0-beta.11",
|
|
94704
94643
|
type: "module",
|
|
94705
94644
|
private: true,
|
|
94706
94645
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
package/dist/index.js
CHANGED
|
@@ -28558,23 +28558,14 @@ function truncateDescription(description, maxLength = 120) {
|
|
|
28558
28558
|
// packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
|
|
28559
28559
|
var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28560
28560
|
You are working on tasks that don't fit specific categories but require substantial effort.
|
|
28561
|
-
|
|
28562
|
-
<Selection_Gate>
|
|
28563
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
28564
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
28565
|
-
2. Task requires substantial effort across multiple systems/modules
|
|
28566
|
-
3. Changes have broad impact or require careful coordination
|
|
28567
|
-
4. NOT just "complex" - must be genuinely unclassifiable AND high-effort
|
|
28568
|
-
|
|
28569
|
-
If task fits ANY other category, DO NOT select unspecified-high.
|
|
28570
|
-
If task is unclassifiable but moderate-effort, use unspecified-low instead.
|
|
28571
|
-
</Selection_Gate>
|
|
28572
28561
|
</Category_Context>`;
|
|
28562
|
+
var UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`;
|
|
28573
28563
|
var ANTHROPIC_CATEGORIES = [
|
|
28574
28564
|
{
|
|
28575
28565
|
name: "unspecified-high",
|
|
28576
28566
|
config: { model: "kimi-for-coding/k3", variant: "max" },
|
|
28577
28567
|
description: "Tasks that don't fit other categories, high effort required",
|
|
28568
|
+
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
28578
28569
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
|
|
28579
28570
|
}
|
|
28580
28571
|
];
|
|
@@ -28841,65 +28832,13 @@ Approach:
|
|
|
28841
28832
|
- Minimal viable implementation
|
|
28842
28833
|
- Skip unnecessary abstractions
|
|
28843
28834
|
- Direct and concise
|
|
28844
|
-
</Category_Context
|
|
28845
|
-
|
|
28846
|
-
<Caller_Warning>
|
|
28847
|
-
THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.6-luna-fast).
|
|
28848
|
-
|
|
28849
|
-
The model executing this task is optimized for speed over depth. Your prompt MUST be:
|
|
28850
|
-
|
|
28851
|
-
**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:
|
|
28852
|
-
1. MUST DO: List every required action as atomic, numbered steps
|
|
28853
|
-
2. MUST NOT DO: Explicitly forbid likely mistakes and deviations
|
|
28854
|
-
3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples
|
|
28855
|
-
|
|
28856
|
-
**WHY THIS MATTERS:**
|
|
28857
|
-
- Smaller models benefit from explicit guardrails
|
|
28858
|
-
- Vague instructions may lead to unpredictable results
|
|
28859
|
-
- Implicit expectations may be missed
|
|
28860
|
-
**PROMPT STRUCTURE (MANDATORY):**
|
|
28861
|
-
\`\`\`
|
|
28862
|
-
TASK: [One-sentence goal]
|
|
28863
|
-
|
|
28864
|
-
MUST DO:
|
|
28865
|
-
1. [Specific action with exact details]
|
|
28866
|
-
2. [Another specific action]
|
|
28867
|
-
...
|
|
28868
|
-
|
|
28869
|
-
MUST NOT DO:
|
|
28870
|
-
- [Forbidden action + why]
|
|
28871
|
-
- [Another forbidden action]
|
|
28872
|
-
...
|
|
28873
|
-
|
|
28874
|
-
EXPECTED OUTPUT:
|
|
28875
|
-
- [Exact deliverable description]
|
|
28876
|
-
- [Success criteria / verification method]
|
|
28877
|
-
\`\`\`
|
|
28878
|
-
|
|
28879
|
-
If your prompt lacks this structure, REWRITE IT before delegating.
|
|
28880
|
-
</Caller_Warning>`;
|
|
28835
|
+
</Category_Context>`;
|
|
28836
|
+
var QUICK_CATEGORY_CALLER_GUIDANCE = `<Caller_Warning>Small/fast model: before delegating, write an explicit prompt with numbered must-do steps, forbidden deviations, and concrete success criteria.</Caller_Warning>`;
|
|
28881
28837
|
var UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28882
28838
|
You are working on tasks that don't fit specific categories but require moderate effort.
|
|
28883
|
-
|
|
28884
|
-
|
|
28885
|
-
|
|
28886
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
28887
|
-
2. Task requires more than trivial effort but is NOT system-wide
|
|
28888
|
-
3. Scope is contained within a few files/modules
|
|
28889
|
-
|
|
28890
|
-
If task fits ANY other category, DO NOT select unspecified-low.
|
|
28891
|
-
This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
|
|
28892
|
-
</Selection_Gate>
|
|
28893
|
-
</Category_Context>
|
|
28894
|
-
|
|
28895
|
-
<Caller_Warning>
|
|
28896
|
-
THIS CATEGORY USES GROK 4.6 (xhigh).
|
|
28897
|
-
|
|
28898
|
-
**PROVIDE CLEAR STRUCTURE:**
|
|
28899
|
-
1. MUST DO: Enumerate required actions explicitly
|
|
28900
|
-
2. MUST NOT DO: State forbidden actions to prevent scope creep
|
|
28901
|
-
3. EXPECTED OUTPUT: Define concrete success criteria
|
|
28902
|
-
</Caller_Warning>`;
|
|
28839
|
+
</Category_Context>`;
|
|
28840
|
+
var UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits, effort is moderate, and scope stays within a few files/modules. Prefer any matching specialist category.</Selection_Gate>
|
|
28841
|
+
<Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`;
|
|
28903
28842
|
var OPENAI_CATEGORIES = [
|
|
28904
28843
|
{
|
|
28905
28844
|
name: "ultrabrain",
|
|
@@ -28919,12 +28858,14 @@ var OPENAI_CATEGORIES = [
|
|
|
28919
28858
|
name: "quick",
|
|
28920
28859
|
config: { model: "kimi-for-coding/kimi-for-coding-highspeed" },
|
|
28921
28860
|
description: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
28861
|
+
callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
|
|
28922
28862
|
promptAppend: QUICK_CATEGORY_PROMPT_APPEND
|
|
28923
28863
|
},
|
|
28924
28864
|
{
|
|
28925
28865
|
name: "unspecified-low",
|
|
28926
28866
|
config: { model: "xai/grok-4.6", variant: "xhigh" },
|
|
28927
28867
|
description: "Tasks that don't fit other categories, low effort required",
|
|
28868
|
+
callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
28928
28869
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
28929
28870
|
}
|
|
28930
28871
|
];
|
|
@@ -28942,6 +28883,7 @@ function buildCategoryRecord(selector) {
|
|
|
28942
28883
|
var DEFAULT_CATEGORIES = buildCategoryRecord((definition2) => definition2.config);
|
|
28943
28884
|
var CATEGORY_PROMPT_APPENDS = buildCategoryRecord((definition2) => definition2.promptAppend);
|
|
28944
28885
|
var CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition2) => definition2.description);
|
|
28886
|
+
var CATEGORY_CALLER_GUIDANCE = buildCategoryRecord((definition2) => definition2.callerGuidance);
|
|
28945
28887
|
var CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.resolvePromptAppend !== undefined).map((definition2) => [definition2.name, definition2.resolvePromptAppend]));
|
|
28946
28888
|
var BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.requiresModel !== undefined).map((definition2) => [definition2.name, definition2.requiresModel]));
|
|
28947
28889
|
|
|
@@ -98726,7 +98668,7 @@ function getCachedVersion(options = {}) {
|
|
|
98726
98668
|
// package.json
|
|
98727
98669
|
var package_default = {
|
|
98728
98670
|
name: "oh-my-opencode",
|
|
98729
|
-
version: "5.0.0-beta.
|
|
98671
|
+
version: "5.0.0-beta.11",
|
|
98730
98672
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
98731
98673
|
main: "./dist/index.js",
|
|
98732
98674
|
types: "dist/index.d.ts",
|
|
@@ -98907,7 +98849,7 @@ var package_default = {
|
|
|
98907
98849
|
zod: "^4.4.3"
|
|
98908
98850
|
},
|
|
98909
98851
|
devDependencies: {
|
|
98910
|
-
"@code-yeongyu/senpi": "2026.8.18-
|
|
98852
|
+
"@code-yeongyu/senpi": "2026.8.18-3",
|
|
98911
98853
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
98912
98854
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
98913
98855
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -98948,18 +98890,18 @@ var package_default = {
|
|
|
98948
98890
|
typescript: "^7.0.2"
|
|
98949
98891
|
},
|
|
98950
98892
|
optionalDependencies: {
|
|
98951
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
98952
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
98953
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
98954
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
98955
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
98956
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
98957
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
98958
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
98959
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
98960
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
98961
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
98962
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
98893
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.11",
|
|
98894
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.11",
|
|
98895
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.11",
|
|
98896
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.11",
|
|
98897
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.11",
|
|
98898
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.11",
|
|
98899
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.11",
|
|
98900
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.11",
|
|
98901
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.11",
|
|
98902
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.11",
|
|
98903
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.11",
|
|
98904
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.11"
|
|
98963
98905
|
},
|
|
98964
98906
|
overrides: {
|
|
98965
98907
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -132948,14 +132890,39 @@ var SISYPHUS_JUNIOR_AGENT2 = getAgentDisplayName("sisyphus-junior");
|
|
|
132948
132890
|
|
|
132949
132891
|
// packages/omo-opencode/src/tools/delegate-task/categories.ts
|
|
132950
132892
|
init_logger2();
|
|
132893
|
+
function resolveAvailableModelEntry(entry, availableModels) {
|
|
132894
|
+
const configuredModel = typeof entry === "string" ? entry : entry.model;
|
|
132895
|
+
const parsedModel = parseModelString(configuredModel);
|
|
132896
|
+
if (!parsedModel)
|
|
132897
|
+
return null;
|
|
132898
|
+
const fullModel = `${parsedModel.providerID}/${parsedModel.modelID}`;
|
|
132899
|
+
const matchedModel = fuzzyMatchModel2(fullModel, availableModels, [parsedModel.providerID]);
|
|
132900
|
+
if (!matchedModel)
|
|
132901
|
+
return null;
|
|
132902
|
+
if (typeof entry === "string") {
|
|
132903
|
+
return parsedModel.variant ? `${matchedModel}(${parsedModel.variant})` : matchedModel;
|
|
132904
|
+
}
|
|
132905
|
+
return {
|
|
132906
|
+
...entry,
|
|
132907
|
+
model: matchedModel,
|
|
132908
|
+
variant: entry.variant ?? parsedModel.variant
|
|
132909
|
+
};
|
|
132910
|
+
}
|
|
132951
132911
|
function resolveCategoryConfig(categoryName, options) {
|
|
132952
132912
|
const { userCategories, inheritedModel: _inheritedModel, systemDefaultModel, availableModels } = options;
|
|
132953
132913
|
const defaultConfig = DEFAULT_CATEGORIES[categoryName];
|
|
132954
|
-
const
|
|
132955
|
-
const hasExplicitUserConfig =
|
|
132956
|
-
if (
|
|
132914
|
+
const configuredUserConfig = userCategories?.[categoryName];
|
|
132915
|
+
const hasExplicitUserConfig = configuredUserConfig !== undefined;
|
|
132916
|
+
if (configuredUserConfig?.disable) {
|
|
132957
132917
|
return null;
|
|
132958
132918
|
}
|
|
132919
|
+
let userConfig = configuredUserConfig;
|
|
132920
|
+
if (configuredUserConfig?.models && availableModels && availableModels.size > 0) {
|
|
132921
|
+
const models2 = configuredUserConfig.models.map((entry) => resolveAvailableModelEntry(entry, availableModels)).filter((entry) => entry !== null);
|
|
132922
|
+
if (models2.length === 0)
|
|
132923
|
+
return null;
|
|
132924
|
+
userConfig = { ...configuredUserConfig, models: models2 };
|
|
132925
|
+
}
|
|
132959
132926
|
const categoryReq = CATEGORY_MODEL_REQUIREMENTS[categoryName];
|
|
132960
132927
|
const requiredModel = categoryReq?.requiresModel ?? BUILTIN_CATEGORY_REQUIRES_MODEL[categoryName];
|
|
132961
132928
|
if (requiredModel && availableModels && !hasExplicitUserConfig) {
|
|
@@ -133140,6 +133107,11 @@ async function resolveCategoryExecution(args, executorCtx, inheritedModel, syste
|
|
|
133140
133107
|
const requirement2 = CATEGORY_MODEL_REQUIREMENTS[categoryName];
|
|
133141
133108
|
const requiredModel = requirement2?.requiresModel ?? BUILTIN_CATEGORY_REQUIRES_MODEL[categoryName];
|
|
133142
133109
|
const allCategoryNames = Object.keys(enabledCategories).join(", ");
|
|
133110
|
+
const configuredModels = userCategories?.[categoryName]?.models;
|
|
133111
|
+
if (configuredModels && availableModels.size > 0) {
|
|
133112
|
+
const configuredChain = configuredModels.map((entry) => getConfiguredModel(entry)).join(" -> ");
|
|
133113
|
+
return categoryResolutionError(`Configured model chain is unavailable for category "${categoryName}": ${configuredChain}`);
|
|
133114
|
+
}
|
|
133143
133115
|
if (categoryExists && requiredModel) {
|
|
133144
133116
|
return categoryResolutionError(`Category "${categoryName}" requires model "${requiredModel}" which is not available.
|
|
133145
133117
|
|
|
@@ -133585,7 +133557,8 @@ function createDelegateTaskPresentation(options) {
|
|
|
133585
133557
|
const categoryEntries = Object.entries(allCategories).map(([name, categoryConfig]) => ({
|
|
133586
133558
|
name,
|
|
133587
133559
|
categoryConfig,
|
|
133588
|
-
description: userCategories?.[name]?.description || CATEGORY_DESCRIPTIONS[name]
|
|
133560
|
+
description: userCategories?.[name]?.description || CATEGORY_DESCRIPTIONS[name],
|
|
133561
|
+
callerGuidance: CATEGORY_CALLER_GUIDANCE[name]
|
|
133589
133562
|
}));
|
|
133590
133563
|
const categoryNames = categoryEntries.map(({ name }) => name);
|
|
133591
133564
|
const categoryExamples = categoryNames.join(", ");
|
|
@@ -133597,8 +133570,13 @@ function createDelegateTaskPresentation(options) {
|
|
|
133597
133570
|
};
|
|
133598
133571
|
});
|
|
133599
133572
|
const availableSkills = options.availableSkills ?? [];
|
|
133600
|
-
const categoryList = categoryEntries.map(({ name, description: description2 }) => {
|
|
133601
|
-
|
|
133573
|
+
const categoryList = categoryEntries.map(({ name, description: description2, callerGuidance }) => {
|
|
133574
|
+
const categoryLine = description2 ? ` - ${name}: ${description2}` : ` - ${name}`;
|
|
133575
|
+
const indentedGuidance = callerGuidance?.replaceAll(`
|
|
133576
|
+
`, `
|
|
133577
|
+
`);
|
|
133578
|
+
return indentedGuidance ? `${categoryLine}
|
|
133579
|
+
${indentedGuidance}` : categoryLine;
|
|
133602
133580
|
}).join(`
|
|
133603
133581
|
`);
|
|
133604
133582
|
const description = `Spawn agent task with category-based or direct agent selection.
|
|
@@ -163991,8 +163969,8 @@ function applyToolConfig(params) {
|
|
|
163991
163969
|
const atlas = agentByKey(params.agentResult, "atlas", params.pluginConfig);
|
|
163992
163970
|
if (atlas) {
|
|
163993
163971
|
atlas.permission = {
|
|
163994
|
-
...atlas.permission,
|
|
163995
163972
|
task: "allow",
|
|
163973
|
+
...atlas.permission,
|
|
163996
163974
|
call_omo_agent: "deny",
|
|
163997
163975
|
"task_*": "allow",
|
|
163998
163976
|
teammate: "allow",
|
|
@@ -164002,9 +163980,9 @@ function applyToolConfig(params) {
|
|
|
164002
163980
|
const sisyphus2 = agentByKey(params.agentResult, "sisyphus", params.pluginConfig);
|
|
164003
163981
|
if (sisyphus2) {
|
|
164004
163982
|
sisyphus2.permission = {
|
|
163983
|
+
task: "allow",
|
|
164005
163984
|
...sisyphus2.permission,
|
|
164006
163985
|
call_omo_agent: "deny",
|
|
164007
|
-
task: "allow",
|
|
164008
163986
|
question: questionPermission,
|
|
164009
163987
|
"task_*": "allow",
|
|
164010
163988
|
teammate: "allow",
|
|
@@ -164014,9 +163992,9 @@ function applyToolConfig(params) {
|
|
|
164014
163992
|
const hephaestus = agentByKey(params.agentResult, "hephaestus", params.pluginConfig);
|
|
164015
163993
|
if (hephaestus) {
|
|
164016
163994
|
hephaestus.permission = {
|
|
163995
|
+
task: "allow",
|
|
164017
163996
|
...hephaestus.permission,
|
|
164018
163997
|
call_omo_agent: "deny",
|
|
164019
|
-
task: "allow",
|
|
164020
163998
|
question: questionPermission,
|
|
164021
163999
|
teammate: "allow",
|
|
164022
164000
|
...denyTodoTools
|
|
@@ -164025,9 +164003,9 @@ function applyToolConfig(params) {
|
|
|
164025
164003
|
const prometheus = agentByKey(params.agentResult, "prometheus", params.pluginConfig);
|
|
164026
164004
|
if (prometheus) {
|
|
164027
164005
|
prometheus.permission = {
|
|
164006
|
+
task: "allow",
|
|
164028
164007
|
...prometheus.permission,
|
|
164029
164008
|
call_omo_agent: "deny",
|
|
164030
|
-
task: "allow",
|
|
164031
164009
|
question: questionPermission,
|
|
164032
164010
|
"task_*": "allow",
|
|
164033
164011
|
teammate: "allow",
|