32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { getIsNonInteractiveSession } from '../../bootstrap/state.js'
|
|
import type { Command } from '../../commands.js'
|
|
import { isOverageProvisioningAllowed } from '../../utils/auth.js'
|
|
import { isEnvTruthy } from '../../utils/envUtils.js'
|
|
|
|
function isExtraUsageAllowed(): boolean {
|
|
if (isEnvTruthy(process.env.DISABLE_EXTRA_USAGE_COMMAND)) {
|
|
return false
|
|
}
|
|
return isOverageProvisioningAllowed()
|
|
}
|
|
|
|
export const extraUsage = {
|
|
type: 'local-jsx',
|
|
name: 'extra-usage',
|
|
description: 'Configure extra usage to keep working when limits are hit',
|
|
isEnabled: () => isExtraUsageAllowed() && !getIsNonInteractiveSession(),
|
|
load: () => import('./extra-usage.js'),
|
|
} satisfies Command
|
|
|
|
export const extraUsageNonInteractive = {
|
|
type: 'local',
|
|
name: 'extra-usage',
|
|
supportsNonInteractive: true,
|
|
description: 'Configure extra usage to keep working when limits are hit',
|
|
isEnabled: () => isExtraUsageAllowed() && getIsNonInteractiveSession(),
|
|
get isHidden() {
|
|
return !getIsNonInteractiveSession()
|
|
},
|
|
load: () => import('./extra-usage-noninteractive.js'),
|
|
} satisfies Command
|