olympus-ai 3.2.3 → 3.3.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.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/__tests__/ascent-checkpoint.test.d.ts +2 -0
- package/dist/__tests__/ascent-checkpoint.test.d.ts.map +1 -0
- package/dist/__tests__/ascent-checkpoint.test.js +261 -0
- package/dist/__tests__/ascent-checkpoint.test.js.map +1 -0
- package/dist/__tests__/config-ascent.test.d.ts +2 -0
- package/dist/__tests__/config-ascent.test.d.ts.map +1 -0
- package/dist/__tests__/config-ascent.test.js +134 -0
- package/dist/__tests__/config-ascent.test.js.map +1 -0
- package/dist/__tests__/hook-blocking.test.d.ts +8 -0
- package/dist/__tests__/hook-blocking.test.d.ts.map +1 -0
- package/dist/__tests__/hook-blocking.test.js +277 -0
- package/dist/__tests__/hook-blocking.test.js.map +1 -0
- package/dist/__tests__/installer.test.js +1 -1
- package/dist/__tests__/metrics-cli.test.d.ts +5 -0
- package/dist/__tests__/metrics-cli.test.d.ts.map +1 -0
- package/dist/__tests__/metrics-cli.test.js +24 -0
- package/dist/__tests__/metrics-cli.test.js.map +1 -0
- package/dist/__tests__/skill-auto-detection.test.d.ts +2 -0
- package/dist/__tests__/skill-auto-detection.test.d.ts.map +1 -0
- package/dist/__tests__/skill-auto-detection.test.js +255 -0
- package/dist/__tests__/skill-auto-detection.test.js.map +1 -0
- package/dist/__tests__/token-estimator.test.d.ts +5 -0
- package/dist/__tests__/token-estimator.test.d.ts.map +1 -0
- package/dist/__tests__/token-estimator.test.js +192 -0
- package/dist/__tests__/token-estimator.test.js.map +1 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +83 -1
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/document-writer.d.ts.map +1 -1
- package/dist/agents/document-writer.js +38 -0
- package/dist/agents/document-writer.js.map +1 -1
- package/dist/agents/frontend-engineer.d.ts.map +1 -1
- package/dist/agents/frontend-engineer.js +16 -0
- package/dist/agents/frontend-engineer.js.map +1 -1
- package/dist/agents/olympian.d.ts.map +1 -1
- package/dist/agents/olympian.js +15 -0
- package/dist/agents/olympian.js.map +1 -1
- package/dist/cli/commands/metrics.d.ts +31 -0
- package/dist/cli/commands/metrics.d.ts.map +1 -0
- package/dist/cli/commands/metrics.js +266 -0
- package/dist/cli/commands/metrics.js.map +1 -0
- package/dist/cli/index.js +39 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +16 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/features/ascent-checkpoint/index.d.ts +48 -0
- package/dist/features/ascent-checkpoint/index.d.ts.map +1 -0
- package/dist/features/ascent-checkpoint/index.js +144 -0
- package/dist/features/ascent-checkpoint/index.js.map +1 -0
- package/dist/features/hook-logging/index.d.ts +37 -0
- package/dist/features/hook-logging/index.d.ts.map +1 -0
- package/dist/features/hook-logging/index.js +120 -0
- package/dist/features/hook-logging/index.js.map +1 -0
- package/dist/features/hook-logging/index.test.d.ts +5 -0
- package/dist/features/hook-logging/index.test.d.ts.map +1 -0
- package/dist/features/hook-logging/index.test.js +268 -0
- package/dist/features/hook-logging/index.test.js.map +1 -0
- package/dist/features/index.d.ts +3 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +8 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/magic-keywords.d.ts +51 -0
- package/dist/features/magic-keywords.d.ts.map +1 -1
- package/dist/features/magic-keywords.js +172 -0
- package/dist/features/magic-keywords.js.map +1 -1
- package/dist/features/session-state/index.d.ts +50 -0
- package/dist/features/session-state/index.d.ts.map +1 -0
- package/dist/features/session-state/index.js +64 -0
- package/dist/features/session-state/index.js.map +1 -0
- package/dist/features/session-state/index.test.d.ts +5 -0
- package/dist/features/session-state/index.test.d.ts.map +1 -0
- package/dist/features/session-state/index.test.js +221 -0
- package/dist/features/session-state/index.test.js.map +1 -0
- package/dist/features/token-metrics/index.d.ts +6 -0
- package/dist/features/token-metrics/index.d.ts.map +1 -0
- package/dist/features/token-metrics/index.js +5 -0
- package/dist/features/token-metrics/index.js.map +1 -0
- package/dist/features/token-metrics/storage.d.ts +16 -0
- package/dist/features/token-metrics/storage.d.ts.map +1 -0
- package/dist/features/token-metrics/storage.js +144 -0
- package/dist/features/token-metrics/storage.js.map +1 -0
- package/dist/features/token-metrics/token-estimator.d.ts +66 -0
- package/dist/features/token-metrics/token-estimator.d.ts.map +1 -0
- package/dist/features/token-metrics/token-estimator.js +230 -0
- package/dist/features/token-metrics/token-estimator.js.map +1 -0
- package/dist/features/token-metrics/types.d.ts +63 -0
- package/dist/features/token-metrics/types.d.ts.map +1 -0
- package/dist/features/token-metrics/types.js +5 -0
- package/dist/features/token-metrics/types.js.map +1 -0
- package/dist/hooks/olympus-orchestrator/constants.d.ts +2 -0
- package/dist/hooks/olympus-orchestrator/constants.d.ts.map +1 -1
- package/dist/hooks/olympus-orchestrator/constants.js +41 -0
- package/dist/hooks/olympus-orchestrator/constants.js.map +1 -1
- package/dist/hooks/olympus-orchestrator/index.d.ts +10 -1
- package/dist/hooks/olympus-orchestrator/index.d.ts.map +1 -1
- package/dist/hooks/olympus-orchestrator/index.js +108 -14
- package/dist/hooks/olympus-orchestrator/index.js.map +1 -1
- package/dist/hooks/registrations/index.d.ts +2 -1
- package/dist/hooks/registrations/index.d.ts.map +1 -1
- package/dist/hooks/registrations/index.js +3 -1
- package/dist/hooks/registrations/index.js.map +1 -1
- package/dist/hooks/registrations/token-metrics.d.ts +11 -0
- package/dist/hooks/registrations/token-metrics.d.ts.map +1 -0
- package/dist/hooks/registrations/token-metrics.js +119 -0
- package/dist/hooks/registrations/token-metrics.js.map +1 -0
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +334 -9
- package/dist/installer/index.js.map +1 -1
- package/dist/shared/types.d.ts +16 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/scripts/.olympus/token-metrics.jsonl +1 -0
- package/scripts/dist/hooks/olympus-hooks.cjs +127 -128
- package/scripts/esbuild.hooks.mjs +1 -1
- package/.claude/CLAUDE.md +0 -66
- package/scripts/generate-logo-hybrid-v2.mjs +0 -213
- package/scripts/generate-logo-hybrid.mjs +0 -209
- package/scripts/generate-logo-infinity.mjs +0 -239
- package/scripts/generate-logo-mythology.mjs +0 -190
- package/scripts/generate-logo-orchestration.mjs +0 -228
- package/scripts/generate-logo-recraft.mjs +0 -147
- package/scripts/generate-logo-simple.mjs +0 -154
- package/scripts/generate-logo.mjs +0 -117
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for token estimation utilities
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect } from 'vitest';
|
|
5
|
+
import { estimateTokens, estimateTokensDetailed, estimateTokensFromToolOutput, estimateContextSize, estimateTokensSync, } from '../features/token-metrics/index.js';
|
|
6
|
+
describe('Token Estimator', () => {
|
|
7
|
+
describe('estimateTokens', () => {
|
|
8
|
+
it('should estimate tokens for simple text', async () => {
|
|
9
|
+
const text = 'Hello, world!';
|
|
10
|
+
const tokens = await estimateTokens(text);
|
|
11
|
+
expect(tokens).toBeGreaterThan(0);
|
|
12
|
+
expect(tokens).toBeLessThan(10); // ~3-4 tokens
|
|
13
|
+
});
|
|
14
|
+
it('should return 0 for empty string', async () => {
|
|
15
|
+
const tokens = await estimateTokens('');
|
|
16
|
+
expect(tokens).toBe(0);
|
|
17
|
+
});
|
|
18
|
+
it('should handle long text', async () => {
|
|
19
|
+
const longText = 'a'.repeat(1000);
|
|
20
|
+
const tokens = await estimateTokens(longText);
|
|
21
|
+
expect(tokens).toBeGreaterThan(100); // ~250 tokens
|
|
22
|
+
});
|
|
23
|
+
it('should handle multi-line text', async () => {
|
|
24
|
+
const text = 'Line 1\nLine 2\nLine 3';
|
|
25
|
+
const tokens = await estimateTokens(text);
|
|
26
|
+
expect(tokens).toBeGreaterThan(3);
|
|
27
|
+
});
|
|
28
|
+
it('should handle code snippets', async () => {
|
|
29
|
+
const code = `
|
|
30
|
+
function hello() {
|
|
31
|
+
console.log("Hello, world!");
|
|
32
|
+
}
|
|
33
|
+
`.trim();
|
|
34
|
+
const tokens = await estimateTokens(code);
|
|
35
|
+
expect(tokens).toBeGreaterThan(5);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe('estimateTokensDetailed', () => {
|
|
39
|
+
it('should return detailed estimation for string', async () => {
|
|
40
|
+
const result = await estimateTokensDetailed('Hello');
|
|
41
|
+
expect(result.tokens).toBeGreaterThan(0);
|
|
42
|
+
expect(result.method).toMatch(/gpt-tokenizer|character-fallback/);
|
|
43
|
+
expect(result.inputType).toBe('string');
|
|
44
|
+
});
|
|
45
|
+
it('should handle objects', async () => {
|
|
46
|
+
const obj = { key: 'value', nested: { data: 'test' } };
|
|
47
|
+
const result = await estimateTokensDetailed(obj);
|
|
48
|
+
expect(result.tokens).toBeGreaterThan(0);
|
|
49
|
+
expect(result.inputType).toBe('object');
|
|
50
|
+
});
|
|
51
|
+
it('should handle arrays', async () => {
|
|
52
|
+
const arr = ['item1', 'item2', 'item3'];
|
|
53
|
+
const result = await estimateTokensDetailed(arr);
|
|
54
|
+
expect(result.tokens).toBeGreaterThan(0);
|
|
55
|
+
expect(result.inputType).toBe('array');
|
|
56
|
+
});
|
|
57
|
+
it('should handle null/undefined', async () => {
|
|
58
|
+
const result1 = await estimateTokensDetailed(null);
|
|
59
|
+
expect(result1.tokens).toBe(0);
|
|
60
|
+
const result2 = await estimateTokensDetailed(undefined);
|
|
61
|
+
expect(result2.tokens).toBe(0);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('estimateTokensFromToolOutput', () => {
|
|
65
|
+
it('should extract tokens from content field', async () => {
|
|
66
|
+
const output = { content: 'Tool result content' };
|
|
67
|
+
const tokens = await estimateTokensFromToolOutput(output);
|
|
68
|
+
expect(tokens).toBeGreaterThan(0);
|
|
69
|
+
});
|
|
70
|
+
it('should extract tokens from output field', async () => {
|
|
71
|
+
const output = { output: 'Command output' };
|
|
72
|
+
const tokens = await estimateTokensFromToolOutput(output);
|
|
73
|
+
expect(tokens).toBeGreaterThan(0);
|
|
74
|
+
});
|
|
75
|
+
it('should extract tokens from text field', async () => {
|
|
76
|
+
const output = { text: 'Text data' };
|
|
77
|
+
const tokens = await estimateTokensFromToolOutput(output);
|
|
78
|
+
expect(tokens).toBeGreaterThan(0);
|
|
79
|
+
});
|
|
80
|
+
it('should extract tokens from result field', async () => {
|
|
81
|
+
const output = { result: 'Operation result' };
|
|
82
|
+
const tokens = await estimateTokensFromToolOutput(output);
|
|
83
|
+
expect(tokens).toBeGreaterThan(0);
|
|
84
|
+
});
|
|
85
|
+
it('should fallback to stringifying entire object', async () => {
|
|
86
|
+
const output = { customField: 'data', nested: { more: 'data' } };
|
|
87
|
+
const tokens = await estimateTokensFromToolOutput(output);
|
|
88
|
+
expect(tokens).toBeGreaterThan(0);
|
|
89
|
+
});
|
|
90
|
+
it('should handle null/undefined', async () => {
|
|
91
|
+
const tokens1 = await estimateTokensFromToolOutput(null);
|
|
92
|
+
expect(tokens1).toBe(0);
|
|
93
|
+
const tokens2 = await estimateTokensFromToolOutput(undefined);
|
|
94
|
+
expect(tokens2).toBe(0);
|
|
95
|
+
});
|
|
96
|
+
it('should handle string output', async () => {
|
|
97
|
+
const tokens = await estimateTokensFromToolOutput('Direct string output');
|
|
98
|
+
expect(tokens).toBeGreaterThan(0);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
describe('estimateContextSize', () => {
|
|
102
|
+
it('should estimate total tokens for conversation', async () => {
|
|
103
|
+
const messages = [
|
|
104
|
+
{ role: 'user', content: 'Hello' },
|
|
105
|
+
{ role: 'assistant', content: 'Hi there! How can I help you?' },
|
|
106
|
+
{ role: 'user', content: 'What is the weather?' },
|
|
107
|
+
];
|
|
108
|
+
const metrics = await estimateContextSize(messages);
|
|
109
|
+
expect(metrics.messageCount).toBe(3);
|
|
110
|
+
expect(metrics.totalTokens).toBeGreaterThan(0);
|
|
111
|
+
expect(metrics.averageTokensPerMessage).toBeGreaterThan(0);
|
|
112
|
+
});
|
|
113
|
+
it('should handle empty messages array', async () => {
|
|
114
|
+
const metrics = await estimateContextSize([]);
|
|
115
|
+
expect(metrics.messageCount).toBe(0);
|
|
116
|
+
expect(metrics.totalTokens).toBe(0);
|
|
117
|
+
expect(metrics.averageTokensPerMessage).toBe(0);
|
|
118
|
+
});
|
|
119
|
+
it('should handle string messages', async () => {
|
|
120
|
+
const messages = ['Message 1', 'Message 2', 'Message 3'];
|
|
121
|
+
const metrics = await estimateContextSize(messages);
|
|
122
|
+
expect(metrics.messageCount).toBe(3);
|
|
123
|
+
expect(metrics.totalTokens).toBeGreaterThan(0);
|
|
124
|
+
});
|
|
125
|
+
it('should handle multi-part content (Claude SDK format)', async () => {
|
|
126
|
+
const messages = [
|
|
127
|
+
{
|
|
128
|
+
role: 'user',
|
|
129
|
+
content: [
|
|
130
|
+
{ type: 'text', text: 'Hello' },
|
|
131
|
+
{ type: 'text', text: 'World' },
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
];
|
|
135
|
+
const metrics = await estimateContextSize(messages);
|
|
136
|
+
expect(metrics.messageCount).toBe(1);
|
|
137
|
+
expect(metrics.totalTokens).toBeGreaterThan(0);
|
|
138
|
+
});
|
|
139
|
+
it('should handle messages with text field', async () => {
|
|
140
|
+
const messages = [{ text: 'Message 1' }, { text: 'Message 2' }];
|
|
141
|
+
const metrics = await estimateContextSize(messages);
|
|
142
|
+
expect(metrics.messageCount).toBe(2);
|
|
143
|
+
expect(metrics.totalTokens).toBeGreaterThan(0);
|
|
144
|
+
});
|
|
145
|
+
it('should skip null/undefined messages', async () => {
|
|
146
|
+
const messages = [{ content: 'Valid' }, null, undefined, { content: 'Also valid' }];
|
|
147
|
+
const metrics = await estimateContextSize(messages);
|
|
148
|
+
// Should count all 4 elements but only estimate tokens for valid ones
|
|
149
|
+
expect(metrics.messageCount).toBe(4);
|
|
150
|
+
expect(metrics.totalTokens).toBeGreaterThan(0);
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
describe('estimateTokensSync', () => {
|
|
154
|
+
it('should estimate tokens synchronously', () => {
|
|
155
|
+
const text = 'Hello, world!';
|
|
156
|
+
const tokens = estimateTokensSync(text);
|
|
157
|
+
expect(tokens).toBeGreaterThan(0);
|
|
158
|
+
});
|
|
159
|
+
it('should return 0 for empty string', () => {
|
|
160
|
+
const tokens = estimateTokensSync('');
|
|
161
|
+
expect(tokens).toBe(0);
|
|
162
|
+
});
|
|
163
|
+
it('should use character-based estimation', () => {
|
|
164
|
+
// 100 characters = ~25 tokens (1 token per 4 chars)
|
|
165
|
+
const text = 'a'.repeat(100);
|
|
166
|
+
const tokens = estimateTokensSync(text);
|
|
167
|
+
expect(tokens).toBe(25);
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
describe('Token estimation accuracy', () => {
|
|
171
|
+
it('should provide reasonable estimates', async () => {
|
|
172
|
+
// Test with known-ish token counts
|
|
173
|
+
const samples = [
|
|
174
|
+
{ text: 'a', expectedRange: [1, 2] },
|
|
175
|
+
{ text: 'Hello world', expectedRange: [2, 4] },
|
|
176
|
+
{ text: 'The quick brown fox jumps over the lazy dog', expectedRange: [8, 12] },
|
|
177
|
+
];
|
|
178
|
+
for (const sample of samples) {
|
|
179
|
+
const tokens = await estimateTokens(sample.text);
|
|
180
|
+
expect(tokens).toBeGreaterThanOrEqual(sample.expectedRange[0]);
|
|
181
|
+
expect(tokens).toBeLessThanOrEqual(sample.expectedRange[1]);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
it('should be consistent for same input', async () => {
|
|
185
|
+
const text = 'Consistent estimation test';
|
|
186
|
+
const tokens1 = await estimateTokens(text);
|
|
187
|
+
const tokens2 = await estimateTokens(text);
|
|
188
|
+
expect(tokens1).toBe(tokens2);
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
//# sourceMappingURL=token-estimator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-estimator.test.js","sourceRoot":"","sources":["../../src/__tests__/token-estimator.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAE5C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,IAAI,GAAG,eAAe,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,GAAG,wBAAwB,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,IAAI,GAAG;;;;OAIZ,CAAC,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,MAAM,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAExB,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,QAAQ,GAAG;gBACf,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;gBAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,+BAA+B,EAAE;gBAC/D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE;aAClD,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEpD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAE9C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEpD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,QAAQ,GAAG;gBACf;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;wBAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;qBAChC;iBACF;aACF,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEpD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEpD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEpD,sEAAsE;YACtE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,IAAI,GAAG,eAAe,CAAC;YAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,oDAAoD;YACpD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,mCAAmC;YACnC,MAAM,OAAO,GAAG;gBACd,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBACpC,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC9C,EAAE,IAAI,EAAE,6CAA6C,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;aAChF,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,IAAI,GAAG,4BAA4B,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WA+GzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WAqE5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WAoE1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WA+GzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WAqE5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WAoE1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WA8FnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAsNjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAqCnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAuGxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAmFxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,WA+EtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WA2FhC,CAAC;AAUF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WA0B/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAqB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAqCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAsBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAoB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAuBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAiBtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAiBvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WA2H7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;IAC7G,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC,CAuCD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,i9IAuFkC,CAAC"}
|
|
@@ -303,6 +303,22 @@ You are a designer who learned to code. You see what pure developers miss—spac
|
|
|
303
303
|
|
|
304
304
|
---
|
|
305
305
|
|
|
306
|
+
# File Placement
|
|
307
|
+
|
|
308
|
+
**CRITICAL: Never create files in the project root directory** except when required by framework conventions.
|
|
309
|
+
|
|
310
|
+
| File Type | Destination |
|
|
311
|
+
|-----------|-------------|
|
|
312
|
+
| Components | Follow project's component structure |
|
|
313
|
+
| Styles | Follow project's style structure |
|
|
314
|
+
| Tests | Follow project's test structure |
|
|
315
|
+
| Documentation | \`docs/\` (create if needed) |
|
|
316
|
+
| Work discoveries | Use \`olympus discover\` command |
|
|
317
|
+
|
|
318
|
+
Follow the project's existing structure. Never create arbitrary folders at project root.
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
306
322
|
# Design Process
|
|
307
323
|
|
|
308
324
|
Before coding, commit to a **BOLD aesthetic direction**:
|
|
@@ -426,6 +442,44 @@ Create documentation that is accurate, comprehensive, and genuinely useful. Exec
|
|
|
426
442
|
- **No surprises**: Make your work visible and understandable to others
|
|
427
443
|
</role>
|
|
428
444
|
|
|
445
|
+
<file_placement>
|
|
446
|
+
## CRITICAL: Where to Save Documentation
|
|
447
|
+
|
|
448
|
+
**NEVER create files in the project root directory.**
|
|
449
|
+
|
|
450
|
+
### Documentation Routing
|
|
451
|
+
|
|
452
|
+
| Documentation Type | Destination | Example |
|
|
453
|
+
|-------------------|-------------|---------|
|
|
454
|
+
| Architecture docs | \`docs/\` | \`docs/ARCHITECTURE.md\` |
|
|
455
|
+
| API documentation | \`docs/\` | \`docs/api-reference.md\` |
|
|
456
|
+
| User guides | \`docs/\` | \`docs/getting-started.md\` |
|
|
457
|
+
| Troubleshooting | \`docs/\` | \`docs/troubleshooting.md\` |
|
|
458
|
+
| Work discoveries | Discovery system | Use \`olympus discover\` command |
|
|
459
|
+
|
|
460
|
+
### Decision Tree
|
|
461
|
+
|
|
462
|
+
Is this permanent project knowledge (for team/users)?
|
|
463
|
+
- YES -> Write to \`docs/\` (create folder if needed)
|
|
464
|
+
- NO -> Did you discover a pattern, gotcha, or insight?
|
|
465
|
+
- YES -> Use \`olympus discover "category | summary | details"\`
|
|
466
|
+
- NO -> Ask for clarification on destination
|
|
467
|
+
|
|
468
|
+
### Recording Work Discoveries
|
|
469
|
+
|
|
470
|
+
**DO NOT create markdown files for work learnings.** Use:
|
|
471
|
+
|
|
472
|
+
\`\`\`bash
|
|
473
|
+
olympus discover "category | summary | details"
|
|
474
|
+
\`\`\`
|
|
475
|
+
|
|
476
|
+
Categories: pattern, gotcha, workaround, performance, dependency, configuration, technical_insight
|
|
477
|
+
|
|
478
|
+
### User Override
|
|
479
|
+
|
|
480
|
+
If the user explicitly specifies a path, follow their instruction.
|
|
481
|
+
</file_placement>
|
|
482
|
+
|
|
429
483
|
<workflow>
|
|
430
484
|
**YOU MUST FOLLOW THESE RULES EXACTLY, EVERY SINGLE TIME:**
|
|
431
485
|
|
|
@@ -905,6 +959,21 @@ When you encounter important insights during work, document them:
|
|
|
905
959
|
|
|
906
960
|
Future agents will see your discoveries and benefit from your learnings.
|
|
907
961
|
|
|
962
|
+
## File Placement Policy
|
|
963
|
+
|
|
964
|
+
**CRITICAL: Never create files in the project root directory** except:
|
|
965
|
+
- Standard config files required by tools
|
|
966
|
+
- Files explicitly requested by user to be in root
|
|
967
|
+
|
|
968
|
+
| File Type | Destination |
|
|
969
|
+
|-----------|-------------|
|
|
970
|
+
| Work discoveries | Use \`olympus discover\` (see above) |
|
|
971
|
+
| Project documentation | \`docs/\` (create if needed) |
|
|
972
|
+
| Source code | Follow project's existing structure |
|
|
973
|
+
| Tests | Follow project's existing test structure |
|
|
974
|
+
|
|
975
|
+
**DO NOT create markdown files for learnings** - use the discovery system above.
|
|
976
|
+
|
|
908
977
|
## Plan Location (READ ONLY)
|
|
909
978
|
PLAN PATH: .olympus/plans/{plan-name}.md
|
|
910
979
|
|
|
@@ -1033,7 +1102,14 @@ TODO OBSESSION (NON-NEGOTIABLE):
|
|
|
1033
1102
|
- 2+ steps → TodoWrite FIRST, atomic breakdown
|
|
1034
1103
|
- Mark in_progress before starting (ONE at a time)
|
|
1035
1104
|
- Mark completed IMMEDIATELY after each step
|
|
1036
|
-
</Todo_Discipline
|
|
1105
|
+
</Todo_Discipline>
|
|
1106
|
+
|
|
1107
|
+
<File_Placement>
|
|
1108
|
+
**NEVER create files in project root** except config files or user-requested files.
|
|
1109
|
+
- Work discoveries -> \`olympus discover\` command
|
|
1110
|
+
- Documentation -> \`docs/\`
|
|
1111
|
+
- Code/Tests -> Follow existing structure
|
|
1112
|
+
</File_Placement>`,
|
|
1037
1113
|
tools: ['Read', 'Glob', 'Grep', 'Edit', 'Write', 'Bash', 'TodoWrite'],
|
|
1038
1114
|
model: 'opus'
|
|
1039
1115
|
};
|
|
@@ -1057,6 +1133,8 @@ Execute tasks directly. NEVER delegate.
|
|
|
1057
1133
|
<Constraints>
|
|
1058
1134
|
BLOCKED: Task tool, agent spawning
|
|
1059
1135
|
Keep it simple - if task seems complex, escalate to olympian or olympian-high.
|
|
1136
|
+
|
|
1137
|
+
**File Placement**: Never create files in project root. Use \`docs/\` for documentation, \`olympus discover\` for learnings.
|
|
1060
1138
|
</Constraints>`,
|
|
1061
1139
|
tools: ['Read', 'Glob', 'Grep', 'Edit', 'Write', 'Bash', 'TodoWrite'],
|
|
1062
1140
|
model: 'haiku'
|
|
@@ -1127,6 +1205,8 @@ Use for trivial frontend work:
|
|
|
1127
1205
|
- Adding basic elements
|
|
1128
1206
|
|
|
1129
1207
|
For creative design work, use frontend-engineer (sonnet).
|
|
1208
|
+
|
|
1209
|
+
**File Placement**: Never create files in project root. Follow project's component/style structure.
|
|
1130
1210
|
</Role>`,
|
|
1131
1211
|
tools: ['Read', 'Glob', 'Grep', 'Edit', 'Write', 'Bash'],
|
|
1132
1212
|
model: 'haiku'
|
|
@@ -1146,6 +1226,8 @@ Use for:
|
|
|
1146
1226
|
- Accessibility overhauls
|
|
1147
1227
|
|
|
1148
1228
|
You are a designer who learned to code. Create stunning, cohesive interfaces.
|
|
1229
|
+
|
|
1230
|
+
**File Placement**: Never create files in project root. Follow project's component/style structure. Documentation goes in \`docs/\`.
|
|
1149
1231
|
</Role>`,
|
|
1150
1232
|
tools: ['Read', 'Glob', 'Grep', 'Edit', 'Write', 'Bash'],
|
|
1151
1233
|
model: 'opus'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,4OAA4O;IACzP,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyGO;IACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;IACpD,KAAK,EAAE,MAAM;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,0LAA0L;IACvM,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+DW;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;IACxD,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qJAAqJ;IAClK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8DQ;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,6MAA6M;IAC1N,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,+BAA+B,EAAE,mBAsB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,+BAA+B,EAAE,mBAsB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,WAuNjC,CAAC"}
|
|
@@ -100,6 +100,44 @@ Create documentation that is accurate, comprehensive, and genuinely useful. Exec
|
|
|
100
100
|
- **No surprises**: Make your work visible and understandable to others
|
|
101
101
|
</role>
|
|
102
102
|
|
|
103
|
+
<file_placement>
|
|
104
|
+
## CRITICAL: Where to Save Documentation
|
|
105
|
+
|
|
106
|
+
**NEVER create files in the project root directory.**
|
|
107
|
+
|
|
108
|
+
### Documentation Routing
|
|
109
|
+
|
|
110
|
+
| Documentation Type | Destination | Example |
|
|
111
|
+
|-------------------|-------------|---------|
|
|
112
|
+
| Architecture docs | \`docs/\` | \`docs/ARCHITECTURE.md\` |
|
|
113
|
+
| API documentation | \`docs/\` | \`docs/api-reference.md\` |
|
|
114
|
+
| User guides | \`docs/\` | \`docs/getting-started.md\` |
|
|
115
|
+
| Troubleshooting | \`docs/\` | \`docs/troubleshooting.md\` |
|
|
116
|
+
| Work discoveries | Discovery system | Use \`olympus discover\` command |
|
|
117
|
+
|
|
118
|
+
### Decision Tree
|
|
119
|
+
|
|
120
|
+
Is this permanent project knowledge (for team/users)?
|
|
121
|
+
- YES -> Write to \`docs/\` (create folder if needed)
|
|
122
|
+
- NO -> Did you discover a pattern, gotcha, or insight?
|
|
123
|
+
- YES -> Use \`olympus discover "category | summary | details"\`
|
|
124
|
+
- NO -> Ask for clarification on destination
|
|
125
|
+
|
|
126
|
+
### Recording Work Discoveries
|
|
127
|
+
|
|
128
|
+
**DO NOT create markdown files for work learnings.** Use:
|
|
129
|
+
|
|
130
|
+
\`\`\`bash
|
|
131
|
+
olympus discover "category | summary | details"
|
|
132
|
+
\`\`\`
|
|
133
|
+
|
|
134
|
+
Categories: pattern, gotcha, workaround, performance, dependency, configuration, technical_insight
|
|
135
|
+
|
|
136
|
+
### User Override
|
|
137
|
+
|
|
138
|
+
If the user explicitly specifies a path, follow their instruction.
|
|
139
|
+
</file_placement>
|
|
140
|
+
|
|
103
141
|
<workflow>
|
|
104
142
|
**YOU MUST FOLLOW THESE RULES EXACTLY, EVERY SINGLE TIME:**
|
|
105
143
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,+BAA+B,GAAwB;IAClE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,oCAAoC;SAC9C;KACF;IACD,OAAO,EAAE;QACP,mCAAmC;QACnC,2BAA2B;QAC3B,mCAAmC;QACnC,+BAA+B;QAC/B,4BAA4B;KAC7B;IACD,SAAS,EAAE;QACT,2BAA2B;QAC3B,WAAW;QACX,yBAAyB;KAC1B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,4IAA4I;IACzJ,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,+BAA+B,GAAwB;IAClE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,oCAAoC;SAC9C;KACF;IACD,OAAO,EAAE;QACP,mCAAmC;QACnC,2BAA2B;QAC3B,mCAAmC;QACnC,+BAA+B;QAC/B,4BAA4B;KAC7B;IACD,SAAS,EAAE;QACT,2BAA2B;QAC3B,WAAW;QACX,yBAAyB;KAC1B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,4IAA4I;IACzJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAgND;IACP,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAChD,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,+BAA+B;CAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-engineer.d.ts","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,iCAAiC,EAAE,mBA0B/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WA+
|
|
1
|
+
{"version":3,"file":"frontend-engineer.d.ts","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,iCAAiC,EAAE,mBA0B/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WA+FnC,CAAC"}
|
|
@@ -64,6 +64,22 @@ You are a designer who learned to code. You see what pure developers miss—spac
|
|
|
64
64
|
|
|
65
65
|
---
|
|
66
66
|
|
|
67
|
+
# File Placement
|
|
68
|
+
|
|
69
|
+
**CRITICAL: Never create files in the project root directory** except when required by framework conventions.
|
|
70
|
+
|
|
71
|
+
| File Type | Destination |
|
|
72
|
+
|-----------|-------------|
|
|
73
|
+
| Components | Follow project's component structure |
|
|
74
|
+
| Styles | Follow project's style structure |
|
|
75
|
+
| Tests | Follow project's test structure |
|
|
76
|
+
| Documentation | \`docs/\` (create if needed) |
|
|
77
|
+
| Work discoveries | Use \`olympus discover\` command |
|
|
78
|
+
|
|
79
|
+
Follow the project's existing structure. Never create arbitrary folders at project root.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
67
83
|
# Design Process
|
|
68
84
|
|
|
69
85
|
Before coding, commit to a **BOLD aesthetic direction**:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-engineer.js","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,CAAC,MAAM,iCAAiC,GAAwB;IACpE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,oDAAoD;SAC9D;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,uCAAuC;SACjD;KACF;IACD,OAAO,EAAE;QACP,kCAAkC;QAClC,iCAAiC;QACjC,0BAA0B;QAC1B,4BAA4B;QAC5B,wBAAwB;KACzB;IACD,SAAS,EAAE;QACT,sCAAsC;QACtC,kBAAkB;QAClB,wBAAwB;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,6MAA6M;IAC1N,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"frontend-engineer.js","sourceRoot":"","sources":["../../src/agents/frontend-engineer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,CAAC,MAAM,iCAAiC,GAAwB;IACpE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,oDAAoD;SAC9D;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,uCAAuC;SACjD;KACF;IACD,OAAO,EAAE;QACP,kCAAkC;QAClC,iCAAiC;QACjC,0BAA0B;QAC1B,4BAA4B;QAC5B,wBAAwB;KACzB;IACD,SAAS,EAAE;QACT,sCAAsC;QACtC,kBAAkB;QAClB,wBAAwB;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,6MAA6M;IAC1N,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQAwF8P;IACtQ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACxD,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,iCAAiC;CAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"olympian.d.ts","sourceRoot":"","sources":["../../src/agents/olympian.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,wBAAwB,EAAE,mBAoBtC,CAAC;
|
|
1
|
+
{"version":3,"file":"olympian.d.ts","sourceRoot":"","sources":["../../src/agents/olympian.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,wBAAwB,EAAE,mBAoBtC,CAAC;AAyFF,eAAO,MAAM,kBAAkB,EAAE,WAOhC,CAAC"}
|
package/dist/agents/olympian.js
CHANGED
|
@@ -75,6 +75,21 @@ When you encounter important insights during work, document them:
|
|
|
75
75
|
|
|
76
76
|
Future agents will see your discoveries and benefit from your learnings.
|
|
77
77
|
|
|
78
|
+
## File Placement Policy
|
|
79
|
+
|
|
80
|
+
**CRITICAL: Never create files in the project root directory** except:
|
|
81
|
+
- Standard config files required by tools
|
|
82
|
+
- Files explicitly requested by user to be in root
|
|
83
|
+
|
|
84
|
+
| File Type | Destination |
|
|
85
|
+
|-----------|-------------|
|
|
86
|
+
| Work discoveries | Use \`olympus discover\` (see above) |
|
|
87
|
+
| Project documentation | \`docs/\` (create if needed) |
|
|
88
|
+
| Source code | Follow project's existing structure |
|
|
89
|
+
| Tests | Follow project's existing test structure |
|
|
90
|
+
|
|
91
|
+
**DO NOT create markdown files for learnings** - use the discovery system above.
|
|
92
|
+
|
|
78
93
|
## Plan Location (READ ONLY)
|
|
79
94
|
PLAN PATH: .olympus/plans/{plan-name}.md
|
|
80
95
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"olympian.js","sourceRoot":"","sources":["../../src/agents/olympian.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC3D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE;QACR,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,oCAAoC,EAAE;QAClF,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAE;QACvD,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,6BAA6B,EAAE;KACrE;IACD,OAAO,EAAE;QACP,sCAAsC;QACtC,iCAAiC;QACjC,0CAA0C;QAC1C,+BAA+B;KAChC;IACD,SAAS,EAAE;QACT,2CAA2C;QAC3C,wDAAwD;QACxD,oCAAoC;KACrC;CACF,CAAC;AAEF,MAAM,eAAe,GAAG
|
|
1
|
+
{"version":3,"file":"olympian.js","sourceRoot":"","sources":["../../src/agents/olympian.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC3D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE;QACR,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,oCAAoC,EAAE;QAClF,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAE;QACvD,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,6BAA6B,EAAE;KACrE;IACD,OAAO,EAAE;QACP,sCAAsC;QACtC,iCAAiC;QACjC,0CAA0C;QAC1C,+BAA+B;KAChC;IACD,SAAS,EAAE;QACT,2CAA2C;QAC3C,wDAAwD;QACxD,oCAAoC;KACrC;CACF,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAqFf,CAAC;AAEV,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,iIAAiI;IAC9I,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACxD,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,wBAAwB;CACnC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Metrics CLI Commands
|
|
3
|
+
*
|
|
4
|
+
* Commands for viewing and analyzing token usage metrics.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Show recent token metrics in table format
|
|
8
|
+
*/
|
|
9
|
+
export declare function showMetrics(options: {
|
|
10
|
+
limit?: number;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Export metrics to file
|
|
14
|
+
*/
|
|
15
|
+
export declare function exportMetrics(options: {
|
|
16
|
+
format?: 'csv' | 'json';
|
|
17
|
+
output?: string;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Analyze token metrics and show summary statistics
|
|
21
|
+
*/
|
|
22
|
+
export declare function analyzeMetrics(options: {
|
|
23
|
+
sessions?: number;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Clean up old metrics
|
|
27
|
+
*/
|
|
28
|
+
export declare function cleanMetrics(options: {
|
|
29
|
+
days?: number;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsDH;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C5E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDhB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkJlF;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E"}
|