@claudexor/cli 3.6.0 → 3.8.1

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.
Files changed (141) hide show
  1. package/dist/accounts-projection.d.ts +4 -2
  2. package/dist/accounts-projection.d.ts.map +1 -1
  3. package/dist/accounts-projection.js +49 -2
  4. package/dist/accounts-projection.js.map +1 -1
  5. package/dist/accounts-services.d.ts +7 -1
  6. package/dist/accounts-services.d.ts.map +1 -1
  7. package/dist/accounts-services.js +7 -2
  8. package/dist/accounts-services.js.map +1 -1
  9. package/dist/agy-quota-source.d.ts +2 -0
  10. package/dist/agy-quota-source.d.ts.map +1 -1
  11. package/dist/agy-quota-source.js +83 -108
  12. package/dist/agy-quota-source.js.map +1 -1
  13. package/dist/capabilities.d.ts.map +1 -1
  14. package/dist/capabilities.js +6 -1
  15. package/dist/capabilities.js.map +1 -1
  16. package/dist/claudexord-entry.d.ts +7 -2
  17. package/dist/claudexord-entry.d.ts.map +1 -1
  18. package/dist/claudexord-entry.js +33 -11
  19. package/dist/claudexord-entry.js.map +1 -1
  20. package/dist/claudexord.d.ts.map +1 -1
  21. package/dist/claudexord.js +9 -12
  22. package/dist/claudexord.js.map +1 -1
  23. package/dist/cli-io.d.ts +1 -0
  24. package/dist/cli-io.d.ts.map +1 -1
  25. package/dist/cli-io.js +14 -0
  26. package/dist/cli-io.js.map +1 -1
  27. package/dist/cli.js +12 -18
  28. package/dist/cli.js.map +1 -1
  29. package/dist/command-flags.d.ts.map +1 -1
  30. package/dist/command-flags.js +3 -2
  31. package/dist/command-flags.js.map +1 -1
  32. package/dist/control-services.d.ts +824 -806
  33. package/dist/control-services.d.ts.map +1 -1
  34. package/dist/control-services.js +4 -16
  35. package/dist/control-services.js.map +1 -1
  36. package/dist/credential-commands.d.ts +17 -0
  37. package/dist/credential-commands.d.ts.map +1 -1
  38. package/dist/credential-commands.js +62 -14
  39. package/dist/credential-commands.js.map +1 -1
  40. package/dist/credential-profile-mutations.d.ts +9 -0
  41. package/dist/credential-profile-mutations.d.ts.map +1 -1
  42. package/dist/credential-profile-mutations.js +63 -31
  43. package/dist/credential-profile-mutations.js.map +1 -1
  44. package/dist/credential-status-invalidation.d.ts +2 -0
  45. package/dist/credential-status-invalidation.d.ts.map +1 -1
  46. package/dist/credential-status-invalidation.js +10 -0
  47. package/dist/credential-status-invalidation.js.map +1 -1
  48. package/dist/delegation-belt-descriptor.d.ts +2 -1
  49. package/dist/delegation-belt-descriptor.d.ts.map +1 -1
  50. package/dist/delegation-belt-descriptor.js +2 -1
  51. package/dist/delegation-belt-descriptor.js.map +1 -1
  52. package/dist/harness-command-specs.d.ts.map +1 -1
  53. package/dist/harness-command-specs.js +4 -4
  54. package/dist/harness-command-specs.js.map +1 -1
  55. package/dist/harness-command.d.ts +5 -3
  56. package/dist/harness-command.d.ts.map +1 -1
  57. package/dist/harness-command.js +5 -3
  58. package/dist/harness-command.js.map +1 -1
  59. package/dist/harness-install-lease.d.ts +11 -0
  60. package/dist/harness-install-lease.d.ts.map +1 -0
  61. package/dist/harness-install-lease.js +98 -0
  62. package/dist/harness-install-lease.js.map +1 -0
  63. package/dist/harness-install-proof.d.ts +36 -0
  64. package/dist/harness-install-proof.d.ts.map +1 -0
  65. package/dist/harness-install-proof.js +148 -0
  66. package/dist/harness-install-proof.js.map +1 -0
  67. package/dist/harness-install-recipes.d.ts +80 -0
  68. package/dist/harness-install-recipes.d.ts.map +1 -0
  69. package/dist/harness-install-recipes.js +130 -0
  70. package/dist/harness-install-recipes.js.map +1 -0
  71. package/dist/harness-installer.d.ts +45 -46
  72. package/dist/harness-installer.d.ts.map +1 -1
  73. package/dist/harness-installer.js +248 -156
  74. package/dist/harness-installer.js.map +1 -1
  75. package/dist/mcp-run-projections.d.ts +1 -1
  76. package/dist/native-login.d.ts +7 -0
  77. package/dist/native-login.d.ts.map +1 -1
  78. package/dist/native-login.js +29 -13
  79. package/dist/native-login.js.map +1 -1
  80. package/dist/profile-registration.d.ts +2 -0
  81. package/dist/profile-registration.d.ts.map +1 -1
  82. package/dist/profile-registration.js +49 -6
  83. package/dist/profile-registration.js.map +1 -1
  84. package/dist/quota-services.d.ts +2 -2
  85. package/dist/remote-command.d.ts +0 -2
  86. package/dist/remote-command.d.ts.map +1 -1
  87. package/dist/remote-command.js +3 -74
  88. package/dist/remote-command.js.map +1 -1
  89. package/dist/request-preflight.d.ts +1 -1
  90. package/dist/request-preflight.d.ts.map +1 -1
  91. package/dist/request-preflight.js +35 -11
  92. package/dist/request-preflight.js.map +1 -1
  93. package/dist/retry-command.d.ts.map +1 -1
  94. package/dist/retry-command.js +4 -0
  95. package/dist/retry-command.js.map +1 -1
  96. package/dist/setup-attach-command.d.ts +30 -0
  97. package/dist/setup-attach-command.d.ts.map +1 -0
  98. package/dist/setup-attach-command.js +118 -0
  99. package/dist/setup-attach-command.js.map +1 -0
  100. package/dist/setup-job-control-services.d.ts +2064 -0
  101. package/dist/setup-job-control-services.d.ts.map +1 -0
  102. package/dist/setup-job-control-services.js +33 -0
  103. package/dist/setup-job-control-services.js.map +1 -0
  104. package/dist/setup-job-store.d.ts +2 -2
  105. package/dist/setup-job-support.d.ts +23 -13
  106. package/dist/setup-job-support.d.ts.map +1 -1
  107. package/dist/setup-job-support.js +55 -13
  108. package/dist/setup-job-support.js.map +1 -1
  109. package/dist/setup-jobs.d.ts +4 -4
  110. package/dist/setup-jobs.d.ts.map +1 -1
  111. package/dist/setup-jobs.js +50 -47
  112. package/dist/setup-jobs.js.map +1 -1
  113. package/dist/setup-login-capability.d.ts +37 -0
  114. package/dist/setup-login-capability.d.ts.map +1 -0
  115. package/dist/setup-login-capability.js +96 -0
  116. package/dist/setup-login-capability.js.map +1 -0
  117. package/dist/setup-login-io.d.ts +4 -1
  118. package/dist/setup-login-io.d.ts.map +1 -1
  119. package/dist/setup-login-io.js +22 -3
  120. package/dist/setup-login-io.js.map +1 -1
  121. package/dist/setup-login-pty.d.ts +64 -22
  122. package/dist/setup-login-pty.d.ts.map +1 -1
  123. package/dist/setup-login-pty.js +289 -48
  124. package/dist/setup-login-pty.js.map +1 -1
  125. package/dist/setup-login-runner-support.d.ts +12 -0
  126. package/dist/setup-login-runner-support.d.ts.map +1 -0
  127. package/dist/setup-login-runner-support.js +65 -0
  128. package/dist/setup-login-runner-support.js.map +1 -0
  129. package/dist/setup-login-runner.d.ts +3 -0
  130. package/dist/setup-login-runner.d.ts.map +1 -1
  131. package/dist/setup-login-runner.js +133 -116
  132. package/dist/setup-login-runner.js.map +1 -1
  133. package/dist/setup-runner-outcome.d.ts +10 -0
  134. package/dist/setup-runner-outcome.d.ts.map +1 -0
  135. package/dist/setup-runner-outcome.js +49 -0
  136. package/dist/setup-runner-outcome.js.map +1 -0
  137. package/dist/thread-execution-workspace.d.ts +11 -6
  138. package/dist/thread-execution-workspace.d.ts.map +1 -1
  139. package/dist/thread-execution-workspace.js +52 -6
  140. package/dist/thread-execution-workspace.js.map +1 -1
  141. package/package.json +24 -24
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import type { AccountIdentity, ControlHarnessAccountPool, CredentialProfile, CredentialProfileStatus, QuotaSnapshot } from "@claudexor/schema";
12
12
  import type { HarnessStatus } from "@claudexor/gateway";
13
+ import { credentialProfilePolicyState } from "@claudexor/core";
13
14
  /**
14
15
  * Non-secret {email, plan} of a config_dir_login PROFILE, read daemon-side from
15
16
  * the profile's OWN isolation-locator store (INV-067) — never the ordinary
@@ -22,14 +23,15 @@ export declare function profileAccountIdentity(profile: CredentialProfile): Acco
22
23
  * live probe the accounts response and the profile mutation receipts share.
23
24
  * Adapters without profile support report an honest unknown.
24
25
  */
25
- export declare function profileDoctorStatus(profile: CredentialProfile): Promise<CredentialProfileStatus>;
26
+ export declare function profileDoctorStatus(profile: CredentialProfile, platform?: NodeJS.Platform): Promise<CredentialProfileStatus>;
27
+ export declare function disabledProfileSharesOsUserCredential(state: ReturnType<typeof credentialProfilePolicyState>): boolean;
26
28
  /**
27
29
  * Accounts projection for one named profile. A rich adapter owns readiness and
28
30
  * identity in ONE call; adapters without it keep the existing doctor + owned-
29
31
  * store identity path. A malformed rich receipt loses identity and fails
30
32
  * closed through the shared readiness wrapper.
31
33
  */
32
- export declare function profileAccountProjection(profile: CredentialProfile): Promise<{
34
+ export declare function profileAccountProjection(profile: CredentialProfile, registry?: readonly CredentialProfile[], platform?: NodeJS.Platform): Promise<{
33
35
  profile: CredentialProfile;
34
36
  status: CredentialProfileStatus;
35
37
  identity: AccountIdentity | null;
@@ -1 +1 @@
1
- {"version":3,"file":"accounts-projection.d.ts","sourceRoot":"","sources":["../src/accounts-projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAY3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAKzF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,uBAAuB,CAAC,CAGlC;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAClF,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC,CAAC,CAyBD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,SAAS,aAAa,EAAO,EAC7C,QAAQ,CAAC,EAAE;IACT,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,SAAS;QAAE,OAAO,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,uBAAuB,CAAA;KAAE,EAAE,CAAC;CACvF,GACA,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAgFtC"}
1
+ {"version":3,"file":"accounts-projection.d.ts","sourceRoot":"","sources":["../src/accounts-projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAY3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAK/D;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAKzF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,uBAAuB,CAAC,CAOlC;AAiBD,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,GACrD,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,GAAE,SAAS,iBAAiB,EAAc,EAClD,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC;IACT,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC,CAAC,CA2CD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,SAAS,aAAa,EAAO,EAC7C,QAAQ,CAAC,EAAE;IACT,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,SAAS;QAAE,OAAO,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,uBAAuB,CAAA;KAAE,EAAE,CAAC;CACvF,GACA,OAAO,CAAC,yBAAyB,EAAE,CAAC,CA6FtC"}
@@ -1,6 +1,7 @@
1
1
  import { AccountIdentity as AccountIdentitySchema, estimateEffectiveAuthRoute, } from "@claudexor/schema";
2
2
  import { loadConfig } from "@claudexor/config";
3
3
  import { effectiveAuthPreference, probeCredentialProfileStatus, profileStatusAdmits, selectFromAccountPool, } from "@claudexor/orchestrator";
4
+ import { credentialProfilePolicyState } from "@claudexor/core";
4
5
  import { codexAccountIdentity } from "@claudexor/harness-codex";
5
6
  import { claudeAccountIdentity } from "@claudexor/harness-claude";
6
7
  import { buildGateway, buildRegistry } from "./registry.js";
@@ -24,18 +25,51 @@ export function profileAccountIdentity(profile) {
24
25
  * live probe the accounts response and the profile mutation receipts share.
25
26
  * Adapters without profile support report an honest unknown.
26
27
  */
27
- export async function profileDoctorStatus(profile) {
28
+ export async function profileDoctorStatus(profile, platform = process.platform) {
28
29
  const adapter = buildRegistry().get(profile.harness_id);
30
+ const policy = credentialProfilePolicyState({ adapter, registry: [profile], platform });
31
+ if (!profile.enabled && disabledProfileSharesOsUserCredential(policy)) {
32
+ return inactiveProfileStatus(profile, "This profile is disabled and was not probed.");
33
+ }
29
34
  return probeCredentialProfileStatus(profile, adapter?.probeCredentialProfile?.bind(adapter));
30
35
  }
36
+ function inactiveProfileStatus(profile, detail) {
37
+ return {
38
+ profile_id: profile.profile_id,
39
+ harness_id: profile.harness_id,
40
+ availability: "unavailable",
41
+ verification: "not_run",
42
+ verification_source: "local_store",
43
+ detail,
44
+ last_verified_at: null,
45
+ };
46
+ }
47
+ export function disabledProfileSharesOsUserCredential(state) {
48
+ return state.policy.identity_scope === "os_user";
49
+ }
31
50
  /**
32
51
  * Accounts projection for one named profile. A rich adapter owns readiness and
33
52
  * identity in ONE call; adapters without it keep the existing doctor + owned-
34
53
  * store identity path. A malformed rich receipt loses identity and fails
35
54
  * closed through the shared readiness wrapper.
36
55
  */
37
- export async function profileAccountProjection(profile) {
56
+ export async function profileAccountProjection(profile, registry = [profile], platform = process.platform) {
38
57
  const adapter = buildRegistry().get(profile.harness_id);
58
+ const cardinality = credentialProfilePolicyState({ adapter, registry, platform });
59
+ if (!profile.enabled && disabledProfileSharesOsUserCredential(cardinality)) {
60
+ return {
61
+ profile,
62
+ status: inactiveProfileStatus(profile, "This profile is disabled and was not probed."),
63
+ identity: profileAccountIdentity(profile),
64
+ };
65
+ }
66
+ if (profile.enabled && cardinality.ambiguous) {
67
+ return {
68
+ profile,
69
+ status: inactiveProfileStatus(profile, `${profile.harness_id} has ${cardinality.enabledProfileCount} enabled bindings on ${cardinality.platform}; disable extra profiles before this OS-user-scoped credential can be selected or probed.`),
70
+ identity: profileAccountIdentity(profile),
71
+ };
72
+ }
39
73
  if (!adapter?.probeCredentialAccount) {
40
74
  return {
41
75
  profile,
@@ -94,6 +128,19 @@ export async function accountPoolsProjection(repoRoot, quotaSnapshots = [], snap
94
128
  },
95
129
  };
96
130
  }
131
+ const cardinality = credentialProfilePolicyState({
132
+ adapter: buildRegistry({ includeFakes: false }).get(harnessId),
133
+ registry: cfg.credential_profiles,
134
+ });
135
+ if (cardinality.ambiguous) {
136
+ return {
137
+ harness_id: harnessId,
138
+ next_up: {
139
+ kind: "none",
140
+ reason: `${harnessId} has an ambiguous enabled profile set; disable extra profiles before routing`,
141
+ },
142
+ };
143
+ }
97
144
  // next_up must never advertise a row the runtime would not select: a
98
145
  // NON-EMPTY rotation_eligible list restricts the runtime's candidates
99
146
  // (staticRotationCandidates), so the projection applies the same filter.
@@ -1 +1 @@
1
- {"version":3,"file":"accounts-projection.js","sourceRoot":"","sources":["../src/accounts-projection.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,eAAe,IAAI,qBAAqB,EACxC,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA0B;IAC/D,IAAI,CAAC,OAAO,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3F,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA0B;IAE1B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAA0B;IAKvE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC;QACrC,OAAO;YACL,OAAO;YACP,MAAM,EAAE,MAAM,4BAA4B,CACxC,OAAO,EACP,OAAO,EAAE,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,CAC/C;YACD,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC;SAC1C,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAA2B,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QAC7E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,sBAAuB,CAAC,SAAS,CAAC,CAAC;QACjE,IACE,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;YAClD,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,cAAc,GAA6B,EAAE,EAC7C,QAGC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,UAAU,GAAG,CAAC,GAAG,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,IAAI,QAAQ,GAA6B,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAC9D,EAAE,GAAG,EAAE,QAAQ,EAAE,EACjB,UAAU,CACX,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YAAE,SAAS;QAC1F,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAC/E,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAA6B,EAAE;QAC7D,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,8CAA8C,SAAS,iBAAiB;iBACjF;aACF,CAAC;QACJ,CAAC;QACD,qEAAqE;QACrE,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,gBAAgB,GAAG,CAAC,EAAE,cAAc,EAAE,iBAAiB,IAAI,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAChE,MAAM,aAAa,GACjB,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,KAAK,CAAC;QACZ,MAAM,SAAS,GAAG,qBAAqB,CAAC;YACtC,QAAQ,EAAE,GAAG,CAAC,mBAAmB;YACjC,SAAS;YACT,SAAS,EAAE,cAAc;YACzB,eAAe,EAAE,aAAa;YAC9B,iBAAiB,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,IAAI,GAAG;YAC/D,KAAK,EAAE,CAAC,EAAE,aAAa,IAAI,IAAI;SAChC,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE;aAChF,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,aAAa,GACjB,UAAU,KAAK,SAAS;YACxB,MAAM,KAAK,SAAS;YACpB,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC;QAC1E,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,OAAO;YACL,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,MAAM,EACJ,SAAS,CAAC,OAAO,KAAK,WAAW;oBAC/B,CAAC,CAAC,iDAAiD,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,sGAAsG;oBAC9N,CAAC,CAAC,qGAAqG;aAC5G;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"accounts-projection.js","sourceRoot":"","sources":["../src/accounts-projection.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ export declare function projectHarnessStatuses(statuses: readonly HarnessStatus[
28
28
  remediation: string | null;
29
29
  requiresFullAccess: boolean;
30
30
  };
31
+ setupLogin: {
32
+ mode: "external_terminal" | "in_app";
33
+ } | null;
31
34
  readiness: {
32
35
  id: string;
33
36
  kind: "auth" | "binary" | "model" | "probe" | "smoke";
@@ -104,6 +107,9 @@ export declare function createCredentialProfilesService(quotaRegistry: () => Quo
104
107
  remediation: string | null;
105
108
  requiresFullAccess: boolean;
106
109
  };
110
+ setupLogin: {
111
+ mode: "external_terminal" | "in_app";
112
+ } | null;
107
113
  readiness: {
108
114
  id: string;
109
115
  kind: "auth" | "binary" | "model" | "probe" | "smoke";
@@ -157,7 +163,7 @@ export declare function createCredentialProfilesService(quotaRegistry: () => Quo
157
163
  plan_label: string | null;
158
164
  subject_id: string | null;
159
165
  };
160
- reason: "auth_revoked" | "no_source" | "not_logged_in" | "platform_unsupported" | "refresh_failed" | "transport_unavailable";
166
+ reason: "auth_revoked" | "credential_profile_ambiguous" | "no_source" | "not_logged_in" | "platform_unsupported" | "refresh_failed" | "transport_unavailable";
161
167
  detail: string | null;
162
168
  observed_at: string;
163
169
  }[];
@@ -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;;;;oEAIoE;AACpE,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,aAAa;iCA4BtC;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA1DvC,IAAI,GAAG,UAAU;0BAAY,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+FpE"}
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;AAU3B,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;;;;;;;;;;;;;gBAMpD,IAAI,GAAG,UAAU;kBAAY,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;KA0BpE;AAED;;;;oEAIoE;AACpE,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,aAAa;iCA4BtC;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA7DvC,IAAI,GAAG,UAAU;0BAAY,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkGpE"}
@@ -7,11 +7,13 @@ import { validateModel } from "@claudexor/core";
7
7
  import { withQuotaAvailability } from "@claudexor/schema";
8
8
  import { vendorVerifiedProfileStatus } from "@claudexor/orchestrator";
9
9
  import { accountPoolsProjection, profileAccountProjection } from "./accounts-projection.js";
10
- import { buildGateway, harnessModels } from "./registry.js";
10
+ import { buildGateway, buildRegistry, harnessModels } from "./registry.js";
11
11
  import { delegationCapabilityFor } from "./delegation-capability.js";
12
+ import { effectiveSetupLoginCapability } from "./setup-login-capability.js";
12
13
  const NO_PROJECT_ROOT = noProjectRepoRoot();
13
14
  export async function projectHarnessStatuses(statuses) {
14
15
  const cfg = loadConfig(NO_PROJECT_ROOT);
16
+ const adapters = buildRegistry({ includeFakes: false });
15
17
  return Promise.all(statuses.map(async (status) => {
16
18
  const configured = cfg.global.harnesses[status.id]?.default_model ?? null;
17
19
  let check = null;
@@ -24,6 +26,9 @@ export async function projectHarnessStatuses(statuses) {
24
26
  configuredModel: configured,
25
27
  configuredModelCheck: check,
26
28
  delegation: delegationCapabilityFor(status.manifest),
29
+ setupLogin: await effectiveSetupLoginCapability(status.id, {
30
+ getAdapter: (id) => adapters.get(id),
31
+ }),
27
32
  readiness: normalizeReadiness({
28
33
  checks: status.checks,
29
34
  authSources: status.authSources,
@@ -41,7 +46,7 @@ export async function projectHarnessStatuses(statuses) {
41
46
  export function createCredentialProfilesService(quotaRegistry) {
42
47
  const projectProfiles = () => {
43
48
  const profiles = loadConfig(NO_PROJECT_ROOT).global.credential_profiles;
44
- return Promise.all(profiles.map(profileAccountProjection));
49
+ return Promise.all(profiles.map((profile) => profileAccountProjection(profile, profiles)));
45
50
  };
46
51
  // The plain (non-snapshot) form is the UI's poll target: without a cache it
47
52
  // ran a doctor probe per registered profile plus a full harness sweep
@@ -1 +1 @@
1
- {"version":3,"file":"accounts-services.js","sourceRoot":"","sources":["../src/accounts-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts-services.js","sourceRoot":"","sources":["../src/accounts-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAsB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAE5E,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;AAQ5C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAkC;IAC7E,MAAM,GAAG,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,aAAa,IAAI,IAAI,CAAC;QAC1E,IAAI,KAAK,GAAkE,IAAI,CAAC;QAChF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;YACpE,KAAK,GAAG,aAAa,CACnB,UAAU,EACV,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EACrC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAC5C,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,MAAM;YACT,eAAe,EAAE,UAAU;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpD,UAAU,EAAE,MAAM,6BAA6B,CAAC,MAAM,CAAC,EAAE,EAAE;gBACzD,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;aACrC,CAAC;YACF,SAAS,EAAE,kBAAkB,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,eAAe,EAAE,UAAU;gBAC3B,oBAAoB,EAAE,KAAK;aAC5B,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;oEAIoE;AACpE,MAAM,UAAU,+BAA+B,CAAC,aAAkC;IAChF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACxE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC;IACF,4EAA4E;IAC5E,sEAAsE;IACtE,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACnC,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO;YACL,QAAQ,EAAE,GAAG;YACb,wEAAwE;YACxE,uDAAuD;YACvD,eAAe,EAAE,EAAE;YACnB,YAAY,EAAE,MAAM,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,EAAE;gBAC3E,QAAQ,EAAE,GAAG;aACd,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAgD;QACzF,SAAS,EAAE,mBAAmB;KAC/B,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAA8B,EAAE,EAAE;QAClE,IAAI,KAAK,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpE,eAAe,EAAE;gBACjB,YAAY,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC;oBACzD,GAAG,EAAE,eAAe;oBACpB,KAAK,EAAE,IAAI;iBACZ,CAAC;gBACF,kBAAkB,EAAE;gBACpB,aAAa,EAAE,CAAC,iBAAiB,EAAE;aACpC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACtC,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,mEAAmE;YACnE,wEAAwE;YACxE,yEAAyE;YACzE,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,QAAQ,EAAE,GAAG;gBACb,eAAe,EAAE,EAAE;gBACnB,YAAY,EAAE,MAAM,sBAAsB,CAAC,eAAe,EAAE,QAAQ,CAAC,SAAS,EAAE;oBAC9E,QAAQ,EAAE,GAAG;oBACb,QAAQ;iBACT,CAAC;gBACF,SAAS,EAAE,MAAM,sBAAsB,CAAC,QAAQ,CAAC;gBACjD,GAAG;gBACH,KAAK,EAAE,qBAAqB,CAAC,QAAQ,CAAC;gBACtC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;aAC/C,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;QAChC,YAAY,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY;KACrE,CAAC,CAAC;IACH,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAG7B,OAAY,EACZ,KAAiF;IAEjF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,KAAK;QACR,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;KACzD,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -11,6 +11,8 @@ import type { QuotaConstraint } from "@claudexor/schema";
11
11
  export declare function refreshAgyQuota(options?: {
12
12
  bin?: string;
13
13
  baseEnv?: NodeJS.ProcessEnv;
14
+ platform?: NodeJS.Platform;
15
+ prepareProfileKeychain?: (home: string) => void;
14
16
  }): Promise<QuotaRefreshResult>;
15
17
  type AgyQuotaParse = {
16
18
  kind: "constraints";
@@ -1 +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"}
1
+ {"version":3,"file":"agy-quota-source.d.ts","sourceRoot":"","sources":["../src/agy-quota-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAe5D,OAAO,KAAK,EAAgB,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AAGtF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,GACL,OAAO,CAAC,kBAAkB,CAAC,CA6E7B;AA0ID,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;AA4BvC;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAYhE"}
@@ -1,7 +1,6 @@
1
- import { spawn } from "node:child_process";
2
1
  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";
2
+ import { credentialProfilePolicyState } from "@claudexor/core";
3
+ import { AGY_BIN, AGY_CAPABILITY_PROFILE, AGY_GEMINI_MODELS, AGY_THIRD_PARTY_MODELS, agyProfileRunEnv, canonicalAgyProfileHome, classifyAgyPrintResult, isAgyProfileKeychainUnsafe, prepareAgyProfileKeychain, runAgyPrintCommand, } from "@claudexor/harness-agy";
5
4
  import { QuotaConstraint as QuotaConstraintSchema } from "@claudexor/schema";
6
5
  import { noProjectRepoRoot, redactSecrets } from "@claudexor/util";
7
6
  /**
@@ -15,7 +14,7 @@ import { noProjectRepoRoot, redactSecrets } from "@claudexor/util";
15
14
  export async function refreshAgyQuota(options = {}) {
16
15
  const bin = options.bin ?? AGY_BIN();
17
16
  const snapshots = [];
18
- const universe = agyQuotaCandidates();
17
+ const universe = agyQuotaCandidates(options.platform);
19
18
  const absences = [...universe.absences];
20
19
  // Profiles are read CONCURRENTLY: several accounts is the point of the
21
20
  // feature, the daemon awaits every refresher in one cycle, and each read can
@@ -23,25 +22,38 @@ export async function refreshAgyQuota(options = {}) {
23
22
  // added to claude's and codex's wait too.
24
23
  const results = await Promise.all(universe.candidates.map(async (candidate) => {
25
24
  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
25
  try {
36
26
  const env = agyProfileRunEnv(home, options.baseEnv ?? process.env);
37
- const parsed = await readAgyQuota(bin, env);
27
+ const prepare = options.prepareProfileKeychain ??
28
+ ((profileHome) => prepareAgyProfileKeychain(profileHome, { platform: options.platform }));
29
+ const prepareFailure = () => {
30
+ try {
31
+ prepare(home);
32
+ return null;
33
+ }
34
+ catch (error) {
35
+ if (!isAgyProfileKeychainUnsafe(error)) {
36
+ // A custom operational seam may model a recoverable
37
+ // security-tool miss; path and identity failures remain unsafe.
38
+ return null;
39
+ }
40
+ return agyAbsence(candidate.subjectId, "refresh_failed", redactSecrets(error instanceof Error ? error.message : String(error)).slice(0, 300));
41
+ }
42
+ };
43
+ const beforeQuota = prepareFailure();
44
+ if (beforeQuota)
45
+ return { absence: beforeQuota };
46
+ const parsed = await readAgyQuota(bin, env, options.platform);
38
47
  if (parsed.kind === "auth_revoked")
39
48
  return { absence: agyAbsence(candidate.subjectId, "auth_revoked", parsed.detail) };
40
49
  if (parsed.kind !== "constraints")
41
50
  return { absence: agyAbsence(candidate.subjectId, "refresh_failed", parsed.detail) };
42
51
  // Which window governs a run that names no model depends on the model
43
52
  // this profile is actually set to, which the vendor answers for free.
44
- const selected = await readAgySelectedModel(bin, env);
53
+ const beforeModel = prepareFailure();
54
+ if (beforeModel)
55
+ return { absence: beforeModel };
56
+ const selected = await readAgySelectedModel(bin, env, options.platform);
45
57
  return {
46
58
  snapshot: {
47
59
  subject: {
@@ -77,18 +89,18 @@ export async function refreshAgyQuota(options = {}) {
77
89
  * leaves it null and the caller falls back to the Gemini group, which is what
78
90
  * a fresh profile selects.
79
91
  */
80
- async function readAgySelectedModel(bin, env) {
81
- const result = await readAgyCommand(bin, "/model", env);
82
- if ("failure" in result)
92
+ async function readAgySelectedModel(bin, env, platform) {
93
+ const result = await readAgyCommand(bin, "/model", env, platform);
94
+ if (result.kind !== "success")
83
95
  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 {
96
+ const command = result.envelope["command"];
97
+ if (!command || typeof command !== "object" || Array.isArray(command))
90
98
  return null;
91
- }
99
+ const data = command["data"];
100
+ if (!data || typeof data !== "object" || Array.isArray(data))
101
+ return null;
102
+ const id = data["id"];
103
+ return typeof id === "string" && id ? id : null;
92
104
  }
93
105
  /**
94
106
  * Stamp the ONE group that governs a run naming no model. Every agy window is
@@ -121,12 +133,24 @@ function scopeUnspecifiedModel(constraints, selectedModel) {
121
133
  ? { ...constraint, applies_to_unspecified_model: governs(constraint) }
122
134
  : constraint);
123
135
  }
124
- function agyQuotaCandidates() {
136
+ function agyQuotaCandidates(platform = process.platform) {
125
137
  const global = loadConfig(noProjectRepoRoot()).global;
126
138
  if (global.harnesses.agy?.enabled === false)
127
139
  return { candidates: [], absences: [] };
128
140
  const candidates = [];
129
141
  const absences = [];
142
+ const enabled = global.credential_profiles.filter((profile) => profile.harness_id === "agy" && profile.enabled && profile.credential_kind !== "api_key");
143
+ const cardinality = credentialProfilePolicyState({
144
+ adapter: { id: "agy", capabilityProfile: AGY_CAPABILITY_PROFILE },
145
+ registry: global.credential_profiles,
146
+ platform,
147
+ });
148
+ if (cardinality.ambiguous) {
149
+ return {
150
+ candidates: [],
151
+ absences: enabled.map((profile) => agyAbsence(profile.profile_id, "credential_profile_ambiguous", `agy has ${cardinality.enabledProfileCount} enabled bindings on ${cardinality.platform}; disable extra profiles before quota can select or probe this OS-user credential`)),
152
+ };
153
+ }
130
154
  for (const profile of global.credential_profiles) {
131
155
  if (profile.harness_id !== "agy" || !profile.enabled)
132
156
  continue;
@@ -163,76 +187,21 @@ function agyAbsence(subjectId, reason, detail) {
163
187
  };
164
188
  }
165
189
  /**
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.
190
+ * Shared adapter-owned bounded runner/classifier. No token/keyring precheck:
191
+ * only the vendor envelope proves auth, and every operational failure stays a
192
+ * refresh failure rather than a false logout.
174
193
  */
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 };
194
+ async function readAgyCommand(bin, command, env, platform) {
195
+ return classifyAgyPrintResult(await runAgyPrintCommand(bin, command, env, { platform }));
228
196
  }
229
- const AGY_COMMAND_TIMEOUT_MS = 30_000;
230
197
  /** 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);
198
+ async function readAgyQuota(bin, env, platform) {
199
+ const result = await readAgyCommand(bin, "/quota", env, platform);
200
+ if (result.kind === "unauthenticated")
201
+ return { kind: "auth_revoked", detail: result.detail };
202
+ if (result.kind === "probe_failed")
203
+ return { kind: "failed", detail: result.detail };
204
+ return parseAgyQuotaSuccessEnvelope(result.envelope);
236
205
  }
237
206
  /**
238
207
  * Tolerant parser for the `/quota` envelope (fixtures/agy-quota-print*.json).
@@ -243,20 +212,27 @@ async function readAgyQuota(bin, env) {
243
212
  * window can never block Gemini routing (INV-136 model scope; roast E2/grok).
244
213
  */
245
214
  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;
215
+ const classified = classifyAgyPrintResult({
216
+ kind: "completed",
217
+ code: 0,
218
+ signal: null,
219
+ stdout: raw,
220
+ stderr: "",
221
+ });
222
+ if (classified.kind === "unauthenticated")
223
+ return { kind: "auth_revoked", detail: classified.detail };
224
+ if (classified.kind === "probe_failed")
225
+ return { kind: "failed", detail: classified.detail };
226
+ return parseAgyQuotaSuccessEnvelope(classified.envelope);
227
+ }
228
+ function parseAgyQuotaSuccessEnvelope(parsed) {
229
+ const command = parsed["command"];
230
+ const data = command && typeof command === "object" && !Array.isArray(command)
231
+ ? command["data"]
232
+ : null;
233
+ const groups = data && typeof data === "object" && !Array.isArray(data)
234
+ ? data["groups"]
235
+ : null;
260
236
  if (!Array.isArray(groups))
261
237
  return { kind: "failed", detail: "agy quota envelope had no groups" };
262
238
  const constraints = [];
@@ -311,7 +287,6 @@ function isoOrNull(value) {
311
287
  const parsed = Date.parse(value);
312
288
  return Number.isFinite(parsed) ? new Date(parsed).toISOString() : null;
313
289
  }
314
- const MAX_QUOTA_STDOUT = 256 * 1024;
315
290
  const WINDOW_SECONDS = {
316
291
  "5h": 5 * 60 * 60,
317
292
  weekly: 7 * 24 * 60 * 60,
@@ -1 +1 @@
1
- {"version":3,"file":"agy-quota-source.js","sourceRoot":"","sources":["../src/agy-quota-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agy-quota-source.js","sourceRoot":"","sources":["../src/agy-quota-source.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAUvB,MAAM,mBAAmB,CAAC;AAU3B,8EAA8E;AAC9E,wBAAgB,YAAY,IAAI,SAAS,MAAM,EAAE,CAEhD;AAKD;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,sBAAsB,CAAC,CA+FnF"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAUvB,MAAM,mBAAmB,CAAC;AAW3B,8EAA8E;AAC9E,wBAAgB,YAAY,IAAI,SAAS,MAAM,EAAE,CAEhD;AAKD;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAmGnF"}
@@ -4,9 +4,10 @@ import { validateModel } from "@claudexor/core";
4
4
  import { defaultClaudexorTools } from "@claudexor/mcp-server";
5
5
  import { CLAUDEXOR_VERSION } from "@claudexor/util";
6
6
  import { CLI_COMMANDS } from "./command-registry.js";
7
- import { buildGateway, harnessModels } from "./registry.js";
7
+ import { buildGateway, buildRegistry, harnessModels } from "./registry.js";
8
8
  import { delegationCapabilityFor } from "./delegation-capability.js";
9
9
  import { probeGitCapability } from "@claudexor/workspace";
10
+ import { effectiveSetupLoginCapability } from "./setup-login-capability.js";
10
11
  /** MCP tool names from the server's own descriptor producer (noop runner). */
11
12
  export function mcpToolNames() {
12
13
  return defaultClaudexorTools(async () => "").map((t) => t.name);
@@ -27,6 +28,7 @@ export async function buildAgentCapabilityCatalog() {
27
28
  probeGitCapability(),
28
29
  ]);
29
30
  const cfg = loadConfig(NO_PROJECT_ROOT);
31
+ const adapters = buildRegistry({ includeFakes: false });
30
32
  const harnesses = await Promise.all(statuses.map(async (s) => {
31
33
  // Model truth degrades soft: a catalog is a status surface, so an
32
34
  // unreachable vendor CLI yields source=none instead of throwing the
@@ -67,6 +69,9 @@ export async function buildAgentCapabilityCatalog() {
67
69
  accessProfilesSupported: [...(s.manifest?.access_profiles_supported ?? [])],
68
70
  readonlyMechanism: profile?.access_control.readonly_mechanism ?? "none",
69
71
  delegation: delegationCapabilityFor(s.manifest),
72
+ setupLogin: await effectiveSetupLoginCapability(s.id, {
73
+ getAdapter: (id) => adapters.get(id),
74
+ }),
70
75
  };
71
76
  }));
72
77
  // Run-control keys are DERIVED from the schema shape, minus the keys the