Files
oh-my-pi/packages/coding-agent/src/commands/web-search.ts
T
can1357 c4e83d317a fix(coding-agent): deduplicate provider lists, fix priority order
- Export SEARCH_PROVIDER_ORDER from provider.ts as single source of truth
- Remove duplicate provider arrays from web-search.ts and web-search-cli.ts
- Add missing 'kimi' to CLI command validation (was causing --provider kimi to reject)
- Move perplexity to top of auto-resolve priority
- Fix kimi position in priority order to match documentation
2026-02-19 05:54:42 +01:00

43 lines
1.4 KiB
TypeScript

/**
* Test web search providers.
*/
import { Args, Command, Flags } from "@oh-my-pi/pi-utils/cli";
import { runSearchCommand, type SearchCommandArgs } from "../cli/web-search-cli";
import { SEARCH_PROVIDER_ORDER } from "../web/search/provider";
const PROVIDERS: Array<string> = ["auto", ...SEARCH_PROVIDER_ORDER];
const RECENCY: NonNullable<SearchCommandArgs["recency"]>[] = ["day", "week", "month", "year"];
export default class Search extends Command {
static description = "Test web search providers";
static aliases = ["q"];
static args = {
query: Args.string({ description: "Search query text", required: false, multiple: true }),
};
static flags = {
provider: Flags.string({ description: "Search provider", options: PROVIDERS }),
recency: Flags.string({ description: "Recency filter", options: RECENCY }),
limit: Flags.integer({ char: "l", description: "Max results to return" }),
compact: Flags.boolean({ description: "Render condensed output" }),
};
async run(): Promise<void> {
const { args, flags } = await this.parse(Search);
const query = Array.isArray(args.query) ? args.query.join(" ") : (args.query ?? "");
const cmd: SearchCommandArgs = {
query,
provider: flags.provider as SearchCommandArgs["provider"],
recency: flags.recency as SearchCommandArgs["recency"],
limit: flags.limit,
expanded: !flags.compact,
};
await runSearchCommand(cmd);
}
}