@liangjie559567/ultrapower 5.2.1 → 5.2.3

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 (44) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +49 -1
  3. package/dist/__tests__/plugin-registry.test.d.ts +2 -0
  4. package/dist/__tests__/plugin-registry.test.d.ts.map +1 -0
  5. package/dist/__tests__/plugin-registry.test.js +233 -0
  6. package/dist/__tests__/plugin-registry.test.js.map +1 -0
  7. package/dist/agents/definitions.d.ts +1 -1
  8. package/dist/agents/definitions.js +1 -1
  9. package/dist/agents/index.d.ts +0 -1
  10. package/dist/agents/index.d.ts.map +1 -1
  11. package/dist/agents/index.js +0 -2
  12. package/dist/agents/index.js.map +1 -1
  13. package/dist/analytics/metrics-collector.d.ts +1 -0
  14. package/dist/analytics/metrics-collector.d.ts.map +1 -1
  15. package/dist/analytics/metrics-collector.js +33 -0
  16. package/dist/analytics/metrics-collector.js.map +1 -1
  17. package/dist/analytics/query-engine.d.ts.map +1 -1
  18. package/dist/analytics/query-engine.js +3 -2
  19. package/dist/analytics/query-engine.js.map +1 -1
  20. package/dist/cli/index.js +24 -0
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/launch.d.ts.map +1 -1
  23. package/dist/cli/launch.js +2 -3
  24. package/dist/cli/launch.js.map +1 -1
  25. package/dist/features/auto-update.d.ts.map +1 -1
  26. package/dist/features/auto-update.js +70 -6
  27. package/dist/features/auto-update.js.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/plugin-registry.d.ts +42 -0
  33. package/dist/lib/plugin-registry.d.ts.map +1 -0
  34. package/dist/lib/plugin-registry.js +169 -0
  35. package/dist/lib/plugin-registry.js.map +1 -0
  36. package/docs/CLAUDE.md +1 -1
  37. package/docs/EVOLUTION.md +605 -0
  38. package/docs/INSTALL.md +542 -0
  39. package/docs/NEXUS.md +562 -0
  40. package/docs/REFERENCE.md +32 -1
  41. package/package.json +1 -1
  42. package/scripts/plugin-setup.mjs +18 -10
  43. package/skills/omc-setup/SKILL.md +68 -0
  44. package/skills/release/SKILL.md +2 -0
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Plugin registry synchronization utilities for ultrapower.
3
+ *
4
+ * IMPORTANT: This module must NOT import from auto-update.ts or installer/index.ts
5
+ * to prevent circular dependencies. Callers must pass any context (e.g. isProjectScoped)
6
+ * as parameters. See installer/index.ts lines 97-98 for context.
7
+ */
8
+ export interface SyncOptions {
9
+ newVersion: string;
10
+ /** If true, skip sync (caller determined plugin is project-scoped). */
11
+ skipIfProjectScoped?: boolean;
12
+ }
13
+ export interface SyncResult {
14
+ success: boolean;
15
+ skipped?: boolean;
16
+ previousVersion?: string;
17
+ newVersion: string;
18
+ registryPath: string;
19
+ errors?: string[];
20
+ }
21
+ export interface ConsistencyReport {
22
+ consistent: boolean;
23
+ packageJsonVersion: string;
24
+ versionMetadataVersion: string | null;
25
+ registryVersion: string | null;
26
+ discrepancies: string[];
27
+ fixCommand?: string;
28
+ isUpdating?: boolean;
29
+ }
30
+ /**
31
+ * Sync the version field in installed_plugins.json for ultrapower.
32
+ * Only updates `version` and `lastUpdated`; does not modify `installPath`.
33
+ */
34
+ export declare function syncPluginRegistry(options: SyncOptions): SyncResult;
35
+ /**
36
+ * Check version consistency across three sources:
37
+ * 1. package.json (runtime)
38
+ * 2. installed_plugins.json (registry)
39
+ * 3. version.json in plugin cache
40
+ */
41
+ export declare function checkVersionConsistency(): ConsistencyReport;
42
+ //# sourceMappingURL=plugin-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/lib/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA8ED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAqCnE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CA8C3D"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Plugin registry synchronization utilities for ultrapower.
3
+ *
4
+ * IMPORTANT: This module must NOT import from auto-update.ts or installer/index.ts
5
+ * to prevent circular dependencies. Callers must pass any context (e.g. isProjectScoped)
6
+ * as parameters. See installer/index.ts lines 97-98 for context.
7
+ */
8
+ import { readFileSync, existsSync } from 'fs';
9
+ import { join, dirname } from 'path';
10
+ import { homedir } from 'os';
11
+ import { fileURLToPath } from 'url';
12
+ import { atomicWriteJsonSync } from './atomic-write.js';
13
+ // ---- Constants ----
14
+ const PLUGIN_KEY = 'ultrapower@ultrapower';
15
+ const REGISTRY_PATH = join(homedir(), '.claude', 'plugins', 'installed_plugins.json');
16
+ // ---- Internal helpers ----
17
+ /**
18
+ * Read the installed_plugins.json entry for ultrapower.
19
+ * Returns null if file doesn't exist or entry not found.
20
+ */
21
+ function getInstalledPluginEntry() {
22
+ try {
23
+ if (!existsSync(REGISTRY_PATH)) {
24
+ return null;
25
+ }
26
+ const raw = readFileSync(REGISTRY_PATH, 'utf-8');
27
+ const registry = JSON.parse(raw);
28
+ const entries = registry?.plugins?.[PLUGIN_KEY];
29
+ if (!Array.isArray(entries) || entries.length === 0) {
30
+ return null;
31
+ }
32
+ return entries[0];
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /**
39
+ * Get the runtime package.json version.
40
+ * Walks up from __dirname to find package.json.
41
+ */
42
+ function getPackageJsonVersion() {
43
+ try {
44
+ const __filename = fileURLToPath(import.meta.url);
45
+ const __dir = dirname(__filename);
46
+ for (let i = 0; i < 5; i++) {
47
+ const candidate = join(__dir, ...Array(i + 1).fill('..'), 'package.json');
48
+ try {
49
+ const pkg = JSON.parse(readFileSync(candidate, 'utf-8'));
50
+ if (pkg.name && pkg.version) {
51
+ return pkg.version;
52
+ }
53
+ }
54
+ catch {
55
+ continue;
56
+ }
57
+ }
58
+ }
59
+ catch {
60
+ // ignore
61
+ }
62
+ return 'unknown';
63
+ }
64
+ /**
65
+ * Read version from version metadata file in plugin cache.
66
+ * Path: ~/.claude/plugins/cache/ultrapower/ultrapower/{version}/version.json
67
+ */
68
+ function getVersionMetadataVersion(registryVersion) {
69
+ if (!registryVersion)
70
+ return null;
71
+ try {
72
+ const versionJsonPath = join(homedir(), '.claude', 'plugins', 'cache', 'ultrapower', 'ultrapower', registryVersion, 'version.json');
73
+ if (!existsSync(versionJsonPath))
74
+ return null;
75
+ const raw = readFileSync(versionJsonPath, 'utf-8');
76
+ const data = JSON.parse(raw);
77
+ return data?.version ?? null;
78
+ }
79
+ catch {
80
+ return null;
81
+ }
82
+ }
83
+ // ---- Public API ----
84
+ /**
85
+ * Sync the version field in installed_plugins.json for ultrapower.
86
+ * Only updates `version` and `lastUpdated`; does not modify `installPath`.
87
+ */
88
+ export function syncPluginRegistry(options) {
89
+ const { newVersion, skipIfProjectScoped } = options;
90
+ if (skipIfProjectScoped) {
91
+ return { success: true, skipped: true, newVersion, registryPath: REGISTRY_PATH };
92
+ }
93
+ const entry = getInstalledPluginEntry();
94
+ if (entry === null) {
95
+ // File doesn't exist or key not found — check which case
96
+ if (!existsSync(REGISTRY_PATH)) {
97
+ return { success: true, skipped: true, newVersion, registryPath: REGISTRY_PATH };
98
+ }
99
+ // File exists but key not found
100
+ return {
101
+ success: false,
102
+ newVersion,
103
+ registryPath: REGISTRY_PATH,
104
+ errors: [`Entry '${PLUGIN_KEY}' not found in registry`],
105
+ };
106
+ }
107
+ const previousVersion = entry.version;
108
+ try {
109
+ const raw = readFileSync(REGISTRY_PATH, 'utf-8');
110
+ const registry = JSON.parse(raw);
111
+ const entries = registry.plugins[PLUGIN_KEY];
112
+ entries[0].version = newVersion;
113
+ entries[0].lastUpdated = new Date().toISOString();
114
+ atomicWriteJsonSync(REGISTRY_PATH, registry);
115
+ return { success: true, previousVersion, newVersion, registryPath: REGISTRY_PATH };
116
+ }
117
+ catch (err) {
118
+ const msg = err instanceof Error ? err.message : String(err);
119
+ return { success: false, newVersion, registryPath: REGISTRY_PATH, errors: [msg] };
120
+ }
121
+ }
122
+ /**
123
+ * Check version consistency across three sources:
124
+ * 1. package.json (runtime)
125
+ * 2. installed_plugins.json (registry)
126
+ * 3. version.json in plugin cache
127
+ */
128
+ export function checkVersionConsistency() {
129
+ const packageJsonVersion = getPackageJsonVersion();
130
+ const entry = getInstalledPluginEntry();
131
+ const registryVersion = entry?.version ?? null;
132
+ const versionMetadataVersion = getVersionMetadataVersion(registryVersion);
133
+ const sources = [
134
+ ['package.json', packageJsonVersion],
135
+ ['installed_plugins.json', registryVersion],
136
+ ['version metadata', versionMetadataVersion],
137
+ ];
138
+ const knownVersions = sources
139
+ .map(([, v]) => v)
140
+ .filter((v) => v !== null && v !== 'unknown');
141
+ const allSame = knownVersions.length > 0 && knownVersions.every(v => v === knownVersions[0]);
142
+ const consistent = allSame && knownVersions.length === sources.length;
143
+ const discrepancies = [];
144
+ if (!consistent) {
145
+ for (const [label, v] of sources) {
146
+ if (v === null) {
147
+ discrepancies.push(`${label}: not found`);
148
+ }
149
+ else if (v !== packageJsonVersion) {
150
+ discrepancies.push(`${label}: ${v} (expected ${packageJsonVersion})`);
151
+ }
152
+ }
153
+ }
154
+ // isUpdating: registry version differs from package.json (update in progress)
155
+ const isUpdating = registryVersion !== null && registryVersion !== packageJsonVersion;
156
+ const fixCommand = consistent
157
+ ? undefined
158
+ : '/plugin install ultrapower # or: /update (if installed via npm)';
159
+ return {
160
+ consistent,
161
+ packageJsonVersion,
162
+ versionMetadataVersion,
163
+ registryVersion,
164
+ discrepancies,
165
+ fixCommand: consistent ? undefined : fixCommand,
166
+ isUpdating,
167
+ };
168
+ }
169
+ //# sourceMappingURL=plugin-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/lib/plugin-registry.ts"],"names":[],"mappings":"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"}
package/docs/CLAUDE.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <!-- OMC:START -->
2
- <!-- OMC:VERSION:5.2.1 -->
2
+ <!-- OMC:VERSION:5.2.2 -->
3
3
  # ultrapower - Multi-Agent Orchestration 智能多 Agent 编排
4
4
 
5
5
  你正在使用 ultrapower(OMC),这是 Claude Code 的多 agent 编排层。