olympus-ai 3.4.0 ā 3.5.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/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +631 -630
- package/dist/__tests__/installer.test.js +1 -1
- package/dist/__tests__/workflow-engine/checkpoint.test.d.ts +7 -0
- package/dist/__tests__/workflow-engine/checkpoint.test.d.ts.map +1 -0
- package/dist/__tests__/workflow-engine/checkpoint.test.js +373 -0
- package/dist/__tests__/workflow-engine/checkpoint.test.js.map +1 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +8 -0
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/idea-intake.d.ts +20 -0
- package/dist/agents/idea-intake.d.ts.map +1 -0
- package/dist/agents/idea-intake.js +255 -0
- package/dist/agents/idea-intake.js.map +1 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/intent-generator.d.ts +19 -0
- package/dist/agents/intent-generator.d.ts.map +1 -0
- package/dist/agents/intent-generator.js +303 -0
- package/dist/agents/intent-generator.js.map +1 -0
- package/dist/agents/prd-writer.d.ts +19 -0
- package/dist/agents/prd-writer.d.ts.map +1 -0
- package/dist/agents/prd-writer.js +236 -0
- package/dist/agents/prd-writer.js.map +1 -0
- package/dist/agents/prometheus.d.ts.map +1 -1
- package/dist/agents/prometheus.js +123 -2
- package/dist/agents/prometheus.js.map +1 -1
- package/dist/agents/spec-writer.d.ts +19 -0
- package/dist/agents/spec-writer.d.ts.map +1 -0
- package/dist/agents/spec-writer.js +528 -0
- package/dist/agents/spec-writer.js.map +1 -0
- package/dist/features/index.d.ts +1 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +6 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/workflow-engine/artifacts.d.ts +96 -0
- package/dist/features/workflow-engine/artifacts.d.ts.map +1 -0
- package/dist/features/workflow-engine/artifacts.js +399 -0
- package/dist/features/workflow-engine/artifacts.js.map +1 -0
- package/dist/features/workflow-engine/checkpoint.d.ts +67 -0
- package/dist/features/workflow-engine/checkpoint.d.ts.map +1 -0
- package/dist/features/workflow-engine/checkpoint.js +249 -0
- package/dist/features/workflow-engine/checkpoint.js.map +1 -0
- package/dist/features/workflow-engine/engine.d.ts +128 -0
- package/dist/features/workflow-engine/engine.d.ts.map +1 -0
- package/dist/features/workflow-engine/engine.js +600 -0
- package/dist/features/workflow-engine/engine.js.map +1 -0
- package/dist/features/workflow-engine/execution.d.ts +99 -0
- package/dist/features/workflow-engine/execution.d.ts.map +1 -0
- package/dist/features/workflow-engine/execution.js +493 -0
- package/dist/features/workflow-engine/execution.js.map +1 -0
- package/dist/features/workflow-engine/hooks.d.ts +78 -0
- package/dist/features/workflow-engine/hooks.d.ts.map +1 -0
- package/dist/features/workflow-engine/hooks.js +188 -0
- package/dist/features/workflow-engine/hooks.js.map +1 -0
- package/dist/features/workflow-engine/index.d.ts +17 -0
- package/dist/features/workflow-engine/index.d.ts.map +1 -0
- package/dist/features/workflow-engine/index.js +19 -0
- package/dist/features/workflow-engine/index.js.map +1 -0
- package/dist/features/workflow-engine/types.d.ts +220 -0
- package/dist/features/workflow-engine/types.d.ts.map +1 -0
- package/dist/features/workflow-engine/types.js +8 -0
- package/dist/features/workflow-engine/types.js.map +1 -0
- package/dist/features/workflow-engine/validation.d.ts +128 -0
- package/dist/features/workflow-engine/validation.d.ts.map +1 -0
- package/dist/features/workflow-engine/validation.js +746 -0
- package/dist/features/workflow-engine/validation.js.map +1 -0
- package/dist/hooks/ascent-verifier/index.d.ts +52 -0
- package/dist/hooks/ascent-verifier/index.d.ts.map +1 -1
- package/dist/hooks/ascent-verifier/index.js +146 -0
- package/dist/hooks/ascent-verifier/index.js.map +1 -1
- package/dist/hooks/registrations/learning-capture.d.ts.map +1 -1
- package/dist/hooks/registrations/learning-capture.js +32 -9
- package/dist/hooks/registrations/learning-capture.js.map +1 -1
- package/dist/hooks/registrations/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/registrations/user-prompt-submit.js +85 -0
- package/dist/hooks/registrations/user-prompt-submit.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +456 -16
- package/dist/installer/index.js.map +1 -1
- package/dist/learning/session-state.d.ts.map +1 -1
- package/dist/learning/session-state.js +17 -0
- package/dist/learning/session-state.js.map +1 -1
- package/dist/learning/types.d.ts +3 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/shared/types.d.ts +17 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +3 -1
- package/scripts/dist/hooks/olympus-hooks.cjs +208 -97
- package/scripts/rebrand.mjs +0 -206
package/scripts/rebrand.mjs
DELETED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Rebrand Script: Olympus ā Olympus
|
|
5
|
-
*
|
|
6
|
-
* Renames:
|
|
7
|
-
* - olympus ā olympus
|
|
8
|
-
* - ascent (persistence loop) ā ascent
|
|
9
|
-
* - olympian ā olympian
|
|
10
|
-
*
|
|
11
|
-
* Run: node rebrand.mjs
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { readFileSync, writeFileSync, renameSync, readdirSync, statSync, existsSync } from 'fs';
|
|
15
|
-
import { join, basename, dirname } from 'path';
|
|
16
|
-
|
|
17
|
-
const ROOT = process.cwd();
|
|
18
|
-
|
|
19
|
-
// Text replacements (order matters - more specific first)
|
|
20
|
-
const TEXT_REPLACEMENTS = [
|
|
21
|
-
// Ascent loop ā Ascent (renamed from the-ascent)
|
|
22
|
-
['the-ascent', 'ascent'],
|
|
23
|
-
['the_ascent', 'ascent'],
|
|
24
|
-
['The-Ascent', 'Ascent'],
|
|
25
|
-
['The Ascent', 'Ascent'],
|
|
26
|
-
['THE_ASCENT', 'ASCENT'],
|
|
27
|
-
['THE-ASCENT', 'ASCENT'],
|
|
28
|
-
['cancel-ascent', 'cancel-ascent'],
|
|
29
|
-
['cancelAscent', 'cancelAscent'],
|
|
30
|
-
|
|
31
|
-
// Ascent ā Ascent (general)
|
|
32
|
-
['ascent', 'ascent'],
|
|
33
|
-
['Ascent', 'Ascent'],
|
|
34
|
-
['ASCENT', 'ASCENT'],
|
|
35
|
-
|
|
36
|
-
// Olympus Junior ā Olympian
|
|
37
|
-
['olympian', 'olympian'],
|
|
38
|
-
['olympian', 'olympian'],
|
|
39
|
-
['Olympian', 'Olympian'],
|
|
40
|
-
['OLYMPIAN', 'OLYMPIAN'],
|
|
41
|
-
|
|
42
|
-
// Olympus ā Olympus
|
|
43
|
-
['olympus-default', 'olympus-default'],
|
|
44
|
-
['/olympus', '/olympus'],
|
|
45
|
-
['olympus', 'olympus'],
|
|
46
|
-
['Olympus', 'Olympus'],
|
|
47
|
-
['OLYMPUS', 'OLYMPUS'],
|
|
48
|
-
];
|
|
49
|
-
|
|
50
|
-
// File/directory renames
|
|
51
|
-
const PATH_RENAMES = [
|
|
52
|
-
['.olympus', '.olympus'],
|
|
53
|
-
['olympian-high.md', 'olympian-high.md'],
|
|
54
|
-
['olympian-low.md', 'olympian-low.md'],
|
|
55
|
-
['olympian.md', 'olympian.md'],
|
|
56
|
-
['olympus-default.md', 'olympus-default.md'],
|
|
57
|
-
['the-ascent.md', 'ascent.md'],
|
|
58
|
-
['cancel-ascent.md', 'cancel-ascent.md'],
|
|
59
|
-
];
|
|
60
|
-
|
|
61
|
-
// Files to skip (binary, lock files, etc.)
|
|
62
|
-
const SKIP_PATTERNS = [
|
|
63
|
-
'node_modules',
|
|
64
|
-
'.git',
|
|
65
|
-
'package-lock.json',
|
|
66
|
-
'.png',
|
|
67
|
-
'.jpg',
|
|
68
|
-
'.ico',
|
|
69
|
-
'.woff',
|
|
70
|
-
'dist/',
|
|
71
|
-
];
|
|
72
|
-
|
|
73
|
-
function shouldSkip(path) {
|
|
74
|
-
return SKIP_PATTERNS.some(pattern => path.includes(pattern));
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function replaceInFile(filePath) {
|
|
78
|
-
if (shouldSkip(filePath)) return false;
|
|
79
|
-
|
|
80
|
-
const ext = filePath.split('.').pop();
|
|
81
|
-
const textExtensions = ['md', 'json', 'js', 'ts', 'mjs', 'mts', 'txt', 'yaml', 'yml', 'sh', 'toml'];
|
|
82
|
-
|
|
83
|
-
if (!textExtensions.includes(ext)) return false;
|
|
84
|
-
|
|
85
|
-
try {
|
|
86
|
-
let content = readFileSync(filePath, 'utf8');
|
|
87
|
-
let originalContent = content;
|
|
88
|
-
|
|
89
|
-
for (const [search, replace] of TEXT_REPLACEMENTS) {
|
|
90
|
-
content = content.split(search).join(replace);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (content !== originalContent) {
|
|
94
|
-
writeFileSync(filePath, content, 'utf8');
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
} catch (e) {
|
|
98
|
-
console.error(`Error processing ${filePath}: ${e.message}`);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
function renameIfNeeded(fullPath) {
|
|
105
|
-
const name = basename(fullPath);
|
|
106
|
-
|
|
107
|
-
for (const [oldName, newName] of PATH_RENAMES) {
|
|
108
|
-
if (name === oldName) {
|
|
109
|
-
const newPath = join(dirname(fullPath), newName);
|
|
110
|
-
try {
|
|
111
|
-
renameSync(fullPath, newPath);
|
|
112
|
-
console.log(` Renamed: ${name} ā ${newName}`);
|
|
113
|
-
return newPath;
|
|
114
|
-
} catch (e) {
|
|
115
|
-
console.error(` Error renaming ${name}: ${e.message}`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return fullPath;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
function walkDir(dir, fileCallback, dirCallback) {
|
|
124
|
-
if (shouldSkip(dir)) return;
|
|
125
|
-
|
|
126
|
-
const entries = readdirSync(dir);
|
|
127
|
-
|
|
128
|
-
// Process files first
|
|
129
|
-
for (const entry of entries) {
|
|
130
|
-
const fullPath = join(dir, entry);
|
|
131
|
-
if (shouldSkip(fullPath)) continue;
|
|
132
|
-
|
|
133
|
-
try {
|
|
134
|
-
const stat = statSync(fullPath);
|
|
135
|
-
if (stat.isFile()) {
|
|
136
|
-
fileCallback(fullPath);
|
|
137
|
-
}
|
|
138
|
-
} catch (e) {}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// Then process directories (and recurse)
|
|
142
|
-
for (const entry of entries) {
|
|
143
|
-
const fullPath = join(dir, entry);
|
|
144
|
-
if (shouldSkip(fullPath)) continue;
|
|
145
|
-
|
|
146
|
-
try {
|
|
147
|
-
const stat = statSync(fullPath);
|
|
148
|
-
if (stat.isDirectory()) {
|
|
149
|
-
walkDir(fullPath, fileCallback, dirCallback);
|
|
150
|
-
dirCallback(fullPath);
|
|
151
|
-
}
|
|
152
|
-
} catch (e) {}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// Main execution
|
|
157
|
-
console.log('šļø OLYMPUS REBRAND SCRIPT');
|
|
158
|
-
console.log('========================\n');
|
|
159
|
-
|
|
160
|
-
console.log('Step 1: Replacing text in files...');
|
|
161
|
-
let filesModified = 0;
|
|
162
|
-
walkDir(ROOT, (filePath) => {
|
|
163
|
-
if (replaceInFile(filePath)) {
|
|
164
|
-
filesModified++;
|
|
165
|
-
console.log(` Modified: ${filePath.replace(ROOT, '')}`);
|
|
166
|
-
}
|
|
167
|
-
}, () => {});
|
|
168
|
-
|
|
169
|
-
console.log(`\n ā Modified ${filesModified} files\n`);
|
|
170
|
-
|
|
171
|
-
console.log('Step 2: Renaming files and directories...');
|
|
172
|
-
walkDir(ROOT, () => {}, (dirPath) => {
|
|
173
|
-
renameIfNeeded(dirPath);
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
// Rename files in key directories
|
|
177
|
-
const dirsToCheck = ['agents', 'commands', 'skills', 'hooks', '.'];
|
|
178
|
-
for (const dir of dirsToCheck) {
|
|
179
|
-
const fullDir = join(ROOT, dir);
|
|
180
|
-
if (existsSync(fullDir)) {
|
|
181
|
-
try {
|
|
182
|
-
const entries = readdirSync(fullDir);
|
|
183
|
-
for (const entry of entries) {
|
|
184
|
-
const fullPath = join(fullDir, entry);
|
|
185
|
-
if (statSync(fullPath).isFile()) {
|
|
186
|
-
renameIfNeeded(fullPath);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
} catch (e) {}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
// Rename .olympus directory
|
|
194
|
-
const olympusDir = join(ROOT, '.olympus');
|
|
195
|
-
const olympusDir = join(ROOT, '.olympus');
|
|
196
|
-
if (existsSync(olympusDir)) {
|
|
197
|
-
renameSync(olympusDir, olympusDir);
|
|
198
|
-
console.log(' Renamed: .olympus ā .olympus');
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
console.log('\nā
Rebrand complete!\n');
|
|
202
|
-
console.log('Next steps:');
|
|
203
|
-
console.log('1. Review the changes: git diff');
|
|
204
|
-
console.log('2. Update package.json with your details');
|
|
205
|
-
console.log('3. Update README.md with Olympus branding');
|
|
206
|
-
console.log('4. Commit: git add -A && git commit -m "Rebrand to Olympus"');
|