webfox 4.10.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 +2 -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-JJSMYZXG.js → adapter-SZMVKAMC.js} +1 -1
- package/dist/{adapter-6EZAIE65.js → adapter-VXT4C6RZ.js} +16 -66
- package/dist/{adapter-L6BFKWGX.js → adapter-WXEVTCM3.js} +7 -14
- package/dist/{adapter-ZYDUANQL.js → adapter-XSQX3GAI.js} +13 -5
- package/dist/{adapter-EIDSGLOP.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-TGULKHB5.js → chunk-KMUCUJVN.js} +3 -3
- package/dist/{chunk-EF4VMDZL.js → chunk-LDVDVA4Z.js} +1 -4
- package/dist/{chunk-57OOEOXI.js → chunk-NENL6L6N.js} +1 -0
- package/dist/{chunk-5FP7KNMC.js → chunk-PVNWACMT.js} +132 -18
- package/dist/{chunk-YZXM4U2C.js → chunk-TYJ6RHKB.js} +10 -0
- package/dist/{chunk-3WBE6UEW.js → chunk-YILOS4E7.js} +23 -9
- package/dist/cli.js +5 -5
- package/dist/config.schema.json +187 -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 +11 -1
- package/dist/providers/registry.d.ts +1 -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 +27 -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,7 @@ 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
1279
|
});
|
|
1280
1280
|
|
|
1281
1281
|
// src/providers/keenable/definition.ts
|
|
@@ -1342,7 +1342,7 @@ var keenableProvider = defineProvider({
|
|
|
1342
1342
|
retrySafe: true
|
|
1343
1343
|
}
|
|
1344
1344
|
},
|
|
1345
|
-
load: async () => (await import("./adapter-
|
|
1345
|
+
load: async () => (await import("./adapter-SZMVKAMC.js")).adapter
|
|
1346
1346
|
});
|
|
1347
1347
|
|
|
1348
1348
|
// src/providers/linkup/definition.ts
|
|
@@ -1540,7 +1540,7 @@ var linkupProvider = defineProvider({
|
|
|
1540
1540
|
retrySafe: false
|
|
1541
1541
|
}
|
|
1542
1542
|
},
|
|
1543
|
-
load: async () => (await import("./adapter-
|
|
1543
|
+
load: async () => (await import("./adapter-QQZFHUOP.js")).adapter
|
|
1544
1544
|
});
|
|
1545
1545
|
|
|
1546
1546
|
// src/providers/ollama/definition.ts
|
|
@@ -1569,7 +1569,7 @@ var ollamaProvider = defineProvider({
|
|
|
1569
1569
|
retrySafe: true
|
|
1570
1570
|
}
|
|
1571
1571
|
},
|
|
1572
|
-
load: async () => (await import("./adapter-
|
|
1572
|
+
load: async () => (await import("./adapter-57MELLYI.js")).adapter
|
|
1573
1573
|
});
|
|
1574
1574
|
|
|
1575
1575
|
// src/providers/openai/definition.ts
|
|
@@ -1677,7 +1677,7 @@ var openaiProvider = defineProvider({
|
|
|
1677
1677
|
retrySafe: false
|
|
1678
1678
|
}
|
|
1679
1679
|
},
|
|
1680
|
-
load: async () => (await import("./adapter-
|
|
1680
|
+
load: async () => (await import("./adapter-BZO5UEI6.js")).adapter
|
|
1681
1681
|
});
|
|
1682
1682
|
|
|
1683
1683
|
// src/providers/parallel/definition.ts
|
|
@@ -1836,7 +1836,7 @@ var parallelProvider = defineProvider({
|
|
|
1836
1836
|
retrySafe: true
|
|
1837
1837
|
}
|
|
1838
1838
|
},
|
|
1839
|
-
load: async () => (await import("./adapter-
|
|
1839
|
+
load: async () => (await import("./adapter-DJCTEEOA.js")).adapter
|
|
1840
1840
|
});
|
|
1841
1841
|
|
|
1842
1842
|
// src/providers/perplexity/definition.ts
|
|
@@ -1957,7 +1957,7 @@ var perplexityProvider = defineProvider({
|
|
|
1957
1957
|
answer: { options: chatOptions, retrySafe: false },
|
|
1958
1958
|
research: { options: chatOptions, retrySafe: false }
|
|
1959
1959
|
},
|
|
1960
|
-
load: async () => (await import("./adapter-
|
|
1960
|
+
load: async () => (await import("./adapter-D4EXZEDL.js")).adapter
|
|
1961
1961
|
});
|
|
1962
1962
|
|
|
1963
1963
|
// src/providers/serpbase/definition.ts
|
|
@@ -2058,7 +2058,7 @@ var serpbaseProvider = defineProvider({
|
|
|
2058
2058
|
retrySafe: true
|
|
2059
2059
|
}
|
|
2060
2060
|
},
|
|
2061
|
-
load: async () => (await import("./adapter-
|
|
2061
|
+
load: async () => (await import("./adapter-XU2APKPC.js")).adapter
|
|
2062
2062
|
});
|
|
2063
2063
|
|
|
2064
2064
|
// src/providers/serper/definition.ts
|
|
@@ -2198,7 +2198,120 @@ var serperProvider = defineProvider({
|
|
|
2198
2198
|
retrySafe: true
|
|
2199
2199
|
}
|
|
2200
2200
|
},
|
|
2201
|
-
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
|
|
2202
2315
|
});
|
|
2203
2316
|
|
|
2204
2317
|
// src/providers/tavily/definition.ts
|
|
@@ -2393,7 +2506,7 @@ var tavilyProvider = defineProvider({
|
|
|
2393
2506
|
retrySafe: true
|
|
2394
2507
|
}
|
|
2395
2508
|
},
|
|
2396
|
-
load: async () => (await import("./adapter-
|
|
2509
|
+
load: async () => (await import("./adapter-44ZBIK47.js")).adapter
|
|
2397
2510
|
});
|
|
2398
2511
|
|
|
2399
2512
|
// src/providers/valyu/definition.ts
|
|
@@ -2861,7 +2974,7 @@ var valyuProvider = defineProvider({
|
|
|
2861
2974
|
retrySafe: false
|
|
2862
2975
|
}
|
|
2863
2976
|
},
|
|
2864
|
-
load: async () => (await import("./adapter-
|
|
2977
|
+
load: async () => (await import("./adapter-DLNMW34W.js")).adapter
|
|
2865
2978
|
});
|
|
2866
2979
|
|
|
2867
2980
|
// src/providers/youcom/definition.ts
|
|
@@ -3052,7 +3165,7 @@ var youcomProvider = defineProvider({
|
|
|
3052
3165
|
retrySafe: true
|
|
3053
3166
|
}
|
|
3054
3167
|
},
|
|
3055
|
-
load: async () => (await import("./adapter-
|
|
3168
|
+
load: async () => (await import("./adapter-GJOUFE2U.js")).adapter
|
|
3056
3169
|
});
|
|
3057
3170
|
|
|
3058
3171
|
// src/providers/registry.ts
|
|
@@ -3071,6 +3184,7 @@ var providers = {
|
|
|
3071
3184
|
perplexity: perplexityProvider,
|
|
3072
3185
|
serpbase: serpbaseProvider,
|
|
3073
3186
|
serper: serperProvider,
|
|
3187
|
+
sofya: sofyaProvider,
|
|
3074
3188
|
tavily: tavilyProvider,
|
|
3075
3189
|
valyu: valyuProvider,
|
|
3076
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";
|
package/dist/config.schema.json
CHANGED
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"perplexity",
|
|
32
32
|
"serpbase",
|
|
33
33
|
"serper",
|
|
34
|
+
"sofya",
|
|
34
35
|
"tavily",
|
|
35
36
|
"valyu",
|
|
36
37
|
"youcom"
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"linkup",
|
|
56
57
|
"ollama",
|
|
57
58
|
"parallel",
|
|
59
|
+
"sofya",
|
|
58
60
|
"tavily",
|
|
59
61
|
"valyu"
|
|
60
62
|
]
|
|
@@ -74,6 +76,7 @@
|
|
|
74
76
|
"gemini",
|
|
75
77
|
"openai",
|
|
76
78
|
"perplexity",
|
|
79
|
+
"sofya",
|
|
77
80
|
"valyu"
|
|
78
81
|
]
|
|
79
82
|
}
|
|
@@ -92,6 +95,7 @@
|
|
|
92
95
|
"linkup",
|
|
93
96
|
"openai",
|
|
94
97
|
"perplexity",
|
|
98
|
+
"sofya",
|
|
95
99
|
"valyu"
|
|
96
100
|
]
|
|
97
101
|
}
|
|
@@ -3786,6 +3790,189 @@
|
|
|
3786
3790
|
}
|
|
3787
3791
|
}
|
|
3788
3792
|
},
|
|
3793
|
+
"sofya": {
|
|
3794
|
+
"type": "object",
|
|
3795
|
+
"additionalProperties": false,
|
|
3796
|
+
"properties": {
|
|
3797
|
+
"credentials": {
|
|
3798
|
+
"type": "object",
|
|
3799
|
+
"additionalProperties": false,
|
|
3800
|
+
"properties": {
|
|
3801
|
+
"api": {
|
|
3802
|
+
"oneOf": [
|
|
3803
|
+
{
|
|
3804
|
+
"type": "object",
|
|
3805
|
+
"additionalProperties": false,
|
|
3806
|
+
"properties": {
|
|
3807
|
+
"env": {
|
|
3808
|
+
"type": "string",
|
|
3809
|
+
"minLength": 1
|
|
3810
|
+
}
|
|
3811
|
+
},
|
|
3812
|
+
"required": ["env"]
|
|
3813
|
+
},
|
|
3814
|
+
{
|
|
3815
|
+
"type": "object",
|
|
3816
|
+
"additionalProperties": false,
|
|
3817
|
+
"properties": {
|
|
3818
|
+
"value": {
|
|
3819
|
+
"type": "string",
|
|
3820
|
+
"minLength": 1
|
|
3821
|
+
}
|
|
3822
|
+
},
|
|
3823
|
+
"required": ["value"]
|
|
3824
|
+
},
|
|
3825
|
+
{
|
|
3826
|
+
"type": "object",
|
|
3827
|
+
"additionalProperties": false,
|
|
3828
|
+
"properties": {
|
|
3829
|
+
"command": {
|
|
3830
|
+
"type": "array",
|
|
3831
|
+
"minItems": 1,
|
|
3832
|
+
"items": {
|
|
3833
|
+
"type": "string",
|
|
3834
|
+
"minLength": 1
|
|
3835
|
+
}
|
|
3836
|
+
}
|
|
3837
|
+
},
|
|
3838
|
+
"required": ["command"]
|
|
3839
|
+
}
|
|
3840
|
+
]
|
|
3841
|
+
}
|
|
3842
|
+
}
|
|
3843
|
+
},
|
|
3844
|
+
"baseUrl": {
|
|
3845
|
+
"type": "string",
|
|
3846
|
+
"minLength": 1
|
|
3847
|
+
},
|
|
3848
|
+
"options": {
|
|
3849
|
+
"type": "object",
|
|
3850
|
+
"additionalProperties": false,
|
|
3851
|
+
"properties": {
|
|
3852
|
+
"search": {
|
|
3853
|
+
"type": "object",
|
|
3854
|
+
"properties": {
|
|
3855
|
+
"search_depth": {
|
|
3856
|
+
"type": "string",
|
|
3857
|
+
"enum": ["snippets", "basic"],
|
|
3858
|
+
"description": "'snippets' (1 credit) returns search snippets; 'basic' (2 credits) also reads each page and returns its text in metadata.content."
|
|
3859
|
+
},
|
|
3860
|
+
"topic": {
|
|
3861
|
+
"type": "string",
|
|
3862
|
+
"enum": ["general", "news"],
|
|
3863
|
+
"description": "'news' for news articles, 'general' (default) for web search."
|
|
3864
|
+
},
|
|
3865
|
+
"freshness": {
|
|
3866
|
+
"type": "string",
|
|
3867
|
+
"pattern": "^(day|week|month|year|\\d{4}-\\d{2}-\\d{2}:\\d{4}-\\d{2}-\\d{2})$",
|
|
3868
|
+
"description": "Recency filter: day, week, month, year, or a YYYY-MM-DD:YYYY-MM-DD range."
|
|
3869
|
+
},
|
|
3870
|
+
"include_domains": {
|
|
3871
|
+
"type": "array",
|
|
3872
|
+
"items": {
|
|
3873
|
+
"type": "string",
|
|
3874
|
+
"minLength": 1
|
|
3875
|
+
},
|
|
3876
|
+
"maxItems": 10,
|
|
3877
|
+
"description": "Only return results from these domains, e.g. 'github.com'."
|
|
3878
|
+
},
|
|
3879
|
+
"exclude_domains": {
|
|
3880
|
+
"type": "array",
|
|
3881
|
+
"items": {
|
|
3882
|
+
"type": "string",
|
|
3883
|
+
"minLength": 1
|
|
3884
|
+
},
|
|
3885
|
+
"maxItems": 10,
|
|
3886
|
+
"description": "Exclude results from these domains."
|
|
3887
|
+
}
|
|
3888
|
+
},
|
|
3889
|
+
"description": "Sofya search options.",
|
|
3890
|
+
"additionalProperties": false
|
|
3891
|
+
},
|
|
3892
|
+
"contents": {
|
|
3893
|
+
"type": "object",
|
|
3894
|
+
"properties": {
|
|
3895
|
+
"include_raw_html": {
|
|
3896
|
+
"type": "boolean",
|
|
3897
|
+
"description": "Include the raw HTML source in metadata.raw_html."
|
|
3898
|
+
}
|
|
3899
|
+
},
|
|
3900
|
+
"description": "Sofya contents options.",
|
|
3901
|
+
"additionalProperties": false
|
|
3902
|
+
},
|
|
3903
|
+
"answer": {
|
|
3904
|
+
"type": "object",
|
|
3905
|
+
"properties": {
|
|
3906
|
+
"search_depth": {
|
|
3907
|
+
"type": "string",
|
|
3908
|
+
"enum": ["snippets", "basic"],
|
|
3909
|
+
"description": "'snippets' (1 credit) returns search snippets; 'basic' (2 credits) also reads each page and returns its text in metadata.content."
|
|
3910
|
+
},
|
|
3911
|
+
"max_results": {
|
|
3912
|
+
"type": "integer",
|
|
3913
|
+
"minimum": 1,
|
|
3914
|
+
"maximum": 20,
|
|
3915
|
+
"description": "Search results the answer is grounded in."
|
|
3916
|
+
},
|
|
3917
|
+
"topic": {
|
|
3918
|
+
"type": "string",
|
|
3919
|
+
"enum": ["general", "news"],
|
|
3920
|
+
"description": "'news' for news articles, 'general' (default) for web search."
|
|
3921
|
+
},
|
|
3922
|
+
"freshness": {
|
|
3923
|
+
"type": "string",
|
|
3924
|
+
"pattern": "^(day|week|month|year|\\d{4}-\\d{2}-\\d{2}:\\d{4}-\\d{2}-\\d{2})$",
|
|
3925
|
+
"description": "Recency filter: day, week, month, year, or a YYYY-MM-DD:YYYY-MM-DD range."
|
|
3926
|
+
},
|
|
3927
|
+
"include_domains": {
|
|
3928
|
+
"type": "array",
|
|
3929
|
+
"items": {
|
|
3930
|
+
"type": "string",
|
|
3931
|
+
"minLength": 1
|
|
3932
|
+
},
|
|
3933
|
+
"maxItems": 10,
|
|
3934
|
+
"description": "Only return results from these domains, e.g. 'github.com'."
|
|
3935
|
+
},
|
|
3936
|
+
"exclude_domains": {
|
|
3937
|
+
"type": "array",
|
|
3938
|
+
"items": {
|
|
3939
|
+
"type": "string",
|
|
3940
|
+
"minLength": 1
|
|
3941
|
+
},
|
|
3942
|
+
"maxItems": 10,
|
|
3943
|
+
"description": "Exclude results from these domains."
|
|
3944
|
+
}
|
|
3945
|
+
},
|
|
3946
|
+
"description": "Sofya answer options.",
|
|
3947
|
+
"additionalProperties": false
|
|
3948
|
+
},
|
|
3949
|
+
"research": {
|
|
3950
|
+
"type": "object",
|
|
3951
|
+
"properties": {
|
|
3952
|
+
"topic": {
|
|
3953
|
+
"type": "string",
|
|
3954
|
+
"enum": ["general", "news"],
|
|
3955
|
+
"description": "'news' for news articles, 'general' (default) for web search."
|
|
3956
|
+
},
|
|
3957
|
+
"freshness": {
|
|
3958
|
+
"type": "string",
|
|
3959
|
+
"pattern": "^(day|week|month|year|\\d{4}-\\d{2}-\\d{2}:\\d{4}-\\d{2}-\\d{2})$",
|
|
3960
|
+
"description": "Recency filter: day, week, month, year, or a YYYY-MM-DD:YYYY-MM-DD range."
|
|
3961
|
+
},
|
|
3962
|
+
"max_sources": {
|
|
3963
|
+
"type": "integer",
|
|
3964
|
+
"minimum": 5,
|
|
3965
|
+
"maximum": 30,
|
|
3966
|
+
"description": "Maximum sources to read (default 20)."
|
|
3967
|
+
}
|
|
3968
|
+
},
|
|
3969
|
+
"description": "Sofya research options.",
|
|
3970
|
+
"additionalProperties": false
|
|
3971
|
+
}
|
|
3972
|
+
}
|
|
3973
|
+
}
|
|
3974
|
+
}
|
|
3975
|
+
},
|
|
3789
3976
|
"tavily": {
|
|
3790
3977
|
"type": "object",
|
|
3791
3978
|
"additionalProperties": false,
|
package/dist/contents.d.ts
CHANGED
|
@@ -15,5 +15,10 @@ export interface IndexedContentsResponse {
|
|
|
15
15
|
error?: SerializedError;
|
|
16
16
|
}>;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* A batch response that leaves out a requested URL has no result for it. This
|
|
20
|
+
* is a failure, unlike a page that the provider returned without content.
|
|
21
|
+
*/
|
|
22
|
+
export declare function omittedContents(url: string): ContentsAnswer;
|
|
18
23
|
/** Only adapters that themselves assemble pages in request order use this helper. */
|
|
19
24
|
export declare function orderedContents(response: ContentsResponse): IndexedContentsResponse;
|