refactor: share computed status adapter base

This commit is contained in:
Peter Steinberger
2026-04-20 14:46:20 +01:00
parent 4f37a5d590
commit 9d17871ff0
2 changed files with 20 additions and 20 deletions

View File

@@ -1,2 +1,2 @@
40d6f3ba88037ba0ef7d51743f28cc996b9951137fbe65553473e71b054c6510 plugin-sdk-api-baseline.json
869e0b705e48001a98d85c574ad1e6ec8aef11393cc5f13b936f6004f58213dd plugin-sdk-api-baseline.jsonl
9ea6b1d14500054ef8ce6fae3b08a4f2e401fa2aa5e48056dcdfa94bf330c3fb plugin-sdk-api-baseline.json
e3f04797748cb35e1f10d6451d206744fdc188cdbc0251aad01211b94087f565 plugin-sdk-api-baseline.jsonl

View File

@@ -63,6 +63,22 @@ type ConfigIssueAccount = {
configured?: boolean | null;
} & Record<string, unknown>;
function buildComputedAccountStatusAdapterBase<ResolvedAccount, Probe, Audit>(
options: Omit<ChannelStatusAdapter<ResolvedAccount, Probe, Audit>, "buildAccountSnapshot">,
): Omit<ChannelStatusAdapter<ResolvedAccount, Probe, Audit>, "buildAccountSnapshot"> {
return {
defaultRuntime: options.defaultRuntime,
buildChannelSummary: options.buildChannelSummary,
probeAccount: options.probeAccount,
formatCapabilitiesProbe: options.formatCapabilitiesProbe,
auditAccount: options.auditAccount,
buildCapabilitiesDiagnostics: options.buildCapabilitiesDiagnostics,
logSelfId: options.logSelfId,
resolveAccountState: options.resolveAccountState,
collectStatusIssues: options.collectStatusIssues,
};
}
/** Create the baseline runtime snapshot shape used by channel/account status stores. */
export function createDefaultChannelRuntimeState<T extends Record<string, unknown>>(
accountId: string,
@@ -212,15 +228,7 @@ export function createComputedAccountStatusAdapter<
},
): ChannelStatusAdapter<ResolvedAccount, Probe, Audit> {
return {
defaultRuntime: options.defaultRuntime,
buildChannelSummary: options.buildChannelSummary,
probeAccount: options.probeAccount,
formatCapabilitiesProbe: options.formatCapabilitiesProbe,
auditAccount: options.auditAccount,
buildCapabilitiesDiagnostics: options.buildCapabilitiesDiagnostics,
logSelfId: options.logSelfId,
resolveAccountState: options.resolveAccountState,
collectStatusIssues: options.collectStatusIssues,
...buildComputedAccountStatusAdapterBase(options),
buildAccountSnapshot: (params) => {
const typedParams = params as ComputedAccountStatusAdapterParams<
ResolvedAccount,
@@ -254,15 +262,7 @@ export function createAsyncComputedAccountStatusAdapter<
},
): ChannelStatusAdapter<ResolvedAccount, Probe, Audit> {
return {
defaultRuntime: options.defaultRuntime,
buildChannelSummary: options.buildChannelSummary,
probeAccount: options.probeAccount,
formatCapabilitiesProbe: options.formatCapabilitiesProbe,
auditAccount: options.auditAccount,
buildCapabilitiesDiagnostics: options.buildCapabilitiesDiagnostics,
logSelfId: options.logSelfId,
resolveAccountState: options.resolveAccountState,
collectStatusIssues: options.collectStatusIssues,
...buildComputedAccountStatusAdapterBase(options),
buildAccountSnapshot: async (params) => {
const typedParams = params as ComputedAccountStatusAdapterParams<
ResolvedAccount,