agent-shim 8.39.0 → 8.40.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/dist/cli.cjs +35 -11
- package/dist/index.cjs +58 -11
- package/dist/index.mjs +57 -11
- package/dist/types/index.d.ts +44 -2
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -63708,7 +63708,7 @@ function registerIdentityCommand(program2, deps) {
|
|
|
63708
63708
|
// package.json
|
|
63709
63709
|
var package_default = {
|
|
63710
63710
|
name: "agent-shim",
|
|
63711
|
-
version: "8.
|
|
63711
|
+
version: "8.40.0",
|
|
63712
63712
|
description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
63713
63713
|
license: "MIT",
|
|
63714
63714
|
author: "Joseph Mearman <joseph@mearman.co.uk>",
|
|
@@ -65215,12 +65215,7 @@ function rankNamedPool(input2, poolName, stack, sticky) {
|
|
|
65215
65215
|
}
|
|
65216
65216
|
continue;
|
|
65217
65217
|
}
|
|
65218
|
-
|
|
65219
|
-
throw new PoolGraphError(`Pool "${poolName}" member "${poolMemberIdentity(entry)}" names a pool that is not defined.`);
|
|
65220
|
-
}
|
|
65221
|
-
if (childStack.includes(nestedName)) {
|
|
65222
|
-
throw new PoolGraphError(`Pool "${poolName}" member "${poolMemberIdentity(entry)}" closes a cycle: ${[...childStack.slice(childStack.indexOf(nestedName)), nestedName].join(" -> ")}. A pool cannot nest itself, directly or through another pool.`);
|
|
65223
|
-
}
|
|
65218
|
+
assertNestable(input2.pools, poolName, poolMemberIdentity(entry), nestedName, childStack);
|
|
65224
65219
|
const nested = nestedMember(input2, nestedName, childStack, sticky);
|
|
65225
65220
|
members2.push(typeof entry === "string" ? nested.member : { ...nested.member, policy: entry.when });
|
|
65226
65221
|
missing.push(...nested.missing);
|
|
@@ -65234,6 +65229,14 @@ function rankNamedPool(input2, poolName, stack, sticky) {
|
|
|
65234
65229
|
});
|
|
65235
65230
|
return { ranking, missing };
|
|
65236
65231
|
}
|
|
65232
|
+
function assertNestable(pools, poolName, member, nestedName, childStack) {
|
|
65233
|
+
if (pools[nestedName] === void 0) {
|
|
65234
|
+
throw new PoolGraphError(`Pool "${poolName}" member "${member}" names a pool that is not defined.`);
|
|
65235
|
+
}
|
|
65236
|
+
if (childStack.includes(nestedName)) {
|
|
65237
|
+
throw new PoolGraphError(`Pool "${poolName}" member "${member}" closes a cycle: ${[...childStack.slice(childStack.indexOf(nestedName)), nestedName].join(" -> ")}. A pool cannot nest itself, directly or through another pool.`);
|
|
65238
|
+
}
|
|
65239
|
+
}
|
|
65237
65240
|
function nestedMember(input2, nestedName, childStack, sticky) {
|
|
65238
65241
|
const nested = rankNamedPool(input2, nestedName, childStack, sticky);
|
|
65239
65242
|
const pick2 = nested.ranking.pick;
|
|
@@ -93736,7 +93739,13 @@ function resolvePoolLaunch(params) {
|
|
|
93736
93739
|
if (pick2 !== void 0) {
|
|
93737
93740
|
recordStickyPick(params.usageFs, params.paths.usagePicksFile, params.cwd, pick2.identity, nowMs);
|
|
93738
93741
|
const move = movedOff === void 0 ? "" : `moved off ${movedOff.identity} (${movedOff.reason}); `;
|
|
93739
|
-
return {
|
|
93742
|
+
return {
|
|
93743
|
+
ok: true,
|
|
93744
|
+
identity: pick2.identity,
|
|
93745
|
+
explanation: `pool ${poolName}: ${move}${pick2.reasons.slice(0, REASONS_LOGGED).join("; ")}`,
|
|
93746
|
+
reasons: pick2.reasons,
|
|
93747
|
+
...movedOff === void 0 ? {} : { movedOff }
|
|
93748
|
+
};
|
|
93740
93749
|
}
|
|
93741
93750
|
if (earliestReturn === void 0) {
|
|
93742
93751
|
return { ok: false, message: `agent-shim: no member of pool "${poolName}" can be picked.` };
|
|
@@ -94082,7 +94091,11 @@ function pickFromPool(decided, params, parsedArgv) {
|
|
|
94082
94091
|
log.error(resolution.message);
|
|
94083
94092
|
return proc.exit(1);
|
|
94084
94093
|
}
|
|
94085
|
-
return {
|
|
94094
|
+
return {
|
|
94095
|
+
identityDecision: { ...decided, name: resolution.identity },
|
|
94096
|
+
poolExplanation: resolution.explanation,
|
|
94097
|
+
poolPick: { name: decided.pool, reasons: resolution.reasons, ...resolution.movedOff === void 0 ? {} : { movedOff: resolution.movedOff } }
|
|
94098
|
+
};
|
|
94086
94099
|
}
|
|
94087
94100
|
function prepareLaunch(params) {
|
|
94088
94101
|
const { paths, fs: fs20, proc, log } = params;
|
|
@@ -94108,7 +94121,7 @@ function prepareLaunch(params) {
|
|
|
94108
94121
|
return trimmed === "" ? void 0 : trimmed;
|
|
94109
94122
|
}
|
|
94110
94123
|
});
|
|
94111
|
-
const { identityDecision, poolExplanation } = pickFromPool(decidedIdentity, params, parsedArgv);
|
|
94124
|
+
const { identityDecision, poolExplanation, poolPick } = pickFromPool(decidedIdentity, params, parsedArgv);
|
|
94112
94125
|
const farmIdentity = configDirEscapeHatchApplies ? void 0 : identityDecision.name;
|
|
94113
94126
|
const farm = farmIdentity === void 0 ? void 0 : params.farm;
|
|
94114
94127
|
if (farm !== void 0 && farmIdentity !== void 0) {
|
|
@@ -94322,7 +94335,18 @@ function prepareLaunch(params) {
|
|
|
94322
94335
|
registered();
|
|
94323
94336
|
}
|
|
94324
94337
|
};
|
|
94325
|
-
|
|
94338
|
+
const configDir = finalEnv.CLAUDE_CONFIG_DIR;
|
|
94339
|
+
const decision = {
|
|
94340
|
+
identitySource: identityDecision.source,
|
|
94341
|
+
configDirEscapeHatch: identityDecision.configDirEscapeHatch,
|
|
94342
|
+
configProfileSource: configProfileDecision.source,
|
|
94343
|
+
...identityDecision.name === void 0 ? {} : { identity: identityDecision.name },
|
|
94344
|
+
...poolPick === void 0 ? {} : { pool: poolPick },
|
|
94345
|
+
...configDir === void 0 || configDir === "" ? {} : { configDir },
|
|
94346
|
+
...configProfileDecision.name === void 0 ? {} : { configProfile: configProfileDecision.name },
|
|
94347
|
+
...resolvedProvider === void 0 ? {} : { provider: resolvedProvider.name }
|
|
94348
|
+
};
|
|
94349
|
+
return { bin: discovered.path, args: finalArgv, env: finalEnv, release, markChildStarted: updateCheck.markChildStarted, decision };
|
|
94326
94350
|
}
|
|
94327
94351
|
function runLauncher(params) {
|
|
94328
94352
|
const plan = prepareLaunch(params);
|
package/dist/index.cjs
CHANGED
|
@@ -238,6 +238,7 @@ __export(index_exports, {
|
|
|
238
238
|
parseConnectTarget: () => parseConnectTarget,
|
|
239
239
|
parseRcStreamEnvelope: () => parseRcStreamEnvelope,
|
|
240
240
|
planOf: () => planOf,
|
|
241
|
+
poolIdentities: () => poolIdentities,
|
|
241
242
|
prepareClaudeLaunch: () => prepareClaudeLaunch,
|
|
242
243
|
prepareLaunch: () => prepareLaunch,
|
|
243
244
|
profileExists: () => profileExists,
|
|
@@ -5426,7 +5427,7 @@ var import_undici = require("undici");
|
|
|
5426
5427
|
// package.json
|
|
5427
5428
|
var package_default = {
|
|
5428
5429
|
name: "agent-shim",
|
|
5429
|
-
version: "8.
|
|
5430
|
+
version: "8.40.0",
|
|
5430
5431
|
description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
5431
5432
|
license: "MIT",
|
|
5432
5433
|
author: "Joseph Mearman <joseph@mearman.co.uk>",
|
|
@@ -6971,12 +6972,7 @@ function rankNamedPool(input, poolName, stack, sticky) {
|
|
|
6971
6972
|
}
|
|
6972
6973
|
continue;
|
|
6973
6974
|
}
|
|
6974
|
-
|
|
6975
|
-
throw new PoolGraphError(`Pool "${poolName}" member "${poolMemberIdentity(entry)}" names a pool that is not defined.`);
|
|
6976
|
-
}
|
|
6977
|
-
if (childStack.includes(nestedName)) {
|
|
6978
|
-
throw new PoolGraphError(`Pool "${poolName}" member "${poolMemberIdentity(entry)}" closes a cycle: ${[...childStack.slice(childStack.indexOf(nestedName)), nestedName].join(" -> ")}. A pool cannot nest itself, directly or through another pool.`);
|
|
6979
|
-
}
|
|
6975
|
+
assertNestable(input.pools, poolName, poolMemberIdentity(entry), nestedName, childStack);
|
|
6980
6976
|
const nested = nestedMember(input, nestedName, childStack, sticky);
|
|
6981
6977
|
members.push(typeof entry === "string" ? nested.member : { ...nested.member, policy: entry.when });
|
|
6982
6978
|
missing.push(...nested.missing);
|
|
@@ -6990,6 +6986,14 @@ function rankNamedPool(input, poolName, stack, sticky) {
|
|
|
6990
6986
|
});
|
|
6991
6987
|
return { ranking, missing };
|
|
6992
6988
|
}
|
|
6989
|
+
function assertNestable(pools, poolName, member, nestedName, childStack) {
|
|
6990
|
+
if (pools[nestedName] === void 0) {
|
|
6991
|
+
throw new PoolGraphError(`Pool "${poolName}" member "${member}" names a pool that is not defined.`);
|
|
6992
|
+
}
|
|
6993
|
+
if (childStack.includes(nestedName)) {
|
|
6994
|
+
throw new PoolGraphError(`Pool "${poolName}" member "${member}" closes a cycle: ${[...childStack.slice(childStack.indexOf(nestedName)), nestedName].join(" -> ")}. A pool cannot nest itself, directly or through another pool.`);
|
|
6995
|
+
}
|
|
6996
|
+
}
|
|
6993
6997
|
function nestedMember(input, nestedName, childStack, sticky) {
|
|
6994
6998
|
const nested = rankNamedPool(input, nestedName, childStack, sticky);
|
|
6995
6999
|
const pick = nested.ranking.pick;
|
|
@@ -7007,6 +7011,27 @@ function nestedMember(input, nestedName, childStack, sticky) {
|
|
|
7007
7011
|
missing: nested.missing
|
|
7008
7012
|
};
|
|
7009
7013
|
}
|
|
7014
|
+
function poolIdentities(pools, poolName) {
|
|
7015
|
+
const found = /* @__PURE__ */ new Set();
|
|
7016
|
+
collectPoolIdentities(pools, poolName, [], found);
|
|
7017
|
+
return [...found];
|
|
7018
|
+
}
|
|
7019
|
+
function collectPoolIdentities(pools, poolName, stack, found) {
|
|
7020
|
+
const pool = pools[poolName];
|
|
7021
|
+
if (pool === void 0) {
|
|
7022
|
+
throw new PoolGraphError(`No pool named "${poolName}". Run \`agent-shim pool add ${poolName} --identity <name>...\` first.`);
|
|
7023
|
+
}
|
|
7024
|
+
const childStack = [...stack, poolName];
|
|
7025
|
+
for (const entry of pool.identities) {
|
|
7026
|
+
const nestedName = poolNameOf(poolMemberIdentity(entry));
|
|
7027
|
+
if (nestedName === void 0) {
|
|
7028
|
+
found.add(poolMemberIdentity(entry));
|
|
7029
|
+
continue;
|
|
7030
|
+
}
|
|
7031
|
+
assertNestable(pools, poolName, poolMemberIdentity(entry), nestedName, childStack);
|
|
7032
|
+
collectPoolIdentities(pools, nestedName, childStack, found);
|
|
7033
|
+
}
|
|
7034
|
+
}
|
|
7010
7035
|
function readPicksFile(fs12, file) {
|
|
7011
7036
|
const empty = { schemaVersion: SCHEMA_VERSION, picks: {} };
|
|
7012
7037
|
const raw = fs12.readFileUtf8(file);
|
|
@@ -13095,7 +13120,13 @@ function resolvePoolLaunch(params) {
|
|
|
13095
13120
|
if (pick !== void 0) {
|
|
13096
13121
|
recordStickyPick(params.usageFs, params.paths.usagePicksFile, params.cwd, pick.identity, nowMs);
|
|
13097
13122
|
const move = movedOff === void 0 ? "" : `moved off ${movedOff.identity} (${movedOff.reason}); `;
|
|
13098
|
-
return {
|
|
13123
|
+
return {
|
|
13124
|
+
ok: true,
|
|
13125
|
+
identity: pick.identity,
|
|
13126
|
+
explanation: `pool ${poolName}: ${move}${pick.reasons.slice(0, REASONS_LOGGED).join("; ")}`,
|
|
13127
|
+
reasons: pick.reasons,
|
|
13128
|
+
...movedOff === void 0 ? {} : { movedOff }
|
|
13129
|
+
};
|
|
13099
13130
|
}
|
|
13100
13131
|
if (earliestReturn === void 0) {
|
|
13101
13132
|
return { ok: false, message: `agent-shim: no member of pool "${poolName}" can be picked.` };
|
|
@@ -13253,7 +13284,11 @@ function pickFromPool(decided, params, parsedArgv) {
|
|
|
13253
13284
|
log.error(resolution.message);
|
|
13254
13285
|
return proc.exit(1);
|
|
13255
13286
|
}
|
|
13256
|
-
return {
|
|
13287
|
+
return {
|
|
13288
|
+
identityDecision: { ...decided, name: resolution.identity },
|
|
13289
|
+
poolExplanation: resolution.explanation,
|
|
13290
|
+
poolPick: { name: decided.pool, reasons: resolution.reasons, ...resolution.movedOff === void 0 ? {} : { movedOff: resolution.movedOff } }
|
|
13291
|
+
};
|
|
13257
13292
|
}
|
|
13258
13293
|
function prepareLaunch(params) {
|
|
13259
13294
|
const { paths, fs: fs12, proc, log } = params;
|
|
@@ -13279,7 +13314,7 @@ function prepareLaunch(params) {
|
|
|
13279
13314
|
return trimmed === "" ? void 0 : trimmed;
|
|
13280
13315
|
}
|
|
13281
13316
|
});
|
|
13282
|
-
const { identityDecision, poolExplanation } = pickFromPool(decidedIdentity, params, parsedArgv);
|
|
13317
|
+
const { identityDecision, poolExplanation, poolPick } = pickFromPool(decidedIdentity, params, parsedArgv);
|
|
13283
13318
|
const farmIdentity = configDirEscapeHatchApplies ? void 0 : identityDecision.name;
|
|
13284
13319
|
const farm = farmIdentity === void 0 ? void 0 : params.farm;
|
|
13285
13320
|
if (farm !== void 0 && farmIdentity !== void 0) {
|
|
@@ -13493,7 +13528,18 @@ function prepareLaunch(params) {
|
|
|
13493
13528
|
registered();
|
|
13494
13529
|
}
|
|
13495
13530
|
};
|
|
13496
|
-
|
|
13531
|
+
const configDir = finalEnv.CLAUDE_CONFIG_DIR;
|
|
13532
|
+
const decision = {
|
|
13533
|
+
identitySource: identityDecision.source,
|
|
13534
|
+
configDirEscapeHatch: identityDecision.configDirEscapeHatch,
|
|
13535
|
+
configProfileSource: configProfileDecision.source,
|
|
13536
|
+
...identityDecision.name === void 0 ? {} : { identity: identityDecision.name },
|
|
13537
|
+
...poolPick === void 0 ? {} : { pool: poolPick },
|
|
13538
|
+
...configDir === void 0 || configDir === "" ? {} : { configDir },
|
|
13539
|
+
...configProfileDecision.name === void 0 ? {} : { configProfile: configProfileDecision.name },
|
|
13540
|
+
...resolvedProvider === void 0 ? {} : { provider: resolvedProvider.name }
|
|
13541
|
+
};
|
|
13542
|
+
return { bin: discovered.path, args: finalArgv, env: finalEnv, release, markChildStarted: updateCheck.markChildStarted, decision };
|
|
13497
13543
|
}
|
|
13498
13544
|
function runLauncher(params) {
|
|
13499
13545
|
const plan = prepareLaunch(params);
|
|
@@ -13967,6 +14013,7 @@ function prepareClaudeLaunch(options) {
|
|
|
13967
14013
|
parseConnectTarget,
|
|
13968
14014
|
parseRcStreamEnvelope,
|
|
13969
14015
|
planOf,
|
|
14016
|
+
poolIdentities,
|
|
13970
14017
|
prepareClaudeLaunch,
|
|
13971
14018
|
prepareLaunch,
|
|
13972
14019
|
profileExists,
|
package/dist/index.mjs
CHANGED
|
@@ -5113,7 +5113,7 @@ import { Agent as Agent3, fetch as undiciFetch } from "undici";
|
|
|
5113
5113
|
// package.json
|
|
5114
5114
|
var package_default = {
|
|
5115
5115
|
name: "agent-shim",
|
|
5116
|
-
version: "8.
|
|
5116
|
+
version: "8.40.0",
|
|
5117
5117
|
description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
5118
5118
|
license: "MIT",
|
|
5119
5119
|
author: "Joseph Mearman <joseph@mearman.co.uk>",
|
|
@@ -6658,12 +6658,7 @@ function rankNamedPool(input, poolName, stack, sticky) {
|
|
|
6658
6658
|
}
|
|
6659
6659
|
continue;
|
|
6660
6660
|
}
|
|
6661
|
-
|
|
6662
|
-
throw new PoolGraphError(`Pool "${poolName}" member "${poolMemberIdentity(entry)}" names a pool that is not defined.`);
|
|
6663
|
-
}
|
|
6664
|
-
if (childStack.includes(nestedName)) {
|
|
6665
|
-
throw new PoolGraphError(`Pool "${poolName}" member "${poolMemberIdentity(entry)}" closes a cycle: ${[...childStack.slice(childStack.indexOf(nestedName)), nestedName].join(" -> ")}. A pool cannot nest itself, directly or through another pool.`);
|
|
6666
|
-
}
|
|
6661
|
+
assertNestable(input.pools, poolName, poolMemberIdentity(entry), nestedName, childStack);
|
|
6667
6662
|
const nested = nestedMember(input, nestedName, childStack, sticky);
|
|
6668
6663
|
members.push(typeof entry === "string" ? nested.member : { ...nested.member, policy: entry.when });
|
|
6669
6664
|
missing.push(...nested.missing);
|
|
@@ -6677,6 +6672,14 @@ function rankNamedPool(input, poolName, stack, sticky) {
|
|
|
6677
6672
|
});
|
|
6678
6673
|
return { ranking, missing };
|
|
6679
6674
|
}
|
|
6675
|
+
function assertNestable(pools, poolName, member, nestedName, childStack) {
|
|
6676
|
+
if (pools[nestedName] === void 0) {
|
|
6677
|
+
throw new PoolGraphError(`Pool "${poolName}" member "${member}" names a pool that is not defined.`);
|
|
6678
|
+
}
|
|
6679
|
+
if (childStack.includes(nestedName)) {
|
|
6680
|
+
throw new PoolGraphError(`Pool "${poolName}" member "${member}" closes a cycle: ${[...childStack.slice(childStack.indexOf(nestedName)), nestedName].join(" -> ")}. A pool cannot nest itself, directly or through another pool.`);
|
|
6681
|
+
}
|
|
6682
|
+
}
|
|
6680
6683
|
function nestedMember(input, nestedName, childStack, sticky) {
|
|
6681
6684
|
const nested = rankNamedPool(input, nestedName, childStack, sticky);
|
|
6682
6685
|
const pick = nested.ranking.pick;
|
|
@@ -6694,6 +6697,27 @@ function nestedMember(input, nestedName, childStack, sticky) {
|
|
|
6694
6697
|
missing: nested.missing
|
|
6695
6698
|
};
|
|
6696
6699
|
}
|
|
6700
|
+
function poolIdentities(pools, poolName) {
|
|
6701
|
+
const found = /* @__PURE__ */ new Set();
|
|
6702
|
+
collectPoolIdentities(pools, poolName, [], found);
|
|
6703
|
+
return [...found];
|
|
6704
|
+
}
|
|
6705
|
+
function collectPoolIdentities(pools, poolName, stack, found) {
|
|
6706
|
+
const pool = pools[poolName];
|
|
6707
|
+
if (pool === void 0) {
|
|
6708
|
+
throw new PoolGraphError(`No pool named "${poolName}". Run \`agent-shim pool add ${poolName} --identity <name>...\` first.`);
|
|
6709
|
+
}
|
|
6710
|
+
const childStack = [...stack, poolName];
|
|
6711
|
+
for (const entry of pool.identities) {
|
|
6712
|
+
const nestedName = poolNameOf(poolMemberIdentity(entry));
|
|
6713
|
+
if (nestedName === void 0) {
|
|
6714
|
+
found.add(poolMemberIdentity(entry));
|
|
6715
|
+
continue;
|
|
6716
|
+
}
|
|
6717
|
+
assertNestable(pools, poolName, poolMemberIdentity(entry), nestedName, childStack);
|
|
6718
|
+
collectPoolIdentities(pools, nestedName, childStack, found);
|
|
6719
|
+
}
|
|
6720
|
+
}
|
|
6697
6721
|
function readPicksFile(fs12, file) {
|
|
6698
6722
|
const empty = { schemaVersion: SCHEMA_VERSION, picks: {} };
|
|
6699
6723
|
const raw = fs12.readFileUtf8(file);
|
|
@@ -12782,7 +12806,13 @@ function resolvePoolLaunch(params) {
|
|
|
12782
12806
|
if (pick !== void 0) {
|
|
12783
12807
|
recordStickyPick(params.usageFs, params.paths.usagePicksFile, params.cwd, pick.identity, nowMs);
|
|
12784
12808
|
const move = movedOff === void 0 ? "" : `moved off ${movedOff.identity} (${movedOff.reason}); `;
|
|
12785
|
-
return {
|
|
12809
|
+
return {
|
|
12810
|
+
ok: true,
|
|
12811
|
+
identity: pick.identity,
|
|
12812
|
+
explanation: `pool ${poolName}: ${move}${pick.reasons.slice(0, REASONS_LOGGED).join("; ")}`,
|
|
12813
|
+
reasons: pick.reasons,
|
|
12814
|
+
...movedOff === void 0 ? {} : { movedOff }
|
|
12815
|
+
};
|
|
12786
12816
|
}
|
|
12787
12817
|
if (earliestReturn === void 0) {
|
|
12788
12818
|
return { ok: false, message: `agent-shim: no member of pool "${poolName}" can be picked.` };
|
|
@@ -12940,7 +12970,11 @@ function pickFromPool(decided, params, parsedArgv) {
|
|
|
12940
12970
|
log.error(resolution.message);
|
|
12941
12971
|
return proc.exit(1);
|
|
12942
12972
|
}
|
|
12943
|
-
return {
|
|
12973
|
+
return {
|
|
12974
|
+
identityDecision: { ...decided, name: resolution.identity },
|
|
12975
|
+
poolExplanation: resolution.explanation,
|
|
12976
|
+
poolPick: { name: decided.pool, reasons: resolution.reasons, ...resolution.movedOff === void 0 ? {} : { movedOff: resolution.movedOff } }
|
|
12977
|
+
};
|
|
12944
12978
|
}
|
|
12945
12979
|
function prepareLaunch(params) {
|
|
12946
12980
|
const { paths, fs: fs12, proc, log } = params;
|
|
@@ -12966,7 +13000,7 @@ function prepareLaunch(params) {
|
|
|
12966
13000
|
return trimmed === "" ? void 0 : trimmed;
|
|
12967
13001
|
}
|
|
12968
13002
|
});
|
|
12969
|
-
const { identityDecision, poolExplanation } = pickFromPool(decidedIdentity, params, parsedArgv);
|
|
13003
|
+
const { identityDecision, poolExplanation, poolPick } = pickFromPool(decidedIdentity, params, parsedArgv);
|
|
12970
13004
|
const farmIdentity = configDirEscapeHatchApplies ? void 0 : identityDecision.name;
|
|
12971
13005
|
const farm = farmIdentity === void 0 ? void 0 : params.farm;
|
|
12972
13006
|
if (farm !== void 0 && farmIdentity !== void 0) {
|
|
@@ -13180,7 +13214,18 @@ function prepareLaunch(params) {
|
|
|
13180
13214
|
registered();
|
|
13181
13215
|
}
|
|
13182
13216
|
};
|
|
13183
|
-
|
|
13217
|
+
const configDir = finalEnv.CLAUDE_CONFIG_DIR;
|
|
13218
|
+
const decision = {
|
|
13219
|
+
identitySource: identityDecision.source,
|
|
13220
|
+
configDirEscapeHatch: identityDecision.configDirEscapeHatch,
|
|
13221
|
+
configProfileSource: configProfileDecision.source,
|
|
13222
|
+
...identityDecision.name === void 0 ? {} : { identity: identityDecision.name },
|
|
13223
|
+
...poolPick === void 0 ? {} : { pool: poolPick },
|
|
13224
|
+
...configDir === void 0 || configDir === "" ? {} : { configDir },
|
|
13225
|
+
...configProfileDecision.name === void 0 ? {} : { configProfile: configProfileDecision.name },
|
|
13226
|
+
...resolvedProvider === void 0 ? {} : { provider: resolvedProvider.name }
|
|
13227
|
+
};
|
|
13228
|
+
return { bin: discovered.path, args: finalArgv, env: finalEnv, release, markChildStarted: updateCheck.markChildStarted, decision };
|
|
13184
13229
|
}
|
|
13185
13230
|
function runLauncher(params) {
|
|
13186
13231
|
const plan = prepareLaunch(params);
|
|
@@ -13653,6 +13698,7 @@ export {
|
|
|
13653
13698
|
parseConnectTarget,
|
|
13654
13699
|
parseRcStreamEnvelope,
|
|
13655
13700
|
planOf,
|
|
13701
|
+
poolIdentities,
|
|
13656
13702
|
prepareClaudeLaunch,
|
|
13657
13703
|
prepareLaunch,
|
|
13658
13704
|
profileExists,
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7067,6 +7067,13 @@ interface PoolRanking {
|
|
|
7067
7067
|
*/
|
|
7068
7068
|
declare function rankPool(input: RankPoolInput): PoolRanking;
|
|
7069
7069
|
|
|
7070
|
+
/**
|
|
7071
|
+
* The concrete identities the pool named `poolName` can launch as, in member order with a nested `pool:<name>` entry replaced by the identities of that pool at the entry's position, each identity once. It reads no usage and no identity file, so it lists every identity the pool graph names, whether or not it exists or is eligible: ranking is `rankPoolGraph`'s job.
|
|
7072
|
+
*
|
|
7073
|
+
* Throws `PoolGraphError` when the pool, or a pool it nests, is not defined, or when the graph reaches a pool it is already inside.
|
|
7074
|
+
*/
|
|
7075
|
+
declare function poolIdentities(pools: Readonly<Record<string, Pool>>, poolName: string): readonly string[];
|
|
7076
|
+
|
|
7070
7077
|
/**
|
|
7071
7078
|
* Ranks a pool exactly as a launch from `directory` would right now, without recording a pick. Shares `rankPoolGraph` with the launcher, so what this prints is what a launch does.
|
|
7072
7079
|
*/
|
|
@@ -7634,6 +7641,39 @@ interface PrepareLaunchParams {
|
|
|
7634
7641
|
interface RunLauncherParams extends PrepareLaunchParams {
|
|
7635
7642
|
readonly spawn: SpawnPort;
|
|
7636
7643
|
}
|
|
7644
|
+
/** The pick a pool made for a launch: the pool, why the ranking chose the member it did, and, for a resumed conversation, the member it left. */
|
|
7645
|
+
interface LaunchPoolDecision {
|
|
7646
|
+
/** The pool the launch selected with `pool:<name>`. */
|
|
7647
|
+
readonly name: string;
|
|
7648
|
+
/** Every reason the ranking gave for the chosen member, in the ranking's order. */
|
|
7649
|
+
readonly reasons: readonly string[];
|
|
7650
|
+
/** The member a resumed conversation left, and why the ranking could not keep it. */
|
|
7651
|
+
readonly movedOff?: {
|
|
7652
|
+
readonly identity: string;
|
|
7653
|
+
readonly reason: string;
|
|
7654
|
+
};
|
|
7655
|
+
}
|
|
7656
|
+
/**
|
|
7657
|
+
* What a launch resolved to, and where each decision came from. Everything here is a name or a path, never a credential.
|
|
7658
|
+
*/
|
|
7659
|
+
interface LaunchDecision {
|
|
7660
|
+
/** The identity the launch runs as. Absent when the escape hatch applied or nothing resolved one. */
|
|
7661
|
+
readonly identity?: string;
|
|
7662
|
+
/** Which precedence rule selected the identity (or the pool the identity was picked from). */
|
|
7663
|
+
readonly identitySource: IdentityDecisionSource;
|
|
7664
|
+
/** The pool pick behind `identity`, when the launch selected a pool. */
|
|
7665
|
+
readonly pool?: LaunchPoolDecision;
|
|
7666
|
+
/** True when `CLAUDE_CONFIG_DIR` was already set, so no identity was resolved and no farm was managed. */
|
|
7667
|
+
readonly configDirEscapeHatch: boolean;
|
|
7668
|
+
/** The configuration directory the child runs with: the identity's own, or the one the caller named. Absent when none is set. */
|
|
7669
|
+
readonly configDir?: string;
|
|
7670
|
+
/** The configuration profile that applied, when one did. */
|
|
7671
|
+
readonly configProfile?: string;
|
|
7672
|
+
/** Which precedence rule selected the configuration profile. */
|
|
7673
|
+
readonly configProfileSource: ConfigProfileDecisionSource;
|
|
7674
|
+
/** The provider the launch routes through, when it selected one. */
|
|
7675
|
+
readonly provider?: string;
|
|
7676
|
+
}
|
|
7637
7677
|
/**
|
|
7638
7678
|
* What one launch resolved to, once every effect its child depends on is in place (the identity's farm resynced, the front door and headroom up and this launch registered with them): the real binary, its arguments and its environment.
|
|
7639
7679
|
*/
|
|
@@ -7643,6 +7683,8 @@ interface LaunchPlan {
|
|
|
7643
7683
|
readonly env: Readonly<Record<string, string | undefined>>;
|
|
7644
7684
|
/** Releases the daemon session registrations this launch holds. Call it when the child has exited; it is safe to call more than once. */
|
|
7645
7685
|
readonly release: () => void;
|
|
7686
|
+
/** What the launch resolved to, as data: the facts the launcher's decision line reports. */
|
|
7687
|
+
readonly decision: LaunchDecision;
|
|
7646
7688
|
/** Marks the moment this plan's child is spawned: the launch-time update check suppresses its notify line from then on, since a line printed after the child took over the terminal would land mid-session. Call it immediately before spawning; it is safe to call more than once. */
|
|
7647
7689
|
readonly markChildStarted: () => void;
|
|
7648
7690
|
}
|
|
@@ -7717,5 +7759,5 @@ declare const OWN_CLI_FILE_NAME = "cli.cjs";
|
|
|
7717
7759
|
*/
|
|
7718
7760
|
declare function agentShimCliPath(distDir?: string | undefined): string;
|
|
7719
7761
|
|
|
7720
|
-
export { AMBIENT_CREDENTIAL_VARS, CHECK_CREDENTIAL_APPLIES, CONNECT_INTERCEPT_HOST, CONNECT_INTERCEPT_HOSTS, CONNECT_LIMITS, CONTROL_PATH_PREFIX, CategoryClassificationOverlaySchema, CategoryClassificationSchema, CategoryMapSchema, CheckReportJsonSchema, CheckRunInputSchema, CliError, ConfigProfileSchema, CredentialCacheSchema, CredentialSchema, CredentialSourceSchema, DOOR_EVENT_BUFFER_EVENTS, DOOR_EVENT_SOURCE_RC, DOOR_HEALTH_EVENT_SOURCE, DirectoryRuleAlreadyExistsError, DirectoryRuleMissingTargetError, DirectoryRuleNotFoundError, DirectoryRuleSchema, DirectoryRulesSchema, DoctorFindingSchema, DoctorRunOutputSchema, DoorEventSchema, DoorEventSourceQuerySchema, DoorHealthEventSchema, EXIT_FAILURE, EXIT_USAGE, EffectiveWindowSchema, EntryValueSchema, FARM_MANIFEST_FILENAME, FrontDoorSessionStatusSchema, FrontDoorSessionsOutputSchema, FrontDoorStartError, FrontDoorStateSchema, FrontDoorStatusOutputSchema, GlobalConfigSchema, HeadroomSocketTargetSchema, HeadroomStartError, IdentityAlreadyExistsError, IdentityNotFoundError, IdentitySchema, InvalidCategoryNameError, InvalidIdentityNameError, InvalidProviderNameError, LAUNCH_EVENT_SOURCE, LaunchLifecycleEventSchema, LaunchRefusedError, LegacyProviderFileError, OWN_CLI_FILE_NAME, PROMPT_CACHE_TTL_MS, PlanClassSchema, PoolNameSchema, PoolNotFoundError, PoolPickReportSchema, PoolSchema, PortableConfigSchema, ProfileAlreadyExistsError, ProfileNotFoundError, ProviderAlreadyExistsError, ProviderKindMismatchError, ProviderNotFoundError, ProviderSchema, QUOTA_EXPIRING_EVENT_SOURCE, QuotaExpiringEventSchema, RC_CONTEXT_USAGE_DETAILS, RC_IDLE_EXPIRY_MS, RC_ORPC_PATH_PREFIX, RC_PENDING_DEADLINE_MS, RC_PERMISSION_MODES, RC_READ_FILE_ENCODINGS, RC_REQUEST_PARSE_CAP_BYTES, RC_SELF_HOST_ENV, RC_SELF_HOST_KEEPALIVE_MS, RC_SELF_HOST_RECORD_DIR, RC_SELF_HOST_RECORD_FILE, RC_SELF_HOST_RETENTION_MS, RC_SELF_HOST_SCOPE_LIST, RC_SELF_HOST_WORKER_JWT_TTL_SECONDS, RC_SESSIONS_PATH_PREFIX, RC_STREAM_BACKOFF_MS, RC_WEB_FETCH_ALLOW_PRIVATE_ENV, RC_WEB_FETCH_DEADLINE_MS, RC_WEB_FETCH_MAX_BYTES, RC_WEB_FETCH_MAX_REDIRECTS, ROUTED_PATH_PREFIX, RcLiveRateLimitSchema, RcPermissionModeSchema, RcRateLimitInfoSchema, RcRateLimitWindowSchema, RcStreamEnvelopeSchema, RcStreamEventSchema, USAGE_EVENT_SOURCE, UsageError, UsageListOutputSchema, UsageLiveOutputSchema, UsageSnapshotError, UsageSnapshotSchema, UsageWindowsInputSchema, UsageWindowsOutputSchema, WhenSchema, addDirectoryRule, addIdentity, addPool, addProvider, agentShimCliPath, answerRcControlRequest, authenticateRcSessionMcpServer, buildEntryFacts, buildLayoutPaths, buildRcControlRequestPayload, buildRcControlResponsePayload, buildRcEndSessionPayload, buildRcEventWriteBody, buildRcFileSuggestionsPayload, buildRcGetContextUsagePayload, buildRcGetUsagePayload, buildRcInterruptPayload, buildRcKeepAlivePayload, buildRcMarkReadBody, buildRcMcpAuthenticatePayload, buildRcMcpOAuthCallbackUrlPayload, buildRcMcpReconnectPayload, buildRcMcpStatusPayload, buildRcReadFilePayload, buildRcSetModelPayload, buildRcSetPermissionModePayload, buildRcUserMessagePayload, carryOver, checkReportHasWarnings, checkReportToJson, collectCheckReport, collectDoctorReport, collectFrontDoorStatus, collectPoolPick, createControlApiRouter, createDoorApiNodeHandler, createDoorApiRouter, createDoorEventHub, createDoorHealthPublisher, createEventsApiRouter, createLaunchEventPublisher, createLeafCache, createProfile, createQuotaExpiringPublisher, createRcApiNodeHandler, createRcApiRouter, createRcControlHandler, createRcCredentialStore, createRcEventFanout, createRcLiveUsage, createRcSelfHostSurface, createRcSessionTracker, createRcStreamHub, createSseParser, describeProviderEndpoint, detectAmbientCredential, doorApiAuth, doorApiNodeHandlerOf, effectiveWindow, endRcSession, ensureCa, ensureFrontDoor, ensureHeadroom, evaluateAmbientCredentialGuard, evaluateWhen, fetchThroughWebProxy, formatAmbientCredentialGuardMessage, formatCheckReport, formatDoctorReport, formatFrontDoorStatus, forwardableHeaders, frontDoorApiClient, frontDoorApiLink, frontDoorRcApiClient, frontDoorRcControl, generateCa, getRcSessionContextUsage, getRcSessionMcpStatus, getRcSessionUsage, headroomSocketTarget, identityExists, injectRcUserMessage, interruptRcSession, isIdentityDirectoryName, isInterceptedHost, isPrivateAddress, isRcContextUsageDetail, isRcPermissionMode, isRcReadFileEncoding, lateRcEventDial, lateRcStreamDial, listDirectoryRules, listIdentities, listProfiles, listProviders, listUsageSnapshots, matchBranch, mintLeaf, mintRcSelfHostCredential, observingRoutedRoute, parseConnectTarget, parseRcStreamEnvelope, planOf, prepareClaudeLaunch, prepareLaunch, profileExists, providerExists, rankPool, rcEventWriteResultFromAnswer, rcFanoutOnDoorHub, rcObserverAsPassthrough, rcRateLimitInfoOf, rcSelfHostFromEnv, rcWebFetchAllowsPrivateFromEnv, readActiveIdentity, readDirectoryRules, readFarmManifest, readGlobalConfig, readIdentity, readPools, readProfile, readProvider, readRcSelfHostRecord, readRcSessionFile, readUsageSnapshot, realConnectCertStore, realConnectEffects, realRcControlTransport, realRcEventDial, realRcStreamDial, realRcWebFetch, reconnectRcSessionMcpServer, recoverFarm, recoveryDiagnostics, removeDirectoryRule, removeIdentity, removePool, removeProfile, removeProvider, requirePool, resolveAgentShimHome, resolveClaudeHome, resolveDecisions, resolveLayoutPaths, resolveSupervisorConfig, resyncFarm, runCheck, runDoctor, runFrontDoorSupervisor, runLauncher, runSupervisor, sendRcKeepAlive, servedByPipeline, setAllowAmbientCredential, setDefaultConfigProfile, setGlobalDefaultProfile, setIdentityCredential, setPool, setProfileCategories, setProfileEntries, setProfileLaunchFlags, setProfileMetadata, setRcSessionModel, setRcSessionPermissionMode, snapshotPath, spawnClaude, startConnectServer, submitRcSessionMcpOAuthCallbackUrl, suggestRcSessionFiles, teleportRcSession, topLevelNames, updateDirectoryRule, updateProvider, useIdentity, writeDirectoryRules };
|
|
7721
|
-
export type { AddDirectoryRuleOptions, AddProviderInput, AmbientCredentialDetection, AmbientCredentialGuardResult, AmbientCredentialVar, BuildEntryFactsParams, CaMaterial, Candidate, CarryOverParams, CarryOverResult, CategoryMap, CheckReport, CheckReportJson, CollectCheckReportParams, CollectDoctorReportParams, CompiledRule, ConditionContext, ConfigProfile, ConnectCertStore, ConnectEffects, ConnectLimits, ConnectLocalSurface, ConnectServerConfig, ConnectServerHandle, ConnectTarget, ControlApiClient, ControlApiDeps, ControlApiRouter, Credential, CredentialSource, Decision, Diagnostic, DirectoryRule, DirectoryRules, DoctorReport, DoorApiClient, DoorApiContext, DoorApiDeps, DoorApiRouter, DoorEvent, DoorEventHub, DoorEventPublisher, DoorEventStream, DoorEventsApiDeps, DoorHealthEvent, DoorHealthPublisher, EffectiveWindow, EliminatedRule, EnsureFrontDoorPorts, EnsureHeadroomPorts, EntryFact, EntryFacts, EntryValue, EvaluateAmbientCredentialGuardParams, FlattenedCascade, FrontDoorRcControl, FrontDoorSessionStatus, FrontDoorStatus, FrontDoorSupervisorPorts, GlobalConfig, HeadroomSupervisorConfig, Identity, IdentityCredentialChange, IdentityListEntry, IdentityListing, InjectedCredential, LaunchEventPublisher, LaunchLifecycleEvent, LaunchPlan, Layer, LayerId, LayoutPaths, LeafCert, NestedContribution, PlanClass, Pool, PoolMember, PoolPickReport, PoolRanking, PortableConfig, PrepareClaudeLaunchOptions, PrepareLaunchParams, ProfileListEntry, Provider, ProviderListEntry, QuotaExpiringEvent, QuotaExpiringPublisher, RankPoolInput, RcAnswerDecision, RcAnswerDeps, RcApiClient, RcApiDeps, RcApiRouter, RcContextUsageDetail, RcControlAnswer, RcControlHandlerDeps, RcControlRequestDeps, RcControlTransport, RcCredentialStore, RcDialAnswer, RcDialTarget, RcEventDial, RcEventFanout, RcEventWriteResult, RcExchangeObserver, RcInjectDeps, RcLiveRateLimit, RcLiveUsage, RcLiveUsageDeps, RcObservedCredential, RcObservedRequest, RcPendingRequestSummary, RcPermissionMode, RcPresenceAnswer, RcRateLimitInfo, RcRateLimitWindow, RcReadFileEncoding, RcReadFileOptions, RcSelfHostCredentialRecord, RcSelfHostDeps, RcSelfHostMintResult, RcSelfHostSurface, RcSessionStatus, RcSessionSummary, RcSessionTracker, RcSessionTrackerDeps, RcStreamAnswer, RcStreamDial, RcStreamEnvelope, RcStreamEvent, RcStreamHub, RcStreamHubDeps, RcWebFetchDeps, RcWebFetchHop, RcWebFetchOutcome, RcWebFetcher, RcWorkerFact, RcWriteHeaders, RecoverFarmParams, RecoveryResult, ResolveDecisionsInput, ResolvedState, ResyncFarmParams, ResyncFarmResult, RunCheckParams, RunDoctorParams, RunFrontDoorSupervisorOptions, RunLauncherParams, RunSupervisorOptions, SpawnClaudeParams, SseParsedEvent, StickyPick, SupervisorPorts, UnreadableIdentityListEntry, UpdateDirectoryRuleOptions, UpdateProviderInput, UsageChangeEvent, UsageReadFs, UsageSnapshot, WhenCondition, WhenEvaluation };
|
|
7762
|
+
export { AMBIENT_CREDENTIAL_VARS, CHECK_CREDENTIAL_APPLIES, CONNECT_INTERCEPT_HOST, CONNECT_INTERCEPT_HOSTS, CONNECT_LIMITS, CONTROL_PATH_PREFIX, CategoryClassificationOverlaySchema, CategoryClassificationSchema, CategoryMapSchema, CheckReportJsonSchema, CheckRunInputSchema, CliError, ConfigProfileSchema, CredentialCacheSchema, CredentialSchema, CredentialSourceSchema, DOOR_EVENT_BUFFER_EVENTS, DOOR_EVENT_SOURCE_RC, DOOR_HEALTH_EVENT_SOURCE, DirectoryRuleAlreadyExistsError, DirectoryRuleMissingTargetError, DirectoryRuleNotFoundError, DirectoryRuleSchema, DirectoryRulesSchema, DoctorFindingSchema, DoctorRunOutputSchema, DoorEventSchema, DoorEventSourceQuerySchema, DoorHealthEventSchema, EXIT_FAILURE, EXIT_USAGE, EffectiveWindowSchema, EntryValueSchema, FARM_MANIFEST_FILENAME, FrontDoorSessionStatusSchema, FrontDoorSessionsOutputSchema, FrontDoorStartError, FrontDoorStateSchema, FrontDoorStatusOutputSchema, GlobalConfigSchema, HeadroomSocketTargetSchema, HeadroomStartError, IdentityAlreadyExistsError, IdentityNotFoundError, IdentitySchema, InvalidCategoryNameError, InvalidIdentityNameError, InvalidProviderNameError, LAUNCH_EVENT_SOURCE, LaunchLifecycleEventSchema, LaunchRefusedError, LegacyProviderFileError, OWN_CLI_FILE_NAME, PROMPT_CACHE_TTL_MS, PlanClassSchema, PoolNameSchema, PoolNotFoundError, PoolPickReportSchema, PoolSchema, PortableConfigSchema, ProfileAlreadyExistsError, ProfileNotFoundError, ProviderAlreadyExistsError, ProviderKindMismatchError, ProviderNotFoundError, ProviderSchema, QUOTA_EXPIRING_EVENT_SOURCE, QuotaExpiringEventSchema, RC_CONTEXT_USAGE_DETAILS, RC_IDLE_EXPIRY_MS, RC_ORPC_PATH_PREFIX, RC_PENDING_DEADLINE_MS, RC_PERMISSION_MODES, RC_READ_FILE_ENCODINGS, RC_REQUEST_PARSE_CAP_BYTES, RC_SELF_HOST_ENV, RC_SELF_HOST_KEEPALIVE_MS, RC_SELF_HOST_RECORD_DIR, RC_SELF_HOST_RECORD_FILE, RC_SELF_HOST_RETENTION_MS, RC_SELF_HOST_SCOPE_LIST, RC_SELF_HOST_WORKER_JWT_TTL_SECONDS, RC_SESSIONS_PATH_PREFIX, RC_STREAM_BACKOFF_MS, RC_WEB_FETCH_ALLOW_PRIVATE_ENV, RC_WEB_FETCH_DEADLINE_MS, RC_WEB_FETCH_MAX_BYTES, RC_WEB_FETCH_MAX_REDIRECTS, ROUTED_PATH_PREFIX, RcLiveRateLimitSchema, RcPermissionModeSchema, RcRateLimitInfoSchema, RcRateLimitWindowSchema, RcStreamEnvelopeSchema, RcStreamEventSchema, USAGE_EVENT_SOURCE, UsageError, UsageListOutputSchema, UsageLiveOutputSchema, UsageSnapshotError, UsageSnapshotSchema, UsageWindowsInputSchema, UsageWindowsOutputSchema, WhenSchema, addDirectoryRule, addIdentity, addPool, addProvider, agentShimCliPath, answerRcControlRequest, authenticateRcSessionMcpServer, buildEntryFacts, buildLayoutPaths, buildRcControlRequestPayload, buildRcControlResponsePayload, buildRcEndSessionPayload, buildRcEventWriteBody, buildRcFileSuggestionsPayload, buildRcGetContextUsagePayload, buildRcGetUsagePayload, buildRcInterruptPayload, buildRcKeepAlivePayload, buildRcMarkReadBody, buildRcMcpAuthenticatePayload, buildRcMcpOAuthCallbackUrlPayload, buildRcMcpReconnectPayload, buildRcMcpStatusPayload, buildRcReadFilePayload, buildRcSetModelPayload, buildRcSetPermissionModePayload, buildRcUserMessagePayload, carryOver, checkReportHasWarnings, checkReportToJson, collectCheckReport, collectDoctorReport, collectFrontDoorStatus, collectPoolPick, createControlApiRouter, createDoorApiNodeHandler, createDoorApiRouter, createDoorEventHub, createDoorHealthPublisher, createEventsApiRouter, createLaunchEventPublisher, createLeafCache, createProfile, createQuotaExpiringPublisher, createRcApiNodeHandler, createRcApiRouter, createRcControlHandler, createRcCredentialStore, createRcEventFanout, createRcLiveUsage, createRcSelfHostSurface, createRcSessionTracker, createRcStreamHub, createSseParser, describeProviderEndpoint, detectAmbientCredential, doorApiAuth, doorApiNodeHandlerOf, effectiveWindow, endRcSession, ensureCa, ensureFrontDoor, ensureHeadroom, evaluateAmbientCredentialGuard, evaluateWhen, fetchThroughWebProxy, formatAmbientCredentialGuardMessage, formatCheckReport, formatDoctorReport, formatFrontDoorStatus, forwardableHeaders, frontDoorApiClient, frontDoorApiLink, frontDoorRcApiClient, frontDoorRcControl, generateCa, getRcSessionContextUsage, getRcSessionMcpStatus, getRcSessionUsage, headroomSocketTarget, identityExists, injectRcUserMessage, interruptRcSession, isIdentityDirectoryName, isInterceptedHost, isPrivateAddress, isRcContextUsageDetail, isRcPermissionMode, isRcReadFileEncoding, lateRcEventDial, lateRcStreamDial, listDirectoryRules, listIdentities, listProfiles, listProviders, listUsageSnapshots, matchBranch, mintLeaf, mintRcSelfHostCredential, observingRoutedRoute, parseConnectTarget, parseRcStreamEnvelope, planOf, poolIdentities, prepareClaudeLaunch, prepareLaunch, profileExists, providerExists, rankPool, rcEventWriteResultFromAnswer, rcFanoutOnDoorHub, rcObserverAsPassthrough, rcRateLimitInfoOf, rcSelfHostFromEnv, rcWebFetchAllowsPrivateFromEnv, readActiveIdentity, readDirectoryRules, readFarmManifest, readGlobalConfig, readIdentity, readPools, readProfile, readProvider, readRcSelfHostRecord, readRcSessionFile, readUsageSnapshot, realConnectCertStore, realConnectEffects, realRcControlTransport, realRcEventDial, realRcStreamDial, realRcWebFetch, reconnectRcSessionMcpServer, recoverFarm, recoveryDiagnostics, removeDirectoryRule, removeIdentity, removePool, removeProfile, removeProvider, requirePool, resolveAgentShimHome, resolveClaudeHome, resolveDecisions, resolveLayoutPaths, resolveSupervisorConfig, resyncFarm, runCheck, runDoctor, runFrontDoorSupervisor, runLauncher, runSupervisor, sendRcKeepAlive, servedByPipeline, setAllowAmbientCredential, setDefaultConfigProfile, setGlobalDefaultProfile, setIdentityCredential, setPool, setProfileCategories, setProfileEntries, setProfileLaunchFlags, setProfileMetadata, setRcSessionModel, setRcSessionPermissionMode, snapshotPath, spawnClaude, startConnectServer, submitRcSessionMcpOAuthCallbackUrl, suggestRcSessionFiles, teleportRcSession, topLevelNames, updateDirectoryRule, updateProvider, useIdentity, writeDirectoryRules };
|
|
7763
|
+
export type { AddDirectoryRuleOptions, AddProviderInput, AmbientCredentialDetection, AmbientCredentialGuardResult, AmbientCredentialVar, BuildEntryFactsParams, CaMaterial, Candidate, CarryOverParams, CarryOverResult, CategoryMap, CheckReport, CheckReportJson, CollectCheckReportParams, CollectDoctorReportParams, CompiledRule, ConditionContext, ConfigProfile, ConnectCertStore, ConnectEffects, ConnectLimits, ConnectLocalSurface, ConnectServerConfig, ConnectServerHandle, ConnectTarget, ControlApiClient, ControlApiDeps, ControlApiRouter, Credential, CredentialSource, Decision, Diagnostic, DirectoryRule, DirectoryRules, DoctorReport, DoorApiClient, DoorApiContext, DoorApiDeps, DoorApiRouter, DoorEvent, DoorEventHub, DoorEventPublisher, DoorEventStream, DoorEventsApiDeps, DoorHealthEvent, DoorHealthPublisher, EffectiveWindow, EliminatedRule, EnsureFrontDoorPorts, EnsureHeadroomPorts, EntryFact, EntryFacts, EntryValue, EvaluateAmbientCredentialGuardParams, FlattenedCascade, FrontDoorRcControl, FrontDoorSessionStatus, FrontDoorStatus, FrontDoorSupervisorPorts, GlobalConfig, HeadroomSupervisorConfig, Identity, IdentityCredentialChange, IdentityListEntry, IdentityListing, InjectedCredential, LaunchDecision, LaunchEventPublisher, LaunchLifecycleEvent, LaunchPlan, LaunchPoolDecision, Layer, LayerId, LayoutPaths, LeafCert, NestedContribution, PlanClass, Pool, PoolMember, PoolPickReport, PoolRanking, PortableConfig, PrepareClaudeLaunchOptions, PrepareLaunchParams, ProfileListEntry, Provider, ProviderListEntry, QuotaExpiringEvent, QuotaExpiringPublisher, RankPoolInput, RcAnswerDecision, RcAnswerDeps, RcApiClient, RcApiDeps, RcApiRouter, RcContextUsageDetail, RcControlAnswer, RcControlHandlerDeps, RcControlRequestDeps, RcControlTransport, RcCredentialStore, RcDialAnswer, RcDialTarget, RcEventDial, RcEventFanout, RcEventWriteResult, RcExchangeObserver, RcInjectDeps, RcLiveRateLimit, RcLiveUsage, RcLiveUsageDeps, RcObservedCredential, RcObservedRequest, RcPendingRequestSummary, RcPermissionMode, RcPresenceAnswer, RcRateLimitInfo, RcRateLimitWindow, RcReadFileEncoding, RcReadFileOptions, RcSelfHostCredentialRecord, RcSelfHostDeps, RcSelfHostMintResult, RcSelfHostSurface, RcSessionStatus, RcSessionSummary, RcSessionTracker, RcSessionTrackerDeps, RcStreamAnswer, RcStreamDial, RcStreamEnvelope, RcStreamEvent, RcStreamHub, RcStreamHubDeps, RcWebFetchDeps, RcWebFetchHop, RcWebFetchOutcome, RcWebFetcher, RcWorkerFact, RcWriteHeaders, RecoverFarmParams, RecoveryResult, ResolveDecisionsInput, ResolvedState, ResyncFarmParams, ResyncFarmResult, RunCheckParams, RunDoctorParams, RunFrontDoorSupervisorOptions, RunLauncherParams, RunSupervisorOptions, SpawnClaudeParams, SseParsedEvent, StickyPick, SupervisorPorts, UnreadableIdentityListEntry, UpdateDirectoryRuleOptions, UpdateProviderInput, UsageChangeEvent, UsageReadFs, UsageSnapshot, WhenCondition, WhenEvaluation };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-shim",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.40.0",
|
|
4
4
|
"description": "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Joseph Mearman <joseph@mearman.co.uk>",
|