diff --git a/scripts/configure-rollout.d.mts b/scripts/configure-rollout.d.mts new file mode 100644 index 000000000..a1688196b --- /dev/null +++ b/scripts/configure-rollout.d.mts @@ -0,0 +1,24 @@ +export const SUPPORTED_PLATFORMS: readonly string[] +export const DEFAULT_BASE_URL: string +export const DEFAULT_PERCENTAGE: number + +export function isValidVersion(value: unknown): boolean + +export interface ConfigureRolloutOptions { + version: string + percentage?: number + token?: string + baseUrl?: string + fetchImpl?: (url: any, init?: any) => Promise + notes?: string + log?: (msg: string) => void + warn?: (msg: string) => void +} + +export interface RolloutResult { + platform: string + action: 'created' | 'updated' | 'updated-after-conflict' + data: Record +} + +export function configureRollout(options: ConfigureRolloutOptions): Promise diff --git a/test/configure-rollout.test.ts b/test/configure-rollout.test.ts index dafb2f44c..d14d88026 100644 --- a/test/configure-rollout.test.ts +++ b/test/configure-rollout.test.ts @@ -52,8 +52,8 @@ describe('configureRollout', () => { // 1 GET + 3 POSTs = 4 calls expect(calls).toHaveLength(4) - expect(calls[0].method).toBe('GET') - expect(calls[0].headers).toMatchObject({ + expect(calls[0]?.method).toBe('GET') + expect(calls[0]?.headers).toMatchObject({ Authorization: 'Bearer test-admin-token-12345678901234567890' }) diff --git a/test/provider-error-patch.test.ts b/test/provider-error-patch.test.ts index aa4602e09..a67369db2 100644 --- a/test/provider-error-patch.test.ts +++ b/test/provider-error-patch.test.ts @@ -87,8 +87,10 @@ describe('provider error classification patches', () => { const valid = { ...malformed, content: [] } expect(completeTerminalMessage(valid, completed)).toBe(valid) expect(patch).toContain( - '+\tconst message = completeTerminalMessage(event.message, completed);' + '+\t\t\tconst message = completeTerminalMessage(event.message, completed);' + ) + expect(patch).toContain( + '+\t\t\t\treplayState: toPiReplayState(message, requestedModel)' ) - expect(patch).toContain('+\t\t\treplayState: toPiReplayState(message)') }) })