oh-my-opencode 5.0.0-beta.10 → 5.0.0-beta.12
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 +34 -86
- package/dist/cli-node/index.js +34 -86
- package/dist/index.js +80 -93
- 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 +19 -71
- 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/dist/cli.js +9 -0
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +9 -0
- 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/index.js
CHANGED
|
@@ -5537,7 +5537,7 @@ var init_codegraph = __esm(() => {
|
|
|
5537
5537
|
|
|
5538
5538
|
// packages/omo-config-core/src/schema/memory.ts
|
|
5539
5539
|
import * as z7 from "zod";
|
|
5540
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
5540
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
5541
5541
|
var init_memory = __esm(() => {
|
|
5542
5542
|
OmoMemoryReflectionTriggerSchema = z7.object({
|
|
5543
5543
|
step_count: z7.number().int().nonnegative().default(25),
|
|
@@ -5582,6 +5582,9 @@ var init_memory = __esm(() => {
|
|
|
5582
5582
|
OmoMemorySoulSchema = z7.object({
|
|
5583
5583
|
edit_notice: z7.boolean().default(true)
|
|
5584
5584
|
}).strict();
|
|
5585
|
+
OmoMemoryWriteNoticeSchema = z7.object({
|
|
5586
|
+
enabled: z7.boolean().default(true)
|
|
5587
|
+
}).strict();
|
|
5585
5588
|
OmoMemoryReflectionTriggerLayerSchema = z7.object({
|
|
5586
5589
|
step_count: z7.number().int().nonnegative().optional(),
|
|
5587
5590
|
on_compaction: z7.boolean().optional()
|
|
@@ -5625,6 +5628,9 @@ var init_memory = __esm(() => {
|
|
|
5625
5628
|
OmoMemorySoulLayerSchema = z7.object({
|
|
5626
5629
|
edit_notice: z7.boolean().optional()
|
|
5627
5630
|
}).strict();
|
|
5631
|
+
OmoMemoryWriteNoticeLayerSchema = z7.object({
|
|
5632
|
+
enabled: z7.boolean().optional()
|
|
5633
|
+
}).strict();
|
|
5628
5634
|
OmoMemoryAgentOverridesSchema = z7.object({
|
|
5629
5635
|
enabled: z7.boolean().optional(),
|
|
5630
5636
|
agent: z7.string().min(1).optional(),
|
|
@@ -5634,6 +5640,7 @@ var init_memory = __esm(() => {
|
|
|
5634
5640
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5635
5641
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5636
5642
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5643
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5637
5644
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5638
5645
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5639
5646
|
compile_warn_tokens: z7.number().int().positive().optional()
|
|
@@ -5662,6 +5669,7 @@ var init_memory = __esm(() => {
|
|
|
5662
5669
|
}),
|
|
5663
5670
|
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
5664
5671
|
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
5672
|
+
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
5665
5673
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
5666
5674
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
5667
5675
|
compile_warn_tokens: z7.number().int().positive().default(30000),
|
|
@@ -5677,6 +5685,7 @@ var init_memory = __esm(() => {
|
|
|
5677
5685
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5678
5686
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5679
5687
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5688
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5680
5689
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5681
5690
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5682
5691
|
compile_warn_tokens: z7.number().int().positive().optional(),
|
|
@@ -28558,23 +28567,14 @@ function truncateDescription(description, maxLength = 120) {
|
|
|
28558
28567
|
// packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
|
|
28559
28568
|
var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28560
28569
|
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
28570
|
</Category_Context>`;
|
|
28571
|
+
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
28572
|
var ANTHROPIC_CATEGORIES = [
|
|
28574
28573
|
{
|
|
28575
28574
|
name: "unspecified-high",
|
|
28576
28575
|
config: { model: "kimi-for-coding/k3", variant: "max" },
|
|
28577
28576
|
description: "Tasks that don't fit other categories, high effort required",
|
|
28577
|
+
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
28578
28578
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
|
|
28579
28579
|
}
|
|
28580
28580
|
];
|
|
@@ -28841,65 +28841,13 @@ Approach:
|
|
|
28841
28841
|
- Minimal viable implementation
|
|
28842
28842
|
- Skip unnecessary abstractions
|
|
28843
28843
|
- 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>`;
|
|
28844
|
+
</Category_Context>`;
|
|
28845
|
+
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
28846
|
var UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
28882
28847
|
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>`;
|
|
28848
|
+
</Category_Context>`;
|
|
28849
|
+
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>
|
|
28850
|
+
<Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`;
|
|
28903
28851
|
var OPENAI_CATEGORIES = [
|
|
28904
28852
|
{
|
|
28905
28853
|
name: "ultrabrain",
|
|
@@ -28919,12 +28867,14 @@ var OPENAI_CATEGORIES = [
|
|
|
28919
28867
|
name: "quick",
|
|
28920
28868
|
config: { model: "kimi-for-coding/kimi-for-coding-highspeed" },
|
|
28921
28869
|
description: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
28870
|
+
callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
|
|
28922
28871
|
promptAppend: QUICK_CATEGORY_PROMPT_APPEND
|
|
28923
28872
|
},
|
|
28924
28873
|
{
|
|
28925
28874
|
name: "unspecified-low",
|
|
28926
28875
|
config: { model: "xai/grok-4.6", variant: "xhigh" },
|
|
28927
28876
|
description: "Tasks that don't fit other categories, low effort required",
|
|
28877
|
+
callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
28928
28878
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
28929
28879
|
}
|
|
28930
28880
|
];
|
|
@@ -28942,6 +28892,7 @@ function buildCategoryRecord(selector) {
|
|
|
28942
28892
|
var DEFAULT_CATEGORIES = buildCategoryRecord((definition2) => definition2.config);
|
|
28943
28893
|
var CATEGORY_PROMPT_APPENDS = buildCategoryRecord((definition2) => definition2.promptAppend);
|
|
28944
28894
|
var CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition2) => definition2.description);
|
|
28895
|
+
var CATEGORY_CALLER_GUIDANCE = buildCategoryRecord((definition2) => definition2.callerGuidance);
|
|
28945
28896
|
var CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.resolvePromptAppend !== undefined).map((definition2) => [definition2.name, definition2.resolvePromptAppend]));
|
|
28946
28897
|
var BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.requiresModel !== undefined).map((definition2) => [definition2.name, definition2.requiresModel]));
|
|
28947
28898
|
|
|
@@ -98726,7 +98677,7 @@ function getCachedVersion(options = {}) {
|
|
|
98726
98677
|
// package.json
|
|
98727
98678
|
var package_default = {
|
|
98728
98679
|
name: "oh-my-opencode",
|
|
98729
|
-
version: "5.0.0-beta.
|
|
98680
|
+
version: "5.0.0-beta.12",
|
|
98730
98681
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
98731
98682
|
main: "./dist/index.js",
|
|
98732
98683
|
types: "dist/index.d.ts",
|
|
@@ -98907,7 +98858,7 @@ var package_default = {
|
|
|
98907
98858
|
zod: "^4.4.3"
|
|
98908
98859
|
},
|
|
98909
98860
|
devDependencies: {
|
|
98910
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
98861
|
+
"@code-yeongyu/senpi": "2026.8.19",
|
|
98911
98862
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
98912
98863
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
98913
98864
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -98948,18 +98899,18 @@ var package_default = {
|
|
|
98948
98899
|
typescript: "^7.0.2"
|
|
98949
98900
|
},
|
|
98950
98901
|
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.
|
|
98902
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.12",
|
|
98903
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.12",
|
|
98904
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.12",
|
|
98905
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.12",
|
|
98906
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.12",
|
|
98907
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.12",
|
|
98908
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.12",
|
|
98909
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.12",
|
|
98910
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.12",
|
|
98911
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.12",
|
|
98912
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.12",
|
|
98913
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.12"
|
|
98963
98914
|
},
|
|
98964
98915
|
overrides: {
|
|
98965
98916
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -132948,14 +132899,39 @@ var SISYPHUS_JUNIOR_AGENT2 = getAgentDisplayName("sisyphus-junior");
|
|
|
132948
132899
|
|
|
132949
132900
|
// packages/omo-opencode/src/tools/delegate-task/categories.ts
|
|
132950
132901
|
init_logger2();
|
|
132902
|
+
function resolveAvailableModelEntry(entry, availableModels) {
|
|
132903
|
+
const configuredModel = typeof entry === "string" ? entry : entry.model;
|
|
132904
|
+
const parsedModel = parseModelString(configuredModel);
|
|
132905
|
+
if (!parsedModel)
|
|
132906
|
+
return null;
|
|
132907
|
+
const fullModel = `${parsedModel.providerID}/${parsedModel.modelID}`;
|
|
132908
|
+
const matchedModel = fuzzyMatchModel2(fullModel, availableModels, [parsedModel.providerID]);
|
|
132909
|
+
if (!matchedModel)
|
|
132910
|
+
return null;
|
|
132911
|
+
if (typeof entry === "string") {
|
|
132912
|
+
return parsedModel.variant ? `${matchedModel}(${parsedModel.variant})` : matchedModel;
|
|
132913
|
+
}
|
|
132914
|
+
return {
|
|
132915
|
+
...entry,
|
|
132916
|
+
model: matchedModel,
|
|
132917
|
+
variant: entry.variant ?? parsedModel.variant
|
|
132918
|
+
};
|
|
132919
|
+
}
|
|
132951
132920
|
function resolveCategoryConfig(categoryName, options) {
|
|
132952
132921
|
const { userCategories, inheritedModel: _inheritedModel, systemDefaultModel, availableModels } = options;
|
|
132953
132922
|
const defaultConfig = DEFAULT_CATEGORIES[categoryName];
|
|
132954
|
-
const
|
|
132955
|
-
const hasExplicitUserConfig =
|
|
132956
|
-
if (
|
|
132923
|
+
const configuredUserConfig = userCategories?.[categoryName];
|
|
132924
|
+
const hasExplicitUserConfig = configuredUserConfig !== undefined;
|
|
132925
|
+
if (configuredUserConfig?.disable) {
|
|
132957
132926
|
return null;
|
|
132958
132927
|
}
|
|
132928
|
+
let userConfig = configuredUserConfig;
|
|
132929
|
+
if (configuredUserConfig?.models && availableModels && availableModels.size > 0) {
|
|
132930
|
+
const models2 = configuredUserConfig.models.map((entry) => resolveAvailableModelEntry(entry, availableModels)).filter((entry) => entry !== null);
|
|
132931
|
+
if (models2.length === 0)
|
|
132932
|
+
return null;
|
|
132933
|
+
userConfig = { ...configuredUserConfig, models: models2 };
|
|
132934
|
+
}
|
|
132959
132935
|
const categoryReq = CATEGORY_MODEL_REQUIREMENTS[categoryName];
|
|
132960
132936
|
const requiredModel = categoryReq?.requiresModel ?? BUILTIN_CATEGORY_REQUIRES_MODEL[categoryName];
|
|
132961
132937
|
if (requiredModel && availableModels && !hasExplicitUserConfig) {
|
|
@@ -133140,6 +133116,11 @@ async function resolveCategoryExecution(args, executorCtx, inheritedModel, syste
|
|
|
133140
133116
|
const requirement2 = CATEGORY_MODEL_REQUIREMENTS[categoryName];
|
|
133141
133117
|
const requiredModel = requirement2?.requiresModel ?? BUILTIN_CATEGORY_REQUIRES_MODEL[categoryName];
|
|
133142
133118
|
const allCategoryNames = Object.keys(enabledCategories).join(", ");
|
|
133119
|
+
const configuredModels = userCategories?.[categoryName]?.models;
|
|
133120
|
+
if (configuredModels && availableModels.size > 0) {
|
|
133121
|
+
const configuredChain = configuredModels.map((entry) => getConfiguredModel(entry)).join(" -> ");
|
|
133122
|
+
return categoryResolutionError(`Configured model chain is unavailable for category "${categoryName}": ${configuredChain}`);
|
|
133123
|
+
}
|
|
133143
133124
|
if (categoryExists && requiredModel) {
|
|
133144
133125
|
return categoryResolutionError(`Category "${categoryName}" requires model "${requiredModel}" which is not available.
|
|
133145
133126
|
|
|
@@ -133585,7 +133566,8 @@ function createDelegateTaskPresentation(options) {
|
|
|
133585
133566
|
const categoryEntries = Object.entries(allCategories).map(([name, categoryConfig]) => ({
|
|
133586
133567
|
name,
|
|
133587
133568
|
categoryConfig,
|
|
133588
|
-
description: userCategories?.[name]?.description || CATEGORY_DESCRIPTIONS[name]
|
|
133569
|
+
description: userCategories?.[name]?.description || CATEGORY_DESCRIPTIONS[name],
|
|
133570
|
+
callerGuidance: CATEGORY_CALLER_GUIDANCE[name]
|
|
133589
133571
|
}));
|
|
133590
133572
|
const categoryNames = categoryEntries.map(({ name }) => name);
|
|
133591
133573
|
const categoryExamples = categoryNames.join(", ");
|
|
@@ -133597,8 +133579,13 @@ function createDelegateTaskPresentation(options) {
|
|
|
133597
133579
|
};
|
|
133598
133580
|
});
|
|
133599
133581
|
const availableSkills = options.availableSkills ?? [];
|
|
133600
|
-
const categoryList = categoryEntries.map(({ name, description: description2 }) => {
|
|
133601
|
-
|
|
133582
|
+
const categoryList = categoryEntries.map(({ name, description: description2, callerGuidance }) => {
|
|
133583
|
+
const categoryLine = description2 ? ` - ${name}: ${description2}` : ` - ${name}`;
|
|
133584
|
+
const indentedGuidance = callerGuidance?.replaceAll(`
|
|
133585
|
+
`, `
|
|
133586
|
+
`);
|
|
133587
|
+
return indentedGuidance ? `${categoryLine}
|
|
133588
|
+
${indentedGuidance}` : categoryLine;
|
|
133602
133589
|
}).join(`
|
|
133603
133590
|
`);
|
|
133604
133591
|
const description = `Spawn agent task with category-based or direct agent selection.
|
|
@@ -163991,8 +163978,8 @@ function applyToolConfig(params) {
|
|
|
163991
163978
|
const atlas = agentByKey(params.agentResult, "atlas", params.pluginConfig);
|
|
163992
163979
|
if (atlas) {
|
|
163993
163980
|
atlas.permission = {
|
|
163994
|
-
...atlas.permission,
|
|
163995
163981
|
task: "allow",
|
|
163982
|
+
...atlas.permission,
|
|
163996
163983
|
call_omo_agent: "deny",
|
|
163997
163984
|
"task_*": "allow",
|
|
163998
163985
|
teammate: "allow",
|
|
@@ -164002,9 +163989,9 @@ function applyToolConfig(params) {
|
|
|
164002
163989
|
const sisyphus2 = agentByKey(params.agentResult, "sisyphus", params.pluginConfig);
|
|
164003
163990
|
if (sisyphus2) {
|
|
164004
163991
|
sisyphus2.permission = {
|
|
163992
|
+
task: "allow",
|
|
164005
163993
|
...sisyphus2.permission,
|
|
164006
163994
|
call_omo_agent: "deny",
|
|
164007
|
-
task: "allow",
|
|
164008
163995
|
question: questionPermission,
|
|
164009
163996
|
"task_*": "allow",
|
|
164010
163997
|
teammate: "allow",
|
|
@@ -164014,9 +164001,9 @@ function applyToolConfig(params) {
|
|
|
164014
164001
|
const hephaestus = agentByKey(params.agentResult, "hephaestus", params.pluginConfig);
|
|
164015
164002
|
if (hephaestus) {
|
|
164016
164003
|
hephaestus.permission = {
|
|
164004
|
+
task: "allow",
|
|
164017
164005
|
...hephaestus.permission,
|
|
164018
164006
|
call_omo_agent: "deny",
|
|
164019
|
-
task: "allow",
|
|
164020
164007
|
question: questionPermission,
|
|
164021
164008
|
teammate: "allow",
|
|
164022
164009
|
...denyTodoTools
|
|
@@ -164025,9 +164012,9 @@ function applyToolConfig(params) {
|
|
|
164025
164012
|
const prometheus = agentByKey(params.agentResult, "prometheus", params.pluginConfig);
|
|
164026
164013
|
if (prometheus) {
|
|
164027
164014
|
prometheus.permission = {
|
|
164015
|
+
task: "allow",
|
|
164028
164016
|
...prometheus.permission,
|
|
164029
164017
|
call_omo_agent: "deny",
|
|
164030
|
-
task: "allow",
|
|
164031
164018
|
question: questionPermission,
|
|
164032
164019
|
"task_*": "allow",
|
|
164033
164020
|
teammate: "allow",
|
|
@@ -2,5 +2,6 @@ import type { CategoryConfig } from "../../config/schema";
|
|
|
2
2
|
export declare const DEFAULT_CATEGORIES: Record<string, CategoryConfig>;
|
|
3
3
|
export declare const CATEGORY_PROMPT_APPENDS: Record<string, string>;
|
|
4
4
|
export declare const CATEGORY_DESCRIPTIONS: Record<string, string>;
|
|
5
|
+
export declare const CATEGORY_CALLER_GUIDANCE: Record<string, string | undefined>;
|
|
5
6
|
export declare const CATEGORY_PROMPT_APPEND_RESOLVERS: Record<string, (model: string | undefined) => string>;
|
|
6
7
|
export declare const BUILTIN_CATEGORY_REQUIRES_MODEL: Record<string, string>;
|
|
@@ -6,4 +6,6 @@ export interface DelegateTaskPresentation {
|
|
|
6
6
|
categoryExamples: string;
|
|
7
7
|
description: string;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
type DelegateTaskPresentationOptions = Pick<DelegateTaskToolOptions, "availableCategories" | "availableSkills" | "userCategories">;
|
|
10
|
+
export declare function createDelegateTaskPresentation(options: DelegateTaskPresentationOptions): DelegateTaskPresentation;
|
|
11
|
+
export {};
|
package/dist/tui.js
CHANGED
|
@@ -18837,7 +18837,7 @@ var init_codegraph = __esm(() => {
|
|
|
18837
18837
|
});
|
|
18838
18838
|
|
|
18839
18839
|
// packages/omo-config-core/src/schema/memory.ts
|
|
18840
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
18840
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
18841
18841
|
var init_memory = __esm(() => {
|
|
18842
18842
|
init_zod();
|
|
18843
18843
|
OmoMemoryReflectionTriggerSchema = object({
|
|
@@ -18883,6 +18883,9 @@ var init_memory = __esm(() => {
|
|
|
18883
18883
|
OmoMemorySoulSchema = object({
|
|
18884
18884
|
edit_notice: boolean2().default(true)
|
|
18885
18885
|
}).strict();
|
|
18886
|
+
OmoMemoryWriteNoticeSchema = object({
|
|
18887
|
+
enabled: boolean2().default(true)
|
|
18888
|
+
}).strict();
|
|
18886
18889
|
OmoMemoryReflectionTriggerLayerSchema = object({
|
|
18887
18890
|
step_count: number2().int().nonnegative().optional(),
|
|
18888
18891
|
on_compaction: boolean2().optional()
|
|
@@ -18926,6 +18929,9 @@ var init_memory = __esm(() => {
|
|
|
18926
18929
|
OmoMemorySoulLayerSchema = object({
|
|
18927
18930
|
edit_notice: boolean2().optional()
|
|
18928
18931
|
}).strict();
|
|
18932
|
+
OmoMemoryWriteNoticeLayerSchema = object({
|
|
18933
|
+
enabled: boolean2().optional()
|
|
18934
|
+
}).strict();
|
|
18929
18935
|
OmoMemoryAgentOverridesSchema = object({
|
|
18930
18936
|
enabled: boolean2().optional(),
|
|
18931
18937
|
agent: string2().min(1).optional(),
|
|
@@ -18935,6 +18941,7 @@ var init_memory = __esm(() => {
|
|
|
18935
18941
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
18936
18942
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
18937
18943
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
18944
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
18938
18945
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
18939
18946
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
18940
18947
|
compile_warn_tokens: number2().int().positive().optional()
|
|
@@ -18963,6 +18970,7 @@ var init_memory = __esm(() => {
|
|
|
18963
18970
|
}),
|
|
18964
18971
|
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
18965
18972
|
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
18973
|
+
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
18966
18974
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
18967
18975
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
18968
18976
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
@@ -18978,6 +18986,7 @@ var init_memory = __esm(() => {
|
|
|
18978
18986
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
18979
18987
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
18980
18988
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
18989
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
18981
18990
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
18982
18991
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
18983
18992
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
@@ -78184,24 +78193,14 @@ var init_agent_display_names = __esm(() => {
|
|
|
78184
78193
|
// packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
|
|
78185
78194
|
var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
78186
78195
|
You are working on tasks that don't fit specific categories but require substantial effort.
|
|
78187
|
-
|
|
78188
|
-
<Selection_Gate>
|
|
78189
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
78190
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
78191
|
-
2. Task requires substantial effort across multiple systems/modules
|
|
78192
|
-
3. Changes have broad impact or require careful coordination
|
|
78193
|
-
4. NOT just "complex" - must be genuinely unclassifiable AND high-effort
|
|
78194
|
-
|
|
78195
|
-
If task fits ANY other category, DO NOT select unspecified-high.
|
|
78196
|
-
If task is unclassifiable but moderate-effort, use unspecified-low instead.
|
|
78197
|
-
</Selection_Gate>
|
|
78198
|
-
</Category_Context>`, ANTHROPIC_CATEGORIES;
|
|
78196
|
+
</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;
|
|
78199
78197
|
var init_anthropic_categories = __esm(() => {
|
|
78200
78198
|
ANTHROPIC_CATEGORIES = [
|
|
78201
78199
|
{
|
|
78202
78200
|
name: "unspecified-high",
|
|
78203
78201
|
config: { model: "kimi-for-coding/k3", variant: "max" },
|
|
78204
78202
|
description: "Tasks that don't fit other categories, high effort required",
|
|
78203
|
+
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
78205
78204
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
|
|
78206
78205
|
}
|
|
78207
78206
|
];
|
|
@@ -78458,64 +78457,10 @@ Approach:
|
|
|
78458
78457
|
- Minimal viable implementation
|
|
78459
78458
|
- Skip unnecessary abstractions
|
|
78460
78459
|
- Direct and concise
|
|
78461
|
-
</Category_Context>
|
|
78462
|
-
|
|
78463
|
-
<Caller_Warning>
|
|
78464
|
-
THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.6-luna-fast).
|
|
78465
|
-
|
|
78466
|
-
The model executing this task is optimized for speed over depth. Your prompt MUST be:
|
|
78467
|
-
|
|
78468
|
-
**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:
|
|
78469
|
-
1. MUST DO: List every required action as atomic, numbered steps
|
|
78470
|
-
2. MUST NOT DO: Explicitly forbid likely mistakes and deviations
|
|
78471
|
-
3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples
|
|
78472
|
-
|
|
78473
|
-
**WHY THIS MATTERS:**
|
|
78474
|
-
- Smaller models benefit from explicit guardrails
|
|
78475
|
-
- Vague instructions may lead to unpredictable results
|
|
78476
|
-
- Implicit expectations may be missed
|
|
78477
|
-
**PROMPT STRUCTURE (MANDATORY):**
|
|
78478
|
-
\`\`\`
|
|
78479
|
-
TASK: [One-sentence goal]
|
|
78480
|
-
|
|
78481
|
-
MUST DO:
|
|
78482
|
-
1. [Specific action with exact details]
|
|
78483
|
-
2. [Another specific action]
|
|
78484
|
-
...
|
|
78485
|
-
|
|
78486
|
-
MUST NOT DO:
|
|
78487
|
-
- [Forbidden action + why]
|
|
78488
|
-
- [Another forbidden action]
|
|
78489
|
-
...
|
|
78490
|
-
|
|
78491
|
-
EXPECTED OUTPUT:
|
|
78492
|
-
- [Exact deliverable description]
|
|
78493
|
-
- [Success criteria / verification method]
|
|
78494
|
-
\`\`\`
|
|
78495
|
-
|
|
78496
|
-
If your prompt lacks this structure, REWRITE IT before delegating.
|
|
78497
|
-
</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
78460
|
+
</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>
|
|
78498
78461
|
You are working on tasks that don't fit specific categories but require moderate effort.
|
|
78499
|
-
|
|
78500
|
-
<
|
|
78501
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
78502
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
78503
|
-
2. Task requires more than trivial effort but is NOT system-wide
|
|
78504
|
-
3. Scope is contained within a few files/modules
|
|
78505
|
-
|
|
78506
|
-
If task fits ANY other category, DO NOT select unspecified-low.
|
|
78507
|
-
This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
|
|
78508
|
-
</Selection_Gate>
|
|
78509
|
-
</Category_Context>
|
|
78510
|
-
|
|
78511
|
-
<Caller_Warning>
|
|
78512
|
-
THIS CATEGORY USES GROK 4.6 (xhigh).
|
|
78513
|
-
|
|
78514
|
-
**PROVIDE CLEAR STRUCTURE:**
|
|
78515
|
-
1. MUST DO: Enumerate required actions explicitly
|
|
78516
|
-
2. MUST NOT DO: State forbidden actions to prevent scope creep
|
|
78517
|
-
3. EXPECTED OUTPUT: Define concrete success criteria
|
|
78518
|
-
</Caller_Warning>`, OPENAI_CATEGORIES;
|
|
78462
|
+
</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>
|
|
78463
|
+
<Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, OPENAI_CATEGORIES;
|
|
78519
78464
|
var init_openai_categories = __esm(() => {
|
|
78520
78465
|
init_types6();
|
|
78521
78466
|
OPENAI_CATEGORIES = [
|
|
@@ -78537,12 +78482,14 @@ var init_openai_categories = __esm(() => {
|
|
|
78537
78482
|
name: "quick",
|
|
78538
78483
|
config: { model: "kimi-for-coding/kimi-for-coding-highspeed" },
|
|
78539
78484
|
description: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
78485
|
+
callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
|
|
78540
78486
|
promptAppend: QUICK_CATEGORY_PROMPT_APPEND
|
|
78541
78487
|
},
|
|
78542
78488
|
{
|
|
78543
78489
|
name: "unspecified-low",
|
|
78544
78490
|
config: { model: "xai/grok-4.6", variant: "xhigh" },
|
|
78545
78491
|
description: "Tasks that don't fit other categories, low effort required",
|
|
78492
|
+
callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
78546
78493
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
78547
78494
|
}
|
|
78548
78495
|
];
|
|
@@ -78552,7 +78499,7 @@ var init_openai_categories = __esm(() => {
|
|
|
78552
78499
|
function buildCategoryRecord(selector) {
|
|
78553
78500
|
return Object.fromEntries(BUILTIN_CATEGORIES.map((definition2) => [definition2.name, selector(definition2)]));
|
|
78554
78501
|
}
|
|
78555
|
-
var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
|
|
78502
|
+
var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_CALLER_GUIDANCE, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
|
|
78556
78503
|
var init_builtin_categories = __esm(() => {
|
|
78557
78504
|
init_anthropic_categories();
|
|
78558
78505
|
init_google_categories();
|
|
@@ -78567,6 +78514,7 @@ var init_builtin_categories = __esm(() => {
|
|
|
78567
78514
|
DEFAULT_CATEGORIES = buildCategoryRecord((definition2) => definition2.config);
|
|
78568
78515
|
CATEGORY_PROMPT_APPENDS = buildCategoryRecord((definition2) => definition2.promptAppend);
|
|
78569
78516
|
CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition2) => definition2.description);
|
|
78517
|
+
CATEGORY_CALLER_GUIDANCE = buildCategoryRecord((definition2) => definition2.callerGuidance);
|
|
78570
78518
|
CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.resolvePromptAppend !== undefined).map((definition2) => [definition2.name, definition2.resolvePromptAppend]));
|
|
78571
78519
|
BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.requiresModel !== undefined).map((definition2) => [definition2.name, definition2.requiresModel]));
|
|
78572
78520
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.12",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
"zod": "^4.4.3"
|
|
182
182
|
},
|
|
183
183
|
"devDependencies": {
|
|
184
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
184
|
+
"@code-yeongyu/senpi": "2026.8.19",
|
|
185
185
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
186
186
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
187
187
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -222,18 +222,18 @@
|
|
|
222
222
|
"typescript": "^7.0.2"
|
|
223
223
|
},
|
|
224
224
|
"optionalDependencies": {
|
|
225
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
226
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
227
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
228
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
229
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
230
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
231
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
232
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
233
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
234
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
235
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
236
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
225
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.12",
|
|
226
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.12",
|
|
227
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.12",
|
|
228
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.12",
|
|
229
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.12",
|
|
230
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.12",
|
|
231
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.12",
|
|
232
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.12",
|
|
233
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.12",
|
|
234
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.12",
|
|
235
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.12",
|
|
236
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.12"
|
|
237
237
|
},
|
|
238
238
|
"overrides": {
|
|
239
239
|
"@earendil-works/pi-agent-core": "0.84.2",
|