webfox 4.9.0 → 4.11.0
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/README.md +4 -12
- package/dist/{adapter-UIFBJKKF.js → adapter-44ZBIK47.js} +4 -6
- package/dist/{adapter-HTMXAJTU.js → adapter-57MELLYI.js} +2 -8
- package/dist/{adapter-VMMS4YQG.js → adapter-BZO5UEI6.js} +3 -15
- package/dist/{adapter-OK2PTP6R.js → adapter-D4EXZEDL.js} +16 -48
- package/dist/{adapter-G3I7JEO5.js → adapter-DJCTEEOA.js} +3 -5
- package/dist/{adapter-764OQFKY.js → adapter-DLNMW34W.js} +8 -35
- package/dist/{adapter-HRI5ZMGK.js → adapter-GFXYSHKP.js} +9 -43
- package/dist/{adapter-2UVAARTV.js → adapter-GJOUFE2U.js} +1 -1
- package/dist/{adapter-C2VZHFUB.js → adapter-MZ7USB6Q.js} +3 -4
- package/dist/adapter-ODDFBGJG.js +167 -0
- package/dist/{adapter-K6AMSUCR.js → adapter-QQZFHUOP.js} +14 -37
- package/dist/{adapter-AUYLTDPM.js → adapter-RR55EZAW.js} +1 -1
- package/dist/adapter-SZMVKAMC.js +91 -0
- package/dist/{adapter-6EZAIE65.js → adapter-VXT4C6RZ.js} +16 -66
- package/dist/{adapter-L6BFKWGX.js → adapter-WXEVTCM3.js} +7 -14
- package/dist/{adapter-VW4FMMJC.js → adapter-XSQX3GAI.js} +13 -5
- package/dist/{adapter-QIP32KA4.js → adapter-XU2APKPC.js} +3 -3
- package/dist/{adapter-A5WYGGZI.js → adapter-YVZ4YBK5.js} +8 -16
- package/dist/chunk-6RQGO727.js +71 -0
- package/dist/{chunk-HCYQF24V.js → chunk-KMUCUJVN.js} +3 -3
- package/dist/{chunk-EF4VMDZL.js → chunk-LDVDVA4Z.js} +1 -4
- package/dist/{chunk-GPACLYNT.js → chunk-NENL6L6N.js} +2 -0
- package/dist/{chunk-LTJOWNI2.js → chunk-PVNWACMT.js} +199 -17
- package/dist/{chunk-YZXM4U2C.js → chunk-TYJ6RHKB.js} +10 -0
- package/dist/{chunk-QZFN2747.js → chunk-YILOS4E7.js} +23 -9
- package/dist/cli.js +5 -5
- package/dist/config.schema.json +299 -0
- package/dist/contents.d.ts +5 -0
- package/dist/document-schema.d.ts +17 -5
- package/dist/domain.d.ts +14 -2
- package/dist/durable.js +5 -5
- package/dist/index.js +4 -4
- package/dist/pi.js +33 -14
- package/dist/providers/contract.d.ts +12 -1
- package/dist/providers/keenable/adapter.d.ts +5 -0
- package/dist/providers/keenable/definition.d.ts +1 -0
- package/dist/providers/keenable/types.d.ts +4 -0
- package/dist/providers/registry.d.ts +2 -0
- package/dist/providers/sofya/adapter.d.ts +8 -0
- package/dist/providers/sofya/definition.d.ts +1 -0
- package/dist/providers/sofya/types.d.ts +4 -0
- package/dist/render.d.ts +8 -2
- package/docs/provider.md +44 -0
- package/examples/custom/README.md +9 -3
- package/package.json +1 -1
- package/dist/chunk-BTWECET5.js +0 -31
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CAPABILITIES
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NENL6L6N.js";
|
|
4
4
|
import {
|
|
5
5
|
WebfoxError
|
|
6
6
|
} from "./chunk-U4BLULLV.js";
|
|
@@ -504,7 +504,7 @@ var braveProvider = defineProvider({
|
|
|
504
504
|
retrySafe: false
|
|
505
505
|
}
|
|
506
506
|
},
|
|
507
|
-
load: async () => (await import("./adapter-
|
|
507
|
+
load: async () => (await import("./adapter-YVZ4YBK5.js")).adapter
|
|
508
508
|
});
|
|
509
509
|
|
|
510
510
|
// src/providers/cloudflare/definition.ts
|
|
@@ -606,7 +606,7 @@ var cloudflareProvider = defineProvider({
|
|
|
606
606
|
retrySafe: true
|
|
607
607
|
}
|
|
608
608
|
},
|
|
609
|
-
load: async () => (await import("./adapter-
|
|
609
|
+
load: async () => (await import("./adapter-RR55EZAW.js")).adapter
|
|
610
610
|
});
|
|
611
611
|
|
|
612
612
|
// src/providers/custom/definition.ts
|
|
@@ -633,7 +633,7 @@ var customProvider = defineProvider({
|
|
|
633
633
|
retrySafe: false
|
|
634
634
|
}
|
|
635
635
|
},
|
|
636
|
-
load: async () => (await import("./adapter-
|
|
636
|
+
load: async () => (await import("./adapter-XSQX3GAI.js")).adapter
|
|
637
637
|
});
|
|
638
638
|
|
|
639
639
|
// src/providers/exa/definition.ts
|
|
@@ -944,7 +944,7 @@ var exaProvider = defineProvider({
|
|
|
944
944
|
retrySafe: false
|
|
945
945
|
}
|
|
946
946
|
},
|
|
947
|
-
load: async () => (await import("./adapter-
|
|
947
|
+
load: async () => (await import("./adapter-GFXYSHKP.js")).adapter
|
|
948
948
|
});
|
|
949
949
|
|
|
950
950
|
// src/providers/firecrawl/definition.ts
|
|
@@ -1150,7 +1150,7 @@ var firecrawlProvider = defineProvider({
|
|
|
1150
1150
|
retrySafe: false
|
|
1151
1151
|
}
|
|
1152
1152
|
},
|
|
1153
|
-
load: async () => (await import("./adapter-
|
|
1153
|
+
load: async () => (await import("./adapter-WXEVTCM3.js")).adapter
|
|
1154
1154
|
});
|
|
1155
1155
|
|
|
1156
1156
|
// src/providers/gemini/definition.ts
|
|
@@ -1275,7 +1275,74 @@ var geminiProvider = defineProvider({
|
|
|
1275
1275
|
retrySafe: false
|
|
1276
1276
|
}
|
|
1277
1277
|
},
|
|
1278
|
-
load: async () => (await import("./adapter-
|
|
1278
|
+
load: async () => (await import("./adapter-VXT4C6RZ.js")).adapter
|
|
1279
|
+
});
|
|
1280
|
+
|
|
1281
|
+
// src/providers/keenable/definition.ts
|
|
1282
|
+
var timeFilter = (description) => ({
|
|
1283
|
+
type: "string",
|
|
1284
|
+
minLength: 1,
|
|
1285
|
+
description: `${description} Accepts YYYY-MM-DD, an ISO 8601 timestamp, or a relative delta such as 7d, 12h, or 30min.`
|
|
1286
|
+
});
|
|
1287
|
+
var keenableProvider = defineProvider({
|
|
1288
|
+
id: "keenable",
|
|
1289
|
+
label: "Keenable",
|
|
1290
|
+
docsUrl: "https://docs.keenable.ai/api-reference/search",
|
|
1291
|
+
local: false,
|
|
1292
|
+
credentials: [{ name: "api", environmentVariable: "KEENABLE_API_KEY" }],
|
|
1293
|
+
fields: ["credentials", "baseUrl", "options"],
|
|
1294
|
+
defaults: {},
|
|
1295
|
+
credentialDefaults: {},
|
|
1296
|
+
capabilities: {
|
|
1297
|
+
search: {
|
|
1298
|
+
options: {
|
|
1299
|
+
type: "object",
|
|
1300
|
+
properties: {
|
|
1301
|
+
mode: {
|
|
1302
|
+
type: "string",
|
|
1303
|
+
enum: ["pro", "realtime"],
|
|
1304
|
+
description: "Search mode: 'pro' (default) for deeper retrieval, 'realtime' for the fastest results. Each mode is billed separately."
|
|
1305
|
+
},
|
|
1306
|
+
site: {
|
|
1307
|
+
type: "string",
|
|
1308
|
+
minLength: 1,
|
|
1309
|
+
description: "Restrict results to one site, e.g. 'techcrunch.com'."
|
|
1310
|
+
},
|
|
1311
|
+
published_after: timeFilter(
|
|
1312
|
+
"Only pages published at or after this time."
|
|
1313
|
+
),
|
|
1314
|
+
published_before: timeFilter(
|
|
1315
|
+
"Only pages published at or before this time."
|
|
1316
|
+
),
|
|
1317
|
+
acquired_after: timeFilter(
|
|
1318
|
+
"Only pages indexed at or after this time."
|
|
1319
|
+
),
|
|
1320
|
+
acquired_before: timeFilter(
|
|
1321
|
+
"Only pages indexed at or before this time."
|
|
1322
|
+
),
|
|
1323
|
+
query_time: {
|
|
1324
|
+
type: "string",
|
|
1325
|
+
minLength: 1,
|
|
1326
|
+
description: "Search the index as it stood at this date or ISO 8601 timestamp; relative time filters resolve against it."
|
|
1327
|
+
},
|
|
1328
|
+
snippet_max_length: {
|
|
1329
|
+
type: "integer",
|
|
1330
|
+
minimum: 180,
|
|
1331
|
+
maximum: 1e4,
|
|
1332
|
+
description: "Maximum characters of the excerpt per result."
|
|
1333
|
+
}
|
|
1334
|
+
},
|
|
1335
|
+
description: "Keenable search options."
|
|
1336
|
+
},
|
|
1337
|
+
promptGuidelines: [
|
|
1338
|
+
"Keenable returns ranked web results with page excerpts; use web_contents to read selected sources in full.",
|
|
1339
|
+
"Use Keenable site to restrict results to one domain, and published_after/published_before (e.g. '7d') for recent or date-bounded results.",
|
|
1340
|
+
"Use Keenable mode='realtime' only when latency matters more than retrieval depth."
|
|
1341
|
+
],
|
|
1342
|
+
retrySafe: true
|
|
1343
|
+
}
|
|
1344
|
+
},
|
|
1345
|
+
load: async () => (await import("./adapter-SZMVKAMC.js")).adapter
|
|
1279
1346
|
});
|
|
1280
1347
|
|
|
1281
1348
|
// src/providers/linkup/definition.ts
|
|
@@ -1473,7 +1540,7 @@ var linkupProvider = defineProvider({
|
|
|
1473
1540
|
retrySafe: false
|
|
1474
1541
|
}
|
|
1475
1542
|
},
|
|
1476
|
-
load: async () => (await import("./adapter-
|
|
1543
|
+
load: async () => (await import("./adapter-QQZFHUOP.js")).adapter
|
|
1477
1544
|
});
|
|
1478
1545
|
|
|
1479
1546
|
// src/providers/ollama/definition.ts
|
|
@@ -1502,7 +1569,7 @@ var ollamaProvider = defineProvider({
|
|
|
1502
1569
|
retrySafe: true
|
|
1503
1570
|
}
|
|
1504
1571
|
},
|
|
1505
|
-
load: async () => (await import("./adapter-
|
|
1572
|
+
load: async () => (await import("./adapter-57MELLYI.js")).adapter
|
|
1506
1573
|
});
|
|
1507
1574
|
|
|
1508
1575
|
// src/providers/openai/definition.ts
|
|
@@ -1610,7 +1677,7 @@ var openaiProvider = defineProvider({
|
|
|
1610
1677
|
retrySafe: false
|
|
1611
1678
|
}
|
|
1612
1679
|
},
|
|
1613
|
-
load: async () => (await import("./adapter-
|
|
1680
|
+
load: async () => (await import("./adapter-BZO5UEI6.js")).adapter
|
|
1614
1681
|
});
|
|
1615
1682
|
|
|
1616
1683
|
// src/providers/parallel/definition.ts
|
|
@@ -1769,7 +1836,7 @@ var parallelProvider = defineProvider({
|
|
|
1769
1836
|
retrySafe: true
|
|
1770
1837
|
}
|
|
1771
1838
|
},
|
|
1772
|
-
load: async () => (await import("./adapter-
|
|
1839
|
+
load: async () => (await import("./adapter-DJCTEEOA.js")).adapter
|
|
1773
1840
|
});
|
|
1774
1841
|
|
|
1775
1842
|
// src/providers/perplexity/definition.ts
|
|
@@ -1890,7 +1957,7 @@ var perplexityProvider = defineProvider({
|
|
|
1890
1957
|
answer: { options: chatOptions, retrySafe: false },
|
|
1891
1958
|
research: { options: chatOptions, retrySafe: false }
|
|
1892
1959
|
},
|
|
1893
|
-
load: async () => (await import("./adapter-
|
|
1960
|
+
load: async () => (await import("./adapter-D4EXZEDL.js")).adapter
|
|
1894
1961
|
});
|
|
1895
1962
|
|
|
1896
1963
|
// src/providers/serpbase/definition.ts
|
|
@@ -1991,7 +2058,7 @@ var serpbaseProvider = defineProvider({
|
|
|
1991
2058
|
retrySafe: true
|
|
1992
2059
|
}
|
|
1993
2060
|
},
|
|
1994
|
-
load: async () => (await import("./adapter-
|
|
2061
|
+
load: async () => (await import("./adapter-XU2APKPC.js")).adapter
|
|
1995
2062
|
});
|
|
1996
2063
|
|
|
1997
2064
|
// src/providers/serper/definition.ts
|
|
@@ -2131,7 +2198,120 @@ var serperProvider = defineProvider({
|
|
|
2131
2198
|
retrySafe: true
|
|
2132
2199
|
}
|
|
2133
2200
|
},
|
|
2134
|
-
load: async () => (await import("./adapter-
|
|
2201
|
+
load: async () => (await import("./adapter-MZ7USB6Q.js")).adapter
|
|
2202
|
+
});
|
|
2203
|
+
|
|
2204
|
+
// src/providers/sofya/definition.ts
|
|
2205
|
+
var filters = {
|
|
2206
|
+
topic: {
|
|
2207
|
+
type: "string",
|
|
2208
|
+
enum: ["general", "news"],
|
|
2209
|
+
description: "'news' for news articles, 'general' (default) for web search."
|
|
2210
|
+
},
|
|
2211
|
+
freshness: {
|
|
2212
|
+
type: "string",
|
|
2213
|
+
pattern: "^(day|week|month|year|\\d{4}-\\d{2}-\\d{2}:\\d{4}-\\d{2}-\\d{2})$",
|
|
2214
|
+
description: "Recency filter: day, week, month, year, or a YYYY-MM-DD:YYYY-MM-DD range."
|
|
2215
|
+
}
|
|
2216
|
+
};
|
|
2217
|
+
var domainFilters = {
|
|
2218
|
+
include_domains: {
|
|
2219
|
+
type: "array",
|
|
2220
|
+
items: { type: "string", minLength: 1 },
|
|
2221
|
+
maxItems: 10,
|
|
2222
|
+
description: "Only return results from these domains, e.g. 'github.com'."
|
|
2223
|
+
},
|
|
2224
|
+
exclude_domains: {
|
|
2225
|
+
type: "array",
|
|
2226
|
+
items: { type: "string", minLength: 1 },
|
|
2227
|
+
maxItems: 10,
|
|
2228
|
+
description: "Exclude results from these domains."
|
|
2229
|
+
}
|
|
2230
|
+
};
|
|
2231
|
+
var searchDepth = {
|
|
2232
|
+
type: "string",
|
|
2233
|
+
enum: ["snippets", "basic"],
|
|
2234
|
+
description: "'snippets' (1 credit) returns search snippets; 'basic' (2 credits) also reads each page and returns its text in metadata.content."
|
|
2235
|
+
};
|
|
2236
|
+
var sofyaProvider = defineProvider({
|
|
2237
|
+
id: "sofya",
|
|
2238
|
+
label: "Sofya",
|
|
2239
|
+
docsUrl: "https://sofya.co/docs",
|
|
2240
|
+
local: false,
|
|
2241
|
+
credentials: [{ name: "api", environmentVariable: "SOFYA_API_KEY" }],
|
|
2242
|
+
fields: ["credentials", "baseUrl", "options"],
|
|
2243
|
+
defaults: { search: { search_depth: "snippets" } },
|
|
2244
|
+
credentialDefaults: {},
|
|
2245
|
+
capabilities: {
|
|
2246
|
+
search: {
|
|
2247
|
+
// Sofya calls can take up to 60 seconds; allow headroom.
|
|
2248
|
+
defaultTimeoutMs: 9e4,
|
|
2249
|
+
options: {
|
|
2250
|
+
type: "object",
|
|
2251
|
+
properties: {
|
|
2252
|
+
search_depth: searchDepth,
|
|
2253
|
+
...filters,
|
|
2254
|
+
...domainFilters
|
|
2255
|
+
},
|
|
2256
|
+
description: "Sofya search options."
|
|
2257
|
+
},
|
|
2258
|
+
promptGuidelines: [
|
|
2259
|
+
"Sofya search returns ranked results with snippets; use web_contents to read selected sources in full.",
|
|
2260
|
+
"Use Sofya topic='news' and freshness (e.g. 'week') for recent events, and include_domains to restrict results to specific sites."
|
|
2261
|
+
],
|
|
2262
|
+
retrySafe: true
|
|
2263
|
+
},
|
|
2264
|
+
contents: {
|
|
2265
|
+
defaultTimeoutMs: 9e4,
|
|
2266
|
+
options: {
|
|
2267
|
+
type: "object",
|
|
2268
|
+
properties: {
|
|
2269
|
+
include_raw_html: {
|
|
2270
|
+
type: "boolean",
|
|
2271
|
+
description: "Include the raw HTML source in metadata.raw_html."
|
|
2272
|
+
}
|
|
2273
|
+
},
|
|
2274
|
+
description: "Sofya contents options."
|
|
2275
|
+
},
|
|
2276
|
+
retrySafe: true
|
|
2277
|
+
},
|
|
2278
|
+
answer: {
|
|
2279
|
+
defaultTimeoutMs: 9e4,
|
|
2280
|
+
options: {
|
|
2281
|
+
type: "object",
|
|
2282
|
+
properties: {
|
|
2283
|
+
search_depth: searchDepth,
|
|
2284
|
+
max_results: {
|
|
2285
|
+
type: "integer",
|
|
2286
|
+
minimum: 1,
|
|
2287
|
+
maximum: 20,
|
|
2288
|
+
description: "Search results the answer is grounded in."
|
|
2289
|
+
},
|
|
2290
|
+
...filters,
|
|
2291
|
+
...domainFilters
|
|
2292
|
+
},
|
|
2293
|
+
description: "Sofya answer options."
|
|
2294
|
+
},
|
|
2295
|
+
retrySafe: false
|
|
2296
|
+
},
|
|
2297
|
+
research: {
|
|
2298
|
+
options: {
|
|
2299
|
+
type: "object",
|
|
2300
|
+
properties: {
|
|
2301
|
+
...filters,
|
|
2302
|
+
max_sources: {
|
|
2303
|
+
type: "integer",
|
|
2304
|
+
minimum: 5,
|
|
2305
|
+
maximum: 30,
|
|
2306
|
+
description: "Maximum sources to read (default 20)."
|
|
2307
|
+
}
|
|
2308
|
+
},
|
|
2309
|
+
description: "Sofya research options."
|
|
2310
|
+
},
|
|
2311
|
+
retrySafe: false
|
|
2312
|
+
}
|
|
2313
|
+
},
|
|
2314
|
+
load: async () => (await import("./adapter-ODDFBGJG.js")).adapter
|
|
2135
2315
|
});
|
|
2136
2316
|
|
|
2137
2317
|
// src/providers/tavily/definition.ts
|
|
@@ -2326,7 +2506,7 @@ var tavilyProvider = defineProvider({
|
|
|
2326
2506
|
retrySafe: true
|
|
2327
2507
|
}
|
|
2328
2508
|
},
|
|
2329
|
-
load: async () => (await import("./adapter-
|
|
2509
|
+
load: async () => (await import("./adapter-44ZBIK47.js")).adapter
|
|
2330
2510
|
});
|
|
2331
2511
|
|
|
2332
2512
|
// src/providers/valyu/definition.ts
|
|
@@ -2794,7 +2974,7 @@ var valyuProvider = defineProvider({
|
|
|
2794
2974
|
retrySafe: false
|
|
2795
2975
|
}
|
|
2796
2976
|
},
|
|
2797
|
-
load: async () => (await import("./adapter-
|
|
2977
|
+
load: async () => (await import("./adapter-DLNMW34W.js")).adapter
|
|
2798
2978
|
});
|
|
2799
2979
|
|
|
2800
2980
|
// src/providers/youcom/definition.ts
|
|
@@ -2985,7 +3165,7 @@ var youcomProvider = defineProvider({
|
|
|
2985
3165
|
retrySafe: true
|
|
2986
3166
|
}
|
|
2987
3167
|
},
|
|
2988
|
-
load: async () => (await import("./adapter-
|
|
3168
|
+
load: async () => (await import("./adapter-GJOUFE2U.js")).adapter
|
|
2989
3169
|
});
|
|
2990
3170
|
|
|
2991
3171
|
// src/providers/registry.ts
|
|
@@ -2996,6 +3176,7 @@ var providers = {
|
|
|
2996
3176
|
exa: exaProvider,
|
|
2997
3177
|
firecrawl: firecrawlProvider,
|
|
2998
3178
|
gemini: geminiProvider,
|
|
3179
|
+
keenable: keenableProvider,
|
|
2999
3180
|
linkup: linkupProvider,
|
|
3000
3181
|
ollama: ollamaProvider,
|
|
3001
3182
|
openai: openaiProvider,
|
|
@@ -3003,6 +3184,7 @@ var providers = {
|
|
|
3003
3184
|
perplexity: perplexityProvider,
|
|
3004
3185
|
serpbase: serpbaseProvider,
|
|
3005
3186
|
serper: serperProvider,
|
|
3187
|
+
sofya: sofyaProvider,
|
|
3006
3188
|
tavily: tavilyProvider,
|
|
3007
3189
|
valyu: valyuProvider,
|
|
3008
3190
|
youcom: youcomProvider
|
|
@@ -3,6 +3,15 @@ import {
|
|
|
3
3
|
} from "./chunk-U4BLULLV.js";
|
|
4
4
|
|
|
5
5
|
// src/contents.ts
|
|
6
|
+
function omittedContents(url) {
|
|
7
|
+
return {
|
|
8
|
+
url,
|
|
9
|
+
error: new WebfoxError(
|
|
10
|
+
"PROVIDER_FAILURE",
|
|
11
|
+
"The provider omitted a result for this URL."
|
|
12
|
+
).toJSON()
|
|
13
|
+
};
|
|
14
|
+
}
|
|
6
15
|
function orderedContents(response) {
|
|
7
16
|
return {
|
|
8
17
|
provider: response.provider,
|
|
@@ -17,5 +26,6 @@ function orderedContents(response) {
|
|
|
17
26
|
}
|
|
18
27
|
|
|
19
28
|
export {
|
|
29
|
+
omittedContents,
|
|
20
30
|
orderedContents
|
|
21
31
|
};
|
|
@@ -6,21 +6,21 @@ import {
|
|
|
6
6
|
} from "./chunk-WCTOYZVB.js";
|
|
7
7
|
import {
|
|
8
8
|
configurationSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KMUCUJVN.js";
|
|
10
10
|
import {
|
|
11
11
|
effectiveOptions,
|
|
12
12
|
optionSchema,
|
|
13
13
|
providers,
|
|
14
14
|
selectProvider,
|
|
15
15
|
validateConfiguredOptions
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-PVNWACMT.js";
|
|
17
17
|
import {
|
|
18
18
|
cancelProcessGroup,
|
|
19
19
|
killProcessGroup
|
|
20
20
|
} from "./chunk-ZVTVERW5.js";
|
|
21
21
|
import {
|
|
22
22
|
CAPABILITIES
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-NENL6L6N.js";
|
|
24
24
|
import {
|
|
25
25
|
WebfoxError,
|
|
26
26
|
asWebfoxError
|
|
@@ -442,7 +442,13 @@ var ExecutionRuntime = class {
|
|
|
442
442
|
throw new WebfoxError(answer.error.code, answer.error.message, {
|
|
443
443
|
retryable: answer.error.retryable
|
|
444
444
|
});
|
|
445
|
-
const {
|
|
445
|
+
const {
|
|
446
|
+
inputIndex: _index,
|
|
447
|
+
error: _error,
|
|
448
|
+
content,
|
|
449
|
+
...rest
|
|
450
|
+
} = answer;
|
|
451
|
+
const value2 = content?.trim() ? { ...rest, content } : rest;
|
|
446
452
|
return { input, ok: true, value: value2 };
|
|
447
453
|
}
|
|
448
454
|
const operation = capability === "search" ? {
|
|
@@ -459,10 +465,7 @@ var ExecutionRuntime = class {
|
|
|
459
465
|
context
|
|
460
466
|
);
|
|
461
467
|
const value = capability === "search" ? {
|
|
462
|
-
results: result.results.slice(
|
|
463
|
-
0,
|
|
464
|
-
plan.maxResults
|
|
465
|
-
)
|
|
468
|
+
results: result.results.slice(0, plan.maxResults).map(searchValue)
|
|
466
469
|
} : textValue(result);
|
|
467
470
|
return { input, ok: true, value };
|
|
468
471
|
} catch (error) {
|
|
@@ -546,13 +549,24 @@ var ExecutionRuntime = class {
|
|
|
546
549
|
}
|
|
547
550
|
}
|
|
548
551
|
};
|
|
552
|
+
function searchValue({ title, ...result }) {
|
|
553
|
+
const trimmed = title?.trim();
|
|
554
|
+
return trimmed ? { title: trimmed, ...result } : result;
|
|
555
|
+
}
|
|
549
556
|
function textValue(value) {
|
|
557
|
+
const sources = value.sources?.flatMap(sourceValue);
|
|
550
558
|
return {
|
|
551
559
|
text: value.text,
|
|
552
|
-
...
|
|
560
|
+
...sources === void 0 ? {} : { sources, itemCount: sources.length },
|
|
553
561
|
...value.metadata === void 0 ? {} : { metadata: value.metadata }
|
|
554
562
|
};
|
|
555
563
|
}
|
|
564
|
+
function sourceValue(source) {
|
|
565
|
+
const url = typeof source.url === "string" ? source.url.trim() : "";
|
|
566
|
+
const title = typeof source.title === "string" ? source.title.trim() : "";
|
|
567
|
+
if (url) return [title ? { url, title } : { url }];
|
|
568
|
+
return title ? [{ title }] : [];
|
|
569
|
+
}
|
|
556
570
|
|
|
557
571
|
// src/application.ts
|
|
558
572
|
function createWebfox(options = {}) {
|
package/dist/cli.js
CHANGED
|
@@ -4,26 +4,26 @@ import {
|
|
|
4
4
|
} from "./chunk-I2UIACY3.js";
|
|
5
5
|
import {
|
|
6
6
|
renderTextDocument
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6RQGO727.js";
|
|
8
8
|
import {
|
|
9
9
|
createWebfox,
|
|
10
10
|
loadConfig,
|
|
11
11
|
redactConfig,
|
|
12
12
|
resolveConfigPath,
|
|
13
13
|
setCapabilityDefault
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YILOS4E7.js";
|
|
15
15
|
import "./chunk-WCTOYZVB.js";
|
|
16
16
|
import {
|
|
17
17
|
PACKAGE_VERSION
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KMUCUJVN.js";
|
|
19
19
|
import {
|
|
20
20
|
validateConfiguredOptions
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-PVNWACMT.js";
|
|
22
22
|
import "./chunk-ZVTVERW5.js";
|
|
23
23
|
import {
|
|
24
24
|
CAPABILITIES,
|
|
25
25
|
PROVIDER_IDS
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-NENL6L6N.js";
|
|
27
27
|
import {
|
|
28
28
|
WebfoxError
|
|
29
29
|
} from "./chunk-U4BLULLV.js";
|