@dbx-tools/appkit-web-search 0.3.44 → 0.4.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/lib/index.d.ts +32 -0
- package/lib/index.js +28 -0
- package/lib/src/allowlist.d.ts +66 -0
- package/lib/src/allowlist.js +113 -0
- package/lib/src/config.d.ts +233 -0
- package/lib/src/config.js +269 -0
- package/lib/src/defaults.d.ts +98 -0
- package/lib/src/defaults.js +96 -0
- package/lib/src/fetch.d.ts +27 -0
- package/lib/src/fetch.js +86 -0
- package/lib/src/html-text.d.ts +30 -0
- package/lib/src/html-text.js +66 -0
- package/lib/src/plugin.d.ts +162 -0
- package/lib/src/plugin.js +225 -0
- package/lib/src/provider.d.ts +62 -0
- package/lib/src/provider.js +89 -0
- package/lib/src/runtime.d.ts +61 -0
- package/lib/src/runtime.js +95 -0
- package/lib/src/schema.d.ts +76 -0
- package/lib/src/schema.js +102 -0
- package/lib/src/scrape.d.ts +29 -0
- package/lib/src/scrape.js +113 -0
- package/lib/src/search.d.ts +49 -0
- package/lib/src/search.js +252 -0
- package/lib/src/tool.d.ts +85 -0
- package/lib/src/tool.js +113 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/package.json +13 -9
package/lib/src/tool.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `web_search` and `web_fetch` Mastra tools.
|
|
3
|
+
*
|
|
4
|
+
* `web_search` is backed by the Databricks Model Serving native web-search
|
|
5
|
+
* tool: it resolves its own web-search-capable model (see `search.ts`) and
|
|
6
|
+
* calls the workspace serving endpoint under the caller's OBO scope, so the
|
|
7
|
+
* search runs as the requesting user and independently of the agent's chat
|
|
8
|
+
* model. `web_fetch` reads a page via got-scraping.
|
|
9
|
+
*
|
|
10
|
+
* Both are read-only and run without approval by default; each accepts an
|
|
11
|
+
* optional {@link ApprovalGate} (`approval`) that maps onto Mastra's
|
|
12
|
+
* `requireApproval`. `true` gates every call; a URL-pattern (or {@link OneOrMany}
|
|
13
|
+
* list) gates only calls whose URL matches - for `web_fetch` that is evaluated
|
|
14
|
+
* against the target URL, while `web_search` (whose result URLs aren't known
|
|
15
|
+
* before the call) treats a pattern gate as "always gate". `approval` falls
|
|
16
|
+
* back to the plugin's `approval` config when a tool omits its own.
|
|
17
|
+
*
|
|
18
|
+
* The same two tools are exposed to AppKit's own agents through the plugin's
|
|
19
|
+
* `ToolProvider` (see `plugin.ts`); this module is the Mastra half.
|
|
20
|
+
*
|
|
21
|
+
* @module
|
|
22
|
+
*/
|
|
23
|
+
import { ValidationError } from "@databricks/appkit";
|
|
24
|
+
import { createTool } from "@mastra/core/tools";
|
|
25
|
+
import { approvalMatches, toApprovalPolicy, } from "./config.js";
|
|
26
|
+
import { runWebFetch } from "./fetch.js";
|
|
27
|
+
import { getWebSearchRuntime } from "./runtime.js";
|
|
28
|
+
import { webFetchRequestSchema, webFetchResultSchema, webSearchRequestSchema, webSearchResultSchema, WEB_FETCH_TOOL_DESCRIPTION, WEB_SEARCH_TOOL_DESCRIPTION, } from "./schema.js";
|
|
29
|
+
import { resolveWebSearchContext, runWebSearch } from "./search.js";
|
|
30
|
+
/**
|
|
31
|
+
* Validate a tool call's arguments at the runtime boundary. Mastra checks the
|
|
32
|
+
* input schema before dispatch, but the argument still arrives typed as
|
|
33
|
+
* `unknown` and the model is the one filling it in. The rejected value is not
|
|
34
|
+
* echoed back.
|
|
35
|
+
*/
|
|
36
|
+
function parseToolInput(schema, input) {
|
|
37
|
+
const parsed = schema.safeParse(input);
|
|
38
|
+
if (!parsed.success) {
|
|
39
|
+
throw ValidationError.invalidValue("input", input, "arguments matching the tool's schema");
|
|
40
|
+
}
|
|
41
|
+
return parsed.data;
|
|
42
|
+
}
|
|
43
|
+
/** Resolve the effective gate: explicit tool option, else the plugin default. */
|
|
44
|
+
function effectiveGate(opts) {
|
|
45
|
+
return opts.approval === undefined
|
|
46
|
+
? getWebSearchRuntime().config.approval
|
|
47
|
+
: toApprovalPolicy(opts.approval);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Build the `web_search` tool. Spread it into the agents that should be able
|
|
51
|
+
* to search the web.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* import { webSearchTool } from "@dbx-tools/appkit-web-search";
|
|
56
|
+
* import { createAgent } from "@dbx-tools/appkit-mastra";
|
|
57
|
+
*
|
|
58
|
+
* const researcher = createAgent({
|
|
59
|
+
* instructions: "...",
|
|
60
|
+
* tools: () => ({ web_search: webSearchTool() }),
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export function webSearchTool(opts = {}) {
|
|
65
|
+
const gate = effectiveGate(opts);
|
|
66
|
+
return createTool({
|
|
67
|
+
id: opts.id ?? "web_search",
|
|
68
|
+
description: WEB_SEARCH_TOOL_DESCRIPTION,
|
|
69
|
+
inputSchema: webSearchRequestSchema,
|
|
70
|
+
outputSchema: webSearchResultSchema,
|
|
71
|
+
// A search's result URLs aren't known before the call, so a pattern gate
|
|
72
|
+
// is treated as "always gate".
|
|
73
|
+
...(gate.mode === "none" ? {} : { requireApproval: () => true }),
|
|
74
|
+
execute: async (input) => {
|
|
75
|
+
const { config } = getWebSearchRuntime();
|
|
76
|
+
const request = parseToolInput(webSearchRequestSchema, input);
|
|
77
|
+
return runWebSearch(request, config, await resolveWebSearchContext());
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build the `web_fetch` tool. Spread it into the agents that should be able
|
|
83
|
+
* to read a page's contents.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* import { webFetchTool } from "@dbx-tools/appkit-web-search";
|
|
88
|
+
*
|
|
89
|
+
* tools: () => ({ web_fetch: webFetchTool({ approval: "*.internal.example.com" }) })
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export function webFetchTool(opts = {}) {
|
|
93
|
+
const gate = effectiveGate(opts);
|
|
94
|
+
return createTool({
|
|
95
|
+
id: opts.id ?? "web_fetch",
|
|
96
|
+
description: WEB_FETCH_TOOL_DESCRIPTION,
|
|
97
|
+
inputSchema: webFetchRequestSchema,
|
|
98
|
+
outputSchema: webFetchResultSchema,
|
|
99
|
+
// A fetch knows its single target URL, so a pattern gate is evaluated
|
|
100
|
+
// precisely against it.
|
|
101
|
+
...(gate.mode === "none"
|
|
102
|
+
? {}
|
|
103
|
+
: {
|
|
104
|
+
requireApproval: (input) => gate.mode === "always" ||
|
|
105
|
+
approvalMatches(gate, [parseToolInput(webFetchRequestSchema, input).url]),
|
|
106
|
+
}),
|
|
107
|
+
execute: async (input) => {
|
|
108
|
+
const { config } = getWebSearchRuntime();
|
|
109
|
+
return runWebFetch(parseToolInput(webFetchRequestSchema, input), config);
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFFSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFDTCxlQUFlLEVBQ2YsZ0JBQWdCLEdBR2pCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLDJCQUEyQixHQUM1QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWpFOzs7OztHQUtHO0FBQ0gsU0FBUyxjQUFjLENBQXNCLE1BQVMsRUFBRSxLQUFjO0lBQ3BFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixNQUFNLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQztBQWNELGlGQUFpRjtBQUNqRixTQUFTLGFBQWEsQ0FBQyxJQUEwQjtJQUMvQyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztRQUNoQyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUTtRQUN2QyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBNkIsRUFBRTtJQUMzRCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsT0FBTyxVQUFVLENBQUM7UUFDaEIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksWUFBWTtRQUMzQixXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLFdBQVcsRUFBRSxzQkFBc0I7UUFDbkMsWUFBWSxFQUFFLHFCQUFxQjtRQUNuQyx5RUFBeUU7UUFDekUsK0JBQStCO1FBQy9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5RCxPQUFPLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBNkIsRUFBRTtJQUMxRCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsT0FBTyxVQUFVLENBQUM7UUFDaEIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksV0FBVztRQUMxQixXQUFXLEVBQUUsMEJBQTBCO1FBQ3ZDLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxzRUFBc0U7UUFDdEUsd0JBQXdCO1FBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07WUFDdEIsQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLENBQUM7Z0JBQ0UsZUFBZSxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FDbEMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRO29CQUN0QixlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzVFLENBQUM7UUFDTixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRSxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGB3ZWJfc2VhcmNoYCBhbmQgYHdlYl9mZXRjaGAgTWFzdHJhIHRvb2xzLlxuICpcbiAqIGB3ZWJfc2VhcmNoYCBpcyBiYWNrZWQgYnkgdGhlIERhdGFicmlja3MgTW9kZWwgU2VydmluZyBuYXRpdmUgd2ViLXNlYXJjaFxuICogdG9vbDogaXQgcmVzb2x2ZXMgaXRzIG93biB3ZWItc2VhcmNoLWNhcGFibGUgbW9kZWwgKHNlZSBgc2VhcmNoLnRzYCkgYW5kXG4gKiBjYWxscyB0aGUgd29ya3NwYWNlIHNlcnZpbmcgZW5kcG9pbnQgdW5kZXIgdGhlIGNhbGxlcidzIE9CTyBzY29wZSwgc28gdGhlXG4gKiBzZWFyY2ggcnVucyBhcyB0aGUgcmVxdWVzdGluZyB1c2VyIGFuZCBpbmRlcGVuZGVudGx5IG9mIHRoZSBhZ2VudCdzIGNoYXRcbiAqIG1vZGVsLiBgd2ViX2ZldGNoYCByZWFkcyBhIHBhZ2UgdmlhIGdvdC1zY3JhcGluZy5cbiAqXG4gKiBCb3RoIGFyZSByZWFkLW9ubHkgYW5kIHJ1biB3aXRob3V0IGFwcHJvdmFsIGJ5IGRlZmF1bHQ7IGVhY2ggYWNjZXB0cyBhblxuICogb3B0aW9uYWwge0BsaW5rIEFwcHJvdmFsR2F0ZX0gKGBhcHByb3ZhbGApIHRoYXQgbWFwcyBvbnRvIE1hc3RyYSdzXG4gKiBgcmVxdWlyZUFwcHJvdmFsYC4gYHRydWVgIGdhdGVzIGV2ZXJ5IGNhbGw7IGEgVVJMLXBhdHRlcm4gKG9yIHtAbGluayBPbmVPck1hbnl9XG4gKiBsaXN0KSBnYXRlcyBvbmx5IGNhbGxzIHdob3NlIFVSTCBtYXRjaGVzIC0gZm9yIGB3ZWJfZmV0Y2hgIHRoYXQgaXMgZXZhbHVhdGVkXG4gKiBhZ2FpbnN0IHRoZSB0YXJnZXQgVVJMLCB3aGlsZSBgd2ViX3NlYXJjaGAgKHdob3NlIHJlc3VsdCBVUkxzIGFyZW4ndCBrbm93blxuICogYmVmb3JlIHRoZSBjYWxsKSB0cmVhdHMgYSBwYXR0ZXJuIGdhdGUgYXMgXCJhbHdheXMgZ2F0ZVwiLiBgYXBwcm92YWxgIGZhbGxzXG4gKiBiYWNrIHRvIHRoZSBwbHVnaW4ncyBgYXBwcm92YWxgIGNvbmZpZyB3aGVuIGEgdG9vbCBvbWl0cyBpdHMgb3duLlxuICpcbiAqIFRoZSBzYW1lIHR3byB0b29scyBhcmUgZXhwb3NlZCB0byBBcHBLaXQncyBvd24gYWdlbnRzIHRocm91Z2ggdGhlIHBsdWdpbidzXG4gKiBgVG9vbFByb3ZpZGVyYCAoc2VlIGBwbHVnaW4udHNgKTsgdGhpcyBtb2R1bGUgaXMgdGhlIE1hc3RyYSBoYWxmLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQgeyBjcmVhdGVUb29sIH0gZnJvbSBcIkBtYXN0cmEvY29yZS90b29sc1wiO1xuaW1wb3J0IHR5cGUgeyB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHtcbiAgYXBwcm92YWxNYXRjaGVzLFxuICB0b0FwcHJvdmFsUG9saWN5LFxuICB0eXBlIEFwcHJvdmFsR2F0ZSxcbiAgdHlwZSBBcHByb3ZhbFBvbGljeSxcbn0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgeyBydW5XZWJGZXRjaCB9IGZyb20gXCIuL2ZldGNoXCI7XG5pbXBvcnQgeyBnZXRXZWJTZWFyY2hSdW50aW1lIH0gZnJvbSBcIi4vcnVudGltZVwiO1xuaW1wb3J0IHtcbiAgd2ViRmV0Y2hSZXF1ZXN0U2NoZW1hLFxuICB3ZWJGZXRjaFJlc3VsdFNjaGVtYSxcbiAgd2ViU2VhcmNoUmVxdWVzdFNjaGVtYSxcbiAgd2ViU2VhcmNoUmVzdWx0U2NoZW1hLFxuICBXRUJfRkVUQ0hfVE9PTF9ERVNDUklQVElPTixcbiAgV0VCX1NFQVJDSF9UT09MX0RFU0NSSVBUSU9OLFxufSBmcm9tIFwiLi9zY2hlbWFcIjtcbmltcG9ydCB7IHJlc29sdmVXZWJTZWFyY2hDb250ZXh0LCBydW5XZWJTZWFyY2ggfSBmcm9tIFwiLi9zZWFyY2hcIjtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhIHRvb2wgY2FsbCdzIGFyZ3VtZW50cyBhdCB0aGUgcnVudGltZSBib3VuZGFyeS4gTWFzdHJhIGNoZWNrcyB0aGVcbiAqIGlucHV0IHNjaGVtYSBiZWZvcmUgZGlzcGF0Y2gsIGJ1dCB0aGUgYXJndW1lbnQgc3RpbGwgYXJyaXZlcyB0eXBlZCBhc1xuICogYHVua25vd25gIGFuZCB0aGUgbW9kZWwgaXMgdGhlIG9uZSBmaWxsaW5nIGl0IGluLiBUaGUgcmVqZWN0ZWQgdmFsdWUgaXMgbm90XG4gKiBlY2hvZWQgYmFjay5cbiAqL1xuZnVuY3Rpb24gcGFyc2VUb29sSW5wdXQ8UyBleHRlbmRzIHouWm9kVHlwZT4oc2NoZW1hOiBTLCBpbnB1dDogdW5rbm93bik6IHouaW5mZXI8Uz4ge1xuICBjb25zdCBwYXJzZWQgPSBzY2hlbWEuc2FmZVBhcnNlKGlucHV0KTtcbiAgaWYgKCFwYXJzZWQuc3VjY2Vzcykge1xuICAgIHRocm93IFZhbGlkYXRpb25FcnJvci5pbnZhbGlkVmFsdWUoXCJpbnB1dFwiLCBpbnB1dCwgXCJhcmd1bWVudHMgbWF0Y2hpbmcgdGhlIHRvb2wncyBzY2hlbWFcIik7XG4gIH1cbiAgcmV0dXJuIHBhcnNlZC5kYXRhO1xufVxuXG4vKiogT3B0aW9ucyBzaGFyZWQgYnkgYm90aCB3ZWIgdG9vbHMuICovXG5leHBvcnQgaW50ZXJmYWNlIFdlYlNlYXJjaFRvb2xPcHRpb25zIHtcbiAgLyoqIE92ZXJyaWRlIHRoZSB0b29sIGlkLiAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFwcHJvdmFsIGdhdGUgZm9yIHRoaXMgdG9vbCwgb3ZlcnJpZGluZyB0aGUgcGx1Z2luJ3MgYGFwcHJvdmFsYC4gYHRydWVgXG4gICAqIGdhdGVzIGV2ZXJ5IGNhbGw7IGEgVVJMLXBhdHRlcm4gKG9yIGxpc3QpIGdhdGVzIG9ubHkgbWF0Y2hpbmcgY2FsbHM7XG4gICAqIG9taXQgLyBgZmFsc2VgIGZvciBubyBhcHByb3ZhbC4gU2VlIHtAbGluayBBcHByb3ZhbEdhdGV9LlxuICAgKi9cbiAgYXBwcm92YWw/OiBBcHByb3ZhbEdhdGUgfCBBcHByb3ZhbFBvbGljeTtcbn1cblxuLyoqIFJlc29sdmUgdGhlIGVmZmVjdGl2ZSBnYXRlOiBleHBsaWNpdCB0b29sIG9wdGlvbiwgZWxzZSB0aGUgcGx1Z2luIGRlZmF1bHQuICovXG5mdW5jdGlvbiBlZmZlY3RpdmVHYXRlKG9wdHM6IFdlYlNlYXJjaFRvb2xPcHRpb25zKTogQXBwcm92YWxQb2xpY3kge1xuICByZXR1cm4gb3B0cy5hcHByb3ZhbCA9PT0gdW5kZWZpbmVkXG4gICAgPyBnZXRXZWJTZWFyY2hSdW50aW1lKCkuY29uZmlnLmFwcHJvdmFsXG4gICAgOiB0b0FwcHJvdmFsUG9saWN5KG9wdHMuYXBwcm92YWwpO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBgd2ViX3NlYXJjaGAgdG9vbC4gU3ByZWFkIGl0IGludG8gdGhlIGFnZW50cyB0aGF0IHNob3VsZCBiZSBhYmxlXG4gKiB0byBzZWFyY2ggdGhlIHdlYi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IHdlYlNlYXJjaFRvb2wgfSBmcm9tIFwiQGRieC10b29scy9hcHBraXQtd2ViLXNlYXJjaFwiO1xuICogaW1wb3J0IHsgY3JlYXRlQWdlbnQgfSBmcm9tIFwiQGRieC10b29scy9hcHBraXQtbWFzdHJhXCI7XG4gKlxuICogY29uc3QgcmVzZWFyY2hlciA9IGNyZWF0ZUFnZW50KHtcbiAqICAgaW5zdHJ1Y3Rpb25zOiBcIi4uLlwiLFxuICogICB0b29sczogKCkgPT4gKHsgd2ViX3NlYXJjaDogd2ViU2VhcmNoVG9vbCgpIH0pLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdlYlNlYXJjaFRvb2wob3B0czogV2ViU2VhcmNoVG9vbE9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBnYXRlID0gZWZmZWN0aXZlR2F0ZShvcHRzKTtcbiAgcmV0dXJuIGNyZWF0ZVRvb2woe1xuICAgIGlkOiBvcHRzLmlkID8/IFwid2ViX3NlYXJjaFwiLFxuICAgIGRlc2NyaXB0aW9uOiBXRUJfU0VBUkNIX1RPT0xfREVTQ1JJUFRJT04sXG4gICAgaW5wdXRTY2hlbWE6IHdlYlNlYXJjaFJlcXVlc3RTY2hlbWEsXG4gICAgb3V0cHV0U2NoZW1hOiB3ZWJTZWFyY2hSZXN1bHRTY2hlbWEsXG4gICAgLy8gQSBzZWFyY2gncyByZXN1bHQgVVJMcyBhcmVuJ3Qga25vd24gYmVmb3JlIHRoZSBjYWxsLCBzbyBhIHBhdHRlcm4gZ2F0ZVxuICAgIC8vIGlzIHRyZWF0ZWQgYXMgXCJhbHdheXMgZ2F0ZVwiLlxuICAgIC4uLihnYXRlLm1vZGUgPT09IFwibm9uZVwiID8ge30gOiB7IHJlcXVpcmVBcHByb3ZhbDogKCkgPT4gdHJ1ZSB9KSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQpID0+IHtcbiAgICAgIGNvbnN0IHsgY29uZmlnIH0gPSBnZXRXZWJTZWFyY2hSdW50aW1lKCk7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gcGFyc2VUb29sSW5wdXQod2ViU2VhcmNoUmVxdWVzdFNjaGVtYSwgaW5wdXQpO1xuICAgICAgcmV0dXJuIHJ1bldlYlNlYXJjaChyZXF1ZXN0LCBjb25maWcsIGF3YWl0IHJlc29sdmVXZWJTZWFyY2hDb250ZXh0KCkpO1xuICAgIH0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBgd2ViX2ZldGNoYCB0b29sLiBTcHJlYWQgaXQgaW50byB0aGUgYWdlbnRzIHRoYXQgc2hvdWxkIGJlIGFibGVcbiAqIHRvIHJlYWQgYSBwYWdlJ3MgY29udGVudHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyB3ZWJGZXRjaFRvb2wgfSBmcm9tIFwiQGRieC10b29scy9hcHBraXQtd2ViLXNlYXJjaFwiO1xuICpcbiAqIHRvb2xzOiAoKSA9PiAoeyB3ZWJfZmV0Y2g6IHdlYkZldGNoVG9vbCh7IGFwcHJvdmFsOiBcIiouaW50ZXJuYWwuZXhhbXBsZS5jb21cIiB9KSB9KVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3ZWJGZXRjaFRvb2wob3B0czogV2ViU2VhcmNoVG9vbE9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBnYXRlID0gZWZmZWN0aXZlR2F0ZShvcHRzKTtcbiAgcmV0dXJuIGNyZWF0ZVRvb2woe1xuICAgIGlkOiBvcHRzLmlkID8/IFwid2ViX2ZldGNoXCIsXG4gICAgZGVzY3JpcHRpb246IFdFQl9GRVRDSF9UT09MX0RFU0NSSVBUSU9OLFxuICAgIGlucHV0U2NoZW1hOiB3ZWJGZXRjaFJlcXVlc3RTY2hlbWEsXG4gICAgb3V0cHV0U2NoZW1hOiB3ZWJGZXRjaFJlc3VsdFNjaGVtYSxcbiAgICAvLyBBIGZldGNoIGtub3dzIGl0cyBzaW5nbGUgdGFyZ2V0IFVSTCwgc28gYSBwYXR0ZXJuIGdhdGUgaXMgZXZhbHVhdGVkXG4gICAgLy8gcHJlY2lzZWx5IGFnYWluc3QgaXQuXG4gICAgLi4uKGdhdGUubW9kZSA9PT0gXCJub25lXCJcbiAgICAgID8ge31cbiAgICAgIDoge1xuICAgICAgICAgIHJlcXVpcmVBcHByb3ZhbDogKGlucHV0OiB1bmtub3duKSA9PlxuICAgICAgICAgICAgZ2F0ZS5tb2RlID09PSBcImFsd2F5c1wiIHx8XG4gICAgICAgICAgICBhcHByb3ZhbE1hdGNoZXMoZ2F0ZSwgW3BhcnNlVG9vbElucHV0KHdlYkZldGNoUmVxdWVzdFNjaGVtYSwgaW5wdXQpLnVybF0pLFxuICAgICAgICB9KSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQpID0+IHtcbiAgICAgIGNvbnN0IHsgY29uZmlnIH0gPSBnZXRXZWJTZWFyY2hSdW50aW1lKCk7XG4gICAgICByZXR1cm4gcnVuV2ViRmV0Y2gocGFyc2VUb29sSW5wdXQod2ViRmV0Y2hSZXF1ZXN0U2NoZW1hLCBpbnB1dCksIGNvbmZpZyk7XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../src/allowlist.ts","../src/config.ts","../src/defaults.ts","../src/fetch.ts","../src/html-text.ts","../src/plugin.ts","../src/provider.ts","../src/runtime.ts","../src/schema.ts","../src/scrape.ts","../src/search.ts","../src/tool.ts","../index.ts"],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -17,26 +17,30 @@
|
|
|
17
17
|
"@mastra/core": "^1.47.0",
|
|
18
18
|
"got-scraping": "^4.2.1",
|
|
19
19
|
"zod": "4.3.6",
|
|
20
|
-
"@dbx-tools/model": "0.
|
|
21
|
-
"@dbx-tools/path": "0.
|
|
22
|
-
"@dbx-tools/shared-model": "0.
|
|
23
|
-
"@dbx-tools/shared-core": "0.
|
|
20
|
+
"@dbx-tools/model": "0.4.0",
|
|
21
|
+
"@dbx-tools/path": "0.4.0",
|
|
22
|
+
"@dbx-tools/shared-model": "0.4.0",
|
|
23
|
+
"@dbx-tools/shared-core": "0.4.0"
|
|
24
24
|
},
|
|
25
|
-
"main": "index.
|
|
25
|
+
"main": "./lib/index.js",
|
|
26
26
|
"license": "UNLICENSED",
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
29
|
},
|
|
30
|
-
"version": "0.
|
|
31
|
-
"types": "index.ts",
|
|
30
|
+
"version": "0.4.0",
|
|
31
|
+
"types": "./lib/index.d.ts",
|
|
32
32
|
"type": "module",
|
|
33
33
|
"exports": {
|
|
34
|
-
".":
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./lib/index.d.ts",
|
|
36
|
+
"default": "./lib/index.js"
|
|
37
|
+
},
|
|
35
38
|
"./package.json": "./package.json"
|
|
36
39
|
},
|
|
37
40
|
"files": [
|
|
38
41
|
"index.ts",
|
|
39
|
-
"src"
|
|
42
|
+
"src",
|
|
43
|
+
"lib"
|
|
40
44
|
],
|
|
41
45
|
"dbxToolsConfig": {
|
|
42
46
|
"tags": [
|