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.
@@ -1,5 +1,5 @@
1
1
  export interface DetectedKeyword {
2
- type: "ultrawork" | "search" | "analyze" | "think";
2
+ type: "ultrawork" | "search" | "analyze" | "think" | "evolve";
3
3
  message: string;
4
4
  }
5
5
  export declare function removeCodeBlocks(text: string): string;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-ultra",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "Lightweight OpenCode 1.2.x plugin — ultrawork mode, multi-agent orchestration, rules injection",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",