@opengeni/db 0.4.0 → 0.4.1

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/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import '@opengeni/contracts';
2
2
  import '@opengeni/config';
3
3
  export { isCodexBilledModel } from '@opengeni/codex';
4
4
  import 'drizzle-orm/pg-core';
5
- import './schema-DuRsrmzD.js';
5
+ import './schema-C7Wvjwge.js';
6
6
  export { sql as dbSql } from 'drizzle-orm';
7
- export { A as AccrueWarmSecondsResult, a as AcquireLeaseInput, b as AcquireLeaseResult, c as ActiveSandboxPointer, d as AppendEventInput, B as BootstrapWorkspaceInput, C as CLEARED_RUN_STATE, e as CODEX_ROTATION_STRATEGIES, f as ClearSessionContextResult, g as CodexAccountStatus, h as CodexAccountUsageSnapshot, i as CodexAuthDeps, j as CodexCredentialForRun, k as CodexCredentialTokens, l as CodexRotationSettings, m as CodexRotationStrategy, n as CreateCapabilityCatalogItemInput, o as CreateDbOptions, p as CreatePackInstallationInput, q as CreateScheduledTaskInput, r as CreateSessionGoalInput, s as CreateSessionMcpServerInput, t as CreateSocialConnectionInput, u as CreateSocialPostInput, D as Database, v as DbClient, w as DeviceEnrollmentRequestRecord, x as DeviceEnrollmentStatus, E as EnableCapabilityInstallationInput, y as EnabledMcpCapabilityServer, z as EnqueueSessionTurnInput, F as EnrollmentExposure, G as EnrollmentOs, H as EnrollmentRecord, I as EnrollmentStatus, J as ForceDrainResult, K as GitHubInstallation, L as GoalContinuationDecision, M as LeaseHolderKind, N as LeaseSnapshot, O as ListSessionEventsOptions, P as LiveModalSandboxLeaseAttribution, Q as MACHINE_METRICS_SERIES_INTERVAL_MS, R as MachineMetricsRow, S as MachineMetricsSample, T as MeterableWarmLease, ProvisionResult, ProvisionRolesOptions, U as ReapDrainable, V as RegisterWorkspacePackInput, W as RlsContext, X as RlsStrategy, Y as SandboxImageConflictError, Z as SandboxKind, _ as SandboxLeaseLiveness, $ as SandboxLeaseSupersededError, a0 as SandboxPtySessionRow, a1 as SandboxRecord, a2 as SessionCodexState, a3 as SessionMcpServerForRun, a4 as SessionRecordingCodec, a5 as SessionRecordingMode, a6 as SessionRecordingRow, a7 as SessionRecordingState, a8 as StreamAcknowledgment, a9 as UpdateQueuedSessionTurnInput, aa as UpdateScheduledTaskInput, ab as UpdateSessionMcpServerCredentialsInput, ac as UpdateSessionMcpServerCredentialsResult, ad as UserLookup, ae as WakeParentForChildCompletionInput, af as WakeParentForChildCompletionResult, ag as WorkspaceEnvironmentForRun, ah as accrueWarmSeconds, ai as acquireLease, aj as allAccountPermissions, ak as allWorkspacePermissions, al as appendSessionEvents, am as appendSessionEventsAndUpdateSession, an as appendSessionEventsWithLockedSessionUpdate, ao as appendSessionHistoryItems, ap as applyContextCompaction, aq as applyCreditDebitUpToBalance, ar as applyCreditLedgerEntry, as as approveDeviceEnrollmentRequest, at as bootstrapWorkspace, au as buildCodexTokenResolver, av as cancelQueuedSessionTurn, aw as claimNextQueuedTurn, ax as clearSessionContext, ay as clearedContextMarkerItem, az as closePtySession, aA as commitWarmingToWarm, aB as completeFileUpload, aC as confirmDrainCold, aD as consumeDeviceEnrollmentRequest, aE as consumeSessionCompactionRequest, aF as countActiveApiKeysForWorkspace, aG as countActiveSessionHistoryItems, aH as countActiveSessionsForWorkspace, aI as countActiveSessionsUsingEnvironment, aJ as countConsecutiveReactiveRotations, aK as countScheduledTasksForWorkspace, aL as countScheduledTasksUsingEnvironment, aM as countSessionHistoryItems, aN as countTurnSessionHistoryItems, aO as countWorkspaceEnvironments, aP as countWorkspacesForAccount, aQ as createApiKey, aR as createDb, aS as createDeviceEnrollmentRequest, aT as createEnrollment, aU as createFileUpload, aV as createSandbox, aW as createScheduledTask, aX as createScheduledTaskRun, aY as createSession, aZ as createSessionGoal, a_ as createSessionMcpServers, a$ as createSessionWithIdempotencyKey, b0 as createSocialConnection, b1 as createSocialPost, b2 as createTurn, b3 as createWorkspace, b4 as createWorkspaceEnvironment, b5 as decryptEnvironmentValue, b6 as decryptedCapabilityHeaders, b7 as deleteRecording, b8 as deleteScheduledTask, b9 as deleteWorkspace, ba as deleteWorkspaceEnvironment, bb as deleteWorkspaceEnvironmentVariable, bc as deleteWorkspacePack, bd as denyDeviceEnrollmentRequest, be as disableCapabilityInstallation, bf as disconnectAllCodexAccounts, bg as disconnectCodexAccount, bh as enableCapabilityInstallation, bi as enablePackInstallation, bj as encryptEnvironmentValue, bk as enqueueSessionTurn, bl as ensureCodexRotationSettings, bm as ensureManagedAccessForUser, bn as evaluateGoalContinuation, bo as failWarmingToCold, bp as fetchCodexUsageForAccount, bq as finalizeEnrollmentByToken, br as findActiveApiKeyByHash, bs as finishTurn, bt as forceDrainOverLimitViewerOnlyBoxes, bu as getActiveSessionHistoryItems, bv as getAnySessionInGroup, bw as getBillingBalance, bx as getBillingCustomer, by as getCapabilityCatalogItem, bz as getCapabilityInstallation, bA as getCodexCredentialStatus, bB as getCodexRotationSettings, bC as getDeviceEnrollmentRequestByDeviceCode, bD as getEnrollment, bE as getFile, bF as getFileUpload, bG as getLatestRunState, bH as getManagedAccount, bI as getManagedUserByEmail, bJ as getOpenPtySession, bK as getPackInstallation, bL as getPendingDeviceEnrollmentRequestByUserCode, bM as getPendingDeviceEnrollmentRequestByUserCodeGlobal, bN as getRecording, bO as getSandbox, bP as getSandboxSessionEnvelope, bQ as getScheduledTask, bR as getSession, bS as getSessionByCreateIdempotencyKey, bT as getSessionCodexState, bU as getSessionEvent, bV as getSessionGoal, bW as getSessionHistoryItems, bX as getSessionTurn, bY as getSocialConnection, bZ as getStoredCapabilityHeaderCiphertext, b_ as getStreamAcknowledgment, b$ as getWorkspace, c0 as getWorkspaceEnvironment, c1 as getWorkspaceEnvironmentByName, c2 as getWorkspaceEnvironmentValuesForRun, c3 as getWorkspaceGrant, c4 as getWorkspacePack, c5 as grantWorkspaceAccess, c6 as hasCreditLedgerEntry, c7 as heartbeatLeaseHolder, c8 as incrementTurnWorkerDeathRedispatches, c9 as ingestMachineMetricsSample, ca as insertMachineMetricsSeries, cb as insertPtySession, cc as insertRecording, cd as isCodexBilledTurn, ce as isStripeWebhookProcessed, cf as listApiKeys, cg as listCapabilityCatalogItems, ch as listCapabilityInstallations, ci as listCodexAccountStatuses, cj as listDistinctEnvironmentIdsInGroup, ck as listEnabledMcpCapabilityServers, cl as listEnrollments, cm as listGitHubInstallationIdsForWorkspace, cn as listGitHubInstallationsForWorkspace, co as listLiveModalSandboxLeaseAttributions, cp as listMeterableWarmLeases, cq as listOpenPtySessions, cr as listPackInstallations, cs as listRecordings, ct as listSandboxes, cu as listScheduledTaskRuns, cv as listScheduledTasks, cw as listSessionEvents, cx as listSessionIdsInGroup, cy as listSessionMcpServerMetadata, cz as listSessionMcpServersForRun, cA as listSessionTurns, cB as listSessions, cC as listSocialConnections, cD as listSocialPosts, cE as listUsageEvents, cF as listWorkspaceEnvironments, cG as listWorkspaceMembers, cH as listWorkspacePacks, cI as listWorkspacesForSubject, cJ as loadCodexCredentialForRun, cK as loadWorkspaceEnvironmentForRun, cL as markFileUploadFailed, cM as markStripeWebhookProcessed, cN as mcpServerIdForCapability, cO as nextSessionHistoryPosition, cP as orphanedResultRowIndicesForRepair, cQ as persistDrainSnapshot, provisionRoles, cR as reArmDrainingLease, cS as readActiveSandbox, cT as readLease, cU as readMachineMetricsLatest, cV as readMachineMetricsLatestForWorkspace, cW as readMachineMetricsSeries, cX as reapStaleLeaseHolders, cY as reapStaleLeaseHoldersGlobal, cZ as recordAuditEvent, c_ as recordCodexAccountConnectors, c$ as recordCodexAccountUsage, d0 as recordCodexTokenRefresh, d1 as recordLeaseDataPlaneUrl, d2 as recordLeaseTerminalDataPlaneUrl, d3 as recordSessionActiveCodexCredential, d4 as recordStreamAcknowledgment, d5 as recordStripeWebhookEvent, d6 as recordUsageEvent, d7 as recordWarmingSandboxCreated, d8 as registerDbBinding, d9 as registerWorkspacePack, da as releaseLeaseHolder, db as removeWorkspaceMember, dc as renameCodexAccount, dd as reorderQueuedSessionTurns, de as requestSessionCompaction, df as requeuePreemptedTurn, dg as requireFile, dh as requireScheduledTask, di as requireSession, dj as requireSocialConnection, dk as requireWorkspace, dl as revokeApiKey, dm as revokeEnrollment, dn as revokeViewer, dp as rlsContextForWorkspace, dq as rlsStrategyFor, dr as sanitizeEventPayload, ds as sanitizeEventString, dt as saveRunState, du as sessionSubject, dv as setActiveCodexCredential, dw as setActiveSandbox, dx as setCodexCredentialExhausted, dy as setCodexCredentialStatus, dz as setEnrollmentHasDisplay, dA as setRlsContext, dB as setSessionCodexPin, dC as setSessionGoalLastContinuationTurn, dD as setSessionGoalStatus, dE as setSessionLastInputTokens, dF as setSessionStatus, dG as setTemporalWorkflowId, dH as setWorkspaceEnvironmentVariable, dI as sumUsageQuantity, dJ as touchEnrollmentLastSeen, dK as updateCodexRotationSettings, dL as updatePackInstallationStatus, dM as updatePtySessionActivity, dN as updateQueuedSessionTurn, dO as updateRecording, dP as updateScheduledTask, dQ as updateScheduledTaskRun, dR as updateSessionGoal, dS as updateSessionMcpServerCredentials, dT as updateSessionTitle, dU as updateWorkspace, dV as updateWorkspaceEnvironment, dW as upsertBillingCustomer, dX as upsertCapabilityCatalogItem, dY as upsertCodexSubscriptionCredential, dZ as upsertGitHubInstallation, d_ as upsertMachineMetricsLatest, d$ as upsertSandboxSessionEnvelope, e0 as upsertSessionGoal, e1 as wakeParentSessionForChildCompletion, e2 as withAccountRls, e3 as withRlsContext, e4 as withWorkspaceRls, e5 as withWorkspaceUsageLock, e6 as workspaceCodexSubscriptionActive } from './provision-roles.js';
7
+ export { A as AccrueWarmSecondsResult, a as AcquireLeaseInput, b as AcquireLeaseResult, c as ActiveSandboxPointer, d as AppendEventInput, B as BootstrapWorkspaceInput, C as CLEARED_RUN_STATE, e as CODEX_ROTATION_STRATEGIES, f as ClearSessionContextResult, g as CodexAccountStatus, h as CodexAccountUsageSnapshot, i as CodexAuthDeps, j as CodexCredentialForRun, k as CodexCredentialTokens, l as CodexRotationSettings, m as CodexRotationStrategy, n as CreateCapabilityCatalogItemInput, o as CreateDbOptions, p as CreatePackInstallationInput, q as CreateScheduledTaskInput, r as CreateSessionGoalInput, s as CreateSessionMcpServerInput, t as CreateSocialConnectionInput, u as CreateSocialPostInput, D as Database, v as DbClient, w as DeviceEnrollmentRequestRecord, x as DeviceEnrollmentStatus, E as EnableCapabilityInstallationInput, y as EnabledMcpCapabilityServer, z as EnqueueSessionTurnInput, F as EnrollmentExposure, G as EnrollmentOs, H as EnrollmentRecord, I as EnrollmentStatus, J as ForceDrainResult, K as GitHubInstallation, L as GoalContinuationDecision, M as LeaseHolderKind, N as LeaseSnapshot, O as ListSessionEventsOptions, P as LiveModalSandboxLeaseAttribution, Q as MACHINE_METRICS_SERIES_INTERVAL_MS, R as MachineMetricsRow, S as MachineMetricsSample, T as MeterableWarmLease, ProvisionResult, ProvisionRolesOptions, U as ReapDrainable, V as RegisterWorkspacePackInput, W as RlsContext, X as RlsStrategy, Y as SandboxImageConflictError, Z as SandboxKind, _ as SandboxLeaseLiveness, $ as SandboxLeaseSupersededError, a0 as SandboxPtySessionRow, a1 as SandboxRecord, a2 as SessionCodexState, a3 as SessionMcpServerForRun, a4 as SessionRecordingCodec, a5 as SessionRecordingMode, a6 as SessionRecordingRow, a7 as SessionRecordingState, a8 as StreamAcknowledgment, a9 as UpdateQueuedSessionTurnInput, aa as UpdateScheduledTaskInput, ab as UpdateSessionMcpServerCredentialsInput, ac as UpdateSessionMcpServerCredentialsResult, ad as UserLookup, ae as WakeParentForChildCompletionInput, af as WakeParentForChildCompletionResult, ag as WorkspaceEnvironmentForRun, ah as accrueWarmSeconds, ai as acquireLease, aj as allAccountPermissions, ak as allWorkspacePermissions, al as appendSessionEvents, am as appendSessionEventsAndUpdateSession, an as appendSessionEventsWithLockedSessionUpdate, ao as appendSessionHistoryItems, ap as applyContextCompaction, aq as applyCreditDebitUpToBalance, ar as applyCreditLedgerEntry, as as approveDeviceEnrollmentRequest, at as bootstrapWorkspace, au as buildCodexTokenResolver, av as cancelQueuedSessionTurn, aw as claimNextQueuedTurn, ax as clearSessionContext, ay as clearedContextMarkerItem, az as closePtySession, aA as commitWarmingToWarm, aB as completeFileUpload, aC as confirmDrainCold, aD as consumeDeviceEnrollmentRequest, aE as consumeSessionCompactionRequest, aF as countActiveApiKeysForWorkspace, aG as countActiveSessionHistoryItems, aH as countActiveSessionsForWorkspace, aI as countActiveSessionsUsingEnvironment, aJ as countConsecutiveReactiveRotations, aK as countQueuedTurns, aL as countSandboxLeasesByLiveness, aM as countScheduledTasksForWorkspace, aN as countScheduledTasksUsingEnvironment, aO as countSessionHistoryItems, aP as countTurnSessionHistoryItems, aQ as countWorkspaceEnvironments, aR as countWorkspacesForAccount, aS as createApiKey, aT as createDb, aU as createDeviceEnrollmentRequest, aV as createEnrollment, aW as createFileUpload, aX as createSandbox, aY as createScheduledTask, aZ as createScheduledTaskRun, a_ as createSession, a$ as createSessionGoal, b0 as createSessionMcpServers, b1 as createSessionWithIdempotencyKey, b2 as createSocialConnection, b3 as createSocialPost, b4 as createTurn, b5 as createWorkspace, b6 as createWorkspaceEnvironment, b7 as decryptEnvironmentValue, b8 as decryptedCapabilityHeaders, b9 as deleteRecording, ba as deleteScheduledTask, bb as deleteWorkspace, bc as deleteWorkspaceEnvironment, bd as deleteWorkspaceEnvironmentVariable, be as deleteWorkspacePack, bf as denyDeviceEnrollmentRequest, bg as disableCapabilityInstallation, bh as disconnectAllCodexAccounts, bi as disconnectCodexAccount, bj as enableCapabilityInstallation, bk as enablePackInstallation, bl as encryptEnvironmentValue, bm as enqueueSessionTurn, bn as ensureCodexRotationSettings, bo as ensureManagedAccessForUser, bp as evaluateGoalContinuation, bq as failWarmingToCold, br as fetchCodexUsageForAccount, bs as finalizeEnrollmentByToken, bt as findActiveApiKeyByHash, bu as finishTurn, bv as forceDrainOverLimitViewerOnlyBoxes, bw as getActiveSessionHistoryItems, bx as getAnySessionInGroup, by as getBillingBalance, bz as getBillingCustomer, bA as getCapabilityCatalogItem, bB as getCapabilityInstallation, bC as getCodexCredentialStatus, bD as getCodexRotationSettings, bE as getDeviceEnrollmentRequestByDeviceCode, bF as getEnrollment, bG as getFile, bH as getFileUpload, bI as getLatestRunState, bJ as getManagedAccount, bK as getManagedUserByEmail, bL as getOpenPtySession, bM as getPackInstallation, bN as getPendingDeviceEnrollmentRequestByUserCode, bO as getPendingDeviceEnrollmentRequestByUserCodeGlobal, bP as getRecording, bQ as getSandbox, bR as getSandboxSessionEnvelope, bS as getScheduledTask, bT as getSession, bU as getSessionByCreateIdempotencyKey, bV as getSessionCodexState, bW as getSessionEvent, bX as getSessionGoal, bY as getSessionHistoryItems, bZ as getSessionTurn, b_ as getSocialConnection, b$ as getStoredCapabilityHeaderCiphertext, c0 as getStreamAcknowledgment, c1 as getWorkspace, c2 as getWorkspaceEnvironment, c3 as getWorkspaceEnvironmentByName, c4 as getWorkspaceEnvironmentValuesForRun, c5 as getWorkspaceGrant, c6 as getWorkspacePack, c7 as grantWorkspaceAccess, c8 as hasCreditLedgerEntry, c9 as heartbeatLeaseHolder, ca as incrementTurnWorkerDeathRedispatches, cb as ingestMachineMetricsSample, cc as insertMachineMetricsSeries, cd as insertPtySession, ce as insertRecording, cf as isCodexBilledTurn, cg as isStripeWebhookProcessed, ch as listApiKeys, ci as listCapabilityCatalogItems, cj as listCapabilityInstallations, ck as listCodexAccountStatuses, cl as listDistinctEnvironmentIdsInGroup, cm as listEnabledMcpCapabilityServers, cn as listEnrollments, co as listGitHubInstallationIdsForWorkspace, cp as listGitHubInstallationsForWorkspace, cq as listLiveModalSandboxLeaseAttributions, cr as listMeterableWarmLeases, cs as listOpenPtySessions, ct as listPackInstallations, cu as listRecordings, cv as listSandboxes, cw as listScheduledTaskRuns, cx as listScheduledTasks, cy as listSessionEvents, cz as listSessionIdsInGroup, cA as listSessionMcpServerMetadata, cB as listSessionMcpServersForRun, cC as listSessionTurns, cD as listSessions, cE as listSocialConnections, cF as listSocialPosts, cG as listUsageEvents, cH as listWorkspaceEnvironments, cI as listWorkspaceMembers, cJ as listWorkspacePacks, cK as listWorkspacesForSubject, cL as loadCodexCredentialForRun, cM as loadWorkspaceEnvironmentForRun, cN as markFileUploadFailed, cO as markStripeWebhookProcessed, cP as mcpServerIdForCapability, cQ as nextSessionHistoryPosition, cR as orphanedResultRowIndicesForRepair, cS as persistDrainSnapshot, provisionRoles, cT as reArmDrainingLease, cU as readActiveSandbox, cV as readLease, cW as readMachineMetricsLatest, cX as readMachineMetricsLatestForWorkspace, cY as readMachineMetricsSeries, cZ as reapStaleLeaseHolders, c_ as reapStaleLeaseHoldersGlobal, c$ as recordAuditEvent, d0 as recordCodexAccountConnectors, d1 as recordCodexAccountUsage, d2 as recordCodexTokenRefresh, d3 as recordLeaseDataPlaneUrl, d4 as recordLeaseTerminalDataPlaneUrl, d5 as recordSessionActiveCodexCredential, d6 as recordStreamAcknowledgment, d7 as recordStripeWebhookEvent, d8 as recordUsageEvent, d9 as recordWarmingSandboxCreated, da as registerDbBinding, db as registerWorkspacePack, dc as releaseLeaseHolder, dd as removeWorkspaceMember, de as renameCodexAccount, df as reorderQueuedSessionTurns, dg as requestSessionCompaction, dh as requeuePreemptedTurn, di as requireFile, dj as requireScheduledTask, dk as requireSession, dl as requireSocialConnection, dm as requireWorkspace, dn as revokeApiKey, dp as revokeEnrollment, dq as revokeViewer, dr as rlsContextForWorkspace, ds as rlsStrategyFor, dt as sanitizeEventPayload, du as sanitizeEventString, dv as saveRunState, dw as sessionSubject, dx as setActiveCodexCredential, dy as setActiveSandbox, dz as setCodexCredentialExhausted, dA as setCodexCredentialStatus, dB as setEnrollmentHasDisplay, dC as setRlsContext, dD as setSessionCodexPin, dE as setSessionGoalLastContinuationTurn, dF as setSessionGoalStatus, dG as setSessionLastInputTokens, dH as setSessionStatus, dI as setTemporalWorkflowId, dJ as setWorkspaceEnvironmentVariable, dK as sumUsageQuantity, dL as touchEnrollmentLastSeen, dM as updateCodexRotationSettings, dN as updatePackInstallationStatus, dO as updatePtySessionActivity, dP as updateQueuedSessionTurn, dQ as updateRecording, dR as updateScheduledTask, dS as updateScheduledTaskRun, dT as updateSessionGoal, dU as updateSessionMcpServerCredentials, dV as updateSessionTitle, dW as updateWorkspace, dX as updateWorkspaceEnvironment, dY as upsertBillingCustomer, dZ as upsertCapabilityCatalogItem, d_ as upsertCodexSubscriptionCredential, d$ as upsertGitHubInstallation, e0 as upsertMachineMetricsLatest, e1 as upsertSandboxSessionEnvelope, e2 as upsertSessionGoal, e3 as wakeParentSessionForChildCompletion, e4 as withAccountRls, e5 as withRlsContext, e6 as withWorkspaceRls, e7 as withWorkspaceUsageLock, e8 as workspaceCodexSubscriptionActive } from './provision-roles.js';
8
8
  export { migrate, runMigrations } from './migrate.js';
package/dist/index.js CHANGED
@@ -3243,6 +3243,30 @@ async function listMeterableWarmLeases(db) {
3243
3243
  backend: r.backend
3244
3244
  }));
3245
3245
  }
3246
+ async function countQueuedTurns(db) {
3247
+ const rows = await rawRows(db, sql`
3248
+ select opengeni_private.count_queued_turns() as count
3249
+ `);
3250
+ return Number(rows[0]?.count ?? 0);
3251
+ }
3252
+ async function countSandboxLeasesByLiveness(db) {
3253
+ const counts = {
3254
+ cold: 0,
3255
+ warming: 0,
3256
+ warm: 0,
3257
+ draining: 0
3258
+ };
3259
+ const rows = await rawRows(db, sql`
3260
+ select liveness, count
3261
+ from opengeni_private.count_sandbox_leases_by_liveness()
3262
+ `);
3263
+ for (const row of rows) {
3264
+ if (row.liveness in counts) {
3265
+ counts[row.liveness] = Number(row.count);
3266
+ }
3267
+ }
3268
+ return counts;
3269
+ }
3246
3270
  async function listLiveModalSandboxLeaseAttributions(db) {
3247
3271
  const rows = await rawRows(db, sql`
3248
3272
  select lease_id, workspace_id, sandbox_group_id, instance_id, liveness
@@ -5218,6 +5242,8 @@ export {
5218
5242
  countActiveSessionsForWorkspace,
5219
5243
  countActiveSessionsUsingEnvironment,
5220
5244
  countConsecutiveReactiveRotations,
5245
+ countQueuedTurns,
5246
+ countSandboxLeasesByLiveness,
5221
5247
  countScheduledTasksForWorkspace,
5222
5248
  countScheduledTasksUsingEnvironment,
5223
5249
  countSessionHistoryItems,