@modelprofile.com/authswitch 6.5.0 → 8.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.
Files changed (95) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/authority-contract.d.ts +300 -6
  3. package/dist_ts/authority-contract.js +1 -1
  4. package/dist_ts/authority-runtime-contract.d.ts +13 -0
  5. package/dist_ts/classes.accountlist.js +4 -3
  6. package/dist_ts/classes.authoritybroker.d.ts +25 -5
  7. package/dist_ts/classes.authoritybroker.js +388 -123
  8. package/dist_ts/classes.authoritycli.d.ts +24 -0
  9. package/dist_ts/classes.authoritycli.js +675 -0
  10. package/dist_ts/classes.authorityclient.d.ts +19 -7
  11. package/dist_ts/classes.authorityclient.js +51 -14
  12. package/dist_ts/classes.authoritydaemon.d.ts +28 -1
  13. package/dist_ts/classes.authoritydaemon.js +477 -36
  14. package/dist_ts/classes.authoritydatabase.d.ts +155 -11
  15. package/dist_ts/classes.authoritydatabase.js +1037 -69
  16. package/dist_ts/classes.authoritymodels.d.ts +229 -23
  17. package/dist_ts/classes.authoritymodels.js +867 -128
  18. package/dist_ts/classes.authoritypreuse.d.ts +47 -0
  19. package/dist_ts/classes.authoritypreuse.js +277 -0
  20. package/dist_ts/classes.authorityregistry.d.ts +9 -0
  21. package/dist_ts/classes.authorityregistry.js +32 -0
  22. package/dist_ts/classes.authoritysecrets.d.ts +1 -1
  23. package/dist_ts/classes.authoritysecrets.js +2 -2
  24. package/dist_ts/classes.authorityusage.d.ts +160 -0
  25. package/dist_ts/classes.authorityusage.js +429 -0
  26. package/dist_ts/classes.claudeauthority.d.ts +66 -0
  27. package/dist_ts/classes.claudeauthority.js +528 -0
  28. package/dist_ts/classes.claudecodeharness.js +3 -2
  29. package/dist_ts/classes.claudecodelocks.d.ts +13 -0
  30. package/dist_ts/classes.claudecodelocks.js +75 -3
  31. package/dist_ts/classes.claudenative.d.ts +130 -0
  32. package/dist_ts/classes.claudenative.js +708 -0
  33. package/dist_ts/classes.claudestatus.d.ts +9 -0
  34. package/dist_ts/classes.claudestatus.js +26 -9
  35. package/dist_ts/classes.claudetokenrefresh.d.ts +15 -1
  36. package/dist_ts/classes.claudetokenrefresh.js +74 -21
  37. package/dist_ts/classes.codexharness.js +4 -2
  38. package/dist_ts/classes.codexmanaged.d.ts +12 -1
  39. package/dist_ts/classes.codexmanaged.js +75 -14
  40. package/dist_ts/classes.codexpreuse.d.ts +8 -0
  41. package/dist_ts/classes.codexpreuse.js +24 -6
  42. package/dist_ts/classes.fileharness.d.ts +2 -0
  43. package/dist_ts/classes.fileharness.js +6 -4
  44. package/dist_ts/classes.limits.js +12 -7
  45. package/dist_ts/classes.opencodeharness.js +2 -2
  46. package/dist_ts/claudehttp.d.ts +10 -0
  47. package/dist_ts/claudehttp.js +29 -3
  48. package/dist_ts/index.d.ts +1 -0
  49. package/dist_ts/index.js +7 -1
  50. package/dist_ts/interfaces.harness.d.ts +6 -0
  51. package/dist_ts/interfaces.list.d.ts +9 -3
  52. package/dist_ts/plugins.d.ts +6 -3
  53. package/dist_ts/plugins.js +8 -4
  54. package/dist_ts/ts_migration/0001_authority_meta.d.ts +13 -0
  55. package/dist_ts/ts_migration/0001_authority_meta.js +44 -0
  56. package/dist_ts/ts_migration/0002_remove_backup_records.d.ts +17 -0
  57. package/dist_ts/ts_migration/0002_remove_backup_records.js +48 -0
  58. package/dist_ts/ts_migration/index.d.ts +6 -0
  59. package/dist_ts/ts_migration/index.js +12 -0
  60. package/package.json +3 -3
  61. package/readme.md +177 -14
  62. package/ts/00_commitinfo_data.ts +1 -1
  63. package/ts/authority-contract.ts +262 -9
  64. package/ts/authority-runtime-contract.ts +14 -0
  65. package/ts/classes.accountlist.ts +3 -2
  66. package/ts/classes.authoritybroker.ts +385 -121
  67. package/ts/classes.authoritycli.ts +719 -0
  68. package/ts/classes.authorityclient.ts +75 -18
  69. package/ts/classes.authoritydaemon.ts +444 -36
  70. package/ts/classes.authoritydatabase.ts +1076 -75
  71. package/ts/classes.authoritymodels.ts +642 -144
  72. package/ts/classes.authoritypreuse.ts +296 -0
  73. package/ts/classes.authorityregistry.ts +47 -0
  74. package/ts/classes.authoritysecrets.ts +1 -1
  75. package/ts/classes.authorityusage.ts +527 -0
  76. package/ts/classes.claudeauthority.ts +537 -0
  77. package/ts/classes.claudecodeharness.ts +2 -1
  78. package/ts/classes.claudecodelocks.ts +70 -1
  79. package/ts/classes.claudenative.ts +785 -0
  80. package/ts/classes.claudestatus.ts +38 -9
  81. package/ts/classes.claudetokenrefresh.ts +82 -19
  82. package/ts/classes.codexharness.ts +3 -1
  83. package/ts/classes.codexmanaged.ts +76 -13
  84. package/ts/classes.codexpreuse.ts +33 -5
  85. package/ts/classes.fileharness.ts +7 -3
  86. package/ts/classes.limits.ts +11 -6
  87. package/ts/classes.opencodeharness.ts +1 -1
  88. package/ts/claudehttp.ts +31 -2
  89. package/ts/index.ts +6 -0
  90. package/ts/interfaces.harness.ts +6 -0
  91. package/ts/interfaces.list.ts +9 -3
  92. package/ts/plugins.ts +8 -3
  93. package/ts/ts_migration/0001_authority_meta.ts +45 -0
  94. package/ts/ts_migration/0002_remove_backup_records.ts +49 -0
  95. package/ts/ts_migration/index.ts +12 -0
@@ -1,4 +1,6 @@
1
1
  import * as plugins from './plugins.js';
2
+ import type { TAuthSwitchLoginPrompt } from './authority-contract.js';
3
+ import type { IAuthSwitchStoredUsage } from './classes.authorityusage.js';
2
4
  export interface IStoredAuthorityMeta {
3
5
  id: 'authswitch-authority';
4
6
  epoch: string;
@@ -29,7 +31,7 @@ export interface IStoredAuthorityGrant {
29
31
  providerId: string;
30
32
  purpose: TStoredGrantPurpose;
31
33
  audience: string;
32
- state: 'ready' | 'exchange_may_have_been_sent' | 'retry_wait' | 'needs_reauth' | 'native' | 'legacy_native_pending' | 'removed';
34
+ state: 'ready' | 'exchange_may_have_been_sent' | 'retry_wait' | 'needs_reauth' | 'native' | 'legacy_native_pending' | 'handoff_pending' | 'handoff_quarantined' | 'removed';
33
35
  owner: 'daemon' | 'claude_native' | 'legacy_native' | 'none';
34
36
  grantGeneration: number;
35
37
  authorizationGeneration: number;
@@ -43,6 +45,13 @@ export interface IStoredAuthorityGrant {
43
45
  statusObservedAt: string;
44
46
  updateId: string;
45
47
  }
48
+ /** Credential-free provider usage cached for one exact account/login pair. */
49
+ export interface IStoredAuthorityUsage extends IAuthSwitchStoredUsage {
50
+ id: string;
51
+ accountId: string;
52
+ loginId: string;
53
+ }
54
+ export declare const authorityUsageId: (accountId: string, loginId: string) => string;
46
55
  export interface IStoredAuthorityBinding {
47
56
  id: string;
48
57
  accountId: string;
@@ -67,6 +76,7 @@ export interface IStoredAuthorityEnrollment {
67
76
  export interface IStoredAuthorityCodexHome {
68
77
  id: string;
69
78
  accountId: string;
79
+ grantId: string;
70
80
  scopeId: string;
71
81
  activeRun: {
72
82
  id: string;
@@ -77,6 +87,48 @@ export interface IStoredAuthorityCodexHome {
77
87
  createdAt: string;
78
88
  updateId: string;
79
89
  }
90
+ /** One vendor home owns at most one active Claude grant; activeGrantId has a unique index. */
91
+ export interface IStoredAuthorityClaudeHome {
92
+ id: string;
93
+ activeAccountId: string;
94
+ activeGrantId: string;
95
+ pendingOperationId: string | null;
96
+ status: 'ready' | 'quarantined';
97
+ revision: number;
98
+ createdAt: string;
99
+ updateId: string;
100
+ }
101
+ export interface IStoredAuthorityNativePair {
102
+ credentialDigest: string | null;
103
+ configDigest: string | null;
104
+ }
105
+ export interface IStoredAuthorityNativeIdentity {
106
+ accountUuid: string;
107
+ organizationUuid: string;
108
+ }
109
+ /** Backend-only proof for one exact two-grant native transfer. */
110
+ export interface IStoredAuthorityClaudeHandoff {
111
+ id: string;
112
+ homeId: string;
113
+ outgoingAccountId: string;
114
+ outgoingGrantId: string;
115
+ incomingAccountId: string;
116
+ incomingGrantId: string;
117
+ phase: 'reserved' | 'prepared' | 'committed' | 'aborted' | 'quarantined';
118
+ before: IStoredAuthorityNativePair | null;
119
+ after: IStoredAuthorityNativePair | null;
120
+ sourceIdentity: IStoredAuthorityNativeIdentity;
121
+ targetIdentity: IStoredAuthorityNativeIdentity;
122
+ sourceAccessDigest: string | null;
123
+ targetAccessDigest: string | null;
124
+ sealedOutgoing: string | null;
125
+ runningEffectiveAuth: 'no_scoped_sessions' | 'unsupported_effective_auth' | null;
126
+ problem: 'none' | 'native_uncertain' | 'foreign_or_torn' | 'unsupported_effective_auth' | 'database_uncertain';
127
+ startedAt: string;
128
+ updatedAt: string;
129
+ revision: number;
130
+ updateId: string;
131
+ }
80
132
  /** Journal for a native-home handoff. A prepared grant is never usable. */
81
133
  export interface IStoredAuthorityHandoff {
82
134
  id: string;
@@ -88,7 +140,6 @@ export interface IStoredAuthorityHandoff {
88
140
  operationId: string;
89
141
  sourceDigest: string;
90
142
  verifiedSourceDigest: string | null;
91
- backupDigest: string | null;
92
143
  revision: number;
93
144
  statusObservedAt: string;
94
145
  updateId: string;
@@ -103,7 +154,6 @@ export interface IStoredAuthorityMigrationLedger {
103
154
  status: 'pending_native_owner' | 'prepared' | 'verified' | 'complete' | 'quarantined';
104
155
  accountId: string | null;
105
156
  grantId: string | null;
106
- backupDigest: string | null;
107
157
  revision: number;
108
158
  statusObservedAt: string;
109
159
  updateId: string;
@@ -115,24 +165,106 @@ export interface IStoredAuthorityEvent {
115
165
  kind: 'account' | 'binding';
116
166
  accountId: string;
117
167
  }
168
+ /** A device flow and its immutable result receipt. Provider work is never resumed from this record. */
169
+ export interface IStoredAuthorityDeviceOperation {
170
+ id: string;
171
+ kind: 'add_openai' | 'reauth_openai';
172
+ purpose: 'openai_managed';
173
+ accountId: string | null;
174
+ grantId: string | null;
175
+ expectedGrantGeneration: number | null;
176
+ state: 'starting' | 'pending' | 'committing' | 'complete' | 'failed' | 'cancelled' | 'interrupted' | 'outcome_unknown';
177
+ prompt: TAuthSwitchLoginPrompt | null;
178
+ result: {
179
+ accountId: string;
180
+ grantId: string;
181
+ accountRevision: number;
182
+ grantGeneration: number;
183
+ } | null;
184
+ error: string | null;
185
+ commitId: string | null;
186
+ createdAt: string;
187
+ updatedAt: string;
188
+ finishedAt: string | null;
189
+ revision: number;
190
+ updateId: string;
191
+ }
192
+ export type TStoredAuthorityPreuseProblem = 'none' | 'target_unavailable' | 'access_unavailable' | 'catalog_unavailable' | 'account_busy' | 'cancelled' | 'authority_closing' | 'interrupted' | 'request_uncertain';
193
+ /** One quota-consuming request. The prompt and generated prose never enter persistence. */
194
+ export interface IStoredAuthorityPreuseOperation {
195
+ id: string;
196
+ kind: 'preuse_openai';
197
+ purpose: 'openai_managed';
198
+ accountId: string;
199
+ grantId: string;
200
+ /** Hash of the exact target, prompt and requested model; used only for idempotent admission. */
201
+ requestHash: string;
202
+ requestedModel: string | null;
203
+ model: string | null;
204
+ authorizationGeneration: number;
205
+ grantGeneration: number | null;
206
+ state: 'preparing' | 'request_may_have_started' | 'complete' | 'not_sent' | 'outcome_unknown';
207
+ result: {
208
+ inputTokens: number | null;
209
+ outputTokens: number | null;
210
+ totalTokens: number | null;
211
+ } | null;
212
+ problem: TStoredAuthorityPreuseProblem;
213
+ createdAt: string;
214
+ updatedAt: string;
215
+ finishedAt: string | null;
216
+ revision: number;
217
+ updateId: string;
218
+ }
219
+ export type IStoredAuthorityOperation = IStoredAuthorityDeviceOperation | IStoredAuthorityPreuseOperation;
220
+ /** Decorated storage fields shared by the two exact discriminated operation variants. */
221
+ export interface IStoredAuthorityOperationDocument {
222
+ id: string;
223
+ kind: IStoredAuthorityOperation['kind'];
224
+ purpose: 'openai_managed';
225
+ accountId: string | null;
226
+ grantId: string | null;
227
+ expectedGrantGeneration?: number | null;
228
+ state: IStoredAuthorityOperation['state'];
229
+ prompt?: TAuthSwitchLoginPrompt | null;
230
+ result: IStoredAuthorityOperation['result'];
231
+ error?: string | null;
232
+ commitId?: string | null;
233
+ requestHash?: string;
234
+ requestedModel?: string | null;
235
+ model?: string | null;
236
+ authorizationGeneration?: number;
237
+ grantGeneration?: number | null;
238
+ problem?: TStoredAuthorityPreuseProblem;
239
+ createdAt: string;
240
+ updatedAt: string;
241
+ finishedAt: string | null;
242
+ revision: number;
243
+ updateId: string;
244
+ }
245
+ export declare const assertStoredAuthorityUsage: (value: unknown) => asserts value is IStoredAuthorityUsage;
118
246
  export declare const assertStoredAuthorityMeta: (value: unknown) => asserts value is IStoredAuthorityMeta;
119
247
  export declare const assertStoredAuthorityAccount: (value: unknown) => asserts value is IStoredAuthorityAccount;
120
248
  export declare const assertStoredAuthorityGrant: (value: unknown) => asserts value is IStoredAuthorityGrant;
121
249
  export declare const assertStoredAuthorityBinding: (value: unknown) => asserts value is IStoredAuthorityBinding;
122
250
  export declare const assertStoredAuthorityEnrollment: (value: unknown) => asserts value is IStoredAuthorityEnrollment;
123
251
  export declare const assertStoredAuthorityCodexHome: (value: unknown) => asserts value is IStoredAuthorityCodexHome;
252
+ export declare const assertStoredAuthorityClaudeHome: (value: unknown) => asserts value is IStoredAuthorityClaudeHome;
253
+ export declare const assertStoredAuthorityClaudeHandoff: (value: unknown) => asserts value is IStoredAuthorityClaudeHandoff;
124
254
  export declare const assertStoredAuthorityHandoff: (value: unknown) => asserts value is IStoredAuthorityHandoff;
125
255
  export declare const assertStoredAuthorityMigrationLedger: (value: unknown) => asserts value is IStoredAuthorityMigrationLedger;
126
256
  export declare const assertStoredAuthorityEvent: (value: unknown) => asserts value is IStoredAuthorityEvent;
127
- export declare class AuthSwitchAuthorityMetaModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityMetaModel, IStoredAuthorityMeta> {
128
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityMetaModel>;
257
+ export declare const assertStoredAuthorityOperation: (value: unknown) => asserts value is IStoredAuthorityOperation;
258
+ export declare const assertStoredAuthorityOperationDocument: (value: unknown) => asserts value is IStoredAuthorityOperationDocument;
259
+ export declare class AuthSwitchAuthorityMetaModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityMetaModel, IStoredAuthorityMeta> {
260
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityMetaModel>;
129
261
  id: 'authswitch-authority';
130
262
  epoch: string;
131
263
  revision: number;
132
264
  updateId: string;
133
265
  }
134
- export declare class AuthSwitchAuthorityAccountModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityAccountModel, IStoredAuthorityAccount> {
135
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityAccountModel>;
266
+ export declare class AuthSwitchAuthorityAccountModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityAccountModel, IStoredAuthorityAccount> {
267
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityAccountModel>;
136
268
  id: string;
137
269
  providerId: string;
138
270
  issuer: string;
@@ -147,8 +279,8 @@ export declare class AuthSwitchAuthorityAccountModel extends plugins.smartdata.S
147
279
  statusObservedAt: string;
148
280
  updateId: string;
149
281
  }
150
- export declare class AuthSwitchAuthorityGrantModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityGrantModel, IStoredAuthorityGrant> {
151
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityGrantModel>;
282
+ export declare class AuthSwitchAuthorityGrantModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityGrantModel, IStoredAuthorityGrant> {
283
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityGrantModel>;
152
284
  id: string;
153
285
  accountId: string;
154
286
  providerId: string;
@@ -168,8 +300,24 @@ export declare class AuthSwitchAuthorityGrantModel extends plugins.smartdata.Sma
168
300
  statusObservedAt: string;
169
301
  updateId: string;
170
302
  }
171
- export declare class AuthSwitchAuthorityBindingModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityBindingModel, IStoredAuthorityBinding> {
172
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityBindingModel>;
303
+ export declare class AuthSwitchAuthorityUsageModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityUsageModel, IStoredAuthorityUsage> {
304
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityUsageModel>;
305
+ id: string;
306
+ accountId: string;
307
+ loginId: string;
308
+ context: IAuthSwitchStoredUsage['context'];
309
+ updateId: string;
310
+ reading: IAuthSwitchStoredUsage['reading'];
311
+ observedAt: string | null;
312
+ currentUntil: string | null;
313
+ staleUntil: string | null;
314
+ lastAttemptAt: string;
315
+ nextAttemptAt: string;
316
+ failures: number;
317
+ problem: IAuthSwitchStoredUsage['problem'];
318
+ }
319
+ export declare class AuthSwitchAuthorityBindingModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityBindingModel, IStoredAuthorityBinding> {
320
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityBindingModel>;
173
321
  id: string;
174
322
  accountId: string;
175
323
  grantId: string;
@@ -181,25 +329,60 @@ export declare class AuthSwitchAuthorityBindingModel extends plugins.smartdata.S
181
329
  capabilityHash: string;
182
330
  updateId: string;
183
331
  }
184
- export declare class AuthSwitchAuthorityEnrollmentModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityEnrollmentModel, IStoredAuthorityEnrollment> {
185
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityEnrollmentModel>;
332
+ export declare class AuthSwitchAuthorityEnrollmentModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityEnrollmentModel, IStoredAuthorityEnrollment> {
333
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityEnrollmentModel>;
186
334
  id: string;
187
335
  accountId: string;
188
336
  ciphertext: string;
189
337
  revision: number;
190
338
  updateId: string;
191
339
  }
192
- export declare class AuthSwitchAuthorityCodexHomeModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityCodexHomeModel, IStoredAuthorityCodexHome> {
193
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityCodexHomeModel>;
340
+ export declare class AuthSwitchAuthorityCodexHomeModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityCodexHomeModel, IStoredAuthorityCodexHome> {
341
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityCodexHomeModel>;
194
342
  id: string;
195
343
  accountId: string;
344
+ grantId: string;
196
345
  scopeId: string;
197
346
  activeRun: IStoredAuthorityCodexHome['activeRun'];
198
347
  createdAt: string;
199
348
  updateId: string;
200
349
  }
201
- export declare class AuthSwitchAuthorityHandoffModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityHandoffModel, IStoredAuthorityHandoff> {
202
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityHandoffModel>;
350
+ export declare class AuthSwitchAuthorityClaudeHomeModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityClaudeHomeModel, IStoredAuthorityClaudeHome> {
351
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityClaudeHomeModel>;
352
+ id: string;
353
+ activeAccountId: string;
354
+ activeGrantId: string;
355
+ pendingOperationId: string | null;
356
+ status: IStoredAuthorityClaudeHome['status'];
357
+ revision: number;
358
+ createdAt: string;
359
+ updateId: string;
360
+ }
361
+ export declare class AuthSwitchAuthorityClaudeHandoffModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityClaudeHandoffModel, IStoredAuthorityClaudeHandoff> {
362
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityClaudeHandoffModel>;
363
+ id: string;
364
+ homeId: string;
365
+ outgoingAccountId: string;
366
+ outgoingGrantId: string;
367
+ incomingAccountId: string;
368
+ incomingGrantId: string;
369
+ phase: IStoredAuthorityClaudeHandoff['phase'];
370
+ before: IStoredAuthorityNativePair | null;
371
+ after: IStoredAuthorityNativePair | null;
372
+ sourceIdentity: IStoredAuthorityNativeIdentity;
373
+ targetIdentity: IStoredAuthorityNativeIdentity;
374
+ sourceAccessDigest: string | null;
375
+ targetAccessDigest: string | null;
376
+ sealedOutgoing: string | null;
377
+ runningEffectiveAuth: IStoredAuthorityClaudeHandoff['runningEffectiveAuth'];
378
+ problem: IStoredAuthorityClaudeHandoff['problem'];
379
+ startedAt: string;
380
+ updatedAt: string;
381
+ revision: number;
382
+ updateId: string;
383
+ }
384
+ export declare class AuthSwitchAuthorityHandoffModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityHandoffModel, IStoredAuthorityHandoff> {
385
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityHandoffModel>;
203
386
  id: string;
204
387
  accountId: string;
205
388
  grantId: string;
@@ -209,13 +392,12 @@ export declare class AuthSwitchAuthorityHandoffModel extends plugins.smartdata.S
209
392
  operationId: string;
210
393
  sourceDigest: string;
211
394
  verifiedSourceDigest: string | null;
212
- backupDigest: string | null;
213
395
  revision: number;
214
396
  statusObservedAt: string;
215
397
  updateId: string;
216
398
  }
217
- export declare class AuthSwitchAuthorityMigrationLedgerModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityMigrationLedgerModel, IStoredAuthorityMigrationLedger> {
218
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityMigrationLedgerModel>;
399
+ export declare class AuthSwitchAuthorityMigrationLedgerModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityMigrationLedgerModel, IStoredAuthorityMigrationLedger> {
400
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityMigrationLedgerModel>;
219
401
  id: string;
220
402
  version: number;
221
403
  sourceKind: IStoredAuthorityMigrationLedger['sourceKind'];
@@ -224,16 +406,40 @@ export declare class AuthSwitchAuthorityMigrationLedgerModel extends plugins.sma
224
406
  status: IStoredAuthorityMigrationLedger['status'];
225
407
  accountId: string | null;
226
408
  grantId: string | null;
227
- backupDigest: string | null;
228
409
  revision: number;
229
410
  statusObservedAt: string;
230
411
  updateId: string;
231
412
  }
232
- export declare class AuthSwitchAuthorityEventModel extends plugins.smartdata.SmartDataDbDoc<AuthSwitchAuthorityEventModel, IStoredAuthorityEvent> {
233
- static exact: plugins.smartdata.TExact<AuthSwitchAuthorityEventModel>;
413
+ export declare class AuthSwitchAuthorityEventModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityEventModel, IStoredAuthorityEvent> {
414
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityEventModel>;
234
415
  id: string;
235
416
  epoch: string;
236
417
  revision: number;
237
418
  kind: IStoredAuthorityEvent['kind'];
238
419
  accountId: string;
239
420
  }
421
+ export declare class AuthSwitchAuthorityOperationModel extends plugins.nosqldb.SmartDataDbDoc<AuthSwitchAuthorityOperationModel, IStoredAuthorityOperationDocument> {
422
+ static exact: plugins.nosqldb.TExact<AuthSwitchAuthorityOperationModel>;
423
+ id: string;
424
+ kind: IStoredAuthorityOperationDocument['kind'];
425
+ purpose: IStoredAuthorityOperation['purpose'];
426
+ accountId: string | null;
427
+ grantId: string | null;
428
+ expectedGrantGeneration?: number | null;
429
+ state: IStoredAuthorityOperationDocument['state'];
430
+ prompt?: TAuthSwitchLoginPrompt | null;
431
+ result: IStoredAuthorityOperationDocument['result'];
432
+ error?: string | null;
433
+ commitId?: string | null;
434
+ requestHash?: string;
435
+ requestedModel?: string | null;
436
+ model?: string | null;
437
+ authorizationGeneration?: number;
438
+ grantGeneration?: number | null;
439
+ problem?: TStoredAuthorityPreuseProblem;
440
+ createdAt: string;
441
+ updatedAt: string;
442
+ finishedAt: string | null;
443
+ revision: number;
444
+ updateId: string;
445
+ }