@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
@@ -33,6 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
33
  return useValue ? value : void 0;
34
34
  };
35
35
  import * as plugins from './plugins.js';
36
+ export const authorityUsageId = (accountId, loginId) => plugins.crypto.createHash('sha256').update(JSON.stringify(['authswitch-usage-v1', accountId, loginId])).digest('hex');
36
37
  const object = (value) => value !== null && typeof value === 'object' && !Array.isArray(value)
37
38
  && [Object.prototype, null].includes(Object.getPrototypeOf(value));
38
39
  const exactKeys = (value, keys) => Object.keys(value).length === keys.length && keys.every(key => Object.hasOwn(value, key));
@@ -43,6 +44,103 @@ const hash = (value) => typeof value === 'string' && /^[a-f0-9]{64}$/.test(value
43
44
  const revision = (value) => Number.isSafeInteger(value) && Number(value) >= 0;
44
45
  const ciphertext = (value) => value === null
45
46
  || (typeof value === 'string' && value.length > 0 && value.length <= 131072 && /^[A-Za-z0-9_-]+$/.test(value));
47
+ const usageWindow = (value) => object(value)
48
+ && exactKeys(value, ['usedPercent', 'limitWindowSeconds', 'resetAfterSeconds', 'resetsAt'])
49
+ && ['usedPercent', 'limitWindowSeconds', 'resetAfterSeconds', 'resetsAt']
50
+ .every(key => typeof value[key] === 'number' && Number.isFinite(value[key]));
51
+ const usageDetails = (value) => object(value)
52
+ && Object.keys(value).every(key => ['allowed', 'limitReached', 'primaryWindow', 'secondaryWindow'].includes(key))
53
+ && typeof value.allowed === 'boolean' && typeof value.limitReached === 'boolean'
54
+ && (value.primaryWindow === undefined || usageWindow(value.primaryWindow))
55
+ && (value.secondaryWindow === undefined || usageWindow(value.secondaryWindow));
56
+ const usageRateLimits = (value) => object(value)
57
+ && Object.keys(value).every(key => ['providerId', 'plan', 'observedAt', 'rateLimit',
58
+ 'additionalRateLimits', 'rateLimitReachedType', 'rateLimitResetCreditsAvailableCount'].includes(key))
59
+ && value.providerId === 'openai' && bounded(value.plan, 256) && iso(value.observedAt)
60
+ && (value.rateLimit === undefined || usageDetails(value.rateLimit))
61
+ && Array.isArray(value.additionalRateLimits) && value.additionalRateLimits.length <= 128
62
+ && value.additionalRateLimits.every((item) => object(item)
63
+ && Object.keys(item).every(key => ['limitName', 'meteredFeature', 'rateLimit'].includes(key))
64
+ && bounded(item.limitName, 256) && bounded(item.meteredFeature, 256)
65
+ && (item.rateLimit === undefined || usageDetails(item.rateLimit)))
66
+ && (value.rateLimitReachedType === undefined || bounded(value.rateLimitReachedType, 256))
67
+ && (value.rateLimitResetCreditsAvailableCount === undefined
68
+ || (typeof value.rateLimitResetCreditsAvailableCount === 'number'
69
+ && Number.isFinite(value.rateLimitResetCreditsAvailableCount)));
70
+ const usageStatusText = (value) => typeof value === 'string' && value.length <= 500
71
+ && !/[\u0000-\u001f\u007f-\u009f]/.test(value);
72
+ const usageClaudeStatus = (value) => object(value)
73
+ && exactKeys(value, ['plan', 'windows', 'facts', 'problems', 'rateLimit'])
74
+ && (value.plan === null || (object(value.plan) && exactKeys(value.plan, ['name', 'source'])
75
+ && usageStatusText(value.plan.name) && ['live', 'stored'].includes(String(value.plan.source))))
76
+ && (value.windows === null || (Array.isArray(value.windows) && value.windows.length <= 128
77
+ && value.windows.every((window) => object(window)
78
+ && Object.keys(window).every(key => ['label', 'scope', 'durationSeconds', 'usedPercent',
79
+ 'resetAt', 'severity', 'headline'].includes(key))
80
+ && ['label', 'scope', 'durationSeconds', 'usedPercent', 'resetAt'].every(key => Object.hasOwn(window, key))
81
+ && usageStatusText(window.label) && ['account', 'feature'].includes(String(window.scope))
82
+ && Number.isSafeInteger(window.durationSeconds) && Number(window.durationSeconds) > 0
83
+ && typeof window.usedPercent === 'number' && Number.isFinite(window.usedPercent)
84
+ && window.usedPercent >= 0 && (window.resetAt === null || iso(window.resetAt))
85
+ && (window.severity === undefined || ['normal', 'warning', 'critical'].includes(String(window.severity)))
86
+ && (window.headline === undefined || window.headline === true))))
87
+ && Array.isArray(value.facts) && value.facts.length <= 128
88
+ && value.facts.every((fact) => object(fact)
89
+ && Object.keys(fact).every(key => ['section', 'label', 'value', 'summaryKey'].includes(key))
90
+ && ['section', 'label', 'value'].every(key => Object.hasOwn(fact, key))
91
+ && (fact.section === null || usageStatusText(fact.section))
92
+ && usageStatusText(fact.label) && usageStatusText(fact.value)
93
+ && (fact.summaryKey === undefined || ['subscription', 'billing', 'usageWindows', 'resets',
94
+ 'resetDetails'].includes(String(fact.summaryKey))))
95
+ && Array.isArray(value.problems) && value.problems.length <= 32
96
+ && value.problems.every(usageStatusText)
97
+ && (value.rateLimit === null || (object(value.rateLimit)
98
+ && exactKeys(value.rateLimit, ['retryAt'])
99
+ && (value.rateLimit.retryAt === null || iso(value.rateLimit.retryAt))));
100
+ const usageReading = (value) => object(value)
101
+ && (value.kind === 'openai' ? exactKeys(value, ['kind', 'rateLimits']) && usageRateLimits(value.rateLimits)
102
+ : value.kind === 'anthropic' && exactKeys(value, ['kind', 'status'])
103
+ && usageClaudeStatus(value.status));
104
+ export const assertStoredAuthorityUsage = value => {
105
+ if (!object(value) || !exactKeys(value, ['id', 'accountId', 'loginId', 'context', 'updateId',
106
+ 'reading', 'observedAt', 'currentUntil', 'staleUntil', 'lastAttemptAt', 'nextAttemptAt',
107
+ 'failures', 'problem']) || !hash(value.accountId) || !hash(value.loginId)
108
+ || value.id !== authorityUsageId(value.accountId, value.loginId)
109
+ || !object(value.context) || !exactKeys(value.context, ['epoch', 'accountId', 'loginId',
110
+ 'subjectId', 'workspaceId', 'providerId', 'purpose', 'owner', 'grantState', 'removed',
111
+ 'authorizationGeneration', 'grantGeneration', 'nativeSource'])
112
+ || !uuid(value.context.epoch) || value.context.accountId !== value.accountId
113
+ || value.context.loginId !== value.loginId || !bounded(value.context.subjectId)
114
+ || !bounded(value.context.workspaceId)
115
+ || !((value.context.providerId === 'openai' && value.context.purpose === 'openai_managed'
116
+ && value.context.owner === 'daemon' && value.context.nativeSource === null
117
+ && ['ready', 'retry_wait'].includes(String(value.context.grantState)))
118
+ || (value.context.providerId === 'anthropic' && value.context.purpose === 'claude_host_native'
119
+ && ((value.context.owner === 'daemon' && value.context.nativeSource === null
120
+ && ['ready', 'retry_wait'].includes(String(value.context.grantState)))
121
+ || (value.context.owner === 'claude_native' && value.context.grantState === 'native'
122
+ && object(value.context.nativeSource)
123
+ && exactKeys(value.context.nativeSource, ['homeId', 'credentialDigest',
124
+ 'configDigest', 'accessTokenDigest'])
125
+ && hash(value.context.nativeSource.homeId)
126
+ && hash(value.context.nativeSource.credentialDigest)
127
+ && hash(value.context.nativeSource.configDigest)
128
+ && hash(value.context.nativeSource.accessTokenDigest)))))
129
+ || value.context.removed !== false || !revision(value.context.authorizationGeneration)
130
+ || !revision(value.context.grantGeneration) || !uuid(value.updateId)
131
+ || (value.reading !== null && (!object(value.reading) || !usageReading(value.reading)
132
+ || (value.context.providerId === 'openai' ? value.reading.kind !== 'openai'
133
+ : value.reading.kind !== 'anthropic')))
134
+ || (value.observedAt !== null && !iso(value.observedAt))
135
+ || (value.currentUntil !== null && !iso(value.currentUntil))
136
+ || (value.staleUntil !== null && !iso(value.staleUntil))
137
+ || !iso(value.lastAttemptAt) || !iso(value.nextAttemptAt)
138
+ || !revision(value.failures) || value.failures > 16
139
+ || !['none', 'unsupported', 'access_unavailable', 'provider_unavailable', 'provider_rejected',
140
+ 'profile_unavailable', 'usage_unavailable'].includes(String(value.problem))) {
141
+ throw new Error('Invalid credential-free authority usage record.');
142
+ }
143
+ };
46
144
  export const assertStoredAuthorityMeta = value => {
47
145
  if (!object(value) || !exactKeys(value, ['id', 'epoch', 'revision', 'updateId'])
48
146
  || value.id !== 'authswitch-authority' || !uuid(value.epoch)
@@ -70,7 +168,7 @@ export const assertStoredAuthorityGrant = value => {
70
168
  || typeof value.providerId !== 'string' || !/^[a-z][a-z0-9-]{0,63}$/.test(value.providerId)
71
169
  || !['openai_managed', 'claude_host_native', 'claude_container_setup', 'opencode_native'].includes(String(value.purpose))
72
170
  || !bounded(value.audience)
73
- || !['ready', 'exchange_may_have_been_sent', 'retry_wait', 'needs_reauth', 'native', 'legacy_native_pending', 'removed'].includes(String(value.state))
171
+ || !['ready', 'exchange_may_have_been_sent', 'retry_wait', 'needs_reauth', 'native', 'legacy_native_pending', 'handoff_pending', 'handoff_quarantined', 'removed'].includes(String(value.state))
74
172
  || !['daemon', 'claude_native', 'legacy_native', 'none'].includes(String(value.owner))
75
173
  || !revision(value.grantGeneration) || !revision(value.authorizationGeneration)
76
174
  || !revision(value.revision) || !ciphertext(value.ciphertext)
@@ -92,6 +190,14 @@ export const assertStoredAuthorityGrant = value => {
92
190
  throw new Error('A removed grant was retained.');
93
191
  if (value.state === 'legacy_native_pending' && value.owner !== 'legacy_native')
94
192
  throw new Error('A legacy native grant cannot be daemon-owned.');
193
+ if (['handoff_pending', 'handoff_quarantined'].includes(String(value.state))
194
+ && value.purpose !== 'claude_host_native')
195
+ throw new Error('Only a Claude host grant may enter native handoff.');
196
+ if (['handoff_pending', 'handoff_quarantined'].includes(String(value.state))
197
+ && (value.owner === 'daemon' ? value.ciphertext === null
198
+ : value.owner !== 'claude_native' || value.ciphertext !== null)) {
199
+ throw new Error('Claude handoff grant has incompatible custody.');
200
+ }
95
201
  if (value.purpose === 'openai_managed' && value.providerId !== 'openai')
96
202
  throw new Error('OpenAI grant provider mismatch.');
97
203
  if (value.purpose === 'claude_container_setup' && value.owner === 'claude_native')
@@ -115,8 +221,8 @@ export const assertStoredAuthorityEnrollment = value => {
115
221
  throw new Error('Invalid authswitch enrollment record.');
116
222
  };
117
223
  export const assertStoredAuthorityCodexHome = value => {
118
- if (!object(value) || !exactKeys(value, ['id', 'accountId', 'scopeId', 'activeRun', 'createdAt', 'updateId'])
119
- || !hash(value.id) || !hash(value.accountId) || !bounded(value.scopeId)
224
+ if (!object(value) || !exactKeys(value, ['id', 'accountId', 'grantId', 'scopeId', 'activeRun', 'createdAt', 'updateId'])
225
+ || !hash(value.id) || !hash(value.accountId) || !hash(value.grantId) || !bounded(value.scopeId)
120
226
  || !iso(value.createdAt) || !uuid(value.updateId)) {
121
227
  throw new Error('Invalid managed Codex home assignment.');
122
228
  }
@@ -130,36 +236,88 @@ export const assertStoredAuthorityCodexHome = value => {
130
236
  throw new Error('Invalid managed Codex run assignment.');
131
237
  }
132
238
  };
239
+ export const assertStoredAuthorityClaudeHome = value => {
240
+ if (!object(value) || !exactKeys(value, ['id', 'activeAccountId', 'activeGrantId', 'pendingOperationId',
241
+ 'status', 'revision', 'createdAt', 'updateId']) || !hash(value.id) || !hash(value.activeAccountId)
242
+ || !hash(value.activeGrantId) || (value.pendingOperationId !== null && !uuid(value.pendingOperationId))
243
+ || !['ready', 'quarantined'].includes(String(value.status)) || !revision(value.revision)
244
+ || value.revision === 0 || !iso(value.createdAt) || !uuid(value.updateId)
245
+ || (value.status === 'quarantined' && value.pendingOperationId === null)) {
246
+ throw new Error('Invalid Claude native home assignment.');
247
+ }
248
+ };
249
+ const nativePair = (value) => object(value)
250
+ && exactKeys(value, ['credentialDigest', 'configDigest'])
251
+ && (value.credentialDigest === null || hash(value.credentialDigest))
252
+ && (value.configDigest === null || hash(value.configDigest));
253
+ const nativeIdentity = (value) => object(value)
254
+ && exactKeys(value, ['accountUuid', 'organizationUuid'])
255
+ && bounded(value.accountUuid) && bounded(value.organizationUuid);
256
+ export const assertStoredAuthorityClaudeHandoff = value => {
257
+ if (!object(value) || !exactKeys(value, ['id', 'homeId', 'outgoingAccountId', 'outgoingGrantId',
258
+ 'incomingAccountId', 'incomingGrantId', 'phase', 'before', 'after', 'sourceIdentity',
259
+ 'targetIdentity', 'sourceAccessDigest', 'targetAccessDigest', 'sealedOutgoing',
260
+ 'runningEffectiveAuth', 'problem', 'startedAt', 'updatedAt', 'revision', 'updateId'])
261
+ || !uuid(value.id) || !hash(value.homeId) || !hash(value.outgoingAccountId)
262
+ || !hash(value.outgoingGrantId) || !hash(value.incomingAccountId) || !hash(value.incomingGrantId)
263
+ || value.outgoingAccountId === value.incomingAccountId || value.outgoingGrantId === value.incomingGrantId
264
+ || !['reserved', 'prepared', 'committed', 'aborted', 'quarantined'].includes(String(value.phase))
265
+ || (value.before !== null && !nativePair(value.before)) || (value.after !== null && !nativePair(value.after))
266
+ || !nativeIdentity(value.sourceIdentity) || !nativeIdentity(value.targetIdentity)
267
+ || (value.sourceAccessDigest !== null && !hash(value.sourceAccessDigest))
268
+ || (value.targetAccessDigest !== null && !hash(value.targetAccessDigest))
269
+ || !ciphertext(value.sealedOutgoing)
270
+ || ![null, 'no_scoped_sessions', 'unsupported_effective_auth'].includes(value.runningEffectiveAuth)
271
+ || !['none', 'native_uncertain', 'foreign_or_torn', 'unsupported_effective_auth', 'database_uncertain'].includes(String(value.problem))
272
+ || !iso(value.startedAt) || !iso(value.updatedAt) || !revision(value.revision)
273
+ || value.revision === 0 || !uuid(value.updateId))
274
+ throw new Error('Invalid Claude native handoff.');
275
+ const hasProof = value.before !== null && value.after !== null
276
+ && value.sourceAccessDigest !== null && value.targetAccessDigest !== null;
277
+ const hasNoProof = value.before === null && value.after === null
278
+ && value.sourceAccessDigest === null && value.targetAccessDigest === null;
279
+ if ((value.phase === 'reserved' && (!hasNoProof || value.sealedOutgoing !== null))
280
+ || (['prepared', 'committed'].includes(String(value.phase)) && !hasProof)
281
+ || (['aborted', 'quarantined'].includes(String(value.phase)) && !hasProof && !hasNoProof)) {
282
+ throw new Error('Claude handoff phase lacks exact native proof.');
283
+ }
284
+ if (value.phase === 'prepared' && value.sealedOutgoing === null)
285
+ throw new Error('Prepared Claude handoff lacks sealed outgoing grant.');
286
+ if (['committed', 'aborted'].includes(String(value.phase)) && value.sealedOutgoing !== null) {
287
+ throw new Error('Terminal Claude handoff retained a grant copy.');
288
+ }
289
+ };
133
290
  export const assertStoredAuthorityHandoff = value => {
134
291
  if (!object(value) || !exactKeys(value, ['id', 'accountId', 'grantId', 'nativeHomeId', 'direction', 'phase',
135
- 'operationId', 'sourceDigest', 'verifiedSourceDigest', 'backupDigest', 'revision', 'statusObservedAt', 'updateId'])
292
+ 'operationId', 'sourceDigest', 'verifiedSourceDigest', 'revision', 'statusObservedAt', 'updateId'])
136
293
  || !hash(value.id) || !hash(value.accountId) || !hash(value.grantId) || !hash(value.nativeHomeId)
137
294
  || !['to_native', 'to_daemon'].includes(String(value.direction))
138
295
  || !['prepared', 'source_stopped', 'target_written', 'verified', 'committed', 'needs_reauth', 'aborted'].includes(String(value.phase))
139
296
  || !uuid(value.operationId) || !hash(value.sourceDigest)
140
297
  || (value.verifiedSourceDigest !== null && !hash(value.verifiedSourceDigest))
141
- || (value.backupDigest !== null && !hash(value.backupDigest))
142
298
  || !revision(value.revision) || !iso(value.statusObservedAt) || !uuid(value.updateId)) {
143
299
  throw new Error('Invalid authswitch handoff record.');
144
300
  }
145
- if (['verified', 'committed'].includes(String(value.phase))
146
- && (value.backupDigest === null || value.verifiedSourceDigest === null)) {
147
- throw new Error('A verified native handoff requires source and backup proof.');
301
+ if (['verified', 'committed'].includes(String(value.phase)) && value.verifiedSourceDigest === null) {
302
+ throw new Error('A verified native handoff requires source proof.');
148
303
  }
149
304
  };
150
305
  export const assertStoredAuthorityMigrationLedger = value => {
151
306
  if (!object(value) || !exactKeys(value, ['id', 'version', 'sourceKind', 'sourcePathHash', 'sourceDigest',
152
- 'status', 'accountId', 'grantId', 'backupDigest', 'revision', 'statusObservedAt', 'updateId'])
307
+ 'status', 'accountId', 'grantId', 'revision', 'statusObservedAt', 'updateId'])
153
308
  || !hash(value.id) || !revision(value.version) || value.version === 0
154
309
  || !['authswitch_stash', 'authswitch_backup', 'agl_flex', 'codex_native', 'opencode_native', 'claude_native'].includes(String(value.sourceKind))
155
310
  || !hash(value.sourcePathHash) || !hash(value.sourceDigest)
156
311
  || !['pending_native_owner', 'prepared', 'verified', 'complete', 'quarantined'].includes(String(value.status))
157
312
  || (value.accountId !== null && !hash(value.accountId))
158
313
  || (value.grantId !== null && !hash(value.grantId))
159
- || (value.backupDigest !== null && !hash(value.backupDigest))
160
314
  || !revision(value.revision) || !iso(value.statusObservedAt) || !uuid(value.updateId)) {
161
315
  throw new Error('Invalid authswitch migration ledger record.');
162
316
  }
317
+ // Every row carries its source digest; a verified import additionally names the account and grant it produced.
318
+ if (['verified', 'complete'].includes(String(value.status)) && (value.accountId === null || value.grantId === null)) {
319
+ throw new Error('A verified migration requires the imported account and grant.');
320
+ }
163
321
  };
164
322
  export const assertStoredAuthorityEvent = value => {
165
323
  if (!object(value) || !exactKeys(value, ['id', 'epoch', 'revision', 'kind', 'accountId'])
@@ -167,12 +325,129 @@ export const assertStoredAuthorityEvent = value => {
167
325
  || !['account', 'binding'].includes(String(value.kind)) || !hash(value.accountId))
168
326
  throw new Error('Invalid authswitch event record.');
169
327
  };
328
+ const assertStoredAuthorityDeviceOperation = value => {
329
+ if (!object(value) || !exactKeys(value, ['id', 'kind', 'purpose', 'accountId', 'grantId',
330
+ 'expectedGrantGeneration', 'state', 'prompt', 'result', 'error', 'commitId', 'createdAt',
331
+ 'updatedAt', 'finishedAt', 'revision', 'updateId'])
332
+ || !uuid(value.id) || !['add_openai', 'reauth_openai'].includes(String(value.kind))
333
+ || value.purpose !== 'openai_managed'
334
+ || (value.accountId !== null && !hash(value.accountId))
335
+ || (value.grantId !== null && !hash(value.grantId))
336
+ || (value.expectedGrantGeneration !== null && !revision(value.expectedGrantGeneration))
337
+ || !['starting', 'pending', 'committing', 'complete', 'failed', 'cancelled', 'interrupted', 'outcome_unknown'].includes(String(value.state))
338
+ || (value.commitId !== null && !uuid(value.commitId))
339
+ || !iso(value.createdAt) || !iso(value.updatedAt)
340
+ || (value.finishedAt !== null && !iso(value.finishedAt))
341
+ || !revision(value.revision) || value.revision === 0 || !uuid(value.updateId)) {
342
+ throw new Error('Invalid authswitch operation record.');
343
+ }
344
+ if (value.kind === 'add_openai'
345
+ ? value.accountId !== null || value.grantId !== null || value.expectedGrantGeneration !== null
346
+ : value.accountId === null || value.grantId === null || value.expectedGrantGeneration === null) {
347
+ throw new Error('Invalid authswitch operation target.');
348
+ }
349
+ if (value.prompt !== null && (!object(value.prompt)
350
+ || (value.prompt.flow === 'device'
351
+ ? !exactKeys(value.prompt, ['flow', 'verificationUrl', 'userCode'])
352
+ || !bounded(value.prompt.verificationUrl, 2048) || !bounded(value.prompt.userCode, 128)
353
+ : value.prompt.flow === 'browser'
354
+ ? !exactKeys(value.prompt, ['flow', 'authUrl']) || !bounded(value.prompt.authUrl, 2048)
355
+ : true)))
356
+ throw new Error('Invalid authswitch operation prompt.');
357
+ if (value.result !== null && (!object(value.result)
358
+ || !exactKeys(value.result, ['accountId', 'grantId', 'accountRevision', 'grantGeneration'])
359
+ || !hash(value.result.accountId) || !hash(value.result.grantId)
360
+ || !revision(value.result.accountRevision) || !revision(value.result.grantGeneration))) {
361
+ throw new Error('Invalid authswitch operation result.');
362
+ }
363
+ if (value.error !== null && !bounded(value.error, 512))
364
+ throw new Error('Invalid authswitch operation error.');
365
+ if (['starting', 'pending', 'committing'].includes(String(value.state))) {
366
+ if (value.finishedAt !== null || value.result !== null || value.error !== null
367
+ || (value.state === 'pending') !== (value.prompt !== null)
368
+ || (value.state === 'committing') !== (value.commitId !== null)) {
369
+ throw new Error('Invalid pending authswitch operation.');
370
+ }
371
+ }
372
+ else if (value.finishedAt === null || value.prompt !== null
373
+ || (value.state === 'complete' ? value.result === null || value.error !== null || value.commitId === null
374
+ : value.result !== null || value.error === null)) {
375
+ throw new Error('Invalid terminal authswitch operation.');
376
+ }
377
+ };
378
+ const modelId = (value) => typeof value === 'string'
379
+ && /^[a-zA-Z0-9][a-zA-Z0-9._:/-]{0,127}$/.test(value);
380
+ const tokenCount = (value) => value === null
381
+ || (Number.isSafeInteger(value) && Number(value) >= 0);
382
+ const assertStoredAuthorityPreuseOperation = value => {
383
+ if (!object(value) || !exactKeys(value, ['id', 'kind', 'purpose', 'accountId', 'grantId', 'requestHash',
384
+ 'requestedModel', 'model', 'authorizationGeneration', 'grantGeneration', 'state', 'result', 'problem',
385
+ 'createdAt', 'updatedAt', 'finishedAt', 'revision', 'updateId'])
386
+ || !uuid(value.id) || value.kind !== 'preuse_openai' || value.purpose !== 'openai_managed'
387
+ || !hash(value.accountId) || !hash(value.grantId) || !hash(value.requestHash)
388
+ || (value.requestedModel !== null && !modelId(value.requestedModel))
389
+ || (value.model !== null && !modelId(value.model))
390
+ || !revision(value.authorizationGeneration) || value.authorizationGeneration === 0
391
+ || (value.grantGeneration !== null && (!revision(value.grantGeneration) || value.grantGeneration === 0))
392
+ || !['preparing', 'request_may_have_started', 'complete', 'not_sent', 'outcome_unknown'].includes(String(value.state))
393
+ || !['none', 'target_unavailable', 'access_unavailable', 'catalog_unavailable', 'account_busy', 'cancelled',
394
+ 'authority_closing', 'interrupted', 'request_uncertain'].includes(String(value.problem))
395
+ || !iso(value.createdAt) || !iso(value.updatedAt)
396
+ || (value.finishedAt !== null && !iso(value.finishedAt))
397
+ || !revision(value.revision) || value.revision === 0 || !uuid(value.updateId)) {
398
+ throw new Error('Invalid authswitch preuse operation record.');
399
+ }
400
+ if (value.result !== null && (!object(value.result)
401
+ || !exactKeys(value.result, ['inputTokens', 'outputTokens', 'totalTokens'])
402
+ || !tokenCount(value.result.inputTokens) || !tokenCount(value.result.outputTokens)
403
+ || !tokenCount(value.result.totalTokens))) {
404
+ throw new Error('Invalid authswitch preuse operation result.');
405
+ }
406
+ if (value.state === 'preparing') {
407
+ if (value.model !== null || value.grantGeneration !== null || value.result !== null
408
+ || value.problem !== 'none' || value.finishedAt !== null) {
409
+ throw new Error('Invalid preparing authswitch preuse operation.');
410
+ }
411
+ }
412
+ else if (value.state === 'request_may_have_started') {
413
+ if (value.model === null || value.grantGeneration === null || value.result !== null
414
+ || value.problem !== 'none' || value.finishedAt !== null) {
415
+ throw new Error('Invalid active authswitch preuse operation.');
416
+ }
417
+ }
418
+ else if (value.state === 'complete') {
419
+ if (value.model === null || value.grantGeneration === null || value.result === null
420
+ || value.problem !== 'none' || value.finishedAt === null) {
421
+ throw new Error('Invalid completed authswitch preuse operation.');
422
+ }
423
+ }
424
+ else if (value.state === 'not_sent') {
425
+ if (value.model !== null || value.grantGeneration !== null || value.result !== null
426
+ || value.problem === 'none' || value.problem === 'request_uncertain' || value.finishedAt === null) {
427
+ throw new Error('Invalid unsent authswitch preuse operation.');
428
+ }
429
+ }
430
+ else if (value.result !== null || value.finishedAt === null || value.model === null
431
+ || value.grantGeneration === null
432
+ || !['cancelled', 'authority_closing', 'request_uncertain'].includes(String(value.problem))) {
433
+ throw new Error('Invalid uncertain authswitch preuse operation.');
434
+ }
435
+ };
436
+ export const assertStoredAuthorityOperation = value => {
437
+ if (object(value) && value.kind === 'preuse_openai')
438
+ assertStoredAuthorityPreuseOperation(value);
439
+ else
440
+ assertStoredAuthorityDeviceOperation(value);
441
+ };
442
+ export const assertStoredAuthorityOperationDocument = value => {
443
+ assertStoredAuthorityOperation(value);
444
+ };
170
445
  let AuthSwitchAuthorityMetaModel = (() => {
171
- let _classDecorators = [plugins.smartdata.managed({ collectionName: 'authswitch_authority_meta' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityMeta })];
446
+ let _classDecorators = [plugins.nosqldb.managed({ collectionName: 'authswitch_authority_meta' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityMeta })];
172
447
  let _classDescriptor;
173
448
  let _classExtraInitializers = [];
174
449
  let _classThis;
175
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
450
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
176
451
  let _id_decorators;
177
452
  let _id_initializers = [];
178
453
  let _id_extraInitializers = [];
@@ -189,10 +464,10 @@ let AuthSwitchAuthorityMetaModel = (() => {
189
464
  static { _classThis = this; }
190
465
  static {
191
466
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
192
- _id_decorators = [plugins.smartdata.unI()];
193
- _epoch_decorators = [plugins.smartdata.svDb()];
194
- _revision_decorators = [plugins.smartdata.svDb()];
195
- _updateId_decorators = [plugins.smartdata.svDb()];
467
+ _id_decorators = [plugins.nosqldb.unI()];
468
+ _epoch_decorators = [plugins.nosqldb.svDb()];
469
+ _revision_decorators = [plugins.nosqldb.svDb()];
470
+ _updateId_decorators = [plugins.nosqldb.svDb()];
196
471
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
197
472
  __esDecorate(null, null, _epoch_decorators, { kind: "field", name: "epoch", static: false, private: false, access: { has: obj => "epoch" in obj, get: obj => obj.epoch, set: (obj, value) => { obj.epoch = value; } }, metadata: _metadata }, _epoch_initializers, _epoch_extraInitializers);
198
473
  __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
@@ -215,11 +490,11 @@ let AuthSwitchAuthorityMetaModel = (() => {
215
490
  })();
216
491
  export { AuthSwitchAuthorityMetaModel };
217
492
  let AuthSwitchAuthorityAccountModel = (() => {
218
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_account_provider_id', key: { providerId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_accounts' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityAccount })];
493
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_account_provider_id', key: { providerId: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_accounts' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityAccount })];
219
494
  let _classDescriptor;
220
495
  let _classExtraInitializers = [];
221
496
  let _classThis;
222
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
497
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
223
498
  let _id_decorators;
224
499
  let _id_initializers = [];
225
500
  let _id_extraInitializers = [];
@@ -263,19 +538,19 @@ let AuthSwitchAuthorityAccountModel = (() => {
263
538
  static { _classThis = this; }
264
539
  static {
265
540
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
266
- _id_decorators = [plugins.smartdata.unI()];
267
- _providerId_decorators = [plugins.smartdata.svDb()];
268
- _issuer_decorators = [plugins.smartdata.svDb()];
269
- _subject_decorators = [plugins.smartdata.svDb()];
270
- _workspaceId_decorators = [plugins.smartdata.svDb()];
271
- _label_decorators = [plugins.smartdata.svDb()];
272
- _email_decorators = [plugins.smartdata.svDb()];
273
- _plan_decorators = [plugins.smartdata.svDb()];
274
- _primaryGrantId_decorators = [plugins.smartdata.svDb()];
275
- _removed_decorators = [plugins.smartdata.svDb()];
276
- _revision_decorators = [plugins.smartdata.svDb()];
277
- _statusObservedAt_decorators = [plugins.smartdata.svDb()];
278
- _updateId_decorators = [plugins.smartdata.svDb()];
541
+ _id_decorators = [plugins.nosqldb.unI()];
542
+ _providerId_decorators = [plugins.nosqldb.svDb()];
543
+ _issuer_decorators = [plugins.nosqldb.svDb()];
544
+ _subject_decorators = [plugins.nosqldb.svDb()];
545
+ _workspaceId_decorators = [plugins.nosqldb.svDb()];
546
+ _label_decorators = [plugins.nosqldb.svDb()];
547
+ _email_decorators = [plugins.nosqldb.svDb()];
548
+ _plan_decorators = [plugins.nosqldb.svDb()];
549
+ _primaryGrantId_decorators = [plugins.nosqldb.svDb()];
550
+ _removed_decorators = [plugins.nosqldb.svDb()];
551
+ _revision_decorators = [plugins.nosqldb.svDb()];
552
+ _statusObservedAt_decorators = [plugins.nosqldb.svDb()];
553
+ _updateId_decorators = [plugins.nosqldb.svDb()];
279
554
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
280
555
  __esDecorate(null, null, _providerId_decorators, { kind: "field", name: "providerId", static: false, private: false, access: { has: obj => "providerId" in obj, get: obj => obj.providerId, set: (obj, value) => { obj.providerId = value; } }, metadata: _metadata }, _providerId_initializers, _providerId_extraInitializers);
281
556
  __esDecorate(null, null, _issuer_decorators, { kind: "field", name: "issuer", static: false, private: false, access: { has: obj => "issuer" in obj, get: obj => obj.issuer, set: (obj, value) => { obj.issuer = value; } }, metadata: _metadata }, _issuer_initializers, _issuer_extraInitializers);
@@ -316,11 +591,11 @@ let AuthSwitchAuthorityAccountModel = (() => {
316
591
  })();
317
592
  export { AuthSwitchAuthorityAccountModel };
318
593
  let AuthSwitchAuthorityGrantModel = (() => {
319
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_grant_state_id', key: { state: 1, id: 1 } }), plugins.smartdata.compoundIndex({ name: 'authority_grant_account_id', key: { accountId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_grants' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityGrant })];
594
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_grant_state_id', key: { state: 1, id: 1 } }), plugins.nosqldb.compoundIndex({ name: 'authority_grant_account_id', key: { accountId: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_grants' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityGrant })];
320
595
  let _classDescriptor;
321
596
  let _classExtraInitializers = [];
322
597
  let _classThis;
323
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
598
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
324
599
  let _id_decorators;
325
600
  let _id_initializers = [];
326
601
  let _id_extraInitializers = [];
@@ -379,24 +654,24 @@ let AuthSwitchAuthorityGrantModel = (() => {
379
654
  static { _classThis = this; }
380
655
  static {
381
656
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
382
- _id_decorators = [plugins.smartdata.unI()];
383
- _accountId_decorators = [plugins.smartdata.svDb()];
384
- _providerId_decorators = [plugins.smartdata.svDb()];
385
- _purpose_decorators = [plugins.smartdata.svDb()];
386
- _audience_decorators = [plugins.smartdata.svDb()];
387
- _state_decorators = [plugins.smartdata.svDb()];
388
- _owner_decorators = [plugins.smartdata.svDb()];
389
- _grantGeneration_decorators = [plugins.smartdata.svDb()];
390
- _authorizationGeneration_decorators = [plugins.smartdata.svDb()];
391
- _revision_decorators = [plugins.smartdata.svDb()];
392
- _ciphertext_decorators = [plugins.smartdata.svDb()];
393
- _accessExpiresAt_decorators = [plugins.smartdata.svDb()];
394
- _attemptId_decorators = [plugins.smartdata.svDb()];
395
- _retryAt_decorators = [plugins.smartdata.svDb()];
396
- _retryCount_decorators = [plugins.smartdata.svDb()];
397
- _problem_decorators = [plugins.smartdata.svDb()];
398
- _statusObservedAt_decorators = [plugins.smartdata.svDb()];
399
- _updateId_decorators = [plugins.smartdata.svDb()];
657
+ _id_decorators = [plugins.nosqldb.unI()];
658
+ _accountId_decorators = [plugins.nosqldb.svDb()];
659
+ _providerId_decorators = [plugins.nosqldb.svDb()];
660
+ _purpose_decorators = [plugins.nosqldb.svDb()];
661
+ _audience_decorators = [plugins.nosqldb.svDb()];
662
+ _state_decorators = [plugins.nosqldb.svDb()];
663
+ _owner_decorators = [plugins.nosqldb.svDb()];
664
+ _grantGeneration_decorators = [plugins.nosqldb.svDb()];
665
+ _authorizationGeneration_decorators = [plugins.nosqldb.svDb()];
666
+ _revision_decorators = [plugins.nosqldb.svDb()];
667
+ _ciphertext_decorators = [plugins.nosqldb.svDb()];
668
+ _accessExpiresAt_decorators = [plugins.nosqldb.svDb()];
669
+ _attemptId_decorators = [plugins.nosqldb.svDb()];
670
+ _retryAt_decorators = [plugins.nosqldb.svDb()];
671
+ _retryCount_decorators = [plugins.nosqldb.svDb()];
672
+ _problem_decorators = [plugins.nosqldb.svDb()];
673
+ _statusObservedAt_decorators = [plugins.nosqldb.svDb()];
674
+ _updateId_decorators = [plugins.nosqldb.svDb()];
400
675
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
401
676
  __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
402
677
  __esDecorate(null, null, _providerId_decorators, { kind: "field", name: "providerId", static: false, private: false, access: { has: obj => "providerId" in obj, get: obj => obj.providerId, set: (obj, value) => { obj.providerId = value; } }, metadata: _metadata }, _providerId_initializers, _providerId_extraInitializers);
@@ -446,12 +721,113 @@ let AuthSwitchAuthorityGrantModel = (() => {
446
721
  return AuthSwitchAuthorityGrantModel = _classThis;
447
722
  })();
448
723
  export { AuthSwitchAuthorityGrantModel };
724
+ let AuthSwitchAuthorityUsageModel = (() => {
725
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_usage_account_login', key: { accountId: 1, loginId: 1 }, options: { unique: true } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_usage' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityUsage })];
726
+ let _classDescriptor;
727
+ let _classExtraInitializers = [];
728
+ let _classThis;
729
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
730
+ let _id_decorators;
731
+ let _id_initializers = [];
732
+ let _id_extraInitializers = [];
733
+ let _accountId_decorators;
734
+ let _accountId_initializers = [];
735
+ let _accountId_extraInitializers = [];
736
+ let _loginId_decorators;
737
+ let _loginId_initializers = [];
738
+ let _loginId_extraInitializers = [];
739
+ let _context_decorators;
740
+ let _context_initializers = [];
741
+ let _context_extraInitializers = [];
742
+ let _updateId_decorators;
743
+ let _updateId_initializers = [];
744
+ let _updateId_extraInitializers = [];
745
+ let _reading_decorators;
746
+ let _reading_initializers = [];
747
+ let _reading_extraInitializers = [];
748
+ let _observedAt_decorators;
749
+ let _observedAt_initializers = [];
750
+ let _observedAt_extraInitializers = [];
751
+ let _currentUntil_decorators;
752
+ let _currentUntil_initializers = [];
753
+ let _currentUntil_extraInitializers = [];
754
+ let _staleUntil_decorators;
755
+ let _staleUntil_initializers = [];
756
+ let _staleUntil_extraInitializers = [];
757
+ let _lastAttemptAt_decorators;
758
+ let _lastAttemptAt_initializers = [];
759
+ let _lastAttemptAt_extraInitializers = [];
760
+ let _nextAttemptAt_decorators;
761
+ let _nextAttemptAt_initializers = [];
762
+ let _nextAttemptAt_extraInitializers = [];
763
+ let _failures_decorators;
764
+ let _failures_initializers = [];
765
+ let _failures_extraInitializers = [];
766
+ let _problem_decorators;
767
+ let _problem_initializers = [];
768
+ let _problem_extraInitializers = [];
769
+ var AuthSwitchAuthorityUsageModel = class extends _classSuper {
770
+ static { _classThis = this; }
771
+ static {
772
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
773
+ _id_decorators = [plugins.nosqldb.unI()];
774
+ _accountId_decorators = [plugins.nosqldb.svDb()];
775
+ _loginId_decorators = [plugins.nosqldb.svDb()];
776
+ _context_decorators = [plugins.nosqldb.svDb()];
777
+ _updateId_decorators = [plugins.nosqldb.svDb()];
778
+ _reading_decorators = [plugins.nosqldb.svDb()];
779
+ _observedAt_decorators = [plugins.nosqldb.svDb()];
780
+ _currentUntil_decorators = [plugins.nosqldb.svDb()];
781
+ _staleUntil_decorators = [plugins.nosqldb.svDb()];
782
+ _lastAttemptAt_decorators = [plugins.nosqldb.svDb()];
783
+ _nextAttemptAt_decorators = [plugins.nosqldb.svDb()];
784
+ _failures_decorators = [plugins.nosqldb.svDb()];
785
+ _problem_decorators = [plugins.nosqldb.svDb()];
786
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
787
+ __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
788
+ __esDecorate(null, null, _loginId_decorators, { kind: "field", name: "loginId", static: false, private: false, access: { has: obj => "loginId" in obj, get: obj => obj.loginId, set: (obj, value) => { obj.loginId = value; } }, metadata: _metadata }, _loginId_initializers, _loginId_extraInitializers);
789
+ __esDecorate(null, null, _context_decorators, { kind: "field", name: "context", static: false, private: false, access: { has: obj => "context" in obj, get: obj => obj.context, set: (obj, value) => { obj.context = value; } }, metadata: _metadata }, _context_initializers, _context_extraInitializers);
790
+ __esDecorate(null, null, _updateId_decorators, { kind: "field", name: "updateId", static: false, private: false, access: { has: obj => "updateId" in obj, get: obj => obj.updateId, set: (obj, value) => { obj.updateId = value; } }, metadata: _metadata }, _updateId_initializers, _updateId_extraInitializers);
791
+ __esDecorate(null, null, _reading_decorators, { kind: "field", name: "reading", static: false, private: false, access: { has: obj => "reading" in obj, get: obj => obj.reading, set: (obj, value) => { obj.reading = value; } }, metadata: _metadata }, _reading_initializers, _reading_extraInitializers);
792
+ __esDecorate(null, null, _observedAt_decorators, { kind: "field", name: "observedAt", static: false, private: false, access: { has: obj => "observedAt" in obj, get: obj => obj.observedAt, set: (obj, value) => { obj.observedAt = value; } }, metadata: _metadata }, _observedAt_initializers, _observedAt_extraInitializers);
793
+ __esDecorate(null, null, _currentUntil_decorators, { kind: "field", name: "currentUntil", static: false, private: false, access: { has: obj => "currentUntil" in obj, get: obj => obj.currentUntil, set: (obj, value) => { obj.currentUntil = value; } }, metadata: _metadata }, _currentUntil_initializers, _currentUntil_extraInitializers);
794
+ __esDecorate(null, null, _staleUntil_decorators, { kind: "field", name: "staleUntil", static: false, private: false, access: { has: obj => "staleUntil" in obj, get: obj => obj.staleUntil, set: (obj, value) => { obj.staleUntil = value; } }, metadata: _metadata }, _staleUntil_initializers, _staleUntil_extraInitializers);
795
+ __esDecorate(null, null, _lastAttemptAt_decorators, { kind: "field", name: "lastAttemptAt", static: false, private: false, access: { has: obj => "lastAttemptAt" in obj, get: obj => obj.lastAttemptAt, set: (obj, value) => { obj.lastAttemptAt = value; } }, metadata: _metadata }, _lastAttemptAt_initializers, _lastAttemptAt_extraInitializers);
796
+ __esDecorate(null, null, _nextAttemptAt_decorators, { kind: "field", name: "nextAttemptAt", static: false, private: false, access: { has: obj => "nextAttemptAt" in obj, get: obj => obj.nextAttemptAt, set: (obj, value) => { obj.nextAttemptAt = value; } }, metadata: _metadata }, _nextAttemptAt_initializers, _nextAttemptAt_extraInitializers);
797
+ __esDecorate(null, null, _failures_decorators, { kind: "field", name: "failures", static: false, private: false, access: { has: obj => "failures" in obj, get: obj => obj.failures, set: (obj, value) => { obj.failures = value; } }, metadata: _metadata }, _failures_initializers, _failures_extraInitializers);
798
+ __esDecorate(null, null, _problem_decorators, { kind: "field", name: "problem", static: false, private: false, access: { has: obj => "problem" in obj, get: obj => obj.problem, set: (obj, value) => { obj.problem = value; } }, metadata: _metadata }, _problem_initializers, _problem_extraInitializers);
799
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
800
+ AuthSwitchAuthorityUsageModel = _classThis = _classDescriptor.value;
801
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
802
+ __runInitializers(_classThis, _classExtraInitializers);
803
+ }
804
+ id = __runInitializers(this, _id_initializers, void 0);
805
+ accountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
806
+ loginId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _loginId_initializers, void 0));
807
+ context = (__runInitializers(this, _loginId_extraInitializers), __runInitializers(this, _context_initializers, void 0));
808
+ updateId = (__runInitializers(this, _context_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
809
+ reading = (__runInitializers(this, _updateId_extraInitializers), __runInitializers(this, _reading_initializers, void 0));
810
+ observedAt = (__runInitializers(this, _reading_extraInitializers), __runInitializers(this, _observedAt_initializers, void 0));
811
+ currentUntil = (__runInitializers(this, _observedAt_extraInitializers), __runInitializers(this, _currentUntil_initializers, void 0));
812
+ staleUntil = (__runInitializers(this, _currentUntil_extraInitializers), __runInitializers(this, _staleUntil_initializers, void 0));
813
+ lastAttemptAt = (__runInitializers(this, _staleUntil_extraInitializers), __runInitializers(this, _lastAttemptAt_initializers, void 0));
814
+ nextAttemptAt = (__runInitializers(this, _lastAttemptAt_extraInitializers), __runInitializers(this, _nextAttemptAt_initializers, void 0));
815
+ failures = (__runInitializers(this, _nextAttemptAt_extraInitializers), __runInitializers(this, _failures_initializers, void 0));
816
+ problem = (__runInitializers(this, _failures_extraInitializers), __runInitializers(this, _problem_initializers, void 0));
817
+ constructor() {
818
+ super(...arguments);
819
+ __runInitializers(this, _problem_extraInitializers);
820
+ }
821
+ };
822
+ return AuthSwitchAuthorityUsageModel = _classThis;
823
+ })();
824
+ export { AuthSwitchAuthorityUsageModel };
449
825
  let AuthSwitchAuthorityBindingModel = (() => {
450
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_binding_account_id', key: { accountId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_bindings' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityBinding })];
826
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_binding_account_id', key: { accountId: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_bindings' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityBinding })];
451
827
  let _classDescriptor;
452
828
  let _classExtraInitializers = [];
453
829
  let _classThis;
454
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
830
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
455
831
  let _id_decorators;
456
832
  let _id_initializers = [];
457
833
  let _id_extraInitializers = [];
@@ -486,16 +862,16 @@ let AuthSwitchAuthorityBindingModel = (() => {
486
862
  static { _classThis = this; }
487
863
  static {
488
864
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
489
- _id_decorators = [plugins.smartdata.unI()];
490
- _accountId_decorators = [plugins.smartdata.svDb()];
491
- _grantId_decorators = [plugins.smartdata.svDb()];
492
- _runtime_decorators = [plugins.smartdata.svDb()];
493
- _scopeId_decorators = [plugins.smartdata.svDb()];
494
- _incarnationId_decorators = [plugins.smartdata.svDb()];
495
- _revision_decorators = [plugins.smartdata.svDb()];
496
- _grantAuthorizationGeneration_decorators = [plugins.smartdata.svDb()];
497
- _capabilityHash_decorators = [plugins.smartdata.svDb()];
498
- _updateId_decorators = [plugins.smartdata.svDb()];
865
+ _id_decorators = [plugins.nosqldb.unI()];
866
+ _accountId_decorators = [plugins.nosqldb.svDb()];
867
+ _grantId_decorators = [plugins.nosqldb.svDb()];
868
+ _runtime_decorators = [plugins.nosqldb.svDb()];
869
+ _scopeId_decorators = [plugins.nosqldb.svDb()];
870
+ _incarnationId_decorators = [plugins.nosqldb.svDb()];
871
+ _revision_decorators = [plugins.nosqldb.svDb()];
872
+ _grantAuthorizationGeneration_decorators = [plugins.nosqldb.svDb()];
873
+ _capabilityHash_decorators = [plugins.nosqldb.svDb()];
874
+ _updateId_decorators = [plugins.nosqldb.svDb()];
499
875
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
500
876
  __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
501
877
  __esDecorate(null, null, _grantId_decorators, { kind: "field", name: "grantId", static: false, private: false, access: { has: obj => "grantId" in obj, get: obj => obj.grantId, set: (obj, value) => { obj.grantId = value; } }, metadata: _metadata }, _grantId_initializers, _grantId_extraInitializers);
@@ -530,11 +906,11 @@ let AuthSwitchAuthorityBindingModel = (() => {
530
906
  })();
531
907
  export { AuthSwitchAuthorityBindingModel };
532
908
  let AuthSwitchAuthorityEnrollmentModel = (() => {
533
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_enrollment_account_id', key: { accountId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_enrollments' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityEnrollment })];
909
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_enrollment_account_id', key: { accountId: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_enrollments' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityEnrollment })];
534
910
  let _classDescriptor;
535
911
  let _classExtraInitializers = [];
536
912
  let _classThis;
537
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
913
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
538
914
  let _id_decorators;
539
915
  let _id_initializers = [];
540
916
  let _id_extraInitializers = [];
@@ -554,11 +930,11 @@ let AuthSwitchAuthorityEnrollmentModel = (() => {
554
930
  static { _classThis = this; }
555
931
  static {
556
932
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
557
- _id_decorators = [plugins.smartdata.unI()];
558
- _accountId_decorators = [plugins.smartdata.svDb()];
559
- _ciphertext_decorators = [plugins.smartdata.svDb()];
560
- _revision_decorators = [plugins.smartdata.svDb()];
561
- _updateId_decorators = [plugins.smartdata.svDb()];
933
+ _id_decorators = [plugins.nosqldb.unI()];
934
+ _accountId_decorators = [plugins.nosqldb.svDb()];
935
+ _ciphertext_decorators = [plugins.nosqldb.svDb()];
936
+ _revision_decorators = [plugins.nosqldb.svDb()];
937
+ _updateId_decorators = [plugins.nosqldb.svDb()];
562
938
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
563
939
  __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
564
940
  __esDecorate(null, null, _ciphertext_decorators, { kind: "field", name: "ciphertext", static: false, private: false, access: { has: obj => "ciphertext" in obj, get: obj => obj.ciphertext, set: (obj, value) => { obj.ciphertext = value; } }, metadata: _metadata }, _ciphertext_initializers, _ciphertext_extraInitializers);
@@ -583,17 +959,20 @@ let AuthSwitchAuthorityEnrollmentModel = (() => {
583
959
  })();
584
960
  export { AuthSwitchAuthorityEnrollmentModel };
585
961
  let AuthSwitchAuthorityCodexHomeModel = (() => {
586
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_codex_home_account_id', key: { accountId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_codex_homes' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityCodexHome })];
962
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_codex_home_account_id', key: { accountId: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_codex_homes' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityCodexHome })];
587
963
  let _classDescriptor;
588
964
  let _classExtraInitializers = [];
589
965
  let _classThis;
590
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
966
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
591
967
  let _id_decorators;
592
968
  let _id_initializers = [];
593
969
  let _id_extraInitializers = [];
594
970
  let _accountId_decorators;
595
971
  let _accountId_initializers = [];
596
972
  let _accountId_extraInitializers = [];
973
+ let _grantId_decorators;
974
+ let _grantId_initializers = [];
975
+ let _grantId_extraInitializers = [];
597
976
  let _scopeId_decorators;
598
977
  let _scopeId_initializers = [];
599
978
  let _scopeId_extraInitializers = [];
@@ -610,14 +989,16 @@ let AuthSwitchAuthorityCodexHomeModel = (() => {
610
989
  static { _classThis = this; }
611
990
  static {
612
991
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
613
- _id_decorators = [plugins.smartdata.unI()];
614
- _accountId_decorators = [plugins.smartdata.svDb()];
615
- _scopeId_decorators = [plugins.smartdata.svDb()];
616
- _activeRun_decorators = [plugins.smartdata.svDb()];
617
- _createdAt_decorators = [plugins.smartdata.svDb()];
618
- _updateId_decorators = [plugins.smartdata.svDb()];
992
+ _id_decorators = [plugins.nosqldb.unI()];
993
+ _accountId_decorators = [plugins.nosqldb.svDb()];
994
+ _grantId_decorators = [plugins.nosqldb.svDb()];
995
+ _scopeId_decorators = [plugins.nosqldb.svDb()];
996
+ _activeRun_decorators = [plugins.nosqldb.svDb()];
997
+ _createdAt_decorators = [plugins.nosqldb.svDb()];
998
+ _updateId_decorators = [plugins.nosqldb.svDb()];
619
999
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
620
1000
  __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
1001
+ __esDecorate(null, null, _grantId_decorators, { kind: "field", name: "grantId", static: false, private: false, access: { has: obj => "grantId" in obj, get: obj => obj.grantId, set: (obj, value) => { obj.grantId = value; } }, metadata: _metadata }, _grantId_initializers, _grantId_extraInitializers);
621
1002
  __esDecorate(null, null, _scopeId_decorators, { kind: "field", name: "scopeId", static: false, private: false, access: { has: obj => "scopeId" in obj, get: obj => obj.scopeId, set: (obj, value) => { obj.scopeId = value; } }, metadata: _metadata }, _scopeId_initializers, _scopeId_extraInitializers);
622
1003
  __esDecorate(null, null, _activeRun_decorators, { kind: "field", name: "activeRun", static: false, private: false, access: { has: obj => "activeRun" in obj, get: obj => obj.activeRun, set: (obj, value) => { obj.activeRun = value; } }, metadata: _metadata }, _activeRun_initializers, _activeRun_extraInitializers);
623
1004
  __esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
@@ -629,7 +1010,8 @@ let AuthSwitchAuthorityCodexHomeModel = (() => {
629
1010
  }
630
1011
  id = __runInitializers(this, _id_initializers, void 0);
631
1012
  accountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
632
- scopeId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _scopeId_initializers, void 0));
1013
+ grantId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _grantId_initializers, void 0));
1014
+ scopeId = (__runInitializers(this, _grantId_extraInitializers), __runInitializers(this, _scopeId_initializers, void 0));
633
1015
  activeRun = (__runInitializers(this, _scopeId_extraInitializers), __runInitializers(this, _activeRun_initializers, void 0));
634
1016
  createdAt = (__runInitializers(this, _activeRun_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
635
1017
  updateId = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
@@ -641,12 +1023,226 @@ let AuthSwitchAuthorityCodexHomeModel = (() => {
641
1023
  return AuthSwitchAuthorityCodexHomeModel = _classThis;
642
1024
  })();
643
1025
  export { AuthSwitchAuthorityCodexHomeModel };
1026
+ let AuthSwitchAuthorityClaudeHomeModel = (() => {
1027
+ let _classDecorators = [plugins.nosqldb.managed({ collectionName: 'authswitch_authority_claude_homes' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityClaudeHome })];
1028
+ let _classDescriptor;
1029
+ let _classExtraInitializers = [];
1030
+ let _classThis;
1031
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
1032
+ let _id_decorators;
1033
+ let _id_initializers = [];
1034
+ let _id_extraInitializers = [];
1035
+ let _activeAccountId_decorators;
1036
+ let _activeAccountId_initializers = [];
1037
+ let _activeAccountId_extraInitializers = [];
1038
+ let _activeGrantId_decorators;
1039
+ let _activeGrantId_initializers = [];
1040
+ let _activeGrantId_extraInitializers = [];
1041
+ let _pendingOperationId_decorators;
1042
+ let _pendingOperationId_initializers = [];
1043
+ let _pendingOperationId_extraInitializers = [];
1044
+ let _status_decorators;
1045
+ let _status_initializers = [];
1046
+ let _status_extraInitializers = [];
1047
+ let _revision_decorators;
1048
+ let _revision_initializers = [];
1049
+ let _revision_extraInitializers = [];
1050
+ let _createdAt_decorators;
1051
+ let _createdAt_initializers = [];
1052
+ let _createdAt_extraInitializers = [];
1053
+ let _updateId_decorators;
1054
+ let _updateId_initializers = [];
1055
+ let _updateId_extraInitializers = [];
1056
+ var AuthSwitchAuthorityClaudeHomeModel = class extends _classSuper {
1057
+ static { _classThis = this; }
1058
+ static {
1059
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1060
+ _id_decorators = [plugins.nosqldb.unI()];
1061
+ _activeAccountId_decorators = [plugins.nosqldb.svDb()];
1062
+ _activeGrantId_decorators = [plugins.nosqldb.index({ unique: true })];
1063
+ _pendingOperationId_decorators = [plugins.nosqldb.svDb()];
1064
+ _status_decorators = [plugins.nosqldb.svDb()];
1065
+ _revision_decorators = [plugins.nosqldb.svDb()];
1066
+ _createdAt_decorators = [plugins.nosqldb.svDb()];
1067
+ _updateId_decorators = [plugins.nosqldb.svDb()];
1068
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
1069
+ __esDecorate(null, null, _activeAccountId_decorators, { kind: "field", name: "activeAccountId", static: false, private: false, access: { has: obj => "activeAccountId" in obj, get: obj => obj.activeAccountId, set: (obj, value) => { obj.activeAccountId = value; } }, metadata: _metadata }, _activeAccountId_initializers, _activeAccountId_extraInitializers);
1070
+ __esDecorate(null, null, _activeGrantId_decorators, { kind: "field", name: "activeGrantId", static: false, private: false, access: { has: obj => "activeGrantId" in obj, get: obj => obj.activeGrantId, set: (obj, value) => { obj.activeGrantId = value; } }, metadata: _metadata }, _activeGrantId_initializers, _activeGrantId_extraInitializers);
1071
+ __esDecorate(null, null, _pendingOperationId_decorators, { kind: "field", name: "pendingOperationId", static: false, private: false, access: { has: obj => "pendingOperationId" in obj, get: obj => obj.pendingOperationId, set: (obj, value) => { obj.pendingOperationId = value; } }, metadata: _metadata }, _pendingOperationId_initializers, _pendingOperationId_extraInitializers);
1072
+ __esDecorate(null, null, _status_decorators, { kind: "field", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
1073
+ __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
1074
+ __esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
1075
+ __esDecorate(null, null, _updateId_decorators, { kind: "field", name: "updateId", static: false, private: false, access: { has: obj => "updateId" in obj, get: obj => obj.updateId, set: (obj, value) => { obj.updateId = value; } }, metadata: _metadata }, _updateId_initializers, _updateId_extraInitializers);
1076
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1077
+ AuthSwitchAuthorityClaudeHomeModel = _classThis = _classDescriptor.value;
1078
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1079
+ __runInitializers(_classThis, _classExtraInitializers);
1080
+ }
1081
+ id = __runInitializers(this, _id_initializers, void 0);
1082
+ activeAccountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _activeAccountId_initializers, void 0));
1083
+ activeGrantId = (__runInitializers(this, _activeAccountId_extraInitializers), __runInitializers(this, _activeGrantId_initializers, void 0));
1084
+ pendingOperationId = (__runInitializers(this, _activeGrantId_extraInitializers), __runInitializers(this, _pendingOperationId_initializers, void 0));
1085
+ status = (__runInitializers(this, _pendingOperationId_extraInitializers), __runInitializers(this, _status_initializers, void 0));
1086
+ revision = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1087
+ createdAt = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
1088
+ updateId = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
1089
+ constructor() {
1090
+ super(...arguments);
1091
+ __runInitializers(this, _updateId_extraInitializers);
1092
+ }
1093
+ };
1094
+ return AuthSwitchAuthorityClaudeHomeModel = _classThis;
1095
+ })();
1096
+ export { AuthSwitchAuthorityClaudeHomeModel };
1097
+ let AuthSwitchAuthorityClaudeHandoffModel = (() => {
1098
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_claude_handoff_home_phase', key: { homeId: 1, phase: 1, id: 1 } }), plugins.nosqldb.compoundIndex({ name: 'authority_claude_handoff_phase_id', key: { phase: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_claude_handoffs' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityClaudeHandoff })];
1099
+ let _classDescriptor;
1100
+ let _classExtraInitializers = [];
1101
+ let _classThis;
1102
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
1103
+ let _id_decorators;
1104
+ let _id_initializers = [];
1105
+ let _id_extraInitializers = [];
1106
+ let _homeId_decorators;
1107
+ let _homeId_initializers = [];
1108
+ let _homeId_extraInitializers = [];
1109
+ let _outgoingAccountId_decorators;
1110
+ let _outgoingAccountId_initializers = [];
1111
+ let _outgoingAccountId_extraInitializers = [];
1112
+ let _outgoingGrantId_decorators;
1113
+ let _outgoingGrantId_initializers = [];
1114
+ let _outgoingGrantId_extraInitializers = [];
1115
+ let _incomingAccountId_decorators;
1116
+ let _incomingAccountId_initializers = [];
1117
+ let _incomingAccountId_extraInitializers = [];
1118
+ let _incomingGrantId_decorators;
1119
+ let _incomingGrantId_initializers = [];
1120
+ let _incomingGrantId_extraInitializers = [];
1121
+ let _phase_decorators;
1122
+ let _phase_initializers = [];
1123
+ let _phase_extraInitializers = [];
1124
+ let _before_decorators;
1125
+ let _before_initializers = [];
1126
+ let _before_extraInitializers = [];
1127
+ let _after_decorators;
1128
+ let _after_initializers = [];
1129
+ let _after_extraInitializers = [];
1130
+ let _sourceIdentity_decorators;
1131
+ let _sourceIdentity_initializers = [];
1132
+ let _sourceIdentity_extraInitializers = [];
1133
+ let _targetIdentity_decorators;
1134
+ let _targetIdentity_initializers = [];
1135
+ let _targetIdentity_extraInitializers = [];
1136
+ let _sourceAccessDigest_decorators;
1137
+ let _sourceAccessDigest_initializers = [];
1138
+ let _sourceAccessDigest_extraInitializers = [];
1139
+ let _targetAccessDigest_decorators;
1140
+ let _targetAccessDigest_initializers = [];
1141
+ let _targetAccessDigest_extraInitializers = [];
1142
+ let _sealedOutgoing_decorators;
1143
+ let _sealedOutgoing_initializers = [];
1144
+ let _sealedOutgoing_extraInitializers = [];
1145
+ let _runningEffectiveAuth_decorators;
1146
+ let _runningEffectiveAuth_initializers = [];
1147
+ let _runningEffectiveAuth_extraInitializers = [];
1148
+ let _problem_decorators;
1149
+ let _problem_initializers = [];
1150
+ let _problem_extraInitializers = [];
1151
+ let _startedAt_decorators;
1152
+ let _startedAt_initializers = [];
1153
+ let _startedAt_extraInitializers = [];
1154
+ let _updatedAt_decorators;
1155
+ let _updatedAt_initializers = [];
1156
+ let _updatedAt_extraInitializers = [];
1157
+ let _revision_decorators;
1158
+ let _revision_initializers = [];
1159
+ let _revision_extraInitializers = [];
1160
+ let _updateId_decorators;
1161
+ let _updateId_initializers = [];
1162
+ let _updateId_extraInitializers = [];
1163
+ var AuthSwitchAuthorityClaudeHandoffModel = class extends _classSuper {
1164
+ static { _classThis = this; }
1165
+ static {
1166
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1167
+ _id_decorators = [plugins.nosqldb.unI()];
1168
+ _homeId_decorators = [plugins.nosqldb.svDb()];
1169
+ _outgoingAccountId_decorators = [plugins.nosqldb.svDb()];
1170
+ _outgoingGrantId_decorators = [plugins.nosqldb.svDb()];
1171
+ _incomingAccountId_decorators = [plugins.nosqldb.svDb()];
1172
+ _incomingGrantId_decorators = [plugins.nosqldb.svDb()];
1173
+ _phase_decorators = [plugins.nosqldb.svDb()];
1174
+ _before_decorators = [plugins.nosqldb.svDb()];
1175
+ _after_decorators = [plugins.nosqldb.svDb()];
1176
+ _sourceIdentity_decorators = [plugins.nosqldb.svDb()];
1177
+ _targetIdentity_decorators = [plugins.nosqldb.svDb()];
1178
+ _sourceAccessDigest_decorators = [plugins.nosqldb.svDb()];
1179
+ _targetAccessDigest_decorators = [plugins.nosqldb.svDb()];
1180
+ _sealedOutgoing_decorators = [plugins.nosqldb.svDb()];
1181
+ _runningEffectiveAuth_decorators = [plugins.nosqldb.svDb()];
1182
+ _problem_decorators = [plugins.nosqldb.svDb()];
1183
+ _startedAt_decorators = [plugins.nosqldb.svDb()];
1184
+ _updatedAt_decorators = [plugins.nosqldb.svDb()];
1185
+ _revision_decorators = [plugins.nosqldb.svDb()];
1186
+ _updateId_decorators = [plugins.nosqldb.svDb()];
1187
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
1188
+ __esDecorate(null, null, _homeId_decorators, { kind: "field", name: "homeId", static: false, private: false, access: { has: obj => "homeId" in obj, get: obj => obj.homeId, set: (obj, value) => { obj.homeId = value; } }, metadata: _metadata }, _homeId_initializers, _homeId_extraInitializers);
1189
+ __esDecorate(null, null, _outgoingAccountId_decorators, { kind: "field", name: "outgoingAccountId", static: false, private: false, access: { has: obj => "outgoingAccountId" in obj, get: obj => obj.outgoingAccountId, set: (obj, value) => { obj.outgoingAccountId = value; } }, metadata: _metadata }, _outgoingAccountId_initializers, _outgoingAccountId_extraInitializers);
1190
+ __esDecorate(null, null, _outgoingGrantId_decorators, { kind: "field", name: "outgoingGrantId", static: false, private: false, access: { has: obj => "outgoingGrantId" in obj, get: obj => obj.outgoingGrantId, set: (obj, value) => { obj.outgoingGrantId = value; } }, metadata: _metadata }, _outgoingGrantId_initializers, _outgoingGrantId_extraInitializers);
1191
+ __esDecorate(null, null, _incomingAccountId_decorators, { kind: "field", name: "incomingAccountId", static: false, private: false, access: { has: obj => "incomingAccountId" in obj, get: obj => obj.incomingAccountId, set: (obj, value) => { obj.incomingAccountId = value; } }, metadata: _metadata }, _incomingAccountId_initializers, _incomingAccountId_extraInitializers);
1192
+ __esDecorate(null, null, _incomingGrantId_decorators, { kind: "field", name: "incomingGrantId", static: false, private: false, access: { has: obj => "incomingGrantId" in obj, get: obj => obj.incomingGrantId, set: (obj, value) => { obj.incomingGrantId = value; } }, metadata: _metadata }, _incomingGrantId_initializers, _incomingGrantId_extraInitializers);
1193
+ __esDecorate(null, null, _phase_decorators, { kind: "field", name: "phase", static: false, private: false, access: { has: obj => "phase" in obj, get: obj => obj.phase, set: (obj, value) => { obj.phase = value; } }, metadata: _metadata }, _phase_initializers, _phase_extraInitializers);
1194
+ __esDecorate(null, null, _before_decorators, { kind: "field", name: "before", static: false, private: false, access: { has: obj => "before" in obj, get: obj => obj.before, set: (obj, value) => { obj.before = value; } }, metadata: _metadata }, _before_initializers, _before_extraInitializers);
1195
+ __esDecorate(null, null, _after_decorators, { kind: "field", name: "after", static: false, private: false, access: { has: obj => "after" in obj, get: obj => obj.after, set: (obj, value) => { obj.after = value; } }, metadata: _metadata }, _after_initializers, _after_extraInitializers);
1196
+ __esDecorate(null, null, _sourceIdentity_decorators, { kind: "field", name: "sourceIdentity", static: false, private: false, access: { has: obj => "sourceIdentity" in obj, get: obj => obj.sourceIdentity, set: (obj, value) => { obj.sourceIdentity = value; } }, metadata: _metadata }, _sourceIdentity_initializers, _sourceIdentity_extraInitializers);
1197
+ __esDecorate(null, null, _targetIdentity_decorators, { kind: "field", name: "targetIdentity", static: false, private: false, access: { has: obj => "targetIdentity" in obj, get: obj => obj.targetIdentity, set: (obj, value) => { obj.targetIdentity = value; } }, metadata: _metadata }, _targetIdentity_initializers, _targetIdentity_extraInitializers);
1198
+ __esDecorate(null, null, _sourceAccessDigest_decorators, { kind: "field", name: "sourceAccessDigest", static: false, private: false, access: { has: obj => "sourceAccessDigest" in obj, get: obj => obj.sourceAccessDigest, set: (obj, value) => { obj.sourceAccessDigest = value; } }, metadata: _metadata }, _sourceAccessDigest_initializers, _sourceAccessDigest_extraInitializers);
1199
+ __esDecorate(null, null, _targetAccessDigest_decorators, { kind: "field", name: "targetAccessDigest", static: false, private: false, access: { has: obj => "targetAccessDigest" in obj, get: obj => obj.targetAccessDigest, set: (obj, value) => { obj.targetAccessDigest = value; } }, metadata: _metadata }, _targetAccessDigest_initializers, _targetAccessDigest_extraInitializers);
1200
+ __esDecorate(null, null, _sealedOutgoing_decorators, { kind: "field", name: "sealedOutgoing", static: false, private: false, access: { has: obj => "sealedOutgoing" in obj, get: obj => obj.sealedOutgoing, set: (obj, value) => { obj.sealedOutgoing = value; } }, metadata: _metadata }, _sealedOutgoing_initializers, _sealedOutgoing_extraInitializers);
1201
+ __esDecorate(null, null, _runningEffectiveAuth_decorators, { kind: "field", name: "runningEffectiveAuth", static: false, private: false, access: { has: obj => "runningEffectiveAuth" in obj, get: obj => obj.runningEffectiveAuth, set: (obj, value) => { obj.runningEffectiveAuth = value; } }, metadata: _metadata }, _runningEffectiveAuth_initializers, _runningEffectiveAuth_extraInitializers);
1202
+ __esDecorate(null, null, _problem_decorators, { kind: "field", name: "problem", static: false, private: false, access: { has: obj => "problem" in obj, get: obj => obj.problem, set: (obj, value) => { obj.problem = value; } }, metadata: _metadata }, _problem_initializers, _problem_extraInitializers);
1203
+ __esDecorate(null, null, _startedAt_decorators, { kind: "field", name: "startedAt", static: false, private: false, access: { has: obj => "startedAt" in obj, get: obj => obj.startedAt, set: (obj, value) => { obj.startedAt = value; } }, metadata: _metadata }, _startedAt_initializers, _startedAt_extraInitializers);
1204
+ __esDecorate(null, null, _updatedAt_decorators, { kind: "field", name: "updatedAt", static: false, private: false, access: { has: obj => "updatedAt" in obj, get: obj => obj.updatedAt, set: (obj, value) => { obj.updatedAt = value; } }, metadata: _metadata }, _updatedAt_initializers, _updatedAt_extraInitializers);
1205
+ __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
1206
+ __esDecorate(null, null, _updateId_decorators, { kind: "field", name: "updateId", static: false, private: false, access: { has: obj => "updateId" in obj, get: obj => obj.updateId, set: (obj, value) => { obj.updateId = value; } }, metadata: _metadata }, _updateId_initializers, _updateId_extraInitializers);
1207
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1208
+ AuthSwitchAuthorityClaudeHandoffModel = _classThis = _classDescriptor.value;
1209
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1210
+ __runInitializers(_classThis, _classExtraInitializers);
1211
+ }
1212
+ id = __runInitializers(this, _id_initializers, void 0);
1213
+ homeId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _homeId_initializers, void 0));
1214
+ outgoingAccountId = (__runInitializers(this, _homeId_extraInitializers), __runInitializers(this, _outgoingAccountId_initializers, void 0));
1215
+ outgoingGrantId = (__runInitializers(this, _outgoingAccountId_extraInitializers), __runInitializers(this, _outgoingGrantId_initializers, void 0));
1216
+ incomingAccountId = (__runInitializers(this, _outgoingGrantId_extraInitializers), __runInitializers(this, _incomingAccountId_initializers, void 0));
1217
+ incomingGrantId = (__runInitializers(this, _incomingAccountId_extraInitializers), __runInitializers(this, _incomingGrantId_initializers, void 0));
1218
+ phase = (__runInitializers(this, _incomingGrantId_extraInitializers), __runInitializers(this, _phase_initializers, void 0));
1219
+ before = (__runInitializers(this, _phase_extraInitializers), __runInitializers(this, _before_initializers, void 0));
1220
+ after = (__runInitializers(this, _before_extraInitializers), __runInitializers(this, _after_initializers, void 0));
1221
+ sourceIdentity = (__runInitializers(this, _after_extraInitializers), __runInitializers(this, _sourceIdentity_initializers, void 0));
1222
+ targetIdentity = (__runInitializers(this, _sourceIdentity_extraInitializers), __runInitializers(this, _targetIdentity_initializers, void 0));
1223
+ sourceAccessDigest = (__runInitializers(this, _targetIdentity_extraInitializers), __runInitializers(this, _sourceAccessDigest_initializers, void 0));
1224
+ targetAccessDigest = (__runInitializers(this, _sourceAccessDigest_extraInitializers), __runInitializers(this, _targetAccessDigest_initializers, void 0));
1225
+ sealedOutgoing = (__runInitializers(this, _targetAccessDigest_extraInitializers), __runInitializers(this, _sealedOutgoing_initializers, void 0));
1226
+ runningEffectiveAuth = (__runInitializers(this, _sealedOutgoing_extraInitializers), __runInitializers(this, _runningEffectiveAuth_initializers, void 0));
1227
+ problem = (__runInitializers(this, _runningEffectiveAuth_extraInitializers), __runInitializers(this, _problem_initializers, void 0));
1228
+ startedAt = (__runInitializers(this, _problem_extraInitializers), __runInitializers(this, _startedAt_initializers, void 0));
1229
+ updatedAt = (__runInitializers(this, _startedAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
1230
+ revision = (__runInitializers(this, _updatedAt_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1231
+ updateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
1232
+ constructor() {
1233
+ super(...arguments);
1234
+ __runInitializers(this, _updateId_extraInitializers);
1235
+ }
1236
+ };
1237
+ return AuthSwitchAuthorityClaudeHandoffModel = _classThis;
1238
+ })();
1239
+ export { AuthSwitchAuthorityClaudeHandoffModel };
644
1240
  let AuthSwitchAuthorityHandoffModel = (() => {
645
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_handoff_grant_id', key: { grantId: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_handoffs' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityHandoff })];
1241
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_handoff_grant_id', key: { grantId: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_handoffs' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityHandoff })];
646
1242
  let _classDescriptor;
647
1243
  let _classExtraInitializers = [];
648
1244
  let _classThis;
649
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
1245
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
650
1246
  let _id_decorators;
651
1247
  let _id_initializers = [];
652
1248
  let _id_extraInitializers = [];
@@ -674,9 +1270,6 @@ let AuthSwitchAuthorityHandoffModel = (() => {
674
1270
  let _verifiedSourceDigest_decorators;
675
1271
  let _verifiedSourceDigest_initializers = [];
676
1272
  let _verifiedSourceDigest_extraInitializers = [];
677
- let _backupDigest_decorators;
678
- let _backupDigest_initializers = [];
679
- let _backupDigest_extraInitializers = [];
680
1273
  let _revision_decorators;
681
1274
  let _revision_initializers = [];
682
1275
  let _revision_extraInitializers = [];
@@ -690,19 +1283,18 @@ let AuthSwitchAuthorityHandoffModel = (() => {
690
1283
  static { _classThis = this; }
691
1284
  static {
692
1285
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
693
- _id_decorators = [plugins.smartdata.unI()];
694
- _accountId_decorators = [plugins.smartdata.svDb()];
695
- _grantId_decorators = [plugins.smartdata.svDb()];
696
- _nativeHomeId_decorators = [plugins.smartdata.svDb()];
697
- _direction_decorators = [plugins.smartdata.svDb()];
698
- _phase_decorators = [plugins.smartdata.svDb()];
699
- _operationId_decorators = [plugins.smartdata.svDb()];
700
- _sourceDigest_decorators = [plugins.smartdata.svDb()];
701
- _verifiedSourceDigest_decorators = [plugins.smartdata.svDb()];
702
- _backupDigest_decorators = [plugins.smartdata.svDb()];
703
- _revision_decorators = [plugins.smartdata.svDb()];
704
- _statusObservedAt_decorators = [plugins.smartdata.svDb()];
705
- _updateId_decorators = [plugins.smartdata.svDb()];
1286
+ _id_decorators = [plugins.nosqldb.unI()];
1287
+ _accountId_decorators = [plugins.nosqldb.svDb()];
1288
+ _grantId_decorators = [plugins.nosqldb.svDb()];
1289
+ _nativeHomeId_decorators = [plugins.nosqldb.svDb()];
1290
+ _direction_decorators = [plugins.nosqldb.svDb()];
1291
+ _phase_decorators = [plugins.nosqldb.svDb()];
1292
+ _operationId_decorators = [plugins.nosqldb.svDb()];
1293
+ _sourceDigest_decorators = [plugins.nosqldb.svDb()];
1294
+ _verifiedSourceDigest_decorators = [plugins.nosqldb.svDb()];
1295
+ _revision_decorators = [plugins.nosqldb.svDb()];
1296
+ _statusObservedAt_decorators = [plugins.nosqldb.svDb()];
1297
+ _updateId_decorators = [plugins.nosqldb.svDb()];
706
1298
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
707
1299
  __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
708
1300
  __esDecorate(null, null, _grantId_decorators, { kind: "field", name: "grantId", static: false, private: false, access: { has: obj => "grantId" in obj, get: obj => obj.grantId, set: (obj, value) => { obj.grantId = value; } }, metadata: _metadata }, _grantId_initializers, _grantId_extraInitializers);
@@ -712,7 +1304,6 @@ let AuthSwitchAuthorityHandoffModel = (() => {
712
1304
  __esDecorate(null, null, _operationId_decorators, { kind: "field", name: "operationId", static: false, private: false, access: { has: obj => "operationId" in obj, get: obj => obj.operationId, set: (obj, value) => { obj.operationId = value; } }, metadata: _metadata }, _operationId_initializers, _operationId_extraInitializers);
713
1305
  __esDecorate(null, null, _sourceDigest_decorators, { kind: "field", name: "sourceDigest", static: false, private: false, access: { has: obj => "sourceDigest" in obj, get: obj => obj.sourceDigest, set: (obj, value) => { obj.sourceDigest = value; } }, metadata: _metadata }, _sourceDigest_initializers, _sourceDigest_extraInitializers);
714
1306
  __esDecorate(null, null, _verifiedSourceDigest_decorators, { kind: "field", name: "verifiedSourceDigest", static: false, private: false, access: { has: obj => "verifiedSourceDigest" in obj, get: obj => obj.verifiedSourceDigest, set: (obj, value) => { obj.verifiedSourceDigest = value; } }, metadata: _metadata }, _verifiedSourceDigest_initializers, _verifiedSourceDigest_extraInitializers);
715
- __esDecorate(null, null, _backupDigest_decorators, { kind: "field", name: "backupDigest", static: false, private: false, access: { has: obj => "backupDigest" in obj, get: obj => obj.backupDigest, set: (obj, value) => { obj.backupDigest = value; } }, metadata: _metadata }, _backupDigest_initializers, _backupDigest_extraInitializers);
716
1307
  __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
717
1308
  __esDecorate(null, null, _statusObservedAt_decorators, { kind: "field", name: "statusObservedAt", static: false, private: false, access: { has: obj => "statusObservedAt" in obj, get: obj => obj.statusObservedAt, set: (obj, value) => { obj.statusObservedAt = value; } }, metadata: _metadata }, _statusObservedAt_initializers, _statusObservedAt_extraInitializers);
718
1309
  __esDecorate(null, null, _updateId_decorators, { kind: "field", name: "updateId", static: false, private: false, access: { has: obj => "updateId" in obj, get: obj => obj.updateId, set: (obj, value) => { obj.updateId = value; } }, metadata: _metadata }, _updateId_initializers, _updateId_extraInitializers);
@@ -730,8 +1321,7 @@ let AuthSwitchAuthorityHandoffModel = (() => {
730
1321
  operationId = (__runInitializers(this, _phase_extraInitializers), __runInitializers(this, _operationId_initializers, void 0));
731
1322
  sourceDigest = (__runInitializers(this, _operationId_extraInitializers), __runInitializers(this, _sourceDigest_initializers, void 0));
732
1323
  verifiedSourceDigest = (__runInitializers(this, _sourceDigest_extraInitializers), __runInitializers(this, _verifiedSourceDigest_initializers, void 0));
733
- backupDigest = (__runInitializers(this, _verifiedSourceDigest_extraInitializers), __runInitializers(this, _backupDigest_initializers, void 0));
734
- revision = (__runInitializers(this, _backupDigest_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1324
+ revision = (__runInitializers(this, _verifiedSourceDigest_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
735
1325
  statusObservedAt = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _statusObservedAt_initializers, void 0));
736
1326
  updateId = (__runInitializers(this, _statusObservedAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
737
1327
  constructor() {
@@ -743,11 +1333,11 @@ let AuthSwitchAuthorityHandoffModel = (() => {
743
1333
  })();
744
1334
  export { AuthSwitchAuthorityHandoffModel };
745
1335
  let AuthSwitchAuthorityMigrationLedgerModel = (() => {
746
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_migration_status_id', key: { status: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_migration_ledger' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityMigrationLedger })];
1336
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_migration_status_id', key: { status: 1, id: 1 } }), plugins.nosqldb.compoundIndex({ name: 'authority_migration_grant_status_id', key: { grantId: 1, status: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_migration_ledger' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityMigrationLedger })];
747
1337
  let _classDescriptor;
748
1338
  let _classExtraInitializers = [];
749
1339
  let _classThis;
750
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
1340
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
751
1341
  let _id_decorators;
752
1342
  let _id_initializers = [];
753
1343
  let _id_extraInitializers = [];
@@ -772,9 +1362,6 @@ let AuthSwitchAuthorityMigrationLedgerModel = (() => {
772
1362
  let _grantId_decorators;
773
1363
  let _grantId_initializers = [];
774
1364
  let _grantId_extraInitializers = [];
775
- let _backupDigest_decorators;
776
- let _backupDigest_initializers = [];
777
- let _backupDigest_extraInitializers = [];
778
1365
  let _revision_decorators;
779
1366
  let _revision_initializers = [];
780
1367
  let _revision_extraInitializers = [];
@@ -788,18 +1375,17 @@ let AuthSwitchAuthorityMigrationLedgerModel = (() => {
788
1375
  static { _classThis = this; }
789
1376
  static {
790
1377
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
791
- _id_decorators = [plugins.smartdata.unI()];
792
- _version_decorators = [plugins.smartdata.svDb()];
793
- _sourceKind_decorators = [plugins.smartdata.svDb()];
794
- _sourcePathHash_decorators = [plugins.smartdata.svDb()];
795
- _sourceDigest_decorators = [plugins.smartdata.svDb()];
796
- _status_decorators = [plugins.smartdata.svDb()];
797
- _accountId_decorators = [plugins.smartdata.svDb()];
798
- _grantId_decorators = [plugins.smartdata.svDb()];
799
- _backupDigest_decorators = [plugins.smartdata.svDb()];
800
- _revision_decorators = [plugins.smartdata.svDb()];
801
- _statusObservedAt_decorators = [plugins.smartdata.svDb()];
802
- _updateId_decorators = [plugins.smartdata.svDb()];
1378
+ _id_decorators = [plugins.nosqldb.unI()];
1379
+ _version_decorators = [plugins.nosqldb.svDb()];
1380
+ _sourceKind_decorators = [plugins.nosqldb.svDb()];
1381
+ _sourcePathHash_decorators = [plugins.nosqldb.svDb()];
1382
+ _sourceDigest_decorators = [plugins.nosqldb.svDb()];
1383
+ _status_decorators = [plugins.nosqldb.svDb()];
1384
+ _accountId_decorators = [plugins.nosqldb.svDb()];
1385
+ _grantId_decorators = [plugins.nosqldb.svDb()];
1386
+ _revision_decorators = [plugins.nosqldb.svDb()];
1387
+ _statusObservedAt_decorators = [plugins.nosqldb.svDb()];
1388
+ _updateId_decorators = [plugins.nosqldb.svDb()];
803
1389
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
804
1390
  __esDecorate(null, null, _version_decorators, { kind: "field", name: "version", static: false, private: false, access: { has: obj => "version" in obj, get: obj => obj.version, set: (obj, value) => { obj.version = value; } }, metadata: _metadata }, _version_initializers, _version_extraInitializers);
805
1391
  __esDecorate(null, null, _sourceKind_decorators, { kind: "field", name: "sourceKind", static: false, private: false, access: { has: obj => "sourceKind" in obj, get: obj => obj.sourceKind, set: (obj, value) => { obj.sourceKind = value; } }, metadata: _metadata }, _sourceKind_initializers, _sourceKind_extraInitializers);
@@ -808,7 +1394,6 @@ let AuthSwitchAuthorityMigrationLedgerModel = (() => {
808
1394
  __esDecorate(null, null, _status_decorators, { kind: "field", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
809
1395
  __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
810
1396
  __esDecorate(null, null, _grantId_decorators, { kind: "field", name: "grantId", static: false, private: false, access: { has: obj => "grantId" in obj, get: obj => obj.grantId, set: (obj, value) => { obj.grantId = value; } }, metadata: _metadata }, _grantId_initializers, _grantId_extraInitializers);
811
- __esDecorate(null, null, _backupDigest_decorators, { kind: "field", name: "backupDigest", static: false, private: false, access: { has: obj => "backupDigest" in obj, get: obj => obj.backupDigest, set: (obj, value) => { obj.backupDigest = value; } }, metadata: _metadata }, _backupDigest_initializers, _backupDigest_extraInitializers);
812
1397
  __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
813
1398
  __esDecorate(null, null, _statusObservedAt_decorators, { kind: "field", name: "statusObservedAt", static: false, private: false, access: { has: obj => "statusObservedAt" in obj, get: obj => obj.statusObservedAt, set: (obj, value) => { obj.statusObservedAt = value; } }, metadata: _metadata }, _statusObservedAt_initializers, _statusObservedAt_extraInitializers);
814
1399
  __esDecorate(null, null, _updateId_decorators, { kind: "field", name: "updateId", static: false, private: false, access: { has: obj => "updateId" in obj, get: obj => obj.updateId, set: (obj, value) => { obj.updateId = value; } }, metadata: _metadata }, _updateId_initializers, _updateId_extraInitializers);
@@ -825,8 +1410,7 @@ let AuthSwitchAuthorityMigrationLedgerModel = (() => {
825
1410
  status = (__runInitializers(this, _sourceDigest_extraInitializers), __runInitializers(this, _status_initializers, void 0));
826
1411
  accountId = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
827
1412
  grantId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _grantId_initializers, void 0));
828
- backupDigest = (__runInitializers(this, _grantId_extraInitializers), __runInitializers(this, _backupDigest_initializers, void 0));
829
- revision = (__runInitializers(this, _backupDigest_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1413
+ revision = (__runInitializers(this, _grantId_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
830
1414
  statusObservedAt = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _statusObservedAt_initializers, void 0));
831
1415
  updateId = (__runInitializers(this, _statusObservedAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
832
1416
  constructor() {
@@ -838,11 +1422,11 @@ let AuthSwitchAuthorityMigrationLedgerModel = (() => {
838
1422
  })();
839
1423
  export { AuthSwitchAuthorityMigrationLedgerModel };
840
1424
  let AuthSwitchAuthorityEventModel = (() => {
841
- let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_event_revision_id', key: { revision: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_events' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityEvent })];
1425
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_event_revision_id', key: { revision: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_events' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityEvent })];
842
1426
  let _classDescriptor;
843
1427
  let _classExtraInitializers = [];
844
1428
  let _classThis;
845
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
1429
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
846
1430
  let _id_decorators;
847
1431
  let _id_initializers = [];
848
1432
  let _id_extraInitializers = [];
@@ -862,11 +1446,11 @@ let AuthSwitchAuthorityEventModel = (() => {
862
1446
  static { _classThis = this; }
863
1447
  static {
864
1448
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
865
- _id_decorators = [plugins.smartdata.unI()];
866
- _epoch_decorators = [plugins.smartdata.svDb()];
867
- _revision_decorators = [plugins.smartdata.svDb()];
868
- _kind_decorators = [plugins.smartdata.svDb()];
869
- _accountId_decorators = [plugins.smartdata.svDb()];
1449
+ _id_decorators = [plugins.nosqldb.unI()];
1450
+ _epoch_decorators = [plugins.nosqldb.svDb()];
1451
+ _revision_decorators = [plugins.nosqldb.svDb()];
1452
+ _kind_decorators = [plugins.nosqldb.svDb()];
1453
+ _accountId_decorators = [plugins.nosqldb.svDb()];
870
1454
  __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
871
1455
  __esDecorate(null, null, _epoch_decorators, { kind: "field", name: "epoch", static: false, private: false, access: { has: obj => "epoch" in obj, get: obj => obj.epoch, set: (obj, value) => { obj.epoch = value; } }, metadata: _metadata }, _epoch_initializers, _epoch_extraInitializers);
872
1456
  __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
@@ -890,4 +1474,159 @@ let AuthSwitchAuthorityEventModel = (() => {
890
1474
  return AuthSwitchAuthorityEventModel = _classThis;
891
1475
  })();
892
1476
  export { AuthSwitchAuthorityEventModel };
893
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHltb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUE0SHhDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFvQyxFQUFFLENBQ2xFLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7T0FDakUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDckUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUE4QixFQUFFLElBQXVCLEVBQVcsRUFBRSxDQUNyRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQW1CLEVBQUUsQ0FDN0QsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9HLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQzlDLE9BQU8sS0FBSyxLQUFL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
1477
+ let AuthSwitchAuthorityOperationModel = (() => {
1478
+ let _classDecorators = [plugins.nosqldb.compoundIndex({ name: 'authority_operation_state_id', key: { state: 1, id: 1 } }), plugins.nosqldb.compoundIndex({ name: 'authority_operation_account_id', key: { accountId: 1, id: 1 } }), plugins.nosqldb.compoundIndex({ name: 'authority_operation_kind_id', key: { kind: 1, id: 1 } }), plugins.nosqldb.managed({ collectionName: 'authswitch_authority_operations' }), plugins.nosqldb.exactPersistence({ assertDocument: assertStoredAuthorityOperationDocument })];
1479
+ let _classDescriptor;
1480
+ let _classExtraInitializers = [];
1481
+ let _classThis;
1482
+ let _classSuper = plugins.nosqldb.SmartDataDbDoc;
1483
+ let _id_decorators;
1484
+ let _id_initializers = [];
1485
+ let _id_extraInitializers = [];
1486
+ let _kind_decorators;
1487
+ let _kind_initializers = [];
1488
+ let _kind_extraInitializers = [];
1489
+ let _purpose_decorators;
1490
+ let _purpose_initializers = [];
1491
+ let _purpose_extraInitializers = [];
1492
+ let _accountId_decorators;
1493
+ let _accountId_initializers = [];
1494
+ let _accountId_extraInitializers = [];
1495
+ let _grantId_decorators;
1496
+ let _grantId_initializers = [];
1497
+ let _grantId_extraInitializers = [];
1498
+ let _expectedGrantGeneration_decorators;
1499
+ let _expectedGrantGeneration_initializers = [];
1500
+ let _expectedGrantGeneration_extraInitializers = [];
1501
+ let _state_decorators;
1502
+ let _state_initializers = [];
1503
+ let _state_extraInitializers = [];
1504
+ let _prompt_decorators;
1505
+ let _prompt_initializers = [];
1506
+ let _prompt_extraInitializers = [];
1507
+ let _result_decorators;
1508
+ let _result_initializers = [];
1509
+ let _result_extraInitializers = [];
1510
+ let _error_decorators;
1511
+ let _error_initializers = [];
1512
+ let _error_extraInitializers = [];
1513
+ let _commitId_decorators;
1514
+ let _commitId_initializers = [];
1515
+ let _commitId_extraInitializers = [];
1516
+ let _requestHash_decorators;
1517
+ let _requestHash_initializers = [];
1518
+ let _requestHash_extraInitializers = [];
1519
+ let _requestedModel_decorators;
1520
+ let _requestedModel_initializers = [];
1521
+ let _requestedModel_extraInitializers = [];
1522
+ let _model_decorators;
1523
+ let _model_initializers = [];
1524
+ let _model_extraInitializers = [];
1525
+ let _authorizationGeneration_decorators;
1526
+ let _authorizationGeneration_initializers = [];
1527
+ let _authorizationGeneration_extraInitializers = [];
1528
+ let _grantGeneration_decorators;
1529
+ let _grantGeneration_initializers = [];
1530
+ let _grantGeneration_extraInitializers = [];
1531
+ let _problem_decorators;
1532
+ let _problem_initializers = [];
1533
+ let _problem_extraInitializers = [];
1534
+ let _createdAt_decorators;
1535
+ let _createdAt_initializers = [];
1536
+ let _createdAt_extraInitializers = [];
1537
+ let _updatedAt_decorators;
1538
+ let _updatedAt_initializers = [];
1539
+ let _updatedAt_extraInitializers = [];
1540
+ let _finishedAt_decorators;
1541
+ let _finishedAt_initializers = [];
1542
+ let _finishedAt_extraInitializers = [];
1543
+ let _revision_decorators;
1544
+ let _revision_initializers = [];
1545
+ let _revision_extraInitializers = [];
1546
+ let _updateId_decorators;
1547
+ let _updateId_initializers = [];
1548
+ let _updateId_extraInitializers = [];
1549
+ var AuthSwitchAuthorityOperationModel = class extends _classSuper {
1550
+ static { _classThis = this; }
1551
+ static {
1552
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1553
+ _id_decorators = [plugins.nosqldb.unI()];
1554
+ _kind_decorators = [plugins.nosqldb.svDb()];
1555
+ _purpose_decorators = [plugins.nosqldb.svDb()];
1556
+ _accountId_decorators = [plugins.nosqldb.svDb()];
1557
+ _grantId_decorators = [plugins.nosqldb.svDb()];
1558
+ _expectedGrantGeneration_decorators = [plugins.nosqldb.svDb()];
1559
+ _state_decorators = [plugins.nosqldb.svDb()];
1560
+ _prompt_decorators = [plugins.nosqldb.svDb()];
1561
+ _result_decorators = [plugins.nosqldb.svDb()];
1562
+ _error_decorators = [plugins.nosqldb.svDb()];
1563
+ _commitId_decorators = [plugins.nosqldb.svDb()];
1564
+ _requestHash_decorators = [plugins.nosqldb.svDb()];
1565
+ _requestedModel_decorators = [plugins.nosqldb.svDb()];
1566
+ _model_decorators = [plugins.nosqldb.svDb()];
1567
+ _authorizationGeneration_decorators = [plugins.nosqldb.svDb()];
1568
+ _grantGeneration_decorators = [plugins.nosqldb.svDb()];
1569
+ _problem_decorators = [plugins.nosqldb.svDb()];
1570
+ _createdAt_decorators = [plugins.nosqldb.svDb()];
1571
+ _updatedAt_decorators = [plugins.nosqldb.svDb()];
1572
+ _finishedAt_decorators = [plugins.nosqldb.svDb()];
1573
+ _revision_decorators = [plugins.nosqldb.svDb()];
1574
+ _updateId_decorators = [plugins.nosqldb.svDb()];
1575
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
1576
+ __esDecorate(null, null, _kind_decorators, { kind: "field", name: "kind", static: false, private: false, access: { has: obj => "kind" in obj, get: obj => obj.kind, set: (obj, value) => { obj.kind = value; } }, metadata: _metadata }, _kind_initializers, _kind_extraInitializers);
1577
+ __esDecorate(null, null, _purpose_decorators, { kind: "field", name: "purpose", static: false, private: false, access: { has: obj => "purpose" in obj, get: obj => obj.purpose, set: (obj, value) => { obj.purpose = value; } }, metadata: _metadata }, _purpose_initializers, _purpose_extraInitializers);
1578
+ __esDecorate(null, null, _accountId_decorators, { kind: "field", name: "accountId", static: false, private: false, access: { has: obj => "accountId" in obj, get: obj => obj.accountId, set: (obj, value) => { obj.accountId = value; } }, metadata: _metadata }, _accountId_initializers, _accountId_extraInitializers);
1579
+ __esDecorate(null, null, _grantId_decorators, { kind: "field", name: "grantId", static: false, private: false, access: { has: obj => "grantId" in obj, get: obj => obj.grantId, set: (obj, value) => { obj.grantId = value; } }, metadata: _metadata }, _grantId_initializers, _grantId_extraInitializers);
1580
+ __esDecorate(null, null, _expectedGrantGeneration_decorators, { kind: "field", name: "expectedGrantGeneration", static: false, private: false, access: { has: obj => "expectedGrantGeneration" in obj, get: obj => obj.expectedGrantGeneration, set: (obj, value) => { obj.expectedGrantGeneration = value; } }, metadata: _metadata }, _expectedGrantGeneration_initializers, _expectedGrantGeneration_extraInitializers);
1581
+ __esDecorate(null, null, _state_decorators, { kind: "field", name: "state", static: false, private: false, access: { has: obj => "state" in obj, get: obj => obj.state, set: (obj, value) => { obj.state = value; } }, metadata: _metadata }, _state_initializers, _state_extraInitializers);
1582
+ __esDecorate(null, null, _prompt_decorators, { kind: "field", name: "prompt", static: false, private: false, access: { has: obj => "prompt" in obj, get: obj => obj.prompt, set: (obj, value) => { obj.prompt = value; } }, metadata: _metadata }, _prompt_initializers, _prompt_extraInitializers);
1583
+ __esDecorate(null, null, _result_decorators, { kind: "field", name: "result", static: false, private: false, access: { has: obj => "result" in obj, get: obj => obj.result, set: (obj, value) => { obj.result = value; } }, metadata: _metadata }, _result_initializers, _result_extraInitializers);
1584
+ __esDecorate(null, null, _error_decorators, { kind: "field", name: "error", static: false, private: false, access: { has: obj => "error" in obj, get: obj => obj.error, set: (obj, value) => { obj.error = value; } }, metadata: _metadata }, _error_initializers, _error_extraInitializers);
1585
+ __esDecorate(null, null, _commitId_decorators, { kind: "field", name: "commitId", static: false, private: false, access: { has: obj => "commitId" in obj, get: obj => obj.commitId, set: (obj, value) => { obj.commitId = value; } }, metadata: _metadata }, _commitId_initializers, _commitId_extraInitializers);
1586
+ __esDecorate(null, null, _requestHash_decorators, { kind: "field", name: "requestHash", static: false, private: false, access: { has: obj => "requestHash" in obj, get: obj => obj.requestHash, set: (obj, value) => { obj.requestHash = value; } }, metadata: _metadata }, _requestHash_initializers, _requestHash_extraInitializers);
1587
+ __esDecorate(null, null, _requestedModel_decorators, { kind: "field", name: "requestedModel", static: false, private: false, access: { has: obj => "requestedModel" in obj, get: obj => obj.requestedModel, set: (obj, value) => { obj.requestedModel = value; } }, metadata: _metadata }, _requestedModel_initializers, _requestedModel_extraInitializers);
1588
+ __esDecorate(null, null, _model_decorators, { kind: "field", name: "model", static: false, private: false, access: { has: obj => "model" in obj, get: obj => obj.model, set: (obj, value) => { obj.model = value; } }, metadata: _metadata }, _model_initializers, _model_extraInitializers);
1589
+ __esDecorate(null, null, _authorizationGeneration_decorators, { kind: "field", name: "authorizationGeneration", static: false, private: false, access: { has: obj => "authorizationGeneration" in obj, get: obj => obj.authorizationGeneration, set: (obj, value) => { obj.authorizationGeneration = value; } }, metadata: _metadata }, _authorizationGeneration_initializers, _authorizationGeneration_extraInitializers);
1590
+ __esDecorate(null, null, _grantGeneration_decorators, { kind: "field", name: "grantGeneration", static: false, private: false, access: { has: obj => "grantGeneration" in obj, get: obj => obj.grantGeneration, set: (obj, value) => { obj.grantGeneration = value; } }, metadata: _metadata }, _grantGeneration_initializers, _grantGeneration_extraInitializers);
1591
+ __esDecorate(null, null, _problem_decorators, { kind: "field", name: "problem", static: false, private: false, access: { has: obj => "problem" in obj, get: obj => obj.problem, set: (obj, value) => { obj.problem = value; } }, metadata: _metadata }, _problem_initializers, _problem_extraInitializers);
1592
+ __esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
1593
+ __esDecorate(null, null, _updatedAt_decorators, { kind: "field", name: "updatedAt", static: false, private: false, access: { has: obj => "updatedAt" in obj, get: obj => obj.updatedAt, set: (obj, value) => { obj.updatedAt = value; } }, metadata: _metadata }, _updatedAt_initializers, _updatedAt_extraInitializers);
1594
+ __esDecorate(null, null, _finishedAt_decorators, { kind: "field", name: "finishedAt", static: false, private: false, access: { has: obj => "finishedAt" in obj, get: obj => obj.finishedAt, set: (obj, value) => { obj.finishedAt = value; } }, metadata: _metadata }, _finishedAt_initializers, _finishedAt_extraInitializers);
1595
+ __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
1596
+ __esDecorate(null, null, _updateId_decorators, { kind: "field", name: "updateId", static: false, private: false, access: { has: obj => "updateId" in obj, get: obj => obj.updateId, set: (obj, value) => { obj.updateId = value; } }, metadata: _metadata }, _updateId_initializers, _updateId_extraInitializers);
1597
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1598
+ AuthSwitchAuthorityOperationModel = _classThis = _classDescriptor.value;
1599
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1600
+ __runInitializers(_classThis, _classExtraInitializers);
1601
+ }
1602
+ id = __runInitializers(this, _id_initializers, void 0);
1603
+ kind = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _kind_initializers, void 0));
1604
+ purpose = (__runInitializers(this, _kind_extraInitializers), __runInitializers(this, _purpose_initializers, void 0));
1605
+ accountId = (__runInitializers(this, _purpose_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
1606
+ grantId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _grantId_initializers, void 0));
1607
+ expectedGrantGeneration = (__runInitializers(this, _grantId_extraInitializers), __runInitializers(this, _expectedGrantGeneration_initializers, void 0));
1608
+ state = (__runInitializers(this, _expectedGrantGeneration_extraInitializers), __runInitializers(this, _state_initializers, void 0));
1609
+ prompt = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _prompt_initializers, void 0));
1610
+ result = (__runInitializers(this, _prompt_extraInitializers), __runInitializers(this, _result_initializers, void 0));
1611
+ error = (__runInitializers(this, _result_extraInitializers), __runInitializers(this, _error_initializers, void 0));
1612
+ commitId = (__runInitializers(this, _error_extraInitializers), __runInitializers(this, _commitId_initializers, void 0));
1613
+ requestHash = (__runInitializers(this, _commitId_extraInitializers), __runInitializers(this, _requestHash_initializers, void 0));
1614
+ requestedModel = (__runInitializers(this, _requestHash_extraInitializers), __runInitializers(this, _requestedModel_initializers, void 0));
1615
+ model = (__runInitializers(this, _requestedModel_extraInitializers), __runInitializers(this, _model_initializers, void 0));
1616
+ authorizationGeneration = (__runInitializers(this, _model_extraInitializers), __runInitializers(this, _authorizationGeneration_initializers, void 0));
1617
+ grantGeneration = (__runInitializers(this, _authorizationGeneration_extraInitializers), __runInitializers(this, _grantGeneration_initializers, void 0));
1618
+ problem = (__runInitializers(this, _grantGeneration_extraInitializers), __runInitializers(this, _problem_initializers, void 0));
1619
+ createdAt = (__runInitializers(this, _problem_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
1620
+ updatedAt = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
1621
+ finishedAt = (__runInitializers(this, _updatedAt_extraInitializers), __runInitializers(this, _finishedAt_initializers, void 0));
1622
+ revision = (__runInitializers(this, _finishedAt_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1623
+ updateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
1624
+ constructor() {
1625
+ super(...arguments);
1626
+ __runInitializers(this, _updateId_extraInitializers);
1627
+ }
1628
+ };
1629
+ return AuthSwitchAuthorityOperationModel = _classThis;
1630
+ })();
1631
+ export { AuthSwitchAuthorityOperationModel };
1632
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHltb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUE0RHhDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBaUIsRUFBRSxPQUFlLEVBQVUsRUFBRSxDQUM3RSxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBb014SCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWMsRUFBb0MsRUFBRSxDQUNsRSxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO09BQ2pFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBOEIsRUFBRSxJQUF1QixFQUFXLEVBQUUsQ0FDckYsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RixNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWMsRUFB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QU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQztTQUFNLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSywwQkFBMEIsRUFBRSxDQUFDO1FBQ3RELElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJO2VBQzlFLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJO2VBQzlFLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJO2VBQzlFLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssbUJBQW1CLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwRyxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFD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