@modelprofile.com/authswitch 6.4.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/authority-contract.d.ts +302 -6
  3. package/dist_ts/authority-contract.js +1 -1
  4. package/dist_ts/authority-runtime-contract.d.ts +15 -0
  5. package/dist_ts/authorityrehearsal.child.d.ts +1 -0
  6. package/dist_ts/authorityrehearsal.child.js +395 -0
  7. package/dist_ts/classes.accountlist.js +4 -3
  8. package/dist_ts/classes.authoritybackup.d.ts +134 -0
  9. package/dist_ts/classes.authoritybackup.js +769 -0
  10. package/dist_ts/classes.authoritybroker.d.ts +29 -6
  11. package/dist_ts/classes.authoritybroker.js +413 -122
  12. package/dist_ts/classes.authoritycli.d.ts +24 -0
  13. package/dist_ts/classes.authoritycli.js +675 -0
  14. package/dist_ts/classes.authorityclient.d.ts +34 -9
  15. package/dist_ts/classes.authorityclient.js +136 -38
  16. package/dist_ts/classes.authoritydaemon.d.ts +47 -0
  17. package/dist_ts/classes.authoritydaemon.js +705 -16
  18. package/dist_ts/classes.authoritydatabase.d.ts +182 -8
  19. package/dist_ts/classes.authoritydatabase.js +1188 -41
  20. package/dist_ts/classes.authoritymodels.d.ts +247 -1
  21. package/dist_ts/classes.authoritymodels.js +870 -6
  22. package/dist_ts/classes.authoritypreuse.d.ts +47 -0
  23. package/dist_ts/classes.authoritypreuse.js +278 -0
  24. package/dist_ts/classes.authorityregistry.d.ts +24 -0
  25. package/dist_ts/classes.authorityregistry.js +88 -0
  26. package/dist_ts/classes.authorityrehearsal.d.ts +127 -0
  27. package/dist_ts/classes.authorityrehearsal.js +632 -0
  28. package/dist_ts/classes.authorityusage.d.ts +160 -0
  29. package/dist_ts/classes.authorityusage.js +429 -0
  30. package/dist_ts/classes.claudeauthority.d.ts +66 -0
  31. package/dist_ts/classes.claudeauthority.js +532 -0
  32. package/dist_ts/classes.claudecodeharness.js +3 -2
  33. package/dist_ts/classes.claudecodelocks.d.ts +13 -0
  34. package/dist_ts/classes.claudecodelocks.js +75 -3
  35. package/dist_ts/classes.claudenative.d.ts +137 -0
  36. package/dist_ts/classes.claudenative.js +731 -0
  37. package/dist_ts/classes.claudestatus.d.ts +9 -0
  38. package/dist_ts/classes.claudestatus.js +26 -9
  39. package/dist_ts/classes.claudetokenrefresh.d.ts +15 -1
  40. package/dist_ts/classes.claudetokenrefresh.js +74 -21
  41. package/dist_ts/classes.codexharness.js +4 -2
  42. package/dist_ts/classes.codexmanaged.d.ts +91 -0
  43. package/dist_ts/classes.codexmanaged.js +404 -0
  44. package/dist_ts/classes.codexpreuse.d.ts +8 -0
  45. package/dist_ts/classes.codexpreuse.js +24 -6
  46. package/dist_ts/classes.fileharness.d.ts +2 -0
  47. package/dist_ts/classes.fileharness.js +6 -4
  48. package/dist_ts/classes.limits.js +12 -7
  49. package/dist_ts/classes.opencodeharness.js +2 -2
  50. package/dist_ts/claudehttp.d.ts +10 -0
  51. package/dist_ts/claudehttp.js +29 -3
  52. package/dist_ts/index.d.ts +2 -0
  53. package/dist_ts/index.js +8 -1
  54. package/dist_ts/interfaces.harness.d.ts +6 -0
  55. package/dist_ts/interfaces.list.d.ts +9 -3
  56. package/dist_ts/plugins.d.ts +7 -3
  57. package/dist_ts/plugins.js +9 -4
  58. package/dist_ts/ts_migration/0001_authority_meta.d.ts +3 -0
  59. package/dist_ts/ts_migration/0001_authority_meta.js +32 -0
  60. package/dist_ts/ts_migration/index.d.ts +3 -0
  61. package/dist_ts/ts_migration/index.js +6 -0
  62. package/package.json +12 -2
  63. package/readme.md +205 -13
  64. package/ts/00_commitinfo_data.ts +1 -1
  65. package/ts/authority-contract.ts +264 -9
  66. package/ts/authority-runtime-contract.ts +21 -1
  67. package/ts/authorityrehearsal.child.ts +330 -0
  68. package/ts/classes.accountlist.ts +3 -2
  69. package/ts/classes.authoritybackup.ts +780 -0
  70. package/ts/classes.authoritybroker.ts +410 -120
  71. package/ts/classes.authoritycli.ts +719 -0
  72. package/ts/classes.authorityclient.ts +164 -38
  73. package/ts/classes.authoritydaemon.ts +614 -17
  74. package/ts/classes.authoritydatabase.ts +1229 -44
  75. package/ts/classes.authoritymodels.ts +579 -4
  76. package/ts/classes.authoritypreuse.ts +297 -0
  77. package/ts/classes.authorityregistry.ts +118 -0
  78. package/ts/classes.authorityrehearsal.ts +625 -0
  79. package/ts/classes.authorityusage.ts +527 -0
  80. package/ts/classes.claudeauthority.ts +541 -0
  81. package/ts/classes.claudecodeharness.ts +2 -1
  82. package/ts/classes.claudecodelocks.ts +70 -1
  83. package/ts/classes.claudenative.ts +816 -0
  84. package/ts/classes.claudestatus.ts +38 -9
  85. package/ts/classes.claudetokenrefresh.ts +82 -19
  86. package/ts/classes.codexharness.ts +3 -1
  87. package/ts/classes.codexmanaged.ts +402 -0
  88. package/ts/classes.codexpreuse.ts +33 -5
  89. package/ts/classes.fileharness.ts +7 -3
  90. package/ts/classes.limits.ts +11 -6
  91. package/ts/classes.opencodeharness.ts +1 -1
  92. package/ts/claudehttp.ts +31 -2
  93. package/ts/index.ts +7 -0
  94. package/ts/interfaces.harness.ts +6 -0
  95. package/ts/interfaces.list.ts +9 -3
  96. package/ts/plugins.ts +9 -3
  97. package/ts/ts_migration/0001_authority_meta.ts +33 -0
  98. package/ts/ts_migration/index.ts +7 -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,9 +44,107 @@ 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
- if (!object(value) || !exactKeys(value, ['id', 'epoch', 'revision', 'updateId'])
48
- || value.id !== 'authswitch-authority' || !uuid(value.epoch)
145
+ if (!object(value) || !exactKeys(value, ['id', 'schemaVersion', 'admission', 'epoch', 'revision', 'updateId'])
146
+ || value.id !== 'authswitch-authority' || value.schemaVersion !== 2
147
+ || !['open', 'closed_restored'].includes(value.admission) || !uuid(value.epoch)
49
148
  || !revision(value.revision) || !uuid(value.updateId))
50
149
  throw new Error('Invalid authswitch authority metadata.');
51
150
  };
@@ -70,7 +169,7 @@ export const assertStoredAuthorityGrant = value => {
70
169
  || typeof value.providerId !== 'string' || !/^[a-z][a-z0-9-]{0,63}$/.test(value.providerId)
71
170
  || !['openai_managed', 'claude_host_native', 'claude_container_setup', 'opencode_native'].includes(String(value.purpose))
72
171
  || !bounded(value.audience)
73
- || !['ready', 'exchange_may_have_been_sent', 'retry_wait', 'needs_reauth', 'native', 'legacy_native_pending', 'removed'].includes(String(value.state))
172
+ || !['ready', 'exchange_may_have_been_sent', 'retry_wait', 'needs_reauth', 'native', 'legacy_native_pending', 'handoff_pending', 'handoff_quarantined', 'removed'].includes(String(value.state))
74
173
  || !['daemon', 'claude_native', 'legacy_native', 'none'].includes(String(value.owner))
75
174
  || !revision(value.grantGeneration) || !revision(value.authorizationGeneration)
76
175
  || !revision(value.revision) || !ciphertext(value.ciphertext)
@@ -92,6 +191,14 @@ export const assertStoredAuthorityGrant = value => {
92
191
  throw new Error('A removed grant was retained.');
93
192
  if (value.state === 'legacy_native_pending' && value.owner !== 'legacy_native')
94
193
  throw new Error('A legacy native grant cannot be daemon-owned.');
194
+ if (['handoff_pending', 'handoff_quarantined'].includes(String(value.state))
195
+ && value.purpose !== 'claude_host_native')
196
+ throw new Error('Only a Claude host grant may enter native handoff.');
197
+ if (['handoff_pending', 'handoff_quarantined'].includes(String(value.state))
198
+ && (value.owner === 'daemon' ? value.ciphertext === null
199
+ : value.owner !== 'claude_native' || value.ciphertext !== null)) {
200
+ throw new Error('Claude handoff grant has incompatible custody.');
201
+ }
95
202
  if (value.purpose === 'openai_managed' && value.providerId !== 'openai')
96
203
  throw new Error('OpenAI grant provider mismatch.');
97
204
  if (value.purpose === 'claude_container_setup' && value.owner === 'claude_native')
@@ -114,6 +221,73 @@ export const assertStoredAuthorityEnrollment = value => {
114
221
  || !revision(value.revision) || !uuid(value.updateId))
115
222
  throw new Error('Invalid authswitch enrollment record.');
116
223
  };
224
+ export const assertStoredAuthorityCodexHome = value => {
225
+ if (!object(value) || !exactKeys(value, ['id', 'accountId', 'grantId', 'scopeId', 'activeRun', 'createdAt', 'updateId'])
226
+ || !hash(value.id) || !hash(value.accountId) || !hash(value.grantId) || !bounded(value.scopeId)
227
+ || !iso(value.createdAt) || !uuid(value.updateId)) {
228
+ throw new Error('Invalid managed Codex home assignment.');
229
+ }
230
+ if (value.activeRun !== null && (!object(value.activeRun)
231
+ || !exactKeys(value.activeRun, ['id', 'socketPath', 'pid', 'startedAt'])
232
+ || !uuid(value.activeRun.id) || !bounded(value.activeRun.socketPath, 1024)
233
+ || (value.activeRun.pid !== null && (typeof value.activeRun.pid !== 'number'
234
+ || !Number.isSafeInteger(value.activeRun.pid) || value.activeRun.pid <= 0))
235
+ || (value.activeRun.startedAt !== null && !iso(value.activeRun.startedAt))
236
+ || (value.activeRun.pid === null) !== (value.activeRun.startedAt === null))) {
237
+ throw new Error('Invalid managed Codex run assignment.');
238
+ }
239
+ };
240
+ export const assertStoredAuthorityClaudeHome = value => {
241
+ if (!object(value) || !exactKeys(value, ['id', 'activeAccountId', 'activeGrantId', 'pendingOperationId',
242
+ 'status', 'revision', 'createdAt', 'updateId']) || !hash(value.id) || !hash(value.activeAccountId)
243
+ || !hash(value.activeGrantId) || (value.pendingOperationId !== null && !uuid(value.pendingOperationId))
244
+ || !['ready', 'quarantined'].includes(String(value.status)) || !revision(value.revision)
245
+ || value.revision === 0 || !iso(value.createdAt) || !uuid(value.updateId)
246
+ || (value.status === 'quarantined' && value.pendingOperationId === null)) {
247
+ throw new Error('Invalid Claude native home assignment.');
248
+ }
249
+ };
250
+ const nativePair = (value) => object(value)
251
+ && exactKeys(value, ['credentialDigest', 'configDigest'])
252
+ && (value.credentialDigest === null || hash(value.credentialDigest))
253
+ && (value.configDigest === null || hash(value.configDigest));
254
+ const nativeIdentity = (value) => object(value)
255
+ && exactKeys(value, ['accountUuid', 'organizationUuid'])
256
+ && bounded(value.accountUuid) && bounded(value.organizationUuid);
257
+ export const assertStoredAuthorityClaudeHandoff = value => {
258
+ if (!object(value) || !exactKeys(value, ['id', 'homeId', 'outgoingAccountId', 'outgoingGrantId',
259
+ 'incomingAccountId', 'incomingGrantId', 'phase', 'before', 'after', 'sourceIdentity',
260
+ 'targetIdentity', 'sourceAccessDigest', 'targetAccessDigest', 'sealedOutgoing',
261
+ 'runningEffectiveAuth', 'problem', 'startedAt', 'updatedAt', 'revision', 'updateId'])
262
+ || !uuid(value.id) || !hash(value.homeId) || !hash(value.outgoingAccountId)
263
+ || !hash(value.outgoingGrantId) || !hash(value.incomingAccountId) || !hash(value.incomingGrantId)
264
+ || value.outgoingAccountId === value.incomingAccountId || value.outgoingGrantId === value.incomingGrantId
265
+ || !['reserved', 'prepared', 'committed', 'aborted', 'quarantined'].includes(String(value.phase))
266
+ || (value.before !== null && !nativePair(value.before)) || (value.after !== null && !nativePair(value.after))
267
+ || !nativeIdentity(value.sourceIdentity) || !nativeIdentity(value.targetIdentity)
268
+ || (value.sourceAccessDigest !== null && !hash(value.sourceAccessDigest))
269
+ || (value.targetAccessDigest !== null && !hash(value.targetAccessDigest))
270
+ || !ciphertext(value.sealedOutgoing)
271
+ || ![null, 'no_scoped_sessions', 'unsupported_effective_auth'].includes(value.runningEffectiveAuth)
272
+ || !['none', 'native_uncertain', 'foreign_or_torn', 'unsupported_effective_auth', 'database_uncertain'].includes(String(value.problem))
273
+ || !iso(value.startedAt) || !iso(value.updatedAt) || !revision(value.revision)
274
+ || value.revision === 0 || !uuid(value.updateId))
275
+ throw new Error('Invalid Claude native handoff.');
276
+ const hasProof = value.before !== null && value.after !== null
277
+ && value.sourceAccessDigest !== null && value.targetAccessDigest !== null;
278
+ const hasNoProof = value.before === null && value.after === null
279
+ && value.sourceAccessDigest === null && value.targetAccessDigest === null;
280
+ if ((value.phase === 'reserved' && (!hasNoProof || value.sealedOutgoing !== null))
281
+ || (['prepared', 'committed'].includes(String(value.phase)) && !hasProof)
282
+ || (['aborted', 'quarantined'].includes(String(value.phase)) && !hasProof && !hasNoProof)) {
283
+ throw new Error('Claude handoff phase lacks exact native proof.');
284
+ }
285
+ if (value.phase === 'prepared' && value.sealedOutgoing === null)
286
+ throw new Error('Prepared Claude handoff lacks sealed outgoing grant.');
287
+ if (['committed', 'aborted'].includes(String(value.phase)) && value.sealedOutgoing !== null) {
288
+ throw new Error('Terminal Claude handoff retained a grant copy.');
289
+ }
290
+ };
117
291
  export const assertStoredAuthorityHandoff = value => {
118
292
  if (!object(value) || !exactKeys(value, ['id', 'accountId', 'grantId', 'nativeHomeId', 'direction', 'phase',
119
293
  'operationId', 'sourceDigest', 'verifiedSourceDigest', 'backupDigest', 'revision', 'statusObservedAt', 'updateId'])
@@ -151,6 +325,149 @@ export const assertStoredAuthorityEvent = value => {
151
325
  || !['account', 'binding'].includes(String(value.kind)) || !hash(value.accountId))
152
326
  throw new Error('Invalid authswitch event record.');
153
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', 'restored_history_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 {
431
+ const restoredHistory = value.problem === 'restored_history_uncertain';
432
+ const coherentMarker = (value.model === null) === (value.grantGeneration === null);
433
+ if (value.result !== null || value.finishedAt === null
434
+ || (restoredHistory ? !coherentMarker : value.model === null || value.grantGeneration === null
435
+ || !['cancelled', 'authority_closing', 'request_uncertain'].includes(String(value.problem)))) {
436
+ throw new Error('Invalid uncertain authswitch preuse operation.');
437
+ }
438
+ }
439
+ };
440
+ export const assertStoredAuthorityOperation = value => {
441
+ if (object(value) && value.kind === 'preuse_openai')
442
+ assertStoredAuthorityPreuseOperation(value);
443
+ else
444
+ assertStoredAuthorityDeviceOperation(value);
445
+ };
446
+ export const assertStoredAuthorityOperationDocument = value => {
447
+ assertStoredAuthorityOperation(value);
448
+ };
449
+ /**
450
+ * Converts unresolved snapshot history into an immutable restored receipt. A live restart has stronger
451
+ * evidence and is handled separately: a snapshot captured in `preparing` may have sent after capture.
452
+ */
453
+ export const restoreStoredAuthorityOperation = (operation, options) => {
454
+ assertStoredAuthorityOperation(operation);
455
+ const unresolvedDevice = operation.kind !== 'preuse_openai'
456
+ && ['starting', 'pending', 'committing'].includes(operation.state);
457
+ const unresolvedPreuse = operation.kind === 'preuse_openai'
458
+ && ['preparing', 'request_may_have_started'].includes(operation.state);
459
+ if (!unresolvedDevice && !unresolvedPreuse)
460
+ return operation;
461
+ const restored = operation.kind === 'preuse_openai'
462
+ ? { ...operation, state: 'outcome_unknown', result: null, problem: 'restored_history_uncertain',
463
+ updatedAt: options.restoredAt, finishedAt: options.restoredAt,
464
+ revision: operation.revision + 1, updateId: options.updateId }
465
+ : { ...operation, state: 'interrupted', prompt: null, result: null, commitId: null,
466
+ error: 'Interrupted by authority restore.', updatedAt: options.restoredAt, finishedAt: options.restoredAt,
467
+ revision: operation.revision + 1, updateId: options.updateId };
468
+ assertStoredAuthorityOperation(restored);
469
+ return restored;
470
+ };
154
471
  let AuthSwitchAuthorityMetaModel = (() => {
155
472
  let _classDecorators = [plugins.smartdata.managed({ collectionName: 'authswitch_authority_meta' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityMeta })];
156
473
  let _classDescriptor;
@@ -160,6 +477,12 @@ let AuthSwitchAuthorityMetaModel = (() => {
160
477
  let _id_decorators;
161
478
  let _id_initializers = [];
162
479
  let _id_extraInitializers = [];
480
+ let _schemaVersion_decorators;
481
+ let _schemaVersion_initializers = [];
482
+ let _schemaVersion_extraInitializers = [];
483
+ let _admission_decorators;
484
+ let _admission_initializers = [];
485
+ let _admission_extraInitializers = [];
163
486
  let _epoch_decorators;
164
487
  let _epoch_initializers = [];
165
488
  let _epoch_extraInitializers = [];
@@ -174,10 +497,14 @@ let AuthSwitchAuthorityMetaModel = (() => {
174
497
  static {
175
498
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
176
499
  _id_decorators = [plugins.smartdata.unI()];
500
+ _schemaVersion_decorators = [plugins.smartdata.svDb()];
501
+ _admission_decorators = [plugins.smartdata.svDb()];
177
502
  _epoch_decorators = [plugins.smartdata.svDb()];
178
503
  _revision_decorators = [plugins.smartdata.svDb()];
179
504
  _updateId_decorators = [plugins.smartdata.svDb()];
180
505
  __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);
506
+ __esDecorate(null, null, _schemaVersion_decorators, { kind: "field", name: "schemaVersion", static: false, private: false, access: { has: obj => "schemaVersion" in obj, get: obj => obj.schemaVersion, set: (obj, value) => { obj.schemaVersion = value; } }, metadata: _metadata }, _schemaVersion_initializers, _schemaVersion_extraInitializers);
507
+ __esDecorate(null, null, _admission_decorators, { kind: "field", name: "admission", static: false, private: false, access: { has: obj => "admission" in obj, get: obj => obj.admission, set: (obj, value) => { obj.admission = value; } }, metadata: _metadata }, _admission_initializers, _admission_extraInitializers);
181
508
  __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);
182
509
  __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);
183
510
  __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);
@@ -187,7 +514,9 @@ let AuthSwitchAuthorityMetaModel = (() => {
187
514
  __runInitializers(_classThis, _classExtraInitializers);
188
515
  }
189
516
  id = __runInitializers(this, _id_initializers, void 0);
190
- epoch = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _epoch_initializers, void 0));
517
+ schemaVersion = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _schemaVersion_initializers, void 0));
518
+ admission = (__runInitializers(this, _schemaVersion_extraInitializers), __runInitializers(this, _admission_initializers, void 0));
519
+ epoch = (__runInitializers(this, _admission_extraInitializers), __runInitializers(this, _epoch_initializers, void 0));
191
520
  revision = (__runInitializers(this, _epoch_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
192
521
  updateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
193
522
  constructor() {
@@ -430,6 +759,107 @@ let AuthSwitchAuthorityGrantModel = (() => {
430
759
  return AuthSwitchAuthorityGrantModel = _classThis;
431
760
  })();
432
761
  export { AuthSwitchAuthorityGrantModel };
762
+ let AuthSwitchAuthorityUsageModel = (() => {
763
+ let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_usage_account_login', key: { accountId: 1, loginId: 1 }, options: { unique: true } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_usage' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityUsage })];
764
+ let _classDescriptor;
765
+ let _classExtraInitializers = [];
766
+ let _classThis;
767
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
768
+ let _id_decorators;
769
+ let _id_initializers = [];
770
+ let _id_extraInitializers = [];
771
+ let _accountId_decorators;
772
+ let _accountId_initializers = [];
773
+ let _accountId_extraInitializers = [];
774
+ let _loginId_decorators;
775
+ let _loginId_initializers = [];
776
+ let _loginId_extraInitializers = [];
777
+ let _context_decorators;
778
+ let _context_initializers = [];
779
+ let _context_extraInitializers = [];
780
+ let _updateId_decorators;
781
+ let _updateId_initializers = [];
782
+ let _updateId_extraInitializers = [];
783
+ let _reading_decorators;
784
+ let _reading_initializers = [];
785
+ let _reading_extraInitializers = [];
786
+ let _observedAt_decorators;
787
+ let _observedAt_initializers = [];
788
+ let _observedAt_extraInitializers = [];
789
+ let _currentUntil_decorators;
790
+ let _currentUntil_initializers = [];
791
+ let _currentUntil_extraInitializers = [];
792
+ let _staleUntil_decorators;
793
+ let _staleUntil_initializers = [];
794
+ let _staleUntil_extraInitializers = [];
795
+ let _lastAttemptAt_decorators;
796
+ let _lastAttemptAt_initializers = [];
797
+ let _lastAttemptAt_extraInitializers = [];
798
+ let _nextAttemptAt_decorators;
799
+ let _nextAttemptAt_initializers = [];
800
+ let _nextAttemptAt_extraInitializers = [];
801
+ let _failures_decorators;
802
+ let _failures_initializers = [];
803
+ let _failures_extraInitializers = [];
804
+ let _problem_decorators;
805
+ let _problem_initializers = [];
806
+ let _problem_extraInitializers = [];
807
+ var AuthSwitchAuthorityUsageModel = class extends _classSuper {
808
+ static { _classThis = this; }
809
+ static {
810
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
811
+ _id_decorators = [plugins.smartdata.unI()];
812
+ _accountId_decorators = [plugins.smartdata.svDb()];
813
+ _loginId_decorators = [plugins.smartdata.svDb()];
814
+ _context_decorators = [plugins.smartdata.svDb()];
815
+ _updateId_decorators = [plugins.smartdata.svDb()];
816
+ _reading_decorators = [plugins.smartdata.svDb()];
817
+ _observedAt_decorators = [plugins.smartdata.svDb()];
818
+ _currentUntil_decorators = [plugins.smartdata.svDb()];
819
+ _staleUntil_decorators = [plugins.smartdata.svDb()];
820
+ _lastAttemptAt_decorators = [plugins.smartdata.svDb()];
821
+ _nextAttemptAt_decorators = [plugins.smartdata.svDb()];
822
+ _failures_decorators = [plugins.smartdata.svDb()];
823
+ _problem_decorators = [plugins.smartdata.svDb()];
824
+ __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);
825
+ __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);
826
+ __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);
827
+ __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);
828
+ __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);
829
+ __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);
830
+ __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);
831
+ __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);
832
+ __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);
833
+ __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);
834
+ __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);
835
+ __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);
836
+ __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);
837
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
838
+ AuthSwitchAuthorityUsageModel = _classThis = _classDescriptor.value;
839
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
840
+ __runInitializers(_classThis, _classExtraInitializers);
841
+ }
842
+ id = __runInitializers(this, _id_initializers, void 0);
843
+ accountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
844
+ loginId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _loginId_initializers, void 0));
845
+ context = (__runInitializers(this, _loginId_extraInitializers), __runInitializers(this, _context_initializers, void 0));
846
+ updateId = (__runInitializers(this, _context_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
847
+ reading = (__runInitializers(this, _updateId_extraInitializers), __runInitializers(this, _reading_initializers, void 0));
848
+ observedAt = (__runInitializers(this, _reading_extraInitializers), __runInitializers(this, _observedAt_initializers, void 0));
849
+ currentUntil = (__runInitializers(this, _observedAt_extraInitializers), __runInitializers(this, _currentUntil_initializers, void 0));
850
+ staleUntil = (__runInitializers(this, _currentUntil_extraInitializers), __runInitializers(this, _staleUntil_initializers, void 0));
851
+ lastAttemptAt = (__runInitializers(this, _staleUntil_extraInitializers), __runInitializers(this, _lastAttemptAt_initializers, void 0));
852
+ nextAttemptAt = (__runInitializers(this, _lastAttemptAt_extraInitializers), __runInitializers(this, _nextAttemptAt_initializers, void 0));
853
+ failures = (__runInitializers(this, _nextAttemptAt_extraInitializers), __runInitializers(this, _failures_initializers, void 0));
854
+ problem = (__runInitializers(this, _failures_extraInitializers), __runInitializers(this, _problem_initializers, void 0));
855
+ constructor() {
856
+ super(...arguments);
857
+ __runInitializers(this, _problem_extraInitializers);
858
+ }
859
+ };
860
+ return AuthSwitchAuthorityUsageModel = _classThis;
861
+ })();
862
+ export { AuthSwitchAuthorityUsageModel };
433
863
  let AuthSwitchAuthorityBindingModel = (() => {
434
864
  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 })];
435
865
  let _classDescriptor;
@@ -566,6 +996,285 @@ let AuthSwitchAuthorityEnrollmentModel = (() => {
566
996
  return AuthSwitchAuthorityEnrollmentModel = _classThis;
567
997
  })();
568
998
  export { AuthSwitchAuthorityEnrollmentModel };
999
+ let AuthSwitchAuthorityCodexHomeModel = (() => {
1000
+ 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 })];
1001
+ let _classDescriptor;
1002
+ let _classExtraInitializers = [];
1003
+ let _classThis;
1004
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
1005
+ let _id_decorators;
1006
+ let _id_initializers = [];
1007
+ let _id_extraInitializers = [];
1008
+ let _accountId_decorators;
1009
+ let _accountId_initializers = [];
1010
+ let _accountId_extraInitializers = [];
1011
+ let _grantId_decorators;
1012
+ let _grantId_initializers = [];
1013
+ let _grantId_extraInitializers = [];
1014
+ let _scopeId_decorators;
1015
+ let _scopeId_initializers = [];
1016
+ let _scopeId_extraInitializers = [];
1017
+ let _activeRun_decorators;
1018
+ let _activeRun_initializers = [];
1019
+ let _activeRun_extraInitializers = [];
1020
+ let _createdAt_decorators;
1021
+ let _createdAt_initializers = [];
1022
+ let _createdAt_extraInitializers = [];
1023
+ let _updateId_decorators;
1024
+ let _updateId_initializers = [];
1025
+ let _updateId_extraInitializers = [];
1026
+ var AuthSwitchAuthorityCodexHomeModel = class extends _classSuper {
1027
+ static { _classThis = this; }
1028
+ static {
1029
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1030
+ _id_decorators = [plugins.smartdata.unI()];
1031
+ _accountId_decorators = [plugins.smartdata.svDb()];
1032
+ _grantId_decorators = [plugins.smartdata.svDb()];
1033
+ _scopeId_decorators = [plugins.smartdata.svDb()];
1034
+ _activeRun_decorators = [plugins.smartdata.svDb()];
1035
+ _createdAt_decorators = [plugins.smartdata.svDb()];
1036
+ _updateId_decorators = [plugins.smartdata.svDb()];
1037
+ __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);
1038
+ __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);
1039
+ __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);
1040
+ __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);
1041
+ __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);
1042
+ __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);
1043
+ __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);
1044
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1045
+ AuthSwitchAuthorityCodexHomeModel = _classThis = _classDescriptor.value;
1046
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1047
+ __runInitializers(_classThis, _classExtraInitializers);
1048
+ }
1049
+ id = __runInitializers(this, _id_initializers, void 0);
1050
+ accountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
1051
+ grantId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _grantId_initializers, void 0));
1052
+ scopeId = (__runInitializers(this, _grantId_extraInitializers), __runInitializers(this, _scopeId_initializers, void 0));
1053
+ activeRun = (__runInitializers(this, _scopeId_extraInitializers), __runInitializers(this, _activeRun_initializers, void 0));
1054
+ createdAt = (__runInitializers(this, _activeRun_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
1055
+ updateId = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
1056
+ constructor() {
1057
+ super(...arguments);
1058
+ __runInitializers(this, _updateId_extraInitializers);
1059
+ }
1060
+ };
1061
+ return AuthSwitchAuthorityCodexHomeModel = _classThis;
1062
+ })();
1063
+ export { AuthSwitchAuthorityCodexHomeModel };
1064
+ let AuthSwitchAuthorityClaudeHomeModel = (() => {
1065
+ let _classDecorators = [plugins.smartdata.managed({ collectionName: 'authswitch_authority_claude_homes' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityClaudeHome })];
1066
+ let _classDescriptor;
1067
+ let _classExtraInitializers = [];
1068
+ let _classThis;
1069
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
1070
+ let _id_decorators;
1071
+ let _id_initializers = [];
1072
+ let _id_extraInitializers = [];
1073
+ let _activeAccountId_decorators;
1074
+ let _activeAccountId_initializers = [];
1075
+ let _activeAccountId_extraInitializers = [];
1076
+ let _activeGrantId_decorators;
1077
+ let _activeGrantId_initializers = [];
1078
+ let _activeGrantId_extraInitializers = [];
1079
+ let _pendingOperationId_decorators;
1080
+ let _pendingOperationId_initializers = [];
1081
+ let _pendingOperationId_extraInitializers = [];
1082
+ let _status_decorators;
1083
+ let _status_initializers = [];
1084
+ let _status_extraInitializers = [];
1085
+ let _revision_decorators;
1086
+ let _revision_initializers = [];
1087
+ let _revision_extraInitializers = [];
1088
+ let _createdAt_decorators;
1089
+ let _createdAt_initializers = [];
1090
+ let _createdAt_extraInitializers = [];
1091
+ let _updateId_decorators;
1092
+ let _updateId_initializers = [];
1093
+ let _updateId_extraInitializers = [];
1094
+ var AuthSwitchAuthorityClaudeHomeModel = class extends _classSuper {
1095
+ static { _classThis = this; }
1096
+ static {
1097
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1098
+ _id_decorators = [plugins.smartdata.unI()];
1099
+ _activeAccountId_decorators = [plugins.smartdata.svDb()];
1100
+ _activeGrantId_decorators = [plugins.smartdata.index({ unique: true })];
1101
+ _pendingOperationId_decorators = [plugins.smartdata.svDb()];
1102
+ _status_decorators = [plugins.smartdata.svDb()];
1103
+ _revision_decorators = [plugins.smartdata.svDb()];
1104
+ _createdAt_decorators = [plugins.smartdata.svDb()];
1105
+ _updateId_decorators = [plugins.smartdata.svDb()];
1106
+ __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);
1107
+ __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);
1108
+ __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);
1109
+ __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);
1110
+ __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);
1111
+ __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);
1112
+ __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);
1113
+ __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);
1114
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1115
+ AuthSwitchAuthorityClaudeHomeModel = _classThis = _classDescriptor.value;
1116
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1117
+ __runInitializers(_classThis, _classExtraInitializers);
1118
+ }
1119
+ id = __runInitializers(this, _id_initializers, void 0);
1120
+ activeAccountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _activeAccountId_initializers, void 0));
1121
+ activeGrantId = (__runInitializers(this, _activeAccountId_extraInitializers), __runInitializers(this, _activeGrantId_initializers, void 0));
1122
+ pendingOperationId = (__runInitializers(this, _activeGrantId_extraInitializers), __runInitializers(this, _pendingOperationId_initializers, void 0));
1123
+ status = (__runInitializers(this, _pendingOperationId_extraInitializers), __runInitializers(this, _status_initializers, void 0));
1124
+ revision = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1125
+ createdAt = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
1126
+ updateId = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
1127
+ constructor() {
1128
+ super(...arguments);
1129
+ __runInitializers(this, _updateId_extraInitializers);
1130
+ }
1131
+ };
1132
+ return AuthSwitchAuthorityClaudeHomeModel = _classThis;
1133
+ })();
1134
+ export { AuthSwitchAuthorityClaudeHomeModel };
1135
+ let AuthSwitchAuthorityClaudeHandoffModel = (() => {
1136
+ let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_claude_handoff_home_phase', key: { homeId: 1, phase: 1, id: 1 } }), plugins.smartdata.compoundIndex({ name: 'authority_claude_handoff_phase_id', key: { phase: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_claude_handoffs' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityClaudeHandoff })];
1137
+ let _classDescriptor;
1138
+ let _classExtraInitializers = [];
1139
+ let _classThis;
1140
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
1141
+ let _id_decorators;
1142
+ let _id_initializers = [];
1143
+ let _id_extraInitializers = [];
1144
+ let _homeId_decorators;
1145
+ let _homeId_initializers = [];
1146
+ let _homeId_extraInitializers = [];
1147
+ let _outgoingAccountId_decorators;
1148
+ let _outgoingAccountId_initializers = [];
1149
+ let _outgoingAccountId_extraInitializers = [];
1150
+ let _outgoingGrantId_decorators;
1151
+ let _outgoingGrantId_initializers = [];
1152
+ let _outgoingGrantId_extraInitializers = [];
1153
+ let _incomingAccountId_decorators;
1154
+ let _incomingAccountId_initializers = [];
1155
+ let _incomingAccountId_extraInitializers = [];
1156
+ let _incomingGrantId_decorators;
1157
+ let _incomingGrantId_initializers = [];
1158
+ let _incomingGrantId_extraInitializers = [];
1159
+ let _phase_decorators;
1160
+ let _phase_initializers = [];
1161
+ let _phase_extraInitializers = [];
1162
+ let _before_decorators;
1163
+ let _before_initializers = [];
1164
+ let _before_extraInitializers = [];
1165
+ let _after_decorators;
1166
+ let _after_initializers = [];
1167
+ let _after_extraInitializers = [];
1168
+ let _sourceIdentity_decorators;
1169
+ let _sourceIdentity_initializers = [];
1170
+ let _sourceIdentity_extraInitializers = [];
1171
+ let _targetIdentity_decorators;
1172
+ let _targetIdentity_initializers = [];
1173
+ let _targetIdentity_extraInitializers = [];
1174
+ let _sourceAccessDigest_decorators;
1175
+ let _sourceAccessDigest_initializers = [];
1176
+ let _sourceAccessDigest_extraInitializers = [];
1177
+ let _targetAccessDigest_decorators;
1178
+ let _targetAccessDigest_initializers = [];
1179
+ let _targetAccessDigest_extraInitializers = [];
1180
+ let _sealedOutgoing_decorators;
1181
+ let _sealedOutgoing_initializers = [];
1182
+ let _sealedOutgoing_extraInitializers = [];
1183
+ let _runningEffectiveAuth_decorators;
1184
+ let _runningEffectiveAuth_initializers = [];
1185
+ let _runningEffectiveAuth_extraInitializers = [];
1186
+ let _problem_decorators;
1187
+ let _problem_initializers = [];
1188
+ let _problem_extraInitializers = [];
1189
+ let _startedAt_decorators;
1190
+ let _startedAt_initializers = [];
1191
+ let _startedAt_extraInitializers = [];
1192
+ let _updatedAt_decorators;
1193
+ let _updatedAt_initializers = [];
1194
+ let _updatedAt_extraInitializers = [];
1195
+ let _revision_decorators;
1196
+ let _revision_initializers = [];
1197
+ let _revision_extraInitializers = [];
1198
+ let _updateId_decorators;
1199
+ let _updateId_initializers = [];
1200
+ let _updateId_extraInitializers = [];
1201
+ var AuthSwitchAuthorityClaudeHandoffModel = class extends _classSuper {
1202
+ static { _classThis = this; }
1203
+ static {
1204
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1205
+ _id_decorators = [plugins.smartdata.unI()];
1206
+ _homeId_decorators = [plugins.smartdata.svDb()];
1207
+ _outgoingAccountId_decorators = [plugins.smartdata.svDb()];
1208
+ _outgoingGrantId_decorators = [plugins.smartdata.svDb()];
1209
+ _incomingAccountId_decorators = [plugins.smartdata.svDb()];
1210
+ _incomingGrantId_decorators = [plugins.smartdata.svDb()];
1211
+ _phase_decorators = [plugins.smartdata.svDb()];
1212
+ _before_decorators = [plugins.smartdata.svDb()];
1213
+ _after_decorators = [plugins.smartdata.svDb()];
1214
+ _sourceIdentity_decorators = [plugins.smartdata.svDb()];
1215
+ _targetIdentity_decorators = [plugins.smartdata.svDb()];
1216
+ _sourceAccessDigest_decorators = [plugins.smartdata.svDb()];
1217
+ _targetAccessDigest_decorators = [plugins.smartdata.svDb()];
1218
+ _sealedOutgoing_decorators = [plugins.smartdata.svDb()];
1219
+ _runningEffectiveAuth_decorators = [plugins.smartdata.svDb()];
1220
+ _problem_decorators = [plugins.smartdata.svDb()];
1221
+ _startedAt_decorators = [plugins.smartdata.svDb()];
1222
+ _updatedAt_decorators = [plugins.smartdata.svDb()];
1223
+ _revision_decorators = [plugins.smartdata.svDb()];
1224
+ _updateId_decorators = [plugins.smartdata.svDb()];
1225
+ __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);
1226
+ __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);
1227
+ __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);
1228
+ __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);
1229
+ __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);
1230
+ __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);
1231
+ __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);
1232
+ __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);
1233
+ __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);
1234
+ __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);
1235
+ __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);
1236
+ __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);
1237
+ __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);
1238
+ __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);
1239
+ __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);
1240
+ __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);
1241
+ __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);
1242
+ __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);
1243
+ __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);
1244
+ __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);
1245
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1246
+ AuthSwitchAuthorityClaudeHandoffModel = _classThis = _classDescriptor.value;
1247
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1248
+ __runInitializers(_classThis, _classExtraInitializers);
1249
+ }
1250
+ id = __runInitializers(this, _id_initializers, void 0);
1251
+ homeId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _homeId_initializers, void 0));
1252
+ outgoingAccountId = (__runInitializers(this, _homeId_extraInitializers), __runInitializers(this, _outgoingAccountId_initializers, void 0));
1253
+ outgoingGrantId = (__runInitializers(this, _outgoingAccountId_extraInitializers), __runInitializers(this, _outgoingGrantId_initializers, void 0));
1254
+ incomingAccountId = (__runInitializers(this, _outgoingGrantId_extraInitializers), __runInitializers(this, _incomingAccountId_initializers, void 0));
1255
+ incomingGrantId = (__runInitializers(this, _incomingAccountId_extraInitializers), __runInitializers(this, _incomingGrantId_initializers, void 0));
1256
+ phase = (__runInitializers(this, _incomingGrantId_extraInitializers), __runInitializers(this, _phase_initializers, void 0));
1257
+ before = (__runInitializers(this, _phase_extraInitializers), __runInitializers(this, _before_initializers, void 0));
1258
+ after = (__runInitializers(this, _before_extraInitializers), __runInitializers(this, _after_initializers, void 0));
1259
+ sourceIdentity = (__runInitializers(this, _after_extraInitializers), __runInitializers(this, _sourceIdentity_initializers, void 0));
1260
+ targetIdentity = (__runInitializers(this, _sourceIdentity_extraInitializers), __runInitializers(this, _targetIdentity_initializers, void 0));
1261
+ sourceAccessDigest = (__runInitializers(this, _targetIdentity_extraInitializers), __runInitializers(this, _sourceAccessDigest_initializers, void 0));
1262
+ targetAccessDigest = (__runInitializers(this, _sourceAccessDigest_extraInitializers), __runInitializers(this, _targetAccessDigest_initializers, void 0));
1263
+ sealedOutgoing = (__runInitializers(this, _targetAccessDigest_extraInitializers), __runInitializers(this, _sealedOutgoing_initializers, void 0));
1264
+ runningEffectiveAuth = (__runInitializers(this, _sealedOutgoing_extraInitializers), __runInitializers(this, _runningEffectiveAuth_initializers, void 0));
1265
+ problem = (__runInitializers(this, _runningEffectiveAuth_extraInitializers), __runInitializers(this, _problem_initializers, void 0));
1266
+ startedAt = (__runInitializers(this, _problem_extraInitializers), __runInitializers(this, _startedAt_initializers, void 0));
1267
+ updatedAt = (__runInitializers(this, _startedAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
1268
+ revision = (__runInitializers(this, _updatedAt_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1269
+ updateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
1270
+ constructor() {
1271
+ super(...arguments);
1272
+ __runInitializers(this, _updateId_extraInitializers);
1273
+ }
1274
+ };
1275
+ return AuthSwitchAuthorityClaudeHandoffModel = _classThis;
1276
+ })();
1277
+ export { AuthSwitchAuthorityClaudeHandoffModel };
569
1278
  let AuthSwitchAuthorityHandoffModel = (() => {
570
1279
  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 })];
571
1280
  let _classDescriptor;
@@ -668,7 +1377,7 @@ let AuthSwitchAuthorityHandoffModel = (() => {
668
1377
  })();
669
1378
  export { AuthSwitchAuthorityHandoffModel };
670
1379
  let AuthSwitchAuthorityMigrationLedgerModel = (() => {
671
- 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 })];
1380
+ let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_migration_status_id', key: { status: 1, id: 1 } }), plugins.smartdata.compoundIndex({ name: 'authority_migration_grant_status_id', key: { grantId: 1, status: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_migration_ledger' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityMigrationLedger })];
672
1381
  let _classDescriptor;
673
1382
  let _classExtraInitializers = [];
674
1383
  let _classThis;
@@ -815,4 +1524,159 @@ let AuthSwitchAuthorityEventModel = (() => {
815
1524
  return AuthSwitchAuthorityEventModel = _classThis;
816
1525
  })();
817
1526
  export { AuthSwitchAuthorityEventModel };
818
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHltb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFrSHhDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFvQyxFQUFFLENBQ2xFLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7T0FDakUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDckUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUE4QixFQUFFLElBQXVCLEVBQVcsRUFBRSxDQUNyRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQW1CLEVBQUUsQ0FDN0QsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9HLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQzlDLE9BQU8sS0FBSyxLQUFL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
1527
+ let AuthSwitchAuthorityOperationModel = (() => {
1528
+ let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_operation_state_id', key: { state: 1, id: 1 } }), plugins.smartdata.compoundIndex({ name: 'authority_operation_account_id', key: { accountId: 1, id: 1 } }), plugins.smartdata.compoundIndex({ name: 'authority_operation_kind_id', key: { kind: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_operations' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityOperationDocument })];
1529
+ let _classDescriptor;
1530
+ let _classExtraInitializers = [];
1531
+ let _classThis;
1532
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
1533
+ let _id_decorators;
1534
+ let _id_initializers = [];
1535
+ let _id_extraInitializers = [];
1536
+ let _kind_decorators;
1537
+ let _kind_initializers = [];
1538
+ let _kind_extraInitializers = [];
1539
+ let _purpose_decorators;
1540
+ let _purpose_initializers = [];
1541
+ let _purpose_extraInitializers = [];
1542
+ let _accountId_decorators;
1543
+ let _accountId_initializers = [];
1544
+ let _accountId_extraInitializers = [];
1545
+ let _grantId_decorators;
1546
+ let _grantId_initializers = [];
1547
+ let _grantId_extraInitializers = [];
1548
+ let _expectedGrantGeneration_decorators;
1549
+ let _expectedGrantGeneration_initializers = [];
1550
+ let _expectedGrantGeneration_extraInitializers = [];
1551
+ let _state_decorators;
1552
+ let _state_initializers = [];
1553
+ let _state_extraInitializers = [];
1554
+ let _prompt_decorators;
1555
+ let _prompt_initializers = [];
1556
+ let _prompt_extraInitializers = [];
1557
+ let _result_decorators;
1558
+ let _result_initializers = [];
1559
+ let _result_extraInitializers = [];
1560
+ let _error_decorators;
1561
+ let _error_initializers = [];
1562
+ let _error_extraInitializers = [];
1563
+ let _commitId_decorators;
1564
+ let _commitId_initializers = [];
1565
+ let _commitId_extraInitializers = [];
1566
+ let _requestHash_decorators;
1567
+ let _requestHash_initializers = [];
1568
+ let _requestHash_extraInitializers = [];
1569
+ let _requestedModel_decorators;
1570
+ let _requestedModel_initializers = [];
1571
+ let _requestedModel_extraInitializers = [];
1572
+ let _model_decorators;
1573
+ let _model_initializers = [];
1574
+ let _model_extraInitializers = [];
1575
+ let _authorizationGeneration_decorators;
1576
+ let _authorizationGeneration_initializers = [];
1577
+ let _authorizationGeneration_extraInitializers = [];
1578
+ let _grantGeneration_decorators;
1579
+ let _grantGeneration_initializers = [];
1580
+ let _grantGeneration_extraInitializers = [];
1581
+ let _problem_decorators;
1582
+ let _problem_initializers = [];
1583
+ let _problem_extraInitializers = [];
1584
+ let _createdAt_decorators;
1585
+ let _createdAt_initializers = [];
1586
+ let _createdAt_extraInitializers = [];
1587
+ let _updatedAt_decorators;
1588
+ let _updatedAt_initializers = [];
1589
+ let _updatedAt_extraInitializers = [];
1590
+ let _finishedAt_decorators;
1591
+ let _finishedAt_initializers = [];
1592
+ let _finishedAt_extraInitializers = [];
1593
+ let _revision_decorators;
1594
+ let _revision_initializers = [];
1595
+ let _revision_extraInitializers = [];
1596
+ let _updateId_decorators;
1597
+ let _updateId_initializers = [];
1598
+ let _updateId_extraInitializers = [];
1599
+ var AuthSwitchAuthorityOperationModel = class extends _classSuper {
1600
+ static { _classThis = this; }
1601
+ static {
1602
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1603
+ _id_decorators = [plugins.smartdata.unI()];
1604
+ _kind_decorators = [plugins.smartdata.svDb()];
1605
+ _purpose_decorators = [plugins.smartdata.svDb()];
1606
+ _accountId_decorators = [plugins.smartdata.svDb()];
1607
+ _grantId_decorators = [plugins.smartdata.svDb()];
1608
+ _expectedGrantGeneration_decorators = [plugins.smartdata.svDb()];
1609
+ _state_decorators = [plugins.smartdata.svDb()];
1610
+ _prompt_decorators = [plugins.smartdata.svDb()];
1611
+ _result_decorators = [plugins.smartdata.svDb()];
1612
+ _error_decorators = [plugins.smartdata.svDb()];
1613
+ _commitId_decorators = [plugins.smartdata.svDb()];
1614
+ _requestHash_decorators = [plugins.smartdata.svDb()];
1615
+ _requestedModel_decorators = [plugins.smartdata.svDb()];
1616
+ _model_decorators = [plugins.smartdata.svDb()];
1617
+ _authorizationGeneration_decorators = [plugins.smartdata.svDb()];
1618
+ _grantGeneration_decorators = [plugins.smartdata.svDb()];
1619
+ _problem_decorators = [plugins.smartdata.svDb()];
1620
+ _createdAt_decorators = [plugins.smartdata.svDb()];
1621
+ _updatedAt_decorators = [plugins.smartdata.svDb()];
1622
+ _finishedAt_decorators = [plugins.smartdata.svDb()];
1623
+ _revision_decorators = [plugins.smartdata.svDb()];
1624
+ _updateId_decorators = [plugins.smartdata.svDb()];
1625
+ __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);
1626
+ __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);
1627
+ __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);
1628
+ __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);
1629
+ __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);
1630
+ __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);
1631
+ __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);
1632
+ __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);
1633
+ __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);
1634
+ __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);
1635
+ __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);
1636
+ __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);
1637
+ __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);
1638
+ __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);
1639
+ __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);
1640
+ __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);
1641
+ __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);
1642
+ __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);
1643
+ __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);
1644
+ __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);
1645
+ __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);
1646
+ __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);
1647
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1648
+ AuthSwitchAuthorityOperationModel = _classThis = _classDescriptor.value;
1649
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1650
+ __runInitializers(_classThis, _classExtraInitializers);
1651
+ }
1652
+ id = __runInitializers(this, _id_initializers, void 0);
1653
+ kind = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _kind_initializers, void 0));
1654
+ purpose = (__runInitializers(this, _kind_extraInitializers), __runInitializers(this, _purpose_initializers, void 0));
1655
+ accountId = (__runInitializers(this, _purpose_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
1656
+ grantId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _grantId_initializers, void 0));
1657
+ expectedGrantGeneration = (__runInitializers(this, _grantId_extraInitializers), __runInitializers(this, _expectedGrantGeneration_initializers, void 0));
1658
+ state = (__runInitializers(this, _expectedGrantGeneration_extraInitializers), __runInitializers(this, _state_initializers, void 0));
1659
+ prompt = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _prompt_initializers, void 0));
1660
+ result = (__runInitializers(this, _prompt_extraInitializers), __runInitializers(this, _result_initializers, void 0));
1661
+ error = (__runInitializers(this, _result_extraInitializers), __runInitializers(this, _error_initializers, void 0));
1662
+ commitId = (__runInitializers(this, _error_extraInitializers), __runInitializers(this, _commitId_initializers, void 0));
1663
+ requestHash = (__runInitializers(this, _commitId_extraInitializers), __runInitializers(this, _requestHash_initializers, void 0));
1664
+ requestedModel = (__runInitializers(this, _requestHash_extraInitializers), __runInitializers(this, _requestedModel_initializers, void 0));
1665
+ model = (__runInitializers(this, _requestedModel_extraInitializers), __runInitializers(this, _model_initializers, void 0));
1666
+ authorizationGeneration = (__runInitializers(this, _model_extraInitializers), __runInitializers(this, _authorizationGeneration_initializers, void 0));
1667
+ grantGeneration = (__runInitializers(this, _authorizationGeneration_extraInitializers), __runInitializers(this, _grantGeneration_initializers, void 0));
1668
+ problem = (__runInitializers(this, _grantGeneration_extraInitializers), __runInitializers(this, _problem_initializers, void 0));
1669
+ createdAt = (__runInitializers(this, _problem_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
1670
+ updatedAt = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
1671
+ finishedAt = (__runInitializers(this, _updatedAt_extraInitializers), __runInitializers(this, _finishedAt_initializers, void 0));
1672
+ revision = (__runInitializers(this, _finishedAt_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
1673
+ updateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
1674
+ constructor() {
1675
+ super(...arguments);
1676
+ __runInitializers(this, _updateId_extraInitializers);
1677
+ }
1678
+ };
1679
+ return AuthSwitchAuthorityOperationModel = _classThis;
1680
+ })();
1681
+ export { AuthSwitchAuthorityOperationModel };
1682
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHltb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUE4RHhDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBaUIsRUFBRSxPQUFlLEVBQVUsRUFBRSxDQUM3RSxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBc014SCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWMsRUFBb0MsRUFBRSxDQUNsRSxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO09BQ2pFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBOEIsRUFBRSxJQUF1QixFQUFXLEVBQUUsQ0FDckYsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RixNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWMsRUFB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QUMsZUFBZSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUk7ZUFDOUUsS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssMEJBQTBCLEVBQUUsQ0FBQztRQUN0RCxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSTtlQUM5RSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztTQUFNLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSTtlQUM5RSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQztTQUFNLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSTtlQUM5RSxLQUFLLENBQUMsT0FBTyxL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