engine7 7.1.38 → 7.1.40
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/dist/cli.mjs +81 -45
- package/dist/engine-startup.mjs +4856 -3650
- package/dist/main.mjs +4852 -3646
- package/package.json +2 -1
- package/templates/skills/superpowers/brainstorming/SKILL.md +151 -0
- package/templates/skills/superpowers/brainstorming/scripts/frame-template.html +213 -0
- package/templates/skills/superpowers/brainstorming/scripts/helper.js +167 -0
- package/templates/skills/superpowers/brainstorming/scripts/server.cjs +723 -0
- package/templates/skills/superpowers/brainstorming/scripts/start-server.sh +209 -0
- package/templates/skills/superpowers/brainstorming/scripts/stop-server.sh +120 -0
- package/templates/skills/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/templates/skills/superpowers/brainstorming/visual-companion.md +298 -0
- package/templates/skills/superpowers/dispatching-parallel-agents/SKILL.md +167 -0
- package/templates/skills/superpowers/executing-plans/SKILL.md +64 -0
- package/templates/skills/superpowers/finishing-a-development-branch/SKILL.md +201 -0
- package/templates/skills/superpowers/receiving-code-review/SKILL.md +205 -0
- package/templates/skills/superpowers/requesting-code-review/SKILL.md +95 -0
- package/templates/skills/superpowers/requesting-code-review/code-reviewer.md +172 -0
- package/templates/skills/superpowers/subagent-driven-development/SKILL.md +503 -0
- package/templates/skills/superpowers/subagent-driven-development/implementer-prompt.md +142 -0
- package/templates/skills/superpowers/subagent-driven-development/re-review-prompt.md +106 -0
- package/templates/skills/superpowers/subagent-driven-development/scripts/review-package +46 -0
- package/templates/skills/superpowers/subagent-driven-development/scripts/sdd-workspace +40 -0
- package/templates/skills/superpowers/subagent-driven-development/scripts/task-brief +41 -0
- package/templates/skills/superpowers/subagent-driven-development/task-reviewer-prompt.md +185 -0
- package/templates/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
- package/templates/skills/superpowers/systematic-debugging/SKILL.md +283 -0
- package/templates/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/templates/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
- package/templates/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
- package/templates/skills/superpowers/systematic-debugging/find-polluter.sh +72 -0
- package/templates/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
- package/templates/skills/superpowers/systematic-debugging/test-academic.md +14 -0
- package/templates/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
- package/templates/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
- package/templates/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
- package/templates/skills/superpowers/test-driven-development/SKILL.md +320 -0
- package/templates/skills/superpowers/test-driven-development/writing-good-tests.md +198 -0
- package/templates/skills/superpowers/using-git-worktrees/SKILL.md +167 -0
- package/templates/skills/superpowers/using-superpowers/SKILL.md +62 -0
- package/templates/skills/superpowers/using-superpowers/references/antigravity-tools.md +23 -0
- package/templates/skills/superpowers/using-superpowers/references/codex-tools.md +39 -0
- package/templates/skills/superpowers/using-superpowers/references/gemini-tools.md +63 -0
- package/templates/skills/superpowers/using-superpowers/references/pi-tools.md +16 -0
- package/templates/skills/superpowers/verification-before-completion/SKILL.md +120 -0
- package/templates/skills/superpowers/writing-plans/SKILL.md +168 -0
- package/templates/skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/templates/skills/superpowers/writing-skills/SKILL.md +679 -0
- package/templates/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
- package/templates/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/templates/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
- package/templates/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
- package/templates/skills/superpowers/writing-skills/render-graphs.js +168 -0
- package/templates/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
package/dist/cli.mjs
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
const require=(await import('node:module')).createRequire(import.meta.url)
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __esm = (fn, res) => function __init() {
|
|
5
|
-
|
|
4
|
+
var __esm = (fn, res, err) => function __init() {
|
|
5
|
+
if (err) throw err[0];
|
|
6
|
+
try {
|
|
7
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
8
|
+
} catch (e) {
|
|
9
|
+
throw err = [e], e;
|
|
10
|
+
}
|
|
6
11
|
};
|
|
7
12
|
var __export = (target, all) => {
|
|
8
13
|
for (var name in all)
|
|
@@ -205,12 +210,19 @@ async function doExport(opts) {
|
|
|
205
210
|
configFiles.push(f);
|
|
206
211
|
}
|
|
207
212
|
}
|
|
213
|
+
const EVEROS_SKIP = /* @__PURE__ */ new Set([".tmp", ".lock", "import.log", "import_progress.json"]);
|
|
208
214
|
const everosDir = path.join(stateDir, ".everos");
|
|
209
215
|
const everosFiles = [];
|
|
210
216
|
if (fs.existsSync(everosDir)) {
|
|
211
217
|
for (const f of collectAllFiles(everosDir)) {
|
|
218
|
+
if (EVEROS_SKIP.has(path.basename(f))) continue;
|
|
212
219
|
everosFiles.push(f);
|
|
213
220
|
}
|
|
221
|
+
const walFile = path.join(everosDir, ".index", "sqlite", "system.db-wal");
|
|
222
|
+
if (fs.existsSync(walFile) && fs.statSync(walFile).size > 0) {
|
|
223
|
+
console.warn(`\u26A0\uFE0F .everos/system.db-wal \u975E\u7A7A\u2014\u2014everos \u670D\u52A1\u53EF\u80FD\u6B63\u5728\u5199\u5165\uFF0C\u5FEB\u7167\u53EF\u80FD\u4E0D\u4E00\u81F4`);
|
|
224
|
+
console.warn(` \u5EFA\u8BAE: \u5148\u505C everos \u670D\u52A1\u518D export\uFF0C\u6216 import \u540E\u91CD\u5EFA\u7D22\u5F15`);
|
|
225
|
+
}
|
|
214
226
|
}
|
|
215
227
|
console.log(` workspace \u6587\u4EF6: ${wsFiles.length}`);
|
|
216
228
|
console.log(` session jsonl: ${sessionFiles.length} (\u6700\u8FD17\u5929)`);
|
|
@@ -221,6 +233,12 @@ async function doExport(opts) {
|
|
|
221
233
|
[DRY RUN] \u4F1A\u6253\u5305\u4EE5\u4E0B\u6587\u4EF6:`);
|
|
222
234
|
wsFiles.slice(0, 20).forEach((f) => console.log(` ${path.relative(workspace, f)}`));
|
|
223
235
|
if (wsFiles.length > 20) console.log(` ... \u8FD8\u6709 ${wsFiles.length - 20} \u4E2A\u6587\u4EF6`);
|
|
236
|
+
if (everosFiles.length > 0) {
|
|
237
|
+
console.log(`
|
|
238
|
+
[DRY RUN] everos (${everosFiles.length} \u6587\u4EF6):`);
|
|
239
|
+
everosFiles.slice(0, 10).forEach((f) => console.log(` ${path.relative(stateDir, f)}`));
|
|
240
|
+
if (everosFiles.length > 10) console.log(` ... \u8FD8\u6709 ${everosFiles.length - 10} \u4E2A\u6587\u4EF6`);
|
|
241
|
+
}
|
|
224
242
|
console.log(`
|
|
225
243
|
[DRY RUN] \u4E0D\u5B9E\u9645\u6253\u5305`);
|
|
226
244
|
return;
|
|
@@ -233,54 +251,47 @@ async function doExport(opts) {
|
|
|
233
251
|
fs.mkdirSync(stagingDir, { recursive: true });
|
|
234
252
|
let fileCount = 0;
|
|
235
253
|
let totalSize = 0;
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
const
|
|
254
|
+
let copyFail = 0;
|
|
255
|
+
const copyOne = (srcFile, relRoot, destRoot) => {
|
|
256
|
+
const relPath = path.relative(relRoot, srcFile);
|
|
257
|
+
const destFile = path.join(destRoot, relPath);
|
|
239
258
|
fs.mkdirSync(path.dirname(destFile), { recursive: true });
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
259
|
+
try {
|
|
260
|
+
if (isTextFile(srcFile)) {
|
|
261
|
+
const content = fs.readFileSync(srcFile, "utf-8");
|
|
262
|
+
fs.writeFileSync(destFile, sanitizeContent(content, dirs));
|
|
263
|
+
} else {
|
|
264
|
+
fs.copyFileSync(srcFile, destFile);
|
|
265
|
+
}
|
|
266
|
+
fileCount++;
|
|
267
|
+
totalSize += fs.statSync(srcFile).size;
|
|
268
|
+
} catch (e) {
|
|
269
|
+
copyFail++;
|
|
270
|
+
console.warn(` \u26A0\uFE0F \u62F7\u8D1D\u5931\u8D25: ${relPath} (${e.code || e.message})`);
|
|
245
271
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
272
|
+
};
|
|
273
|
+
for (const srcFile of wsFiles) copyOne(srcFile, workspace, path.join(stagingDir, "workspace"));
|
|
249
274
|
for (const srcFile of sessionFiles) {
|
|
250
275
|
const relPath = path.relative(stateDir, srcFile);
|
|
251
276
|
const destFile = path.join(stagingDir, relPath);
|
|
252
277
|
fs.mkdirSync(path.dirname(destFile), { recursive: true });
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
fs.mkdirSync(path.dirname(destFile), { recursive: true });
|
|
267
|
-
if (isTextFile(srcFile)) {
|
|
268
|
-
const content = fs.readFileSync(srcFile, "utf-8");
|
|
269
|
-
fs.writeFileSync(destFile, sanitizeContent(content, dirs));
|
|
270
|
-
} else {
|
|
271
|
-
fs.copyFileSync(srcFile, destFile);
|
|
278
|
+
try {
|
|
279
|
+
let content = fs.readFileSync(srcFile, "utf-8");
|
|
280
|
+
content = sanitizeContent(content, dirs);
|
|
281
|
+
const baseName = path.basename(srcFile);
|
|
282
|
+
if (baseName === "session-index.json" || baseName === "platform-map.json") {
|
|
283
|
+
content = content.split("\\\\").join("/");
|
|
284
|
+
}
|
|
285
|
+
fs.writeFileSync(destFile, content);
|
|
286
|
+
fileCount++;
|
|
287
|
+
totalSize += fs.statSync(srcFile).size;
|
|
288
|
+
} catch (e) {
|
|
289
|
+
copyFail++;
|
|
290
|
+
console.warn(` \u26A0\uFE0F \u62F7\u8D1D\u5931\u8D25: ${relPath} (${e.code || e.message})`);
|
|
272
291
|
}
|
|
273
|
-
fileCount++;
|
|
274
|
-
totalSize += fs.statSync(srcFile).size;
|
|
275
|
-
}
|
|
276
|
-
for (const srcFile of everosFiles) {
|
|
277
|
-
const relPath = path.relative(stateDir, srcFile);
|
|
278
|
-
const destFile = path.join(stagingDir, relPath);
|
|
279
|
-
fs.mkdirSync(path.dirname(destFile), { recursive: true });
|
|
280
|
-
fs.copyFileSync(srcFile, destFile);
|
|
281
|
-
fileCount++;
|
|
282
|
-
totalSize += fs.statSync(srcFile).size;
|
|
283
292
|
}
|
|
293
|
+
for (const srcFile of configFiles) copyOne(srcFile, stateDir, stagingDir);
|
|
294
|
+
for (const srcFile of everosFiles) copyOne(srcFile, stateDir, stagingDir);
|
|
284
295
|
const manifest = {
|
|
285
296
|
agentName,
|
|
286
297
|
version,
|
|
@@ -302,11 +313,11 @@ async function doExport(opts) {
|
|
|
302
313
|
const tarExe = process.platform === "win32" ? "C:\\Windows\\System32\\tar.exe" : "tar";
|
|
303
314
|
execSync(`"${tarExe}" -czf "${archiveFile}" -C "${tmpDir}" ${agentName}`, { stdio: "pipe" });
|
|
304
315
|
const archiveSize = fs.statSync(archiveFile).size;
|
|
305
|
-
console.log(`\u2705 \u6253\u5305\u5B8C\u6210: ${archiveFile} (${(archiveSize / 1024 / 1024).toFixed(1)} MB, ${fileCount} \u6587\u4EF6)`);
|
|
316
|
+
console.log(`\u2705 \u6253\u5305\u5B8C\u6210: ${archiveFile} (${(archiveSize / 1024 / 1024).toFixed(1)} MB, ${fileCount} \u6587\u4EF6${copyFail ? `, \u5931\u8D25 ${copyFail}` : ""})`);
|
|
306
317
|
const cfg = loadTravelConfig();
|
|
307
318
|
if (!cfg || !cfg.githubToken) {
|
|
308
319
|
console.log(`
|
|
309
|
-
\u26A0\uFE0F \u672A\u914D\u7F6E GitHub\uFF0Ctar.gz \u5DF2\u751F\u6210: ${
|
|
320
|
+
\u26A0\uFE0F \u672A\u914D\u7F6E GitHub\uFF0Ctar.gz \u5DF2\u751F\u6210: ${archiveFile}`);
|
|
310
321
|
console.log(` \u914D\u7F6E GitHub: \u7F16\u8F91 ${CONFIG_PATH}`);
|
|
311
322
|
console.log(` \u6216\u624B\u52A8\u4E0A\u4F20\u5230 GitHub private repo release`);
|
|
312
323
|
return;
|
|
@@ -400,6 +411,28 @@ async function doImport(opts) {
|
|
|
400
411
|
restoredCount++;
|
|
401
412
|
}
|
|
402
413
|
}
|
|
414
|
+
const everosStaging = path.join(stagingDir, ".everos");
|
|
415
|
+
if (fs.existsSync(everosStaging)) {
|
|
416
|
+
const everosFiles = collectAllFiles(everosStaging);
|
|
417
|
+
for (const srcFile of everosFiles) {
|
|
418
|
+
const relPath = path.relative(stagingDir, srcFile);
|
|
419
|
+
const destFile = path.join(stateDir, relPath);
|
|
420
|
+
fs.mkdirSync(path.dirname(destFile), { recursive: true });
|
|
421
|
+
try {
|
|
422
|
+
if (isTextFile(srcFile)) {
|
|
423
|
+
const content = fs.readFileSync(srcFile, "utf-8");
|
|
424
|
+
fs.writeFileSync(destFile, restoreContent(content, dirs));
|
|
425
|
+
} else {
|
|
426
|
+
fs.copyFileSync(srcFile, destFile);
|
|
427
|
+
}
|
|
428
|
+
restoredCount++;
|
|
429
|
+
} catch (e) {
|
|
430
|
+
skipCount++;
|
|
431
|
+
console.log(` \u26A0\uFE0F \u8DF3\u8FC7: ${path.relative(everosStaging, srcFile)} (${e.code || e.message})`);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
console.log(` everos: ${everosFiles.length} \u6587\u4EF6\u5DF2\u6062\u590D`);
|
|
435
|
+
}
|
|
403
436
|
console.log(`\u2705 \u6062\u590D\u5B8C\u6210: ${restoredCount} \u6587\u4EF6 \u2192 ${stateDir}${skipCount ? ` (\u8DF3\u8FC7 ${skipCount})` : ""}`);
|
|
404
437
|
const platformConfigName = process.platform === "darwin" ? "xiaoke-mac.json" : "xiaoke-win.json";
|
|
405
438
|
const restoredConfigPath = path.join(stateDir, "configs", platformConfigName);
|
|
@@ -582,7 +615,10 @@ var init_cli_travel = __esm({
|
|
|
582
615
|
".bat",
|
|
583
616
|
".sh",
|
|
584
617
|
".csv",
|
|
585
|
-
".html"
|
|
618
|
+
".html",
|
|
619
|
+
".toml",
|
|
620
|
+
".list"
|
|
621
|
+
// .everos 的 everos.toml/config.toml/ome.toml/everos-env.list
|
|
586
622
|
]);
|
|
587
623
|
}
|
|
588
624
|
});
|