@sentropic/h2a-runtime 0.85.1 → 0.85.3
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/attach.js +9 -9
- package/dist/attach.js.map +1 -1
- package/dist/auth-bundle.js +1 -1
- package/dist/auth-bundle.js.map +1 -1
- package/dist/auth-refresh.js +1 -1
- package/dist/auth-refresh.js.map +1 -1
- package/dist/browser-bridge-local.js +1 -1
- package/dist/browser-bridge-local.js.map +1 -1
- package/dist/browser.js +4 -4
- package/dist/browser.js.map +1 -1
- package/dist/conv-guard.js +6 -6
- package/dist/conv-guard.js.map +1 -1
- package/dist/convsync.js +1 -1
- package/dist/convsync.js.map +1 -1
- package/dist/cred-health.js +6 -6
- package/dist/cred-health.js.map +1 -1
- package/dist/delegate.js +1 -1
- package/dist/delegate.js.map +1 -1
- package/dist/forward.js +5 -5
- package/dist/forward.js.map +1 -1
- package/dist/h2a-bridge.js +4 -4
- package/dist/h2a-bridge.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +413 -404
- package/dist/index.js.map +1 -1
- package/dist/interactive-throttle.js +6 -6
- package/dist/interactive-throttle.js.map +1 -1
- package/dist/llm-gateway-runtime/proxy-openai.d.ts +4 -3
- package/dist/llm-gateway-runtime/proxy-openai.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/proxy-openai.js +45 -7
- package/dist/llm-gateway-runtime/proxy-openai.js.map +1 -1
- package/dist/llm-mesh.js +1 -1
- package/dist/llm-mesh.js.map +1 -1
- package/dist/migrate.js +32 -32
- package/dist/migrate.js.map +1 -1
- package/dist/plugin.js +27 -27
- package/dist/plugin.js.map +1 -1
- package/dist/pod-liveness.js +1 -1
- package/dist/pod-liveness.js.map +1 -1
- package/dist/profile-menu.js +3 -3
- package/dist/profile-menu.js.map +1 -1
- package/dist/registry.d.ts +16 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +32 -0
- package/dist/registry.js.map +1 -1
- package/dist/restore.js +9 -9
- package/dist/restore.js.map +1 -1
- package/dist/skills-sync.js +6 -6
- package/dist/skills-sync.js.map +1 -1
- package/dist/smoke.js +4 -4
- package/dist/smoke.js.map +1 -1
- package/dist/soft-refresh.js +15 -15
- package/dist/soft-refresh.js.map +1 -1
- package/dist/sync.js +1 -1
- package/dist/sync.js.map +1 -1
- package/dist/tmux.d.ts +1 -1
- package/dist/tmux.d.ts.map +1 -1
- package/dist/tmux.js +12 -12
- package/dist/tmux.js.map +1 -1
- package/dist/tunnel.js +2 -2
- package/dist/tunnel.js.map +1 -1
- package/dist/workspace-sync.js +1 -1
- package/dist/workspace-sync.js.map +1 -1
- package/package.json +1 -1
package/dist/migrate.js
CHANGED
|
@@ -54,19 +54,19 @@ async function resolveOrCreateWorkspace(cwd, remoteUrl, workspaceIdOverride, fet
|
|
|
54
54
|
workspaceId: workspaceIdOverride,
|
|
55
55
|
};
|
|
56
56
|
writeWorkspaceMarker(cwd, marker);
|
|
57
|
-
stderr.write(`[
|
|
57
|
+
stderr.write(`[h2a] using workspace ${workspaceIdOverride} (from --workspace flag)\n`);
|
|
58
58
|
return marker;
|
|
59
59
|
}
|
|
60
60
|
const existing = readWorkspaceMarker(cwd);
|
|
61
61
|
if (existing) {
|
|
62
|
-
stderr.write(`[
|
|
62
|
+
stderr.write(`[h2a] cwd mapped to ${existing.workspaceId} (reusing workspace)\n`);
|
|
63
63
|
return existing;
|
|
64
64
|
}
|
|
65
65
|
// Create and link a new workspace.
|
|
66
66
|
const ws = await createWorkspace(remoteUrl, {}, fetchImpl);
|
|
67
67
|
const marker = { remote: remoteUrl, workspaceId: ws.id };
|
|
68
68
|
writeWorkspaceMarker(cwd, marker);
|
|
69
|
-
stderr.write(`[
|
|
69
|
+
stderr.write(`[h2a] created workspace ${ws.id} and linked to ${cwd}\n`);
|
|
70
70
|
return marker;
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
@@ -146,7 +146,7 @@ function captureLiveConversation(cwd, profile, home, stderr) {
|
|
|
146
146
|
// archive has a size cap and rides a fragile port-forward).
|
|
147
147
|
cpSync(join(src, newest.name), join(dstDir, newest.name));
|
|
148
148
|
const convId = newest.name.replace(/\.jsonl$/, "");
|
|
149
|
-
stderr.write(`[
|
|
149
|
+
stderr.write(`[h2a] captured live ${profile} conversation ${convId} for resume\n`);
|
|
150
150
|
return convId;
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
@@ -169,7 +169,7 @@ function writeGitMetadata(cwd, stderr) {
|
|
|
169
169
|
try {
|
|
170
170
|
mkdirSync(join(cwd, ".remote"), { recursive: true });
|
|
171
171
|
writeFileSync(join(cwd, ".remote", "git.json"), JSON.stringify({ origin, branch, head }, null, 2), "utf8");
|
|
172
|
-
stderr.write(`[
|
|
172
|
+
stderr.write(`[h2a] recorded git origin for clone-on-start: ${origin} (${branch || "HEAD"})\n`);
|
|
173
173
|
}
|
|
174
174
|
catch {
|
|
175
175
|
// best-effort
|
|
@@ -198,9 +198,9 @@ function friendlyName(cwd) {
|
|
|
198
198
|
async function pushWorkspace(cwd, remoteUrl, workspaceId, fetchImpl, stderr, leaseHdrs) {
|
|
199
199
|
await acquireWorkspaceLock(remoteUrl, workspaceId, lockHolderId(), 300, fetchImpl);
|
|
200
200
|
try {
|
|
201
|
-
stderr.write(`[
|
|
201
|
+
stderr.write(`[h2a] packing ${cwd} (respecting .gitignore)\n`);
|
|
202
202
|
const archive = await buildWorkspaceArchive(cwd);
|
|
203
|
-
stderr.write(`[
|
|
203
|
+
stderr.write(`[h2a] archive: ${(archive.byteLength / 1024).toFixed(0)} KiB -> ${workspaceId}\n`);
|
|
204
204
|
// Use a throwaway shell session to seed the PVC.
|
|
205
205
|
const session = await createRemoteSession(remoteUrl, {
|
|
206
206
|
profile: "shell",
|
|
@@ -216,7 +216,7 @@ async function pushWorkspace(cwd, remoteUrl, workspaceId, fetchImpl, stderr, lea
|
|
|
216
216
|
});
|
|
217
217
|
await attached.finished;
|
|
218
218
|
writeBaseSnapshot(cwd, archive);
|
|
219
|
-
stderr.write(`[
|
|
219
|
+
stderr.write(`[h2a] pushed ${cwd} to ${workspaceId}\n`);
|
|
220
220
|
return archive;
|
|
221
221
|
}
|
|
222
222
|
finally {
|
|
@@ -249,7 +249,7 @@ async function pullWorkspace(cwd, home, remoteUrl, workspaceId, onConflict, fetc
|
|
|
249
249
|
await stopRemoteSession(remoteUrl, session.id, "pull-complete", fetchImpl);
|
|
250
250
|
}
|
|
251
251
|
if (!remoteArchive) {
|
|
252
|
-
stderr.write(`[
|
|
252
|
+
stderr.write(`[h2a] nothing to pull (workspace ${workspaceId} produced no export)\n`);
|
|
253
253
|
return { remoteArchive: null, hasConflicts: false };
|
|
254
254
|
}
|
|
255
255
|
const mergeResult = mergeWorkspaceArchive({
|
|
@@ -257,17 +257,17 @@ async function pullWorkspace(cwd, home, remoteUrl, workspaceId, onConflict, fetc
|
|
|
257
257
|
remoteArchive,
|
|
258
258
|
baseArchive: readBaseSnapshot(cwd),
|
|
259
259
|
});
|
|
260
|
-
stderr.write(`[
|
|
260
|
+
stderr.write(`[h2a] pull: ${mergeResult.tookRemote.length} from remote, ${mergeResult.keptLocal.length} kept local, ${mergeResult.merged.length} merged\n`);
|
|
261
261
|
let hasConflicts = false;
|
|
262
262
|
if (mergeResult.conflicts.length > 0) {
|
|
263
|
-
stderr.write(`[
|
|
263
|
+
stderr.write(`[h2a] ${mergeResult.conflicts.length} conflict(s) (left with markers, resolve then re-run):\n`);
|
|
264
264
|
for (const f of mergeResult.conflicts)
|
|
265
265
|
stderr.write(` ${f}\n`);
|
|
266
266
|
hasConflicts = true;
|
|
267
267
|
}
|
|
268
268
|
else {
|
|
269
269
|
writeBaseSnapshot(cwd, remoteArchive);
|
|
270
|
-
stderr.write(`[
|
|
270
|
+
stderr.write(`[h2a] pulled ${workspaceId} into ${cwd}\n`);
|
|
271
271
|
}
|
|
272
272
|
// Restore conversation state.
|
|
273
273
|
let anySessionConflict = false;
|
|
@@ -281,7 +281,7 @@ async function pullWorkspace(cwd, home, remoteUrl, workspaceId, onConflict, fetc
|
|
|
281
281
|
const touched = r.restored.length + r.backedUp.length + r.conflicts.length;
|
|
282
282
|
if (touched === 0 && r.keptLocal.length === 0)
|
|
283
283
|
continue;
|
|
284
|
-
stderr.write(`[
|
|
284
|
+
stderr.write(`[h2a] sessions(${profile}): ${r.restored.length} restored, ${r.backedUp.length} backed-up, ${r.keptLocal.length} kept, ${r.conflicts.length} conflict\n`);
|
|
285
285
|
for (const b of r.backedUp)
|
|
286
286
|
stderr.write(` backup ${b}\n`);
|
|
287
287
|
if (r.conflicts.length > 0) {
|
|
@@ -291,7 +291,7 @@ async function pullWorkspace(cwd, home, remoteUrl, workspaceId, onConflict, fetc
|
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
293
|
if (anySessionConflict) {
|
|
294
|
-
stderr.write(`[
|
|
294
|
+
stderr.write(`[h2a] diverged conversations left untouched. Re-run with --on-conflict backup or keep-local.\n`);
|
|
295
295
|
hasConflicts = true;
|
|
296
296
|
}
|
|
297
297
|
return { remoteArchive, hasConflicts };
|
|
@@ -343,7 +343,7 @@ export async function migrateForward(options) {
|
|
|
343
343
|
if (options.reconnect) {
|
|
344
344
|
// Revive on the existing PVC: no capture, no push — the conversation and any
|
|
345
345
|
// work done remotely are already on the retained workspace volume.
|
|
346
|
-
stderr.write(`[
|
|
346
|
+
stderr.write(`[h2a] reconnect: reusing workspace ${marker.workspaceId} as-is (no push)\n`);
|
|
347
347
|
}
|
|
348
348
|
else {
|
|
349
349
|
// Record git origin so the Pod can clone-on-start when .git is too big to
|
|
@@ -369,7 +369,7 @@ export async function migrateForward(options) {
|
|
|
369
369
|
try {
|
|
370
370
|
const result = await acquireLineageLease(remoteUrl, { lineageId, holder, incarnationId, location: "local", ttlMs: 300_000 }, fetchImpl);
|
|
371
371
|
if ("error" in result) {
|
|
372
|
-
throw new Error(`[
|
|
372
|
+
throw new Error(`[h2a] workspace is already being migrated (concurrent push detected).\n` +
|
|
373
373
|
` Current holder: ${result.current.holder}\n` +
|
|
374
374
|
` Wait for the other migration to complete, or release the lease manually.`);
|
|
375
375
|
}
|
|
@@ -380,7 +380,7 @@ export async function migrateForward(options) {
|
|
|
380
380
|
// Graceful fallback: if the CP doesn't have the lineage-leases route yet
|
|
381
381
|
// (404) or is unreachable, skip enforcement (backward compat).
|
|
382
382
|
if (msg.includes("acquireLineageLease: 404") || msg.includes("ECONNREFUSED") || msg.includes("ENOTFOUND")) {
|
|
383
|
-
stderr.write(`[
|
|
383
|
+
stderr.write(`[h2a] lineage lease skipped (CP missing route or unreachable)\n`);
|
|
384
384
|
}
|
|
385
385
|
else {
|
|
386
386
|
throw err;
|
|
@@ -428,12 +428,12 @@ export async function migrateForward(options) {
|
|
|
428
428
|
...(resumeArgs.length > 0 ? { startupArgs: resumeArgs } : {}),
|
|
429
429
|
}, fetchImpl);
|
|
430
430
|
stderr.write(credentials
|
|
431
|
-
? `[
|
|
432
|
-
: `[
|
|
431
|
+
? `[h2a] bundled ${profile} creds: ${Object.keys(credentials).join(", ")}\n`
|
|
432
|
+
: `[h2a] no ${profile} creds found locally — session starts unauthenticated\n`);
|
|
433
433
|
if (bundledTools.length > 0) {
|
|
434
|
-
stderr.write(`[
|
|
434
|
+
stderr.write(`[h2a] bundled tool auth: ${bundledTools.join(", ")}\n`);
|
|
435
435
|
}
|
|
436
|
-
stderr.write(`[
|
|
436
|
+
stderr.write(`[h2a] migrated to remote session ${session.id} on ${remoteUrl} (workspace ${marker.workspaceId})\n`);
|
|
437
437
|
// Phase A: record the active remote session so migrateBack can target it
|
|
438
438
|
// directly without a list-sessions round-trip.
|
|
439
439
|
if (!options.reconnect) {
|
|
@@ -449,11 +449,11 @@ export async function migrateForward(options) {
|
|
|
449
449
|
}
|
|
450
450
|
// Step 5: hand off terminal — unless --no-attach (bulk / reconnect-yourself).
|
|
451
451
|
if (options.noAttach) {
|
|
452
|
-
stderr.write(`[
|
|
453
|
-
`
|
|
452
|
+
stderr.write(`[h2a] session ready (not attached). Reconnect your terminal with:\n` +
|
|
453
|
+
` h2a attach ${remoteUrl} ${session.id}\n`);
|
|
454
454
|
return { workspaceId: marker.workspaceId, sessionId: session.id };
|
|
455
455
|
}
|
|
456
|
-
stderr.write(`[
|
|
456
|
+
stderr.write(`[h2a] terminal is now REMOTE — press Ctrl+P Ctrl+Q to detach without stopping the session\n`);
|
|
457
457
|
const attached = await attach({
|
|
458
458
|
baseUrl: remoteUrl,
|
|
459
459
|
sessionId: session.id,
|
|
@@ -477,7 +477,7 @@ export async function migrateBack(options) {
|
|
|
477
477
|
const existing = readWorkspaceMarker(cwd);
|
|
478
478
|
const workspaceId = options.workspaceId ?? existing?.workspaceId;
|
|
479
479
|
if (!workspaceId) {
|
|
480
|
-
throw new Error("No workspace mapped for this directory and no --workspace given. Run `
|
|
480
|
+
throw new Error("No workspace mapped for this directory and no --workspace given. Run `h2a workspace link` first or pass --workspace <id>.");
|
|
481
481
|
}
|
|
482
482
|
// Step 2: pull workspace + conversation state.
|
|
483
483
|
const { remoteArchive, hasConflicts } = await pullWorkspace(cwd, home, remoteUrl, workspaceId, onConflict, fetchImpl, stderr);
|
|
@@ -495,7 +495,7 @@ export async function migrateBack(options) {
|
|
|
495
495
|
}
|
|
496
496
|
else if (lineageRec?.remoteSessionId) {
|
|
497
497
|
target = { id: lineageRec.remoteSessionId };
|
|
498
|
-
stderr.write(`[
|
|
498
|
+
stderr.write(`[h2a] targeting session ${target.id} from lineage record\n`);
|
|
499
499
|
}
|
|
500
500
|
else {
|
|
501
501
|
const sessions = await listRemoteSessions(remoteUrl, fetchImpl);
|
|
@@ -508,7 +508,7 @@ export async function migrateBack(options) {
|
|
|
508
508
|
if (target !== undefined) {
|
|
509
509
|
await stopRemoteSession(remoteUrl, target.id, "migrate-back", fetchImpl);
|
|
510
510
|
stoppedSessionId = target.id;
|
|
511
|
-
stderr.write(`[
|
|
511
|
+
stderr.write(`[h2a] stopped remote session ${target.id}\n`);
|
|
512
512
|
// Clear the active session from the lineage record — the migration is done.
|
|
513
513
|
if (lineageRec) {
|
|
514
514
|
writeLineageRecord(cwd, workspaceId, { lineageId: lineageRec.lineageId });
|
|
@@ -516,7 +516,7 @@ export async function migrateBack(options) {
|
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
518
|
catch (err) {
|
|
519
|
-
stderr.write(`[
|
|
519
|
+
stderr.write(`[h2a] warning: could not stop remote session: ${String(err)}\n`);
|
|
520
520
|
}
|
|
521
521
|
// Step 4: derive and print resume command.
|
|
522
522
|
// Pick a profile from the restored archive — use the first CLI profile that
|
|
@@ -547,10 +547,10 @@ export async function migrateBack(options) {
|
|
|
547
547
|
// Advice string: the ACTUAL CLI command shape (remote run … -r <id>), not a
|
|
548
548
|
// raw profile flag — codex's resume is a subcommand, claude's differs by id.
|
|
549
549
|
const resumeCommand = resumeConvId
|
|
550
|
-
? `
|
|
551
|
-
: `
|
|
552
|
-
stdout.write(`\n[
|
|
553
|
-
stdout.write(`[
|
|
550
|
+
? `h2a run ${finalProfile} -r ${resumeConvId}`
|
|
551
|
+
: `h2a run ${finalProfile}`;
|
|
552
|
+
stdout.write(`\n[h2a] local state restored from workspace ${workspaceId}\n`);
|
|
553
|
+
stdout.write(`[h2a] resume your session with:\n\n ${resumeCommand}\n\n`);
|
|
554
554
|
return {
|
|
555
555
|
workspaceId,
|
|
556
556
|
...(stoppedSessionId !== undefined ? { stoppedSessionId } : {}),
|
package/dist/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -304,7 +304,7 @@ export function buildPodSyncScript(plugin, profile) {
|
|
|
304
304
|
for (const mcp of plugin.mcp) {
|
|
305
305
|
assertSafeName(mcp.name);
|
|
306
306
|
if (!mcp.scriptRel) {
|
|
307
|
-
lines.push(`echo "mcp ${mcp.name}: no scriptRel recorded — re-run:
|
|
307
|
+
lines.push(`echo "mcp ${mcp.name}: no scriptRel recorded — re-run: h2a plugin add ${plugin.pkg}"`);
|
|
308
308
|
continue;
|
|
309
309
|
}
|
|
310
310
|
assertSafeRel(mcp.scriptRel);
|
|
@@ -361,7 +361,7 @@ function installGlobally(spec, stderr) {
|
|
|
361
361
|
.map((line) => line.trim())
|
|
362
362
|
.find((line) => /^(added|changed|removed|up to date)/.test(line)) ??
|
|
363
363
|
"installed";
|
|
364
|
-
stderr.write(`[
|
|
364
|
+
stderr.write(`[h2a] npm i -g ${spec}: ${summary}\n`);
|
|
365
365
|
}
|
|
366
366
|
function readFileIfExists(path) {
|
|
367
367
|
try {
|
|
@@ -387,12 +387,12 @@ function registerClaudeLocal(name, scriptPath, stderr) {
|
|
|
387
387
|
if (r.status !== 0) {
|
|
388
388
|
throw new Error(`claude mcp add ${name} failed: ${(r.stderr || r.stdout || "").trim()}`);
|
|
389
389
|
}
|
|
390
|
-
stderr.write(`[
|
|
390
|
+
stderr.write(`[h2a] claude: MCP ${name} -> node ${scriptPath} (scope user)\n`);
|
|
391
391
|
return;
|
|
392
392
|
}
|
|
393
393
|
const path = join(homedir(), ".claude.json");
|
|
394
394
|
writeFileSync(path, mergeClaudeMcpServers(readFileIfExists(path), name, "node", [scriptPath]), "utf8");
|
|
395
|
-
stderr.write(`[
|
|
395
|
+
stderr.write(`[h2a] claude: MCP ${name} merged into ~/.claude.json (claude CLI not found)\n`);
|
|
396
396
|
}
|
|
397
397
|
/**
|
|
398
398
|
* Idempotent `mcpServers.<name>` merge into ~/.gemini/config/mcp_config.json
|
|
@@ -407,16 +407,16 @@ function registerAgyLocal(name, scriptPath, stderr) {
|
|
|
407
407
|
const before = readFileIfExists(path);
|
|
408
408
|
const { next, changed, needsBackup } = planAgyMcpConfigUpdate(before, name, "node", [scriptPath]);
|
|
409
409
|
if (!changed) {
|
|
410
|
-
stderr.write(`[
|
|
410
|
+
stderr.write(`[h2a] agy: MCP ${name} already in ${path} (unchanged)\n`);
|
|
411
411
|
return;
|
|
412
412
|
}
|
|
413
413
|
if (needsBackup) {
|
|
414
414
|
const backup = `${path}.bak.${Date.now()}`;
|
|
415
415
|
writeFileSync(backup, before, "utf8");
|
|
416
|
-
stderr.write(`[
|
|
416
|
+
stderr.write(`[h2a] agy: backed up ${path} -> ${backup}\n`);
|
|
417
417
|
}
|
|
418
418
|
writeFileSync(path, next, "utf8");
|
|
419
|
-
stderr.write(`[
|
|
419
|
+
stderr.write(`[h2a] agy: MCP ${name} -> node ${scriptPath} in ~/.gemini/config/mcp_config.json\n`);
|
|
420
420
|
}
|
|
421
421
|
/** Idempotent `[mcp_servers.<name>]` upsert in ~/.codex/config.toml. */
|
|
422
422
|
function registerCodexLocal(name, scriptPath, stderr) {
|
|
@@ -424,7 +424,7 @@ function registerCodexLocal(name, scriptPath, stderr) {
|
|
|
424
424
|
mkdirSync(dir, { recursive: true });
|
|
425
425
|
const path = join(dir, "config.toml");
|
|
426
426
|
writeFileSync(path, upsertCodexMcpServer(readFileIfExists(path), name, "node", [scriptPath]), "utf8");
|
|
427
|
-
stderr.write(`[
|
|
427
|
+
stderr.write(`[h2a] codex: [mcp_servers.${name}] -> node ${scriptPath} in ~/.codex/config.toml\n`);
|
|
428
428
|
}
|
|
429
429
|
// ---------------------------------------------------------------------------
|
|
430
430
|
// kubectl exec into session Pods (pattern: soft-refresh.ts)
|
|
@@ -618,7 +618,7 @@ export function reconcilePodManifestVia(io, pod, manifest, plugins, stderr = pro
|
|
|
618
618
|
return { reconciled: false, localHash, podHash, failures: 0 };
|
|
619
619
|
}
|
|
620
620
|
// Drift detected (hash only — never a secret). Re-run the EXISTING sync script.
|
|
621
|
-
stderr.write(`[
|
|
621
|
+
stderr.write(`[h2a] ${pod}: plugin/MCP drift (manifest ${podHash ? "mismatch" : "absent"}) — reconciling via plugin sync\n`);
|
|
622
622
|
let failures = 0;
|
|
623
623
|
for (const plugin of plugins) {
|
|
624
624
|
try {
|
|
@@ -681,7 +681,7 @@ export function pluginAdd(npmSpec, mcpSpecs, stderr = process.stderr) {
|
|
|
681
681
|
const bins = normalizeBins(pkg, pkgJson.bin);
|
|
682
682
|
const requests = mcpSpecs.length > 0 ? parseMcpSpecs(mcpSpecs) : detectMcpBins(bins);
|
|
683
683
|
if (requests.length === 0) {
|
|
684
|
-
stderr.write(`[
|
|
684
|
+
stderr.write(`[h2a] no MCP bin detected for ${pkg} (none ends in -mcp; bins: ${Object.keys(bins).join(", ") || "none"}) — pass --mcp <name>=<bin>\n`);
|
|
685
685
|
}
|
|
686
686
|
const mcp = [];
|
|
687
687
|
for (const { name, bin } of requests) {
|
|
@@ -700,8 +700,8 @@ export function pluginAdd(npmSpec, mcpSpecs, stderr = process.stderr) {
|
|
|
700
700
|
}
|
|
701
701
|
const entry = { pkg, version, mcp };
|
|
702
702
|
setPlugins([...getPlugins().filter((p) => p.pkg !== pkg), entry]);
|
|
703
|
-
stderr.write(`[
|
|
704
|
-
stderr.write(`[
|
|
703
|
+
stderr.write(`[h2a] plugin ${pkg}@${version} installed — ${mcp.length} MCP server(s) registered; persisted in remote config\n`);
|
|
704
|
+
stderr.write(`[h2a] propagate to live remote sessions with: h2a plugin sync\n`);
|
|
705
705
|
return entry;
|
|
706
706
|
}
|
|
707
707
|
/**
|
|
@@ -721,7 +721,7 @@ export function pluginAddInstaller(name, install, stderr = process.stderr) {
|
|
|
721
721
|
};
|
|
722
722
|
buildInstallCommand(entry); // throws on a bad curl url / empty script
|
|
723
723
|
setPlugins([...getPlugins().filter((p) => p.pkg !== name), entry]);
|
|
724
|
-
stderr.write(`[
|
|
724
|
+
stderr.write(`[h2a] plugin ${name} (${install.method}) persisted — installs in Pods on \`h2a plugin sync\`\n`);
|
|
725
725
|
return entry;
|
|
726
726
|
}
|
|
727
727
|
/**
|
|
@@ -738,7 +738,7 @@ export function pluginAddInstaller(name, install, stderr = process.stderr) {
|
|
|
738
738
|
export async function pluginLs(stdout = process.stdout, url) {
|
|
739
739
|
const plugins = getPlugins();
|
|
740
740
|
if (plugins.length === 0) {
|
|
741
|
-
stdout.write("[
|
|
741
|
+
stdout.write("[h2a] no plugins configured (h2a plugin add <npmPkg>)\n");
|
|
742
742
|
return;
|
|
743
743
|
}
|
|
744
744
|
let root;
|
|
@@ -784,8 +784,8 @@ export async function pluginLs(stdout = process.stdout, url) {
|
|
|
784
784
|
stdout.write(`${w(p.pkg, 28)} ${w(p.version, 9)} ${w(mcps, 20)} ${w(local, 8)} ${remote}\n`);
|
|
785
785
|
}
|
|
786
786
|
stdout.write(remoteByPkg
|
|
787
|
-
? "\n(REMOTE: real per-Pod status, worst across live sessions — `
|
|
788
|
-
: '\n(REMOTE "?": not connected to the control-plane — `
|
|
787
|
+
? "\n(REMOTE: real per-Pod status, worst across live sessions — `h2a plugin sync --check` for the full per-Pod table.)\n"
|
|
788
|
+
: '\n(REMOTE "?": not connected to the control-plane — `h2a plugin sync --check` (with the tunnel up) shows real per-Pod status.)\n');
|
|
789
789
|
}
|
|
790
790
|
/** Severity-rank two drift statuses; returns the worse (missing > version-drift > ok). */
|
|
791
791
|
function worseStatus(a, b) {
|
|
@@ -807,23 +807,23 @@ function worseStatus(a, b) {
|
|
|
807
807
|
export async function pluginSync(url, stderr = process.stderr) {
|
|
808
808
|
const plugins = getPlugins();
|
|
809
809
|
if (plugins.length === 0) {
|
|
810
|
-
stderr.write("[
|
|
810
|
+
stderr.write("[h2a] no plugins configured (h2a plugin add <npmPkg>)\n");
|
|
811
811
|
return;
|
|
812
812
|
}
|
|
813
813
|
const tunnel = getTunnel();
|
|
814
814
|
if (!tunnel) {
|
|
815
|
-
throw new Error("plugin sync needs a tunnel configured (
|
|
815
|
+
throw new Error("plugin sync needs a tunnel configured (h2a config tunnel …)");
|
|
816
816
|
}
|
|
817
817
|
const sessions = await listRemoteSessions(url);
|
|
818
818
|
if (sessions.length === 0) {
|
|
819
|
-
stderr.write("[
|
|
819
|
+
stderr.write("[h2a] no live remote sessions to sync\n");
|
|
820
820
|
return;
|
|
821
821
|
}
|
|
822
822
|
const manifest = renderManifest(plugins);
|
|
823
823
|
let failures = 0;
|
|
824
824
|
for (const session of sessions) {
|
|
825
825
|
const pod = `session-${session.id}`;
|
|
826
|
-
stderr.write(`[
|
|
826
|
+
stderr.write(`[h2a] ${session.id} (${session.profile}):\n`);
|
|
827
827
|
for (const plugin of plugins) {
|
|
828
828
|
try {
|
|
829
829
|
const out = execPod(tunnel, pod, buildPodSyncScript(plugin, session.profile));
|
|
@@ -846,7 +846,7 @@ export async function pluginSync(url, stderr = process.stderr) {
|
|
|
846
846
|
stderr.write(` manifest sidecar push skipped: ${String(error).slice(0, 120)}\n`);
|
|
847
847
|
}
|
|
848
848
|
}
|
|
849
|
-
stderr.write(`[
|
|
849
|
+
stderr.write(`[h2a] plugin sync done: ${sessions.length} session(s), ${plugins.length} plugin(s)${failures > 0 ? `, ${failures} failure(s)` : ""}\n`);
|
|
850
850
|
if (failures > 0)
|
|
851
851
|
process.exitCode = 1;
|
|
852
852
|
}
|
|
@@ -863,16 +863,16 @@ export async function pluginSync(url, stderr = process.stderr) {
|
|
|
863
863
|
export async function pluginSyncCheck(url, stdout = process.stdout, stderr = process.stderr) {
|
|
864
864
|
const plugins = getPlugins();
|
|
865
865
|
if (plugins.length === 0) {
|
|
866
|
-
stderr.write("[
|
|
866
|
+
stderr.write("[h2a] no plugins configured (h2a plugin add <npmPkg>)\n");
|
|
867
867
|
return [];
|
|
868
868
|
}
|
|
869
869
|
const tunnel = getTunnel();
|
|
870
870
|
if (!tunnel) {
|
|
871
|
-
throw new Error("plugin sync --check needs a tunnel configured (
|
|
871
|
+
throw new Error("plugin sync --check needs a tunnel configured (h2a config tunnel …)");
|
|
872
872
|
}
|
|
873
873
|
const sessions = await listRemoteSessions(url);
|
|
874
874
|
if (sessions.length === 0) {
|
|
875
|
-
stderr.write("[
|
|
875
|
+
stderr.write("[h2a] no live remote sessions to check\n");
|
|
876
876
|
return [];
|
|
877
877
|
}
|
|
878
878
|
const manifest = renderManifest(plugins);
|
|
@@ -885,7 +885,7 @@ export async function pluginSyncCheck(url, stdout = process.stdout, stderr = pro
|
|
|
885
885
|
allRows.push(...diffManifest(manifest, pod, state));
|
|
886
886
|
}
|
|
887
887
|
catch (error) {
|
|
888
|
-
stderr.write(`[
|
|
888
|
+
stderr.write(`[h2a] ${pod}: drift probe failed: ${String(error).slice(0, 200)}\n`);
|
|
889
889
|
// A probe failure is itself drift we can't clear — surface every desired
|
|
890
890
|
// item as a probe-failure row (status missing/unregistered conservatively).
|
|
891
891
|
for (const p of manifest.plugins) {
|
|
@@ -913,7 +913,7 @@ function printDriftTable(rows, stdout) {
|
|
|
913
913
|
}
|
|
914
914
|
const drifted = rows.filter(isDrift).length;
|
|
915
915
|
stdout.write(drifted === 0
|
|
916
|
-
? `\n[
|
|
917
|
-
: `\n[
|
|
916
|
+
? `\n[h2a] no drift — every live Pod matches the desired manifest.\n`
|
|
917
|
+
: `\n[h2a] ${drifted} drift row(s) — run \`h2a plugin sync\` to converge (exit 1).\n`);
|
|
918
918
|
}
|
|
919
919
|
//# sourceMappingURL=plugin.js.map
|