MCPcopy Create free account
hub / github.com/Noumena-Network/code / buildLocalFirstPartyLease

Function buildLocalFirstPartyLease

src/auth/runtime/leases.ts:177–228  ·  view source on GitHub ↗
(
  session: ResolvedAuthSession,
  options: ResolveLeaseOptions = {},
)

Source from the content-addressed store, hash-verified

175}
176
177export function buildLocalFirstPartyLease(
178 session: ResolvedAuthSession,
179 options: ResolveLeaseOptions = {},
180): IssuedRuntimeLease | null {
181 if (
182 session.principalKind === 'none' ||
183 session.providerAuthKind === 'third_party_provider' ||
184 session.providerAuthKind === 'none'
185 ) {
186 return null
187 }
188
189 const issuedAt = options.nowMs ?? Date.now()
190 const expiresAt = session.accessTokenExpiresAt
191 const renewable = session.canRefresh
192 const renewAfter =
193 renewable && expiresAt !== null
194 ? computeRenewAfter(issuedAt, expiresAt, LOCAL_RENEWAL_WINDOW_MS)
195 : null
196 const graceUntil =
197 renewable && expiresAt !== null ? expiresAt + LOCAL_GRACE_WINDOW_MS : null
198 const state = mapLocalLeaseState(session)
199
200 return {
201 leaseKind: 'local_first_party',
202 leaseId: `local:${session.principalSource}:${session.identity.organizationUuid ?? 'no-org'}:${session.identity.accountUuid ?? 'no-account'}`,
203 sessionId: null,
204 state,
205 renewable,
206 renewalOwner: renewable ? 'local_runtime' : 'none',
207 issuedAt,
208 expiresAt,
209 renewAfter,
210 graceUntil,
211 organizationUuid: session.identity.organizationUuid,
212 capabilities:
213 session.providerPlan.mode === 'byok_static_env'
214 ? ['inference']
215 : ['first_party_api', 'inference'],
216 executionTarget: 'local',
217 providerMode: mapProviderMode(session),
218 degradationMode: mapLocalDegradationMode(state),
219 recoveryMessage: session.recoveryMessage,
220 metadata: {
221 principalKind: session.principalKind,
222 principalSource: session.principalSource,
223 headersKind: session.headersKind,
224 hasUsableToken: session.hasUsableToken,
225 hasUsableApiKey: session.hasUsableApiKey,
226 },
227 }
228}
229
230export function buildBridgeWorkerLease(
231 params: {

Callers 2

leases.test.tsFile · 0.85

Calls 4

computeRenewAfterFunction · 0.85
mapLocalLeaseStateFunction · 0.85
mapProviderModeFunction · 0.85
mapLocalDegradationModeFunction · 0.85

Tested by

no test coverage detected