@c-d-cc/reap 0.15.5 → 0.15.7
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/RELEASE_NOTICE.md +33 -0
- package/dist/cli.js +36 -57
- package/package.json +3 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Release Notices
|
|
2
|
+
|
|
3
|
+
## v0.15.7
|
|
4
|
+
### en
|
|
5
|
+
Renamed UPDATE_NOTICE.md to RELEASE_NOTICE.md. Notice content now inline (no GitHub Discussions dependency).
|
|
6
|
+
### ko
|
|
7
|
+
UPDATE_NOTICE.md를 RELEASE_NOTICE.md로 변경. notice 내용을 파일에 직접 포함 (GitHub Discussions 의존성 제거).
|
|
8
|
+
|
|
9
|
+
## v0.15.6
|
|
10
|
+
### en
|
|
11
|
+
Fixed UPDATE_NOTICE.md missing from npm package.
|
|
12
|
+
### ko
|
|
13
|
+
UPDATE_NOTICE.md가 npm 패키지에 누락된 문제 수정.
|
|
14
|
+
|
|
15
|
+
## v0.15.5
|
|
16
|
+
### en
|
|
17
|
+
Integrity check no longer warns about source-map.md line count.
|
|
18
|
+
### ko
|
|
19
|
+
integrity check에서 source-map.md 줄수 경고 제외.
|
|
20
|
+
|
|
21
|
+
## v0.15.4
|
|
22
|
+
### en
|
|
23
|
+
v0.15.4 — Bug fixes and new `reap make backlog` command.
|
|
24
|
+
- Fixed lineage archiving copying all backlog items instead of consumed only
|
|
25
|
+
- Fixed `reap back` nonce chain breakage
|
|
26
|
+
- Added `reap make backlog` for safe backlog file creation
|
|
27
|
+
- Compression now preserves 20 recent generations (was 3)
|
|
28
|
+
### ko
|
|
29
|
+
v0.15.4 — 버그 수정 및 `reap make backlog` 커맨드 추가.
|
|
30
|
+
- lineage archiving 시 consumed backlog만 복사하도록 수정
|
|
31
|
+
- `reap back` 후 nonce chain 유지되도록 수정
|
|
32
|
+
- `reap make backlog` 커맨드 추가 (안전한 backlog 파일 생성)
|
|
33
|
+
- 압축 보호 개수 3→20으로 확대 (최근 20세대 원본 유지)
|
package/dist/cli.js
CHANGED
|
@@ -10226,7 +10226,7 @@ function checkLatestVersion() {
|
|
|
10226
10226
|
}
|
|
10227
10227
|
}
|
|
10228
10228
|
function getCurrentVersion() {
|
|
10229
|
-
return "0.15.
|
|
10229
|
+
return "0.15.7";
|
|
10230
10230
|
}
|
|
10231
10231
|
function formatVersionLine(current, skipCheck) {
|
|
10232
10232
|
if (skipCheck) {
|
|
@@ -12425,7 +12425,7 @@ async function execute17(paths) {
|
|
|
12425
12425
|
const gm = new GenerationManager(paths);
|
|
12426
12426
|
const state = await gm.current();
|
|
12427
12427
|
const configContent = await readTextFile(paths.config);
|
|
12428
|
-
const installedVersion = "0.15.
|
|
12428
|
+
const installedVersion = "0.15.7";
|
|
12429
12429
|
const autoUpdate = configContent?.match(/autoUpdate:\s*(true|false)/)?.[1] === "true";
|
|
12430
12430
|
const versionDisplay = formatVersionLine(installedVersion, !autoUpdate);
|
|
12431
12431
|
const rawLang = detectLanguage(configContent);
|
|
@@ -14480,7 +14480,7 @@ async function runCommand(command, phase, argv = []) {
|
|
|
14480
14480
|
try {
|
|
14481
14481
|
const config = await ConfigManager.read(paths);
|
|
14482
14482
|
if (config.autoIssueReport) {
|
|
14483
|
-
const version = "0.15.
|
|
14483
|
+
const version = "0.15.7";
|
|
14484
14484
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
14485
14485
|
const title = `[auto] reap run ${command}: ${errMsg.slice(0, 80)}`;
|
|
14486
14486
|
const body = [
|
|
@@ -15362,7 +15362,7 @@ async function initProject(projectRoot, projectName, entryMode, preset, onProgre
|
|
|
15362
15362
|
}
|
|
15363
15363
|
const detectedLanguage = await AgentRegistry.readLanguage();
|
|
15364
15364
|
const config = {
|
|
15365
|
-
version: "0.15.
|
|
15365
|
+
version: "0.15.7",
|
|
15366
15366
|
project: projectName,
|
|
15367
15367
|
entryMode,
|
|
15368
15368
|
strict: false,
|
|
@@ -16313,7 +16313,7 @@ async function updateProject(projectRoot, dryRun = false) {
|
|
|
16313
16313
|
}
|
|
16314
16314
|
} catch {}
|
|
16315
16315
|
await migrateLegacyFiles(paths, dryRun, result);
|
|
16316
|
-
const currentVersion = "0.15.
|
|
16316
|
+
const currentVersion = "0.15.7";
|
|
16317
16317
|
const migrationResult = await MigrationRunner.run(paths, currentVersion, dryRun);
|
|
16318
16318
|
for (const m of migrationResult.migrated) {
|
|
16319
16319
|
result.updated.push(`[migration] ${m}`);
|
|
@@ -16402,64 +16402,43 @@ async function removeDirIfExists(dirPath, label, dryRun, result) {
|
|
|
16402
16402
|
import { readFileSync } from "fs";
|
|
16403
16403
|
import { join as join14 } from "path";
|
|
16404
16404
|
var __dirname = "/home/runner/work/reap/reap/src/core";
|
|
16405
|
-
function
|
|
16406
|
-
const lang = language.toLowerCase();
|
|
16407
|
-
const pattern = new RegExp(`^## ${lang}\\s*$`, "im");
|
|
16408
|
-
const match = pattern.exec(body);
|
|
16409
|
-
if (!match)
|
|
16410
|
-
return null;
|
|
16411
|
-
const start = match.index + match[0].length;
|
|
16412
|
-
const rest = body.slice(start);
|
|
16413
|
-
const nextHeader = rest.search(/^## /m);
|
|
16414
|
-
const section = nextHeader === -1 ? rest : rest.slice(0, nextHeader);
|
|
16415
|
-
return section.trim() || null;
|
|
16416
|
-
}
|
|
16417
|
-
function findNoticeUrl(version) {
|
|
16405
|
+
function fetchReleaseNotice(version, language) {
|
|
16418
16406
|
try {
|
|
16419
|
-
const noticePath = join14(__dirname, "../../
|
|
16407
|
+
const noticePath = join14(__dirname, "../../RELEASE_NOTICE.md");
|
|
16420
16408
|
const content = readFileSync(noticePath, "utf-8");
|
|
16421
16409
|
const versionTag = version.startsWith("v") ? version : `v${version}`;
|
|
16422
|
-
const
|
|
16423
|
-
const
|
|
16424
|
-
|
|
16425
|
-
} catch {
|
|
16426
|
-
return null;
|
|
16427
|
-
}
|
|
16428
|
-
}
|
|
16429
|
-
async function fetchDiscussionBody(url) {
|
|
16430
|
-
try {
|
|
16431
|
-
const match = url.match(/discussions\/(\d+)/);
|
|
16432
|
-
if (!match)
|
|
16410
|
+
const versionPattern = new RegExp(`^## ${versionTag.replace(/\./g, "\\.")}\\s*$`, "m");
|
|
16411
|
+
const versionMatch = versionPattern.exec(content);
|
|
16412
|
+
if (!versionMatch)
|
|
16433
16413
|
return null;
|
|
16434
|
-
const
|
|
16435
|
-
|
|
16436
|
-
|
|
16437
|
-
|
|
16438
|
-
|
|
16414
|
+
const start = versionMatch.index + versionMatch[0].length;
|
|
16415
|
+
const rest = content.slice(start);
|
|
16416
|
+
const nextVersion = rest.search(/^## v/m);
|
|
16417
|
+
const section = nextVersion === -1 ? rest : rest.slice(0, nextVersion);
|
|
16418
|
+
const lang = language.toLowerCase();
|
|
16419
|
+
const langPattern = new RegExp(`^### ${lang}\\s*$`, "im");
|
|
16420
|
+
const langMatch = langPattern.exec(section);
|
|
16421
|
+
if (!langMatch) {
|
|
16422
|
+
const trimmed = section.trim();
|
|
16423
|
+
return trimmed ? `
|
|
16424
|
+
--- Release Notes (${versionTag}) ---
|
|
16425
|
+
${trimmed}
|
|
16426
|
+
` : null;
|
|
16427
|
+
}
|
|
16428
|
+
const langStart = langMatch.index + langMatch[0].length;
|
|
16429
|
+
const langRest = section.slice(langStart);
|
|
16430
|
+
const nextLang = langRest.search(/^### /m);
|
|
16431
|
+
const langSection = (nextLang === -1 ? langRest : langRest.slice(0, nextLang)).trim();
|
|
16432
|
+
if (!langSection)
|
|
16439
16433
|
return null;
|
|
16440
|
-
|
|
16441
|
-
|
|
16434
|
+
return `
|
|
16435
|
+
--- Release Notes (${versionTag}) ---
|
|
16436
|
+
${langSection}
|
|
16437
|
+
`;
|
|
16442
16438
|
} catch {
|
|
16443
16439
|
return null;
|
|
16444
16440
|
}
|
|
16445
16441
|
}
|
|
16446
|
-
async function fetchReleaseNotice(version, language) {
|
|
16447
|
-
const url = findNoticeUrl(version);
|
|
16448
|
-
if (!url)
|
|
16449
|
-
return null;
|
|
16450
|
-
const body = await fetchDiscussionBody(url);
|
|
16451
|
-
if (!body)
|
|
16452
|
-
return null;
|
|
16453
|
-
const versionTag = version.startsWith("v") ? version : `v${version}`;
|
|
16454
|
-
const section = extractLanguageSection(body, language);
|
|
16455
|
-
const content = section ?? body;
|
|
16456
|
-
if (!content)
|
|
16457
|
-
return null;
|
|
16458
|
-
return `
|
|
16459
|
-
--- Release Notes (${versionTag}) ---
|
|
16460
|
-
${content}
|
|
16461
|
-
`;
|
|
16462
|
-
}
|
|
16463
16442
|
|
|
16464
16443
|
// src/cli/index.ts
|
|
16465
16444
|
init_version();
|
|
@@ -16799,7 +16778,7 @@ init_fs();
|
|
|
16799
16778
|
init_version();
|
|
16800
16779
|
init_config();
|
|
16801
16780
|
import { join as join34 } from "path";
|
|
16802
|
-
program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.15.
|
|
16781
|
+
program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.15.7");
|
|
16803
16782
|
program.command("init").description("Initialize a new REAP project (Genesis)").argument("[project-name]", "Project name (defaults to current directory name)").option("-m, --mode <mode>", "Entry mode: greenfield, migration, adoption", "greenfield").option("-p, --preset <preset>", "Bootstrap with a genome preset (e.g., bun-hono-react)").action(async (projectName, options) => {
|
|
16804
16783
|
try {
|
|
16805
16784
|
const cwd = process.cwd();
|
|
@@ -16856,7 +16835,7 @@ program.command("status").description("Show current project and Generation statu
|
|
|
16856
16835
|
const paths = new ReapPaths(cwd);
|
|
16857
16836
|
const config = await ConfigManager.read(paths);
|
|
16858
16837
|
const skipCheck = config.autoUpdate === false;
|
|
16859
|
-
const installedVersion = "0.15.
|
|
16838
|
+
const installedVersion = "0.15.7";
|
|
16860
16839
|
const versionLine = formatVersionLine(installedVersion, skipCheck);
|
|
16861
16840
|
console.log(`${versionLine} | Project: ${status.project} (${status.entryMode})`);
|
|
16862
16841
|
console.log(`Completed Generations: ${status.totalGenerations}`);
|
|
@@ -16971,7 +16950,7 @@ Integrity: ✓ OK`);
|
|
|
16971
16950
|
try {
|
|
16972
16951
|
const version = getCurrentVersion();
|
|
16973
16952
|
const lang = await AgentRegistry.readLanguage() ?? "en";
|
|
16974
|
-
const notice =
|
|
16953
|
+
const notice = fetchReleaseNotice(version, lang);
|
|
16975
16954
|
if (notice)
|
|
16976
16955
|
console.log(notice);
|
|
16977
16956
|
} catch {}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c-d-cc/reap",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.7",
|
|
4
4
|
"description": "Recursive Evolutionary Autonomous Pipeline — AI and humans evolve software across generations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"files": [
|
|
26
26
|
"dist/",
|
|
27
27
|
"scripts/postinstall.cjs",
|
|
28
|
-
"scripts/preinstall.cjs"
|
|
28
|
+
"scripts/preinstall.cjs",
|
|
29
|
+
"RELEASE_NOTICE.md"
|
|
29
30
|
],
|
|
30
31
|
"preferGlobal": true,
|
|
31
32
|
"engines": {
|