@modelprofile.com/authswitch 6.4.0 → 7.0.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_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/authority-contract.d.ts +302 -6
- package/dist_ts/authority-contract.js +1 -1
- package/dist_ts/authority-runtime-contract.d.ts +15 -0
- package/dist_ts/authorityrehearsal.child.d.ts +1 -0
- package/dist_ts/authorityrehearsal.child.js +395 -0
- package/dist_ts/classes.accountlist.js +4 -3
- package/dist_ts/classes.authoritybackup.d.ts +134 -0
- package/dist_ts/classes.authoritybackup.js +769 -0
- package/dist_ts/classes.authoritybroker.d.ts +29 -6
- package/dist_ts/classes.authoritybroker.js +413 -122
- package/dist_ts/classes.authoritycli.d.ts +24 -0
- package/dist_ts/classes.authoritycli.js +675 -0
- package/dist_ts/classes.authorityclient.d.ts +34 -9
- package/dist_ts/classes.authorityclient.js +136 -38
- package/dist_ts/classes.authoritydaemon.d.ts +47 -0
- package/dist_ts/classes.authoritydaemon.js +705 -16
- package/dist_ts/classes.authoritydatabase.d.ts +182 -8
- package/dist_ts/classes.authoritydatabase.js +1188 -41
- package/dist_ts/classes.authoritymodels.d.ts +247 -1
- package/dist_ts/classes.authoritymodels.js +870 -6
- package/dist_ts/classes.authoritypreuse.d.ts +47 -0
- package/dist_ts/classes.authoritypreuse.js +278 -0
- package/dist_ts/classes.authorityregistry.d.ts +24 -0
- package/dist_ts/classes.authorityregistry.js +88 -0
- package/dist_ts/classes.authorityrehearsal.d.ts +127 -0
- package/dist_ts/classes.authorityrehearsal.js +632 -0
- package/dist_ts/classes.authorityusage.d.ts +160 -0
- package/dist_ts/classes.authorityusage.js +429 -0
- package/dist_ts/classes.claudeauthority.d.ts +66 -0
- package/dist_ts/classes.claudeauthority.js +532 -0
- package/dist_ts/classes.claudecodeharness.js +3 -2
- package/dist_ts/classes.claudecodelocks.d.ts +13 -0
- package/dist_ts/classes.claudecodelocks.js +75 -3
- package/dist_ts/classes.claudenative.d.ts +137 -0
- package/dist_ts/classes.claudenative.js +731 -0
- package/dist_ts/classes.claudestatus.d.ts +9 -0
- package/dist_ts/classes.claudestatus.js +26 -9
- package/dist_ts/classes.claudetokenrefresh.d.ts +15 -1
- package/dist_ts/classes.claudetokenrefresh.js +74 -21
- package/dist_ts/classes.codexharness.js +4 -2
- package/dist_ts/classes.codexmanaged.d.ts +91 -0
- package/dist_ts/classes.codexmanaged.js +404 -0
- package/dist_ts/classes.codexpreuse.d.ts +8 -0
- package/dist_ts/classes.codexpreuse.js +24 -6
- package/dist_ts/classes.fileharness.d.ts +2 -0
- package/dist_ts/classes.fileharness.js +6 -4
- package/dist_ts/classes.limits.js +12 -7
- package/dist_ts/classes.opencodeharness.js +2 -2
- package/dist_ts/claudehttp.d.ts +10 -0
- package/dist_ts/claudehttp.js +29 -3
- package/dist_ts/index.d.ts +2 -0
- package/dist_ts/index.js +8 -1
- package/dist_ts/interfaces.harness.d.ts +6 -0
- package/dist_ts/interfaces.list.d.ts +9 -3
- package/dist_ts/plugins.d.ts +7 -3
- package/dist_ts/plugins.js +9 -4
- package/dist_ts/ts_migration/0001_authority_meta.d.ts +3 -0
- package/dist_ts/ts_migration/0001_authority_meta.js +32 -0
- package/dist_ts/ts_migration/index.d.ts +3 -0
- package/dist_ts/ts_migration/index.js +6 -0
- package/package.json +12 -2
- package/readme.md +205 -13
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/authority-contract.ts +264 -9
- package/ts/authority-runtime-contract.ts +21 -1
- package/ts/authorityrehearsal.child.ts +330 -0
- package/ts/classes.accountlist.ts +3 -2
- package/ts/classes.authoritybackup.ts +780 -0
- package/ts/classes.authoritybroker.ts +410 -120
- package/ts/classes.authoritycli.ts +719 -0
- package/ts/classes.authorityclient.ts +164 -38
- package/ts/classes.authoritydaemon.ts +614 -17
- package/ts/classes.authoritydatabase.ts +1229 -44
- package/ts/classes.authoritymodels.ts +579 -4
- package/ts/classes.authoritypreuse.ts +297 -0
- package/ts/classes.authorityregistry.ts +118 -0
- package/ts/classes.authorityrehearsal.ts +625 -0
- package/ts/classes.authorityusage.ts +527 -0
- package/ts/classes.claudeauthority.ts +541 -0
- package/ts/classes.claudecodeharness.ts +2 -1
- package/ts/classes.claudecodelocks.ts +70 -1
- package/ts/classes.claudenative.ts +816 -0
- package/ts/classes.claudestatus.ts +38 -9
- package/ts/classes.claudetokenrefresh.ts +82 -19
- package/ts/classes.codexharness.ts +3 -1
- package/ts/classes.codexmanaged.ts +402 -0
- package/ts/classes.codexpreuse.ts +33 -5
- package/ts/classes.fileharness.ts +7 -3
- package/ts/classes.limits.ts +11 -6
- package/ts/classes.opencodeharness.ts +1 -1
- package/ts/claudehttp.ts +31 -2
- package/ts/index.ts +7 -0
- package/ts/interfaces.harness.ts +6 -0
- package/ts/interfaces.list.ts +9 -3
- package/ts/plugins.ts +9 -3
- package/ts/ts_migration/0001_authority_meta.ts +33 -0
- package/ts/ts_migration/index.ts +7 -0
|
@@ -1,5 +1,18 @@
|
|
|
1
|
-
import type { IAuthSwitchAccountEvent, IAuthSwitchSnapshot, IReq_AuthSwitchBeginAdd, IReq_AuthSwitchBeginReauth, IReq_AuthSwitchCancelOperation, IReq_AuthSwitchEvents, IReq_AuthSwitchGetOperation, IReq_AuthSwitchRemoveAccount, IReq_AuthSwitchRenameAccount, IReq_AuthSwitchSnapshot } from './authority-contract.js';
|
|
2
|
-
import type { IReq_AuthSwitchBindAccount, IReq_AuthSwitchResolveAccess } from './authority-runtime-contract.js';
|
|
1
|
+
import type { IAuthSwitchAccountEvent, IAuthSwitchSnapshot, IReq_AuthSwitchBeginAdd, IReq_AuthSwitchDoctor, IReq_AuthSwitchBeginReauth, IReq_AuthSwitchCancelOperation, IReq_AuthSwitchClaudeNativeHandoff, IReq_AuthSwitchClaudeNativeHandoffs, IReq_AuthSwitchSwitchClaudeNative, IReq_AuthSwitchEvents, IReq_AuthSwitchGetOperation, IReq_AuthSwitchListOperations, IReq_AuthSwitchRemoveAccount, IReq_AuthSwitchRenameAccount, IReq_AuthSwitchCancelPreuse, IReq_AuthSwitchGetPreuse, IReq_AuthSwitchSnapshot, IReq_AuthSwitchStartPreuse, IReq_AuthSwitchUsage } from './authority-contract.js';
|
|
2
|
+
import type { IReq_AuthSwitchBindAccount, IReq_AuthSwitchReleaseBinding, IReq_AuthSwitchResolveAccess } from './authority-runtime-contract.js';
|
|
3
|
+
/** A snapshot is usable only while state is current; lastVerifiedAt is the last successful daemon proof. */
|
|
4
|
+
export interface IAuthSwitchSubscriptionStatus {
|
|
5
|
+
state: 'current' | 'unavailable' | 'closed';
|
|
6
|
+
reason: 'initial' | 'snapshot' | 'event' | 'heartbeat' | 'disconnect' | 'resync' | 'abort' | 'consumer_error';
|
|
7
|
+
epoch: string | null;
|
|
8
|
+
revision: number | null;
|
|
9
|
+
lastVerifiedAt: string | null;
|
|
10
|
+
}
|
|
11
|
+
export interface IAuthSwitchSubscriptionOptions {
|
|
12
|
+
onStatus?: (status: IAuthSwitchSubscriptionStatus) => void | Promise<void>;
|
|
13
|
+
/** Bounded long-poll interval; defaults to 30 seconds. */
|
|
14
|
+
heartbeatMs?: number;
|
|
15
|
+
}
|
|
3
16
|
/** Node-only client for the per-user daemon. Each request has its own bounded Unix connection. */
|
|
4
17
|
export declare class AuthSwitchClient {
|
|
5
18
|
readonly socketPath: string;
|
|
@@ -9,26 +22,38 @@ export declare class AuthSwitchClient {
|
|
|
9
22
|
constructor(socketPath: string, runtimeSocketPath: string);
|
|
10
23
|
private request;
|
|
11
24
|
snapshot(options?: IReq_AuthSwitchSnapshot['request'], signal?: AbortSignal): Promise<IAuthSwitchSnapshot>;
|
|
25
|
+
/** One independently stamped diagnostic page; callers may continue with its independent cursors. */
|
|
26
|
+
doctorPage(options?: IReq_AuthSwitchDoctor['request'], signal?: AbortSignal): Promise<IReq_AuthSwitchDoctor['response']['page']>;
|
|
27
|
+
getUsage(accountId: string, loginId: string, force?: boolean): Promise<IReq_AuthSwitchUsage['response']['usage']>;
|
|
12
28
|
/** Assemble a consistent view from bounded database pages; restart if a writer changes the revision. */
|
|
13
29
|
snapshotAll(options?: {
|
|
14
30
|
limit?: number;
|
|
15
31
|
signal?: AbortSignal;
|
|
16
32
|
}): Promise<IAuthSwitchSnapshot>;
|
|
17
33
|
events(epoch: string, afterRevision: number, waitMs?: number, signal?: AbortSignal): Promise<IReq_AuthSwitchEvents['response']>;
|
|
18
|
-
/**
|
|
19
|
-
subscribe(onSnapshot: (snapshot: IAuthSwitchSnapshot) => void | Promise<void>, onEvent: (event: IAuthSwitchAccountEvent) => void | Promise<void>, signal: AbortSignal): Promise<void>;
|
|
20
|
-
beginAddOpenAi(): Promise<IReq_AuthSwitchBeginAdd['response']['operation']>;
|
|
21
|
-
beginReauthOpenAi(accountId: string): Promise<IReq_AuthSwitchBeginReauth['response']['operation']>;
|
|
22
|
-
|
|
23
|
-
|
|
34
|
+
/** Snapshot callback runs after every known change; onStatus invalidates it on disconnect, resync or abort. */
|
|
35
|
+
subscribe(onSnapshot: (snapshot: IAuthSwitchSnapshot) => void | Promise<void>, onEvent: (event: IAuthSwitchAccountEvent) => void | Promise<void>, signal: AbortSignal, options?: IAuthSwitchSubscriptionOptions): Promise<void>;
|
|
36
|
+
beginAddOpenAi(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchBeginAdd['response']['operation']>;
|
|
37
|
+
beginReauthOpenAi(operationId: string, accountId: string, loginId: string, purpose: 'openai_managed', signal?: AbortSignal): Promise<IReq_AuthSwitchBeginReauth['response']['operation']>;
|
|
38
|
+
listOperations(after?: string, limit?: number): Promise<IReq_AuthSwitchListOperations['response']>;
|
|
39
|
+
getOperation(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchGetOperation['response']['operation']>;
|
|
40
|
+
cancelOperation(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchCancelOperation['response']['operation']>;
|
|
41
|
+
startPreuse(input: IReq_AuthSwitchStartPreuse['request'], signal?: AbortSignal): Promise<IReq_AuthSwitchStartPreuse['response']['operation']>;
|
|
42
|
+
getPreuse(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchGetPreuse['response']['operation']>;
|
|
43
|
+
cancelPreuse(operationId: string, signal?: AbortSignal): Promise<IReq_AuthSwitchCancelPreuse['response']['operation']>;
|
|
24
44
|
renameAccount(accountId: string, expectedRevision: number, label: string): Promise<IReq_AuthSwitchRenameAccount['response']['account']>;
|
|
25
45
|
removeAccount(accountId: string, expectedRevision: number): Promise<IReq_AuthSwitchRemoveAccount['response']['account']>;
|
|
46
|
+
switchClaudeNative(accountId: string, loginId: string): Promise<IReq_AuthSwitchSwitchClaudeNative['response']['handoff']>;
|
|
47
|
+
getClaudeNativeHandoff(operationId: string): Promise<IReq_AuthSwitchClaudeNativeHandoff['response']['handoff']>;
|
|
48
|
+
listClaudeNativeHandoffs(after?: string, limit?: number): Promise<IReq_AuthSwitchClaudeNativeHandoffs['response']>;
|
|
26
49
|
bindAccount(input: IReq_AuthSwitchBindAccount['request']): Promise<IReq_AuthSwitchBindAccount['response']>;
|
|
27
50
|
resolveAccess(input: IReq_AuthSwitchResolveAccess['request']): Promise<IReq_AuthSwitchResolveAccess['response']>;
|
|
51
|
+
releaseBinding(input: IReq_AuthSwitchReleaseBinding['request'], signal?: AbortSignal): Promise<IReq_AuthSwitchReleaseBinding['response']>;
|
|
28
52
|
}
|
|
29
|
-
/** Container-facing client. It can only resolve a previously issued binding capability. */
|
|
53
|
+
/** Container-facing client. It can only resolve or release a previously issued binding capability. */
|
|
30
54
|
export declare class AuthSwitchRuntimeClient {
|
|
31
55
|
private readonly target;
|
|
32
56
|
constructor(runtimeSocketPath: string);
|
|
33
57
|
resolveAccess(input: IReq_AuthSwitchResolveAccess['request']): Promise<IReq_AuthSwitchResolveAccess['response']>;
|
|
58
|
+
releaseBinding(input: IReq_AuthSwitchReleaseBinding['request'], signal?: AbortSignal): Promise<IReq_AuthSwitchReleaseBinding['response']>;
|
|
34
59
|
}
|
|
@@ -84,31 +84,41 @@ export class AuthSwitchClient {
|
|
|
84
84
|
async snapshot(options = {}, signal) {
|
|
85
85
|
return (await this.request('authswitch.authority.snapshot', options, 35_000, false, signal)).snapshot;
|
|
86
86
|
}
|
|
87
|
+
/** One independently stamped diagnostic page; callers may continue with its independent cursors. */
|
|
88
|
+
async doctorPage(options = {}, signal) {
|
|
89
|
+
return (await this.request('authswitch.authority.doctor', options, 35_000, false, signal)).page;
|
|
90
|
+
}
|
|
91
|
+
async getUsage(accountId, loginId, force = false) {
|
|
92
|
+
return (await this.request('authswitch.authority.usage', { accountId, loginId, force })).usage;
|
|
93
|
+
}
|
|
87
94
|
/** Assemble a consistent view from bounded database pages; restart if a writer changes the revision. */
|
|
88
95
|
async snapshotAll(options = {}) {
|
|
89
96
|
while (true) {
|
|
90
97
|
if (options.signal?.aborted)
|
|
91
98
|
throw options.signal.reason ?? new Error('Account snapshot cancelled.');
|
|
92
99
|
let accountAfter;
|
|
100
|
+
let loginAfter;
|
|
93
101
|
let bindingAfter;
|
|
94
102
|
let aggregate;
|
|
95
103
|
let changed = false;
|
|
96
104
|
while (true) {
|
|
97
|
-
const page = await this.snapshot({ accountAfter, bindingAfter, limit: options.limit }, options.signal);
|
|
105
|
+
const page = await this.snapshot({ accountAfter, loginAfter, bindingAfter, limit: options.limit }, options.signal);
|
|
98
106
|
if (!aggregate)
|
|
99
|
-
aggregate = { ...page, accounts: [...page.accounts], bindings: [...page.bindings] };
|
|
107
|
+
aggregate = { ...page, accounts: [...page.accounts], logins: [...page.logins], bindings: [...page.bindings] };
|
|
100
108
|
else if (aggregate.epoch !== page.epoch || aggregate.revision !== page.revision) {
|
|
101
109
|
changed = true;
|
|
102
110
|
break;
|
|
103
111
|
}
|
|
104
112
|
else {
|
|
105
113
|
aggregate.accounts.push(...page.accounts);
|
|
114
|
+
aggregate.logins.push(...page.logins);
|
|
106
115
|
aggregate.bindings.push(...page.bindings);
|
|
107
116
|
}
|
|
108
117
|
accountAfter = page.nextAccountCursor ?? accountAfter ?? page.accounts.at(-1)?.id;
|
|
118
|
+
loginAfter = page.nextLoginCursor ?? loginAfter ?? page.logins.at(-1)?.id;
|
|
109
119
|
bindingAfter = page.nextBindingCursor ?? bindingAfter ?? page.bindings.at(-1)?.id;
|
|
110
|
-
if (!page.nextAccountCursor && !page.nextBindingCursor) {
|
|
111
|
-
return { ...aggregate, nextAccountCursor: null, nextBindingCursor: null };
|
|
120
|
+
if (!page.nextAccountCursor && !page.nextLoginCursor && !page.nextBindingCursor) {
|
|
121
|
+
return { ...aggregate, nextAccountCursor: null, nextLoginCursor: null, nextBindingCursor: null };
|
|
112
122
|
}
|
|
113
123
|
}
|
|
114
124
|
if (!changed)
|
|
@@ -118,58 +128,131 @@ export class AuthSwitchClient {
|
|
|
118
128
|
events(epoch, afterRevision, waitMs = 30_000, signal) {
|
|
119
129
|
return this.request('authswitch.authority.events', { epoch, afterRevision, waitMs }, waitMs + 5_000, false, signal);
|
|
120
130
|
}
|
|
121
|
-
/**
|
|
122
|
-
async subscribe(onSnapshot, onEvent, signal) {
|
|
131
|
+
/** Snapshot callback runs after every known change; onStatus invalidates it on disconnect, resync or abort. */
|
|
132
|
+
async subscribe(onSnapshot, onEvent, signal, options = {}) {
|
|
133
|
+
const heartbeatMs = options.heartbeatMs ?? 30_000;
|
|
134
|
+
if (!Number.isSafeInteger(heartbeatMs) || heartbeatMs < 50 || heartbeatMs > 30_000) {
|
|
135
|
+
throw new Error('Authswitch subscription heartbeat must be 50–30000 ms.');
|
|
136
|
+
}
|
|
123
137
|
const retry = () => new Promise(resolve => {
|
|
124
138
|
const timer = setTimeout(() => { signal.removeEventListener('abort', aborted); resolve(); }, 250);
|
|
125
139
|
const aborted = () => { clearTimeout(timer); resolve(); };
|
|
126
140
|
signal.addEventListener('abort', aborted, { once: true });
|
|
127
141
|
});
|
|
128
142
|
let snapshot;
|
|
129
|
-
|
|
130
|
-
|
|
143
|
+
let available = false;
|
|
144
|
+
let lastVerifiedAt = null;
|
|
145
|
+
let lastEpoch = null;
|
|
146
|
+
let lastRevision = null;
|
|
147
|
+
const status = async (state, reason) => {
|
|
148
|
+
await options.onStatus?.({ state, reason, epoch: lastEpoch, revision: lastRevision, lastVerifiedAt });
|
|
149
|
+
};
|
|
150
|
+
const invalidate = async (reason) => {
|
|
151
|
+
snapshot = undefined;
|
|
152
|
+
if (available) {
|
|
153
|
+
available = false;
|
|
154
|
+
await status('unavailable', reason);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
try {
|
|
158
|
+
if (!signal.aborted)
|
|
159
|
+
await status('unavailable', 'initial');
|
|
160
|
+
while (!signal.aborted) {
|
|
161
|
+
if (!snapshot) {
|
|
162
|
+
let fresh;
|
|
163
|
+
try {
|
|
164
|
+
fresh = await this.snapshotAll({ signal });
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
if (signal.aborted)
|
|
168
|
+
break;
|
|
169
|
+
await invalidate('disconnect');
|
|
170
|
+
await retry();
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
snapshot = fresh;
|
|
174
|
+
await onSnapshot(fresh);
|
|
175
|
+
available = true;
|
|
176
|
+
lastEpoch = fresh.epoch;
|
|
177
|
+
lastRevision = fresh.revision;
|
|
178
|
+
lastVerifiedAt = new Date().toISOString();
|
|
179
|
+
await status('current', 'snapshot');
|
|
180
|
+
}
|
|
181
|
+
let result;
|
|
131
182
|
try {
|
|
132
|
-
|
|
183
|
+
result = await this.events(snapshot.epoch, snapshot.revision, heartbeatMs, signal);
|
|
133
184
|
}
|
|
134
185
|
catch {
|
|
135
186
|
if (signal.aborted)
|
|
136
187
|
break;
|
|
188
|
+
await invalidate('disconnect');
|
|
137
189
|
await retry();
|
|
138
190
|
continue;
|
|
139
191
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
192
|
+
if (result.resyncRequired || result.epoch !== snapshot.epoch
|
|
193
|
+
|| (result.events.length === 0 && result.revision !== snapshot.revision)) {
|
|
194
|
+
await invalidate('resync');
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
if (result.events.length) {
|
|
198
|
+
let fresh;
|
|
199
|
+
try {
|
|
200
|
+
fresh = await this.snapshotAll({ signal });
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
if (signal.aborted)
|
|
204
|
+
break;
|
|
205
|
+
await invalidate('disconnect');
|
|
206
|
+
await retry();
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
if (fresh.epoch !== result.epoch || fresh.revision < result.revision) {
|
|
210
|
+
await invalidate('resync');
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
snapshot = fresh;
|
|
214
|
+
await onSnapshot(fresh);
|
|
215
|
+
for (const event of result.events)
|
|
216
|
+
await onEvent(event);
|
|
217
|
+
lastEpoch = fresh.epoch;
|
|
218
|
+
lastRevision = fresh.revision;
|
|
219
|
+
lastVerifiedAt = new Date().toISOString();
|
|
220
|
+
await status('current', 'event');
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
lastVerifiedAt = new Date().toISOString();
|
|
224
|
+
await status('current', 'heartbeat');
|
|
225
|
+
}
|
|
156
226
|
}
|
|
157
|
-
for (const event of result.events)
|
|
158
|
-
await onEvent(event);
|
|
159
|
-
snapshot = { ...snapshot, revision: result.revision };
|
|
160
227
|
}
|
|
228
|
+
finally {
|
|
229
|
+
available = false;
|
|
230
|
+
await status('closed', signal.aborted ? 'abort' : 'consumer_error');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
async beginAddOpenAi(operationId, signal) {
|
|
234
|
+
return (await this.request('authswitch.authority.add', { operationId, providerId: 'openai', flow: 'device' }, 35_000, false, signal)).operation;
|
|
235
|
+
}
|
|
236
|
+
async beginReauthOpenAi(operationId, accountId, loginId, purpose, signal) {
|
|
237
|
+
return (await this.request('authswitch.authority.reauth', { operationId, accountId, loginId, purpose, flow: 'device' }, 35_000, false, signal)).operation;
|
|
161
238
|
}
|
|
162
|
-
|
|
163
|
-
return
|
|
239
|
+
listOperations(after, limit) {
|
|
240
|
+
return this.request('authswitch.authority.operations', { after, limit });
|
|
164
241
|
}
|
|
165
|
-
async
|
|
166
|
-
return (await this.request('authswitch.authority.
|
|
242
|
+
async getOperation(operationId, signal) {
|
|
243
|
+
return (await this.request('authswitch.authority.operation', { operationId }, 35_000, false, signal)).operation;
|
|
167
244
|
}
|
|
168
|
-
async
|
|
169
|
-
return (await this.request('authswitch.authority.
|
|
245
|
+
async cancelOperation(operationId, signal) {
|
|
246
|
+
return (await this.request('authswitch.authority.cancel', { operationId }, 35_000, false, signal)).operation;
|
|
170
247
|
}
|
|
171
|
-
async
|
|
172
|
-
return (await this.request('authswitch.authority.
|
|
248
|
+
async startPreuse(input, signal) {
|
|
249
|
+
return (await this.request('authswitch.authority.preuse.start', input, 35_000, false, signal)).operation;
|
|
250
|
+
}
|
|
251
|
+
async getPreuse(operationId, signal) {
|
|
252
|
+
return (await this.request('authswitch.authority.preuse.operation', { operationId }, 35_000, false, signal)).operation;
|
|
253
|
+
}
|
|
254
|
+
async cancelPreuse(operationId, signal) {
|
|
255
|
+
return (await this.request('authswitch.authority.preuse.cancel', { operationId }, 35_000, false, signal)).operation;
|
|
173
256
|
}
|
|
174
257
|
async renameAccount(accountId, expectedRevision, label) {
|
|
175
258
|
return (await this.request('authswitch.authority.rename', { accountId, expectedRevision, label })).account;
|
|
@@ -177,14 +260,26 @@ export class AuthSwitchClient {
|
|
|
177
260
|
async removeAccount(accountId, expectedRevision) {
|
|
178
261
|
return (await this.request('authswitch.authority.remove', { accountId, expectedRevision })).account;
|
|
179
262
|
}
|
|
263
|
+
async switchClaudeNative(accountId, loginId) {
|
|
264
|
+
return (await this.request('authswitch.authority.claude.switch', { accountId, loginId, purpose: 'claude_host_native' })).handoff;
|
|
265
|
+
}
|
|
266
|
+
async getClaudeNativeHandoff(operationId) {
|
|
267
|
+
return (await this.request('authswitch.authority.claude.handoff', { operationId })).handoff;
|
|
268
|
+
}
|
|
269
|
+
listClaudeNativeHandoffs(after, limit) {
|
|
270
|
+
return this.request('authswitch.authority.claude.handoffs', { after, limit });
|
|
271
|
+
}
|
|
180
272
|
bindAccount(input) {
|
|
181
273
|
return this.request('authswitch.authority.bind', input);
|
|
182
274
|
}
|
|
183
275
|
resolveAccess(input) {
|
|
184
276
|
return this.request('authswitch.authority.resolveAccess', input, 35_000, true);
|
|
185
277
|
}
|
|
278
|
+
releaseBinding(input, signal) {
|
|
279
|
+
return this.request('authswitch.authority.release', input, 35_000, true, signal);
|
|
280
|
+
}
|
|
186
281
|
}
|
|
187
|
-
/** Container-facing client. It can only resolve a previously issued binding capability. */
|
|
282
|
+
/** Container-facing client. It can only resolve or release a previously issued binding capability. */
|
|
188
283
|
export class AuthSwitchRuntimeClient {
|
|
189
284
|
target;
|
|
190
285
|
constructor(runtimeSocketPath) {
|
|
@@ -196,5 +291,8 @@ export class AuthSwitchRuntimeClient {
|
|
|
196
291
|
resolveAccess(input) {
|
|
197
292
|
return new plugins.typedrequest.TypedRequest(this.target, 'authswitch.authority.resolveAccess').fire(input, { timeoutMs: 35_000, maxRetries: 0 });
|
|
198
293
|
}
|
|
294
|
+
releaseBinding(input, signal) {
|
|
295
|
+
return new plugins.typedrequest.TypedRequest(this.target, 'authswitch.authority.release').fire(input, { timeoutMs: 35_000, maxRetries: 0, abortSignal: signal });
|
|
296
|
+
}
|
|
199
297
|
}
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHljbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQVF4QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsNkJBQTZCLEVBQ3BFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsT0FBc0IsRUFBRSxNQUFvQixFQUEwQixFQUFFO0lBQ2hHLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsSUFBSSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1FBQ25ELE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBZSxFQUFFLFFBQXdCLEVBQVEsRUFBRTtZQUNqRSxJQUFJLE9BQU87Z0JBQUUsT0FBTztZQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ2YsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDcEIsSUFBSSxRQUFRO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzs7Z0JBQ2hDLE1BQU0sQ0FBQyxJ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
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHljbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQVl4QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsNkJBQTZCLEVBQ3BFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsT0FBc0IsRUFBRSxNQUFvQixFQUEwQixFQUFFO0lBQ2hHLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsSUFBSSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1FBQ25ELE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBZSxFQUFFLFFBQXdCLEVBQVEsRUFBRTtZQUNqRSxJQUFJLE9BQU87Z0JBQUUsT0FBTztZQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ2YsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDcEIsSUFBSSxRQUFRO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzs7Z0JBQ2hDLE1BQU0sQ0FBQyxJ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
|
|
@@ -1,23 +1,70 @@
|
|
|
1
1
|
import { AuthSwitchAuthorityBroker, type IAuthSwitchAuthorityBrokerOptions } from './classes.authoritybroker.js';
|
|
2
2
|
import { AuthSwitchAuthorityDatabase, type IAuthSwitchAuthorityDatabaseOptions } from './classes.authoritydatabase.js';
|
|
3
|
+
import { ClaudeNativeAuthority, type IClaudeNativeAuthorityOptions } from './classes.claudeauthority.js';
|
|
4
|
+
import { ClaudeAccountStatus } from './classes.claudestatus.js';
|
|
5
|
+
import { AuthSwitchAuthorityUsage, type IAuthSwitchAuthorityUsageOptions } from './classes.authorityusage.js';
|
|
6
|
+
import { AuthSwitchAuthorityPreuse, type IAuthSwitchAuthorityPreuseOptions } from './classes.authoritypreuse.js';
|
|
7
|
+
import { AuthSwitchManagedCodex, type IAuthSwitchManagedCodexOptions } from './classes.codexmanaged.js';
|
|
3
8
|
export interface IAuthSwitchAuthorityDaemonOptions extends IAuthSwitchAuthorityDatabaseOptions {
|
|
4
9
|
authoritySocketPath: string;
|
|
5
10
|
runtimeSocketPath: string;
|
|
6
11
|
broker?: IAuthSwitchAuthorityBrokerOptions;
|
|
12
|
+
usage?: Partial<Pick<IAuthSwitchAuthorityUsageOptions, 'now' | 'currentMaxAgeMs' | 'maxStaleAgeMs' | 'minAttemptIntervalMs' | 'retryBaseMs' | 'retryMaxMs' | 'providerTimeoutMs' | 'minAccessValidityMs'>>;
|
|
13
|
+
preuse?: IAuthSwitchAuthorityPreuseOptions;
|
|
14
|
+
claudeStatus?: ClaudeAccountStatus;
|
|
15
|
+
/** Activated only after a verified backend source receipt has registered the native home. */
|
|
16
|
+
claudeNative?: IClaudeNativeAuthorityOptions;
|
|
7
17
|
}
|
|
8
18
|
/** TypedRequest handlers over a private one-request-per-connection Unix socket. */
|
|
9
19
|
export declare class AuthSwitchAuthorityDaemon {
|
|
10
20
|
private readonly options;
|
|
11
21
|
readonly database: AuthSwitchAuthorityDatabase;
|
|
12
22
|
readonly broker: AuthSwitchAuthorityBroker;
|
|
23
|
+
readonly usage: AuthSwitchAuthorityUsage;
|
|
24
|
+
readonly preuse: AuthSwitchAuthorityPreuse;
|
|
25
|
+
readonly claudeNative?: ClaudeNativeAuthority;
|
|
13
26
|
private readonly managementRouter;
|
|
14
27
|
private readonly runtimeRouter;
|
|
15
28
|
private managementServer?;
|
|
16
29
|
private runtimeServer?;
|
|
17
30
|
private readonly sockets;
|
|
31
|
+
private readonly managedCodex;
|
|
32
|
+
private readonly managedCodexHomes;
|
|
33
|
+
private readonly managedCodexAccountIds;
|
|
34
|
+
private readonly managedCodexStates;
|
|
35
|
+
private readonly drainingAccounts;
|
|
36
|
+
private readonly deviceDrainOwners;
|
|
37
|
+
private readonly preuseAccounts;
|
|
38
|
+
private readonly managedCodexStops;
|
|
39
|
+
private readonly managedCodexFailures;
|
|
40
|
+
private readonly runtimeBindingActivity;
|
|
41
|
+
private readonly runtimeBindingReleaseFences;
|
|
42
|
+
private readonly runtimeBindingReleases;
|
|
43
|
+
private closing;
|
|
18
44
|
constructor(options: IAuthSwitchAuthorityDaemonOptions);
|
|
45
|
+
private runtimeBindingKey;
|
|
46
|
+
private beginRuntimeBindingAccess;
|
|
47
|
+
private waitForRuntimeBindingAccess;
|
|
48
|
+
private releaseRuntimeBinding;
|
|
49
|
+
private releaseDeviceDrain;
|
|
50
|
+
private beginReauthOpenAi;
|
|
19
51
|
private register;
|
|
52
|
+
private doctorPage;
|
|
20
53
|
start(): Promise<void>;
|
|
54
|
+
/** The account fence excludes new admissions while durable detached runs are checked. */
|
|
55
|
+
private drainManagedCodexAccount;
|
|
56
|
+
startManagedCodex(input: {
|
|
57
|
+
accountId: string;
|
|
58
|
+
loginId: string;
|
|
59
|
+
purpose: 'openai_managed';
|
|
60
|
+
scopeId: string;
|
|
61
|
+
workspaceDirectory: string;
|
|
62
|
+
codexHomeDirectory: string;
|
|
63
|
+
executable?: string;
|
|
64
|
+
onNotification?: IAuthSwitchManagedCodexOptions['onNotification'];
|
|
65
|
+
onServerRequest?: IAuthSwitchManagedCodexOptions['onServerRequest'];
|
|
66
|
+
}): Promise<AuthSwitchManagedCodex>;
|
|
67
|
+
stopManagedCodex(scopeId: string): Promise<void>;
|
|
21
68
|
private listen;
|
|
22
69
|
/** A killed daemon leaves a pathname behind; only remove an unchanged, owned, refused Unix socket. */
|
|
23
70
|
private clearStaleSocket;
|