809654d488
Follow-up to the renderer-dial retry: - Drop the `!connectionDescriptorResolved` gate so `bootFailureIsRetryable()` still decides every failure main can see (#82679 contract preserved for post-descriptor mint failures); the renderer-owned dial is OR'd in as the one failure main cannot classify. The budget check now short-circuits before the IPC, as on main. - Four booleans → one `stage` variable; the `isGatewayReauthRequired` term is dropped (reauth is raised before the dial stage, so it was unreachable). - `isGatewayWebSocketUrl` moves to `apps/shared/src/json-rpc-gateway.ts` and `JsonRpcGatewayClient.connect()` uses it, so the hook's "valid dial" predicate cannot drift from what `connect()` accepts. - Tests: keep the three that bind behaviour (first dial retries under a stale ready snapshot; invalid URL terminal; post-connect failure terminal), drop the four that pinned the removed gate or duplicated the existing #82679 bound test. 46/46 green; reverting the hook to main makes the retry test fail.
116 lines
2.7 KiB
TypeScript
116 lines
2.7 KiB
TypeScript
export { backendScopeKey, backendScopePrefix, LOCAL_CONNECTION_ID, registryBackendScopeKey } from './backend-scope'
|
|
export {
|
|
BILLING_REFUSAL_POLICY,
|
|
type BillingRecovery,
|
|
type BillingRefusalPolicy,
|
|
refusalPolicy
|
|
} from './billing-policy'
|
|
export type {
|
|
BillingAutoReload,
|
|
BillingBlock,
|
|
BillingCardInfo,
|
|
BillingChargeResponse,
|
|
BillingChargeStatusResponse,
|
|
BillingErrorPayload,
|
|
BillingMonthlyCap,
|
|
BillingMutationResponse,
|
|
BillingPaymentMethod,
|
|
BillingRefusalCode,
|
|
BillingStateResponse,
|
|
ChargeFailureReason,
|
|
KnownBillingRefusalCode,
|
|
KnownChargeFailureReason,
|
|
SubscriptionPreviewResponse,
|
|
SubscriptionStateResponse,
|
|
SubscriptionTierOption,
|
|
SubscriptionUpgradeResponse,
|
|
UsageBarData,
|
|
UsageModelData
|
|
} from './billing-types'
|
|
export {
|
|
driveChargeSettlement,
|
|
SETTLEMENT_MAX_RETRY_AFTER_MS,
|
|
SETTLEMENT_POLL_CAP_MS,
|
|
SETTLEMENT_POLL_INTERVAL_MS,
|
|
type SettlementDeps,
|
|
type SettlementOutcome
|
|
} from './charge-settlement'
|
|
export {
|
|
createCronTriggerController,
|
|
type CronTriggerController,
|
|
type CronTriggerRunResult
|
|
} from './cron-trigger-controller'
|
|
export {
|
|
clampDataUrlReadMaxMb,
|
|
DATA_URL_READ_DEFAULT_MAX_MB,
|
|
DATA_URL_READ_MAX_MAX_MB,
|
|
DATA_URL_READ_MIN_MAX_MB
|
|
} from './data-url-read-max'
|
|
export {
|
|
type ConnectionState,
|
|
type GatewayClientOptions,
|
|
type GatewayEvent,
|
|
type GatewayEventName,
|
|
type GatewayRequestId,
|
|
isGatewayWebSocketUrl,
|
|
type JsonRpcErrorPayload,
|
|
type JsonRpcFrame,
|
|
JsonRpcGatewayClient,
|
|
JsonRpcGatewayError,
|
|
type WebSocketLike
|
|
} from './json-rpc-gateway'
|
|
export { skillInvocationText } from './skill-scaffold'
|
|
export {
|
|
type HermesSkin,
|
|
SKIN_BRANDING_TOKENS,
|
|
SKIN_COLOR_TOKENS,
|
|
type SkinBranding,
|
|
type SkinBrandingToken,
|
|
type SkinColors,
|
|
type SkinColorToken
|
|
} from './skin'
|
|
export {
|
|
backgroundMaterialFor,
|
|
clampIntensity,
|
|
DEFAULT_GLASS_MATERIAL,
|
|
DEFAULT_GLASS_SCOPE,
|
|
GLASS_MATERIALS,
|
|
GLASS_SCOPES,
|
|
glassActive,
|
|
type GlassMaterial,
|
|
glassMaterialForPicker,
|
|
glassMaterialsFor,
|
|
type GlassScope,
|
|
glassSupportedOn,
|
|
glassSurfaceKeep,
|
|
normalizeMaterial,
|
|
normalizeMode,
|
|
normalizeScope,
|
|
normalizeState,
|
|
TRANSLUCENCY_CURVE,
|
|
TRANSLUCENCY_MAX,
|
|
TRANSLUCENCY_MIN,
|
|
TRANSLUCENCY_OPACITY_FLOOR,
|
|
TRANSLUCENCY_STEP,
|
|
type TranslucencyMode,
|
|
type TranslucencyState,
|
|
translucencySupportedOn,
|
|
vibrancyFor,
|
|
windowOpacityFor,
|
|
WINDOWS_BACKGROUND_MATERIALS,
|
|
WINDOWS_GLASS_MIN_BUILD,
|
|
type WindowsBackgroundMaterial
|
|
} from './translucency'
|
|
export {
|
|
buildHermesWebSocketUrl,
|
|
type GatewayAuthMode,
|
|
GatewayReauthRequiredError,
|
|
type GatewayWsConnection,
|
|
type GatewayWsUrlResult,
|
|
type HermesWebSocketUrlOptions,
|
|
isGatewayReauthRequired,
|
|
resolveGatewayWsUrl,
|
|
type ResolveGatewayWsUrlDeps,
|
|
type WebSocketAuthParam
|
|
} from './websocket-url'
|