@open-tomato/rafa 0.14.0 → 0.15.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/README.md +28 -1
- package/dist/cli.js +6818 -5557
- package/dist/effort/store/index.js +2 -2
- package/dist/{index-g9kvby04.js → index-1x5t4t9r.js} +1 -1
- package/dist/{index-96pz9023.js → index-2256nwj0.js} +20 -2
- package/dist/{index-p96zrptw.js → index-p572cxex.js} +1 -1
- package/dist/index.js +21 -4
- package/dist/plan/index.js +2 -2
- package/package.json +1 -1
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
openNdjsonStore,
|
|
5
5
|
openSqliteStore,
|
|
6
6
|
selectEffortStore
|
|
7
|
-
} from "../../index-
|
|
7
|
+
} from "../../index-1x5t4t9r.js";
|
|
8
8
|
import {
|
|
9
9
|
STORE_BACKENDS
|
|
10
|
-
} from "../../index-
|
|
10
|
+
} from "../../index-2256nwj0.js";
|
|
11
11
|
export {
|
|
12
12
|
selectEffortStore,
|
|
13
13
|
openSqliteStore,
|
|
@@ -286,6 +286,7 @@ var usdAmount = (raw, at) => {
|
|
|
286
286
|
return usd === null ? refused(at, raw, "a number of US dollars above zero, at most six digits either side of the point") : accepted(usd);
|
|
287
287
|
};
|
|
288
288
|
var issueNumber = (raw, at) => typeof raw === "number" && Number.isSafeInteger(raw) && raw > 0 ? accepted(raw) : refused(at, raw, "an issue number, a whole number above zero");
|
|
289
|
+
var dayCount = (raw, at) => typeof raw === "number" && Number.isSafeInteger(raw) && raw > 0 ? accepted(raw) : refused(at, raw, "a number of days, a whole number above zero");
|
|
289
290
|
var releaseEnabled = (raw, at) => typeof raw === "boolean" || raw === RELEASE_AUTO ? accepted(raw) : refused(at, raw, `true, false or ${RELEASE_AUTO}`);
|
|
290
291
|
var GITHUB_LOGIN = /^[A-Za-z0-9][A-Za-z0-9-]*(?:\[bot\])?$/;
|
|
291
292
|
function isGitHubLogin(value) {
|
|
@@ -421,7 +422,10 @@ var CONFIG_DEFAULTS = Object.freeze({
|
|
|
421
422
|
releaseEnabled: RELEASE_AUTO,
|
|
422
423
|
releaseVersionFile: "package.json",
|
|
423
424
|
releaseChangelog: "CHANGELOG.md",
|
|
424
|
-
releaseHeading: "## {version} \u2014 {date}, {title}"
|
|
425
|
+
releaseHeading: "## {version} \u2014 {date}, {title}",
|
|
426
|
+
cleanupStaleDays: 30,
|
|
427
|
+
cleanupWorktreeIdleDays: 7,
|
|
428
|
+
cleanupKeep: Object.freeze([])
|
|
425
429
|
});
|
|
426
430
|
var directory = text("a directory path");
|
|
427
431
|
var trackerKind = text("a tracker kind name");
|
|
@@ -496,6 +500,17 @@ var SETTINGS = {
|
|
|
496
500
|
key: "release.heading",
|
|
497
501
|
read: text("a changelog heading template"),
|
|
498
502
|
cli: false
|
|
503
|
+
},
|
|
504
|
+
cleanupStaleDays: { key: "cleanup.staleDays", read: dayCount, cli: false },
|
|
505
|
+
cleanupWorktreeIdleDays: {
|
|
506
|
+
key: "cleanup.worktreeIdleDays",
|
|
507
|
+
read: dayCount,
|
|
508
|
+
cli: false
|
|
509
|
+
},
|
|
510
|
+
cleanupKeep: {
|
|
511
|
+
key: "cleanup.keep",
|
|
512
|
+
read: listOf(text("a glob pattern"), "glob patterns"),
|
|
513
|
+
cli: false
|
|
499
514
|
}
|
|
500
515
|
};
|
|
501
516
|
var SETTING_NAMES = Object.keys(SETTINGS);
|
|
@@ -590,7 +605,10 @@ function readLayer(rawOf, atOf) {
|
|
|
590
605
|
releaseEnabled: read("releaseEnabled"),
|
|
591
606
|
releaseVersionFile: read("releaseVersionFile"),
|
|
592
607
|
releaseChangelog: read("releaseChangelog"),
|
|
593
|
-
releaseHeading: read("releaseHeading")
|
|
608
|
+
releaseHeading: read("releaseHeading"),
|
|
609
|
+
cleanupStaleDays: read("cleanupStaleDays"),
|
|
610
|
+
cleanupWorktreeIdleDays: read("cleanupWorktreeIdleDays"),
|
|
611
|
+
cleanupKeep: read("cleanupKeep")
|
|
594
612
|
};
|
|
595
613
|
return { layer, problems, extras };
|
|
596
614
|
}
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
trackerPathFor,
|
|
27
27
|
updateTrackerLine,
|
|
28
28
|
writeTrackerBlocker
|
|
29
|
-
} from "./index-
|
|
29
|
+
} from "./index-p572cxex.js";
|
|
30
30
|
import {
|
|
31
31
|
CORE_ADAPTER_REGISTRY,
|
|
32
32
|
ClaudePlannerError,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
sqliteStorePath,
|
|
51
51
|
withSqliteStore,
|
|
52
52
|
writeSqliteStore
|
|
53
|
-
} from "./index-
|
|
53
|
+
} from "./index-1x5t4t9r.js";
|
|
54
54
|
import {
|
|
55
55
|
BUDGET_FLAG,
|
|
56
56
|
CLAUDE_SETTING_SOURCES,
|
|
@@ -86,7 +86,7 @@ import {
|
|
|
86
86
|
resolveConfig,
|
|
87
87
|
resolveDeclarationFlags,
|
|
88
88
|
stripTaskDeclaration
|
|
89
|
-
} from "./index-
|
|
89
|
+
} from "./index-2256nwj0.js";
|
|
90
90
|
// src/config-load.ts
|
|
91
91
|
import { existsSync, readFileSync, realpathSync } from "fs";
|
|
92
92
|
import { isAbsolute } from "path";
|
|
@@ -1902,7 +1902,7 @@ async function report(args, repoRoot) {
|
|
|
1902
1902
|
}
|
|
1903
1903
|
}
|
|
1904
1904
|
// package.json
|
|
1905
|
-
var version = "0.
|
|
1905
|
+
var version = "0.15.0";
|
|
1906
1906
|
|
|
1907
1907
|
// src/modules/manifest.ts
|
|
1908
1908
|
var MANIFEST_VERSION = 1;
|
|
@@ -5017,8 +5017,10 @@ var REPO_PATH3 = "{owner}/{repo}";
|
|
|
5017
5017
|
var SUMMARY_FIELDS = "author,baseRefName,headRefName,isCrossRepository,number,state,title,updatedAt,url";
|
|
5018
5018
|
var DETAIL_FIELDS = `${SUMMARY_FIELDS},body,headRefOid,labels,mergeStateStatus,mergeable`;
|
|
5019
5019
|
var CHECK_FIELDS = "name,state,link";
|
|
5020
|
+
var MERGED_FIELDS = "headRefName,headRefOid,mergedAt,number";
|
|
5020
5021
|
var WORKFLOWS_PATH = `repos/${REPO_PATH3}/actions/workflows`;
|
|
5021
5022
|
var LIST_LIMIT = 30;
|
|
5023
|
+
var MERGED_LIMIT = 100;
|
|
5022
5024
|
var FIND_LIMIT = 1;
|
|
5023
5025
|
var MISSING_PULL = "Could not resolve to a PullRequest";
|
|
5024
5026
|
var NO_CHECKS = "no checks reported on the";
|
|
@@ -5127,6 +5129,15 @@ function readDetail(value, command, where) {
|
|
|
5127
5129
|
labels: readLabels(pull["labels"], command, `${where}.labels`)
|
|
5128
5130
|
};
|
|
5129
5131
|
}
|
|
5132
|
+
function readMerged(value, command, where) {
|
|
5133
|
+
const pull = readMapping(value, command, where);
|
|
5134
|
+
return {
|
|
5135
|
+
number: readWholeNumber(pull["number"], command, `${where}.number`),
|
|
5136
|
+
headRefName: readString2(pull["headRefName"], command, `${where}.headRefName`),
|
|
5137
|
+
headRefOid: readString2(pull["headRefOid"], command, `${where}.headRefOid`),
|
|
5138
|
+
mergedAt: readString2(pull["mergedAt"], command, `${where}.mergedAt`)
|
|
5139
|
+
};
|
|
5140
|
+
}
|
|
5130
5141
|
function readComment2(value, command, where) {
|
|
5131
5142
|
const comment = readMapping(value, command, where);
|
|
5132
5143
|
const user = readMapping(comment["user"], command, `${where}.user`);
|
|
@@ -5207,6 +5218,12 @@ function createGhPullRequests(options) {
|
|
|
5207
5218
|
const rows = readList(parseJson2(stdout, command), command, "its output");
|
|
5208
5219
|
return rows.map((row, index) => readSummary(row, command, `row ${index}`));
|
|
5209
5220
|
},
|
|
5221
|
+
listMerged: async () => {
|
|
5222
|
+
const command = "gh pr list --state merged";
|
|
5223
|
+
const stdout = await succeed(["pr", "list", "--state", "merged", "--limit", String(MERGED_LIMIT), "--json", MERGED_FIELDS], command);
|
|
5224
|
+
const rows = readList(parseJson2(stdout, command), command, "its output");
|
|
5225
|
+
return rows.map((row, index) => readMerged(row, command, `row ${index}`));
|
|
5226
|
+
},
|
|
5210
5227
|
get: async (number) => {
|
|
5211
5228
|
const target = pullNumber(number, "get");
|
|
5212
5229
|
const command = `gh pr view ${target}`;
|
package/dist/plan/index.js
CHANGED
|
@@ -16,13 +16,13 @@ import {
|
|
|
16
16
|
renderInjection,
|
|
17
17
|
runPreflight,
|
|
18
18
|
runShellProbe
|
|
19
|
-
} from "../index-
|
|
19
|
+
} from "../index-p572cxex.js";
|
|
20
20
|
import {
|
|
21
21
|
INJECT_MODES,
|
|
22
22
|
RAFA_BLOCK_KINDS,
|
|
23
23
|
isRafaBlockKind,
|
|
24
24
|
readRafaBlocks
|
|
25
|
-
} from "../index-
|
|
25
|
+
} from "../index-2256nwj0.js";
|
|
26
26
|
export {
|
|
27
27
|
runShellProbe,
|
|
28
28
|
runPreflight,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tomato/rafa",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Alpha. Runs a plan through the ralph loop: one Claude Code session per task, one commit per task, then a pull request and a CI wait.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|