@modelprofile.com/authswitch 6.5.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/authority-contract.d.ts +302 -6
- package/dist_ts/authority-contract.js +1 -1
- package/dist_ts/authority-runtime-contract.d.ts +13 -0
- package/dist_ts/authorityrehearsal.child.d.ts +1 -0
- package/dist_ts/authorityrehearsal.child.js +395 -0
- package/dist_ts/classes.accountlist.js +4 -3
- package/dist_ts/classes.authoritybackup.d.ts +134 -0
- package/dist_ts/classes.authoritybackup.js +769 -0
- package/dist_ts/classes.authoritybroker.d.ts +25 -5
- package/dist_ts/classes.authoritybroker.js +392 -123
- package/dist_ts/classes.authoritycli.d.ts +24 -0
- package/dist_ts/classes.authoritycli.js +675 -0
- package/dist_ts/classes.authorityclient.d.ts +19 -7
- package/dist_ts/classes.authorityclient.js +51 -14
- package/dist_ts/classes.authoritydaemon.d.ts +28 -1
- package/dist_ts/classes.authoritydaemon.js +482 -36
- package/dist_ts/classes.authoritydatabase.d.ts +175 -10
- package/dist_ts/classes.authoritydatabase.js +1100 -52
- package/dist_ts/classes.authoritymodels.d.ts +223 -1
- package/dist_ts/classes.authoritymodels.js +798 -9
- package/dist_ts/classes.authoritypreuse.d.ts +47 -0
- package/dist_ts/classes.authoritypreuse.js +278 -0
- package/dist_ts/classes.authorityregistry.d.ts +24 -0
- package/dist_ts/classes.authorityregistry.js +88 -0
- package/dist_ts/classes.authorityrehearsal.d.ts +127 -0
- package/dist_ts/classes.authorityrehearsal.js +632 -0
- package/dist_ts/classes.authorityusage.d.ts +160 -0
- package/dist_ts/classes.authorityusage.js +429 -0
- package/dist_ts/classes.claudeauthority.d.ts +66 -0
- package/dist_ts/classes.claudeauthority.js +532 -0
- package/dist_ts/classes.claudecodeharness.js +3 -2
- package/dist_ts/classes.claudecodelocks.d.ts +13 -0
- package/dist_ts/classes.claudecodelocks.js +75 -3
- package/dist_ts/classes.claudenative.d.ts +137 -0
- package/dist_ts/classes.claudenative.js +731 -0
- package/dist_ts/classes.claudestatus.d.ts +9 -0
- package/dist_ts/classes.claudestatus.js +26 -9
- package/dist_ts/classes.claudetokenrefresh.d.ts +15 -1
- package/dist_ts/classes.claudetokenrefresh.js +74 -21
- package/dist_ts/classes.codexharness.js +4 -2
- package/dist_ts/classes.codexmanaged.d.ts +11 -0
- package/dist_ts/classes.codexmanaged.js +75 -14
- package/dist_ts/classes.codexpreuse.d.ts +8 -0
- package/dist_ts/classes.codexpreuse.js +24 -6
- package/dist_ts/classes.fileharness.d.ts +2 -0
- package/dist_ts/classes.fileharness.js +6 -4
- package/dist_ts/classes.limits.js +12 -7
- package/dist_ts/classes.opencodeharness.js +2 -2
- package/dist_ts/claudehttp.d.ts +10 -0
- package/dist_ts/claudehttp.js +29 -3
- package/dist_ts/index.d.ts +1 -0
- package/dist_ts/index.js +7 -1
- package/dist_ts/interfaces.harness.d.ts +6 -0
- package/dist_ts/interfaces.list.d.ts +9 -3
- package/dist_ts/plugins.d.ts +5 -2
- package/dist_ts/plugins.js +7 -3
- package/dist_ts/ts_migration/0001_authority_meta.d.ts +3 -0
- package/dist_ts/ts_migration/0001_authority_meta.js +32 -0
- package/dist_ts/ts_migration/index.d.ts +3 -0
- package/dist_ts/ts_migration/index.js +6 -0
- package/package.json +4 -1
- package/readme.md +181 -14
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/authority-contract.ts +264 -9
- package/ts/authority-runtime-contract.ts +14 -0
- package/ts/authorityrehearsal.child.ts +330 -0
- package/ts/classes.accountlist.ts +3 -2
- package/ts/classes.authoritybackup.ts +780 -0
- package/ts/classes.authoritybroker.ts +389 -121
- package/ts/classes.authoritycli.ts +719 -0
- package/ts/classes.authorityclient.ts +75 -18
- package/ts/classes.authoritydaemon.ts +449 -36
- package/ts/classes.authoritydatabase.ts +1147 -55
- package/ts/classes.authoritymodels.ts +541 -6
- package/ts/classes.authoritypreuse.ts +297 -0
- package/ts/classes.authorityregistry.ts +118 -0
- package/ts/classes.authorityrehearsal.ts +625 -0
- package/ts/classes.authorityusage.ts +527 -0
- package/ts/classes.claudeauthority.ts +541 -0
- package/ts/classes.claudecodeharness.ts +2 -1
- package/ts/classes.claudecodelocks.ts +70 -1
- package/ts/classes.claudenative.ts +816 -0
- package/ts/classes.claudestatus.ts +38 -9
- package/ts/classes.claudetokenrefresh.ts +82 -19
- package/ts/classes.codexharness.ts +3 -1
- package/ts/classes.codexmanaged.ts +75 -12
- package/ts/classes.codexpreuse.ts +33 -5
- package/ts/classes.fileharness.ts +7 -3
- package/ts/classes.limits.ts +11 -6
- package/ts/classes.opencodeharness.ts +1 -1
- package/ts/claudehttp.ts +31 -2
- package/ts/index.ts +6 -0
- package/ts/interfaces.harness.ts +6 -0
- package/ts/interfaces.list.ts +9 -3
- package/ts/plugins.ts +7 -2
- package/ts/ts_migration/0001_authority_meta.ts +33 -0
- 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' ||
|
|
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')
|
|
@@ -115,8 +222,8 @@ export const assertStoredAuthorityEnrollment = value => {
|
|
|
115
222
|
throw new Error('Invalid authswitch enrollment record.');
|
|
116
223
|
};
|
|
117
224
|
export const assertStoredAuthorityCodexHome = value => {
|
|
118
|
-
if (!object(value) || !exactKeys(value, ['id', 'accountId', 'scopeId', 'activeRun', 'createdAt', 'updateId'])
|
|
119
|
-
|| !hash(value.id) || !hash(value.accountId) || !bounded(value.scopeId)
|
|
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)
|
|
120
227
|
|| !iso(value.createdAt) || !uuid(value.updateId)) {
|
|
121
228
|
throw new Error('Invalid managed Codex home assignment.');
|
|
122
229
|
}
|
|
@@ -130,6 +237,57 @@ export const assertStoredAuthorityCodexHome = value => {
|
|
|
130
237
|
throw new Error('Invalid managed Codex run assignment.');
|
|
131
238
|
}
|
|
132
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
|
+
};
|
|
133
291
|
export const assertStoredAuthorityHandoff = value => {
|
|
134
292
|
if (!object(value) || !exactKeys(value, ['id', 'accountId', 'grantId', 'nativeHomeId', 'direction', 'phase',
|
|
135
293
|
'operationId', 'sourceDigest', 'verifiedSourceDigest', 'backupDigest', 'revision', 'statusObservedAt', 'updateId'])
|
|
@@ -167,6 +325,149 @@ export const assertStoredAuthorityEvent = value => {
|
|
|
167
325
|
|| !['account', 'binding'].includes(String(value.kind)) || !hash(value.accountId))
|
|
168
326
|
throw new Error('Invalid authswitch event record.');
|
|
169
327
|
};
|
|
328
|
+
const assertStoredAuthorityDeviceOperation = value => {
|
|
329
|
+
if (!object(value) || !exactKeys(value, ['id', 'kind', 'purpose', 'accountId', 'grantId',
|
|
330
|
+
'expectedGrantGeneration', 'state', 'prompt', 'result', 'error', 'commitId', 'createdAt',
|
|
331
|
+
'updatedAt', 'finishedAt', 'revision', 'updateId'])
|
|
332
|
+
|| !uuid(value.id) || !['add_openai', 'reauth_openai'].includes(String(value.kind))
|
|
333
|
+
|| value.purpose !== 'openai_managed'
|
|
334
|
+
|| (value.accountId !== null && !hash(value.accountId))
|
|
335
|
+
|| (value.grantId !== null && !hash(value.grantId))
|
|
336
|
+
|| (value.expectedGrantGeneration !== null && !revision(value.expectedGrantGeneration))
|
|
337
|
+
|| !['starting', 'pending', 'committing', 'complete', 'failed', 'cancelled', 'interrupted', 'outcome_unknown'].includes(String(value.state))
|
|
338
|
+
|| (value.commitId !== null && !uuid(value.commitId))
|
|
339
|
+
|| !iso(value.createdAt) || !iso(value.updatedAt)
|
|
340
|
+
|| (value.finishedAt !== null && !iso(value.finishedAt))
|
|
341
|
+
|| !revision(value.revision) || value.revision === 0 || !uuid(value.updateId)) {
|
|
342
|
+
throw new Error('Invalid authswitch operation record.');
|
|
343
|
+
}
|
|
344
|
+
if (value.kind === 'add_openai'
|
|
345
|
+
? value.accountId !== null || value.grantId !== null || value.expectedGrantGeneration !== null
|
|
346
|
+
: value.accountId === null || value.grantId === null || value.expectedGrantGeneration === null) {
|
|
347
|
+
throw new Error('Invalid authswitch operation target.');
|
|
348
|
+
}
|
|
349
|
+
if (value.prompt !== null && (!object(value.prompt)
|
|
350
|
+
|| (value.prompt.flow === 'device'
|
|
351
|
+
? !exactKeys(value.prompt, ['flow', 'verificationUrl', 'userCode'])
|
|
352
|
+
|| !bounded(value.prompt.verificationUrl, 2048) || !bounded(value.prompt.userCode, 128)
|
|
353
|
+
: value.prompt.flow === 'browser'
|
|
354
|
+
? !exactKeys(value.prompt, ['flow', 'authUrl']) || !bounded(value.prompt.authUrl, 2048)
|
|
355
|
+
: true)))
|
|
356
|
+
throw new Error('Invalid authswitch operation prompt.');
|
|
357
|
+
if (value.result !== null && (!object(value.result)
|
|
358
|
+
|| !exactKeys(value.result, ['accountId', 'grantId', 'accountRevision', 'grantGeneration'])
|
|
359
|
+
|| !hash(value.result.accountId) || !hash(value.result.grantId)
|
|
360
|
+
|| !revision(value.result.accountRevision) || !revision(value.result.grantGeneration))) {
|
|
361
|
+
throw new Error('Invalid authswitch operation result.');
|
|
362
|
+
}
|
|
363
|
+
if (value.error !== null && !bounded(value.error, 512))
|
|
364
|
+
throw new Error('Invalid authswitch operation error.');
|
|
365
|
+
if (['starting', 'pending', 'committing'].includes(String(value.state))) {
|
|
366
|
+
if (value.finishedAt !== null || value.result !== null || value.error !== null
|
|
367
|
+
|| (value.state === 'pending') !== (value.prompt !== null)
|
|
368
|
+
|| (value.state === 'committing') !== (value.commitId !== null)) {
|
|
369
|
+
throw new Error('Invalid pending authswitch operation.');
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
else if (value.finishedAt === null || value.prompt !== null
|
|
373
|
+
|| (value.state === 'complete' ? value.result === null || value.error !== null || value.commitId === null
|
|
374
|
+
: value.result !== null || value.error === null)) {
|
|
375
|
+
throw new Error('Invalid terminal authswitch operation.');
|
|
376
|
+
}
|
|
377
|
+
};
|
|
378
|
+
const modelId = (value) => typeof value === 'string'
|
|
379
|
+
&& /^[a-zA-Z0-9][a-zA-Z0-9._:/-]{0,127}$/.test(value);
|
|
380
|
+
const tokenCount = (value) => value === null
|
|
381
|
+
|| (Number.isSafeInteger(value) && Number(value) >= 0);
|
|
382
|
+
const assertStoredAuthorityPreuseOperation = value => {
|
|
383
|
+
if (!object(value) || !exactKeys(value, ['id', 'kind', 'purpose', 'accountId', 'grantId', 'requestHash',
|
|
384
|
+
'requestedModel', 'model', 'authorizationGeneration', 'grantGeneration', 'state', 'result', 'problem',
|
|
385
|
+
'createdAt', 'updatedAt', 'finishedAt', 'revision', 'updateId'])
|
|
386
|
+
|| !uuid(value.id) || value.kind !== 'preuse_openai' || value.purpose !== 'openai_managed'
|
|
387
|
+
|| !hash(value.accountId) || !hash(value.grantId) || !hash(value.requestHash)
|
|
388
|
+
|| (value.requestedModel !== null && !modelId(value.requestedModel))
|
|
389
|
+
|| (value.model !== null && !modelId(value.model))
|
|
390
|
+
|| !revision(value.authorizationGeneration) || value.authorizationGeneration === 0
|
|
391
|
+
|| (value.grantGeneration !== null && (!revision(value.grantGeneration) || value.grantGeneration === 0))
|
|
392
|
+
|| !['preparing', 'request_may_have_started', 'complete', 'not_sent', 'outcome_unknown'].includes(String(value.state))
|
|
393
|
+
|| !['none', 'target_unavailable', 'access_unavailable', 'catalog_unavailable', 'account_busy', 'cancelled',
|
|
394
|
+
'authority_closing', 'interrupted', 'request_uncertain', '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
|
+
};
|
|
170
471
|
let AuthSwitchAuthorityMetaModel = (() => {
|
|
171
472
|
let _classDecorators = [plugins.smartdata.managed({ collectionName: 'authswitch_authority_meta' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityMeta })];
|
|
172
473
|
let _classDescriptor;
|
|
@@ -176,6 +477,12 @@ let AuthSwitchAuthorityMetaModel = (() => {
|
|
|
176
477
|
let _id_decorators;
|
|
177
478
|
let _id_initializers = [];
|
|
178
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 = [];
|
|
179
486
|
let _epoch_decorators;
|
|
180
487
|
let _epoch_initializers = [];
|
|
181
488
|
let _epoch_extraInitializers = [];
|
|
@@ -190,10 +497,14 @@ let AuthSwitchAuthorityMetaModel = (() => {
|
|
|
190
497
|
static {
|
|
191
498
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
192
499
|
_id_decorators = [plugins.smartdata.unI()];
|
|
500
|
+
_schemaVersion_decorators = [plugins.smartdata.svDb()];
|
|
501
|
+
_admission_decorators = [plugins.smartdata.svDb()];
|
|
193
502
|
_epoch_decorators = [plugins.smartdata.svDb()];
|
|
194
503
|
_revision_decorators = [plugins.smartdata.svDb()];
|
|
195
504
|
_updateId_decorators = [plugins.smartdata.svDb()];
|
|
196
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);
|
|
197
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);
|
|
198
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);
|
|
199
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);
|
|
@@ -203,7 +514,9 @@ let AuthSwitchAuthorityMetaModel = (() => {
|
|
|
203
514
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
204
515
|
}
|
|
205
516
|
id = __runInitializers(this, _id_initializers, void 0);
|
|
206
|
-
|
|
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));
|
|
207
520
|
revision = (__runInitializers(this, _epoch_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
|
|
208
521
|
updateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
|
|
209
522
|
constructor() {
|
|
@@ -446,6 +759,107 @@ let AuthSwitchAuthorityGrantModel = (() => {
|
|
|
446
759
|
return AuthSwitchAuthorityGrantModel = _classThis;
|
|
447
760
|
})();
|
|
448
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 };
|
|
449
863
|
let AuthSwitchAuthorityBindingModel = (() => {
|
|
450
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 })];
|
|
451
865
|
let _classDescriptor;
|
|
@@ -594,6 +1008,9 @@ let AuthSwitchAuthorityCodexHomeModel = (() => {
|
|
|
594
1008
|
let _accountId_decorators;
|
|
595
1009
|
let _accountId_initializers = [];
|
|
596
1010
|
let _accountId_extraInitializers = [];
|
|
1011
|
+
let _grantId_decorators;
|
|
1012
|
+
let _grantId_initializers = [];
|
|
1013
|
+
let _grantId_extraInitializers = [];
|
|
597
1014
|
let _scopeId_decorators;
|
|
598
1015
|
let _scopeId_initializers = [];
|
|
599
1016
|
let _scopeId_extraInitializers = [];
|
|
@@ -612,12 +1029,14 @@ let AuthSwitchAuthorityCodexHomeModel = (() => {
|
|
|
612
1029
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
613
1030
|
_id_decorators = [plugins.smartdata.unI()];
|
|
614
1031
|
_accountId_decorators = [plugins.smartdata.svDb()];
|
|
1032
|
+
_grantId_decorators = [plugins.smartdata.svDb()];
|
|
615
1033
|
_scopeId_decorators = [plugins.smartdata.svDb()];
|
|
616
1034
|
_activeRun_decorators = [plugins.smartdata.svDb()];
|
|
617
1035
|
_createdAt_decorators = [plugins.smartdata.svDb()];
|
|
618
1036
|
_updateId_decorators = [plugins.smartdata.svDb()];
|
|
619
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);
|
|
620
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);
|
|
621
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);
|
|
622
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);
|
|
623
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);
|
|
@@ -629,7 +1048,8 @@ let AuthSwitchAuthorityCodexHomeModel = (() => {
|
|
|
629
1048
|
}
|
|
630
1049
|
id = __runInitializers(this, _id_initializers, void 0);
|
|
631
1050
|
accountId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _accountId_initializers, void 0));
|
|
632
|
-
|
|
1051
|
+
grantId = (__runInitializers(this, _accountId_extraInitializers), __runInitializers(this, _grantId_initializers, void 0));
|
|
1052
|
+
scopeId = (__runInitializers(this, _grantId_extraInitializers), __runInitializers(this, _scopeId_initializers, void 0));
|
|
633
1053
|
activeRun = (__runInitializers(this, _scopeId_extraInitializers), __runInitializers(this, _activeRun_initializers, void 0));
|
|
634
1054
|
createdAt = (__runInitializers(this, _activeRun_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
|
|
635
1055
|
updateId = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updateId_initializers, void 0));
|
|
@@ -641,6 +1061,220 @@ let AuthSwitchAuthorityCodexHomeModel = (() => {
|
|
|
641
1061
|
return AuthSwitchAuthorityCodexHomeModel = _classThis;
|
|
642
1062
|
})();
|
|
643
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 };
|
|
644
1278
|
let AuthSwitchAuthorityHandoffModel = (() => {
|
|
645
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 })];
|
|
646
1280
|
let _classDescriptor;
|
|
@@ -743,7 +1377,7 @@ let AuthSwitchAuthorityHandoffModel = (() => {
|
|
|
743
1377
|
})();
|
|
744
1378
|
export { AuthSwitchAuthorityHandoffModel };
|
|
745
1379
|
let AuthSwitchAuthorityMigrationLedgerModel = (() => {
|
|
746
|
-
let _classDecorators = [plugins.smartdata.compoundIndex({ name: 'authority_migration_status_id', key: { status: 1, id: 1 } }), plugins.smartdata.managed({ collectionName: 'authswitch_authority_migration_ledger' }), plugins.smartdata.exactPersistence({ assertDocument: assertStoredAuthorityMigrationLedger })];
|
|
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 })];
|
|
747
1381
|
let _classDescriptor;
|
|
748
1382
|
let _classExtraInitializers = [];
|
|
749
1383
|
let _classThis;
|
|
@@ -890,4 +1524,159 @@ let AuthSwitchAuthorityEventModel = (() => {
|
|
|
890
1524
|
return AuthSwitchAuthorityEventModel = _classThis;
|
|
891
1525
|
})();
|
|
892
1526
|
export { AuthSwitchAuthorityEventModel };
|
|
893
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRob3JpdHltb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmF1dGhvcml0eW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUE0SHhDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFvQyxFQUFFLENBQ2xFLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7T0FDakUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDckUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUE4QixFQUFFLElBQXVCLEVBQVcsRUFBRSxDQUNyRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQW1CLEVBQUUsQ0FDN0QsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9HLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQzlDLE9BQU8sS0FBSyxLQUFL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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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
|