wildcrane-runner 0.6.10 → 0.6.11
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/akb/bin/ai4kanban.mjs +1 -1
- package/dist/akb/dist/kanban.mjs +1 -1
- package/dist/launcher.mjs +2 -2
- package/dist/runner.mjs +6 -21
- package/package.json +1 -1
|
@@ -74,7 +74,7 @@ async function rules() {
|
|
|
74
74
|
async function main() {
|
|
75
75
|
const argv = process.argv.slice(2)
|
|
76
76
|
const loaded = await rules()
|
|
77
|
-
const shared = { program: PROGRAM
|
|
77
|
+
const shared = { program: PROGRAM }
|
|
78
78
|
|
|
79
79
|
const raw = loaded.rawArgv(argv)
|
|
80
80
|
if (raw) {
|
package/dist/akb/dist/kanban.mjs
CHANGED
|
@@ -23305,7 +23305,7 @@ var init_describe_project = __esm({
|
|
|
23305
23305
|
var discuss_idea_default;
|
|
23306
23306
|
var init_discuss_idea = __esm({
|
|
23307
23307
|
"../cli/src/guide/discuss-idea.md"() {
|
|
23308
|
-
discuss_idea_default = "#
|
|
23308
|
+
discuss_idea_default = "# \u60F3\u6CD5\u8BA8\u8BBA\n\n\u50CF\u6CA1\u6709\u989D\u5916\u4E0A\u4E0B\u6587\u65F6\u4E00\u6837\u4E0E\u7528\u6237\u6C9F\u901A\uFF1B\u5B9E\u9645\u6784\u5EFA\u524D\u7684\u4EFB\u4F55\u5DE5\u4F5C\u90FD\u53EF\u4EE5\u505A\u3002\n\n- **\u6784\u5EFA\u8FB9\u754C**\uFF1A\u9700\u8981\u5B9E\u9645\u6784\u5EFA\u65F6\uFF0C\u7528 `akb raw idea` \u4FDD\u5B58\u6216\u66F4\u65B0\u60F3\u6CD5\uFF08\u53C2\u89C1 `akb raw idea --help`\uFF09\uFF0C\u7136\u540E\u505C\u6B62\uFF1B\u65E2\u6709\u6784\u5EFA\u6D41\u7A0B\u6CBF\u5F53\u524D\u4F1A\u8BDD\u7EE7\u7EED\uFF0C\u5E76\u9075\u5FAA\u9879\u76EE\u65E2\u6709\u6784\u5EFA\u8981\u6C42\u3002\n- **\u7F3A\u5931\u4FE1\u606F**\uFF1A\u6682\u65F6\u65E0\u6CD5\u5F62\u6210\u60F3\u6CD5\u65F6\uFF0C\u53EF\u4EE5\u5411\u7528\u6237\u8BE2\u95EE\u7F3A\u5931\u4FE1\u606F\u3002\n\n## Ideas\n\n- **\u60F3\u6CD5\u683C\u5F0F**\uFF1A\u6BCF\u4E2A\u60F3\u6CD5\u5305\u542B\u6807\u9898\u3001\u7528\u7528\u6237\u8BED\u8A00\u5199\u7684\u4E0D\u8D85\u8FC7 150 \u8BCD\u7684\u7ED3\u679C\uFF0C\u4EE5\u53CA\u5217\u51FA\u53EF\u9A8C\u8BC1\u9A8C\u6536\u9879\u7684 `## Done when`\uFF0C\u4E0D\u542B\u6280\u672F\u8BBE\u8BA1\u3002\n- **\u72EC\u7ACB\u4EA4\u4ED8**\uFF1A\u4E0D\u540C\u4EA4\u4ED8\u7269\u5206\u522B\u4FDD\u5B58\u4E3A\u60F3\u6CD5\uFF0C\u7528 `akb raw idea drop --id <idea>` \u5220\u9664\u88AB\u66FF\u6362\u7684\u60F3\u6CD5\u3002\n- **\u81EA\u884C\u5224\u65AD**\uFF1A\u81EA\u884C\u51B3\u5B9A\u80FD\u591F\u5224\u65AD\u7684\u7ED3\u679C\u95EE\u9898\uFF0C\u5E76\u8BF4\u660E\u6240\u4F5C\u51B3\u5B9A\uFF1B\u53EA\u95EE\u7528\u6237\u624D\u80FD\u56DE\u7B54\u4E14\u4F1A\u6539\u53D8\u7ED3\u679C\u7684\u95EE\u9898\uFF0C\u540C\u65F6\u7ED9\u51FA\u63A8\u8350\u9009\u9879\u3002\n- **\u76F4\u767D\u8868\u8FBE**\uFF1A\u7528\u7528\u6237\u7684\u8BED\u8A00\u548C\u65E5\u5E38\u7528\u8BED\u76F4\u63A5\u56DE\u7B54\u3002\n- **\u9690\u85CF\u5185\u90E8\u64CD\u4F5C**\uFF1A\u4E0D\u63D0\u53CA\u8BA1\u5212\u3001\u6587\u4EF6\u3001\u8DEF\u5F84\u3001\u547D\u4EE4\u6216\u4F7F\u7528\u7684\u5DE5\u5177\u4E0E\u8FDE\u63A5\u5668\uFF1B\u4EE5\u6309\u94AE\u540D\u79F0\u6307\u4EE3\u64CD\u4F5C\u3002\n";
|
|
23309
23309
|
}
|
|
23310
23310
|
});
|
|
23311
23311
|
|
package/dist/launcher.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// wildcrane-runner 0.6.
|
|
1
|
+
// wildcrane-runner 0.6.11 — built by runner/scripts/build.mjs. Do not edit.
|
|
2
2
|
import { createRequire as __ai4kanbanRequire } from 'node:module'
|
|
3
3
|
const require = __ai4kanbanRequire(import.meta.url)
|
|
4
4
|
|
|
@@ -107,7 +107,7 @@ function status(line) {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
// src/protocol.ts
|
|
110
|
-
var VERSION = true ? "0.6.
|
|
110
|
+
var VERSION = true ? "0.6.11" : "0.0.0";
|
|
111
111
|
var EXIT_REFUSED = 10;
|
|
112
112
|
var EXIT_OUTDATED = 11;
|
|
113
113
|
var EXIT_UPDATE = 12;
|
package/dist/runner.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// wildcrane-runner 0.6.
|
|
1
|
+
// wildcrane-runner 0.6.11 — built by runner/scripts/build.mjs. Do not edit.
|
|
2
2
|
import { createRequire as __ai4kanbanRequire } from 'node:module'
|
|
3
3
|
const require = __ai4kanbanRequire(import.meta.url)
|
|
4
4
|
var __create = Object.create;
|
|
@@ -84435,7 +84435,7 @@ function status(line) {
|
|
|
84435
84435
|
}
|
|
84436
84436
|
|
|
84437
84437
|
// src/protocol.ts
|
|
84438
|
-
var VERSION = true ? "0.6.
|
|
84438
|
+
var VERSION = true ? "0.6.11" : "0.0.0";
|
|
84439
84439
|
var AKB_VERSION = true ? "0.11.8" : "0.0.0";
|
|
84440
84440
|
var AKB_CONTRACT = true ? 4 : 0;
|
|
84441
84441
|
var EXIT_REFUSED = 10;
|
|
@@ -88228,7 +88228,7 @@ var secretsSet = () => Object.fromEntries(Object.entries(readAll()).map(([id, ke
|
|
|
88228
88228
|
|
|
88229
88229
|
// src/api.ts
|
|
88230
88230
|
var RUNTIMES = ["claude-code", "codex", "cursor", "opencode", "kimi", "dsh", "zcode", "grok"];
|
|
88231
|
-
var PROTOCOL =
|
|
88231
|
+
var PROTOCOL = 13;
|
|
88232
88232
|
var TIMEOUT_MS = 2e4;
|
|
88233
88233
|
async function send(method, route, body, signedIn, ms, type) {
|
|
88234
88234
|
const headers = { accept: "application/json" };
|
|
@@ -92766,17 +92766,6 @@ function progressEvidence(job, folder) {
|
|
|
92766
92766
|
return null;
|
|
92767
92767
|
}
|
|
92768
92768
|
}
|
|
92769
|
-
function checkProgress(job) {
|
|
92770
|
-
const folder = authorizedFolder(job.projectDir);
|
|
92771
|
-
if (!folder) return { handoffIssue: "folder_unavailable" };
|
|
92772
|
-
if (!job.handoff?.started) return {};
|
|
92773
|
-
const progress = progressFolder(job, folder);
|
|
92774
|
-
if (!progress) return { handoffIssue: "progress_missing" };
|
|
92775
|
-
const evidence = progressEvidence({ ...job, flow: { verb: job.handoff.verb ?? "implement", workflow: job.workflow ?? "" } }, progress);
|
|
92776
|
-
if (!evidence) return { handoffIssue: "progress_missing" };
|
|
92777
|
-
if (!job.handoff.evidence || evidence !== job.handoff.evidence) return { handoffIssue: "progress_unknown", evidence };
|
|
92778
|
-
return { evidence };
|
|
92779
|
-
}
|
|
92780
92769
|
function restartFolder(job, folder) {
|
|
92781
92770
|
const token = job.handoff?.isolation ?? job.id;
|
|
92782
92771
|
if (!/^[a-zA-Z0-9-]{1,80}$/.test(token)) throw new Error("\u9694\u79BB\u76EE\u5F55\u7F16\u53F7\u65E0\u6548\u3002");
|
|
@@ -93287,18 +93276,14 @@ async function runClaimed(job, deps, track, keep2, lease) {
|
|
|
93287
93276
|
}
|
|
93288
93277
|
if (recovering && checkpoint.session) job = { ...job, resume: checkpoint.session, fork: false };
|
|
93289
93278
|
if (!recovering) persist();
|
|
93290
|
-
if (job.handoff?.kind === "check") {
|
|
93291
|
-
const runtime = (await deps.runtimes()).find((r2) => r2.name === job.runtime);
|
|
93292
|
-
const report2 = !runtime?.installed || runtime.loggedIn === false ? { handoffIssue: "runtime_unavailable" } : checkProgress(job);
|
|
93293
|
-
return finish(deps, id, lease, "done", "", report2);
|
|
93294
|
-
}
|
|
93295
93279
|
if (job.handoff?.kind === "execution") {
|
|
93296
93280
|
if (recovering) job = { ...job, handoff: { ...job.handoff, recovering: true } };
|
|
93297
93281
|
const handoff = job.handoff;
|
|
93298
93282
|
const runtime = (await deps.runtimes()).find((r2) => r2.name === job.runtime);
|
|
93299
|
-
if (!runtime?.installed || runtime.loggedIn === false) return finish(deps, id, lease, "failed", "\u76EE\u6807\u8FD0\u884C\u5DE5\u5177\u5DF2\u4E0D\u53EF\u7528\uFF0C\u8BF7\
|
|
93283
|
+
if (!runtime?.installed || runtime.loggedIn === false) return finish(deps, id, lease, "failed", "\u76EE\u6807\u8FD0\u884C\u5DE5\u5177\u5DF2\u4E0D\u53EF\u7528\uFF0C\u8BF7\u5B89\u88C5\u5E76\u767B\u5F55\u540E\u91CD\u8BD5\u3002");
|
|
93300
93284
|
const folder2 = authorizedFolder(job.projectDir);
|
|
93301
93285
|
if (!folder2) return finish(deps, id, lease, "failed", "\u76EE\u6807\u76EE\u5F55\u6388\u6743\u5DF2\u53D8\u5316\u3002");
|
|
93286
|
+
if (handoff.action === "runtime") job = { ...job, projectDir: folder2, resume: null, fork: false };
|
|
93302
93287
|
if (handoff.action === "continue") {
|
|
93303
93288
|
const progress = progressFolder(job, folder2);
|
|
93304
93289
|
if (!progress || !handoff.recovering && (!handoff.evidence || progressEvidence({ ...job, flow: job.flow ? { ...job.flow, verb: handoff.verb ?? job.flow.verb } : job.flow }, progress) !== handoff.evidence)) {
|
|
@@ -93452,7 +93437,7 @@ ${prompt}` : prompt;
|
|
|
93452
93437
|
await stream.end();
|
|
93453
93438
|
if (stream.lost()) return;
|
|
93454
93439
|
const boardStopped = await confirmFlowStopped(ws, job, deps);
|
|
93455
|
-
const evidence = progressEvidence(job, ws.cwd);
|
|
93440
|
+
const evidence = job.handoff?.action === "continue" || job.handoff?.action === "restart" ? progressEvidence(job, ws.cwd) : null;
|
|
93456
93441
|
const proof = boardStopped && await stream.confirmed() ? { processesStopped: true, ...evidence ? { evidence } : {} } : {};
|
|
93457
93442
|
if (ended3.ok) complete("done", { ...ended3.report, ...proof });
|
|
93458
93443
|
if (stopped2) return finish(deps, id, lease, "stopped", "", proof);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wildcrane-runner",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.11",
|
|
4
4
|
"description": "WildCrane's Local Runner \u2014 connects this computer to WildCrane and runs its jobs on your local Claude Code, Codex, OpenCode or Cursor.",
|
|
5
5
|
"license": "FSL-1.1-ALv2",
|
|
6
6
|
"homepage": "https://wildcrane.ai/",
|