signalk-server
Version:
An implementation of a [Signal K](http://signalk.org) server for boats.
170 lines • 17 kB
TypeScript
import { type Static } from '@sinclair/typebox';
import { type IndicatorCheck } from './schemas';
export declare const RegistryBadgeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"compatible">, import("@sinclair/typebox").TLiteral<"loads">, import("@sinclair/typebox").TLiteral<"activates">, import("@sinclair/typebox").TLiteral<"has-providers">, import("@sinclair/typebox").TLiteral<"tested">, import("@sinclair/typebox").TLiteral<"tests-failing">, import("@sinclair/typebox").TLiteral<"npm-audit-ok">, import("@sinclair/typebox").TLiteral<"audit-moderate">, import("@sinclair/typebox").TLiteral<"audit-high">, import("@sinclair/typebox").TLiteral<"audit-critical">, import("@sinclair/typebox").TLiteral<"broken">, import("@sinclair/typebox").TString]>;
export type RegistryBadge = Static<typeof RegistryBadgeSchema>;
export declare const RegistryIndexEntrySchema: import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TString;
version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
composite_stable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
badges_stable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"compatible">, import("@sinclair/typebox").TLiteral<"loads">, import("@sinclair/typebox").TLiteral<"activates">, import("@sinclair/typebox").TLiteral<"has-providers">, import("@sinclair/typebox").TLiteral<"tested">, import("@sinclair/typebox").TLiteral<"tests-failing">, import("@sinclair/typebox").TLiteral<"npm-audit-ok">, import("@sinclair/typebox").TLiteral<"audit-moderate">, import("@sinclair/typebox").TLiteral<"audit-high">, import("@sinclair/typebox").TLiteral<"audit-critical">, import("@sinclair/typebox").TLiteral<"broken">, import("@sinclair/typebox").TString]>>>;
test_status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
last_tested: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
installs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
loads: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
activates: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
providers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
stars: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
open_issues: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
contributors: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
downloads_per_week: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
github_url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
plugin_ci: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"no-githead">;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"no-run">;
head_sha: import("@sinclair/typebox").TString;
commit_url: import("@sinclair/typebox").TString;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"no-plugin-ci">;
head_sha: import("@sinclair/typebox").TString;
workflow_run_url: import("@sinclair/typebox").TString;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"in-progress">;
head_sha: import("@sinclair/typebox").TString;
workflow_run_url: import("@sinclair/typebox").TString;
tested_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"ok">;
head_sha: import("@sinclair/typebox").TString;
commit_url: import("@sinclair/typebox").TString;
workflow_run_url: import("@sinclair/typebox").TString;
tested_at: import("@sinclair/typebox").TString;
workflow_ref: import("@sinclair/typebox").TString;
jobs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"linux-x64">, import("@sinclair/typebox").TLiteral<"linux-arm64">, import("@sinclair/typebox").TLiteral<"macos">, import("@sinclair/typebox").TLiteral<"windows">, import("@sinclair/typebox").TLiteral<"armv7-cerbo">, import("@sinclair/typebox").TLiteral<"integration">, import("@sinclair/typebox").TString]>;
node: import("@sinclair/typebox").TNumber;
conclusion: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"success">, import("@sinclair/typebox").TLiteral<"failure">, import("@sinclair/typebox").TLiteral<"skipped">, import("@sinclair/typebox").TLiteral<"cancelled">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TNull]>;
server_version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
job_url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>>;
}>]>>;
}>;
export type RegistryIndexEntry = Static<typeof RegistryIndexEntrySchema>;
export declare const RegistryIndexSchema: import("@sinclair/typebox").TObject<{
generated: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
server_version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
plugin_count: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
plugins: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TString;
version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
composite_stable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
badges_stable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"compatible">, import("@sinclair/typebox").TLiteral<"loads">, import("@sinclair/typebox").TLiteral<"activates">, import("@sinclair/typebox").TLiteral<"has-providers">, import("@sinclair/typebox").TLiteral<"tested">, import("@sinclair/typebox").TLiteral<"tests-failing">, import("@sinclair/typebox").TLiteral<"npm-audit-ok">, import("@sinclair/typebox").TLiteral<"audit-moderate">, import("@sinclair/typebox").TLiteral<"audit-high">, import("@sinclair/typebox").TLiteral<"audit-critical">, import("@sinclair/typebox").TLiteral<"broken">, import("@sinclair/typebox").TString]>>>;
test_status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
last_tested: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
installs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
loads: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
activates: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
providers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
stars: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
open_issues: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
contributors: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
downloads_per_week: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
github_url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
plugin_ci: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"no-githead">;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"no-run">;
head_sha: import("@sinclair/typebox").TString;
commit_url: import("@sinclair/typebox").TString;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"no-plugin-ci">;
head_sha: import("@sinclair/typebox").TString;
workflow_run_url: import("@sinclair/typebox").TString;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"in-progress">;
head_sha: import("@sinclair/typebox").TString;
workflow_run_url: import("@sinclair/typebox").TString;
tested_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>, import("@sinclair/typebox").TObject<{
status: import("@sinclair/typebox").TLiteral<"ok">;
head_sha: import("@sinclair/typebox").TString;
commit_url: import("@sinclair/typebox").TString;
workflow_run_url: import("@sinclair/typebox").TString;
tested_at: import("@sinclair/typebox").TString;
workflow_ref: import("@sinclair/typebox").TString;
jobs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"linux-x64">, import("@sinclair/typebox").TLiteral<"linux-arm64">, import("@sinclair/typebox").TLiteral<"macos">, import("@sinclair/typebox").TLiteral<"windows">, import("@sinclair/typebox").TLiteral<"armv7-cerbo">, import("@sinclair/typebox").TLiteral<"integration">, import("@sinclair/typebox").TString]>;
node: import("@sinclair/typebox").TNumber;
conclusion: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"success">, import("@sinclair/typebox").TLiteral<"failure">, import("@sinclair/typebox").TLiteral<"skipped">, import("@sinclair/typebox").TLiteral<"cancelled">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TNull]>;
server_version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
job_url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>>;
}>]>>;
}>>;
}>;
export type RegistryIndex = Static<typeof RegistryIndexSchema>;
export declare const RegistryPluginVersionRunSchema: import("@sinclair/typebox").TObject<{
tested: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
server_version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
installs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
loads: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
activates: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
has_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
has_own_tests: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
own_tests_pass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
tests_runnable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
has_install_scripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
audit_critical: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
audit_high: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
audit_moderate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
composite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
badges: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"compatible">, import("@sinclair/typebox").TLiteral<"loads">, import("@sinclair/typebox").TLiteral<"activates">, import("@sinclair/typebox").TLiteral<"has-providers">, import("@sinclair/typebox").TLiteral<"tested">, import("@sinclair/typebox").TLiteral<"tests-failing">, import("@sinclair/typebox").TLiteral<"npm-audit-ok">, import("@sinclair/typebox").TLiteral<"audit-moderate">, import("@sinclair/typebox").TLiteral<"audit-high">, import("@sinclair/typebox").TLiteral<"audit-critical">, import("@sinclair/typebox").TLiteral<"broken">, import("@sinclair/typebox").TString]>>>;
test_status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
detected_providers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
unstubbed_accesses: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>>;
}>;
export type RegistryPluginVersionRun = Static<typeof RegistryPluginVersionRunSchema>;
export declare const RegistryPluginDetailSchema: import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TString;
versions: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
tested: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
server_version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
installs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
loads: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
activates: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
has_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
has_own_tests: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
own_tests_pass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
tests_runnable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
has_install_scripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
audit_critical: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
audit_high: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
audit_moderate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
composite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
badges: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"compatible">, import("@sinclair/typebox").TLiteral<"loads">, import("@sinclair/typebox").TLiteral<"activates">, import("@sinclair/typebox").TLiteral<"has-providers">, import("@sinclair/typebox").TLiteral<"tested">, import("@sinclair/typebox").TLiteral<"tests-failing">, import("@sinclair/typebox").TLiteral<"npm-audit-ok">, import("@sinclair/typebox").TLiteral<"audit-moderate">, import("@sinclair/typebox").TLiteral<"audit-high">, import("@sinclair/typebox").TLiteral<"audit-critical">, import("@sinclair/typebox").TLiteral<"broken">, import("@sinclair/typebox").TString]>>>;
test_status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
detected_providers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
unstubbed_accesses: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>>;
}>>>;
}>;
export type RegistryPluginDetail = Static<typeof RegistryPluginDetailSchema>;
export interface RegistryClientOptions {
baseUrl?: string;
cacheDir?: string;
indexTtlMs?: number;
pluginTtlMs?: number;
fetchTimeoutMs?: number;
}
export interface RegistryClient {
getIndex(): Promise<RegistryIndex | undefined>;
getPlugin(name: string): Promise<RegistryPluginDetail | undefined>;
getIndexEntry(name: string): Promise<RegistryIndexEntry | undefined>;
invalidate(): void;
baseUrl(): string;
}
export declare function createRegistryClient(options?: RegistryClientOptions): RegistryClient;
export declare function badgesToIndicators(badges: RegistryBadge[] | undefined, composite: number | undefined): {
score: number;
checks: IndicatorCheck[];
};
//# sourceMappingURL=registry.d.ts.map