@liangjie559567/ultrapower 7.2.0 → 7.4.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.
Files changed (92) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/agents/AGENTS.md +1 -1
  4. package/bridge/AGENTS.md +1 -1
  5. package/bridge/codex-server.cjs +2 -2
  6. package/bridge/gemini-server.cjs +1 -1
  7. package/bridge/mcp-server.cjs +17 -1
  8. package/commands/AGENTS.md +1 -1
  9. package/dist/cli/utils/setup.d.ts.map +1 -1
  10. package/dist/cli/utils/setup.js +19 -1
  11. package/dist/cli/utils/setup.js.map +1 -1
  12. package/dist/cli/utils/update.d.ts.map +1 -1
  13. package/dist/cli/utils/update.js +3 -1
  14. package/dist/cli/utils/update.js.map +1 -1
  15. package/dist/features/mcp-autodiscovery/capability-matcher.d.ts +17 -0
  16. package/dist/features/mcp-autodiscovery/capability-matcher.d.ts.map +1 -0
  17. package/dist/features/mcp-autodiscovery/capability-matcher.js +26 -0
  18. package/dist/features/mcp-autodiscovery/capability-matcher.js.map +1 -0
  19. package/dist/features/mcp-autodiscovery/config-injector.d.ts +11 -0
  20. package/dist/features/mcp-autodiscovery/config-injector.d.ts.map +1 -0
  21. package/dist/features/mcp-autodiscovery/config-injector.js +28 -0
  22. package/dist/features/mcp-autodiscovery/config-injector.js.map +1 -0
  23. package/dist/features/mcp-autodiscovery/index.d.ts +6 -0
  24. package/dist/features/mcp-autodiscovery/index.d.ts.map +1 -0
  25. package/dist/features/mcp-autodiscovery/index.js +5 -0
  26. package/dist/features/mcp-autodiscovery/index.js.map +1 -0
  27. package/dist/features/mcp-autodiscovery/installer.d.ts +10 -0
  28. package/dist/features/mcp-autodiscovery/installer.d.ts.map +1 -0
  29. package/dist/features/mcp-autodiscovery/installer.js +21 -0
  30. package/dist/features/mcp-autodiscovery/installer.js.map +1 -0
  31. package/dist/features/mcp-autodiscovery/registry-client.d.ts +9 -0
  32. package/dist/features/mcp-autodiscovery/registry-client.d.ts.map +1 -0
  33. package/dist/features/mcp-autodiscovery/registry-client.js +34 -0
  34. package/dist/features/mcp-autodiscovery/registry-client.js.map +1 -0
  35. package/dist/features/mcp-autodiscovery/types.d.ts +19 -0
  36. package/dist/features/mcp-autodiscovery/types.d.ts.map +1 -0
  37. package/dist/features/mcp-autodiscovery/types.js +2 -0
  38. package/dist/features/mcp-autodiscovery/types.js.map +1 -0
  39. package/dist/features/unified-context/context-manager.d.ts +24 -0
  40. package/dist/features/unified-context/context-manager.d.ts.map +1 -0
  41. package/dist/features/unified-context/context-manager.js +59 -0
  42. package/dist/features/unified-context/context-manager.js.map +1 -0
  43. package/dist/features/unified-context/index.d.ts +3 -0
  44. package/dist/features/unified-context/index.d.ts.map +1 -0
  45. package/dist/features/unified-context/index.js +3 -0
  46. package/dist/features/unified-context/index.js.map +1 -0
  47. package/dist/features/unified-context/mcp-memory-client.d.ts +14 -0
  48. package/dist/features/unified-context/mcp-memory-client.d.ts.map +1 -0
  49. package/dist/features/unified-context/mcp-memory-client.js +68 -0
  50. package/dist/features/unified-context/mcp-memory-client.js.map +1 -0
  51. package/dist/lib/atomic-write.d.ts.map +1 -1
  52. package/dist/lib/atomic-write.js +21 -2
  53. package/dist/lib/atomic-write.js.map +1 -1
  54. package/dist/lib/upgrade.d.ts +12 -0
  55. package/dist/lib/upgrade.d.ts.map +1 -0
  56. package/dist/lib/upgrade.js +119 -0
  57. package/dist/lib/upgrade.js.map +1 -0
  58. package/dist/mcp/adapters/memory-adapter.d.ts +2 -2
  59. package/dist/mcp/adapters/state-adapter.d.ts +4 -4
  60. package/dist/mcp/adapters/trace-adapter.d.ts +1 -1
  61. package/dist/team/message-router.d.ts +2 -2
  62. package/dist/team/message-router.d.ts.map +1 -1
  63. package/dist/team/message-router.js +4 -4
  64. package/dist/team/message-router.js.map +1 -1
  65. package/dist/team/task-router.d.ts +1 -1
  66. package/dist/team/task-router.d.ts.map +1 -1
  67. package/dist/team/task-router.js +2 -2
  68. package/dist/team/task-router.js.map +1 -1
  69. package/dist/team/unified-team.d.ts +4 -1
  70. package/dist/team/unified-team.d.ts.map +1 -1
  71. package/dist/team/unified-team.js +17 -8
  72. package/dist/team/unified-team.js.map +1 -1
  73. package/docs/AGENTS.md +4 -3
  74. package/docs/CLAUDE.md +1 -1
  75. package/docs/INSTALL.md +47 -7
  76. package/docs/REFERENCE.md +1 -1
  77. package/docs/UPGRADE.md +88 -0
  78. package/docs/UPGRADE_VERIFICATION.md +6 -6
  79. package/docs/dev-standards/AGENTS.md +68 -0
  80. package/docs/mcp-intelligent-orchestration.md +302 -0
  81. package/docs/migration/v6.0.0.md +2 -2
  82. package/docs/plans/2026-03-14-mcp-intelligent-orchestration.md +679 -0
  83. package/docs/standards/README.md +1 -1
  84. package/hooks/AGENTS.md +1 -1
  85. package/package.json +1 -1
  86. package/scripts/AGENTS.md +1 -1
  87. package/scripts/plugin-setup.mjs +23 -22
  88. package/scripts/upgrade-complete.sh +34 -0
  89. package/scripts/upgrade.mjs +158 -0
  90. package/skills/AGENTS.md +3 -2
  91. package/templates/AGENTS.md +1 -1
  92. package/templates/hooks/session-start.mjs +2 -2
@@ -528,13 +528,30 @@ function semverCompare(a, b) {
528
528
  async function main() {
529
529
  const home = homedir();
530
530
 
531
- // 1. Try plugin cache first (marketplace: omc, plugin: ultrapower)
531
+ // 1. Try marketplace path first
532
+ const marketplacePath = join(home, ".claude/plugins/marketplaces/omc/dist/hud/index.js");
533
+ if (existsSync(marketplacePath)) {
534
+ try {
535
+ await import(pathToFileURL(marketplacePath).href);
536
+ return;
537
+ } catch { /* continue */ }
538
+ }
539
+
540
+ // 2. Try npm-cache path
541
+ const npmCachePath = join(home, ".claude/plugins/npm-cache/node_modules/@liangjie559567/ultrapower/dist/hud/index.js");
542
+ if (existsSync(npmCachePath)) {
543
+ try {
544
+ await import(pathToFileURL(npmCachePath).href);
545
+ return;
546
+ } catch { /* continue */ }
547
+ }
548
+
549
+ // 3. Try plugin cache (marketplace: omc, plugin: ultrapower)
532
550
  const pluginCacheBase = join(home, ".claude/plugins/cache/omc/ultrapower");
533
551
  if (existsSync(pluginCacheBase)) {
534
552
  try {
535
553
  const versions = readdirSync(pluginCacheBase);
536
554
  if (versions.length > 0) {
537
- // Filter to only versions with built dist/hud/index.js
538
555
  const builtVersions = versions.filter(v => {
539
556
  const hudPath = join(pluginCacheBase, v, "dist/hud/index.js");
540
557
  return existsSync(hudPath);
@@ -549,24 +566,7 @@ async function main() {
549
566
  } catch { /* continue */ }
550
567
  }
551
568
 
552
- // 2. Development paths
553
- const devPaths = [
554
- join(home, "Workspace/ultrapower/dist/hud/index.js"),
555
- join(home, "workspace/ultrapower/dist/hud/index.js"),
556
- join(home, "Workspace/ultrapower/dist/hud/index.js"),
557
- join(home, "workspace/ultrapower/dist/hud/index.js"),
558
- ];
559
-
560
- for (const devPath of devPaths) {
561
- if (existsSync(devPath)) {
562
- try {
563
- await import(devPath);
564
- return;
565
- } catch { /* continue */ }
566
- }
567
- }
568
-
569
- // 3. Fallback
569
+ // 4. Fallback
570
570
  console.log("[OMC] run /omc-setup to install properly");
571
571
  }
572
572
 
@@ -586,10 +586,11 @@ try {
586
586
  settings = JSON.parse(readFileSync(SETTINGS_FILE, 'utf-8'));
587
587
  }
588
588
 
589
- // Update statusLine to use new HUD path
589
+ // Update statusLine to use new HUD path (use forward slashes for cross-platform compatibility)
590
+ const hudCommand = hudScriptPath.replace(/\\/g, '/');
590
591
  settings.statusLine = {
591
592
  type: 'command',
592
- command: `node ${hudScriptPath}`
593
+ command: `node "${hudCommand}"`
593
594
  };
594
595
  writeFileSync(SETTINGS_FILE, JSON.stringify(settings, null, 2));
595
596
  console.log('[OMC] Configured HUD statusLine in settings.json');
@@ -0,0 +1,34 @@
1
+ #!/bin/bash
2
+ # Complete upgrade script for ultrapower
3
+ # Updates all components: npm package, plugin cache, MCP config, hooks
4
+
5
+ set -e
6
+
7
+ echo "🚀 Starting complete ultrapower upgrade..."
8
+
9
+ # Step 1: Update npm global package
10
+ echo "📦 Step 1/5: Updating npm global package..."
11
+ npm install -g @liangjie559567/ultrapower@latest
12
+
13
+ # Step 2: Clear plugin cache
14
+ echo "🗑️ Step 2/5: Clearing plugin cache..."
15
+ rm -rf ~/.claude/plugins/cache/omc/ultrapower
16
+
17
+ # Step 3: Run omc setup to sync hooks and CLAUDE.md
18
+ echo "⚙️ Step 3/5: Running omc setup..."
19
+ omc setup
20
+
21
+ # Step 4: Clear update check cache
22
+ echo "🔄 Step 4/5: Clearing update check cache..."
23
+ rm -f ~/.omc/update-check-cache.json
24
+
25
+ # Step 5: Verify installation
26
+ echo "✅ Step 5/5: Verifying installation..."
27
+ INSTALLED_VERSION=$(omc --version 2>&1 | grep -oP '\d+\.\d+\.\d+' | head -1)
28
+ echo "Installed version: $INSTALLED_VERSION"
29
+
30
+ echo ""
31
+ echo "✨ Upgrade complete!"
32
+ echo ""
33
+ echo "⚠️ IMPORTANT: Please restart your Claude Code session to load the new plugin version."
34
+ echo ""
@@ -0,0 +1,158 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ultrapower Upgrade Script
4
+ *
5
+ * Handles complete upgrade workflow:
6
+ * - Detects installation method (npm global, marketplace, local)
7
+ * - Updates all components (dist, bridge, cache, config)
8
+ * - Clears Claude Code caches
9
+ * - Updates version metadata
10
+ */
11
+
12
+ import { execSync } from 'child_process';
13
+ import { existsSync, readFileSync, writeFileSync, rmSync, mkdirSync } from 'fs';
14
+ import { join, dirname } from 'path';
15
+ import { homedir } from 'os';
16
+ import { fileURLToPath } from 'url';
17
+
18
+ const __filename = fileURLToPath(import.meta.url);
19
+ const __dirname = dirname(__filename);
20
+ const ROOT = join(__dirname, '..');
21
+
22
+ const CLAUDE_DIR = process.env.CLAUDE_CONFIG_DIR || join(homedir(), '.claude');
23
+
24
+ function log(msg) {
25
+ console.log(`[OMC Upgrade] ${msg}`);
26
+ }
27
+
28
+ function detectInstallMethod() {
29
+ const installedPlugins = join(CLAUDE_DIR, 'plugins', 'installed_plugins.json');
30
+ if (existsSync(installedPlugins)) {
31
+ const data = JSON.parse(readFileSync(installedPlugins, 'utf-8'));
32
+ const plugin = data.plugins?.['ultrapower@omc']?.[0];
33
+ if (plugin) {
34
+ if (plugin.installPath.includes('Desktop') || plugin.installPath.includes('dev')) {
35
+ return 'local';
36
+ }
37
+ return 'marketplace';
38
+ }
39
+ }
40
+
41
+ try {
42
+ execSync('npm list -g @liangjie559567/ultrapower', { stdio: 'pipe' });
43
+ return 'npm-global';
44
+ } catch {
45
+ return 'unknown';
46
+ }
47
+ }
48
+
49
+ function getCurrentVersion() {
50
+ const pkg = JSON.parse(readFileSync(join(ROOT, 'package.json'), 'utf-8'));
51
+ return pkg.version;
52
+ }
53
+
54
+ function clearCaches() {
55
+ log('Clearing caches...');
56
+
57
+ const cachePaths = [
58
+ join(CLAUDE_DIR, 'plugins', 'cache', 'omc'),
59
+ join(CLAUDE_DIR, 'plugins', 'cache', 'liangjie559567'),
60
+ join(CLAUDE_DIR, 'plugins', 'npm-cache'),
61
+ join(ROOT, '.tsbuildinfo')
62
+ ];
63
+
64
+ for (const path of cachePaths) {
65
+ if (existsSync(path)) {
66
+ rmSync(path, { recursive: true, force: true });
67
+ log(` Cleared: ${path}`);
68
+ }
69
+ }
70
+ }
71
+
72
+ function rebuild() {
73
+ log('Rebuilding project...');
74
+ execSync('npm run build', { cwd: ROOT, stdio: 'inherit' });
75
+ }
76
+
77
+ function updateMetadata(version, installPath) {
78
+ log('Updating metadata...');
79
+
80
+ // Update .omc-version.json
81
+ const versionFile = join(CLAUDE_DIR, '.omc-version.json');
82
+ writeFileSync(versionFile, JSON.stringify({
83
+ version,
84
+ installedAt: new Date().toISOString(),
85
+ installMethod: 'upgrade',
86
+ lastCheckAt: new Date().toISOString()
87
+ }, null, 2));
88
+
89
+ // Update installed_plugins.json
90
+ const installedFile = join(CLAUDE_DIR, 'plugins', 'installed_plugins.json');
91
+ if (existsSync(installedFile)) {
92
+ const data = JSON.parse(readFileSync(installedFile, 'utf-8'));
93
+ if (!data.plugins) data.plugins = {};
94
+ data.plugins['ultrapower@omc'] = [{
95
+ scope: 'user',
96
+ installPath,
97
+ version,
98
+ installedAt: new Date().toISOString(),
99
+ lastUpdated: new Date().toISOString()
100
+ }];
101
+ writeFileSync(installedFile, JSON.stringify(data, null, 2));
102
+ }
103
+ }
104
+
105
+ async function main() {
106
+ log('Starting upgrade...');
107
+
108
+ const method = detectInstallMethod();
109
+ const version = getCurrentVersion();
110
+
111
+ log(`Install method: ${method}`);
112
+ log(`Target version: ${version}`);
113
+
114
+ // Step 1: Clear caches
115
+ clearCaches();
116
+
117
+ // Step 2: Rebuild
118
+ rebuild();
119
+
120
+ // Step 3: Install based on method
121
+ let installPath = ROOT;
122
+
123
+ if (method === 'npm-global') {
124
+ log('Installing globally...');
125
+ execSync('npm install -g .', { cwd: ROOT, stdio: 'inherit' });
126
+ } else if (method === 'marketplace') {
127
+ log('Updating marketplace installation...');
128
+ const marketplacePath = join(CLAUDE_DIR, 'plugins', 'marketplaces', 'omc');
129
+ if (existsSync(marketplacePath)) {
130
+ // Update package.json version
131
+ const pkgPath = join(marketplacePath, 'package.json');
132
+ if (existsSync(pkgPath)) {
133
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
134
+ pkg.version = version;
135
+ writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));
136
+ }
137
+ // Update plugin.json version
138
+ const pluginPath = join(marketplacePath, '.claude-plugin', 'plugin.json');
139
+ if (existsSync(pluginPath)) {
140
+ const plugin = JSON.parse(readFileSync(pluginPath, 'utf-8'));
141
+ plugin.version = version;
142
+ writeFileSync(pluginPath, JSON.stringify(plugin, null, 2));
143
+ }
144
+ log(' Updated marketplace files');
145
+ }
146
+ }
147
+
148
+ // Step 4: Update metadata
149
+ updateMetadata(version, installPath);
150
+
151
+ log('✅ Upgrade complete!');
152
+ log('Please restart Claude Code for changes to take effect.');
153
+ }
154
+
155
+ main().catch(err => {
156
+ console.error('[OMC Upgrade] Error:', err);
157
+ process.exit(1);
158
+ });
package/skills/AGENTS.md CHANGED
@@ -1,10 +1,11 @@
1
- <!-- Generated: 2026-01-28 | Updated: 2026-03-05 -->
1
+ <!-- Parent: ../AGENTS.md -->
2
+ <!-- Generated: 2026-03-14 | Updated: 2026-03-14 -->
2
3
 
3
4
  # skills/ - 工作流 Skills 系统
4
5
 
5
6
  **用途:** 71 个工作流 skills 的定义和实现。每个 skill 对应一个工作流模式或执行模式。
6
7
 
7
- **版本:** 5.5.14
8
+ **版本:** 7.2.0
8
9
 
9
10
  ## 关键文件
10
11
 
@@ -1,5 +1,5 @@
1
1
  <!-- Parent: ../AGENTS.md -->
2
- <!-- Generated: 2026-02-27 | Updated: 2026-02-27 -->
2
+ <!-- Generated: 2026-03-14 | Updated: 2026-03-14 -->
3
3
 
4
4
  # templates/
5
5
 
@@ -221,11 +221,11 @@ async function main() {
221
221
  ultrapower v${updateInfo.latestVersion} is available (current: v${updateInfo.currentVersion}).
222
222
 
223
223
  ACTION: Use AskUserQuestion to ask the user if they want to upgrade now. Offer these options:
224
- - "Upgrade now" (Recommended): Run \`npm install -g @liangjie559567/ultrapower@latest\` via Bash, then run \`omc install --force --skip-claude-check --refresh-hooks\` to reconcile hooks and CLAUDE.md
224
+ - "Upgrade now" (Recommended): Run the complete upgrade script that updates npm package, clears plugin cache, syncs hooks, and clears update cache. After upgrade completes, inform user to restart Claude Code session to load the new plugin version.
225
225
  - "Skip this time": Continue the session without upgrading
226
226
  - "Don't ask again": Tell the user to set "autoUpgradePrompt": false in ~/.claude/.omc-config.json to disable future prompts
227
227
 
228
- Keep the prompt brief. If the user accepts, execute the upgrade commands and report the result.
228
+ Keep the prompt brief. If the user accepts, execute: \`npm install -g @liangjie559567/ultrapower@latest && rm -rf ~/.claude/plugins/cache/omc/ultrapower && omc setup && rm -f ~/.omc/update-check-cache.json\`, report the result, and remind user to restart Claude Code session.
229
229
 
230
230
  </session-restore>
231
231