@liangjie559567/ultrapower 7.7.0 → 7.7.1

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.
@@ -8,11 +8,11 @@
8
8
  {
9
9
  "name": "ultrapower",
10
10
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
11
- "version": "7.7.0",
11
+ "version": "7.7.1",
12
12
  "source": {
13
13
  "source": "npm",
14
14
  "package": "@liangjie559567/ultrapower",
15
- "version": "7.7.0"
15
+ "version": "7.7.1"
16
16
  },
17
17
  "author": {
18
18
  "name": "liangjie559567"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ultrapower",
3
3
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
4
- "version": "7.7.0",
4
+ "version": "7.7.1",
5
5
  "author": {
6
6
  "name": "liangjie559567"
7
7
  },
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ultrapower v7.7.0
1
+ # ultrapower v7.7.1
2
2
 
3
3
  ultrapower 是 Claude Code 的智能多 Agent 编排层(OMC),在 superpowers 工作流基础上深度融合了 Axiom 框架,提供 **49 个专业 agents**、**71 个 skills** 和完整的 TypeScript hooks 系统。
4
4
 
@@ -79,7 +79,7 @@ autopilot "创建一个 hello world 函数"
79
79
 
80
80
  ### 安全加固
81
81
 
82
- ultrapower v7.7.0 包含全面的安全加固:
82
+ ultrapower v7.7.1 包含全面的安全加固:
83
83
 
84
84
  - **状态文件保护**:原子写入 + 并发队列,防止竞态条件
85
85
  - **输入验证**:原型污染防护,拒绝 `__proto__`/`constructor`/`prototype`
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-normalize.d.ts","sourceRoot":"","sources":["../../src/hooks/bridge-normalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuDnD,6DAA6D;AAC7D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAA2C,CAAC;AAqCjE,qEAAqE;AACrE,QAAA,MAAM,eAAe,aAKnB,CAAC;AAEH,oFAAoF;AACpF,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAgB9C,CAAC;AAEF,iEAAiE;AACjE,QAAA,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAG3C,CAAC;AAEF,2EAA2E;AAC3E,QAAA,MAAM,YAAY,aAYhB,CAAC;AAeH,8EAA8E;AAC9E,iBAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAYjE;AA6DD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAyC7E;AA8HD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"bridge-normalize.d.ts","sourceRoot":"","sources":["../../src/hooks/bridge-normalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuDnD,6DAA6D;AAC7D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAA2C,CAAC;AAqCjE,qEAAqE;AACrE,QAAA,MAAM,eAAe,aAKnB,CAAC;AAEH,oFAAoF;AACpF,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAgB9C,CAAC;AAEF,iEAAiE;AACjE,QAAA,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAG3C,CAAC;AAEF,2EAA2E;AAC3E,QAAA,MAAM,YAAY,aAYhB,CAAC;AAeH,8EAA8E;AAC9E,iBAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAYjE;AAgHD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CA8B7E;AAoHD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { z } from 'zod';
13
13
  import * as logger from '../lib/logger.js';
14
- import { auditLog } from '../lib/auditLog.js';
14
+ import { logAuditEvent } from '../lib/auditLog.js';
15
15
  // --- Zod schemas for hook input validation ---
16
16
  /** Base schema fields */
17
17
  const baseSchemaFields = {
@@ -134,6 +134,21 @@ function isAlreadyCamelCase(obj) {
134
134
  * Handle fast-path normalization for already-camelCase input
135
135
  */
136
136
  function normalizeFastPath(rawObj, hookType) {
137
+ const isSensitive = hookType != null && SENSITIVE_HOOKS.has(hookType);
138
+ // Block prototype pollution in fast path
139
+ checkPrototypePollution(rawObj, hookType);
140
+ // For sensitive hooks, validate types even in fast path
141
+ if (isSensitive) {
142
+ if (rawObj.sessionId !== undefined && typeof rawObj.sessionId !== 'string') {
143
+ throw new Error(`[bridge-normalize] Zod validation failed: sessionId - Expected string, received ${typeof rawObj.sessionId}`);
144
+ }
145
+ if (rawObj.toolName !== undefined && typeof rawObj.toolName !== 'string') {
146
+ throw new Error(`[bridge-normalize] Zod validation failed: toolName - Expected string, received ${typeof rawObj.toolName}`);
147
+ }
148
+ if (rawObj.directory !== undefined && typeof rawObj.directory !== 'string') {
149
+ throw new Error(`[bridge-normalize] Zod validation failed: directory - Expected string, received ${typeof rawObj.directory}`);
150
+ }
151
+ }
137
152
  const normalized = {
138
153
  sessionId: rawObj.sessionId,
139
154
  toolName: rawObj.toolName,
@@ -150,6 +165,33 @@ function normalizeFastPath(rawObj, hookType) {
150
165
  }
151
166
  return normalized;
152
167
  }
168
+ /**
169
+ * Check for prototype pollution attempts (recursive, max depth 10)
170
+ */
171
+ function checkPrototypePollution(obj, hookType) {
172
+ const dangerousKeys = ['__proto__', 'constructor', 'prototype'];
173
+ const isSensitive = hookType != null && SENSITIVE_HOOKS.has(hookType);
174
+ function checkRecursive(target, path, depth) {
175
+ if (depth > 10 || !target || typeof target !== 'object')
176
+ return;
177
+ const targetObj = target;
178
+ for (const key of Object.keys(targetObj)) {
179
+ const fullPath = path ? `${path}.${key}` : key;
180
+ if (dangerousKeys.includes(key)) {
181
+ logAuditEvent('prototype_pollution_attempt', 'critical', { hookType, field: fullPath });
182
+ if (isSensitive) {
183
+ throw new Error(`Prototype pollution attempt blocked in field: ${fullPath}`);
184
+ }
185
+ delete targetObj[key];
186
+ continue;
187
+ }
188
+ if (isSensitive && !Array.isArray(targetObj[key])) {
189
+ checkRecursive(targetObj[key], fullPath, depth + 1);
190
+ }
191
+ }
192
+ }
193
+ checkRecursive(obj, '', 0);
194
+ }
153
195
  /**
154
196
  * Validate input with Zod schema
155
197
  */
@@ -199,20 +241,10 @@ export function normalizeHookInput(raw, hookType) {
199
241
  }
200
242
  const rawObj = raw;
201
243
  const isSensitive = hookType != null && SENSITIVE_HOOKS.has(hookType);
202
- // Fast path for already-camelCase non-sensitive input only
203
- // Sensitive hooks MUST go through full Zod validation + whitelist filtering
204
- if (!isSensitive && isAlreadyCamelCase(rawObj)) {
244
+ // Fast path for already-camelCase input (both sensitive and non-sensitive)
245
+ if (isAlreadyCamelCase(rawObj)) {
205
246
  return normalizeFastPath(rawObj, hookType);
206
247
  }
207
- // Audit suspicious camelCase input on sensitive hooks
208
- if (isSensitive && isAlreadyCamelCase(rawObj)) {
209
- auditLog('security', {
210
- timestamp: new Date().toISOString(),
211
- event: 'validation_failed',
212
- severity: 'medium',
213
- details: { hookType, reason: 'camelCase input on sensitive hook bypassed fast-path' },
214
- });
215
- }
216
248
  // Pre-filter sensitive hooks before validation
217
249
  const inputToValidate = isSensitive
218
250
  ? preFilterSensitiveInput(rawObj, hookType)
@@ -246,27 +278,17 @@ function validateRequiredKeys(normalized, hookType) {
246
278
  * Also blocks prototype pollution attempts.
247
279
  */
248
280
  function preFilterSensitiveInput(input, hookType) {
281
+ // Check for prototype pollution first
282
+ checkPrototypePollution(input, hookType);
249
283
  const whitelist = STRICT_WHITELIST[hookType] || [];
250
284
  const filtered = {};
251
285
  const droppedKeys = [];
252
- const dangerousKeys = ['__proto__', 'constructor', 'prototype'];
253
286
  // Include all base schema fields (both snake_case and camelCase)
254
287
  const allowedKeys = new Set([
255
288
  ...Object.keys(baseSchemaFields),
256
289
  ...whitelist,
257
290
  ]);
258
291
  for (const [key, value] of Object.entries(input)) {
259
- // Block prototype pollution
260
- if (dangerousKeys.includes(key)) {
261
- auditLog('security', {
262
- timestamp: new Date().toISOString(),
263
- event: 'prototype_pollution_attempt',
264
- severity: 'high',
265
- details: { hookType, field: key },
266
- });
267
- droppedKeys.push(key);
268
- continue;
269
- }
270
292
  if (allowedKeys.has(key)) {
271
293
  filtered[key] = value;
272
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-normalize.js","sourceRoot":"","sources":["../../src/hooks/bridge-normalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-normalize.js","sourceRoot":"","sources":["../../src/hooks/bridge-normalize.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- export type SecurityEventType = 'validation_failed' | 'prototype_pollution_attempt' | 'redos_detected' | 'unauthorized_field';
2
- export type Severity = 'low' | 'medium' | 'high';
3
- export interface SecurityEvent {
1
+ export type AuditEventType = 'validation_failed' | 'prototype_pollution_attempt' | 'redos_detected' | 'unauthorized_field';
2
+ export type AuditSeverity = 'low' | 'medium' | 'high' | 'critical';
3
+ export interface AuditLogEntry {
4
4
  timestamp: string;
5
- event: SecurityEventType;
6
- severity: Severity;
5
+ eventType: AuditEventType;
6
+ severity: AuditSeverity;
7
7
  details: Record<string, unknown>;
8
- sessionId?: string;
9
8
  }
10
- export declare function auditLog(category: string, event: SecurityEvent): void;
9
+ export declare function logAuditEvent(eventType: AuditEventType, severity: AuditSeverity, details: Record<string, unknown>, workingDirectory?: string): void;
11
10
  //# sourceMappingURL=auditLog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auditLog.d.ts","sourceRoot":"","sources":["../../src/lib/auditLog.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,6BAA6B,GAC7B,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CASrE"}
1
+ {"version":3,"file":"auditLog.d.ts","sourceRoot":"","sources":["../../src/lib/auditLog.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GACtB,mBAAmB,GACnB,6BAA6B,GAC7B,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,MAAM,GACxB,IAAI,CAaN"}
@@ -1,12 +1,15 @@
1
- import { appendFileSync } from 'node:fs';
1
+ import { appendFileSync, mkdirSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- export function auditLog(category, event) {
4
- const logEntry = {
5
- ...event,
3
+ export function logAuditEvent(eventType, severity, details, workingDirectory) {
4
+ const entry = {
6
5
  timestamp: new Date().toISOString(),
7
- category,
6
+ eventType,
7
+ severity,
8
+ details
8
9
  };
9
- const logPath = join(process.cwd(), '.omc', 'audit.log');
10
- appendFileSync(logPath, JSON.stringify(logEntry) + '\n', { flag: 'a' });
10
+ const logDir = join(workingDirectory || process.cwd(), '.omc');
11
+ const logPath = join(logDir, 'audit.log');
12
+ mkdirSync(logDir, { recursive: true });
13
+ appendFileSync(logPath, JSON.stringify(entry) + '\n', 'utf8');
11
14
  }
12
15
  //# sourceMappingURL=auditLog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auditLog.js","sourceRoot":"","sources":["../../src/lib/auditLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,KAAoB;IAC7D,MAAM,QAAQ,GAAG;QACf,GAAG,KAAK;QACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ;KACT,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACzD,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"auditLog.js","sourceRoot":"","sources":["../../src/lib/auditLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiBjC,MAAM,UAAU,aAAa,CAC3B,SAAyB,EACzB,QAAuB,EACvB,OAAgC,EAChC,gBAAyB;IAEzB,MAAM,KAAK,GAAkB;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS;QACT,QAAQ;QACR,OAAO;KACR,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-validator.d.ts","sourceRoot":"","sources":["../../src/lib/path-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAkEtE"}
1
+ {"version":3,"file":"path-validator.d.ts","sourceRoot":"","sources":["../../src/lib/path-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqEtE"}
@@ -60,27 +60,27 @@ export function validatePath(userPath, baseDir) {
60
60
  // This ensures Windows-style paths (..\..\) are detected as traversal on all platforms
61
61
  normalized = normalized.replace(/\\/g, '/');
62
62
  // Vector 1: Path normalization (handles ../, ./, etc)
63
- const joined = path.join(baseDir, normalized);
64
63
  const resolvedBase = fs.realpathSync.native(baseDir);
64
+ const joined = path.join(resolvedBase, normalized);
65
65
  // Vector 3: Symlink resolution
66
66
  let resolved;
67
67
  try {
68
68
  resolved = fs.realpathSync.native(joined);
69
69
  }
70
70
  catch (_err) {
71
- // Path doesn't exist yet - validate parent directory
72
- const parent = path.dirname(joined);
73
- if (fs.existsSync(parent)) {
74
- const resolvedParent = fs.realpathSync.native(parent);
75
- if (!resolvedParent.startsWith(resolvedBase)) {
76
- throw new SecurityError('Path traversal detected via parent directory');
77
- }
78
- return path.normalize(joined);
71
+ // Path doesn't exist yet - validate using normalized joined path
72
+ const normalizedJoined = path.normalize(joined).replace(/\\/g, '/').toLowerCase();
73
+ const normalizedBase = resolvedBase.replace(/\\/g, '/').toLowerCase();
74
+ if (!normalizedJoined.startsWith(normalizedBase)) {
75
+ throw new SecurityError('Path traversal detected: path outside base directory');
79
76
  }
80
- resolved = path.normalize(joined);
77
+ // Return the normalized absolute path
78
+ return path.normalize(joined);
81
79
  }
82
- // Boundary check
83
- if (!resolved.startsWith(resolvedBase)) {
80
+ // Boundary check - normalize separators and case for cross-platform comparison
81
+ const normalizedResolved = resolved.replace(/\\/g, '/').toLowerCase();
82
+ const normalizedBase = resolvedBase.replace(/\\/g, '/').toLowerCase();
83
+ if (!normalizedResolved.startsWith(normalizedBase)) {
84
84
  throw new SecurityError('Path traversal detected: path outside base directory');
85
85
  }
86
86
  return resolved;
@@ -1 +1 @@
1
- {"version":3,"file":"path-validator.js","sourceRoot":"","sources":["../../src/lib/path-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-validator.js","sourceRoot":"","sources":["../../src/lib/path-validator.ts"],"names":[],"mappings":"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"}
package/docs/CLAUDE.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <!-- OMC:START -->
2
- <!-- OMC:VERSION:7.7.0 -->
2
+ <!-- OMC:VERSION:7.7.1 -->
3
3
 
4
4
  # ultrapower - Multi-Agent Orchestration 智能多 Agent 编排
5
5
 
package/docs/INSTALL.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ultrapower 安装部署详细教程
2
2
 
3
- ultrapower v7.6.0 完整安装指南,覆盖从零开始到完全配置的所有步骤。
3
+ ultrapower v7.7.1 完整安装指南,覆盖从零开始到完全配置的所有步骤。
4
4
 
5
5
  ---
6
6
 
@@ -102,7 +102,7 @@ git --version
102
102
 
103
103
  **预期输出:**
104
104
  ```
105
- ✓ Installing ultrapower v7.6.0...
105
+ ✓ Installing ultrapower v7.7.1...
106
106
  ✓ Hooks registered: 39
107
107
  ✓ Agents loaded: 49
108
108
  ✓ Skills available: 71
package/docs/REFERENCE.md CHANGED
@@ -1,4 +1,4 @@
1
- <!-- ultrapower v7.6.0 | updated: 2026-03-02 -->
1
+ <!-- ultrapower v7.7.1 | updated: 2026-03-02 -->
2
2
 
3
3
  # ultrapower Reference — v5.5.33
4
4
 
@@ -1130,7 +1130,7 @@ Available presets: `minimal`, `focused`, `full`, `dense`, `analytics`, `opencode
1130
1130
 
1131
1131
  ## Security Features
1132
1132
 
1133
- ultrapower v7.6.0 includes comprehensive security hardening:
1133
+ ultrapower v7.7.1 includes comprehensive security hardening:
1134
1134
 
1135
1135
  ### Audit Logging
1136
1136
 
@@ -5,7 +5,7 @@
5
5
  > **最后更新**: 2026-03-02
6
6
  > **真理之源**: `docs/standards/audit-report.md`
7
7
 
8
- ultrapower v7.6.0 具备 49 个 agents、70 个 skills、35 个 hooks 的完整体系。本规范体系从现有代码反向提取,覆盖运行时防护、Hook 执行顺序、状态机、Agent 生命周期、用户使用指南和贡献规范,使 ultrapower 从"能用"升级为"可靠、易用、可扩展"。
8
+ ultrapower v7.7.1 具备 49 个 agents、70 个 skills、35 个 hooks 的完整体系。本规范体系从现有代码反向提取,覆盖运行时防护、Hook 执行顺序、状态机、Agent 生命周期、用户使用指南和贡献规范,使 ultrapower 从"能用"升级为"可靠、易用、可扩展"。
9
9
 
10
10
  ---
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liangjie559567/ultrapower",
3
- "version": "7.7.0",
3
+ "version": "7.7.1",
4
4
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",