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

Function buildRemoteSessionLease

src/auth/runtime/leases.ts:270–315  ·  view source on GitHub ↗
(
  params: {
    nowMs?: number
    organizationUuid?: string | null
    providerMode?: Exclude<LeaseProviderMode, 'third_party_provider'>
    session: ResolvedAuthSession
    sessionId?: string | null
  },
)

Source from the content-addressed store, hash-verified

268}
269
270export function buildRemoteSessionLease(
271 params: {
272 nowMs?: number
273 organizationUuid?: string | null
274 providerMode?: Exclude<LeaseProviderMode, 'third_party_provider'>
275 session: ResolvedAuthSession
276 sessionId?: string | null
277 },
278): IssuedRuntimeLease {
279 const issuedAt = params.nowMs ?? Date.now()
280 const sessionId = params.sessionId ?? null
281 const providerMode = params.providerMode ?? 'noumena_managed'
282
283 return {
284 leaseKind: 'remote_session',
285 leaseId: `remote_session:${sessionId ?? 'pending'}:${params.organizationUuid ?? params.session.identity.organizationUuid ?? 'no-org'}`,
286 sessionId,
287 state: 'usable',
288 renewable: false,
289 renewalOwner: 'none',
290 issuedAt,
291 expiresAt: params.session.accessTokenExpiresAt,
292 renewAfter: null,
293 graceUntil: null,
294 organizationUuid:
295 params.organizationUuid ?? params.session.identity.organizationUuid,
296 capabilities: ['remote_session', 'inference'],
297 executionTarget: 'remote',
298 providerMode,
299 degradationMode: 'resume_required',
300 recoveryMessage:
301 'Remote runtime lease expired. Resume or recreate the remote session to continue.',
302 metadata: {
303 principalKind: params.session.principalKind,
304 principalSource: params.session.principalSource,
305 tokenTransport:
306 providerMode === 'byok' ? 'static_api_key_env' : 'oauth_env',
307 accessTokenEnvVarName:
308 providerMode === 'byok' ? null : 'NCODE_OAUTH_TOKEN',
309 apiKeyEnvVarName:
310 providerMode === 'byok'
311 ? (params.session.rawApiKeySource ?? 'ANTHROPIC_API_KEY')
312 : null,
313 },
314 }
315}
316
317export function buildSessionIngressLease(
318 params: {

Callers 2

leases.test.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected