agl 40.4.0 → 40.5.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.
- package/changelog.md +33 -0
- package/dist_serve/bundle.js +2228 -2177
- package/dist_serve/bundle.js.map +2 -2
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/aglapi/aglapisurface.document.js +2 -2
- package/dist_ts/classes.accountsactions.d.ts +11 -1
- package/dist_ts/classes.accountsactions.js +59 -2
- package/dist_ts/classes.controller.js +5 -5
- package/dist_ts/classes.flexaccountaccess.js +3 -2
- package/dist_ts/classes.harnessreleases.d.ts +14 -4
- package/dist_ts/classes.harnessreleases.js +28 -4
- package/dist_ts/classes.inferencegateway.d.ts +28 -3
- package/dist_ts/classes.inferencegateway.js +177 -61
- package/dist_ts/classes.inferenceplacement.d.ts +5 -3
- package/dist_ts/classes.inferenceplacement.js +2 -2
- package/dist_ts/classes.inferencerouter.d.ts +349 -91
- package/dist_ts/classes.inferencerouter.js +804 -297
- package/dist_ts/classes.inferenceservice.d.ts +14 -2
- package/dist_ts/classes.inferenceservice.js +53 -14
- package/dist_ts/classes.inferencespend.d.ts +339 -0
- package/dist_ts/classes.inferencespend.js +815 -0
- package/dist_ts/classes.inferenceusagecache.d.ts +8 -0
- package/dist_ts/classes.inferenceusagecache.js +9 -5
- package/dist_ts/classes.inferenceusagetap.d.ts +50 -9
- package/dist_ts/classes.inferenceusagetap.js +185 -31
- package/dist_ts/classes.proxycontrol.d.ts +3 -2
- package/dist_ts/classes.proxycontrol.js +1 -2
- package/dist_ts/classes.proxydaemon.js +3 -2
- package/dist_ts/classes.proxystore.d.ts +6 -0
- package/dist_ts/classes.proxystore.js +11 -2
- package/dist_ts/fleet/classes.claudeworkers.d.ts +5 -4
- package/dist_ts/fleet/classes.claudeworkers.js +10 -9
- package/dist_ts/functions.claudecoderelease.d.ts +12 -6
- package/dist_ts/functions.claudecoderelease.js +13 -7
- package/dist_ts/functions.inferencecli.js +12 -8
- package/dist_ts/interfaces.auth.d.ts +1 -1
- package/dist_ts/interfaces.auth.js +3 -1
- package/dist_ts/plugins.d.ts +3 -1
- package/dist_ts/plugins.js +7 -2
- package/dist_ts_authswitch/authority-apikeys.d.ts +32 -0
- package/dist_ts_authswitch/authority-apikeys.js +65 -0
- package/dist_ts_authswitch/authority-contract.d.ts +172 -33
- package/dist_ts_authswitch/authority-contract.js +54 -1
- package/dist_ts_authswitch/authority-overview.js +8 -1
- package/dist_ts_authswitch/authority-placement.d.ts +7 -2
- package/dist_ts_authswitch/authority-placement.js +10 -3
- package/dist_ts_authswitch/authority-runtime-contract.d.ts +2 -2
- package/dist_ts_authswitch/authority-spend.d.ts +103 -0
- package/dist_ts_authswitch/authority-spend.js +110 -0
- package/dist_ts_authswitch/authority-subscription.d.ts +12 -1
- package/dist_ts_authswitch/authority-subscription.js +24 -1
- package/dist_ts_authswitch/authority-usagelimit.d.ts +7 -4
- package/dist_ts_authswitch/authority-usagelimit.js +89 -39
- package/dist_ts_authswitch/authority-usagewindows.d.ts +4 -1
- package/dist_ts_authswitch/authority-usagewindows.js +41 -16
- package/dist_ts_authswitch/classes.authoritybroker.d.ts +30 -19
- package/dist_ts_authswitch/classes.authoritybroker.js +152 -61
- package/dist_ts_authswitch/classes.authoritycli.d.ts +9 -4
- package/dist_ts_authswitch/classes.authoritycli.js +99 -30
- package/dist_ts_authswitch/classes.authorityclient.d.ts +24 -7
- package/dist_ts_authswitch/classes.authorityclient.js +45 -15
- package/dist_ts_authswitch/classes.authoritydaemon.js +39 -12
- package/dist_ts_authswitch/classes.authoritydatabase.d.ts +28 -5
- package/dist_ts_authswitch/classes.authoritydatabase.js +171 -9
- package/dist_ts_authswitch/classes.authorityimport.js +2 -2
- package/dist_ts_authswitch/classes.authoritymodels.d.ts +71 -3
- package/dist_ts_authswitch/classes.authoritymodels.js +249 -20
- package/dist_ts_authswitch/classes.authorityregistry.js +4 -2
- package/dist_ts_authswitch/classes.authorityusage.d.ts +69 -7
- package/dist_ts_authswitch/classes.authorityusage.js +118 -4
- package/dist_ts_authswitch/classes.claudenative.d.ts +23 -8
- package/dist_ts_authswitch/classes.claudenative.js +49 -21
- package/dist_ts_authswitch/classes.claudesignin.d.ts +14 -2
- package/dist_ts_authswitch/classes.claudesignin.js +72 -23
- package/dist_ts_authswitch/classes.codexmanaged.d.ts +8 -0
- package/dist_ts_authswitch/classes.codexmanaged.js +33 -18
- package/dist_ts_authswitch/classes.harnessprocesses.d.ts +8 -0
- package/dist_ts_authswitch/classes.harnessprocesses.js +41 -9
- package/dist_ts_authswitch/testsupport.d.ts +24 -5
- package/dist_ts_authswitch/testsupport.js +56 -12
- package/dist_ts_authswitch/ts_migration/0011_account_api_key_fields.d.ts +12 -0
- package/dist_ts_authswitch/ts_migration/0011_account_api_key_fields.js +21 -0
- package/dist_ts_authswitch/ts_migration/index.js +3 -1
- package/dist_ts_interfaces/functions.authorityscope.d.ts +18 -7
- package/dist_ts_interfaces/functions.authorityscope.js +35 -8
- package/dist_ts_interfaces/interfaces.d.ts +1 -1
- package/dist_ts_interfaces/interfaces.js +1 -1
- package/dist_ts_interfaces/plugins.d.ts +2 -1
- package/dist_ts_interfaces/plugins.js +7 -4
- package/dist_ts_interfaces/requests.accounts.d.ts +56 -0
- package/dist_ts_interfaces/requests.accounts.js +11 -1
- package/dist_ts_interfaces/requests.d.ts +2 -2
- package/dist_ts_interfaces/requests.js +1 -1
- package/docs/authswitch.md +75 -12
- package/package.json +5 -5
- package/readme.md +199 -22
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/aglapi/aglapisurface.document.ts +2 -2
- package/ts/classes.accountsactions.ts +75 -1
- package/ts/classes.controller.ts +4 -4
- package/ts/classes.flexaccountaccess.ts +2 -1
- package/ts/classes.harnessreleases.ts +25 -4
- package/ts/classes.inferencegateway.ts +184 -64
- package/ts/classes.inferenceplacement.ts +6 -4
- package/ts/classes.inferencerouter.ts +1026 -314
- package/ts/classes.inferenceservice.ts +56 -13
- package/ts/classes.inferencespend.ts +870 -0
- package/ts/classes.inferenceusagecache.ts +16 -4
- package/ts/classes.inferenceusagetap.ts +159 -34
- package/ts/classes.proxycontrol.ts +3 -3
- package/ts/classes.proxydaemon.ts +2 -1
- package/ts/classes.proxystore.ts +11 -1
- package/ts/fleet/classes.claudeworkers.ts +9 -8
- package/ts/functions.claudecoderelease.ts +13 -6
- package/ts/functions.inferencecli.ts +11 -7
- package/ts/interfaces.auth.ts +2 -0
- package/ts/plugins.ts +7 -0
- package/ts_authswitch/authority-apikeys.ts +85 -0
- package/ts_authswitch/authority-contract.ts +201 -34
- package/ts_authswitch/authority-overview.ts +7 -0
- package/ts_authswitch/authority-placement.ts +12 -4
- package/ts_authswitch/authority-runtime-contract.ts +2 -2
- package/ts_authswitch/authority-spend.ts +168 -0
- package/ts_authswitch/authority-subscription.ts +28 -1
- package/ts_authswitch/authority-usagelimit.ts +95 -40
- package/ts_authswitch/authority-usagewindows.ts +42 -17
- package/ts_authswitch/classes.authoritybroker.ts +161 -68
- package/ts_authswitch/classes.authoritycli.ts +112 -32
- package/ts_authswitch/classes.authorityclient.ts +66 -19
- package/ts_authswitch/classes.authoritydaemon.ts +43 -13
- package/ts_authswitch/classes.authoritydatabase.ts +178 -8
- package/ts_authswitch/classes.authorityimport.ts +1 -1
- package/ts_authswitch/classes.authoritymodels.ts +165 -19
- package/ts_authswitch/classes.authorityregistry.ts +3 -0
- package/ts_authswitch/classes.authorityusage.ts +171 -10
- package/ts_authswitch/classes.claudenative.ts +51 -22
- package/ts_authswitch/classes.claudesignin.ts +74 -24
- package/ts_authswitch/classes.codexmanaged.ts +30 -16
- package/ts_authswitch/classes.harnessprocesses.ts +39 -8
- package/ts_authswitch/native-contracts.md +82 -21
- package/ts_authswitch/readme.md +1 -1
- package/ts_authswitch/testsupport.ts +58 -11
- package/ts_authswitch/ts_migration/0011_account_api_key_fields.ts +20 -0
- package/ts_authswitch/ts_migration/index.ts +2 -0
- package/ts_interfaces/functions.authorityscope.ts +43 -8
- package/ts_interfaces/interfaces.ts +1 -1
- package/ts_interfaces/plugins.ts +6 -3
- package/ts_interfaces/requests.accounts.ts +48 -0
- package/ts_interfaces/requests.ts +4 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/accounts.plugins.ts +7 -1
- package/ts_web/accounts.templates.ts +20 -11
- package/ts_web/classes.accountsreadmodel.ts +326 -71
- package/ts_web/elements.accounts.ts +219 -20
- package/ts_web/elements.codexconnections.ts +3 -1
- package/ts_web/plugins.ts +4 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IAuthSwitchAccount, IAuthSwitchAccountEvent, IAuthSwitchSnapshot, IReq_AuthSwitchAddApiKey, IReq_AuthSwitchBeginAdd, IReq_AuthSwitchDoctor, IReq_AuthSwitchBeginReauth, IReq_AuthSwitchCancelOperation, IReq_AuthSwitchClaudeHostLogin, IReq_AuthSwitchEvents, IReq_AuthSwitchReleaseClaudeNative, IReq_AuthSwitchClaudeNativeReleaseOperation, IReq_AuthSwitchRepairClaudeHost, IReq_AuthSwitchGetBinding, IReq_AuthSwitchGetOperation, IReq_AuthSwitchListOperations, IReq_AuthSwitchRemoveAccount, IReq_AuthSwitchRenameAccount, IReq_AuthSwitchSetAccountLapse, IReq_AuthSwitchSetAccountMaxUsage, IReq_AuthSwitchCancelPreuse, IReq_AuthSwitchGetPreuse, IReq_AuthSwitchSnapshot, IReq_AuthSwitchStartPreuse, IReq_AuthSwitchUsage, IReq_AuthSwitchObserveUsage, IReq_AuthSwitchReportPaymentProblem, IReq_AuthSwitchRecheckUsage, IReq_AuthSwitchMoveClaudeHomeIn, IReq_AuthSwitchMoveClaudeHomeOut, IReq_AuthSwitchRegisterClaudeHome, IReq_AuthSwitchResolveClaudeHome, IReq_AuthSwitchUnregisterClaudeHome, IReq_AuthSwitchCancelClaudeSignIn, IReq_AuthSwitchGetClaudeSignIn, IReq_AuthSwitchStartClaudeSignIn, IReq_AuthSwitchCodexNativeHandoff, IReq_AuthSwitchCodexNativeHandoffs, IReq_AuthSwitchSwitchCodexNative, IReq_AuthSwitchReleaseCodexNative } from './authority-contract.js';
|
|
1
|
+
import type { IAuthSwitchAccount, IAuthSwitchAccountEvent, IAuthSwitchSnapshot, IReq_AuthSwitchAddApiKey, IReq_AuthSwitchBeginAdd, IReq_AuthSwitchDoctor, IReq_AuthSwitchBeginReauth, IReq_AuthSwitchCancelOperation, IReq_AuthSwitchClaudeHostLogin, IReq_AuthSwitchEvents, IReq_AuthSwitchReleaseClaudeNative, IReq_AuthSwitchClaudeNativeReleaseOperation, IReq_AuthSwitchRepairClaudeHost, IReq_AuthSwitchGetBinding, IReq_AuthSwitchGetOperation, IReq_AuthSwitchListOperations, IReq_AuthSwitchRemoveAccount, IReq_AuthSwitchRenameAccount, IReq_AuthSwitchSetAccountLapse, IReq_AuthSwitchSetAccountMaxUsage, IReq_AuthSwitchCancelPreuse, IReq_AuthSwitchGetPreuse, IReq_AuthSwitchSnapshot, IReq_AuthSwitchStartPreuse, IReq_AuthSwitchUsage, IReq_AuthSwitchObserveUsage, IReq_AuthSwitchReportPaymentProblem, IReq_AuthSwitchRecordSpend, IAuthSwitchSpendAnswer, TAuthSwitchPaymentProblemCause, TAuthSwitchApiKeyProvider, IReq_AuthSwitchSetAccountSpendLimit, IReq_AuthSwitchRecheckUsage, IReq_AuthSwitchMoveClaudeHomeIn, IReq_AuthSwitchMoveClaudeHomeOut, IReq_AuthSwitchRegisterClaudeHome, IReq_AuthSwitchResolveClaudeHome, IReq_AuthSwitchUnregisterClaudeHome, IReq_AuthSwitchCancelClaudeSignIn, IReq_AuthSwitchGetClaudeSignIn, IReq_AuthSwitchStartClaudeSignIn, IReq_AuthSwitchCodexNativeHandoff, IReq_AuthSwitchCodexNativeHandoffs, IReq_AuthSwitchSwitchCodexNative, IReq_AuthSwitchReleaseCodexNative } from './authority-contract.js';
|
|
2
2
|
import type { IReq_AuthSwitchBindAccount, IReq_AuthSwitchReleaseBinding, IReq_AuthSwitchResolveAccess, IReq_AuthSwitchStartManagedCodex, IReq_AuthSwitchStopManagedCodex, IReq_AuthSwitchUnbind } from './authority-runtime-contract.js';
|
|
3
3
|
import type { IReq_AuthSwitchImportInventory, IReq_AuthSwitchImportStatus, IReq_AuthSwitchImportSubmit } from './authority-import-contract.js';
|
|
4
4
|
/**
|
|
@@ -94,11 +94,20 @@ export declare class AuthSwitchClient {
|
|
|
94
94
|
*/
|
|
95
95
|
reportUsage(accountId: string, loginId: string, report: Omit<IReq_AuthSwitchObserveUsage['request'], 'accountId' | 'loginId'>, signal?: AbortSignal): Promise<IReq_AuthSwitchObserveUsage['response']['usage']>;
|
|
96
96
|
/**
|
|
97
|
-
* Reports that
|
|
98
|
-
*
|
|
99
|
-
*
|
|
97
|
+
* Reports that the provider refused an inference request on the login for money at `observedAt` -- Anthropic's
|
|
98
|
+
* billing error (HTTP 402) on a Claude login, or on an API key's login the refusal `options.cause` names -- and
|
|
99
|
+
* returns the held usage, which then carries the payment problem (see `IReq_AuthSwitchReportPaymentProblem`). An
|
|
100
|
+
* authority of 40.2.0 or older refuses the method, one of 40.3.0 a `cause`.
|
|
100
101
|
*/
|
|
101
|
-
reportPaymentProblem(accountId: string, loginId: string, observedAt: string, signal?: AbortSignal
|
|
102
|
+
reportPaymentProblem(accountId: string, loginId: string, observedAt: string, signal?: AbortSignal, options?: {
|
|
103
|
+
cause?: TAuthSwitchPaymentProblemCause;
|
|
104
|
+
}): Promise<IReq_AuthSwitchReportPaymentProblem['response']['usage']>;
|
|
105
|
+
/**
|
|
106
|
+
* Records what answers relayed on an API key's login cost (one to `authSwitchSpendAnswerBatchLimit`) and returns the
|
|
107
|
+
* key's usage once the batch committed (see `IReq_AuthSwitchRecordSpend`). An authority of 40.3.0 or older refuses
|
|
108
|
+
* the method.
|
|
109
|
+
*/
|
|
110
|
+
recordSpend(accountId: string, loginId: string, answers: IAuthSwitchSpendAnswer[], signal?: AbortSignal): Promise<IReq_AuthSwitchRecordSpend['response']['usage']>;
|
|
102
111
|
/**
|
|
103
112
|
* Reads the Claude login at once and answers how that read went, clearing its payment problem when it reads healthy
|
|
104
113
|
* (see `IReq_AuthSwitchRecheckUsage`). It waits `authSwitchRecheckTimeoutMs`.
|
|
@@ -114,8 +123,14 @@ export declare class AuthSwitchClient {
|
|
|
114
123
|
/** Snapshot callback runs after every known change; onStatus invalidates it on disconnect, resync or abort. */
|
|
115
124
|
subscribe(onSnapshot: (snapshot: IAuthSwitchSnapshot) => void | Promise<void>, onEvent: (event: IAuthSwitchAccountEvent) => void | Promise<void>, signal: AbortSignal, options?: IAuthSwitchSubscriptionOptions): Promise<void>;
|
|
116
125
|
beginAddOpenAi(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchBeginAdd['response']['operation']>;
|
|
117
|
-
/**
|
|
118
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Adds an Anthropic or OpenAI API key as an account (see `IReq_AuthSwitchAddApiKey`); the key is not answered back.
|
|
128
|
+
* It waits up to 35 seconds: the authority gives the provider 15 seconds to answer whether it accepts the key.
|
|
129
|
+
*/
|
|
130
|
+
addApiKey(providerId: TAuthSwitchApiKeyProvider, apiKey: string, options?: {
|
|
131
|
+
label?: string;
|
|
132
|
+
spendLimitMicroUsd?: number;
|
|
133
|
+
}, signal?: AbortSignal): Promise<IReq_AuthSwitchAddApiKey['response']>;
|
|
119
134
|
beginReauthOpenAi(operationId: string, accountId: string, loginId: string, purpose: 'openai_managed', signal?: AbortSignal): Promise<IReq_AuthSwitchBeginReauth['response']['operation']>;
|
|
120
135
|
listOperations(after?: string, limit?: number, signal?: AbortSignal): Promise<IReq_AuthSwitchListOperations['response']>;
|
|
121
136
|
getOperation(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchGetOperation['response']['operation']>;
|
|
@@ -130,6 +145,8 @@ export declare class AuthSwitchClient {
|
|
|
130
145
|
getPreuse(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchGetPreuse['response']['operation']>;
|
|
131
146
|
cancelPreuse(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchCancelPreuse['response']['operation']>;
|
|
132
147
|
renameAccount(accountId: string, expectedRevision: number, label: string, signal?: AbortSignal): Promise<IReq_AuthSwitchRenameAccount['response']['account']>;
|
|
148
|
+
/** Sets an API key account's monthly spend limit, or clears it with `null` (see `IReq_AuthSwitchSetAccountSpendLimit`). */
|
|
149
|
+
setAccountSpendLimit(accountId: string, expectedRevision: number, spendLimitMicroUsd: number | null, signal?: AbortSignal): Promise<IReq_AuthSwitchSetAccountSpendLimit['response']['account']>;
|
|
133
150
|
/** Sets an account's usage threshold, or clears it with `null` (see `IReq_AuthSwitchSetAccountMaxUsage`). */
|
|
134
151
|
setAccountMaxUsage(accountId: string, expectedRevision: number, maxUsagePercent: number | null, signal?: AbortSignal): Promise<IReq_AuthSwitchSetAccountMaxUsage['response']['account']>;
|
|
135
152
|
/** Lift only the account's reserve for the explicitly chosen duration. Never retries an uncertain mutation. */
|
|
@@ -114,7 +114,8 @@ export class AuthSwitchDaemonOutdatedError extends Error {
|
|
|
114
114
|
/**
|
|
115
115
|
* A snapshot page carries every member of this release's contract. `schemaVersion` is not bumped for an
|
|
116
116
|
* additive member; version 3 adds the gateway runtime, every account states its `maxUsagePercent` from 38.3.0
|
|
117
|
-
* on, its `lapsesAt` from 38.4.0 on,
|
|
117
|
+
* on, its `lapsesAt` from 38.4.0 on, its `reserveLiftUntil` with reserve lifts, and its `spendLimitMicroUsd` and
|
|
118
|
+
* `keyHint` with API keys of both providers. Consumers still check their supported version.
|
|
118
119
|
*/
|
|
119
120
|
const assertCurrentSnapshot = (snapshot) => {
|
|
120
121
|
const page = snapshot;
|
|
@@ -122,11 +123,23 @@ const assertCurrentSnapshot = (snapshot) => {
|
|
|
122
123
|
|| !Array.isArray(page.accounts)
|
|
123
124
|
|| page.accounts.some(account => account.maxUsagePercent === undefined
|
|
124
125
|
|| account.lapsesAt === undefined
|
|
125
|
-
|| account.reserveLiftUntil === undefined
|
|
126
|
+
|| account.reserveLiftUntil === undefined
|
|
127
|
+
|| account.spendLimitMicroUsd === undefined
|
|
128
|
+
|| account.keyHint === undefined)) {
|
|
126
129
|
throw new AuthSwitchDaemonOutdatedError();
|
|
127
130
|
}
|
|
128
131
|
return snapshot;
|
|
129
132
|
};
|
|
133
|
+
/**
|
|
134
|
+
* A Claude sign-in carries every member of this release's contract; one without `heldBy`, which names the processes
|
|
135
|
+
* holding a sign-in, comes from a daemon older than this client.
|
|
136
|
+
*/
|
|
137
|
+
const assertCurrentClaudeSignIn = (operation) => {
|
|
138
|
+
if (operation.heldBy === undefined) {
|
|
139
|
+
throw new AuthSwitchDaemonOutdatedError();
|
|
140
|
+
}
|
|
141
|
+
return operation;
|
|
142
|
+
};
|
|
130
143
|
/**
|
|
131
144
|
* Node-only client for the per-user daemon. Each request has its own bounded Unix connection.
|
|
132
145
|
*
|
|
@@ -195,12 +208,21 @@ export class AuthSwitchClient {
|
|
|
195
208
|
return (await this.request('authswitch.authority.usage.observe', { accountId, loginId, observation: report.observation, tokens: report.tokens, rateLimited: report.rateLimited }, 10_000, false, signal)).usage;
|
|
196
209
|
}
|
|
197
210
|
/**
|
|
198
|
-
* Reports that
|
|
199
|
-
*
|
|
200
|
-
*
|
|
211
|
+
* Reports that the provider refused an inference request on the login for money at `observedAt` -- Anthropic's
|
|
212
|
+
* billing error (HTTP 402) on a Claude login, or on an API key's login the refusal `options.cause` names -- and
|
|
213
|
+
* returns the held usage, which then carries the payment problem (see `IReq_AuthSwitchReportPaymentProblem`). An
|
|
214
|
+
* authority of 40.2.0 or older refuses the method, one of 40.3.0 a `cause`.
|
|
201
215
|
*/
|
|
202
|
-
async reportPaymentProblem(accountId, loginId, observedAt, signal) {
|
|
203
|
-
return (await this.request('authswitch.authority.usage.paymentProblem', { accountId, loginId, observedAt }, 10_000, false, signal)).usage;
|
|
216
|
+
async reportPaymentProblem(accountId, loginId, observedAt, signal, options = {}) {
|
|
217
|
+
return (await this.request('authswitch.authority.usage.paymentProblem', { accountId, loginId, observedAt, ...(options.cause === undefined ? {} : { cause: options.cause }) }, 10_000, false, signal)).usage;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Records what answers relayed on an API key's login cost (one to `authSwitchSpendAnswerBatchLimit`) and returns the
|
|
221
|
+
* key's usage once the batch committed (see `IReq_AuthSwitchRecordSpend`). An authority of 40.3.0 or older refuses
|
|
222
|
+
* the method.
|
|
223
|
+
*/
|
|
224
|
+
async recordSpend(accountId, loginId, answers, signal) {
|
|
225
|
+
return (await this.request('authswitch.authority.usage.spend', { accountId, loginId, answers }, 10_000, false, signal)).usage;
|
|
204
226
|
}
|
|
205
227
|
/**
|
|
206
228
|
* Reads the Claude login at once and answers how that read went, clearing its payment problem when it reads healthy
|
|
@@ -401,9 +423,13 @@ export class AuthSwitchClient {
|
|
|
401
423
|
async beginAddOpenAi(operationId, signal) {
|
|
402
424
|
return (await this.request('authswitch.authority.add', { operationId, providerId: 'openai', flow: 'device' }, 35_000, false, signal)).operation;
|
|
403
425
|
}
|
|
404
|
-
/**
|
|
405
|
-
|
|
406
|
-
|
|
426
|
+
/**
|
|
427
|
+
* Adds an Anthropic or OpenAI API key as an account (see `IReq_AuthSwitchAddApiKey`); the key is not answered back.
|
|
428
|
+
* It waits up to 35 seconds: the authority gives the provider 15 seconds to answer whether it accepts the key.
|
|
429
|
+
*/
|
|
430
|
+
addApiKey(providerId, apiKey, options = {}, signal) {
|
|
431
|
+
return this.request('authswitch.authority.apikey.add', { providerId, apiKey, ...(options.label === undefined ? {} : { label: options.label }),
|
|
432
|
+
...(options.spendLimitMicroUsd === undefined ? {} : { spendLimitMicroUsd: options.spendLimitMicroUsd }) }, 35_000, false, signal);
|
|
407
433
|
}
|
|
408
434
|
async beginReauthOpenAi(operationId, accountId, loginId, purpose, signal) {
|
|
409
435
|
return (await this.request('authswitch.authority.reauth', { operationId, accountId, loginId, purpose, flow: 'device' }, 35_000, false, signal)).operation;
|
|
@@ -437,6 +463,10 @@ export class AuthSwitchClient {
|
|
|
437
463
|
async renameAccount(accountId, expectedRevision, label, signal) {
|
|
438
464
|
return (await this.request('authswitch.authority.rename', { accountId, expectedRevision, label }, 35_000, false, signal)).account;
|
|
439
465
|
}
|
|
466
|
+
/** Sets an API key account's monthly spend limit, or clears it with `null` (see `IReq_AuthSwitchSetAccountSpendLimit`). */
|
|
467
|
+
async setAccountSpendLimit(accountId, expectedRevision, spendLimitMicroUsd, signal) {
|
|
468
|
+
return (await this.request('authswitch.authority.spendlimit', { accountId, expectedRevision, spendLimitMicroUsd }, 10_000, false, signal)).account;
|
|
469
|
+
}
|
|
440
470
|
/** Sets an account's usage threshold, or clears it with `null` (see `IReq_AuthSwitchSetAccountMaxUsage`). */
|
|
441
471
|
async setAccountMaxUsage(accountId, expectedRevision, maxUsagePercent, signal) {
|
|
442
472
|
return (await this.request('authswitch.authority.maxusage', { accountId, expectedRevision, maxUsagePercent }, 35_000, false, signal)).account;
|
|
@@ -518,20 +548,20 @@ export class AuthSwitchClient {
|
|
|
518
548
|
}
|
|
519
549
|
/** Starts a Claude sign-in; see `IAuthSwitchClaudeSignInOperation`. The same operation id answers the same sign-in. */
|
|
520
550
|
async startClaudeSignIn(operationId, signal) {
|
|
521
|
-
return (await this.request('authswitch.authority.claude.signin.start', { operationId }, 35_000, false, signal)).operation;
|
|
551
|
+
return assertCurrentClaudeSignIn((await this.request('authswitch.authority.claude.signin.start', { operationId }, 35_000, false, signal)).operation);
|
|
522
552
|
}
|
|
523
553
|
async getClaudeSignIn(operationId, signal) {
|
|
524
|
-
return (await this.request('authswitch.authority.claude.signin.operation', { operationId }, 35_000, false, signal)).operation;
|
|
554
|
+
return assertCurrentClaudeSignIn((await this.request('authswitch.authority.claude.signin.operation', { operationId }, 35_000, false, signal)).operation);
|
|
525
555
|
}
|
|
526
556
|
/**
|
|
527
557
|
* Waits up to `waitMs` for the Claude sign-in to change past `afterRevision`, as `watchOperation` does for a device
|
|
528
558
|
* sign-in; pass each answer's `revision` back until its state is final.
|
|
529
559
|
*/
|
|
530
560
|
async watchClaudeSignIn(operationId, afterRevision, waitMs = 30_000, signal) {
|
|
531
|
-
return (await this.request('authswitch.authority.claude.signin.operation', { operationId, afterRevision, waitMs }, waitMs + 5_000, false, signal)).operation;
|
|
561
|
+
return assertCurrentClaudeSignIn((await this.request('authswitch.authority.claude.signin.operation', { operationId, afterRevision, waitMs }, waitMs + 5_000, false, signal)).operation);
|
|
532
562
|
}
|
|
533
563
|
async cancelClaudeSignIn(operationId, signal) {
|
|
534
|
-
return (await this.request('authswitch.authority.claude.signin.cancel', { operationId }, 35_000, false, signal)).operation;
|
|
564
|
+
return assertCurrentClaudeSignIn((await this.request('authswitch.authority.claude.signin.cancel', { operationId }, 35_000, false, signal)).operation);
|
|
535
565
|
}
|
|
536
566
|
/** Registers a Claude home the caller created for a container; see `IReq_AuthSwitchRegisterClaudeHome`. */
|
|
537
567
|
async registerClaudeHome(input, signal) {
|
|
@@ -600,4 +630,4 @@ export class AuthSwitchRuntimeClient {
|
|
|
600
630
|
return new plugins.typedrequest.TypedRequest(this.target, 'authswitch.authority.release').fire(input, { timeoutMs: 35_000, maxRetries: 0, abortSignal: signal });
|
|
601
631
|
}
|
|
602
632
|
}
|
|
603
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHljbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19hdXRoc3dpdGNoL2NsYXNzZXMuYXV0aG9yaXR5Y2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBc0J4QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsNkJBQTZCLEVBQ3BFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsT0FBTyxHQUFHLDRCQUE0QixDQUFDO0FBRXRGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLDRCQUE0QixDQUFDO0FBRS9GOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHLE9BQU8sQ0FBQztBQUM5RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxzQ0FBc0MsR0FBRyxNQUFNLENBQUM7QUFFN0Y7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDO0FBRWxEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLElBQUksR0FBRyxDQUFDLElBQVksRUFBRSxPQUFzQixFQUFFLE1BQW9CLEVBQTBCLEVBQUU7SUFDaEcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDMUYsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7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
|
|
633
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHljbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19hdXRoc3dpdGNoL2NsYXNzZXMuYXV0aG9yaXR5Y2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBeUJ4QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsNkJBQTZCLEVBQ3BFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsT0FBTyxHQUFHLDRCQUE0QixDQUFDO0FBRXRGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLDRCQUE0QixDQUFDO0FBRS9GOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHLE9BQU8sQ0FBQztBQUM5RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxzQ0FBc0MsR0FBRyxNQUFNLENBQUM7QUFFN0Y7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDO0FBRWxEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLElBQUksR0FBRyxDQUFDLElBQVksRUFBRSxPQUFzQixFQUFFLE1BQW9CLEVBQTBCLEVBQUU7SUFDaEcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDMUYsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7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
|