run402 4.59.0 → 4.60.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/git-remote-run402.mjs +159 -834
- package/gitvault-surface.json +1 -1
- package/lib/daemon-path.mjs +99 -0
- package/lib/doctor.mjs +45 -0
- package/lib/gitvault-daemon-run.mjs +22 -0
- package/lib/gitvault-daemon.mjs +263 -0
- package/lib/remote-helper-session.mjs +867 -0
- package/lib/repos.mjs +76 -0
- package/package.json +1 -1
- package/sdk/dist/node/http-dispatcher.d.ts.map +1 -1
- package/sdk/dist/node/http-dispatcher.js +5 -1
- package/sdk/dist/node/http-dispatcher.js.map +1 -1
package/lib/repos.mjs
CHANGED
|
@@ -76,6 +76,7 @@ Lifecycle:
|
|
|
76
76
|
Maintenance:
|
|
77
77
|
run402 repos fsck [--project <id>] [--repo <repo_id>] [--mirror] [--budget <n>] [--no-write] [--human]
|
|
78
78
|
run402 repos gc [--project <id>] [--repo <repo_id>] [--force-headroom] [--submit --intent-core <path> --verifier-receipt <path> [--wait]]
|
|
79
|
+
run402 repos daemon <status|stop> The resident helper engine (gitvault-persistent-helper) — inspect or retire it; nothing requires either
|
|
79
80
|
run402 repos access [--project <id>] [--repo <repo_id>] [--human]
|
|
80
81
|
run402 repos access repair [--project <id>] [--repo <repo_id>] --recipient-state-version <n> --recipient-revocation-version <n>
|
|
81
82
|
run402 repos access revoke-key <principal_id> [--project <id>] [--repo <repo_id>]
|
|
@@ -2207,6 +2208,77 @@ async function recoveryBundle(args) {
|
|
|
2207
2208
|
|
|
2208
2209
|
// ─── dispatch ───────────────────────────────────────────────────────────────
|
|
2209
2210
|
|
|
2211
|
+
/**
|
|
2212
|
+
* `run402 repos daemon <status|stop>` — the resident helper engine
|
|
2213
|
+
* (gitvault-persistent-helper D4). Purely local: a bounded socket probe,
|
|
2214
|
+
* never the network. `status` reports `{running:false}` when no daemon
|
|
2215
|
+
* answers (not an error — the daemon is an accelerator, never a
|
|
2216
|
+
* dependency); `stop` is idempotent the same way.
|
|
2217
|
+
*/
|
|
2218
|
+
async function daemonCmd(argv) {
|
|
2219
|
+
const args = normalizeArgv(argv);
|
|
2220
|
+
if (hasHelp(args)) {
|
|
2221
|
+
process.stdout.write("Usage: run402 repos daemon <status|stop>\n");
|
|
2222
|
+
return;
|
|
2223
|
+
}
|
|
2224
|
+
const sub = args[0];
|
|
2225
|
+
if (sub !== "status" && sub !== "stop") {
|
|
2226
|
+
fail({ code: "BAD_USAGE", message: "run402 repos daemon requires <status|stop>", hint: "Run `run402 repos daemon --help` for usage." });
|
|
2227
|
+
}
|
|
2228
|
+
// Lazy imports: this must stay reachable with zero heavy-graph cost, and
|
|
2229
|
+
// repos.mjs is already inside several config-mock test graphs.
|
|
2230
|
+
const { daemonSocketPath } = await import("./daemon-path.mjs");
|
|
2231
|
+
const { connect: netConnect } = await import("node:net");
|
|
2232
|
+
const result = await new Promise((resolve) => {
|
|
2233
|
+
let settled = false;
|
|
2234
|
+
const done = (v) => {
|
|
2235
|
+
if (!settled) {
|
|
2236
|
+
settled = true;
|
|
2237
|
+
resolve(v);
|
|
2238
|
+
}
|
|
2239
|
+
};
|
|
2240
|
+
let socket;
|
|
2241
|
+
try {
|
|
2242
|
+
socket = netConnect(daemonSocketPath());
|
|
2243
|
+
} catch {
|
|
2244
|
+
return done(null);
|
|
2245
|
+
}
|
|
2246
|
+
const timer = setTimeout(() => {
|
|
2247
|
+
socket.destroy();
|
|
2248
|
+
done(null);
|
|
2249
|
+
}, 1000);
|
|
2250
|
+
let data = "";
|
|
2251
|
+
socket.on("data", (c) => {
|
|
2252
|
+
data += c.toString("utf8");
|
|
2253
|
+
const nl = data.indexOf("\n");
|
|
2254
|
+
if (nl !== -1) {
|
|
2255
|
+
clearTimeout(timer);
|
|
2256
|
+
try {
|
|
2257
|
+
done(JSON.parse(data.slice(0, nl)));
|
|
2258
|
+
} catch {
|
|
2259
|
+
done(null);
|
|
2260
|
+
}
|
|
2261
|
+
socket.end();
|
|
2262
|
+
}
|
|
2263
|
+
});
|
|
2264
|
+
socket.once("error", () => {
|
|
2265
|
+
clearTimeout(timer);
|
|
2266
|
+
done(null);
|
|
2267
|
+
});
|
|
2268
|
+
socket.once("connect", () => socket.write(`${JSON.stringify({ t: sub === "stop" ? "stop" : "status" })}\n`));
|
|
2269
|
+
});
|
|
2270
|
+
if (sub === "status") {
|
|
2271
|
+
if (!result || result.t !== "status") {
|
|
2272
|
+
process.stdout.write(`${JSON.stringify({ running: false })}\n`);
|
|
2273
|
+
} else {
|
|
2274
|
+
const { t: _t, ...rest } = result;
|
|
2275
|
+
process.stdout.write(`${JSON.stringify({ running: true, ...rest })}\n`);
|
|
2276
|
+
}
|
|
2277
|
+
} else {
|
|
2278
|
+
process.stdout.write(`${JSON.stringify({ stopped: Boolean(result && result.t === "stopping") })}\n`);
|
|
2279
|
+
}
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2210
2282
|
export async function run(sub, args) {
|
|
2211
2283
|
const argv = Array.isArray(args) ? args : [];
|
|
2212
2284
|
if (!sub || hasHelp([sub, ...argv])) {
|
|
@@ -2257,6 +2329,10 @@ export async function run(sub, args) {
|
|
|
2257
2329
|
await gc(argv);
|
|
2258
2330
|
break;
|
|
2259
2331
|
}
|
|
2332
|
+
case "daemon": {
|
|
2333
|
+
await daemonCmd(argv);
|
|
2334
|
+
break;
|
|
2335
|
+
}
|
|
2260
2336
|
case "access": {
|
|
2261
2337
|
await access(argv);
|
|
2262
2338
|
break;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "run402",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.60.0",
|
|
4
4
|
"description": "CLI for Run402 — full-stack backend infrastructure for AI agents: Postgres, auth, storage, serverless functions and atomic deploys. Paid with x402/MPP. Includes $0.03 image generation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-dispatcher.d.ts","sourceRoot":"","sources":["../../src/node/http-dispatcher.ts"],"names":[],"mappings":"AAoCA,OAAO,EAA6C,KAAK,UAAU,EAAuB,MAAM,QAAQ,CAAC;AAMzG;;;;;GAKG;AACH,cAAM,WAAW;;gBAKH,IAAI,EAAE,MAAM;IAIxB,GAAG,IAAI,MAAM,GAAG,SAAS;IAezB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAY3B;AAiCD,0EAA0E;AAC1E,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,CAAC;AAI/C,6GAA6G;AAC7G,wBAAgB,aAAa,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"http-dispatcher.d.ts","sourceRoot":"","sources":["../../src/node/http-dispatcher.ts"],"names":[],"mappings":"AAoCA,OAAO,EAA6C,KAAK,UAAU,EAAuB,MAAM,QAAQ,CAAC;AAMzG;;;;;GAKG;AACH,cAAM,WAAW;;gBAKH,IAAI,EAAE,MAAM;IAIxB,GAAG,IAAI,MAAM,GAAG,SAAS;IAezB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAY3B;AAiCD,0EAA0E;AAC1E,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,CAAC;AAI/C,6GAA6G;AAC7G,wBAAgB,aAAa,IAAI,UAAU,CA0B1C;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAiDD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,UAAU,CAAC,KAGxC,CAAC"}
|
|
@@ -135,7 +135,11 @@ export function sdkDispatcher() {
|
|
|
135
135
|
if (apiOrigin && store && o === apiOrigin && o.startsWith("https:")) {
|
|
136
136
|
// ONE connection: requests queue on the connecting socket (never a
|
|
137
137
|
// second dial) and multiplex over h2 where the origin negotiates it.
|
|
138
|
-
|
|
138
|
+
// Keep-alive sits just under the ALB's 60 s idle timeout — the
|
|
139
|
+
// undici default (~4 s) silently re-dialed between a RESIDENT
|
|
140
|
+
// daemon's sessions, observed as ~340 ms median first-op wire where
|
|
141
|
+
// a genuinely warm socket serves at ~150 ms.
|
|
142
|
+
return new Client(origin, { ...opts, allowH2: true, keepAliveTimeout: 55_000, keepAliveMaxTimeout: 55_000, connect: apiConnector(store) });
|
|
139
143
|
}
|
|
140
144
|
return new Pool(origin, opts);
|
|
141
145
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-dispatcher.js","sourceRoot":"","sources":["../../src/node/http-dispatcher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http-dispatcher.js","sourceRoot":"","sources":["../../src/node/http-dispatcher.ts"],"names":[],"mappings":"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"}
|