From 4f5c687cfe96a6d8bc0c828b0a165673c268bd8e Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 17 Aug 2026 09:06:16 +0000 Subject: [PATCH] fix: align search options with sdk Co-authored-by: william --- README.md | 1 + src/__tests__/search.integration.test.ts | 5 +++++ src/__tests__/search.test.ts | 9 ++++----- src/commands/search.ts | 15 +++------------ 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 04b00e2..8699392 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ Run an immediate web search. - Pick the effort with `--depth`: `fast`, `standard` (default), or `deep`. - Choose the output with `--output`: `sourced-answer`, `search-results`, or `structured`. +- Use `--include-images` and `--max-results` with any output type. - Add `--include-inline-citations` to sourced answers or `--include-sources` to structured output. ```bash diff --git a/src/__tests__/search.integration.test.ts b/src/__tests__/search.integration.test.ts index a589021..71f90b2 100644 --- a/src/__tests__/search.integration.test.ts +++ b/src/__tests__/search.integration.test.ts @@ -21,12 +21,17 @@ describe('search command integration', () => { 'hello world', '--depth', 'deep', + '--include-images', '--include-inline-citations', + '--max-results', + '8', ]); expect(fakeClient.search).toHaveBeenCalledWith({ depth: 'deep', + includeImages: true, includeInlineCitations: true, + maxResults: 8, outputType: 'sourcedAnswer', query: 'hello world', }); diff --git a/src/__tests__/search.test.ts b/src/__tests__/search.test.ts index 696ea5b..e40ada5 100644 --- a/src/__tests__/search.test.ts +++ b/src/__tests__/search.test.ts @@ -148,7 +148,7 @@ describe('buildSearchParams', () => { ).toThrow('--schema/--schema-file cannot be used with --output search-results'); }); - it('warns and omits search-result-only options for sourced answers', () => { + it('maps general image and limit options for sourced answers', () => { const { params, warnings } = buildSearchParams('q', { depth: 'standard', includeImages: true, @@ -158,13 +158,12 @@ describe('buildSearchParams', () => { expect(params).toEqual({ depth: 'standard', + includeImages: true, + maxResults: 5, outputType: 'sourcedAnswer', query: 'q', }); - expect(warnings).toEqual([ - 'Warning: --include-images ignored (only used with --output search-results)', - 'Warning: --max-results ignored (only used with --output search-results)', - ]); + expect(warnings).toEqual([]); }); it('warns and omits output-specific citation and source options', () => { diff --git a/src/commands/search.ts b/src/commands/search.ts index 62dd444..032b6b4 100644 --- a/src/commands/search.ts +++ b/src/commands/search.ts @@ -142,14 +142,6 @@ function addIgnoredOptionWarnings( ): void { addSchemaIgnoredWarning(opts.outputType, hasSchemaOption, warnings); - if (opts.outputType !== 'searchResults' && opts.includeImages) { - warnings.push('Warning: --include-images ignored (only used with --output search-results)'); - } - - if (opts.outputType !== 'searchResults' && opts.maxResults !== undefined) { - warnings.push('Warning: --max-results ignored (only used with --output search-results)'); - } - if (opts.outputType !== 'sourcedAnswer' && opts.includeInlineCitations) { warnings.push( 'Warning: --include-inline-citations ignored (only used with --output sourced-answer)', @@ -164,9 +156,8 @@ function addIgnoredOptionWarnings( function buildSearchExtraParams(opts: SearchCliOptions): Partial { return { ...buildCommonParams(opts), - ...(opts.outputType === 'searchResults' && opts.includeImages && { includeImages: true }), - ...(opts.outputType === 'searchResults' && - opts.maxResults !== undefined && { maxResults: opts.maxResults }), + ...(opts.includeImages && { includeImages: true }), + ...(opts.maxResults !== undefined && { maxResults: opts.maxResults }), ...(opts.outputType === 'sourcedAnswer' && opts.includeInlineCitations && { includeInlineCitations: true }), ...(opts.outputType === 'structured' && opts.includeSources && { includeSources: true }), @@ -249,7 +240,7 @@ export function registerSearchCommand(program: Command): void { 'Only include results published on or before this date', parseDateOption('--to-date'), ) - .option('--include-images', 'Request images in search results') + .option('--include-images', 'Include images in search output') .option('--include-inline-citations', 'Include inline citations in sourced answers') .option('--include-sources', 'Include source records with structured output') .option('--max-results ', 'Maximum number of search results', parsePositiveInt)