@appchy/jarvis 0.1.120 → 0.1.122
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/bin.js +15 -8
- package/dist/bin.js.map +1 -1
- package/harness/harness/gate.py +436 -97
- package/harness/harness/git.py +15 -0
- package/harness/harness/peers.py +42 -27
- package/harness/presets/appchy/PRESET.md +1 -1
- package/harness/test_work.py +337 -2
- package/harness/work.py +9 -6
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -4793,10 +4793,12 @@ function toVerification(said) {
|
|
|
4793
4793
|
passed: parsed.passed === true,
|
|
4794
4794
|
commit: String(parsed.commit ?? ""),
|
|
4795
4795
|
message: String(parsed.message ?? ""),
|
|
4796
|
+
reason: REASONS.includes(parsed.reason) ? parsed.reason : "",
|
|
4796
4797
|
notices: []
|
|
4797
4798
|
};
|
|
4798
4799
|
}
|
|
4799
|
-
var STATES = ["idle", "started", "running", "finished"];
|
|
4800
|
+
var STATES = ["idle", "started", "running", "busy", "finished"];
|
|
4801
|
+
var REASONS = ["", "none", "other", "lost", "moved", "gone", "read"];
|
|
4800
4802
|
function read(said) {
|
|
4801
4803
|
for (const line of said.split("\n").reverse()) {
|
|
4802
4804
|
if (!line.trim().startsWith("{")) continue;
|
|
@@ -4898,7 +4900,7 @@ async function observeWorkItem(ctx, req, options) {
|
|
|
4898
4900
|
return getWorkItem(ctx, { id: req.id }, options);
|
|
4899
4901
|
}
|
|
4900
4902
|
async function verifyWorkItem(_ctx, req, options) {
|
|
4901
|
-
const door = req.start ? "--
|
|
4903
|
+
const door = req.start ? "--start" : "--status";
|
|
4902
4904
|
return toVerification(await harnessSaid(["verify", "--task", req.id, door], options));
|
|
4903
4905
|
}
|
|
4904
4906
|
async function recordSession(ctx, req, options) {
|
|
@@ -10284,7 +10286,7 @@ import { createRequire as createRequire2 } from "module";
|
|
|
10284
10286
|
var _require = createRequire2(import.meta.url);
|
|
10285
10287
|
var VERSION2 = _require("../package.json").version ?? "0.0.0";
|
|
10286
10288
|
var IS_DEV = String(_require("../package.json").name ?? "").endsWith("-dev");
|
|
10287
|
-
var SHA = "
|
|
10289
|
+
var SHA = "63c9236";
|
|
10288
10290
|
var BUILT = "2026-09-12";
|
|
10289
10291
|
var BUILD = SHA ?? "source";
|
|
10290
10292
|
var BUILD_LABEL = `${SHA ? `${VERSION2} (${SHA}${BUILT ? ` ${BUILT}` : ""})` : `${VERSION2} (source)`}${IS_DEV ? " \u2014 development build" : ""}`;
|
|
@@ -11912,7 +11914,7 @@ function updateTool(handlers) {
|
|
|
11912
11914
|
function verifyTool(handlers) {
|
|
11913
11915
|
return {
|
|
11914
11916
|
name: "work_verify",
|
|
11915
|
-
description: "Run this repo's own gates against an item and record the result on it. Completion refuses until they have passed at the current commit, so run this before work_complete rather than after being refused. It runs the whole configured set \u2014 there is no way to ask for one gate. Call once with start:true to set them going, then call WITHOUT it for progress and the result: asking never starts a run. They take minutes. One run per checkout
|
|
11917
|
+
description: "Run this repo's own gates against an item and record the result on it. Completion refuses until they have passed at the current commit, so run this before work_complete rather than after being refused. It runs the whole configured set \u2014 there is no way to ask for one gate. Call once with start:true to set them going, then call WITHOUT it for progress and the result: asking never starts a run. They take minutes. One run per checkout, so 'busy' means the slot is somebody else's and nothing holds your place \u2014 ask again once it frees.",
|
|
11916
11918
|
metadata: { readOnly: false },
|
|
11917
11919
|
input: {
|
|
11918
11920
|
type: "object",
|
|
@@ -11928,10 +11930,15 @@ function verifyTool(handlers) {
|
|
|
11928
11930
|
properties: {
|
|
11929
11931
|
state: {
|
|
11930
11932
|
type: "string",
|
|
11931
|
-
enum: ["idle", "started", "running", "finished"],
|
|
11932
|
-
description: "
|
|
11933
|
+
enum: ["idle", "started", "running", "busy", "finished"],
|
|
11934
|
+
description: "'running' is YOUR run, 'busy' somebody else's holding the slot \u2014 on 'busy' every gate field here is empty because you have no run. Only 'finished' carries a result. 'idle': nothing usable ran; `reason` says why."
|
|
11933
11935
|
},
|
|
11934
|
-
|
|
11936
|
+
reason: {
|
|
11937
|
+
type: "string",
|
|
11938
|
+
enum: ["", "none", "other", "lost", "moved", "gone", "read"],
|
|
11939
|
+
description: "Why there is no result. Empty when there is one; `message` explains it."
|
|
11940
|
+
},
|
|
11941
|
+
gate: { type: "string", description: "The gate executing now, when it is yours." },
|
|
11935
11942
|
elapsedSeconds: { type: "number" },
|
|
11936
11943
|
passed: { type: "boolean", description: "Every gate ran and passed. False until finished." },
|
|
11937
11944
|
commit: { type: "string" },
|
|
@@ -11951,7 +11958,7 @@ function verifyTool(handlers) {
|
|
|
11951
11958
|
},
|
|
11952
11959
|
notices: NOTICES
|
|
11953
11960
|
},
|
|
11954
|
-
required: ["state", "passed", "gates", "notices"]
|
|
11961
|
+
required: ["state", "reason", "passed", "gates", "notices"]
|
|
11955
11962
|
},
|
|
11956
11963
|
call: async (ctx, input) => {
|
|
11957
11964
|
const response = await handlers.verify(ctx, input ?? {});
|