From 1c94b0c99748e05e6193e1f1dc04e5224a81fea8 Mon Sep 17 00:00:00 2001 From: jsdavid278-cyber Date: Sat, 13 Jun 2026 16:23:05 -0600 Subject: [PATCH] Sync CLI adapter registry --- packages/cli/src/adapter-registry.test.ts | 19 ++++++++++++------- packages/cli/src/adapter-registry.ts | 6 +++--- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/cli/src/adapter-registry.test.ts b/packages/cli/src/adapter-registry.test.ts index 75c2210d..1777231c 100644 --- a/packages/cli/src/adapter-registry.test.ts +++ b/packages/cli/src/adapter-registry.test.ts @@ -2,9 +2,12 @@ import { readdirSync, statSync } from 'node:fs'; import { dirname, join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import { describe, expect, it } from 'vitest'; -import { categoryById } from './adapter-registry.js'; +import { CATEGORIES } from './adapter-registry.js'; const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), '../../..'); +const excludedPackageDirs = new Map>([ + ['bots', new Set(['core'])], +]); function packageDirs(path: string): string[] { return readdirSync(path) @@ -13,11 +16,13 @@ function packageDirs(path: string): string[] { } describe('adapter registry', () => { - it('lists every target package directory', () => { - const targets = categoryById('targets'); + for (const category of CATEGORIES) { + it(`lists every ${category.id} package directory`, () => { + const excluded = excludedPackageDirs.get(category.id) ?? new Set(); + const dirs = packageDirs(join(repoRoot, 'packages', category.id)) + .filter((name) => !excluded.has(name)); - expect(targets?.adapters.slice().sort()).toEqual( - packageDirs(join(repoRoot, 'packages', 'targets')) - ); - }); + expect(category.adapters.slice().sort()).toEqual(dirs); + }); + } }); diff --git a/packages/cli/src/adapter-registry.ts b/packages/cli/src/adapter-registry.ts index eb821a1a..fc59295f 100644 --- a/packages/cli/src/adapter-registry.ts +++ b/packages/cli/src/adapter-registry.ts @@ -42,7 +42,7 @@ export const CATEGORIES: readonly AdapterCategory[] = [ 'chutes', 'clarifai', 'claude', 'cloudflare', 'cohere', 'deepinfra', 'deepseek', 'featherless', 'fireworks', 'friendli', 'gemini', 'gmicloud', 'google-vertex', 'groq', 'inception', 'inceptron', - 'infermatic', 'inflection', 'ionet', 'kimi', 'liquid', 'mancer', + 'infermatic', 'inflection', 'ionet', 'kimi', 'liquid', 'litellm', 'mancer', 'minimax', 'mistral', 'moonshot', 'morph', 'nebius', 'nextbit', 'novita', 'openai', 'openinference', 'parasail', 'perceptron', 'perplexity', 'phala', 'qwen', 'reka', 'relace', 'sambanova', @@ -126,7 +126,7 @@ export const CATEGORIES: readonly AdapterCategory[] = [ id: 'mcp-servers', pkgPrefix: '@profullstack/sh1pt-mcp-server', description: 'MCP server callers - tool calls over configured MCP transports', - adapters: ['penpot'], + adapters: ['penpot', 'specification-website'], }, { id: 'outreach', @@ -144,7 +144,7 @@ export const CATEGORIES: readonly AdapterCategory[] = [ id: 'promo', pkgPrefix: '@profullstack/sh1pt-promo', description: 'Ad networks + fundraising rails', - adapters: ['angellist', 'apple-search', 'capitalreach', 'google', 'kickstarter', 'linkedin', 'meta', 'microsoft', 'openvc', 'reddit', 'tiktok', 'wefunder', 'x', 'youtube'], + adapters: ['angellist', 'apple-search', 'capitalreach', 'google', 'kickstarter', 'linkedin', 'meta', 'microsoft', 'openvc', 'posthog', 'reddit', 'tiktok', 'wefunder', 'x', 'youtube'], }, { id: 'recipes',