@letpeoplework/lighthouse-client 1.0.1 → 1.2.0

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.cts CHANGED
@@ -162,13 +162,38 @@ declare const getDefaultMetricsDateRange: () => MetricsDateRange;
162
162
  type ManualForecastInput = {
163
163
  readonly remainingItems?: number;
164
164
  readonly targetDate?: string;
165
+ /**
166
+ * Override the team's forecast-filter setting for this forecast call:
167
+ * - `true` — apply the team's exclusion rule (filtered throughput).
168
+ * - `false` — skip the team's exclusion rule (raw throughput).
169
+ * - omit — respect the team's current setting (default).
170
+ *
171
+ * Lighthouse v26.5.24.10+. Older servers ignore this field.
172
+ */
173
+ readonly applyFilterOverride?: boolean;
165
174
  };
166
175
  type BacktestInput = {
167
176
  readonly startDate: string;
168
177
  readonly endDate: string;
169
178
  readonly historicalStartDate: string;
170
179
  readonly historicalEndDate: string;
171
- };
180
+ /**
181
+ * Override the team's forecast-filter setting for this backtest call:
182
+ * - `true` — apply the team's exclusion rule (filtered throughput).
183
+ * - `false` — skip the team's exclusion rule (raw throughput).
184
+ * - omit — respect the team's current setting (default).
185
+ *
186
+ * Lighthouse v26.5.24.10+. Older servers ignore this field.
187
+ */
188
+ readonly applyFilterOverride?: boolean;
189
+ };
190
+ /**
191
+ * Forecast-filter view for team-level throughput / PBC / predictability metrics.
192
+ * Lighthouse v26.5.24.10+ ignores unknown values and falls back to raw.
193
+ * - `"filtered"` — apply the team's exclusion rule.
194
+ * - `"raw"` / omit — return unfiltered data (default).
195
+ */
196
+ type ThroughputFilterView = "raw" | "filtered";
172
197
  type WorkItemAgeEntry = {
173
198
  readonly id: number;
174
199
  readonly name: string;
@@ -194,6 +219,44 @@ type TotalWorkItemAgeOverTimeResult = {
194
219
  readonly endDate: string;
195
220
  readonly daily: readonly DailyTotalWorkItemAge[];
196
221
  };
222
+ type CumulativeStateTimeStateRow = {
223
+ readonly state: string;
224
+ readonly workflowOrder: number;
225
+ readonly totalDays: number;
226
+ readonly completedContributionDays: number;
227
+ readonly ongoingContributionDays: number;
228
+ readonly itemCount: number;
229
+ readonly completedItemCount: number;
230
+ readonly ongoingItemCount: number;
231
+ readonly meanDays: number;
232
+ readonly medianDays: number | null;
233
+ };
234
+ type CumulativeStateTimeResult = {
235
+ readonly states: readonly CumulativeStateTimeStateRow[];
236
+ };
237
+ type CumulativeStateTimeItemRow = {
238
+ readonly workItemId: number;
239
+ readonly referenceId: string;
240
+ readonly title: string;
241
+ readonly type: string;
242
+ readonly state: string;
243
+ readonly stateCategory: string;
244
+ readonly url: string | null;
245
+ readonly daysContributed: number;
246
+ };
247
+ type CumulativeStateTimeItemsResult = {
248
+ readonly state: string;
249
+ readonly items: readonly CumulativeStateTimeItemRow[];
250
+ };
251
+ type CumulativeStateTimeCandidateRow = {
252
+ readonly workItemId: number;
253
+ readonly referenceId: string;
254
+ readonly title: string;
255
+ readonly workItemType: string;
256
+ };
257
+ type CumulativeStateTimeCandidatesResult = {
258
+ readonly items: readonly CumulativeStateTimeCandidateRow[];
259
+ };
197
260
  type LighthouseClient = {
198
261
  readonly checkConnectivity: () => Promise<ConnectivityValidationResult>;
199
262
  readonly getVersion: () => Promise<LighthouseApiResult<string>>;
@@ -214,13 +277,13 @@ type LighthouseClient = {
214
277
  readonly updatePortfolio: (portfolioId: number, payload: LighthouseWritePayload) => Promise<LighthouseApiResult<unknown>>;
215
278
  readonly deletePortfolio: (portfolioId: number) => Promise<LighthouseApiResult<void>>;
216
279
  readonly refreshPortfolio: (portfolioId: number) => Promise<LighthouseApiResult<void>>;
217
- readonly getTeamThroughput: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
280
+ readonly getTeamThroughput: (teamId: number, range?: MetricsDateRange, view?: ThroughputFilterView) => Promise<LighthouseApiResult<unknown>>;
218
281
  readonly getTeamArrivals: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
219
282
  readonly getTeamWipOverTime: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
220
283
  readonly getTeamWip: (teamId: number, asOfDate: string) => Promise<LighthouseApiResult<readonly unknown[]>>;
221
284
  readonly getTeamCycleTimePercentiles: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<readonly unknown[]>>;
222
285
  readonly getTeamCycleTimeData: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<readonly unknown[]>>;
223
- readonly getTeamPredictabilityScore: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
286
+ readonly getTeamPredictabilityScore: (teamId: number, range?: MetricsDateRange, view?: ThroughputFilterView) => Promise<LighthouseApiResult<unknown>>;
224
287
  readonly getTeamTotalWorkItemAge: (teamId: number, asOfDate: string) => Promise<LighthouseApiResult<number>>;
225
288
  readonly getTeamTotalWorkItemAgeInfo: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
226
289
  readonly getPortfolioThroughput: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
@@ -236,6 +299,12 @@ type LighthouseClient = {
236
299
  readonly getPortfolioTotalWorkItemAgeInfo: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
237
300
  readonly getPortfolioWorkItemAgeOverTime: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<WorkItemAgeOverTimeResult>>;
238
301
  readonly getPortfolioTotalWorkItemAgeOverTime: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<TotalWorkItemAgeOverTimeResult>>;
302
+ readonly getTeamCumulativeStateTime: (teamId: number, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeResult>>;
303
+ readonly getTeamCumulativeStateTimeItems: (teamId: number, state: string, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeItemsResult>>;
304
+ readonly getTeamCumulativeStateTimeCandidates: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<CumulativeStateTimeCandidatesResult>>;
305
+ readonly getPortfolioCumulativeStateTime: (portfolioId: number, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeResult>>;
306
+ readonly getPortfolioCumulativeStateTimeItems: (portfolioId: number, state: string, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeItemsResult>>;
307
+ readonly getPortfolioCumulativeStateTimeCandidates: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<CumulativeStateTimeCandidatesResult>>;
239
308
  readonly getFeaturesByIds: (ids: readonly number[]) => Promise<LighthouseApiResult<readonly unknown[]>>;
240
309
  readonly getFeaturesByReferences: (refs: readonly string[]) => Promise<LighthouseApiResult<readonly unknown[]>>;
241
310
  readonly getFeatureWorkItems: (featureId: number) => Promise<LighthouseApiResult<readonly unknown[]>>;
@@ -249,6 +318,12 @@ type LighthouseClient = {
249
318
  type LighthouseClientDependencies = {
250
319
  readonly fetch?: (url: string, init?: RequestInit) => Promise<ConnectivityFetchResponse>;
251
320
  };
321
+ /**
322
+ * Returns true when `candidate` is strictly newer than `baseline`, false when
323
+ * it is equal-or-older, and null when either string is unparseable (treat as
324
+ * "unknown — do not block").
325
+ */
326
+ declare const isServerVersionNewerThan: (candidate: string, baseline: string) => boolean | null;
252
327
  declare const createLighthouseClient: (configuration: LighthouseClientConfiguration, dependencies?: LighthouseClientDependencies) => LighthouseClient;
253
328
 
254
- export { type BacktestInput, type CliAuthSessionPollResult, type CliAuthSessionStartError, type CliAuthSessionStartOutcome, type CliAuthSessionStartResult, type CliConnection, type CliServerAuthMode, type CliServerConnection, type CliStandaloneConnection, type ClientCapability, type ClientPackageContract, type ConnectivityCategory, type ConnectivityDependencies, type ConnectivityFetchResponse, type ConnectivityValidationResult, type DailyTotalWorkItemAge, type DailyWorkItemAge, type LighthouseApiError, type LighthouseApiResult, type LighthouseAuthContext, type LighthouseAuthOverrides, type LighthouseAuthStatus, type LighthouseAuthStore, type LighthouseClient, type LighthouseClientAuth, type LighthouseClientConfiguration, type LighthouseClientDependencies, type LighthouseConnectionConfiguration, type LighthouseWritePayload, type ManualForecastInput, type MetricsDateRange, type ResolvedLighthouseEndpoint, type ServerAuthModeResult, type StandaloneDiscoveryContract, type StandaloneDiscoveryContractParseResult, type StoredLighthouseAuth, type TotalWorkItemAgeOverTimeResult, type WorkItemAgeEntry, type WorkItemAgeOverTimeResult, createLighthouseAuthContext, createLighthouseClient, getClientPackageContract, getDefaultMetricsDateRange, getStandaloneDiscoveryLockfilePath, loadStandaloneDiscoveryContract, parseStandaloneDiscoveryContract, pollCliAuthSession, queryServerAuthMode, startCliAuthSession, validateLighthouseConnectivity };
329
+ export { type BacktestInput, type CliAuthSessionPollResult, type CliAuthSessionStartError, type CliAuthSessionStartOutcome, type CliAuthSessionStartResult, type CliConnection, type CliServerAuthMode, type CliServerConnection, type CliStandaloneConnection, type ClientCapability, type ClientPackageContract, type ConnectivityCategory, type ConnectivityDependencies, type ConnectivityFetchResponse, type ConnectivityValidationResult, type CumulativeStateTimeCandidateRow, type CumulativeStateTimeCandidatesResult, type CumulativeStateTimeItemRow, type CumulativeStateTimeItemsResult, type CumulativeStateTimeResult, type CumulativeStateTimeStateRow, type DailyTotalWorkItemAge, type DailyWorkItemAge, type LighthouseApiError, type LighthouseApiResult, type LighthouseAuthContext, type LighthouseAuthOverrides, type LighthouseAuthStatus, type LighthouseAuthStore, type LighthouseClient, type LighthouseClientAuth, type LighthouseClientConfiguration, type LighthouseClientDependencies, type LighthouseConnectionConfiguration, type LighthouseWritePayload, type ManualForecastInput, type MetricsDateRange, type ResolvedLighthouseEndpoint, type ServerAuthModeResult, type StandaloneDiscoveryContract, type StandaloneDiscoveryContractParseResult, type StoredLighthouseAuth, type ThroughputFilterView, type TotalWorkItemAgeOverTimeResult, type WorkItemAgeEntry, type WorkItemAgeOverTimeResult, createLighthouseAuthContext, createLighthouseClient, getClientPackageContract, getDefaultMetricsDateRange, getStandaloneDiscoveryLockfilePath, isServerVersionNewerThan, loadStandaloneDiscoveryContract, parseStandaloneDiscoveryContract, pollCliAuthSession, queryServerAuthMode, startCliAuthSession, validateLighthouseConnectivity };
package/dist/index.d.ts CHANGED
@@ -162,13 +162,38 @@ declare const getDefaultMetricsDateRange: () => MetricsDateRange;
162
162
  type ManualForecastInput = {
163
163
  readonly remainingItems?: number;
164
164
  readonly targetDate?: string;
165
+ /**
166
+ * Override the team's forecast-filter setting for this forecast call:
167
+ * - `true` — apply the team's exclusion rule (filtered throughput).
168
+ * - `false` — skip the team's exclusion rule (raw throughput).
169
+ * - omit — respect the team's current setting (default).
170
+ *
171
+ * Lighthouse v26.5.24.10+. Older servers ignore this field.
172
+ */
173
+ readonly applyFilterOverride?: boolean;
165
174
  };
166
175
  type BacktestInput = {
167
176
  readonly startDate: string;
168
177
  readonly endDate: string;
169
178
  readonly historicalStartDate: string;
170
179
  readonly historicalEndDate: string;
171
- };
180
+ /**
181
+ * Override the team's forecast-filter setting for this backtest call:
182
+ * - `true` — apply the team's exclusion rule (filtered throughput).
183
+ * - `false` — skip the team's exclusion rule (raw throughput).
184
+ * - omit — respect the team's current setting (default).
185
+ *
186
+ * Lighthouse v26.5.24.10+. Older servers ignore this field.
187
+ */
188
+ readonly applyFilterOverride?: boolean;
189
+ };
190
+ /**
191
+ * Forecast-filter view for team-level throughput / PBC / predictability metrics.
192
+ * Lighthouse v26.5.24.10+ ignores unknown values and falls back to raw.
193
+ * - `"filtered"` — apply the team's exclusion rule.
194
+ * - `"raw"` / omit — return unfiltered data (default).
195
+ */
196
+ type ThroughputFilterView = "raw" | "filtered";
172
197
  type WorkItemAgeEntry = {
173
198
  readonly id: number;
174
199
  readonly name: string;
@@ -194,6 +219,44 @@ type TotalWorkItemAgeOverTimeResult = {
194
219
  readonly endDate: string;
195
220
  readonly daily: readonly DailyTotalWorkItemAge[];
196
221
  };
222
+ type CumulativeStateTimeStateRow = {
223
+ readonly state: string;
224
+ readonly workflowOrder: number;
225
+ readonly totalDays: number;
226
+ readonly completedContributionDays: number;
227
+ readonly ongoingContributionDays: number;
228
+ readonly itemCount: number;
229
+ readonly completedItemCount: number;
230
+ readonly ongoingItemCount: number;
231
+ readonly meanDays: number;
232
+ readonly medianDays: number | null;
233
+ };
234
+ type CumulativeStateTimeResult = {
235
+ readonly states: readonly CumulativeStateTimeStateRow[];
236
+ };
237
+ type CumulativeStateTimeItemRow = {
238
+ readonly workItemId: number;
239
+ readonly referenceId: string;
240
+ readonly title: string;
241
+ readonly type: string;
242
+ readonly state: string;
243
+ readonly stateCategory: string;
244
+ readonly url: string | null;
245
+ readonly daysContributed: number;
246
+ };
247
+ type CumulativeStateTimeItemsResult = {
248
+ readonly state: string;
249
+ readonly items: readonly CumulativeStateTimeItemRow[];
250
+ };
251
+ type CumulativeStateTimeCandidateRow = {
252
+ readonly workItemId: number;
253
+ readonly referenceId: string;
254
+ readonly title: string;
255
+ readonly workItemType: string;
256
+ };
257
+ type CumulativeStateTimeCandidatesResult = {
258
+ readonly items: readonly CumulativeStateTimeCandidateRow[];
259
+ };
197
260
  type LighthouseClient = {
198
261
  readonly checkConnectivity: () => Promise<ConnectivityValidationResult>;
199
262
  readonly getVersion: () => Promise<LighthouseApiResult<string>>;
@@ -214,13 +277,13 @@ type LighthouseClient = {
214
277
  readonly updatePortfolio: (portfolioId: number, payload: LighthouseWritePayload) => Promise<LighthouseApiResult<unknown>>;
215
278
  readonly deletePortfolio: (portfolioId: number) => Promise<LighthouseApiResult<void>>;
216
279
  readonly refreshPortfolio: (portfolioId: number) => Promise<LighthouseApiResult<void>>;
217
- readonly getTeamThroughput: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
280
+ readonly getTeamThroughput: (teamId: number, range?: MetricsDateRange, view?: ThroughputFilterView) => Promise<LighthouseApiResult<unknown>>;
218
281
  readonly getTeamArrivals: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
219
282
  readonly getTeamWipOverTime: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
220
283
  readonly getTeamWip: (teamId: number, asOfDate: string) => Promise<LighthouseApiResult<readonly unknown[]>>;
221
284
  readonly getTeamCycleTimePercentiles: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<readonly unknown[]>>;
222
285
  readonly getTeamCycleTimeData: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<readonly unknown[]>>;
223
- readonly getTeamPredictabilityScore: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
286
+ readonly getTeamPredictabilityScore: (teamId: number, range?: MetricsDateRange, view?: ThroughputFilterView) => Promise<LighthouseApiResult<unknown>>;
224
287
  readonly getTeamTotalWorkItemAge: (teamId: number, asOfDate: string) => Promise<LighthouseApiResult<number>>;
225
288
  readonly getTeamTotalWorkItemAgeInfo: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
226
289
  readonly getPortfolioThroughput: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
@@ -236,6 +299,12 @@ type LighthouseClient = {
236
299
  readonly getPortfolioTotalWorkItemAgeInfo: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<unknown>>;
237
300
  readonly getPortfolioWorkItemAgeOverTime: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<WorkItemAgeOverTimeResult>>;
238
301
  readonly getPortfolioTotalWorkItemAgeOverTime: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<TotalWorkItemAgeOverTimeResult>>;
302
+ readonly getTeamCumulativeStateTime: (teamId: number, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeResult>>;
303
+ readonly getTeamCumulativeStateTimeItems: (teamId: number, state: string, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeItemsResult>>;
304
+ readonly getTeamCumulativeStateTimeCandidates: (teamId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<CumulativeStateTimeCandidatesResult>>;
305
+ readonly getPortfolioCumulativeStateTime: (portfolioId: number, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeResult>>;
306
+ readonly getPortfolioCumulativeStateTimeItems: (portfolioId: number, state: string, range?: MetricsDateRange, itemIds?: readonly number[]) => Promise<LighthouseApiResult<CumulativeStateTimeItemsResult>>;
307
+ readonly getPortfolioCumulativeStateTimeCandidates: (portfolioId: number, range?: MetricsDateRange) => Promise<LighthouseApiResult<CumulativeStateTimeCandidatesResult>>;
239
308
  readonly getFeaturesByIds: (ids: readonly number[]) => Promise<LighthouseApiResult<readonly unknown[]>>;
240
309
  readonly getFeaturesByReferences: (refs: readonly string[]) => Promise<LighthouseApiResult<readonly unknown[]>>;
241
310
  readonly getFeatureWorkItems: (featureId: number) => Promise<LighthouseApiResult<readonly unknown[]>>;
@@ -249,6 +318,12 @@ type LighthouseClient = {
249
318
  type LighthouseClientDependencies = {
250
319
  readonly fetch?: (url: string, init?: RequestInit) => Promise<ConnectivityFetchResponse>;
251
320
  };
321
+ /**
322
+ * Returns true when `candidate` is strictly newer than `baseline`, false when
323
+ * it is equal-or-older, and null when either string is unparseable (treat as
324
+ * "unknown — do not block").
325
+ */
326
+ declare const isServerVersionNewerThan: (candidate: string, baseline: string) => boolean | null;
252
327
  declare const createLighthouseClient: (configuration: LighthouseClientConfiguration, dependencies?: LighthouseClientDependencies) => LighthouseClient;
253
328
 
254
- export { type BacktestInput, type CliAuthSessionPollResult, type CliAuthSessionStartError, type CliAuthSessionStartOutcome, type CliAuthSessionStartResult, type CliConnection, type CliServerAuthMode, type CliServerConnection, type CliStandaloneConnection, type ClientCapability, type ClientPackageContract, type ConnectivityCategory, type ConnectivityDependencies, type ConnectivityFetchResponse, type ConnectivityValidationResult, type DailyTotalWorkItemAge, type DailyWorkItemAge, type LighthouseApiError, type LighthouseApiResult, type LighthouseAuthContext, type LighthouseAuthOverrides, type LighthouseAuthStatus, type LighthouseAuthStore, type LighthouseClient, type LighthouseClientAuth, type LighthouseClientConfiguration, type LighthouseClientDependencies, type LighthouseConnectionConfiguration, type LighthouseWritePayload, type ManualForecastInput, type MetricsDateRange, type ResolvedLighthouseEndpoint, type ServerAuthModeResult, type StandaloneDiscoveryContract, type StandaloneDiscoveryContractParseResult, type StoredLighthouseAuth, type TotalWorkItemAgeOverTimeResult, type WorkItemAgeEntry, type WorkItemAgeOverTimeResult, createLighthouseAuthContext, createLighthouseClient, getClientPackageContract, getDefaultMetricsDateRange, getStandaloneDiscoveryLockfilePath, loadStandaloneDiscoveryContract, parseStandaloneDiscoveryContract, pollCliAuthSession, queryServerAuthMode, startCliAuthSession, validateLighthouseConnectivity };
329
+ export { type BacktestInput, type CliAuthSessionPollResult, type CliAuthSessionStartError, type CliAuthSessionStartOutcome, type CliAuthSessionStartResult, type CliConnection, type CliServerAuthMode, type CliServerConnection, type CliStandaloneConnection, type ClientCapability, type ClientPackageContract, type ConnectivityCategory, type ConnectivityDependencies, type ConnectivityFetchResponse, type ConnectivityValidationResult, type CumulativeStateTimeCandidateRow, type CumulativeStateTimeCandidatesResult, type CumulativeStateTimeItemRow, type CumulativeStateTimeItemsResult, type CumulativeStateTimeResult, type CumulativeStateTimeStateRow, type DailyTotalWorkItemAge, type DailyWorkItemAge, type LighthouseApiError, type LighthouseApiResult, type LighthouseAuthContext, type LighthouseAuthOverrides, type LighthouseAuthStatus, type LighthouseAuthStore, type LighthouseClient, type LighthouseClientAuth, type LighthouseClientConfiguration, type LighthouseClientDependencies, type LighthouseConnectionConfiguration, type LighthouseWritePayload, type ManualForecastInput, type MetricsDateRange, type ResolvedLighthouseEndpoint, type ServerAuthModeResult, type StandaloneDiscoveryContract, type StandaloneDiscoveryContractParseResult, type StoredLighthouseAuth, type ThroughputFilterView, type TotalWorkItemAgeOverTimeResult, type WorkItemAgeEntry, type WorkItemAgeOverTimeResult, createLighthouseAuthContext, createLighthouseClient, getClientPackageContract, getDefaultMetricsDateRange, getStandaloneDiscoveryLockfilePath, isServerVersionNewerThan, loadStandaloneDiscoveryContract, parseStandaloneDiscoveryContract, pollCliAuthSession, queryServerAuthMode, startCliAuthSession, validateLighthouseConnectivity };