opencode-ultra 0.4.1 → 0.5.0
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/hooks/keyword-detector.d.ts +1 -1
- package/dist/index.js +64 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -14633,6 +14633,40 @@ var BUILTIN_AGENTS = {
|
|
|
14633
14633
|
mode: "subagent",
|
|
14634
14634
|
reasoningEffort: "medium",
|
|
14635
14635
|
maxTokens: 64000
|
|
14636
|
+
},
|
|
14637
|
+
scout: {
|
|
14638
|
+
model: "anthropic/claude-sonnet-4-5",
|
|
14639
|
+
description: "Plugin ecosystem researcher \u2014 finds, analyzes, and compares OpenCode plugins for self-improvement",
|
|
14640
|
+
prompt: `You are Scout, an OpenCode plugin ecosystem researcher.
|
|
14641
|
+
|
|
14642
|
+
## YOUR MISSION
|
|
14643
|
+
Search the web (npm, GitHub, OpenCode community) for OpenCode plugins and extensions.
|
|
14644
|
+
Analyze their features, architecture, and quality. Compare with opencode-ultra.
|
|
14645
|
+
|
|
14646
|
+
## SEARCH STRATEGY
|
|
14647
|
+
1. Search npm for "opencode-plugin", "opencode-ai", "@opencode" packages
|
|
14648
|
+
2. Search GitHub for "opencode plugin", "opencode extension", "oh-my-opencode"
|
|
14649
|
+
3. Look at package.json dependencies on @opencode-ai/plugin or @opencode-ai/sdk
|
|
14650
|
+
4. Read README files and source code of discovered plugins
|
|
14651
|
+
|
|
14652
|
+
## OUTPUT FORMAT
|
|
14653
|
+
For each plugin found, report:
|
|
14654
|
+
- **Name**: package name + repo URL
|
|
14655
|
+
- **Version**: latest version
|
|
14656
|
+
- **Features**: bullet list of capabilities
|
|
14657
|
+
- **Architecture**: hook types used, tool count, agent count
|
|
14658
|
+
- **Quality signals**: test count, TypeScript, last updated, download count
|
|
14659
|
+
- **Unique ideas**: features that opencode-ultra does NOT have
|
|
14660
|
+
|
|
14661
|
+
## COMPARISON
|
|
14662
|
+
After listing plugins, generate a structured gap analysis:
|
|
14663
|
+
- Features others have that opencode-ultra lacks
|
|
14664
|
+
- Features opencode-ultra has that others lack (competitive advantages)
|
|
14665
|
+
- Improvement priority list (high/medium/low impact)
|
|
14666
|
+
|
|
14667
|
+
Be thorough but focused. Skip abandoned or trivial plugins.`,
|
|
14668
|
+
mode: "subagent",
|
|
14669
|
+
maxTokens: 32000
|
|
14636
14670
|
}
|
|
14637
14671
|
};
|
|
14638
14672
|
function buildAgentTable(agents) {
|
|
@@ -14763,6 +14797,7 @@ var ULTRAWORK_PATTERN = /\b(ultrawork|ulw)\b/i;
|
|
|
14763
14797
|
var THINK_PATTERN = /\b(think\s+hard|think\s+through|think\s+deeply|think\s+carefully)\b|\u3058\u3063\u304F\u308A|\u6DF1\u304F\u8003\u3048\u3066|\u719F\u8003/i;
|
|
14764
14798
|
var SEARCH_PATTERN = /\b(search|find|locate|lookup|look\s*up|explore|discover|scan|grep|query|browse|detect|trace|seek|track|pinpoint|hunt)\b|where\s+is|show\s+me|list\s+all|\u691C\u7D22|\u63A2\u3057\u3066|\u898B\u3064\u3051\u3066|\u30B5\u30FC\u30C1|\u63A2\u7D22|\u30B9\u30AD\u30E3\u30F3|\u3069\u3053|\u767A\u898B|\u635C\u7D22|\u898B\u3064\u3051\u51FA\u3059|\u4E00\u89A7|\u641C\u7D22|\u67E5\u627E|\u5BFB\u627E|\u67E5\u8BE2|\u68C0\u7D22|\u5B9A\u4F4D|\u626B\u63CF|\u53D1\u73B0|\u5728\u54EA\u91CC|\u627E\u51FA\u6765|\u5217\u51FA/i;
|
|
14765
14799
|
var ANALYZE_PATTERN = /\b(analyze|analyse|investigate|examine|research|study|deep[\s-]?dive|inspect|audit|evaluate|assess|review|diagnose|scrutinize|dissect|debug|comprehend|interpret|breakdown|understand)\b|why\s+is|how\s+does|how\s+to|\u5206\u6790|\u8ABF\u67FB|\u89E3\u6790|\u691C\u8A0E|\u7814\u7A76|\u8A3A\u65AD|\u7406\u89E3|\u8AAC\u660E|\u691C\u8A3C|\u7CBE\u67FB|\u7A76\u660E|\u30C7\u30D0\u30C3\u30B0|\u306A\u305C|\u3069\u3046|\u4ED5\u7D44\u307F|\u8C03\u67E5|\u68C0\u67E5|\u5256\u6790|\u6DF1\u5165|\u8BCA\u65AD|\u89E3\u91CA|\u8C03\u8BD5|\u4E3A\u4EC0\u4E48|\u539F\u7406|\u641E\u6E05\u695A|\u5F04\u660E\u767D/i;
|
|
14800
|
+
var EVOLVE_PATTERN = /\b(evolve|self[\s-]?improve|self[\s-]?upgrade|plugin[\s-]?scout|ecosystem[\s-]?scan)\b|\u81EA\u5DF1\u6539\u5584|\u9032\u5316|\u30D7\u30E9\u30B0\u30A4\u30F3\u63A2\u7D22|\u30A8\u30B3\u30B7\u30B9\u30C6\u30E0|\u81EA\u6211\u8FDB\u5316|\u63D2\u4EF6\u641C\u7D22/i;
|
|
14766
14801
|
function removeCodeBlocks(text) {
|
|
14767
14802
|
return text.replace(CODE_BLOCK_PATTERN, "").replace(INLINE_CODE_PATTERN, "");
|
|
14768
14803
|
}
|
|
@@ -14773,7 +14808,8 @@ var KEYWORD_DEFS = [
|
|
|
14773
14808
|
{ pattern: ULTRAWORK_PATTERN, type: "ultrawork", getMessage: () => ULTRAWORK_MESSAGE },
|
|
14774
14809
|
{ pattern: SEARCH_PATTERN, type: "search", getMessage: () => SEARCH_MESSAGE },
|
|
14775
14810
|
{ pattern: ANALYZE_PATTERN, type: "analyze", getMessage: () => ANALYZE_MESSAGE },
|
|
14776
|
-
{ pattern: THINK_PATTERN, type: "think", getMessage: () => THINK_MESSAGE }
|
|
14811
|
+
{ pattern: THINK_PATTERN, type: "think", getMessage: () => THINK_MESSAGE },
|
|
14812
|
+
{ pattern: EVOLVE_PATTERN, type: "evolve", getMessage: () => EVOLVE_MESSAGE }
|
|
14777
14813
|
];
|
|
14778
14814
|
function detectKeywords(text) {
|
|
14779
14815
|
const clean = removeCodeBlocks(text);
|
|
@@ -14863,6 +14899,33 @@ IF COMPLEX \u2014 DO NOT STRUGGLE ALONE. Consult specialists:
|
|
|
14863
14899
|
|
|
14864
14900
|
SYNTHESIZE findings before proceeding.`;
|
|
14865
14901
|
var THINK_MESSAGE = `Extended thinking enabled. Take your time to reason thoroughly.`;
|
|
14902
|
+
var EVOLVE_MESSAGE = `[evolve-mode] SELF-IMPROVEMENT CYCLE ACTIVATED.
|
|
14903
|
+
|
|
14904
|
+
## MISSION
|
|
14905
|
+
Search the OpenCode plugin ecosystem, find what others have built, and identify gaps in opencode-ultra.
|
|
14906
|
+
|
|
14907
|
+
## STEPS
|
|
14908
|
+
1. **SCOUT** \u2014 Spawn the **scout** agent to search npm/GitHub for OpenCode plugins
|
|
14909
|
+
2. **READ SELF** \u2014 Read opencode-ultra's own README.md and key source files to know current capabilities
|
|
14910
|
+
3. **COMPARE** \u2014 Generate a structured gap analysis (what we have vs what we're missing)
|
|
14911
|
+
4. **PRIORITIZE** \u2014 Rank missing features by impact (high/medium/low)
|
|
14912
|
+
5. **PROPOSE** \u2014 Present improvement plan to the user
|
|
14913
|
+
6. **SAVE** \u2014 Save findings to a continuity ledger via ledger_save for future reference
|
|
14914
|
+
|
|
14915
|
+
## EXECUTION
|
|
14916
|
+
\`\`\`
|
|
14917
|
+
spawn_agent({
|
|
14918
|
+
agents: [
|
|
14919
|
+
{agent: "scout", prompt: "Search npm and GitHub for OpenCode 1.2.x plugins. Find all published plugins, analyze features, compare with opencode-ultra.", description: "Plugin ecosystem scan"},
|
|
14920
|
+
{agent: "explore", prompt: "Read opencode-ultra's README.md, src/index.ts, src/agents/index.ts to catalog current features", description: "Self-analysis"}
|
|
14921
|
+
]
|
|
14922
|
+
})
|
|
14923
|
+
\`\`\`
|
|
14924
|
+
|
|
14925
|
+
After gathering results, synthesize into a gap analysis and present to the user.
|
|
14926
|
+
Save the analysis via: ledger_save({name: "evolve-scan-YYYY-MM-DD", content: "..."})
|
|
14927
|
+
|
|
14928
|
+
**This is how opencode-ultra gets better \u2014 by knowing what it doesn't know.**`;
|
|
14866
14929
|
|
|
14867
14930
|
// src/hooks/rules-injector.ts
|
|
14868
14931
|
import * as fs2 from "fs";
|
package/package.json
CHANGED