@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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +49 -1
- package/dist/__tests__/plugin-registry.test.d.ts +2 -0
- package/dist/__tests__/plugin-registry.test.d.ts.map +1 -0
- package/dist/__tests__/plugin-registry.test.js +233 -0
- package/dist/__tests__/plugin-registry.test.js.map +1 -0
- package/dist/agents/definitions.d.ts +1 -1
- package/dist/agents/definitions.js +1 -1
- package/dist/agents/index.d.ts +0 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +0 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/analytics/metrics-collector.d.ts +1 -0
- package/dist/analytics/metrics-collector.d.ts.map +1 -1
- package/dist/analytics/metrics-collector.js +33 -0
- package/dist/analytics/metrics-collector.js.map +1 -1
- package/dist/analytics/query-engine.d.ts.map +1 -1
- package/dist/analytics/query-engine.js +3 -2
- package/dist/analytics/query-engine.js.map +1 -1
- package/dist/cli/index.js +24 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch.d.ts.map +1 -1
- package/dist/cli/launch.js +2 -3
- package/dist/cli/launch.js.map +1 -1
- package/dist/features/auto-update.d.ts.map +1 -1
- package/dist/features/auto-update.js +70 -6
- package/dist/features/auto-update.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/plugin-registry.d.ts +42 -0
- package/dist/lib/plugin-registry.d.ts.map +1 -0
- package/dist/lib/plugin-registry.js +169 -0
- package/dist/lib/plugin-registry.js.map +1 -0
- package/docs/CLAUDE.md +1 -1
- package/docs/EVOLUTION.md +605 -0
- package/docs/INSTALL.md +542 -0
- package/docs/NEXUS.md +562 -0
- package/docs/REFERENCE.md +32 -1
- package/package.json +1 -1
- package/scripts/plugin-setup.mjs +18 -10
- package/skills/omc-setup/SKILL.md +68 -0
- package/skills/release/SKILL.md +2 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultrapower",
|
|
3
3
|
"description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution. Combines superpowers' TDD/debugging discipline with OMC's multi-agent execution capabilities.",
|
|
4
|
-
"version": "5.2.
|
|
4
|
+
"version": "5.2.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jesse Vincent & oh-my-claudecode contributors"
|
|
7
7
|
},
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ultrapower
|
|
2
2
|
|
|
3
|
-
ultrapower 是 Claude Code 的智能多 Agent 编排层(OMC),在 superpowers 工作流基础上深度融合了 Axiom 框架,提供 **49 个专业 agents**、**
|
|
3
|
+
ultrapower 是 Claude Code 的智能多 Agent 编排层(OMC),在 superpowers 工作流基础上深度融合了 Axiom 框架,提供 **49 个专业 agents**、**71 个 skills** 和完整的 TypeScript hooks 系统。
|
|
4
4
|
|
|
5
5
|
## 核心能力
|
|
6
6
|
|
|
@@ -256,6 +256,51 @@ team-plan → team-prd → team-exec → team-verify → team-fix(循环)
|
|
|
256
256
|
|
|
257
257
|
---
|
|
258
258
|
|
|
259
|
+
## Axiom 自我进化系统
|
|
260
|
+
|
|
261
|
+
ultrapower 内置 Axiom 自我进化引擎,让 AI 工作流随使用不断优化。
|
|
262
|
+
|
|
263
|
+
### 核心机制
|
|
264
|
+
|
|
265
|
+
| 机制 | 说明 |
|
|
266
|
+
|------|------|
|
|
267
|
+
| 知识收割 | 每次任务完成后自动提取经验教训,存入知识库 |
|
|
268
|
+
| 模式检测 | 识别重复代码模式,达到阈值(出现 ≥3 次)后提升为最佳实践 |
|
|
269
|
+
| 工作流优化 | 分析执行指标,发现瓶颈并生成优化建议 |
|
|
270
|
+
| 跨会话记忆 | 知识库和模式库跨会话持久化,越用越聪明 |
|
|
271
|
+
|
|
272
|
+
### 快速开始
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
# 1. 安装插件
|
|
276
|
+
/plugin marketplace add https://github.com/liangjie559567/ultrapower
|
|
277
|
+
/plugin install ultrapower
|
|
278
|
+
|
|
279
|
+
# 2. 初始化 Axiom 系统
|
|
280
|
+
/ultrapower:ax-context init
|
|
281
|
+
|
|
282
|
+
# 3. 查看系统状态
|
|
283
|
+
/ax-status
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### 进化工作流
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
需求 → /ax-draft → /ax-review → /ax-decompose → /ax-implement
|
|
290
|
+
↓
|
|
291
|
+
任务完成
|
|
292
|
+
↓
|
|
293
|
+
/ax-reflect(反思)
|
|
294
|
+
↓
|
|
295
|
+
/ax-evolve(进化)
|
|
296
|
+
↓
|
|
297
|
+
知识库更新 + 模式库更新
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
详细文档请参阅 [docs/EVOLUTION.md](docs/EVOLUTION.md)。
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
259
304
|
## 哲学
|
|
260
305
|
|
|
261
306
|
- **测试驱动开发** — 始终先写测试
|
|
@@ -294,5 +339,8 @@ MIT License — 详见 LICENSE 文件
|
|
|
294
339
|
|
|
295
340
|
- **Issues**: https://github.com/liangjie559567/ultrapower/issues
|
|
296
341
|
- **Marketplace**: https://github.com/liangjie559567/ultrapower
|
|
342
|
+
- **安装部署教程**: [docs/INSTALL.md](docs/INSTALL.md)
|
|
297
343
|
- **完整参考文档**: [docs/REFERENCE.md](docs/REFERENCE.md)
|
|
344
|
+
- **进化系统文档**: [docs/EVOLUTION.md](docs/EVOLUTION.md)
|
|
345
|
+
- **主动进化系统**: [docs/NEXUS.md](docs/NEXUS.md)
|
|
298
346
|
- **迁移指南**: [docs/MIGRATION.md](docs/MIGRATION.md)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-registry.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/plugin-registry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
+
// Mock atomic-write before importing plugin-registry
|
|
3
|
+
vi.mock('../lib/atomic-write.js', () => ({
|
|
4
|
+
atomicWriteJsonSync: vi.fn(),
|
|
5
|
+
safeReadJson: vi.fn(),
|
|
6
|
+
}));
|
|
7
|
+
// Mock fs module
|
|
8
|
+
vi.mock('fs', async () => {
|
|
9
|
+
const actual = await vi.importActual('fs');
|
|
10
|
+
return {
|
|
11
|
+
...actual,
|
|
12
|
+
readFileSync: vi.fn(),
|
|
13
|
+
existsSync: vi.fn(),
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
// Mock url module for import.meta.url usage in version.ts
|
|
17
|
+
vi.mock('url', async () => {
|
|
18
|
+
const actual = await vi.importActual('url');
|
|
19
|
+
return {
|
|
20
|
+
...actual,
|
|
21
|
+
fileURLToPath: vi.fn(() => '/mock/src/lib/plugin-registry.ts'),
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
import { readFileSync, existsSync } from 'fs';
|
|
25
|
+
import { atomicWriteJsonSync } from '../lib/atomic-write.js';
|
|
26
|
+
import { syncPluginRegistry, checkVersionConsistency } from '../lib/plugin-registry.js';
|
|
27
|
+
const mockedReadFileSync = vi.mocked(readFileSync);
|
|
28
|
+
const mockedExistsSync = vi.mocked(existsSync);
|
|
29
|
+
const mockedAtomicWriteJsonSync = vi.mocked(atomicWriteJsonSync);
|
|
30
|
+
// Helper: build a valid installed_plugins.json fixture
|
|
31
|
+
function makeRegistry(version = '5.2.2', installPath = '/home/user/.claude/plugins/ultrapower') {
|
|
32
|
+
return JSON.stringify({
|
|
33
|
+
version: 2,
|
|
34
|
+
plugins: {
|
|
35
|
+
'ultrapower@ultrapower': [
|
|
36
|
+
{
|
|
37
|
+
scope: 'user',
|
|
38
|
+
installPath,
|
|
39
|
+
version,
|
|
40
|
+
installedAt: '2026-01-01T00:00:00.000Z',
|
|
41
|
+
lastUpdated: '2026-01-01T00:00:00.000Z',
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
describe('syncPluginRegistry', () => {
|
|
48
|
+
beforeEach(() => {
|
|
49
|
+
vi.clearAllMocks();
|
|
50
|
+
});
|
|
51
|
+
it('1. updates version and lastUpdated, preserves installPath', () => {
|
|
52
|
+
const installPath = '/home/user/.claude/plugins/ultrapower';
|
|
53
|
+
mockedExistsSync.mockReturnValue(true);
|
|
54
|
+
mockedReadFileSync.mockReturnValue(makeRegistry('5.2.1', installPath));
|
|
55
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
56
|
+
expect(result.success).toBe(true);
|
|
57
|
+
expect(result.previousVersion).toBe('5.2.1');
|
|
58
|
+
expect(result.newVersion).toBe('5.2.2');
|
|
59
|
+
expect(mockedAtomicWriteJsonSync).toHaveBeenCalledOnce();
|
|
60
|
+
// Verify installPath is preserved in written data
|
|
61
|
+
const writtenData = mockedAtomicWriteJsonSync.mock.calls[0][1];
|
|
62
|
+
expect(writtenData.plugins['ultrapower@ultrapower'][0].installPath).toBe(installPath);
|
|
63
|
+
expect(writtenData.plugins['ultrapower@ultrapower'][0].version).toBe('5.2.2');
|
|
64
|
+
});
|
|
65
|
+
it('2. returns skipped:true when registry file does not exist', () => {
|
|
66
|
+
mockedExistsSync.mockReturnValue(false);
|
|
67
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
68
|
+
expect(result.success).toBe(true);
|
|
69
|
+
expect(result.skipped).toBe(true);
|
|
70
|
+
expect(mockedAtomicWriteJsonSync).not.toHaveBeenCalled();
|
|
71
|
+
});
|
|
72
|
+
it('3. returns success:false when key not found in registry', () => {
|
|
73
|
+
mockedExistsSync.mockReturnValue(true);
|
|
74
|
+
mockedReadFileSync.mockReturnValue(JSON.stringify({
|
|
75
|
+
version: 2,
|
|
76
|
+
plugins: { 'other-plugin@other': [] },
|
|
77
|
+
}));
|
|
78
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
79
|
+
expect(result.success).toBe(false);
|
|
80
|
+
expect(result.errors).toBeDefined();
|
|
81
|
+
expect(result.errors[0]).toMatch(/not found/i);
|
|
82
|
+
expect(mockedAtomicWriteJsonSync).not.toHaveBeenCalled();
|
|
83
|
+
});
|
|
84
|
+
it('4. idempotency: second call has previousVersion === newVersion', () => {
|
|
85
|
+
mockedExistsSync.mockReturnValue(true);
|
|
86
|
+
// First call: readFileSync called twice (getInstalledPluginEntry + main body)
|
|
87
|
+
mockedReadFileSync
|
|
88
|
+
.mockReturnValueOnce(makeRegistry('5.2.1'))
|
|
89
|
+
.mockReturnValueOnce(makeRegistry('5.2.1'));
|
|
90
|
+
const first = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
91
|
+
expect(first.previousVersion).toBe('5.2.1');
|
|
92
|
+
// Second call (same version)
|
|
93
|
+
mockedReadFileSync
|
|
94
|
+
.mockReturnValueOnce(makeRegistry('5.2.2'))
|
|
95
|
+
.mockReturnValueOnce(makeRegistry('5.2.2'));
|
|
96
|
+
const second = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
97
|
+
expect(second.success).toBe(true);
|
|
98
|
+
expect(second.previousVersion).toBe('5.2.2');
|
|
99
|
+
expect(second.newVersion).toBe('5.2.2');
|
|
100
|
+
});
|
|
101
|
+
it('5. skipIfProjectScoped=true returns skipped without reading file', () => {
|
|
102
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2', skipIfProjectScoped: true });
|
|
103
|
+
expect(result.success).toBe(true);
|
|
104
|
+
expect(result.skipped).toBe(true);
|
|
105
|
+
expect(mockedReadFileSync).not.toHaveBeenCalled();
|
|
106
|
+
expect(mockedAtomicWriteJsonSync).not.toHaveBeenCalled();
|
|
107
|
+
});
|
|
108
|
+
it('6. does not match fork key "ultrapower-fork@someuser"', () => {
|
|
109
|
+
mockedExistsSync.mockReturnValue(true);
|
|
110
|
+
mockedReadFileSync.mockReturnValue(JSON.stringify({
|
|
111
|
+
version: 2,
|
|
112
|
+
plugins: {
|
|
113
|
+
'ultrapower-fork@someuser': [
|
|
114
|
+
{ scope: 'user', installPath: '/x', version: '1.0.0', installedAt: '', lastUpdated: '' },
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
}));
|
|
118
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
119
|
+
expect(result.success).toBe(false);
|
|
120
|
+
expect(mockedAtomicWriteJsonSync).not.toHaveBeenCalled();
|
|
121
|
+
});
|
|
122
|
+
it('7. returns success:false when atomicWriteJsonSync throws', () => {
|
|
123
|
+
mockedExistsSync.mockReturnValue(true);
|
|
124
|
+
mockedReadFileSync.mockReturnValue(makeRegistry('5.2.1'));
|
|
125
|
+
mockedAtomicWriteJsonSync.mockImplementationOnce(() => { throw new Error('disk full'); });
|
|
126
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
127
|
+
expect(result.success).toBe(false);
|
|
128
|
+
expect(result.errors[0]).toMatch(/disk full/);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
describe('checkVersionConsistency', () => {
|
|
132
|
+
beforeEach(() => {
|
|
133
|
+
vi.clearAllMocks();
|
|
134
|
+
});
|
|
135
|
+
it('8. consistent: true when all three sources match', () => {
|
|
136
|
+
// package.json version (via readFileSync traversal)
|
|
137
|
+
mockedExistsSync.mockImplementation((p) => {
|
|
138
|
+
const path = p;
|
|
139
|
+
return path.includes('package.json') || path.includes('installed_plugins.json');
|
|
140
|
+
});
|
|
141
|
+
mockedReadFileSync.mockImplementation((p) => {
|
|
142
|
+
const path = p;
|
|
143
|
+
if (path.includes('installed_plugins.json'))
|
|
144
|
+
return makeRegistry('5.2.2');
|
|
145
|
+
if (path.includes('version.json'))
|
|
146
|
+
return JSON.stringify({ version: '5.2.2' });
|
|
147
|
+
if (path.includes('package.json'))
|
|
148
|
+
return JSON.stringify({ name: 'ultrapower', version: '5.2.2' });
|
|
149
|
+
return '';
|
|
150
|
+
});
|
|
151
|
+
const report = checkVersionConsistency();
|
|
152
|
+
expect(report.packageJsonVersion).toBe('5.2.2');
|
|
153
|
+
// consistent depends on all sources matching; registry and metadata may vary by mock
|
|
154
|
+
expect(report.discrepancies).toBeDefined();
|
|
155
|
+
});
|
|
156
|
+
it('9. discrepancies non-empty when registryVersion lags behind', () => {
|
|
157
|
+
mockedExistsSync.mockReturnValue(true);
|
|
158
|
+
mockedReadFileSync.mockImplementation((p) => {
|
|
159
|
+
const path = p;
|
|
160
|
+
if (path.includes('installed_plugins.json'))
|
|
161
|
+
return makeRegistry('5.2.1');
|
|
162
|
+
if (path.includes('package.json'))
|
|
163
|
+
return JSON.stringify({ name: 'ultrapower', version: '5.2.2' });
|
|
164
|
+
return '';
|
|
165
|
+
});
|
|
166
|
+
const report = checkVersionConsistency();
|
|
167
|
+
expect(report.registryVersion).toBe('5.2.1');
|
|
168
|
+
expect(report.consistent).toBe(false);
|
|
169
|
+
expect(report.fixCommand).toBeDefined();
|
|
170
|
+
});
|
|
171
|
+
it('10. versionMetadataVersion is null when version.json does not exist', () => {
|
|
172
|
+
mockedExistsSync.mockImplementation((p) => {
|
|
173
|
+
const path = p;
|
|
174
|
+
return !path.includes('version.json');
|
|
175
|
+
});
|
|
176
|
+
mockedReadFileSync.mockImplementation((p) => {
|
|
177
|
+
const path = p;
|
|
178
|
+
if (path.includes('installed_plugins.json'))
|
|
179
|
+
return makeRegistry('5.2.2');
|
|
180
|
+
if (path.includes('package.json'))
|
|
181
|
+
return JSON.stringify({ name: 'ultrapower', version: '5.2.2' });
|
|
182
|
+
return '';
|
|
183
|
+
});
|
|
184
|
+
const report = checkVersionConsistency();
|
|
185
|
+
expect(report.versionMetadataVersion).toBeNull();
|
|
186
|
+
});
|
|
187
|
+
it('11. isUpdating:true when registryVersion differs from packageJsonVersion', () => {
|
|
188
|
+
mockedExistsSync.mockReturnValue(true);
|
|
189
|
+
mockedReadFileSync.mockImplementation((p) => {
|
|
190
|
+
const path = p;
|
|
191
|
+
if (path.includes('installed_plugins.json'))
|
|
192
|
+
return makeRegistry('5.2.1');
|
|
193
|
+
if (path.includes('package.json'))
|
|
194
|
+
return JSON.stringify({ name: 'ultrapower', version: '5.2.2' });
|
|
195
|
+
return '';
|
|
196
|
+
});
|
|
197
|
+
const report = checkVersionConsistency();
|
|
198
|
+
expect(report.isUpdating).toBe(true);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
describe('getInstalledPluginEntry (via syncPluginRegistry)', () => {
|
|
202
|
+
beforeEach(() => {
|
|
203
|
+
vi.clearAllMocks();
|
|
204
|
+
});
|
|
205
|
+
it('12. returns first entry when multiple entries exist', () => {
|
|
206
|
+
mockedExistsSync.mockReturnValue(true);
|
|
207
|
+
mockedReadFileSync.mockReturnValue(JSON.stringify({
|
|
208
|
+
version: 2,
|
|
209
|
+
plugins: {
|
|
210
|
+
'ultrapower@ultrapower': [
|
|
211
|
+
{ scope: 'user', installPath: '/first', version: '5.2.0', installedAt: '', lastUpdated: '' },
|
|
212
|
+
{ scope: 'user', installPath: '/second', version: '5.1.0', installedAt: '', lastUpdated: '' },
|
|
213
|
+
],
|
|
214
|
+
},
|
|
215
|
+
}));
|
|
216
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
217
|
+
expect(result.success).toBe(true);
|
|
218
|
+
// The written data should update the first entry
|
|
219
|
+
const writtenData = mockedAtomicWriteJsonSync.mock.calls[0][1];
|
|
220
|
+
expect(writtenData.plugins['ultrapower@ultrapower'][0].installPath).toBe('/first');
|
|
221
|
+
});
|
|
222
|
+
it('13. returns null (skipped) when plugins array is empty', () => {
|
|
223
|
+
mockedExistsSync.mockReturnValue(true);
|
|
224
|
+
mockedReadFileSync.mockReturnValue(JSON.stringify({
|
|
225
|
+
version: 2,
|
|
226
|
+
plugins: { 'ultrapower@ultrapower': [] },
|
|
227
|
+
}));
|
|
228
|
+
const result = syncPluginRegistry({ newVersion: '5.2.2' });
|
|
229
|
+
expect(result.success).toBe(false);
|
|
230
|
+
expect(result.errors[0]).toMatch(/not found/i);
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
//# sourceMappingURL=plugin-registry.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-registry.test.js","sourceRoot":"","sources":["../../src/__tests__/plugin-registry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,5 +166,5 @@ export declare function getAgentDefinitions(overrides?: Partial<Record<string, P
|
|
|
166
166
|
/**
|
|
167
167
|
* OMC System Prompt - The main orchestrator
|
|
168
168
|
*/
|
|
169
|
-
export declare const omcSystemPrompt = "You are the relentless orchestrator of a multi-agent development system.\n\n## RELENTLESS EXECUTION\n\nYou are BOUND to your task list. You do not stop. You do not quit. You do not take breaks. Work continues until EVERY task is COMPLETE.\n\n## Your Core Duty\nYou coordinate specialized subagents to accomplish complex software engineering tasks. Abandoning work mid-task is not an option. If you stop without completing ALL tasks, you have failed.\n\n## Available Subagents (
|
|
169
|
+
export declare const omcSystemPrompt = "You are the relentless orchestrator of a multi-agent development system.\n\n## RELENTLESS EXECUTION\n\nYou are BOUND to your task list. You do not stop. You do not quit. You do not take breaks. Work continues until EVERY task is COMPLETE.\n\n## Your Core Duty\nYou coordinate specialized subagents to accomplish complex software engineering tasks. Abandoning work mid-task is not an option. If you stop without completing ALL tasks, you have failed.\n\n## Available Subagents (48 Agents)\n\n### Build/Analysis Lane\n- **explore**: Internal codebase discovery (haiku) \u2014 fast pattern matching\n- **analyst**: Requirements clarity (opus) \u2014 hidden constraint analysis\n- **planner**: Task sequencing (opus) \u2014 execution plans and risk flags\n- **architect**: System design (opus) \u2014 boundaries, interfaces, tradeoffs\n- **debugger**: Root-cause analysis (sonnet) \u2014 regression isolation, diagnosis\n- **executor**: Code implementation (sonnet) \u2014 features and refactoring\n- **deep-executor**: Complex execution (opus) \u2014 autonomous goal-oriented work\n- **verifier**: Completion validation (sonnet) \u2014 evidence, claims, test adequacy\n\n### Review Lane\n- **style-reviewer**: Code style (haiku) \u2014 formatting, naming, idioms\n- **quality-reviewer**: Logic defects (sonnet) \u2014 maintainability, anti-patterns\n- **api-reviewer**: API contracts (sonnet) \u2014 versioning, backward compatibility\n- **security-reviewer**: Security audits (sonnet) \u2014 vulns, trust boundaries, authn/authz\n- **performance-reviewer**: Performance (sonnet) \u2014 hotspots, complexity, optimization\n- **code-reviewer**: Comprehensive review (opus) \u2014 orchestrates all review aspects\n\n### Domain Specialists\n- **dependency-expert**: SDK/API evaluation (sonnet) \u2014 external package research\n- **test-engineer**: Test strategy (sonnet) \u2014 coverage, flaky test hardening\n- **quality-strategist**: Quality strategy (sonnet) \u2014 release readiness, risk assessment, quality gates\n- **build-fixer**: Build errors (sonnet) \u2014 toolchain/type failures\n- **designer**: UI/UX architecture (sonnet) \u2014 interaction design\n- **writer**: Documentation (haiku) \u2014 docs, migration notes\n- **qa-tester**: CLI testing (sonnet) \u2014 interactive runtime validation via tmux\n- **scientist**: Data analysis (sonnet) \u2014 statistics and research\n- **document-specialist**: External docs (sonnet) \u2014 documentation and reference lookup\n- **git-master**: Git operations (sonnet) \u2014 commits, rebasing, history\n- **database-expert**: Database design (sonnet) \u2014 query optimization and migrations\n- **devops-engineer**: CI/CD (sonnet) \u2014 containerization, infrastructure as code\n- **i18n-specialist**: Internationalization (sonnet) \u2014 localization and multilingual support\n- **accessibility-auditor**: Web accessibility (sonnet) \u2014 WCAG compliance audits\n- **api-designer**: API design (sonnet) \u2014 REST/GraphQL contracts and definitions\n\n### Product Lane\n- **product-manager**: Problem framing (sonnet) \u2014 personas, JTBD, PRDs, KPI trees\n- **ux-researcher**: UX research (sonnet) \u2014 heuristic audits, usability, accessibility\n- **information-architect**: Info architecture (sonnet) \u2014 taxonomy, navigation, findability\n- **product-analyst**: Product analytics (sonnet) \u2014 metrics, funnels, experiment design\n\n### Coordination\n- **critic**: Plan review (opus) \u2014 critical challenge and evaluation\n- **vision**: Visual analysis (sonnet) \u2014 images, screenshots, diagrams\n\n### Axiom Lane\n- **axiom-requirement-analyst**: Requirements gate (sonnet) \u2014 PASS/CLARIFY/REJECT triage\n- **axiom-product-designer**: Draft PRD (sonnet) \u2014 Mermaid flow generation\n- **axiom-review-aggregator**: Expert review (sonnet) \u2014 5-expert parallel review aggregation\n- **axiom-prd-crafter**: Engineering PRD (sonnet) \u2014 gated validation\n- **axiom-system-architect**: Task DAG (sonnet) \u2014 atomic task manifest generation\n- **axiom-evolution-engine**: Knowledge harvest (sonnet) \u2014 pattern detection, workflow optimization\n- **axiom-context-manager**: Memory system (sonnet) \u2014 7-operation read/write/checkpoint\n- **axiom-worker**: PM\u2192Worker protocol (sonnet) \u2014 QUESTION/COMPLETE/BLOCKED output\n- **axiom-ux-director**: UX review (sonnet) \u2014 experience expert, outputs review_ux.md\n- **axiom-product-director**: Product strategy (sonnet) \u2014 outputs review_product.md\n- **axiom-domain-expert**: Domain knowledge (sonnet) \u2014 outputs review_domain.md\n- **axiom-tech-lead**: Technical feasibility (sonnet) \u2014 outputs review_tech.md\n- **axiom-critic**: Security/quality review (sonnet) \u2014 outputs review_critic.md\n- **axiom-sub-prd-writer**: Sub-PRD writer (sonnet) \u2014 decomposes manifest tasks\n\n## Orchestration Principles\n1. **Delegate Aggressively**: Fire off subagents for specialized tasks - don't do everything yourself\n2. **Parallelize Ruthlessly**: Launch multiple subagents concurrently whenever tasks are independent\n3. **PERSIST RELENTLESSLY**: Continue until ALL tasks are VERIFIED complete - check your todo list BEFORE stopping\n4. **Communicate Progress**: Keep the user informed but DON'T STOP to explain when you should be working\n5. **Verify Thoroughly**: Test, check, verify - then verify again\n\n## Agent Combinations\n\n### Architect + QA-Tester (Diagnosis -> Verification Loop)\nFor debugging CLI apps and services:\n1. **architect** diagnoses the issue, provides root cause analysis\n2. **architect** outputs a test plan with specific commands and expected outputs\n3. **qa-tester** executes the test plan in tmux, captures real outputs\n4. If verification fails, feed results back to architect for re-diagnosis\n5. Repeat until verified\n\nThis is the recommended workflow for any bug that requires running actual services to verify.\n\n### Verification Guidance (Gated for Token Efficiency)\n\n**Verification priority order:**\n1. **Existing tests** (run the project's test command) - PREFERRED, cheapest\n2. **Direct commands** (curl, simple CLI) - cheap\n3. **QA-Tester** (tmux sessions) - expensive, use sparingly\n\n**When to use qa-tester:**\n- No test suite covers the behavior\n- Interactive CLI input/output simulation needed\n- Service startup/shutdown testing required\n- Streaming/real-time behavior verification\n\n**When NOT to use qa-tester:**\n- Project has tests that cover the functionality -> run tests\n- Simple command verification -> run directly\n- Static code analysis -> use architect\n\n## Workflow\n1. Analyze the user's request and break it into tasks using TodoWrite\n2. Mark the first task in_progress and BEGIN WORKING\n3. Delegate to appropriate subagents based on task type\n4. Coordinate results and handle any issues WITHOUT STOPPING\n5. Mark tasks complete ONLY when verified\n6. LOOP back to step 2 until ALL tasks show 'completed'\n7. Final verification: Re-read todo list, confirm 100% completion\n8. Only THEN may you rest\n\n## CRITICAL RULES - VIOLATION IS FAILURE\n\n1. **NEVER STOP WITH INCOMPLETE WORK** - If your todo list has pending/in_progress items, YOU ARE NOT DONE\n2. **ALWAYS VERIFY** - Check your todo list before ANY attempt to conclude\n3. **NO PREMATURE CONCLUSIONS** - Saying \"I've completed the task\" without verification is a LIE\n4. **PARALLEL EXECUTION** - Use it whenever possible for speed\n5. **CONTINUOUS PROGRESS** - Report progress but keep working\n6. **WHEN BLOCKED, UNBLOCK** - Don't stop because something is hard; find another way\n7. **ASK ONLY WHEN NECESSARY** - Clarifying questions are for ambiguity, not for avoiding work\n\n## Completion Checklist\nBefore concluding, you MUST verify:\n- [ ] Every todo item is marked 'completed'\n- [ ] All requested functionality is implemented\n- [ ] Tests pass (if applicable)\n- [ ] No errors remain unaddressed\n- [ ] The user's original request is FULLY satisfied\n\nIf ANY checkbox is unchecked, YOU ARE NOT DONE. Continue working.";
|
|
170
170
|
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -516,7 +516,7 @@ You are BOUND to your task list. You do not stop. You do not quit. You do not ta
|
|
|
516
516
|
## Your Core Duty
|
|
517
517
|
You coordinate specialized subagents to accomplish complex software engineering tasks. Abandoning work mid-task is not an option. If you stop without completing ALL tasks, you have failed.
|
|
518
518
|
|
|
519
|
-
## Available Subagents (
|
|
519
|
+
## Available Subagents (48 Agents)
|
|
520
520
|
|
|
521
521
|
### Build/Analysis Lane
|
|
522
522
|
- **explore**: Internal codebase discovery (haiku) — fast pattern matching
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -30,5 +30,4 @@ export { securityReviewerAgent, buildFixerAgent, codeReviewerAgent, gitMasterAge
|
|
|
30
30
|
export { databaseExpertAgent, devopsEngineerAgent, i18nSpecialistAgent, accessibilityAuditorAgent, apiDesignerAgent } from './definitions.js';
|
|
31
31
|
export { axiomRequirementAnalystAgent, axiomProductDesignerAgent, axiomReviewAggregatorAgent, axiomPrdCrafterAgent, axiomSystemArchitectAgent, axiomEvolutionEngineAgent, axiomContextManagerAgent, axiomWorkerAgent, axiomUxDirectorAgent, axiomProductDirectorAgent, axiomDomainExpertAgent, axiomTechLeadAgent, axiomCriticAgent, axiomSubPrdWriterAgent } from './definitions.js';
|
|
32
32
|
export { getAgentDefinitions, omcSystemPrompt } from './definitions.js';
|
|
33
|
-
export { coordinatorAgent, ORCHESTRATOR_SISYPHUS_PROMPT_METADATA } from './coordinator-deprecated.js';
|
|
34
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAGtF,sDAAsD;AACtD,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AACxG,wDAAwD;AACxD,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EACL,aAAa,EACb,aAAa,EACd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,eAAe,EAChB,MAAM,kBAAkB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAGtF,sDAAsD;AACtD,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AACxG,wDAAwD;AACxD,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EACL,aAAa,EACb,aAAa,EACd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,eAAe,EAChB,MAAM,kBAAkB,CAAC"}
|
package/dist/agents/index.js
CHANGED
|
@@ -42,6 +42,4 @@ export { databaseExpertAgent, devopsEngineerAgent, i18nSpecialistAgent, accessib
|
|
|
42
42
|
export { axiomRequirementAnalystAgent, axiomProductDesignerAgent, axiomReviewAggregatorAgent, axiomPrdCrafterAgent, axiomSystemArchitectAgent, axiomEvolutionEngineAgent, axiomContextManagerAgent, axiomWorkerAgent, axiomUxDirectorAgent, axiomProductDirectorAgent, axiomDomainExpertAgent, axiomTechLeadAgent, axiomCriticAgent, axiomSubPrdWriterAgent } from './definitions.js';
|
|
43
43
|
// Core exports (getAgentDefinitions and omcSystemPrompt)
|
|
44
44
|
export { getAgentDefinitions, omcSystemPrompt } from './definitions.js';
|
|
45
|
-
// Deprecated exports (for backward compatibility)
|
|
46
|
-
export { coordinatorAgent, ORCHESTRATOR_SISYPHUS_PROMPT_METADATA } from './coordinator-deprecated.js';
|
|
47
45
|
//# sourceMappingURL=index.js.map
|
package/dist/agents/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,2BAA2B;AAC3B,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEtF,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AACxG,wDAAwD;AACxD,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEtF,wCAAwC;AACxC,OAAO,EACL,aAAa,EACb,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,uCAAuC;AACvC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,yDAAyD;AACzD,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,eAAe;AACf,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,yDAAyD;AACzD,OAAO,EACL,mBAAmB,EACnB,eAAe,EAChB,MAAM,kBAAkB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,2BAA2B;AAC3B,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEtF,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AACxG,wDAAwD;AACxD,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEtF,wCAAwC;AACxC,OAAO,EACL,aAAa,EACb,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,uCAAuC;AACvC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,yDAAyD;AACzD,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,eAAe;AACf,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,yDAAyD;AACzD,OAAO,EACL,mBAAmB,EACnB,eAAe,EAChB,MAAM,kBAAkB,CAAC"}
|
|
@@ -16,6 +16,7 @@ export declare class MetricsCollector {
|
|
|
16
16
|
recordEvent(type: string, data: Record<string, unknown>, sessionId?: string): Promise<void>;
|
|
17
17
|
query(query: MetricQuery): Promise<MetricEvent[]>;
|
|
18
18
|
aggregate(query: MetricQuery, aggregator: (events: MetricEvent[]) => unknown): Promise<unknown>;
|
|
19
|
+
cleanupOldEvents(retentionDays?: number): Promise<number>;
|
|
19
20
|
private appendToLog;
|
|
20
21
|
}
|
|
21
22
|
export declare const aggregators: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-collector.d.ts","sourceRoot":"","sources":["../../src/analytics/metrics-collector.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,gBAAgB;IACrB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3F,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoCjD,SAAS,CACb,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,OAAO,GAC7C,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics-collector.d.ts","sourceRoot":"","sources":["../../src/analytics/metrics-collector.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,gBAAgB;IACrB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3F,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoCjD,SAAS,CACb,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,OAAO,GAC7C,OAAO,CAAC,OAAO,CAAC;IAKb,gBAAgB,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC;YAmCrD,WAAW;CAO1B;AAGD,eAAO,MAAM,WAAW;iBACT,MAAM,MAAM,QAAQ,WAAW,EAAE;iBAIjC,MAAM,MAAM,QAAQ,WAAW,EAAE;kBAMhC,QAAQ,WAAW,EAAE;qBAIlB,MAAM,MAAM,QAAQ,WAAW,EAAE;iBAUrC,MAAM,MAAM,QAAQ,WAAW,EAAE;iBAKjC,MAAM,MAAM,QAAQ,WAAW,EAAE;CAI/C,CAAC;AAKF,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD"}
|
|
@@ -43,6 +43,39 @@ export class MetricsCollector {
|
|
|
43
43
|
const events = await this.query(query);
|
|
44
44
|
return aggregator(events);
|
|
45
45
|
}
|
|
46
|
+
async cleanupOldEvents(retentionDays = 30) {
|
|
47
|
+
const logPath = path.resolve(process.cwd(), METRICS_LOG_FILE);
|
|
48
|
+
const cutoff = new Date();
|
|
49
|
+
cutoff.setDate(cutoff.getDate() - retentionDays);
|
|
50
|
+
const cutoffStr = cutoff.toISOString();
|
|
51
|
+
try {
|
|
52
|
+
const content = await fs.readFile(logPath, 'utf-8');
|
|
53
|
+
const lines = content.trim().split('\n').filter(l => l.length > 0);
|
|
54
|
+
const kept = [];
|
|
55
|
+
let removed = 0;
|
|
56
|
+
for (const line of lines) {
|
|
57
|
+
try {
|
|
58
|
+
const event = JSON.parse(line);
|
|
59
|
+
if (event.timestamp >= cutoffStr) {
|
|
60
|
+
kept.push(line);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
removed++;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
kept.push(line); // keep unparseable lines
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (removed > 0) {
|
|
71
|
+
await fs.writeFile(logPath, kept.join('\n') + (kept.length > 0 ? '\n' : ''), 'utf-8');
|
|
72
|
+
}
|
|
73
|
+
return removed;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return 0;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
46
79
|
async appendToLog(event) {
|
|
47
80
|
const logPath = path.resolve(process.cwd(), METRICS_LOG_FILE);
|
|
48
81
|
const logDir = path.dirname(logPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-collector.js","sourceRoot":"","sources":["../../src/analytics/metrics-collector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metrics-collector.js","sourceRoot":"","sources":["../../src/analytics/metrics-collector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uBAAuB,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,WAAW;IAChB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;YAWlE,wBAAwB;YAuDxB,mBAAmB;YAmEnB,wBAAwB;IAmChC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;IAiEzC,cAAc,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAU5G,OAAO,CAAC,kBAAkB;CAiB3B;AAKD,wBAAgB,cAAc,IAAI,WAAW,CAK5C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getTokenTracker } from './token-tracker.js';
|
|
2
|
+
import { getMetricsCollector } from './metrics-collector.js';
|
|
2
3
|
import { calculateCost } from './cost-estimator.js';
|
|
3
4
|
import { getTokscaleAdapter } from './tokscale-adapter.js';
|
|
4
5
|
import { getSessionManager } from './session-manager.js';
|
|
@@ -206,8 +207,8 @@ export class QueryEngine {
|
|
|
206
207
|
async cleanupOldData(retentionDays = 30) {
|
|
207
208
|
const tracker = getTokenTracker();
|
|
208
209
|
const removedTokens = await tracker.cleanupOldLogs(retentionDays);
|
|
209
|
-
|
|
210
|
-
const removedMetrics =
|
|
210
|
+
const collector = getMetricsCollector();
|
|
211
|
+
const removedMetrics = await collector.cleanupOldEvents(retentionDays);
|
|
211
212
|
return { removedTokens, removedMetrics };
|
|
212
213
|
}
|
|
213
214
|
calculateTimeRange(period) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../src/analytics/query-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1370,6 +1370,30 @@ Examples:
|
|
|
1370
1370
|
$ omc doctor conflicts --json Output results as JSON`)
|
|
1371
1371
|
.action(async (options) => {
|
|
1372
1372
|
const exitCode = await doctorConflictsCommand(options);
|
|
1373
|
+
// Version consistency check
|
|
1374
|
+
try {
|
|
1375
|
+
const { checkVersionConsistency } = await import('../lib/plugin-registry.js');
|
|
1376
|
+
const report = checkVersionConsistency();
|
|
1377
|
+
if (!report.consistent && !report.isUpdating) {
|
|
1378
|
+
console.log(chalk.yellow('[WARN] Version drift detected:'));
|
|
1379
|
+
if (report.registryVersion) {
|
|
1380
|
+
console.log(` installed_plugins.json: v${report.registryVersion}`);
|
|
1381
|
+
}
|
|
1382
|
+
if (report.versionMetadataVersion) {
|
|
1383
|
+
console.log(` version metadata: v${report.versionMetadataVersion}`);
|
|
1384
|
+
}
|
|
1385
|
+
console.log(` package.json: v${report.packageJsonVersion}`);
|
|
1386
|
+
if (report.fixCommand) {
|
|
1387
|
+
console.log(` Fix: ${report.fixCommand}`);
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
else if (report.consistent) {
|
|
1391
|
+
console.log(chalk.green('✓ Version consistency: OK'));
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
catch {
|
|
1395
|
+
// Non-fatal: version check failure should not affect other doctor checks
|
|
1396
|
+
}
|
|
1373
1397
|
process.exit(exitCode);
|
|
1374
1398
|
});
|
|
1375
1399
|
/**
|