@sentropic/h2a 0.96.1 → 0.96.2
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +74 -27
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/drive/cluster-mesh-outer.d.ts +44 -0
- package/dist/runtime/drive/cluster-mesh-outer.d.ts.map +1 -0
- package/dist/runtime/drive/cluster-mesh-outer.js +70 -0
- package/dist/runtime/drive/cluster-mesh-outer.js.map +1 -0
- package/dist/runtime/drive/pty-actuator.d.ts +54 -0
- package/dist/runtime/drive/pty-actuator.d.ts.map +1 -0
- package/dist/runtime/drive/pty-actuator.js +371 -0
- package/dist/runtime/drive/pty-actuator.js.map +1 -0
- package/dist/runtime/local-files/paths.js +1 -1
- package/dist/runtime/local-files/paths.js.map +1 -1
- package/dist/runtime/local-files/presence.d.ts.map +1 -1
- package/dist/runtime/local-files/presence.js +10 -1
- package/dist/runtime/local-files/presence.js.map +1 -1
- package/dist/runtime/mcp/agent-launch.d.ts +2 -1
- package/dist/runtime/mcp/agent-launch.d.ts.map +1 -1
- package/dist/runtime/mcp/agent-launch.js +48 -8
- package/dist/runtime/mcp/agent-launch.js.map +1 -1
- package/dist/runtime/mcp/tools.d.ts.map +1 -1
- package/dist/runtime/mcp/tools.js +19 -6
- package/dist/runtime/mcp/tools.js.map +1 -1
- package/dist/runtime/memory/admit-client.d.ts +30 -0
- package/dist/runtime/memory/admit-client.d.ts.map +1 -0
- package/dist/runtime/memory/admit-client.js +44 -0
- package/dist/runtime/memory/admit-client.js.map +1 -0
- package/dist/runtime/memory/d11-ceremony.d.ts +731 -0
- package/dist/runtime/memory/d11-ceremony.d.ts.map +1 -0
- package/dist/runtime/memory/d11-ceremony.js +1282 -0
- package/dist/runtime/memory/d11-ceremony.js.map +1 -0
- package/dist/runtime/memory/graphify-contracts-v2.vendored.d.ts +922 -0
- package/dist/runtime/memory/graphify-contracts-v2.vendored.d.ts.map +1 -0
- package/dist/runtime/memory/graphify-contracts-v2.vendored.js +2 -0
- package/dist/runtime/memory/graphify-contracts-v2.vendored.js.map +1 -0
- package/dist/runtime/memory/note-builder.d.ts +83 -0
- package/dist/runtime/memory/note-builder.d.ts.map +1 -0
- package/dist/runtime/memory/note-builder.js +89 -0
- package/dist/runtime/memory/note-builder.js.map +1 -0
- package/dist/runtime/memory/port-v1.d.ts +235 -0
- package/dist/runtime/memory/port-v1.d.ts.map +1 -0
- package/dist/runtime/memory/port-v1.js +129 -0
- package/dist/runtime/memory/port-v1.js.map +1 -0
- package/dist/runtime/memory/port-v2-adapter.d.ts +117 -0
- package/dist/runtime/memory/port-v2-adapter.d.ts.map +1 -0
- package/dist/runtime/memory/port-v2-adapter.js +140 -0
- package/dist/runtime/memory/port-v2-adapter.js.map +1 -0
- package/dist/runtime/memory/port-v2-compat.d.ts +50 -0
- package/dist/runtime/memory/port-v2-compat.d.ts.map +1 -0
- package/dist/runtime/memory/port-v2-compat.js +102 -0
- package/dist/runtime/memory/port-v2-compat.js.map +1 -0
- package/dist/runtime/memory/preflight.d.ts +17 -0
- package/dist/runtime/memory/preflight.d.ts.map +1 -0
- package/dist/runtime/memory/preflight.js +18 -0
- package/dist/runtime/memory/preflight.js.map +1 -0
- package/dist/runtime/memory/promote-client.d.ts +172 -0
- package/dist/runtime/memory/promote-client.d.ts.map +1 -0
- package/dist/runtime/memory/promote-client.js +168 -0
- package/dist/runtime/memory/promote-client.js.map +1 -0
- package/dist/runtime/memory/recall-client.d.ts +74 -0
- package/dist/runtime/memory/recall-client.d.ts.map +1 -0
- package/dist/runtime/memory/recall-client.js +91 -0
- package/dist/runtime/memory/recall-client.js.map +1 -0
- package/package.json +4 -1
- package/skills/h2a-run/SKILL.md +39 -6
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAwEH,OAAO,KAAK,EAOV,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EAIL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EAClC,MAAM,gCAAgC,CAAC;AAqCxC,OAAO,EAUL,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAeL,KAAK,gBAAgB,EAItB,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EAUL,KAAK,0BAA0B,EAGhC,MAAM,0BAA0B,CAAC;AAElC,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
* The full machine-readable manifest lives in `./cli-contract.ts`
|
|
37
37
|
* (`H2A_CLI_VERB_CONTRACTS`). Human-readable reference: `docs/cli-contract.md`.
|
|
38
38
|
*/
|
|
39
|
-
import { execFileSync, spawnSync } from "node:child_process";
|
|
39
|
+
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
40
40
|
import { generateKeyPairSync } from "node:crypto";
|
|
41
41
|
import { once } from "node:events";
|
|
42
42
|
import { chmodSync, copyFileSync, existsSync, mkdirSync, readdirSync, realpathSync, readFileSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -84,7 +84,7 @@ import { raiseBlockage, listBlockages, resolveBlockage } from "./runtime/blockag
|
|
|
84
84
|
import { recordEscalation, listEscalations, clearEscalation } from "./runtime/escalation/index.js";
|
|
85
85
|
import { authorizeDrive, chainDriver, formatSignedDriveInstruction, headlessDriver, localTmuxDriver, loggingDriver, nativeBackchannelDriver, remoteDriveServerForStore, verifyDriveOnReceive } from "./runtime/drive/index.js";
|
|
86
86
|
import { verifyEnvelopeSysmlRef } from "./runtime/sysml/index.js";
|
|
87
|
-
import { checkUpgrade, performUpgrade, currentCliVersion, upgradeCachePath,
|
|
87
|
+
import { checkUpgrade, performUpgrade, currentCliVersion, upgradeCachePath, H2A_AUTO_UPGRADE_CHECK_TTL_MS, H2A_REEXEC_GUARD_ENV, H2A_UPGRADE_CHECK_TTL_MS } from "./runtime/upgrade/index.js";
|
|
88
88
|
import { H2A_CLI_DECLARED_CAPABILITIES, createHostSessionNameRefresher, resolveLiveIdentity } from "./runtime/identity/index.js";
|
|
89
89
|
import { buildEnrollmentProof, enrollmentProofSignedPayload, listUnusablePrivateKeys, sanitizeEnrollmentChallenge } from "./runtime/enrollment/index.js";
|
|
90
90
|
import { conductorFor } from "./runtime/governance/conductor.js";
|
|
@@ -1374,44 +1374,91 @@ export async function runMcpServe(flags, io = {
|
|
|
1374
1374
|
readiness = { file: readyFile, nonce: readyNonce };
|
|
1375
1375
|
}
|
|
1376
1376
|
// DEC-107/108 (EVO-8 levels 2/3): version handling at boot. **Opt-in** — no
|
|
1377
|
-
// network on a default boot.
|
|
1378
|
-
//
|
|
1379
|
-
//
|
|
1380
|
-
//
|
|
1381
|
-
// The
|
|
1377
|
+
// network on a default boot. Production check/install work runs in a
|
|
1378
|
+
// detached process: spawnSync there cannot freeze the live MCP event loop,
|
|
1379
|
+
// and the installed version applies on the next launch. Never re-exec this
|
|
1380
|
+
// stdio process: replacing its image tears the connected JSON-RPC session.
|
|
1381
|
+
// The guard remains honored when an older h2a re-execs into this version.
|
|
1382
1382
|
const wantAutoUpgrade = flags["auto-upgrade"] !== undefined;
|
|
1383
1383
|
const wantCheckOnly = flags["upgrade-check"] !== undefined;
|
|
1384
1384
|
if ((wantAutoUpgrade || wantCheckOnly) &&
|
|
1385
1385
|
process.env[H2A_REEXEC_GUARD_ENV] === undefined) {
|
|
1386
1386
|
try {
|
|
1387
|
-
const current = currentCliVersion();
|
|
1388
1387
|
// `--auto-upgrade` is opt-in to stay current → short (1h) cache so a
|
|
1389
1388
|
// same-day release isn't masked by the 24h notice cache; the passive
|
|
1390
1389
|
// `--upgrade-check` notice keeps the 24h throttle.
|
|
1391
1390
|
const ttlMs = wantAutoUpgrade ? H2A_AUTO_UPGRADE_CHECK_TTL_MS : H2A_UPGRADE_CHECK_TTL_MS;
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1391
|
+
if (io.upgradeRuntime) {
|
|
1392
|
+
// Injectable source-proof seam. Production never runs the synchronous
|
|
1393
|
+
// runtime here; its spawnSync calls live only in the detached worker.
|
|
1394
|
+
setImmediate(() => {
|
|
1395
|
+
try {
|
|
1396
|
+
const current = currentCliVersion();
|
|
1397
|
+
const result = checkUpgrade(current, {
|
|
1398
|
+
cachePath: upgradeCachePath(root),
|
|
1399
|
+
ttlMs,
|
|
1400
|
+
runtime: io.upgradeRuntime
|
|
1401
|
+
});
|
|
1402
|
+
if (!result.upgradeAvailable)
|
|
1403
|
+
return;
|
|
1404
|
+
if (wantAutoUpgrade) {
|
|
1405
|
+
const ok = performUpgrade(io.upgradeRuntime);
|
|
1406
|
+
io.stderr.write(ok
|
|
1407
|
+
? `h2a mcp-serve: auto-upgraded ${current} → ${result.latest} (applies on next launch)\n`
|
|
1408
|
+
: `h2a mcp-serve: auto-upgrade to ${result.latest} failed; staying on ${current}\n`);
|
|
1409
|
+
}
|
|
1410
|
+
else {
|
|
1411
|
+
io.stderr.write(`h2a mcp-serve: h2a ${result.latest} available (current ${current}) — run \`h2a upgrade\`\n`);
|
|
1412
|
+
}
|
|
1403
1413
|
}
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
}
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1414
|
+
catch {
|
|
1415
|
+
// best-effort: a check/upgrade failure must never affect serving.
|
|
1416
|
+
}
|
|
1417
|
+
});
|
|
1418
|
+
}
|
|
1419
|
+
else {
|
|
1420
|
+
const workerSource = String.raw `
|
|
1421
|
+
const [moduleUrl, root, ttl, mode] = process.argv.slice(1);
|
|
1422
|
+
try {
|
|
1423
|
+
const upgrade = await import(moduleUrl);
|
|
1424
|
+
const current = upgrade.currentCliVersion();
|
|
1425
|
+
const result = upgrade.checkUpgrade(current, {
|
|
1426
|
+
cachePath: upgrade.upgradeCachePath(root),
|
|
1427
|
+
ttlMs: Number(ttl)
|
|
1428
|
+
});
|
|
1429
|
+
if (result.upgradeAvailable) {
|
|
1430
|
+
if (mode === "auto") {
|
|
1431
|
+
const ok = upgrade.performUpgrade();
|
|
1432
|
+
process.stderr.write(ok
|
|
1433
|
+
? "h2a mcp-serve: auto-upgraded " + current + " → " + result.latest + " (applies on next launch)\n"
|
|
1434
|
+
: "h2a mcp-serve: auto-upgrade to " + result.latest + " failed; staying on " + current + "\n");
|
|
1435
|
+
} else {
|
|
1436
|
+
process.stderr.write("h2a mcp-serve: h2a " + result.latest + " available (current " + current + ") — run \`h2a upgrade\`\n");
|
|
1437
|
+
}
|
|
1438
|
+
}
|
|
1439
|
+
} catch {
|
|
1440
|
+
// Best-effort background maintenance must not affect the MCP server.
|
|
1441
|
+
}
|
|
1442
|
+
`;
|
|
1443
|
+
const worker = spawn(process.execPath, [
|
|
1444
|
+
"--input-type=module",
|
|
1445
|
+
"--eval",
|
|
1446
|
+
workerSource,
|
|
1447
|
+
"--",
|
|
1448
|
+
new URL("./runtime/upgrade/index.js", import.meta.url).href,
|
|
1449
|
+
root,
|
|
1450
|
+
String(ttlMs),
|
|
1451
|
+
wantAutoUpgrade ? "auto" : "check"
|
|
1452
|
+
], {
|
|
1453
|
+
detached: true,
|
|
1454
|
+
stdio: ["ignore", "ignore", "inherit"]
|
|
1455
|
+
});
|
|
1456
|
+
worker.once("error", () => { });
|
|
1457
|
+
worker.unref();
|
|
1411
1458
|
}
|
|
1412
1459
|
}
|
|
1413
1460
|
catch {
|
|
1414
|
-
// best-effort:
|
|
1461
|
+
// best-effort: worker launch failure must never block serving.
|
|
1415
1462
|
}
|
|
1416
1463
|
}
|
|
1417
1464
|
// EVO-1 inbox wake (bug #3): --wake <driver-kind> injects a signed wake on
|