Skip to content

feat: add url field to 9 search adapters (67% -> 97% coverage)#414

Merged
jackwener merged 4 commits intojackwener:mainfrom
AllenS0104:feat/search-add-url-across-adapters
Mar 25, 2026
Merged

feat: add url field to 9 search adapters (67% -> 97% coverage)#414
jackwener merged 4 commits intojackwener:mainfrom
AllenS0104:feat/search-add-url-across-adapters

Conversation

@AllenS0104
Copy link
Copy Markdown
Contributor

What

Add url field to 9 search adapters that were missing direct links in their output.

Why

Before this PR, only 22 out of 33 search adapters (67%) included a url field. This meant downstream consumers (AI agents, data pipelines, scripts) could not link to the actual content for 11 adapters.

After this PR, 32 out of 33 search adapters (97%) include url. The only exception is dictionary (word lookup has no URL concept).

Changes

YAML adapters (5 files)

Adapter Fix type
hackernews url was already in map step but missing from columns
zhihu url was computed in evaluate but stripped by map step; now passed through
linux-do Construct https://linux.do/t/topic/{id} from topic id
instagram Construct https://www.instagram.com/{username} from user data
xueqiu url was computed in evaluate but stripped by map step; now passed through

TS adapters (4 files)

Adapter Fix type
arxiv url was already in parseEntries() utils but not surfaced in return/columns
apple-podcasts Add collectionViewUrl from iTunes API response
medium url was already computed in loadMediumPosts() utils; just add to columns
weread Construct https://weread.qq.com/web/bookDetail/{bookId} from book data

Coverage improvement

Metric Before After
Search adapters with url 22/33 (67%) 32/33 (97%)
YAML adapters with url 4/10 (40%) 9/10 (90%)
TS adapters with url 18/23 (78%) 23/23 (100%)

Risk

Minimal - all changes only add a new field to existing output. No existing fields or behavior are modified.

Allen Song (Beyondsoft) and others added 4 commits March 25, 2026 11:31
Add a 'url' field to the TikTok search adapter output, constructed from
the author's uniqueId and the video id returned by the API. This allows
downstream consumers (AI agents, pipelines, scripts) to link directly to
each video instead of only having the author handle.

The URL format is: https://www.tiktok.com/@{author}/video/{videoId}

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add url output to search commands that were missing direct links:

YAML adapters:
- hackernews: surface existing url from map step into columns
- zhihu: pass computed url through map step into columns
- linux-do: construct url from topic id
- instagram: construct profile url from username
- xueqiu: pass computed url through map step into columns

TS adapters:
- arxiv: surface existing url from parseEntries into return + columns
- apple-podcasts: add collectionViewUrl from iTunes API
- medium: add url to columns (already computed in utils)
- weread: construct book url from bookId

This brings search adapter url coverage from 67% to 97% (32/33).
The only adapter without url is dictionary (word lookup, no URL concept).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jackwener jackwener merged commit 9245bf4 into jackwener:main Mar 25, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants