diff --git a/frontends/nextjs/src/lib/packages/package-glue/getters/scripts/get-installed-packages.ts b/frontends/nextjs/src/lib/packages/package-glue/getters/scripts/get-installed-packages.ts index 9702fb647..a6b716c47 100644 --- a/frontends/nextjs/src/lib/packages/package-glue/getters/scripts/get-installed-packages.ts +++ b/frontends/nextjs/src/lib/packages/package-glue/getters/scripts/get-installed-packages.ts @@ -1,5 +1,18 @@ +type InstalledPackageRecord = { + packageId: string + name?: string + version?: string + installedAt?: number +} + +type InstalledPackageIndex = Record + +type InstalledPackageStore = { + getAll(table: 'installed_packages'): Promise +} + // Get all installed packages -export async function getInstalledPackages(db: any): Promise { +export async function getInstalledPackages(db: InstalledPackageStore): Promise { try { const installed = await db.getAll('installed_packages') return Object.keys(installed || {}) diff --git a/frontends/nextjs/src/lib/packages/package-glue/types.ts b/frontends/nextjs/src/lib/packages/package-glue/types.ts index 989c4e9b2..e8f74b7bb 100644 --- a/frontends/nextjs/src/lib/packages/package-glue/types.ts +++ b/frontends/nextjs/src/lib/packages/package-glue/types.ts @@ -1,3 +1,5 @@ +import type { JsonObject, JsonValue } from '@/types/utility-types' + export interface LuaScriptFile { name: string path: string @@ -6,6 +8,13 @@ export interface LuaScriptFile { description?: string } +export type PackageComponent = { + id: string + [key: string]: JsonValue +} + +export type PackageExamples = JsonObject + export interface PackageDefinition { packageId: string name: string @@ -21,10 +30,10 @@ export interface PackageDefinition { handlers?: string[] } shadowcnComponents?: string[] - components: any[] + components: PackageComponent[] scripts?: string scriptFiles?: LuaScriptFile[] - examples?: any + examples?: PackageExamples } export interface PackageRegistry {