@tduyng/pi-web 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tduyng/pi-web",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Keyless web search and fetch for pi: batched queries, arXiv preprints, Exa MCP with DuckDuckGo and Jina Reader fallbacks, zero dependencies.",
5
5
  "keywords": [
6
6
  "pi",
package/src/backends.ts CHANGED
@@ -14,7 +14,7 @@ const COMMENT_CHARS = 300
14
14
  export const SOURCES = ['web', 'arxiv', 'hn'] as const
15
15
  export type Source = (typeof SOURCES)[number]
16
16
 
17
- export type Fetch = typeof fetch
17
+ export type Fetch = (input: string | URL | Request, init?: RequestInit) => Promise<Response>
18
18
 
19
19
  export interface Hit {
20
20
  text: string
@@ -280,6 +280,8 @@ export async function search(
280
280
  return await special(query, numResults, signal, f)
281
281
  } catch (err) {
282
282
  if (signal?.aborted) throw err
283
+ const noResults = err instanceof Error && /^no (papers|posts)$/.test(err.message)
284
+ if (!noResults) throw err
283
285
  }
284
286
  }
285
287
  return firstOf<{ text: string; results: SearchResult[] }>(signal, [
package/src/x-post.ts CHANGED
@@ -99,7 +99,7 @@ function xInline(text: string, block: XBlock, article: XArticle): string {
99
99
  const url = xEntity(article, range.key ?? -1)?.data?.url
100
100
  return {
101
101
  ...range,
102
- marker: url ? `[${text.slice(range.offset, range.offset + range.length)}](${url})]` : ''
102
+ marker: url ? `[${text.slice(range.offset, range.offset + range.length)}](${url})` : ''
103
103
  }
104
104
  })
105
105
  ]