(
params: {
nowMs?: number
organizationUuid?: string | null
providerMode?: Exclude<LeaseProviderMode, 'third_party_provider'>
session: ResolvedAuthSession
sessionId?: string | null
},
)
| 268 | } |
| 269 | |
| 270 | export 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 | |
| 317 | export function buildSessionIngressLease( |
| 318 | params: { |
no outgoing calls
no test coverage detected