agent-shim 8.9.0 → 8.11.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/README.md +3 -1
- package/dist/cli.cjs +498 -282
- package/dist/index.cjs +530 -317
- package/dist/index.mjs +531 -319
- package/dist/types/index.d.ts +81 -4
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -76,6 +76,7 @@ declare const LaunchSchema: z.ZodObject<{
|
|
|
76
76
|
provider: z.ZodOptional<z.ZodString>;
|
|
77
77
|
headroom: z.ZodOptional<z.ZodBoolean>;
|
|
78
78
|
trackUsage: z.ZodOptional<z.ZodBoolean>;
|
|
79
|
+
claudeVersion: z.ZodOptional<z.ZodString>;
|
|
79
80
|
}, z.core.$strict>;
|
|
80
81
|
type LaunchFlags = z.infer<typeof LaunchSchema>;
|
|
81
82
|
/**
|
|
@@ -337,6 +338,7 @@ declare const ConfigProfileSchema: z.ZodObject<{
|
|
|
337
338
|
provider: z.ZodOptional<z.ZodString>;
|
|
338
339
|
headroom: z.ZodOptional<z.ZodBoolean>;
|
|
339
340
|
trackUsage: z.ZodOptional<z.ZodBoolean>;
|
|
341
|
+
claudeVersion: z.ZodOptional<z.ZodString>;
|
|
340
342
|
}, z.core.$strict>>;
|
|
341
343
|
}, z.core.$strict>;
|
|
342
344
|
type ConfigProfile = z.infer<typeof ConfigProfileSchema>;
|
|
@@ -380,6 +382,7 @@ declare const DirectoryRuleSchema: z.ZodObject<{
|
|
|
380
382
|
provider: z.ZodOptional<z.ZodString>;
|
|
381
383
|
headroom: z.ZodOptional<z.ZodBoolean>;
|
|
382
384
|
trackUsage: z.ZodOptional<z.ZodBoolean>;
|
|
385
|
+
claudeVersion: z.ZodOptional<z.ZodString>;
|
|
383
386
|
}, z.core.$strict>>;
|
|
384
387
|
path: z.ZodString;
|
|
385
388
|
configProfile: z.ZodOptional<z.ZodString>;
|
|
@@ -428,6 +431,7 @@ declare const DirectoryRulesSchema: z.ZodObject<{
|
|
|
428
431
|
provider: z.ZodOptional<z.ZodString>;
|
|
429
432
|
headroom: z.ZodOptional<z.ZodBoolean>;
|
|
430
433
|
trackUsage: z.ZodOptional<z.ZodBoolean>;
|
|
434
|
+
claudeVersion: z.ZodOptional<z.ZodString>;
|
|
431
435
|
}, z.core.$strict>>;
|
|
432
436
|
path: z.ZodString;
|
|
433
437
|
configProfile: z.ZodOptional<z.ZodString>;
|
|
@@ -477,6 +481,7 @@ declare const PortableConfigSchema: z.ZodObject<{
|
|
|
477
481
|
provider: z.ZodOptional<z.ZodString>;
|
|
478
482
|
headroom: z.ZodOptional<z.ZodBoolean>;
|
|
479
483
|
trackUsage: z.ZodOptional<z.ZodBoolean>;
|
|
484
|
+
claudeVersion: z.ZodOptional<z.ZodString>;
|
|
480
485
|
}, z.core.$strict>>;
|
|
481
486
|
configProfile: z.ZodOptional<z.ZodString>;
|
|
482
487
|
identity: z.ZodOptional<z.ZodString>;
|
|
@@ -545,6 +550,7 @@ declare const GlobalConfigSchema: z.ZodObject<{
|
|
|
545
550
|
provider: z.ZodOptional<z.ZodString>;
|
|
546
551
|
headroom: z.ZodOptional<z.ZodBoolean>;
|
|
547
552
|
trackUsage: z.ZodOptional<z.ZodBoolean>;
|
|
553
|
+
claudeVersion: z.ZodOptional<z.ZodString>;
|
|
548
554
|
}, z.core.$strict>>;
|
|
549
555
|
headroom: z.ZodOptional<z.ZodObject<{
|
|
550
556
|
source: z.ZodOptional<z.ZodString>;
|
|
@@ -702,6 +708,10 @@ interface LayoutPaths {
|
|
|
702
708
|
readonly frontdoorControlTokenFile: string;
|
|
703
709
|
/** Directory holding one `<launcher-pid>.json` session-registry entry per live launch routed through the front door. */
|
|
704
710
|
readonly frontdoorSessionsDir: string;
|
|
711
|
+
/**
|
|
712
|
+
* Directory holding one `<cse-session-id>.json` Remote Control client credential per observed session, mode 0700 with 0600 files: the OAuth-kind bearer and protocol headers the door replays as the session's attached client, persisted so a door generation that starts after a session's create can still attach. The same secret the identity's own store holds, at the same owner-only protection.
|
|
713
|
+
*/
|
|
714
|
+
readonly frontdoorRcCredentialsDir: string;
|
|
705
715
|
/** Path to the front door's log: one line per lifecycle event and routed failure, never a token. */
|
|
706
716
|
readonly frontdoorLogPath: string;
|
|
707
717
|
/** Directory holding the usage store, mode 0700: the request log and the per-identity snapshots. Metadata only, never content or credentials. */
|
|
@@ -1606,6 +1616,24 @@ declare function realConnectCertStore(paths: {
|
|
|
1606
1616
|
readonly frontdoorCaKeyFile: string;
|
|
1607
1617
|
}): ConnectCertStore;
|
|
1608
1618
|
|
|
1619
|
+
/**
|
|
1620
|
+
* The persisted half of the tracker's client credential: the OAuth-kind bearer and protocol headers a Remote Control session's client-half calls were last observed with, written per session id so a later door generation can still attach to a session whose create crossed an earlier one.
|
|
1621
|
+
*
|
|
1622
|
+
* The tracker holds the credential in memory only, and the worker's recurring calls carry the worker JWT rather than the OAuth bearer, so a door that starts after the session's create (an idle shutdown and restart, a release upgrade, a reboot) would never learn it: nothing the door can observe re-states it until some client-half call happens to cross. Since the session outlives any one door process, the credential must outlive the process too. It is the same secret the identity's own store already holds on the same machine, so persisting it adds a second copy inside the same trust boundary, at the same owner-only protection: one JSON file per session, mode 0600, under the door's own front-door directory.
|
|
1623
|
+
*
|
|
1624
|
+
* A file is removed when the tracker observes the session closing (the conflict header, or an accepted archive). Nothing else removes it: the tracker's idle sweep is not a close (a quiet session is not a dead one, and a resumed session must re-attach), and the credential's own expiry is the protocol's to judge, as a 401 on the dial the hub already retries and backs off from. A session that ends without an observable close leaves its file behind, overwritten only if the same id is ever observed again.
|
|
1625
|
+
*/
|
|
1626
|
+
interface RcCredentialStore {
|
|
1627
|
+
/** The session's last observed client credential, or undefined when none was ever persisted for it (or what was persisted does not parse). */
|
|
1628
|
+
readonly read: (sessionId: string) => RcObservedCredential | undefined;
|
|
1629
|
+
/** Persists the session's client credential, replacing whatever was held for it. */
|
|
1630
|
+
readonly write: (sessionId: string, credential: RcObservedCredential) => void;
|
|
1631
|
+
/** Forgets the session's persisted credential, succeeding silently when none was held. */
|
|
1632
|
+
readonly remove: (sessionId: string) => void;
|
|
1633
|
+
}
|
|
1634
|
+
/** Creates the credential store over one directory: one owner-only JSON file per session id. */
|
|
1635
|
+
declare function createRcCredentialStore(fs: FarmFs, dir: string): RcCredentialStore;
|
|
1636
|
+
|
|
1609
1637
|
/**
|
|
1610
1638
|
* The Zod schemas of the Remote Control surfaces: one definition each for the summaries, statuses and pending lists the tracker produces, the stream events the door's client attachment fans out, and every input and output the typed API accepts. The tracker's own TypeScript interfaces in `rcSessions.ts` stay the implementations' types; these schemas are what the oRPC contract validates through, and because the procedures wrap the very operations that produce those interfaces' values, a drift between a schema and its interface fails the API's own output validation (exercised by its tests) rather than shipping silently. This module deliberately imports nothing from oRPC: it is a plain Zod leaf, so the tracker and the stream half can share it without either depending on the API layer.
|
|
1611
1639
|
*/
|
|
@@ -1779,6 +1807,10 @@ interface RcSessionTrackerDeps {
|
|
|
1779
1807
|
readonly now: () => number;
|
|
1780
1808
|
/** How long an entry may sit unobserved before it is expired; production passes `RC_IDLE_EXPIRY_MS`, tests pass small values so a deadline is reached in milliseconds. */
|
|
1781
1809
|
readonly idleMs: number;
|
|
1810
|
+
/**
|
|
1811
|
+
* Where the observed client credential outlives this process. The worker's recurring calls carry the worker JWT, so a door generation that starts after a session's create observes nothing that states the OAuth bearer until some client-half call crosses; the store is what lets that generation still attach (and write). Absent, the credential is in memory only, exactly as it was before the store existed.
|
|
1812
|
+
*/
|
|
1813
|
+
readonly credentialStore?: RcCredentialStore;
|
|
1782
1814
|
}
|
|
1783
1815
|
/** The live record of observed Remote Control sessions. */
|
|
1784
1816
|
interface RcSessionTracker {
|
|
@@ -2018,6 +2050,22 @@ interface RcStreamHub {
|
|
|
2018
2050
|
/** Creates the attachment hub. One per door process; everything it holds dies with it. */
|
|
2019
2051
|
declare function createRcStreamHub(deps: RcStreamHubDeps): RcStreamHub;
|
|
2020
2052
|
|
|
2053
|
+
/** The real `ConnectEffects` over node's own net, tls, and http. `connectTcp` opens real connections to the CONNECTed host, so tests that want a blind tunnel redirect it. */
|
|
2054
|
+
/**
|
|
2055
|
+
* A DNS lookup for the door's own upstream dials that bypasses the hosts file, because a transparent-interception deployment points the intercept hosts' names at this machine in /etc/hosts: getaddrinfo (Node's default lookup) would send the door's own upstream connections straight back into the intercept port, a loop, while `dns.resolve4` asks the resolver directly and returns the real address. The SNI and Host stay the real name; only the dial address comes from DNS.
|
|
2056
|
+
*/
|
|
2057
|
+
/**
|
|
2058
|
+
* A range of local source ports the door's own upstream sockets bind, handed out in rotation because node binds one port per socket with no range option. The width is also the dial's retry bound: one attempt per port, so a fully-held range surfaces its last bind error instead of spinning. Injectable so the exhaustion tests hold a private range instead of racing every other worker for the door's real one.
|
|
2059
|
+
*/
|
|
2060
|
+
declare class SourcePortRange {
|
|
2061
|
+
readonly start: number;
|
|
2062
|
+
readonly end: number;
|
|
2063
|
+
readonly count: number;
|
|
2064
|
+
private next;
|
|
2065
|
+
constructor(start: number, end: number);
|
|
2066
|
+
/** The next port in rotation, wrapping from the end back to the start. */
|
|
2067
|
+
take(): number;
|
|
2068
|
+
}
|
|
2021
2069
|
/** Where the Remote Control inject path dials: the API host's own address by default, over TLS with the door's interception-proof agent (real-name DNS resolution and the pf-exempt source-port range), so an injected event cannot be looped back into the door's own transparent surface. A test redirects the dial at a local stand-in presenting the host's name, exactly as the forwarding targets are redirected. */
|
|
2022
2070
|
interface RcDialTarget {
|
|
2023
2071
|
readonly host: string;
|
|
@@ -2034,7 +2082,8 @@ interface RcDialTarget {
|
|
|
2034
2082
|
*/
|
|
2035
2083
|
declare function realRcEventDial(target?: RcDialTarget): RcEventDial;
|
|
2036
2084
|
declare function realRcStreamDial(target?: RcDialTarget): RcStreamDial;
|
|
2037
|
-
|
|
2085
|
+
/** The real effects, dialling upstream from `ports` (the door's own range unless a test injects a private one). */
|
|
2086
|
+
declare function realConnectEffects(ports?: SourcePortRange): ConnectEffects;
|
|
2038
2087
|
|
|
2039
2088
|
/**
|
|
2040
2089
|
* The Remote Control control surface: the small HTTP namespace the serving door answers on its provider listener, next to `/healthz`, through which `agent-shim frontdoor rc` lists the observed sessions, reports each one's status and pending control requests, injects a prompt into one, answers one of its pending requests, and sends its own control requests into one (interrupt, set-model, set-permission-mode).
|
|
@@ -3306,6 +3355,14 @@ declare function updateDirectoryRule(paths: LayoutPaths, rulePath: string, optio
|
|
|
3306
3355
|
/** Removes the directory rule for `rulePath`. Throws `DirectoryRuleNotFoundError` when no rule matches that exact path. */
|
|
3307
3356
|
declare function removeDirectoryRule(paths: LayoutPaths, rulePath: string): void;
|
|
3308
3357
|
|
|
3358
|
+
/** Where a pinned Claude Code version came from, strongest first: the launch's own flag, then the environment, then the cascade. */
|
|
3359
|
+
type ClaudeVersionSource = "flag" | "environment" | "cascade";
|
|
3360
|
+
/** The pinned version a launch runs, and which of the three forms named it. */
|
|
3361
|
+
interface PinnedClaudeVersion {
|
|
3362
|
+
readonly version: string;
|
|
3363
|
+
readonly source: ClaudeVersionSource;
|
|
3364
|
+
}
|
|
3365
|
+
|
|
3309
3366
|
/** Which precedence rule produced an identity decision. */
|
|
3310
3367
|
type IdentityDecisionSource =
|
|
3311
3368
|
/** `CLAUDE_CONFIG_DIR` was already set: identity resolution is skipped entirely and the real binary uses whatever it already points to. */
|
|
@@ -3430,6 +3487,8 @@ interface RunCheckParams {
|
|
|
3430
3487
|
readonly platform: string;
|
|
3431
3488
|
/** The provider a launch here would route through (`launch.provider` in the cascade), when one is selected. */
|
|
3432
3489
|
readonly provider?: CheckProviderInput;
|
|
3490
|
+
/** The Claude Code versions installed here, oldest first. Omit to leave the Claude Code version out of the report; with it, `check` says which version a launch here runs and whether a pin is installed. */
|
|
3491
|
+
readonly installedClaudeVersions?: readonly string[];
|
|
3433
3492
|
/** Where cached credentials live. Omit to skip reporting a credential cache's age; with it, a block that caches reports whether it holds an entry, how old it is and whether it has expired, never the token. */
|
|
3434
3493
|
readonly credentialCache?: CredentialCacheEnv;
|
|
3435
3494
|
}
|
|
@@ -3447,6 +3506,16 @@ interface CheckReport {
|
|
|
3447
3506
|
readonly keychain?: KeychainLookupResult;
|
|
3448
3507
|
readonly settingsExposure: readonly SettingsExposureReport[];
|
|
3449
3508
|
readonly credential: CredentialReport;
|
|
3509
|
+
/** The Claude Code version a launch here would run, when the installed versions were given. */
|
|
3510
|
+
readonly claudeVersion?: ClaudeVersionReport;
|
|
3511
|
+
}
|
|
3512
|
+
/** Which Claude Code version a launch would run: the pin and where it comes from, with whether it is installed, or the highest installed version when nothing pins one. */
|
|
3513
|
+
interface ClaudeVersionReport {
|
|
3514
|
+
readonly pinned?: PinnedClaudeVersion & {
|
|
3515
|
+
readonly installed: boolean;
|
|
3516
|
+
};
|
|
3517
|
+
readonly highestInstalled?: string;
|
|
3518
|
+
readonly installed: readonly string[];
|
|
3450
3519
|
}
|
|
3451
3520
|
/**
|
|
3452
3521
|
* Resolves the full cascade for one directory/identity and reports everything `agent-shim check` documents: every entry's resolved state and which layer/condition decided it, any ambiguous `history/projects/` encoding in scope, and the three always-on diagnostics (ambient-credential exposure, macOS Keychain service name, settings-secrets exposure).
|
|
@@ -3505,6 +3574,12 @@ interface DiscoveredClaudeBinary {
|
|
|
3505
3574
|
/** The version string, when discovered via the versions directory. */
|
|
3506
3575
|
version?: string;
|
|
3507
3576
|
}
|
|
3577
|
+
/** What a launch asks binary discovery for: nothing (the highest installed version) or an exact version. */
|
|
3578
|
+
interface ClaudeBinaryRequest {
|
|
3579
|
+
readonly version?: string;
|
|
3580
|
+
}
|
|
3581
|
+
/** Discovers the real `claude` binary to spawn, for the version a launch asked for. Injected into the launcher so it never reads the filesystem or PATH itself. */
|
|
3582
|
+
type ClaudeBinaryResolver = (request?: Readonly<ClaudeBinaryRequest>) => DiscoveredClaudeBinary;
|
|
3508
3583
|
|
|
3509
3584
|
type DoctorSeverity = "pass" | "warn" | "fail";
|
|
3510
3585
|
type DoctorSection = "ambient-credential" | "binary-discovery" | "claude-shim" | "path-resolution" | "legacy-name" | "config-profile" | "identity" | "pool" | "provider" | "keychain" | "directory-rules" | "global-config" | "categories-local" | "active-identity" | "headroom";
|
|
@@ -3566,6 +3641,8 @@ interface DoctorPathResolution {
|
|
|
3566
3641
|
/** Everything `runDoctor` needs, all of it already loaded/injected — nothing in `runDoctor` itself reads a file, shells out, or touches the farm. */
|
|
3567
3642
|
interface RunDoctorParams {
|
|
3568
3643
|
readonly env: Readonly<Record<string, string | undefined>>;
|
|
3644
|
+
/** The Claude Code versions installed here, oldest first. Omit to skip checking that a pinned version (`launch.claudeVersion`) is installed; with it, a profile, directory rule or global config pinning a version that is not installed is a warning. */
|
|
3645
|
+
readonly installedClaudeVersions?: readonly string[];
|
|
3569
3646
|
/** Where cached credentials live. Omit to leave a credential cache's age out of the identity and provider findings; with it, a block that caches reports whether it holds an entry, how old it is and whether it has expired, never the token. */
|
|
3570
3647
|
readonly credentialCache?: CredentialCacheEnv;
|
|
3571
3648
|
readonly identities: readonly DoctorIdentityInput[];
|
|
@@ -3663,7 +3740,7 @@ interface PrepareLaunchParams {
|
|
|
3663
3740
|
readonly proc: ProcPort;
|
|
3664
3741
|
readonly log: LogPort;
|
|
3665
3742
|
/** Discovers the real `claude` binary to spawn. Injected so `runLauncher` never depends on `src/versionDiscovery.ts`'s own filesystem/PATH inputs directly — the caller (`src/cli.ts`) wires the real discovery, tests wire a fake that returns a fixed path. */
|
|
3666
|
-
readonly resolveClaudeBinary:
|
|
3743
|
+
readonly resolveClaudeBinary: ClaudeBinaryResolver;
|
|
3667
3744
|
/** An identity pinned to `$PWD` by a directory rule. Accepted as an already-resolved value — the rules-loading code that produces it lands in Phase 4/5. */
|
|
3668
3745
|
readonly directoryPinnedIdentity?: string;
|
|
3669
3746
|
/** A directory rule's `configProfile` selection for `$PWD`. Accepted as an already-resolved value for the same reason. */
|
|
@@ -3731,5 +3808,5 @@ interface PrepareClaudeLaunchOptions {
|
|
|
3731
3808
|
*/
|
|
3732
3809
|
declare function prepareClaudeLaunch(options: PrepareClaudeLaunchOptions): LaunchPlan;
|
|
3733
3810
|
|
|
3734
|
-
export { AMBIENT_CREDENTIAL_VARS, CONNECT_INTERCEPT_HOST, CONNECT_INTERCEPT_HOSTS, CONNECT_LIMITS, CONTROL_PATH_PREFIX, CategoryClassificationOverlaySchema, CategoryClassificationSchema, CategoryMapSchema, CliError, ConfigProfileSchema, CredentialCacheSchema, CredentialSchema, CredentialSourceSchema, DirectoryRuleAlreadyExistsError, DirectoryRuleMissingTargetError, DirectoryRuleNotFoundError, DirectoryRuleSchema, DirectoryRulesSchema, EXIT_FAILURE, EXIT_USAGE, EntryValueSchema, FARM_MANIFEST_FILENAME, FrontDoorStartError, GlobalConfigSchema, HeadroomStartError, IdentityAlreadyExistsError, IdentityNotFoundError, IdentitySchema, InvalidCategoryNameError, InvalidIdentityNameError, InvalidProviderNameError, LaunchRefusedError, LegacyProviderFileError, PROMPT_CACHE_TTL_MS, PlanClassSchema, PoolNameSchema, PoolNotFoundError, PoolPickReportSchema, PoolSchema, PortableConfigSchema, ProfileAlreadyExistsError, ProfileNotFoundError, ProviderAlreadyExistsError, ProviderKindMismatchError, ProviderNotFoundError, ProviderSchema, RC_IDLE_EXPIRY_MS, RC_ORPC_PATH_PREFIX, RC_PENDING_DEADLINE_MS, RC_PERMISSION_MODES, RC_REQUEST_PARSE_CAP_BYTES, RC_SESSIONS_PATH_PREFIX, RC_STREAM_BACKOFF_MS, ROUTED_PATH_PREFIX, RcPermissionModeSchema, RcStreamEnvelopeSchema, RcStreamEventSchema, UsageError, UsageSnapshotError, UsageSnapshotSchema, WhenSchema, addDirectoryRule, addIdentity, addPool, addProvider, answerRcControlRequest, buildEntryFacts, buildLayoutPaths, buildRcControlResponsePayload, buildRcEventWriteBody, buildRcInterruptPayload, buildRcSetModelPayload, buildRcSetPermissionModePayload, buildRcUserMessagePayload, carryOver, checkReportHasWarnings, checkReportToJson, collectCheckReport, collectDoctorReport, collectPoolPick, createLeafCache, createProfile, createRcApiNodeHandler, createRcApiRouter, createRcControlHandler, createRcEventFanout, createRcSessionTracker, createRcStreamHub, createSseParser, describeProviderEndpoint, detectAmbientCredential, effectiveWindow, ensureCa, ensureFrontDoor, ensureHeadroom, evaluateAmbientCredentialGuard, evaluateWhen, formatAmbientCredentialGuardMessage, formatCheckReport, formatDoctorReport, forwardableHeaders, frontDoorRcApiClient, frontDoorRcControl, generateCa, identityExists, injectRcUserMessage, interruptRcSession, isIdentityDirectoryName, isInterceptedHost, isRcPermissionMode, listDirectoryRules, listIdentities, listProfiles, listProviders, listUsageSnapshots, matchBranch, mintLeaf, observingRoutedRoute, parseConnectTarget, parseRcStreamEnvelope, planOf, prepareClaudeLaunch, prepareLaunch, profileExists, providerExists, rankPool, rcEventWriteResultFromAnswer, rcObserverAsPassthrough, readActiveIdentity, readDirectoryRules, readFarmManifest, readGlobalConfig, readIdentity, readPools, readProfile, readProvider, readUsageSnapshot, realConnectCertStore, realConnectEffects, realRcControlTransport, realRcEventDial, realRcStreamDial, recoverFarm, recoveryDiagnostics, removeDirectoryRule, removeIdentity, removePool, removeProfile, removeProvider, requirePool, resolveAgentShimHome, resolveClaudeHome, resolveDecisions, resolveLayoutPaths, resolveSupervisorConfig, resyncFarm, runCheck, runDoctor, runFrontDoorSupervisor, runSupervisor, servedByPipeline, setAllowAmbientCredential, setDefaultConfigProfile, setGlobalDefaultProfile, setIdentityCredential, setPool, setProfileCategories, setProfileEntries, setProfileLaunchFlags, setProfileMetadata, setRcSessionModel, setRcSessionPermissionMode, snapshotPath, startConnectServer, topLevelNames, updateDirectoryRule, updateProvider, useIdentity, writeDirectoryRules };
|
|
3735
|
-
export type { AddDirectoryRuleOptions, AddProviderInput, AmbientCredentialDetection, AmbientCredentialGuardResult, AmbientCredentialVar, BuildEntryFactsParams, CaMaterial, Candidate, CarryOverParams, CarryOverResult, CategoryMap, CheckReport, CollectCheckReportParams, CollectDoctorReportParams, CompiledRule, ConditionContext, ConfigProfile, ConnectCertStore, ConnectEffects, ConnectLimits, ConnectServerConfig, ConnectServerHandle, ConnectTarget, Credential, CredentialSource, Decision, Diagnostic, DirectoryRule, DirectoryRules, DoctorReport, EffectiveWindow, EliminatedRule, EnsureFrontDoorPorts, EnsureHeadroomPorts, EntryFact, EntryFacts, EntryValue, EvaluateAmbientCredentialGuardParams, FlattenedCascade, FrontDoorRcControl, FrontDoorSupervisorPorts, GlobalConfig, HeadroomSupervisorConfig, Identity, IdentityCredentialChange, IdentityListEntry, IdentityListing, InjectedCredential, LaunchPlan, Layer, LayerId, LayoutPaths, LeafCert, PlanClass, Pool, PoolMember, PoolPickReport, PoolRanking, PortableConfig, PrepareClaudeLaunchOptions, PrepareLaunchParams, ProfileListEntry, Provider, ProviderListEntry, RankPoolInput, RcAnswerDecision, RcAnswerDeps, RcApiClient, RcApiDeps, RcApiRouter, RcControlAnswer, RcControlHandlerDeps, RcControlRequestDeps, RcControlTransport, RcDialAnswer, RcDialTarget, RcEventDial, RcEventFanout, RcEventWriteResult, RcExchangeObserver, RcInjectDeps, RcObservedCredential, RcObservedRequest, RcPendingRequestSummary, RcPermissionMode, RcPresenceAnswer, RcSessionStatus, RcSessionSummary, RcSessionTracker, RcSessionTrackerDeps, RcStreamAnswer, RcStreamDial, RcStreamEnvelope, RcStreamEvent, RcStreamHub, RcStreamHubDeps, RcWorkerFact, RcWriteHeaders, RecoverFarmParams, RecoveryResult, ResolveDecisionsInput, ResolvedState, ResyncFarmParams, ResyncFarmResult, RunCheckParams, RunDoctorParams, RunFrontDoorSupervisorOptions, RunSupervisorOptions, SseParsedEvent, StickyPick, SupervisorPorts, UnreadableIdentityListEntry, UpdateDirectoryRuleOptions, UpdateProviderInput, UsageReadFs, UsageSnapshot, WhenCondition, WhenEvaluation };
|
|
3811
|
+
export { AMBIENT_CREDENTIAL_VARS, CONNECT_INTERCEPT_HOST, CONNECT_INTERCEPT_HOSTS, CONNECT_LIMITS, CONTROL_PATH_PREFIX, CategoryClassificationOverlaySchema, CategoryClassificationSchema, CategoryMapSchema, CliError, ConfigProfileSchema, CredentialCacheSchema, CredentialSchema, CredentialSourceSchema, DirectoryRuleAlreadyExistsError, DirectoryRuleMissingTargetError, DirectoryRuleNotFoundError, DirectoryRuleSchema, DirectoryRulesSchema, EXIT_FAILURE, EXIT_USAGE, EntryValueSchema, FARM_MANIFEST_FILENAME, FrontDoorStartError, GlobalConfigSchema, HeadroomStartError, IdentityAlreadyExistsError, IdentityNotFoundError, IdentitySchema, InvalidCategoryNameError, InvalidIdentityNameError, InvalidProviderNameError, LaunchRefusedError, LegacyProviderFileError, PROMPT_CACHE_TTL_MS, PlanClassSchema, PoolNameSchema, PoolNotFoundError, PoolPickReportSchema, PoolSchema, PortableConfigSchema, ProfileAlreadyExistsError, ProfileNotFoundError, ProviderAlreadyExistsError, ProviderKindMismatchError, ProviderNotFoundError, ProviderSchema, RC_IDLE_EXPIRY_MS, RC_ORPC_PATH_PREFIX, RC_PENDING_DEADLINE_MS, RC_PERMISSION_MODES, RC_REQUEST_PARSE_CAP_BYTES, RC_SESSIONS_PATH_PREFIX, RC_STREAM_BACKOFF_MS, ROUTED_PATH_PREFIX, RcPermissionModeSchema, RcStreamEnvelopeSchema, RcStreamEventSchema, UsageError, UsageSnapshotError, UsageSnapshotSchema, WhenSchema, addDirectoryRule, addIdentity, addPool, addProvider, answerRcControlRequest, buildEntryFacts, buildLayoutPaths, buildRcControlResponsePayload, buildRcEventWriteBody, buildRcInterruptPayload, buildRcSetModelPayload, buildRcSetPermissionModePayload, buildRcUserMessagePayload, carryOver, checkReportHasWarnings, checkReportToJson, collectCheckReport, collectDoctorReport, collectPoolPick, createLeafCache, createProfile, createRcApiNodeHandler, createRcApiRouter, createRcControlHandler, createRcCredentialStore, createRcEventFanout, createRcSessionTracker, createRcStreamHub, createSseParser, describeProviderEndpoint, detectAmbientCredential, effectiveWindow, ensureCa, ensureFrontDoor, ensureHeadroom, evaluateAmbientCredentialGuard, evaluateWhen, formatAmbientCredentialGuardMessage, formatCheckReport, formatDoctorReport, forwardableHeaders, frontDoorRcApiClient, frontDoorRcControl, generateCa, identityExists, injectRcUserMessage, interruptRcSession, isIdentityDirectoryName, isInterceptedHost, isRcPermissionMode, listDirectoryRules, listIdentities, listProfiles, listProviders, listUsageSnapshots, matchBranch, mintLeaf, observingRoutedRoute, parseConnectTarget, parseRcStreamEnvelope, planOf, prepareClaudeLaunch, prepareLaunch, profileExists, providerExists, rankPool, rcEventWriteResultFromAnswer, rcObserverAsPassthrough, readActiveIdentity, readDirectoryRules, readFarmManifest, readGlobalConfig, readIdentity, readPools, readProfile, readProvider, readUsageSnapshot, realConnectCertStore, realConnectEffects, realRcControlTransport, realRcEventDial, realRcStreamDial, recoverFarm, recoveryDiagnostics, removeDirectoryRule, removeIdentity, removePool, removeProfile, removeProvider, requirePool, resolveAgentShimHome, resolveClaudeHome, resolveDecisions, resolveLayoutPaths, resolveSupervisorConfig, resyncFarm, runCheck, runDoctor, runFrontDoorSupervisor, runSupervisor, servedByPipeline, setAllowAmbientCredential, setDefaultConfigProfile, setGlobalDefaultProfile, setIdentityCredential, setPool, setProfileCategories, setProfileEntries, setProfileLaunchFlags, setProfileMetadata, setRcSessionModel, setRcSessionPermissionMode, snapshotPath, startConnectServer, topLevelNames, updateDirectoryRule, updateProvider, useIdentity, writeDirectoryRules };
|
|
3812
|
+
export type { AddDirectoryRuleOptions, AddProviderInput, AmbientCredentialDetection, AmbientCredentialGuardResult, AmbientCredentialVar, BuildEntryFactsParams, CaMaterial, Candidate, CarryOverParams, CarryOverResult, CategoryMap, CheckReport, CollectCheckReportParams, CollectDoctorReportParams, CompiledRule, ConditionContext, ConfigProfile, ConnectCertStore, ConnectEffects, ConnectLimits, ConnectServerConfig, ConnectServerHandle, ConnectTarget, Credential, CredentialSource, Decision, Diagnostic, DirectoryRule, DirectoryRules, DoctorReport, EffectiveWindow, EliminatedRule, EnsureFrontDoorPorts, EnsureHeadroomPorts, EntryFact, EntryFacts, EntryValue, EvaluateAmbientCredentialGuardParams, FlattenedCascade, FrontDoorRcControl, FrontDoorSupervisorPorts, GlobalConfig, HeadroomSupervisorConfig, Identity, IdentityCredentialChange, IdentityListEntry, IdentityListing, InjectedCredential, LaunchPlan, Layer, LayerId, LayoutPaths, LeafCert, PlanClass, Pool, PoolMember, PoolPickReport, PoolRanking, PortableConfig, PrepareClaudeLaunchOptions, PrepareLaunchParams, ProfileListEntry, Provider, ProviderListEntry, RankPoolInput, RcAnswerDecision, RcAnswerDeps, RcApiClient, RcApiDeps, RcApiRouter, RcControlAnswer, RcControlHandlerDeps, RcControlRequestDeps, RcControlTransport, RcCredentialStore, RcDialAnswer, RcDialTarget, RcEventDial, RcEventFanout, RcEventWriteResult, RcExchangeObserver, RcInjectDeps, RcObservedCredential, RcObservedRequest, RcPendingRequestSummary, RcPermissionMode, RcPresenceAnswer, RcSessionStatus, RcSessionSummary, RcSessionTracker, RcSessionTrackerDeps, RcStreamAnswer, RcStreamDial, RcStreamEnvelope, RcStreamEvent, RcStreamHub, RcStreamHubDeps, RcWorkerFact, RcWriteHeaders, RecoverFarmParams, RecoveryResult, ResolveDecisionsInput, ResolvedState, ResyncFarmParams, ResyncFarmResult, RunCheckParams, RunDoctorParams, RunFrontDoorSupervisorOptions, RunSupervisorOptions, SseParsedEvent, StickyPick, SupervisorPorts, UnreadableIdentityListEntry, UpdateDirectoryRuleOptions, UpdateProviderInput, 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.11.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>",
|