@claudexor/cli 3.4.2 → 3.5.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/accounts-services.d.ts +2 -1
- package/dist/accounts-services.d.ts.map +1 -1
- package/dist/agy-quota-source.d.ts +36 -0
- package/dist/agy-quota-source.d.ts.map +1 -0
- package/dist/agy-quota-source.js +334 -0
- package/dist/agy-quota-source.js.map +1 -0
- package/dist/auth-login-harnesses.d.ts +11 -0
- package/dist/auth-login-harnesses.d.ts.map +1 -0
- package/dist/auth-login-harnesses.js +17 -0
- package/dist/auth-login-harnesses.js.map +1 -0
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +2 -13
- package/dist/command-registry.js.map +1 -1
- package/dist/config-dir-login-harnesses.d.ts +7 -0
- package/dist/config-dir-login-harnesses.d.ts.map +1 -0
- package/dist/config-dir-login-harnesses.js +46 -0
- package/dist/config-dir-login-harnesses.js.map +1 -0
- package/dist/control-services.d.ts +28 -14
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +11 -11
- package/dist/control-services.js.map +1 -1
- package/dist/credential-commands.d.ts.map +1 -1
- package/dist/credential-commands.js +5 -8
- package/dist/credential-commands.js.map +1 -1
- package/dist/harness-command-specs.d.ts +17 -0
- package/dist/harness-command-specs.d.ts.map +1 -0
- package/dist/harness-command-specs.js +22 -0
- package/dist/harness-command-specs.js.map +1 -0
- package/dist/harness-command.d.ts +4 -4
- package/dist/harness-command.d.ts.map +1 -1
- package/dist/harness-command.js +6 -5
- package/dist/harness-command.js.map +1 -1
- package/dist/harness-installer.d.ts +23 -10
- package/dist/harness-installer.d.ts.map +1 -1
- package/dist/harness-installer.js +93 -33
- package/dist/harness-installer.js.map +1 -1
- package/dist/native-login.d.ts +10 -1
- package/dist/native-login.d.ts.map +1 -1
- package/dist/native-login.js +50 -1
- package/dist/native-login.js.map +1 -1
- package/dist/ops-commands.d.ts +1 -2
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +6 -5
- package/dist/ops-commands.js.map +1 -1
- package/dist/profile-registration.d.ts.map +1 -1
- package/dist/profile-registration.js +3 -2
- package/dist/profile-registration.js.map +1 -1
- package/dist/quota-refreshers.d.ts +3 -0
- package/dist/quota-refreshers.d.ts.map +1 -1
- package/dist/quota-refreshers.js +2 -0
- package/dist/quota-refreshers.js.map +1 -1
- package/dist/quota-services.d.ts +4 -2
- package/dist/quota-services.d.ts.map +1 -1
- package/dist/quota-subject-universe.d.ts.map +1 -1
- package/dist/quota-subject-universe.js +5 -2
- package/dist/quota-subject-universe.js.map +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +3 -1
- package/dist/registry.js.map +1 -1
- package/dist/setup-job-store.d.ts +4 -2
- package/dist/setup-job-store.d.ts.map +1 -1
- package/dist/setup-job-support.d.ts +33 -1
- package/dist/setup-job-support.d.ts.map +1 -1
- package/dist/setup-job-support.js +64 -11
- package/dist/setup-job-support.js.map +1 -1
- package/dist/setup-jobs.d.ts +8 -4
- package/dist/setup-jobs.d.ts.map +1 -1
- package/dist/setup-jobs.js +16 -17
- package/dist/setup-jobs.js.map +1 -1
- package/dist/setup-login-completion.d.ts.map +1 -1
- package/dist/setup-login-completion.js +16 -0
- package/dist/setup-login-completion.js.map +1 -1
- package/dist/setup-login-io.d.ts +7 -1
- package/dist/setup-login-io.d.ts.map +1 -1
- package/dist/setup-login-io.js +43 -3
- package/dist/setup-login-io.js.map +1 -1
- package/dist/setup-login-pty.d.ts +27 -0
- package/dist/setup-login-pty.d.ts.map +1 -0
- package/dist/setup-login-pty.js +58 -0
- package/dist/setup-login-pty.js.map +1 -0
- package/dist/setup-login-runner.d.ts +1 -9
- package/dist/setup-login-runner.d.ts.map +1 -1
- package/dist/setup-login-runner.js +17 -49
- package/dist/setup-login-runner.js.map +1 -1
- package/dist/setup-login-url.d.ts +10 -0
- package/dist/setup-login-url.d.ts.map +1 -0
- package/dist/setup-login-url.js +48 -0
- package/dist/setup-login-url.js.map +1 -0
- package/package.json +24 -23
|
@@ -139,12 +139,13 @@ export declare function createCredentialProfilesService(quotaRegistry: () => Quo
|
|
|
139
139
|
id: string;
|
|
140
140
|
label: string;
|
|
141
141
|
applies_to_models?: string[] | null | undefined;
|
|
142
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
142
143
|
used_ratio: number | null;
|
|
143
144
|
window_seconds: number | null;
|
|
144
145
|
resets_at: string | null;
|
|
145
146
|
cooldown_until: string | null;
|
|
146
147
|
}[];
|
|
147
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
148
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
148
149
|
observed_at: string;
|
|
149
150
|
freshness: "fresh" | "stale" | "unknown";
|
|
150
151
|
availability?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts-services.d.ts","sourceRoot":"","sources":["../src/accounts-services.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI5E,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EAGxB,MAAM,mBAAmB,CAAC;AAS3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE;;;;;;;;;;;;;gBAKpD,IAAI,GAAG,UAAU;kBAAY,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;KAuBpE;AAED;;8EAE8E;AAC9E,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,aAAa,YAyB1D;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBArDnB,IAAI,GAAG,UAAU;sBAAY,MAAM,GAAG,IAAI
|
|
1
|
+
{"version":3,"file":"accounts-services.d.ts","sourceRoot":"","sources":["../src/accounts-services.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI5E,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EAGxB,MAAM,mBAAmB,CAAC;AAS3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE;;;;;;;;;;;;;gBAKpD,IAAI,GAAG,UAAU;kBAAY,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;KAuBpE;AAED;;8EAE8E;AAC9E,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,aAAa,YAyB1D;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBArDnB,IAAI,GAAG,UAAU;sBAAY,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFpE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { QuotaRefreshResult } from "@claudexor/daemon";
|
|
2
|
+
import type { QuotaConstraint } from "@claudexor/schema";
|
|
3
|
+
/**
|
|
4
|
+
* agy quota (source `agy_command_usage`): the vendor's own `/quota` print-mode
|
|
5
|
+
* slash command returns a JSON envelope WITHOUT spending a turn (1.1.11+). One
|
|
6
|
+
* candidate per enabled agy config_dir_login profile — agy has NO default
|
|
7
|
+
* store (owner decision, PLAN Л-4), so there is no null-subject candidate.
|
|
8
|
+
* A candidate that cannot be observed yields a typed absence CLAIM, never a
|
|
9
|
+
* throw: one account's failure must never blind the others.
|
|
10
|
+
*/
|
|
11
|
+
export declare function refreshAgyQuota(options?: {
|
|
12
|
+
bin?: string;
|
|
13
|
+
baseEnv?: NodeJS.ProcessEnv;
|
|
14
|
+
}): Promise<QuotaRefreshResult>;
|
|
15
|
+
type AgyQuotaParse = {
|
|
16
|
+
kind: "constraints";
|
|
17
|
+
constraints: QuotaConstraint[];
|
|
18
|
+
planLabel: string | null;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "auth_revoked";
|
|
21
|
+
detail: string;
|
|
22
|
+
} | {
|
|
23
|
+
kind: "failed";
|
|
24
|
+
detail: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Tolerant parser for the `/quota` envelope (fixtures/agy-quota-print*.json).
|
|
28
|
+
* DIFFERENT account tiers return DIFFERENT window sets (a lower tier has no
|
|
29
|
+
* 5-hour windows — PLAN §1.2a), so a missing window is normal, never an error.
|
|
30
|
+
* Each of the two vendor GROUPS ("Gemini Models", "Claude and GPT models")
|
|
31
|
+
* becomes constraints tagged with its group's model slugs, so a spent Claude
|
|
32
|
+
* window can never block Gemini routing (INV-136 model scope; roast E2/grok).
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseAgyQuotaEnvelope(raw: string): AgyQuotaParse;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=agy-quota-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agy-quota-source.d.ts","sourceRoot":"","sources":["../src/agy-quota-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAU5D,OAAO,KAAK,EAAgB,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AAGtF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAO,GAC1D,OAAO,CAAC,kBAAkB,CAAC,CAiE7B;AAkHD,KAAK,aAAa,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAgFvC;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAkDhE"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { loadConfig } from "@claudexor/config";
|
|
3
|
+
import { providerScrubEnv } from "@claudexor/core";
|
|
4
|
+
import { AGY_BIN, AGY_GEMINI_MODELS, AGY_THIRD_PARTY_MODELS, agyProfileRunEnv, agyTokenFilePresent, canonicalAgyProfileHome, } from "@claudexor/harness-agy";
|
|
5
|
+
import { QuotaConstraint as QuotaConstraintSchema } from "@claudexor/schema";
|
|
6
|
+
import { noProjectRepoRoot, redactSecrets } from "@claudexor/util";
|
|
7
|
+
/**
|
|
8
|
+
* agy quota (source `agy_command_usage`): the vendor's own `/quota` print-mode
|
|
9
|
+
* slash command returns a JSON envelope WITHOUT spending a turn (1.1.11+). One
|
|
10
|
+
* candidate per enabled agy config_dir_login profile — agy has NO default
|
|
11
|
+
* store (owner decision, PLAN Л-4), so there is no null-subject candidate.
|
|
12
|
+
* A candidate that cannot be observed yields a typed absence CLAIM, never a
|
|
13
|
+
* throw: one account's failure must never blind the others.
|
|
14
|
+
*/
|
|
15
|
+
export async function refreshAgyQuota(options = {}) {
|
|
16
|
+
const bin = options.bin ?? AGY_BIN();
|
|
17
|
+
const snapshots = [];
|
|
18
|
+
const universe = agyQuotaCandidates();
|
|
19
|
+
const absences = [...universe.absences];
|
|
20
|
+
// Profiles are read CONCURRENTLY: several accounts is the point of the
|
|
21
|
+
// feature, the daemon awaits every refresher in one cycle, and each read can
|
|
22
|
+
// burn its full timeout — serially that is one stalled vendor per account
|
|
23
|
+
// added to claude's and codex's wait too.
|
|
24
|
+
const results = await Promise.all(universe.candidates.map(async (candidate) => {
|
|
25
|
+
const home = candidate.home;
|
|
26
|
+
// Logged-out precheck (codex pattern): a profile HOME without the
|
|
27
|
+
// vendor's file token cannot yield a window — typed absence WITHOUT
|
|
28
|
+
// spawning agy, which would otherwise open the user's browser and block
|
|
29
|
+
// on an interactive login prompt.
|
|
30
|
+
if (!agyTokenFilePresent(home)) {
|
|
31
|
+
return {
|
|
32
|
+
absence: agyAbsence(candidate.subjectId, "not_logged_in", `no Antigravity token in ${home}`),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const env = agyProfileRunEnv(home, options.baseEnv ?? process.env);
|
|
37
|
+
const parsed = await readAgyQuota(bin, env);
|
|
38
|
+
if (parsed.kind === "auth_revoked")
|
|
39
|
+
return { absence: agyAbsence(candidate.subjectId, "auth_revoked", parsed.detail) };
|
|
40
|
+
if (parsed.kind !== "constraints")
|
|
41
|
+
return { absence: agyAbsence(candidate.subjectId, "refresh_failed", parsed.detail) };
|
|
42
|
+
// Which window governs a run that names no model depends on the model
|
|
43
|
+
// this profile is actually set to, which the vendor answers for free.
|
|
44
|
+
const selected = await readAgySelectedModel(bin, env);
|
|
45
|
+
return {
|
|
46
|
+
snapshot: {
|
|
47
|
+
subject: {
|
|
48
|
+
harness: "agy",
|
|
49
|
+
credential_route: "vendor_native",
|
|
50
|
+
plan_label: parsed.planLabel,
|
|
51
|
+
subject_id: candidate.subjectId,
|
|
52
|
+
},
|
|
53
|
+
constraints: scopeUnspecifiedModel(parsed.constraints, selected),
|
|
54
|
+
source: "agy_command_usage",
|
|
55
|
+
observed_at: new Date().toISOString(),
|
|
56
|
+
freshness: "fresh",
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
return {
|
|
62
|
+
absence: agyAbsence(candidate.subjectId, "refresh_failed", redactSecrets(err instanceof Error ? err.message : String(err)).slice(0, 300)),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}));
|
|
66
|
+
for (const result of results) {
|
|
67
|
+
if (result.snapshot)
|
|
68
|
+
snapshots.push(result.snapshot);
|
|
69
|
+
if (result.absence)
|
|
70
|
+
absences.push(result.absence);
|
|
71
|
+
}
|
|
72
|
+
return { snapshots, absences };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The model this profile currently routes an unspecified-model run to. The
|
|
76
|
+
* vendor answers `/model` from the CLI without spending a turn; a failure
|
|
77
|
+
* leaves it null and the caller falls back to the Gemini group, which is what
|
|
78
|
+
* a fresh profile selects.
|
|
79
|
+
*/
|
|
80
|
+
async function readAgySelectedModel(bin, env) {
|
|
81
|
+
const result = await readAgyCommand(bin, "/model", env);
|
|
82
|
+
if ("failure" in result)
|
|
83
|
+
return null;
|
|
84
|
+
try {
|
|
85
|
+
const parsed = JSON.parse(result.stdout.trim() || "{}");
|
|
86
|
+
const id = parsed?.command?.data?.id;
|
|
87
|
+
return typeof id === "string" && id ? id : null;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Stamp the ONE group that governs a run naming no model. Every agy window is
|
|
95
|
+
* model-scoped, and a scoped window deliberately cannot refuse a route whose
|
|
96
|
+
* model is unknowable before spawn — so without this stamp an exhausted
|
|
97
|
+
* account could never refuse a bare run or trigger rotation (Л-2). The stamp
|
|
98
|
+
* follows the profile's SELECTED model rather than an assumption, because a
|
|
99
|
+
* user who picks a Claude slug would otherwise rotate on Gemini exhaustion and
|
|
100
|
+
* never be refused on their own.
|
|
101
|
+
*/
|
|
102
|
+
function scopeUnspecifiedModel(constraints, selectedModel) {
|
|
103
|
+
const scoped = constraints.filter((c) => c.applies_to_models && c.applies_to_models.length > 0);
|
|
104
|
+
// A model the pinned inventory does not know — the vendor ships new slugs
|
|
105
|
+
// between releases and the user picks them in its own TUI — must not leave
|
|
106
|
+
// EVERY window ungoverned: that reads as a healthy account no matter how
|
|
107
|
+
// spent it is, and rotation never fires. The Gemini group is the documented
|
|
108
|
+
// fallback, the same one an unreadable `/model` gets.
|
|
109
|
+
const known = selectedModel !== null && scoped.some((c) => c.applies_to_models.includes(selectedModel));
|
|
110
|
+
const governs = known
|
|
111
|
+
? (c) => c.applies_to_models.includes(selectedModel)
|
|
112
|
+
: selectedModel === null || selectedModel.startsWith("gemini-")
|
|
113
|
+
? // Unreadable, or a Gemini slug newer than the pinned inventory: the
|
|
114
|
+
// vendor's own group governs, as it does for a fresh profile.
|
|
115
|
+
(c) => c.applies_to_models.some((m) => m.startsWith("gemini-"))
|
|
116
|
+
: // A slug we cannot place at all: EVERY window governs, so an exhausted
|
|
117
|
+
// account is refused rather than reading as healthy. Over-refusing a
|
|
118
|
+
// bare run costs a rotation; under-refusing costs the whole feature.
|
|
119
|
+
() => true;
|
|
120
|
+
return constraints.map((constraint) => constraint.applies_to_models && constraint.applies_to_models.length > 0
|
|
121
|
+
? { ...constraint, applies_to_unspecified_model: governs(constraint) }
|
|
122
|
+
: constraint);
|
|
123
|
+
}
|
|
124
|
+
function agyQuotaCandidates() {
|
|
125
|
+
const global = loadConfig(noProjectRepoRoot()).global;
|
|
126
|
+
if (global.harnesses.agy?.enabled === false)
|
|
127
|
+
return { candidates: [], absences: [] };
|
|
128
|
+
const candidates = [];
|
|
129
|
+
const absences = [];
|
|
130
|
+
for (const profile of global.credential_profiles) {
|
|
131
|
+
if (profile.harness_id !== "agy" || !profile.enabled)
|
|
132
|
+
continue;
|
|
133
|
+
if (profile.credential_kind !== "config_dir_login")
|
|
134
|
+
continue;
|
|
135
|
+
// A profile the subject universe still lists must yield a CLAIM either
|
|
136
|
+
// way: silently skipping a malformed or locator-less row would degrade it
|
|
137
|
+
// to `no_source` with no reason anyone can read (review Ф2 #9).
|
|
138
|
+
try {
|
|
139
|
+
if (!profile.isolation_locator)
|
|
140
|
+
throw new Error("profile has no isolation locator");
|
|
141
|
+
candidates.push({
|
|
142
|
+
home: canonicalAgyProfileHome(profile.isolation_locator),
|
|
143
|
+
subjectId: profile.profile_id,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
absences.push(agyAbsence(profile.profile_id, "refresh_failed", redactSecrets(err instanceof Error ? err.message : String(err)).slice(0, 300)));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return { candidates, absences };
|
|
151
|
+
}
|
|
152
|
+
function agyAbsence(subjectId, reason, detail) {
|
|
153
|
+
return {
|
|
154
|
+
subject: {
|
|
155
|
+
harness: "agy",
|
|
156
|
+
credential_route: "vendor_native",
|
|
157
|
+
plan_label: null,
|
|
158
|
+
subject_id: subjectId,
|
|
159
|
+
},
|
|
160
|
+
reason,
|
|
161
|
+
detail,
|
|
162
|
+
observed_at: new Date().toISOString(),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Spawn one print-mode slash command and return its raw stdout, or a typed
|
|
167
|
+
* failure. stdin is closed (an authenticated agy runs fine that way — PLAN
|
|
168
|
+
* §1.2b) and the caller's token precheck already proved a login exists, so
|
|
169
|
+
* this can never reach an interactive prompt.
|
|
170
|
+
*
|
|
171
|
+
* stderr is NOT piped: nothing reads it, and an unread pipe fills at 64 KB and
|
|
172
|
+
* blocks the vendor mid-write — which threw away a perfectly good stdout
|
|
173
|
+
* envelope and burned the whole timeout.
|
|
174
|
+
*/
|
|
175
|
+
async function readAgyCommand(bin, command, env) {
|
|
176
|
+
const merged = {};
|
|
177
|
+
for (const [k, v] of Object.entries({ ...env, ...providerScrubEnv() })) {
|
|
178
|
+
if (typeof v === "string")
|
|
179
|
+
merged[k] = v;
|
|
180
|
+
}
|
|
181
|
+
merged.AGY_CLI_DISABLE_AUTO_UPDATE = "true";
|
|
182
|
+
const child = spawn(bin, ["-p", command, "--output-format", "json"], {
|
|
183
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
184
|
+
env: merged,
|
|
185
|
+
});
|
|
186
|
+
let timedOut = false;
|
|
187
|
+
const kill = setTimeout(() => {
|
|
188
|
+
timedOut = true;
|
|
189
|
+
child.kill("SIGKILL");
|
|
190
|
+
}, AGY_COMMAND_TIMEOUT_MS);
|
|
191
|
+
// Bounded by BYTES on the raw stream: a line-keyed cap cannot bound a stream
|
|
192
|
+
// with no newline in it, and readline's own buffer would grow first.
|
|
193
|
+
let stdout = "";
|
|
194
|
+
let overflowed = false;
|
|
195
|
+
child.stdout.on("data", (chunk) => {
|
|
196
|
+
if (overflowed)
|
|
197
|
+
return;
|
|
198
|
+
if (stdout.length + chunk.length > MAX_QUOTA_STDOUT) {
|
|
199
|
+
overflowed = true;
|
|
200
|
+
child.kill("SIGKILL");
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
stdout += chunk.toString("utf8");
|
|
204
|
+
});
|
|
205
|
+
// `exit`, never `close`: `close` waits for every stdio pipe to end, so a
|
|
206
|
+
// surviving agy DESCENDANT holding stdout would keep this promise pending
|
|
207
|
+
// forever even after the SIGKILL — and a pending promise wedges
|
|
208
|
+
// QuotaPollPacer.inFlight, which stalls the daemon's whole quota refresh
|
|
209
|
+
// cycle (claude and codex included). codex-quota-source and
|
|
210
|
+
// claude-statusline both use `exit` for exactly this reason.
|
|
211
|
+
const outcome = await new Promise((resolve) => {
|
|
212
|
+
child.once("exit", (code) => resolve({ code }));
|
|
213
|
+
child.once("error", () => resolve({ spawnFailed: true }));
|
|
214
|
+
});
|
|
215
|
+
clearTimeout(kill);
|
|
216
|
+
child.stdout.destroy();
|
|
217
|
+
// The three not-a-result outcomes stay DISTINGUISHABLE: an operator reading
|
|
218
|
+
// "could not be spawned" must not be looking at a vendor that simply hung.
|
|
219
|
+
if ("spawnFailed" in outcome)
|
|
220
|
+
return { failure: `agy could not be spawned (is ${bin} installed?)` };
|
|
221
|
+
if (overflowed)
|
|
222
|
+
return { failure: "agy printed more output than the quota reader accepts" };
|
|
223
|
+
if (timedOut)
|
|
224
|
+
return {
|
|
225
|
+
failure: `agy did not answer ${command} within ${AGY_COMMAND_TIMEOUT_MS / 1000}s and was stopped`,
|
|
226
|
+
};
|
|
227
|
+
return { stdout };
|
|
228
|
+
}
|
|
229
|
+
const AGY_COMMAND_TIMEOUT_MS = 30_000;
|
|
230
|
+
/** Spawn the vendor's own `/quota` slash command and parse it tolerantly. */
|
|
231
|
+
async function readAgyQuota(bin, env) {
|
|
232
|
+
const result = await readAgyCommand(bin, "/quota", env);
|
|
233
|
+
if ("failure" in result)
|
|
234
|
+
return { kind: "failed", detail: result.failure };
|
|
235
|
+
return parseAgyQuotaEnvelope(result.stdout);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Tolerant parser for the `/quota` envelope (fixtures/agy-quota-print*.json).
|
|
239
|
+
* DIFFERENT account tiers return DIFFERENT window sets (a lower tier has no
|
|
240
|
+
* 5-hour windows — PLAN §1.2a), so a missing window is normal, never an error.
|
|
241
|
+
* Each of the two vendor GROUPS ("Gemini Models", "Claude and GPT models")
|
|
242
|
+
* becomes constraints tagged with its group's model slugs, so a spent Claude
|
|
243
|
+
* window can never block Gemini routing (INV-136 model scope; roast E2/grok).
|
|
244
|
+
*/
|
|
245
|
+
export function parseAgyQuotaEnvelope(raw) {
|
|
246
|
+
let parsed;
|
|
247
|
+
try {
|
|
248
|
+
parsed = JSON.parse(raw.trim() || "{}");
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
return { kind: "failed", detail: "agy quota output was not valid JSON" };
|
|
252
|
+
}
|
|
253
|
+
if (parsed?.status === "ERROR" || (typeof parsed?.error === "string" && parsed.error)) {
|
|
254
|
+
const detail = String(parsed.error ?? "authentication required");
|
|
255
|
+
return /auth|login|credential|token/i.test(detail)
|
|
256
|
+
? { kind: "auth_revoked", detail: redactSecrets(detail).slice(0, 300) }
|
|
257
|
+
: { kind: "failed", detail: redactSecrets(detail).slice(0, 300) };
|
|
258
|
+
}
|
|
259
|
+
const groups = parsed?.command?.data?.groups;
|
|
260
|
+
if (!Array.isArray(groups))
|
|
261
|
+
return { kind: "failed", detail: "agy quota envelope had no groups" };
|
|
262
|
+
const constraints = [];
|
|
263
|
+
for (const group of groups) {
|
|
264
|
+
const models = modelsForGroup(String(group?.name ?? ""));
|
|
265
|
+
for (const bucket of Array.isArray(group?.buckets) ? group.buckets : []) {
|
|
266
|
+
const remaining = typeof bucket?.remaining_fraction === "number" ? bucket.remaining_fraction : null;
|
|
267
|
+
const usedRatio = remaining === null ? null : Math.min(1, Math.max(0, 1 - remaining));
|
|
268
|
+
const window = String(bucket?.window ?? "");
|
|
269
|
+
const groupName = String(group?.name ?? "agy");
|
|
270
|
+
const candidate = {
|
|
271
|
+
// `??` alone is not enough: the vendor's blank string is not nullish,
|
|
272
|
+
// and a blank id/label fails the schema's min(1) (review Ф2 #3).
|
|
273
|
+
id: nonBlank(bucket?.id) ?? `${groupName}-${window || "window"}`,
|
|
274
|
+
label: nonBlank(bucket?.name) ?? nonBlank(window) ?? "Requests",
|
|
275
|
+
applies_to_models: models,
|
|
276
|
+
// Which window governs a run that NAMES NO MODEL is stamped by
|
|
277
|
+
// scopeUnspecifiedModel from the profile's actually selected model —
|
|
278
|
+
// one owner, so the parser never guesses it.
|
|
279
|
+
used_ratio: usedRatio,
|
|
280
|
+
// Own-property lookup only: a `window` of `__proto__`/`toString`
|
|
281
|
+
// otherwise resolves to an inherited value, not a number.
|
|
282
|
+
window_seconds: Object.hasOwn(WINDOW_SECONDS, window) ? WINDOW_SECONDS[window] : null,
|
|
283
|
+
resets_at: isoOrNull(bucket?.reset_time),
|
|
284
|
+
cooldown_until: null,
|
|
285
|
+
};
|
|
286
|
+
// One unparseable window must never cost the account its whole batch:
|
|
287
|
+
// the daemon drops the ENTIRE agy result — snapshots and absences — when
|
|
288
|
+
// a single constraint fails schema validation downstream.
|
|
289
|
+
const checked = QuotaConstraintSchema.safeParse(candidate);
|
|
290
|
+
if (checked.success)
|
|
291
|
+
constraints.push(checked.data);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
if (constraints.length === 0)
|
|
295
|
+
return { kind: "failed", detail: "agy quota envelope carried no windows" };
|
|
296
|
+
return { kind: "constraints", constraints, planLabel: null };
|
|
297
|
+
}
|
|
298
|
+
/** A vendor string that is neither missing nor blank. */
|
|
299
|
+
function nonBlank(value) {
|
|
300
|
+
if (typeof value === "string" && value.trim())
|
|
301
|
+
return value;
|
|
302
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
303
|
+
return String(value);
|
|
304
|
+
return undefined;
|
|
305
|
+
}
|
|
306
|
+
/** The vendor's reset stamp only when it really is a date; a garbage string
|
|
307
|
+
* would otherwise fail the schema's datetime check and drop the batch. */
|
|
308
|
+
function isoOrNull(value) {
|
|
309
|
+
if (typeof value !== "string" || !value.trim())
|
|
310
|
+
return null;
|
|
311
|
+
const parsed = Date.parse(value);
|
|
312
|
+
return Number.isFinite(parsed) ? new Date(parsed).toISOString() : null;
|
|
313
|
+
}
|
|
314
|
+
const MAX_QUOTA_STDOUT = 256 * 1024;
|
|
315
|
+
const WINDOW_SECONDS = {
|
|
316
|
+
"5h": 5 * 60 * 60,
|
|
317
|
+
weekly: 7 * 24 * 60 * 60,
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* The vendor groups map to disjoint model families. Gemini models carry the
|
|
321
|
+
* Gemini window; Claude/GPT-OSS the other. Any slug not matched stays
|
|
322
|
+
* vendor-wide (null) so a future group cannot silently escape scoping.
|
|
323
|
+
*/
|
|
324
|
+
const geminiModels = [...AGY_GEMINI_MODELS];
|
|
325
|
+
const thirdPartyModels = [...AGY_THIRD_PARTY_MODELS];
|
|
326
|
+
function modelsForGroup(groupName) {
|
|
327
|
+
const n = groupName.toLowerCase();
|
|
328
|
+
if (n.includes("gemini"))
|
|
329
|
+
return geminiModels;
|
|
330
|
+
if (n.includes("claude") || n.includes("gpt"))
|
|
331
|
+
return thirdPartyModels;
|
|
332
|
+
return null;
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=agy-quota-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agy-quota-source.js","sourceRoot":"","sources":["../src/agy-quota-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `claudexor auth login` signs in the DEFAULT account, so a harness with no
|
|
3
|
+
* default credential store never belongs here: its accounts are all named
|
|
4
|
+
* profiles and `claudexor profiles login <harness> <id>` is the working verb.
|
|
5
|
+
* Deriving both the gate and the usage text from one place keeps the CLI from
|
|
6
|
+
* offering a command the daemon can only refuse.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isKnownAuthLoginHarness(harness: string): boolean;
|
|
9
|
+
/** The harnesses `auth login` accepts, for its own usage strings. */
|
|
10
|
+
export declare function authLoginHarnessList(): string;
|
|
11
|
+
//# sourceMappingURL=auth-login-harnesses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-login-harnesses.d.ts","sourceRoot":"","sources":["../src/auth-login-harnesses.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ControlHarnessSetupHarness, harnessHasDefaultCredentialStore } from "@claudexor/schema";
|
|
2
|
+
/**
|
|
3
|
+
* `claudexor auth login` signs in the DEFAULT account, so a harness with no
|
|
4
|
+
* default credential store never belongs here: its accounts are all named
|
|
5
|
+
* profiles and `claudexor profiles login <harness> <id>` is the working verb.
|
|
6
|
+
* Deriving both the gate and the usage text from one place keeps the CLI from
|
|
7
|
+
* offering a command the daemon can only refuse.
|
|
8
|
+
*/
|
|
9
|
+
export function isKnownAuthLoginHarness(harness) {
|
|
10
|
+
return (ControlHarnessSetupHarness.safeParse(harness).success &&
|
|
11
|
+
harnessHasDefaultCredentialStore(harness));
|
|
12
|
+
}
|
|
13
|
+
/** The harnesses `auth login` accepts, for its own usage strings. */
|
|
14
|
+
export function authLoginHarnessList() {
|
|
15
|
+
return ControlHarnessSetupHarness.options.filter(harnessHasDefaultCredentialStore).join("|");
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=auth-login-harnesses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-login-harnesses.js","sourceRoot":"","sources":["../src/auth-login-harnesses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,OAAO,CACL,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO;QACrD,gCAAgC,CAAC,OAAO,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,oBAAoB;IAClC,OAAO,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/command-registry.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HARNESS_COMMAND_SPECS } from "./harness-command-specs.js";
|
|
1
2
|
import { REMOTE_COMMAND_SPECS } from "./remote-command-specs.js";
|
|
2
3
|
import { RETRY_COMMAND_SPECS } from "./retry-command-specs.js";
|
|
3
4
|
import { OPS_COMMAND_SPECS_AFTER_REMOTE, OPS_COMMAND_SPECS_BEFORE_REMOTE, } from "./ops-command-specs.js";
|
|
@@ -181,19 +182,7 @@ export const CLI_COMMANDS = [
|
|
|
181
182
|
mutability: "ops",
|
|
182
183
|
stability: "stable",
|
|
183
184
|
},
|
|
184
|
-
|
|
185
|
-
id: "harness",
|
|
186
|
-
positionalPatterns: [
|
|
187
|
-
{ prefix: ["list"], min: 1, max: 1 },
|
|
188
|
-
{ prefix: ["install"], min: 2, max: 2 },
|
|
189
|
-
],
|
|
190
|
-
usageArgs: "list [--all] | install <claude|codex|cursor|opencode> [--dry-run] [--yes]",
|
|
191
|
-
summary: "List harnesses, or install one pinned vendor CLI after disclosure",
|
|
192
|
-
flags: ["all", "dry-run", "yes", "json"],
|
|
193
|
-
subcommandFlags: { list: ["all"], install: ["dry-run", "yes"] },
|
|
194
|
-
mutability: "ops",
|
|
195
|
-
stability: "stable",
|
|
196
|
-
},
|
|
185
|
+
...HARNESS_COMMAND_SPECS,
|
|
197
186
|
{
|
|
198
187
|
id: "models",
|
|
199
188
|
positionalPatterns: [{ min: 0, max: 0 }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,SAAS,EACT,wBAAwB,EACxB,SAAS,EACT,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,GAGZ,MAAM,oBAAoB,CAAC;AAiC5B,MAAM,CAAC,MAAM,YAAY,GAA8B;IACrD;QACE,EAAE,EAAE,MAAM;QACV,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,qDAAqD;QAC9D,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,0BAA0B;QACrC,OAAO,EAAE,qCAAqC;QAC9C,KAAK,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;QACjC,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,SAAS;QACb,kBAAkB,EAAE;YAClB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YAClB,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YACpC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YACxC,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YACtC,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YACtC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;SACxC;QACD,SAAS,EAAE,iFAAiF;QAC5F,OAAO,EAAE,wCAAwC;QACjD,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,KAAK;QACT,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3C,SAAS,EAAE,qBAAqB;QAChC,OAAO,EACL,yFAAyF;QAC3F,KAAK,EAAE,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC;QACjC,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;QACnB,mBAAmB,EAAE,qBAAqB;KAC3C;IACD;QACE,EAAE,EAAE,OAAO;QACX,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3C,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,mBAAmB,EAAE,uBAAuB;KAC7C;IACD;QACE,EAAE,EAAE,SAAS;QACb,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3C,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,oDAAoD;QAC7D,KAAK,EAAE,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACnC,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,mBAAmB,EAAE,+BAA+B;KACrD;IACD;QACE,EAAE,EAAE,MAAM;QACV,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3C,SAAS,EAAE,mCAAmC;QAC9C,OAAO,EAAE,kFAAkF;QAC3F,KAAK,EAAE,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAClC,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;QACnB,mBAAmB,EAAE,sBAAsB;KAC5C;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3C,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,sCAAsC;QAC/C,KAAK,EAAE,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACnC,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,kEAAkE;QAC7E,OAAO,EAAE,yDAAyD;QAClE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,CAAC;QACzF,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,SAAS;QACb,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,sCAAsC;QAC/C,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,IAAI;KACf;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,qEAAqE;QAC9E,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,mBAAmB;IACtB;QACE,EAAE,EAAE,OAAO;QACX,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;QAClC,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,IAAI;KACf;IACD;QACE,EAAE,EAAE,UAAU;QACd,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,yBAAyB;QACpC,OAAO,EACL,2HAA2H;QAC7H,KAAK,EAAE;YACL,aAAa;YACb,UAAU;YACV,QAAQ;YACR,oBAAoB;YACpB,OAAO;YACP,YAAY;YACZ,UAAU;YACV,MAAM;SACP;QACD,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,+BAA+B;IAClC,GAAG,oBAAoB;IACvB,GAAG,8BAA8B;IACjC;QACE,EAAE,EAAE,KAAK;QACT,kBAAkB,EAAE;YAClB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YACrC,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;SAC3C;QACD,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,2CAA2C;QACpD,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,KAAK;QACT,kBAAkB,EAAE;YAClB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YACrC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;SAChE;QACD,SAAS,EAAE,0BAA0B;QACrC,OAAO,EAAE,yEAAyE;QAClF,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,cAAc;KAC1B;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,mDAAmD;QAC9D,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;QACtD,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,SAAS;QACb,kBAAkB,EAAE;YAClB,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YACpC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;SACxC;QACD,SAAS,EAAE,2EAA2E;QACtF,OAAO,EAAE,mEAAmE;QAC5E,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;QACxC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;QAC/D,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,4DAA4D;QACvE,OAAO,EACL,4IAA4I;QAC9I,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;QAC1C,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,sFAAsF;QAC/F,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,OAAO;QACX,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,uDAAuD;QAChE,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,MAAM;QACV,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAIpB;IACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACpE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sCAAsC,EAAE;IACpF,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mDAAmD,EAAE;IAC9E,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC7D;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,2DAA2D;KAClE;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,qEAAqE;KAC5E;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE;IACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;CAChC,CAAC;AAEF,MAAM,UAAU,oBAAoB;IAClC,MAAM,IAAI,GAAG,CAAC,CAAgB,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;SACrD,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAA6B,CAAC,CAAC;AACjD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,UAAU,UAAU,CAAC,GAAmB;IAC5C,MAAM,IAAI,GACR,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5F,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY,EAAE,MAAM,GAAG,YAAY;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,KAAK,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,0DAA0D,OAAO,GAAG,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QACjC,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,8FAA8F,CAC/F,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,yDAAyD,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC5F,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC5F,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAiCD,uDAAuD;AACvD,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO;QACP,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YACpB,mBAAmB,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC1D,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;gBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;SAC9B,CAAC,CAAC;QACH,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC/B,WAAW,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACpE,CAAC,CAAC;QACH,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,WAAW,EAAE,CAAC,CAAC,IAAI;SACpB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const CONFIG_DIR_LOGIN_HARNESSES: readonly ["claude", "codex", "cursor", "agy"];
|
|
2
|
+
export type ConfigDirLoginHarness = (typeof CONFIG_DIR_LOGIN_HARNESSES)[number];
|
|
3
|
+
export declare function isConfigDirLoginHarness(value: string): value is ConfigDirLoginHarness;
|
|
4
|
+
/** Human list for error messages ("claude, codex, cursor, agy"). */
|
|
5
|
+
export declare function configDirLoginHarnessList(): string;
|
|
6
|
+
export declare function canonicalProfileLoginDir(harness: ConfigDirLoginHarness, locator: string): string;
|
|
7
|
+
//# sourceMappingURL=config-dir-login-harnesses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-dir-login-harnesses.d.ts","sourceRoot":"","sources":["../src/config-dir-login-harnesses.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,0BAA0B,YAAI,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,qBAAqB,CAErF;AAED,oEAAoE;AACpE,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAiBD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhG"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE owner for the "this harness supports isolated config-dir/HOME login
|
|
3
|
+
* profiles" fact (INV-122; roast A4, bounded derivation). Its three consumer
|
|
4
|
+
* sites — profile registration (`profile-registration.ts`), the CLI
|
|
5
|
+
* profile-login gate and that gate's canonical login-dir resolution
|
|
6
|
+
* (`credential-commands.ts`) — all read THIS module instead of each
|
|
7
|
+
* hand-maintaining a copy. Membership means: the vendor's native subscription
|
|
8
|
+
* login can be relocated into a Claudexor-owned profile dir
|
|
9
|
+
* (`CLAUDE_CONFIG_DIR` / `CODEX_HOME` / the cursor and agy profile HOMEs).
|
|
10
|
+
*
|
|
11
|
+
* NOT a consumer, deliberately: the profile-deletion 409 fence
|
|
12
|
+
* (`setup-job-support.ts` `activeProfileLoginJob`) asks a different question —
|
|
13
|
+
* "does this harness have daemon-managed setup jobs at all" — and derives from
|
|
14
|
+
* `ControlHarnessSetupHarness.options` — the same members today, but a
|
|
15
|
+
* different question, and nothing keeps the two lists equal.
|
|
16
|
+
*/
|
|
17
|
+
import { canonicalAgyProfileHome } from "@claudexor/harness-agy";
|
|
18
|
+
import { canonicalProfileConfigDir } from "@claudexor/harness-claude";
|
|
19
|
+
import { canonicalCodexProfileHome } from "@claudexor/harness-codex";
|
|
20
|
+
import { canonicalCursorProfileHome } from "@claudexor/harness-cursor";
|
|
21
|
+
export const CONFIG_DIR_LOGIN_HARNESSES = ["claude", "codex", "cursor", "agy"];
|
|
22
|
+
export function isConfigDirLoginHarness(value) {
|
|
23
|
+
return CONFIG_DIR_LOGIN_HARNESSES.includes(value);
|
|
24
|
+
}
|
|
25
|
+
/** Human list for error messages ("claude, codex, cursor, agy"). */
|
|
26
|
+
export function configDirLoginHarnessList() {
|
|
27
|
+
return CONFIG_DIR_LOGIN_HARNESSES.join(", ");
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Each member's own canonical login-dir resolver — the SAME one its harness
|
|
31
|
+
* package uses for runs and doctor probes, so a login can never address a
|
|
32
|
+
* different directory than the verification that follows it. A hand-written
|
|
33
|
+
* `claude ? … : agy ? … : cursor` ladder at a call site is exactly the
|
|
34
|
+
* fall-through this module exists to prevent: a new member silently inherits
|
|
35
|
+
* the last branch's store.
|
|
36
|
+
*/
|
|
37
|
+
const CANONICAL_PROFILE_LOGIN_DIR = {
|
|
38
|
+
claude: canonicalProfileConfigDir,
|
|
39
|
+
codex: canonicalCodexProfileHome,
|
|
40
|
+
cursor: canonicalCursorProfileHome,
|
|
41
|
+
agy: canonicalAgyProfileHome,
|
|
42
|
+
};
|
|
43
|
+
export function canonicalProfileLoginDir(harness, locator) {
|
|
44
|
+
return CANONICAL_PROFILE_LOGIN_DIR[harness](locator);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=config-dir-login-harnesses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-dir-login-harnesses.js","sourceRoot":"","sources":["../src/config-dir-login-harnesses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAGxF,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAQ,0BAAgD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,yBAAyB;IACvC,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,2BAA2B,GAA+D;IAC9F,MAAM,EAAE,yBAAyB;IACjC,KAAK,EAAE,yBAAyB;IAChC,MAAM,EAAE,0BAA0B;IAClC,GAAG,EAAE,uBAAuB;CAC7B,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,OAA8B,EAAE,OAAe;IACtF,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
|