@dbx-tools/search 0.9.5 → 0.9.6
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 +5 -10
- package/index.ts +2 -2
- package/lib/index.d.ts +2 -2
- package/lib/index.js +3 -3
- package/lib/src/client.js +11 -11
- package/lib/src/config.js +15 -15
- package/lib/src/index-options.js +34 -0
- package/lib/src/lakebase-plugin.js +7 -7
- package/lib/src/lakebase.js +7 -7
- package/lib/src/native.js +5 -5
- package/lib/src/plugin.d.ts +16 -19
- package/lib/src/plugin.js +30 -38
- package/lib/src/runtime.d.ts +0 -12
- package/lib/src/runtime.js +1 -17
- package/lib/src/schema.js +14 -14
- package/lib/src/tool.js +6 -6
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/client.ts +10 -10
- package/src/config.ts +28 -17
- package/src/lakebase-plugin.ts +6 -6
- package/src/lakebase.ts +9 -6
- package/src/native.ts +4 -4
- package/src/plugin.ts +33 -51
- package/src/runtime.ts +0 -18
- package/src/schema.ts +13 -13
- package/src/tool.ts +5 -5
- package/lib/src/index-tools.js +0 -34
- /package/lib/src/{index-tools.d.ts → index-options.d.ts} +0 -0
- /package/src/{index-tools.ts → index-options.ts} +0 -0
package/lib/src/tool.js
CHANGED
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @module
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { searchSchemas } from "@dbx-tools/shared-search";
|
|
18
18
|
import { createTool } from "@mastra/core/tools";
|
|
19
19
|
import { z } from "zod";
|
|
20
20
|
import { toSearchOptions, toUniversalSearchOptions } from "./_search-options.js";
|
|
21
|
-
import { toCreateIndexOptions } from "./index-
|
|
21
|
+
import { toCreateIndexOptions } from "./index-options.js";
|
|
22
22
|
import { toDocumentArray } from "./query.js";
|
|
23
23
|
import { createSearchRuntime } from "./runtime.js";
|
|
24
24
|
import { ADD_DOCUMENTS_TOOL_DESCRIPTION, CREATE_INDEX_TOOL_DESCRIPTION, SEARCH_TOOL_DESCRIPTION, SYNC_INDEX_TOOL_DESCRIPTION, UNIVERSAL_SEARCH_TOOL_DESCRIPTION, createIndexToolSchema, indexInfoSchema, searchResultSchema, searchToolSchema, syncIndexToolSchema, universalSearchToolSchema, } from "./schema.js";
|
|
@@ -81,16 +81,16 @@ export function universalSearchTool(options = {}) {
|
|
|
81
81
|
*/
|
|
82
82
|
export function addDocumentsTool(options = {}) {
|
|
83
83
|
const runtime = toolRuntime(options);
|
|
84
|
-
const inputSchema =
|
|
84
|
+
const inputSchema = searchSchemas.searchDocumentSchema
|
|
85
85
|
.array()
|
|
86
86
|
.describe("Documents to add or update. Each must include the index primary key.");
|
|
87
87
|
return createTool({
|
|
88
88
|
id: options.id ?? "add_documents",
|
|
89
89
|
description: ADD_DOCUMENTS_TOOL_DESCRIPTION,
|
|
90
|
-
inputSchema:
|
|
90
|
+
inputSchema: searchSchemas.searchRequestSchema
|
|
91
91
|
.pick({ index: true })
|
|
92
92
|
.extend({ documents: inputSchema }),
|
|
93
|
-
outputSchema:
|
|
93
|
+
outputSchema: searchSchemas.upsertResultSchema,
|
|
94
94
|
execute: async (input, context) => {
|
|
95
95
|
const { client, config } = runtime;
|
|
96
96
|
const record = input;
|
|
@@ -144,4 +144,4 @@ export function syncIndexTool(options = {}) {
|
|
|
144
144
|
},
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxNQUFNLElBQUksWUFBWSxFQUFxQixNQUFNLDBCQUEwQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBc0IsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qiw2QkFBNkIsRUFDN0IsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQixpQ0FBaUMsRUFDakMscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQix5QkFBeUIsR0FDMUIsTUFBTSxhQUFhLENBQUM7QUFjckIsNEVBQTRFO0FBQzVFLFNBQVMsV0FBVyxDQUFDLE9BQTBCO0lBQzdDLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDL0QsTUFBTSxJQUFJLFNBQVMsQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDRCxPQUFPLENBQ0wsT0FBTyxDQUFDLE9BQU87UUFDZixtQkFBbUIsQ0FBQztZQUNsQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsV0FBVyxFQUFFLE9BQU8sQ0FB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O1FBQ2hDLFlBQVksRUFBRSxxQkFBcUI7UUFDbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDekQsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDakMsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBgc2VhcmNoYCwgYHVuaXZlcnNhbF9zZWFyY2hgLCBhbmQgKG9wdC1pbikgYGFkZF9kb2N1bWVudHNgLFxuICogYGNyZWF0ZV9pbmRleGAsIGFuZCBgc3luY19pbmRleGAgTWFzdHJhIHRvb2xzLlxuICpcbiAqIEFwcC1pbnRlZ3JhdGVkIGFnZW50cyBzaG91bGQgY29uc3VtZSB0aGUgcGx1Z2luJ3MgbmF0aXZlIHRvb2xraXQgc28gY2FsbHNcbiAqIHJldGFpbiB0aGF0IHBsdWdpbidzIGNvbmZpZyBhbmQgcHJvdmlkZXIgYmFja2VuZC4gVGhlc2Ugc3RhbmRhbG9uZSBmYWN0b3JpZXNcbiAqIGNhcHR1cmUgYW4gZXhwbGljaXQgcnVudGltZSBvciBidWlsZCBhbiBpc29sYXRlZCBvbmUgZnJvbSBjb25maWcgcGx1cyBhXG4gKiBwcm92aWRlci4gVGhleSBydW4gdW5kZXIgdGhlIGNhbGxlcidzIE9CTyBzY29wZSAodGhlIGNsaWVudCByZXNvbHZlcyB0aGVcbiAqIGV4ZWN1dGlvbiBjb250ZXh0J3Mgd29ya3NwYWNlIGNsaWVudCksIHNvIHNlYXJjaCBydW5zIGFzIHRoZSByZXF1ZXN0aW5nIHVzZXJcbiAqIGFuZCBVbml0eSBDYXRhbG9nIEFDTHMgYXBwbHkuXG4gKlxuICogVGhlIHNhbWUgdG9vbHMgYXJlIGV4cG9zZWQgdG8gQXBwS2l0J3Mgb3duIGFnZW50cyB0aHJvdWdoIHRoZSBwbHVnaW4nc1xuICogYFRvb2xQcm92aWRlcmAgKHNlZSBgcGx1Z2luLnRzYCkuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHNlYXJjaCBhcyBzaGFyZWRTZWFyY2gsIHR5cGUgVXBzZXJ0UmVzdWx0IH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLXNlYXJjaFwiO1xuaW1wb3J0IHsgY3JlYXRlVG9vbCB9IGZyb20gXCJAbWFzdHJhL2NvcmUvdG9vbHNcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyB0b1NlYXJjaE9wdGlvbnMsIHRvVW5pdmVyc2FsU2VhcmNoT3B0aW9ucyB9IGZyb20gXCIuL19zZWFyY2gtb3B0aW9ucy50c1wiO1xuaW1wb3J0IHR5cGUgeyBTZWFyY2hSZWFkQmFja2VuZCB9IGZyb20gXCIuL2NsaWVudC50c1wiO1xuaW1wb3J0IHR5cGUgeyBTZWFyY2hQbHVnaW5Db25maWcgfSBmcm9tIFwiLi9jb25maWcudHNcIjtcbmltcG9ydCB7IHRvQ3JlYXRlSW5kZXhPcHRpb25zIH0gZnJvbSBcIi4vaW5kZXgtdG9vbHMudHNcIjtcbmltcG9ydCB7IHRvRG9jdW1lbnRBcnJheSB9IGZyb20gXCIuL3F1ZXJ5LnRzXCI7XG5pbXBvcnQgeyBjcmVhdGVTZWFyY2hSdW50aW1lLCB0eXBlIFNlYXJjaFJ1bnRpbWUgfSBmcm9tIFwiLi9ydW50aW1lLnRzXCI7XG5pbXBvcnQge1xuICBBRERfRE9DVU1FTlRTX1RPT0xfREVTQ1JJUFRJT04sXG4gIENSRUFURV9JTkRFWF9UT09MX0RFU0NSSVBUSU9OLFxuICBTRUFSQ0hfVE9PTF9ERVNDUklQVElPTixcbiAgU1lOQ19JTkRFWF9UT09MX0RFU0NSSVBUSU9OLFxuICBVTklWRVJTQUxfU0VBUkNIX1RPT0xfREVTQ1JJUFRJT04sXG4gIGNyZWF0ZUluZGV4VG9vbFNjaGVtYSxcbiAgaW5kZXhJbmZvU2NoZW1hLFxuICBzZWFyY2hSZXN1bHRTY2hlbWEsXG4gIHNlYXJjaFRvb2xTY2hlbWEsXG4gIHN5bmNJbmRleFRvb2xTY2hlbWEsXG4gIHVuaXZlcnNhbFNlYXJjaFRvb2xTY2hlbWEsXG59IGZyb20gXCIuL3NjaGVtYS50c1wiO1xuXG4vKiogT3B0aW9ucyBhY2NlcHRlZCBieSBldmVyeSBzdGFuZGFsb25lIHRvb2wgZmFjdG9yeS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoVG9vbE9wdGlvbnMge1xuICAvKiogT3ZlcnJpZGUgdGhlIHRvb2wgaWQgKGRlZmF1bHRzIHBlciB0b29sKS4gKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBJc29sYXRlZCBydW50aW1lIHVzZWQgYnkgdGhpcyBzdGFuZGFsb25lIHRvb2wuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGNvbmZpZy9iYWNrZW5kLiAqL1xuICBydW50aW1lPzogU2VhcmNoUnVudGltZTtcbiAgLyoqIENvbmZpZyB1c2VkIHRvIGNyZWF0ZSBhbiBpc29sYXRlZCBydW50aW1lLiAqL1xuICBjb25maWc/OiBTZWFyY2hQbHVnaW5Db25maWc7XG4gIC8qKiBQcm92aWRlciB1c2VkIHdoZW4gY3JlYXRpbmcgYSBydW50aW1lIGZyb20gY29uZmlnLiAqL1xuICByZWFkQmFja2VuZD86IFNlYXJjaFJlYWRCYWNrZW5kO1xufVxuXG4vKiogUmVzb2x2ZSB0aGUgaXNvbGF0ZWQgcnVudGltZSBjYXB0dXJlZCBieSBvbmUgc3RhbmRhbG9uZSB0b29sIGZhY3RvcnkuICovXG5mdW5jdGlvbiB0b29sUnVudGltZShvcHRpb25zOiBTZWFyY2hUb29sT3B0aW9ucyk6IFNlYXJjaFJ1bnRpbWUge1xuICBpZiAob3B0aW9ucy5ydW50aW1lICYmIChvcHRpb25zLmNvbmZpZyB8fCBvcHRpb25zLnJlYWRCYWNrZW5kKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJzZWFyY2ggdG9vbCBvcHRpb25zIGFjY2VwdCBydW50aW1lIG9yIGNvbmZpZy9yZWFkQmFja2VuZCwgbm90IGJvdGhcIik7XG4gIH1cbiAgcmV0dXJuIChcbiAgICBvcHRpb25zLnJ1bnRpbWUgPz9cbiAgICBjcmVhdGVTZWFyY2hSdW50aW1lKHtcbiAgICAgIGNvbmZpZzogb3B0aW9ucy5jb25maWcsXG4gICAgICByZWFkQmFja2VuZDogb3B0aW9ucy5yZWFkQmFja2VuZCxcbiAgICB9KVxuICApO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBgc2VhcmNoYCB0b29sLiBTcHJlYWQgaXQgaW50byBhbnkgYWdlbnQgdGhhdCBzaG91bGQgYmUgYWJsZSB0byBsb29rXG4gKiB0aGluZ3MgdXAgaW4gYW4gaW5kZXguXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBzZWFyY2hUb29sIH0gZnJvbSBcIkBkYngtdG9vbHMvc2VhcmNoXCI7XG4gKiBpbXBvcnQgeyBjcmVhdGVBZ2VudCB9IGZyb20gXCJAZGJ4LXRvb2xzL2FwcGtpdC1tYXN0cmFcIjtcbiAqXG4gKiBjb25zdCBzdXBwb3J0ID0gY3JlYXRlQWdlbnQoe1xuICogICBpbnN0cnVjdGlvbnM6IFwiQW5zd2VyIGZyb20gdGhlIGRvY3MuIFVzZSBgc2VhcmNoYCB0byBmaW5kIHRoZW0uXCIsXG4gKiAgIHRvb2xzOiAoKSA9PiAoeyBzZWFyY2g6IHNlYXJjaFRvb2woKSB9KSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hUb29sKG9wdGlvbnM6IFNlYXJjaFRvb2xPcHRpb25zID0ge30pIHtcbiAgY29uc3QgcnVudGltZSA9IHRvb2xSdW50aW1lKG9wdGlvbnMpO1xuICByZXR1cm4gY3JlYXRlVG9vbCh7XG4gICAgaWQ6IG9wdGlvbnMuaWQgPz8gXCJzZWFyY2hcIixcbiAgICBkZXNjcmlwdGlvbjogU0VBUkNIX1RPT0xfREVTQ1JJUFRJT04sXG4gICAgaW5wdXRTY2hlbWE6IHNlYXJjaFRvb2xTY2hlbWEsXG4gICAgb3V0cHV0U2NoZW1hOiBzZWFyY2hSZXN1bHRTY2hlbWEsXG4gICAgZXhlY3V0ZTogYXN5bmMgKGlucHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gc2VhcmNoVG9vbFNjaGVtYS5wYXJzZShpbnB1dCk7XG4gICAgICByZXR1cm4gcnVudGltZS5jbGllbnQuc2VhcmNoKHJlcXVlc3QucXVlcnksIHRvU2VhcmNoT3B0aW9ucyhyZXF1ZXN0LCBjb250ZXh0Py5hYm9ydFNpZ25hbCkpO1xuICAgIH0sXG4gIH0pO1xufVxuXG4vKiogQnVpbGQgdGhlIGB1bml2ZXJzYWxfc2VhcmNoYCB0b29sIChmZWRlcmF0ZWQgc2VhcmNoIGFjcm9zcyBldmVyeSBpbmRleCkuICovXG5leHBvcnQgZnVuY3Rpb24gdW5pdmVyc2FsU2VhcmNoVG9vbChvcHRpb25zOiBTZWFyY2hUb29sT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHJ1bnRpbWUgPSB0b29sUnVudGltZShvcHRpb25zKTtcbiAgcmV0dXJuIGNyZWF0ZVRvb2woe1xuICAgIGlkOiBvcHRpb25zLmlkID8/IFwidW5pdmVyc2FsX3NlYXJjaFwiLFxuICAgIGRlc2NyaXB0aW9uOiBVTklWRVJTQUxfU0VBUkNIX1RPT0xfREVTQ1JJUFRJT04sXG4gICAgaW5wdXRTY2hlbWE6IHVuaXZlcnNhbFNlYXJjaFRvb2xTY2hlbWEsXG4gICAgb3V0cHV0U2NoZW1hOiBzZWFyY2hSZXN1bHRTY2hlbWEsXG4gICAgZXhlY3V0ZTogYXN5bmMgKGlucHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gdW5pdmVyc2FsU2VhcmNoVG9vbFNjaGVtYS5wYXJzZShpbnB1dCk7XG4gICAgICByZXR1cm4gcnVudGltZS5jbGllbnQudW5pdmVyc2FsU2VhcmNoKFxuICAgICAgICByZXF1ZXN0LnF1ZXJ5LFxuICAgICAgICB0b1VuaXZlcnNhbFNlYXJjaE9wdGlvbnMocmVxdWVzdCwgY29udGV4dD8uYWJvcnRTaWduYWwpLFxuICAgICAgKTtcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgb3B0LWluIGBhZGRfZG9jdW1lbnRzYCB0b29sICh3cml0ZSBpbnRvIGEgZGlyZWN0LWFjY2VzcyBpbmRleCkuXG4gKiBPbmx5IGluc3RhbGwgaXQgd2hlbiB0aGUgcGx1Z2luJ3Mgd3JpdGUgc3VyZmFjZSBpcyBlbmFibGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRG9jdW1lbnRzVG9vbChvcHRpb25zOiBTZWFyY2hUb29sT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHJ1bnRpbWUgPSB0b29sUnVudGltZShvcHRpb25zKTtcbiAgY29uc3QgaW5wdXRTY2hlbWEgPSBzaGFyZWRTZWFyY2guc2VhcmNoRG9jdW1lbnRTY2hlbWFcbiAgICAuYXJyYXkoKVxuICAgIC5kZXNjcmliZShcIkRvY3VtZW50cyB0byBhZGQgb3IgdXBkYXRlLiBFYWNoIG11c3QgaW5jbHVkZSB0aGUgaW5kZXggcHJpbWFyeSBrZXkuXCIpO1xuICByZXR1cm4gY3JlYXRlVG9vbCh7XG4gICAgaWQ6IG9wdGlvbnMuaWQgPz8gXCJhZGRfZG9jdW1lbnRzXCIsXG4gICAgZGVzY3JpcHRpb246IEFERF9ET0NVTUVOVFNfVE9PTF9ERVNDUklQVElPTixcbiAgICBpbnB1dFNjaGVtYTogc2hhcmVkU2VhcmNoLnNlYXJjaFJlcXVlc3RTY2hlbWFcbiAgICAgIC5waWNrKHsgaW5kZXg6IHRydWUgfSlcbiAgICAgIC5leHRlbmQoeyBkb2N1bWVudHM6IGlucHV0U2NoZW1hIH0pLFxuICAgIG91dHB1dFNjaGVtYTogc2hhcmVkU2VhcmNoLnVwc2VydFJlc3VsdFNjaGVtYSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQsIGNvbnRleHQpOiBQcm9taXNlPFVwc2VydFJlc3VsdD4gPT4ge1xuICAgICAgY29uc3QgeyBjbGllbnQsIGNvbmZpZyB9ID0gcnVudGltZTtcbiAgICAgIGNvbnN0IHJlY29yZCA9IGlucHV0IGFzIHsgaW5kZXg/OiBzdHJpbmc7IGRvY3VtZW50czogdW5rbm93biB9O1xuICAgICAgY29uc3QgZG9jdW1lbnRzID0gdG9Eb2N1bWVudEFycmF5KHJlY29yZC5kb2N1bWVudHMpO1xuICAgICAgY29uc3QgaW5kZXggPSByZWNvcmQuaW5kZXggPz8gY29uZmlnLmRlZmF1bHRJbmRleCA/PyBcIlwiO1xuICAgICAgcmV0dXJuIGNsaWVudC5hZGREb2N1bWVudHMoaW5kZXgsIGRvY3VtZW50cywgY29udGV4dD8uYWJvcnRTaWduYWwpO1xuICAgIH0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBvcHQtaW4gYGNyZWF0ZV9pbmRleGAgdG9vbCAocHJvdmlzaW9uIGEgVmVjdG9yIFNlYXJjaCBpbmRleCkuXG4gKiBPbmx5IGluc3RhbGwgaXQgd2hlbiB0aGUgcGx1Z2luJ3Mgd3JpdGUgc3VyZmFjZSBpcyBlbmFibGVkLiBEZWxlZ2F0ZXMgdG9cbiAqIHtAbGluayBTZWFyY2hDbGllbnQuY3JlYXRlSW5kZXh9LCBpbmZlcnJpbmcgdGhlIGVuZHBvaW50LCBlbWJlZGRpbmcgbW9kZWwsXG4gKiBrZXksIGFuZCBjb2x1bW5zIGZyb20gdGhlIHJlcXVlc3QgKyBwbHVnaW4gY29uZmlnLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5kZXhUb29sKG9wdGlvbnM6IFNlYXJjaFRvb2xPcHRpb25zID0ge30pIHtcbiAgY29uc3QgcnVudGltZSA9IHRvb2xSdW50aW1lKG9wdGlvbnMpO1xuICByZXR1cm4gY3JlYXRlVG9vbCh7XG4gICAgaWQ6IG9wdGlvbnMuaWQgPz8gXCJjcmVhdGVfaW5kZXhcIixcbiAgICBkZXNjcmlwdGlvbjogQ1JFQVRFX0lOREVYX1RPT0xfREVTQ1JJUFRJT04sXG4gICAgaW5wdXRTY2hlbWE6IGNyZWF0ZUluZGV4VG9vbFNjaGVtYSxcbiAgICBvdXRwdXRTY2hlbWE6IGluZGV4SW5mb1NjaGVtYSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQsIGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBjcmVhdGVJbmRleFRvb2xTY2hlbWEucGFyc2UoaW5wdXQpO1xuICAgICAgcmV0dXJuIHJ1bnRpbWUuY2xpZW50LmNyZWF0ZUluZGV4KFxuICAgICAgICByZXF1ZXN0Lm5hbWUsXG4gICAgICAgIHRvQ3JlYXRlSW5kZXhPcHRpb25zKHJlcXVlc3QsIGNvbnRleHQ/LmFib3J0U2lnbmFsKSxcbiAgICAgICk7XG4gICAgfSxcbiAgfSk7XG59XG5cbi8qKiBPdXRwdXQgc2NoZW1hIGZvciB0aGUgYHN5bmNfaW5kZXhgIHRvb2wuICovXG5jb25zdCBzeW5jSW5kZXhSZXN1bHRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGluZGV4OiB6LnN0cmluZygpLmRlc2NyaWJlKFwiVGhlIGluZGV4IHRoYXQgd2FzIHN5bmNlZC5cIiksXG4gIHN5bmNlZDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIG9uY2UgdGhlIHN5bmMgd2FzIHRyaWdnZXJlZC5cIiksXG59KTtcblxuLyoqXG4gKiBCdWlsZCB0aGUgb3B0LWluIGBzeW5jX2luZGV4YCB0b29sIChyZWZyZXNoIGEgRGVsdGEgU3luYyBpbmRleCBmcm9tIGl0c1xuICogc291cmNlIHRhYmxlKS4gT25seSBpbnN0YWxsIGl0IHdoZW4gdGhlIHBsdWdpbidzIHdyaXRlIHN1cmZhY2UgaXMgZW5hYmxlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5bmNJbmRleFRvb2wob3B0aW9uczogU2VhcmNoVG9vbE9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBydW50aW1lID0gdG9vbFJ1bnRpbWUob3B0aW9ucyk7XG4gIHJldHVybiBjcmVhdGVUb29sKHtcbiAgICBpZDogb3B0aW9ucy5pZCA/PyBcInN5bmNfaW5kZXhcIixcbiAgICBkZXNjcmlwdGlvbjogU1lOQ19JTkRFWF9UT09MX0RFU0NSSVBUSU9OLFxuICAgIGlucHV0U2NoZW1hOiBzeW5jSW5kZXhUb29sU2NoZW1hLFxuICAgIG91dHB1dFNjaGVtYTogc3luY0luZGV4UmVzdWx0U2NoZW1hLFxuICAgIGV4ZWN1dGU6IGFzeW5jIChpbnB1dCwgY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHN5bmNJbmRleFRvb2xTY2hlbWEucGFyc2UoaW5wdXQpO1xuICAgICAgY29uc3QgeyBjbGllbnQsIGNvbmZpZyB9ID0gcnVudGltZTtcbiAgICAgIGNvbnN0IGluZGV4ID0gcmVxdWVzdC5pbmRleCA/PyBjb25maWcuZGVmYXVsdEluZGV4ID8/IFwiXCI7XG4gICAgICBhd2FpdCBjbGllbnQuc3luY0luZGV4KGluZGV4LCBjb250ZXh0Py5hYm9ydFNpZ25hbCk7XG4gICAgICByZXR1cm4geyBpbmRleCwgc3luY2VkOiB0cnVlIH07XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFzQixNQUFNLGNBQWMsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLGlDQUFpQyxFQUNqQyxxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLHlCQUF5QixHQUMxQixNQUFNLGFBQWEsQ0FBQztBQWNyQiw0RUFBNEU7QUFDNUUsU0FBUyxXQUFXLENBQUMsT0FBMEI7SUFDN0MsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUMvRCxNQUFNLElBQUksU0FBUyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUNELE9BQU8sQ0FDTCxPQUFPLENBQUMsT0FBTztRQUNmLG1CQUFtQixDQUFDO1lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FD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WSxFQUFFLHFCQUFxQjtRQUNuQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNoQyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUN6RCxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGBzZWFyY2hgLCBgdW5pdmVyc2FsX3NlYXJjaGAsIGFuZCAob3B0LWluKSBgYWRkX2RvY3VtZW50c2AsXG4gKiBgY3JlYXRlX2luZGV4YCwgYW5kIGBzeW5jX2luZGV4YCBNYXN0cmEgdG9vbHMuXG4gKlxuICogQXBwLWludGVncmF0ZWQgYWdlbnRzIHNob3VsZCBjb25zdW1lIHRoZSBwbHVnaW4ncyBuYXRpdmUgdG9vbGtpdCBzbyBjYWxsc1xuICogcmV0YWluIHRoYXQgcGx1Z2luJ3MgY29uZmlnIGFuZCBwcm92aWRlciBiYWNrZW5kLiBUaGVzZSBzdGFuZGFsb25lIGZhY3Rvcmllc1xuICogY2FwdHVyZSBhbiBleHBsaWNpdCBydW50aW1lIG9yIGJ1aWxkIGFuIGlzb2xhdGVkIG9uZSBmcm9tIGNvbmZpZyBwbHVzIGFcbiAqIHByb3ZpZGVyLiBUaGV5IHJ1biB1bmRlciB0aGUgY2FsbGVyJ3MgT0JPIHNjb3BlICh0aGUgY2xpZW50IHJlc29sdmVzIHRoZVxuICogZXhlY3V0aW9uIGNvbnRleHQncyB3b3Jrc3BhY2UgY2xpZW50KSwgc28gc2VhcmNoIHJ1bnMgYXMgdGhlIHJlcXVlc3RpbmcgdXNlclxuICogYW5kIFVuaXR5IENhdGFsb2cgQUNMcyBhcHBseS5cbiAqXG4gKiBUaGUgc2FtZSB0b29scyBhcmUgZXhwb3NlZCB0byBBcHBLaXQncyBvd24gYWdlbnRzIHRocm91Z2ggdGhlIHBsdWdpbidzXG4gKiBgVG9vbFByb3ZpZGVyYCAoc2VlIGBwbHVnaW4udHNgKS5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgc2VhcmNoU2NoZW1hcywgdHlwZSBVcHNlcnRSZXN1bHQgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtc2VhcmNoXCI7XG5pbXBvcnQgeyBjcmVhdGVUb29sIH0gZnJvbSBcIkBtYXN0cmEvY29yZS90b29sc1wiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IHRvU2VhcmNoT3B0aW9ucywgdG9Vbml2ZXJzYWxTZWFyY2hPcHRpb25zIH0gZnJvbSBcIi4vX3NlYXJjaC1vcHRpb25zLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaFJlYWRCYWNrZW5kIH0gZnJvbSBcIi4vY2xpZW50LnRzXCI7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaFBsdWdpbkNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy50c1wiO1xuaW1wb3J0IHsgdG9DcmVhdGVJbmRleE9wdGlvbnMgfSBmcm9tIFwiLi9pbmRleC1vcHRpb25zLnRzXCI7XG5pbXBvcnQgeyB0b0RvY3VtZW50QXJyYXkgfSBmcm9tIFwiLi9xdWVyeS50c1wiO1xuaW1wb3J0IHsgY3JlYXRlU2VhcmNoUnVudGltZSwgdHlwZSBTZWFyY2hSdW50aW1lIH0gZnJvbSBcIi4vcnVudGltZS50c1wiO1xuaW1wb3J0IHtcbiAgQUREX0RPQ1VNRU5UU19UT09MX0RFU0NSSVBUSU9OLFxuICBDUkVBVEVfSU5ERVhfVE9PTF9ERVNDUklQVElPTixcbiAgU0VBUkNIX1RPT0xfREVTQ1JJUFRJT04sXG4gIFNZTkNfSU5ERVhfVE9PTF9ERVNDUklQVElPTixcbiAgVU5JVkVSU0FMX1NFQVJDSF9UT09MX0RFU0NSSVBUSU9OLFxuICBjcmVhdGVJbmRleFRvb2xTY2hlbWEsXG4gIGluZGV4SW5mb1NjaGVtYSxcbiAgc2VhcmNoUmVzdWx0U2NoZW1hLFxuICBzZWFyY2hUb29sU2NoZW1hLFxuICBzeW5jSW5kZXhUb29sU2NoZW1hLFxuICB1bml2ZXJzYWxTZWFyY2hUb29sU2NoZW1hLFxufSBmcm9tIFwiLi9zY2hlbWEudHNcIjtcblxuLyoqIE9wdGlvbnMgYWNjZXB0ZWQgYnkgZXZlcnkgc3RhbmRhbG9uZSB0b29sIGZhY3RvcnkuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFRvb2xPcHRpb25zIHtcbiAgLyoqIE92ZXJyaWRlIHRoZSB0b29sIGlkIChkZWZhdWx0cyBwZXIgdG9vbCkuICovXG4gIGlkPzogc3RyaW5nO1xuICAvKiogSXNvbGF0ZWQgcnVudGltZSB1c2VkIGJ5IHRoaXMgc3RhbmRhbG9uZSB0b29sLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBjb25maWcvYmFja2VuZC4gKi9cbiAgcnVudGltZT86IFNlYXJjaFJ1bnRpbWU7XG4gIC8qKiBDb25maWcgdXNlZCB0byBjcmVhdGUgYW4gaXNvbGF0ZWQgcnVudGltZS4gKi9cbiAgY29uZmlnPzogU2VhcmNoUGx1Z2luQ29uZmlnO1xuICAvKiogUHJvdmlkZXIgdXNlZCB3aGVuIGNyZWF0aW5nIGEgcnVudGltZSBmcm9tIGNvbmZpZy4gKi9cbiAgcmVhZEJhY2tlbmQ/OiBTZWFyY2hSZWFkQmFja2VuZDtcbn1cblxuLyoqIFJlc29sdmUgdGhlIGlzb2xhdGVkIHJ1bnRpbWUgY2FwdHVyZWQgYnkgb25lIHN0YW5kYWxvbmUgdG9vbCBmYWN0b3J5LiAqL1xuZnVuY3Rpb24gdG9vbFJ1bnRpbWUob3B0aW9uczogU2VhcmNoVG9vbE9wdGlvbnMpOiBTZWFyY2hSdW50aW1lIHtcbiAgaWYgKG9wdGlvbnMucnVudGltZSAmJiAob3B0aW9ucy5jb25maWcgfHwgb3B0aW9ucy5yZWFkQmFja2VuZCkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwic2VhcmNoIHRvb2wgb3B0aW9ucyBhY2NlcHQgcnVudGltZSBvciBjb25maWcvcmVhZEJhY2tlbmQsIG5vdCBib3RoXCIpO1xuICB9XG4gIHJldHVybiAoXG4gICAgb3B0aW9ucy5ydW50aW1lID8/XG4gICAgY3JlYXRlU2VhcmNoUnVudGltZSh7XG4gICAgICBjb25maWc6IG9wdGlvbnMuY29uZmlnLFxuICAgICAgcmVhZEJhY2tlbmQ6IG9wdGlvbnMucmVhZEJhY2tlbmQsXG4gICAgfSlcbiAgKTtcbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgYHNlYXJjaGAgdG9vbC4gU3ByZWFkIGl0IGludG8gYW55IGFnZW50IHRoYXQgc2hvdWxkIGJlIGFibGUgdG8gbG9va1xuICogdGhpbmdzIHVwIGluIGFuIGluZGV4LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgc2VhcmNoVG9vbCB9IGZyb20gXCJAZGJ4LXRvb2xzL3NlYXJjaFwiO1xuICogaW1wb3J0IHsgY3JlYXRlQWdlbnQgfSBmcm9tIFwiQGRieC10b29scy9hcHBraXQtbWFzdHJhXCI7XG4gKlxuICogY29uc3Qgc3VwcG9ydCA9IGNyZWF0ZUFnZW50KHtcbiAqICAgaW5zdHJ1Y3Rpb25zOiBcIkFuc3dlciBmcm9tIHRoZSBkb2NzLiBVc2UgYHNlYXJjaGAgdG8gZmluZCB0aGVtLlwiLFxuICogICB0b29sczogKCkgPT4gKHsgc2VhcmNoOiBzZWFyY2hUb29sKCkgfSksXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoVG9vbChvcHRpb25zOiBTZWFyY2hUb29sT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHJ1bnRpbWUgPSB0b29sUnVudGltZShvcHRpb25zKTtcbiAgcmV0dXJuIGNyZWF0ZVRvb2woe1xuICAgIGlkOiBvcHRpb25zLmlkID8/IFwic2VhcmNoXCIsXG4gICAgZGVzY3JpcHRpb246IFNFQVJDSF9UT09MX0RFU0NSSVBUSU9OLFxuICAgIGlucHV0U2NoZW1hOiBzZWFyY2hUb29sU2NoZW1hLFxuICAgIG91dHB1dFNjaGVtYTogc2VhcmNoUmVzdWx0U2NoZW1hLFxuICAgIGV4ZWN1dGU6IGFzeW5jIChpbnB1dCwgY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHNlYXJjaFRvb2xTY2hlbWEucGFyc2UoaW5wdXQpO1xuICAgICAgcmV0dXJuIHJ1bnRpbWUuY2xpZW50LnNlYXJjaChyZXF1ZXN0LnF1ZXJ5LCB0b1NlYXJjaE9wdGlvbnMocmVxdWVzdCwgY29udGV4dD8uYWJvcnRTaWduYWwpKTtcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqIEJ1aWxkIHRoZSBgdW5pdmVyc2FsX3NlYXJjaGAgdG9vbCAoZmVkZXJhdGVkIHNlYXJjaCBhY3Jvc3MgZXZlcnkgaW5kZXgpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuaXZlcnNhbFNlYXJjaFRvb2wob3B0aW9uczogU2VhcmNoVG9vbE9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBydW50aW1lID0gdG9vbFJ1bnRpbWUob3B0aW9ucyk7XG4gIHJldHVybiBjcmVhdGVUb29sKHtcbiAgICBpZDogb3B0aW9ucy5pZCA/PyBcInVuaXZlcnNhbF9zZWFyY2hcIixcbiAgICBkZXNjcmlwdGlvbjogVU5JVkVSU0FMX1NFQVJDSF9UT09MX0RFU0NSSVBUSU9OLFxuICAgIGlucHV0U2NoZW1hOiB1bml2ZXJzYWxTZWFyY2hUb29sU2NoZW1hLFxuICAgIG91dHB1dFNjaGVtYTogc2VhcmNoUmVzdWx0U2NoZW1hLFxuICAgIGV4ZWN1dGU6IGFzeW5jIChpbnB1dCwgY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHVuaXZlcnNhbFNlYXJjaFRvb2xTY2hlbWEucGFyc2UoaW5wdXQpO1xuICAgICAgcmV0dXJuIHJ1bnRpbWUuY2xpZW50LnVuaXZlcnNhbFNlYXJjaChcbiAgICAgICAgcmVxdWVzdC5xdWVyeSxcbiAgICAgICAgdG9Vbml2ZXJzYWxTZWFyY2hPcHRpb25zKHJlcXVlc3QsIGNvbnRleHQ/LmFib3J0U2lnbmFsKSxcbiAgICAgICk7XG4gICAgfSxcbiAgfSk7XG59XG5cbi8qKlxuICogQnVpbGQgdGhlIG9wdC1pbiBgYWRkX2RvY3VtZW50c2AgdG9vbCAod3JpdGUgaW50byBhIGRpcmVjdC1hY2Nlc3MgaW5kZXgpLlxuICogT25seSBpbnN0YWxsIGl0IHdoZW4gdGhlIHBsdWdpbidzIHdyaXRlIHN1cmZhY2UgaXMgZW5hYmxlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZERvY3VtZW50c1Rvb2wob3B0aW9uczogU2VhcmNoVG9vbE9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBydW50aW1lID0gdG9vbFJ1bnRpbWUob3B0aW9ucyk7XG4gIGNvbnN0IGlucHV0U2NoZW1hID0gc2VhcmNoU2NoZW1hcy5zZWFyY2hEb2N1bWVudFNjaGVtYVxuICAgIC5hcnJheSgpXG4gICAgLmRlc2NyaWJlKFwiRG9jdW1lbnRzIHRvIGFkZCBvciB1cGRhdGUuIEVhY2ggbXVzdCBpbmNsdWRlIHRoZSBpbmRleCBwcmltYXJ5IGtleS5cIik7XG4gIHJldHVybiBjcmVhdGVUb29sKHtcbiAgICBpZDogb3B0aW9ucy5pZCA/PyBcImFkZF9kb2N1bWVudHNcIixcbiAgICBkZXNjcmlwdGlvbjogQUREX0RPQ1VNRU5UU19UT09MX0RFU0NSSVBUSU9OLFxuICAgIGlucHV0U2NoZW1hOiBzZWFyY2hTY2hlbWFzLnNlYXJjaFJlcXVlc3RTY2hlbWFcbiAgICAgIC5waWNrKHsgaW5kZXg6IHRydWUgfSlcbiAgICAgIC5leHRlbmQoeyBkb2N1bWVudHM6IGlucHV0U2NoZW1hIH0pLFxuICAgIG91dHB1dFNjaGVtYTogc2VhcmNoU2NoZW1hcy51cHNlcnRSZXN1bHRTY2hlbWEsXG4gICAgZXhlY3V0ZTogYXN5bmMgKGlucHV0LCBjb250ZXh0KTogUHJvbWlzZTxVcHNlcnRSZXN1bHQ+ID0+IHtcbiAgICAgIGNvbnN0IHsgY2xpZW50LCBjb25maWcgfSA9IHJ1bnRpbWU7XG4gICAgICBjb25zdCByZWNvcmQgPSBpbnB1dCBhcyB7IGluZGV4Pzogc3RyaW5nOyBkb2N1bWVudHM6IHVua25vd24gfTtcbiAgICAgIGNvbnN0IGRvY3VtZW50cyA9IHRvRG9jdW1lbnRBcnJheShyZWNvcmQuZG9jdW1lbnRzKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gcmVjb3JkLmluZGV4ID8/IGNvbmZpZy5kZWZhdWx0SW5kZXggPz8gXCJcIjtcbiAgICAgIHJldHVybiBjbGllbnQuYWRkRG9jdW1lbnRzKGluZGV4LCBkb2N1bWVudHMsIGNvbnRleHQ/LmFib3J0U2lnbmFsKTtcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgb3B0LWluIGBjcmVhdGVfaW5kZXhgIHRvb2wgKHByb3Zpc2lvbiBhIFZlY3RvciBTZWFyY2ggaW5kZXgpLlxuICogT25seSBpbnN0YWxsIGl0IHdoZW4gdGhlIHBsdWdpbidzIHdyaXRlIHN1cmZhY2UgaXMgZW5hYmxlZC4gRGVsZWdhdGVzIHRvXG4gKiB7QGxpbmsgU2VhcmNoQ2xpZW50LmNyZWF0ZUluZGV4fSwgaW5mZXJyaW5nIHRoZSBlbmRwb2ludCwgZW1iZWRkaW5nIG1vZGVsLFxuICoga2V5LCBhbmQgY29sdW1ucyBmcm9tIHRoZSByZXF1ZXN0ICsgcGx1Z2luIGNvbmZpZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluZGV4VG9vbChvcHRpb25zOiBTZWFyY2hUb29sT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHJ1bnRpbWUgPSB0b29sUnVudGltZShvcHRpb25zKTtcbiAgcmV0dXJuIGNyZWF0ZVRvb2woe1xuICAgIGlkOiBvcHRpb25zLmlkID8/IFwiY3JlYXRlX2luZGV4XCIsXG4gICAgZGVzY3JpcHRpb246IENSRUFURV9JTkRFWF9UT09MX0RFU0NSSVBUSU9OLFxuICAgIGlucHV0U2NoZW1hOiBjcmVhdGVJbmRleFRvb2xTY2hlbWEsXG4gICAgb3V0cHV0U2NoZW1hOiBpbmRleEluZm9TY2hlbWEsXG4gICAgZXhlY3V0ZTogYXN5bmMgKGlucHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlSW5kZXhUb29sU2NoZW1hLnBhcnNlKGlucHV0KTtcbiAgICAgIHJldHVybiBydW50aW1lLmNsaWVudC5jcmVhdGVJbmRleChcbiAgICAgICAgcmVxdWVzdC5uYW1lLFxuICAgICAgICB0b0NyZWF0ZUluZGV4T3B0aW9ucyhyZXF1ZXN0LCBjb250ZXh0Py5hYm9ydFNpZ25hbCksXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufVxuXG4vKiogT3V0cHV0IHNjaGVtYSBmb3IgdGhlIGBzeW5jX2luZGV4YCB0b29sLiAqL1xuY29uc3Qgc3luY0luZGV4UmVzdWx0U2NoZW1hID0gei5vYmplY3Qoe1xuICBpbmRleDogei5zdHJpbmcoKS5kZXNjcmliZShcIlRoZSBpbmRleCB0aGF0IHdhcyBzeW5jZWQuXCIpLFxuICBzeW5jZWQ6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiVHJ1ZSBvbmNlIHRoZSBzeW5jIHdhcyB0cmlnZ2VyZWQuXCIpLFxufSk7XG5cbi8qKlxuICogQnVpbGQgdGhlIG9wdC1pbiBgc3luY19pbmRleGAgdG9vbCAocmVmcmVzaCBhIERlbHRhIFN5bmMgaW5kZXggZnJvbSBpdHNcbiAqIHNvdXJjZSB0YWJsZSkuIE9ubHkgaW5zdGFsbCBpdCB3aGVuIHRoZSBwbHVnaW4ncyB3cml0ZSBzdXJmYWNlIGlzIGVuYWJsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzeW5jSW5kZXhUb29sKG9wdGlvbnM6IFNlYXJjaFRvb2xPcHRpb25zID0ge30pIHtcbiAgY29uc3QgcnVudGltZSA9IHRvb2xSdW50aW1lKG9wdGlvbnMpO1xuICByZXR1cm4gY3JlYXRlVG9vbCh7XG4gICAgaWQ6IG9wdGlvbnMuaWQgPz8gXCJzeW5jX2luZGV4XCIsXG4gICAgZGVzY3JpcHRpb246IFNZTkNfSU5ERVhfVE9PTF9ERVNDUklQVElPTixcbiAgICBpbnB1dFNjaGVtYTogc3luY0luZGV4VG9vbFNjaGVtYSxcbiAgICBvdXRwdXRTY2hlbWE6IHN5bmNJbmRleFJlc3VsdFNjaGVtYSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQsIGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBzeW5jSW5kZXhUb29sU2NoZW1hLnBhcnNlKGlucHV0KTtcbiAgICAgIGNvbnN0IHsgY2xpZW50LCBjb25maWcgfSA9IHJ1bnRpbWU7XG4gICAgICBjb25zdCBpbmRleCA9IHJlcXVlc3QuaW5kZXggPz8gY29uZmlnLmRlZmF1bHRJbmRleCA/PyBcIlwiO1xuICAgICAgYXdhaXQgY2xpZW50LnN5bmNJbmRleChpbmRleCwgY29udGV4dD8uYWJvcnRTaWduYWwpO1xuICAgICAgcmV0dXJuIHsgaW5kZXgsIHN5bmNlZDogdHJ1ZSB9O1xuICAgIH0sXG4gIH0pO1xufVxuIl19
|
package/lib/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/_search-options.ts","../src/client.ts","../src/config.ts","../src/index-
|
|
1
|
+
{"root":["../src/_search-options.ts","../src/client.ts","../src/config.ts","../src/index-options.ts","../src/lakebase-plugin.ts","../src/lakebase.ts","../src/native.ts","../src/plugin.ts","../src/query.ts","../src/runtime.ts","../src/schema.ts","../src/tool.ts","../index.ts"],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@databricks/appkit": "0.81.0",
|
|
31
31
|
"@databricks/sdk-experimental": "^0.17.0",
|
|
32
|
-
"@dbx-tools/appkit": "^0.9.
|
|
33
|
-
"@dbx-tools/core": "^0.9.
|
|
34
|
-
"@dbx-tools/model": "^0.9.
|
|
35
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
36
|
-
"@dbx-tools/shared-model": "^0.9.
|
|
37
|
-
"@dbx-tools/shared-search": "^0.9.
|
|
32
|
+
"@dbx-tools/appkit": "^0.9.6",
|
|
33
|
+
"@dbx-tools/core": "^0.9.6",
|
|
34
|
+
"@dbx-tools/model": "^0.9.6",
|
|
35
|
+
"@dbx-tools/shared-core": "^0.9.6",
|
|
36
|
+
"@dbx-tools/shared-model": "^0.9.6",
|
|
37
|
+
"@dbx-tools/shared-search": "^0.9.6",
|
|
38
38
|
"@mastra/core": "1.71.0",
|
|
39
39
|
"pg": "^8.22.0",
|
|
40
40
|
"zod": "4.3.6"
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"./package.json": "./package.json"
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
-
"version": "0.9.
|
|
56
|
+
"version": "0.9.6",
|
|
57
57
|
"types": "./lib/index.d.ts",
|
|
58
58
|
"type": "module",
|
|
59
59
|
"exports": {
|
package/src/client.ts
CHANGED
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
import { ExecutionError, getExecutionContext } from "@databricks/appkit";
|
|
23
23
|
import { Context } from "@databricks/sdk-experimental";
|
|
24
24
|
import { appkit, databricks } from "@dbx-tools/appkit";
|
|
25
|
-
import { invoke, resolve as modelResolve,
|
|
26
|
-
import {
|
|
25
|
+
import { invoke, resolve as modelResolve, modelCatalog } from "@dbx-tools/model";
|
|
26
|
+
import { asyncUtils, json, log, stringUtils } from "@dbx-tools/shared-core";
|
|
27
27
|
import { ModelClass } from "@dbx-tools/shared-model";
|
|
28
28
|
import type {
|
|
29
29
|
SearchDocument,
|
|
@@ -259,7 +259,7 @@ export class SearchClient {
|
|
|
259
259
|
query: string,
|
|
260
260
|
options: SearchOptions & { index?: string } = {},
|
|
261
261
|
): Promise<SearchResult> {
|
|
262
|
-
const text =
|
|
262
|
+
const text = stringUtils.trimToEmpty(query);
|
|
263
263
|
const name = resolveIndexName(this.config, options.index);
|
|
264
264
|
if (name === null) {
|
|
265
265
|
throw new ExecutionError("search: no index configured; set a default index or pass one", {
|
|
@@ -288,7 +288,7 @@ export class SearchClient {
|
|
|
288
288
|
query: string,
|
|
289
289
|
options: UniversalSearchOptions = {},
|
|
290
290
|
): Promise<SearchResult> {
|
|
291
|
-
const text =
|
|
291
|
+
const text = stringUtils.trimToEmpty(query);
|
|
292
292
|
const names =
|
|
293
293
|
options.indexes && options.indexes.length > 0
|
|
294
294
|
? options.indexes.map((ref) => resolveIndexName(this.config, ref) ?? ref)
|
|
@@ -327,7 +327,7 @@ export class SearchClient {
|
|
|
327
327
|
* `ENDPOINT_NOT_FOUND` instead of naming the real problem.
|
|
328
328
|
*/
|
|
329
329
|
private requireIndexName(reference: string, operation: string): string {
|
|
330
|
-
const name =
|
|
330
|
+
const name = stringUtils.trimToNull(resolveIndexName(this.config, reference) ?? reference);
|
|
331
331
|
if (name === null) {
|
|
332
332
|
throw new ExecutionError(
|
|
333
333
|
`search: no index configured; set a default index or pass one to ${operation}`,
|
|
@@ -424,7 +424,7 @@ export class SearchClient {
|
|
|
424
424
|
* live catalogue, otherwise the highest-ranked embedding endpoint is chosen.
|
|
425
425
|
*/
|
|
426
426
|
async resolveEmbeddingModel(requested?: string, signal?: AbortSignal): Promise<string | null> {
|
|
427
|
-
const explicit =
|
|
427
|
+
const explicit = stringUtils.trimToNull(requested ?? this.config.embeddingModel);
|
|
428
428
|
// An explicit name that already looks like an endpoint id (no whitespace)
|
|
429
429
|
// is used verbatim - no need to fetch and fuzzy-match the live catalogue.
|
|
430
430
|
// A genuinely loose name (e.g. "gte large") still resolves against it.
|
|
@@ -432,12 +432,12 @@ export class SearchClient {
|
|
|
432
432
|
signal?.throwIfAborted();
|
|
433
433
|
const client = defaultAppKitWorkspaceClient();
|
|
434
434
|
const host = (await client.config.getHost()).toString();
|
|
435
|
-
const endpoints = await
|
|
435
|
+
const endpoints = await modelCatalog.listServingEndpoints(client, host);
|
|
436
436
|
signal?.throwIfAborted();
|
|
437
437
|
const { modelId } = modelResolve.resolveModel(endpoints, {
|
|
438
438
|
...(explicit ? { explicit } : { modelClass: ModelClass.Embedding }),
|
|
439
439
|
});
|
|
440
|
-
return
|
|
440
|
+
return stringUtils.trimToNull(modelId);
|
|
441
441
|
}
|
|
442
442
|
|
|
443
443
|
/**
|
|
@@ -630,7 +630,7 @@ export class SearchClient {
|
|
|
630
630
|
const needEmbed = seed.some((doc) => doc[vectorColumn] === undefined);
|
|
631
631
|
let rows = seed;
|
|
632
632
|
if (needEmbed) {
|
|
633
|
-
const texts = seed.map((doc) =>
|
|
633
|
+
const texts = seed.map((doc) => stringUtils.trimToEmpty(String(doc[sourceColumn] ?? "")));
|
|
634
634
|
const vectors = await this.embed(texts, options.embeddingModel, options.signal);
|
|
635
635
|
rows = seed.map((doc, i) =>
|
|
636
636
|
doc[vectorColumn] === undefined ? { ...doc, [vectorColumn]: vectors[i] } : doc,
|
|
@@ -657,7 +657,7 @@ export class SearchClient {
|
|
|
657
657
|
context: { operation: "provision" },
|
|
658
658
|
});
|
|
659
659
|
}
|
|
660
|
-
await
|
|
660
|
+
await asyncUtils.sleep(5000, signal);
|
|
661
661
|
info = await this.getIndex(name, signal);
|
|
662
662
|
}
|
|
663
663
|
return info;
|
package/src/config.ts
CHANGED
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
import { ConfigurationError, type BasePluginConfig } from "@databricks/appkit";
|
|
26
|
-
import {
|
|
27
|
-
import { object,
|
|
26
|
+
import { configUtils } from "@dbx-tools/core";
|
|
27
|
+
import { object, stringUtils } from "@dbx-tools/shared-core";
|
|
28
28
|
import type { SearchDocument, SearchMode } from "@dbx-tools/shared-search";
|
|
29
29
|
import type { JSONSchema7 } from "json-schema";
|
|
30
30
|
|
|
@@ -226,11 +226,11 @@ export function defaultAlias(name: string): string {
|
|
|
226
226
|
/** Normalize a config index entry (string or object) into a {@link ResolvedIndexConfig}. */
|
|
227
227
|
function toResolvedIndex(entry: string | SearchIndexConfig): ResolvedIndexConfig | null {
|
|
228
228
|
const raw = typeof entry === "string" ? { name: entry } : entry;
|
|
229
|
-
const name =
|
|
229
|
+
const name = stringUtils.trimToNull(raw.name);
|
|
230
230
|
if (name === null) return null;
|
|
231
231
|
return {
|
|
232
232
|
name,
|
|
233
|
-
alias:
|
|
233
|
+
alias: stringUtils.trimToNull(raw.alias) ?? defaultAlias(name),
|
|
234
234
|
...(raw.primaryKey ? { primaryKey: raw.primaryKey } : {}),
|
|
235
235
|
...(raw.columns && raw.columns.length > 0 ? { columns: [...raw.columns] } : {}),
|
|
236
236
|
};
|
|
@@ -238,7 +238,7 @@ function toResolvedIndex(entry: string | SearchIndexConfig): ResolvedIndexConfig
|
|
|
238
238
|
|
|
239
239
|
/** Parse and validate a {@link SearchMode} from config or an env var. */
|
|
240
240
|
function resolveMode(configured: SearchMode | undefined): SearchMode {
|
|
241
|
-
const raw = configured ??
|
|
241
|
+
const raw = configured ?? configUtils.text("SEARCH_MODE", configUtils.ENV_ONLY);
|
|
242
242
|
if (raw === undefined) return DEFAULT_MODE;
|
|
243
243
|
if (raw !== "hybrid" && raw !== "vector" && raw !== "keyword") {
|
|
244
244
|
throw new ConfigurationError(
|
|
@@ -256,10 +256,10 @@ function resolveMode(configured: SearchMode | undefined): SearchMode {
|
|
|
256
256
|
* and a bad mode throws a {@link ConfigurationError} naming the field.
|
|
257
257
|
*/
|
|
258
258
|
export function resolveSearchConfig(config: SearchPluginConfig = {}): ResolvedSearchConfig {
|
|
259
|
-
const defaultIndexRaw =
|
|
259
|
+
const defaultIndexRaw = configUtils.string(
|
|
260
260
|
config.index,
|
|
261
261
|
[INDEX_ENV, DATABRICKS_INDEX_ENV],
|
|
262
|
-
|
|
262
|
+
configUtils.ENV_ONLY,
|
|
263
263
|
);
|
|
264
264
|
|
|
265
265
|
const configured = (config.indexes ?? [])
|
|
@@ -268,7 +268,12 @@ export function resolveSearchConfig(config: SearchPluginConfig = {}): ResolvedSe
|
|
|
268
268
|
|
|
269
269
|
// Ensure the default index is represented in the known set.
|
|
270
270
|
if (defaultIndexRaw && !configured.some((i) => i.name === defaultIndexRaw)) {
|
|
271
|
-
const envColumns =
|
|
271
|
+
const envColumns = configUtils.list(
|
|
272
|
+
undefined,
|
|
273
|
+
"SEARCH_COLUMNS",
|
|
274
|
+
undefined,
|
|
275
|
+
configUtils.ENV_ONLY,
|
|
276
|
+
);
|
|
272
277
|
configured.unshift({
|
|
273
278
|
name: defaultIndexRaw,
|
|
274
279
|
alias: defaultAlias(defaultIndexRaw),
|
|
@@ -285,35 +290,41 @@ export function resolveSearchConfig(config: SearchPluginConfig = {}): ResolvedSe
|
|
|
285
290
|
});
|
|
286
291
|
|
|
287
292
|
const defaultIndex = defaultIndexRaw ?? indexes[0]?.name;
|
|
288
|
-
const columns =
|
|
293
|
+
const columns = configUtils.list(
|
|
294
|
+
config.columns,
|
|
295
|
+
"SEARCH_COLUMNS",
|
|
296
|
+
undefined,
|
|
297
|
+
configUtils.ENV_ONLY,
|
|
298
|
+
);
|
|
289
299
|
|
|
290
300
|
return {
|
|
291
301
|
...object.optional("defaultIndex", defaultIndex),
|
|
292
302
|
indexes,
|
|
293
303
|
...object.optional(
|
|
294
304
|
"endpoint",
|
|
295
|
-
|
|
305
|
+
configUtils.string(config.endpoint, ENDPOINT_ENV, configUtils.ENV_ONLY),
|
|
296
306
|
),
|
|
297
307
|
...(columns.length > 0 ? { columns } : {}),
|
|
298
|
-
pageSize:
|
|
308
|
+
pageSize: configUtils.positiveInt(
|
|
299
309
|
config.pageSize,
|
|
300
310
|
"SEARCH_PAGE_SIZE",
|
|
301
311
|
DEFAULT_PAGE_SIZE,
|
|
302
|
-
|
|
312
|
+
configUtils.ENV_ONLY,
|
|
303
313
|
),
|
|
304
314
|
mode: resolveMode(config.mode),
|
|
305
315
|
...object.optional(
|
|
306
316
|
"embeddingModel",
|
|
307
|
-
|
|
317
|
+
configUtils.string(config.embeddingModel, "SEARCH_EMBEDDING_MODEL", configUtils.ENV_ONLY),
|
|
308
318
|
),
|
|
309
319
|
basePath: DEFAULT_BASE_PATH,
|
|
310
|
-
timeoutMs:
|
|
320
|
+
timeoutMs: configUtils.positiveInt(
|
|
311
321
|
config.timeoutMs,
|
|
312
322
|
"SEARCH_TIMEOUT_MS",
|
|
313
323
|
DEFAULT_TIMEOUT_MS,
|
|
314
|
-
|
|
324
|
+
configUtils.ENV_ONLY,
|
|
315
325
|
),
|
|
316
|
-
allowWrite:
|
|
326
|
+
allowWrite:
|
|
327
|
+
configUtils.boolean(config.allowWrite, "SEARCH_WRITE", configUtils.ENV_ONLY) ?? false,
|
|
317
328
|
...(config.ensureOnSetup ? { ensureOnSetup: config.ensureOnSetup } : {}),
|
|
318
329
|
};
|
|
319
330
|
}
|
|
@@ -328,7 +339,7 @@ export function resolveIndexName(
|
|
|
328
339
|
config: ResolvedSearchConfig,
|
|
329
340
|
reference: string | undefined,
|
|
330
341
|
): string | null {
|
|
331
|
-
const ref =
|
|
342
|
+
const ref = stringUtils.trimToNull(reference);
|
|
332
343
|
if (ref === null) return config.defaultIndex ?? null;
|
|
333
344
|
const byAlias = config.indexes.find((i) => i.alias === ref || i.name === ref);
|
|
334
345
|
if (byAlias) return byAlias.name;
|
package/src/lakebase-plugin.ts
CHANGED
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
type PluginManifest,
|
|
15
15
|
} from "@databricks/appkit";
|
|
16
16
|
import type { IndexConfig, SearchRequest, SearchResponse } from "@databricks/appkit/beta";
|
|
17
|
-
import {
|
|
18
|
-
import { log, object,
|
|
17
|
+
import { pluginRegistry } from "@dbx-tools/appkit";
|
|
18
|
+
import { log, object, stringUtils } from "@dbx-tools/shared-core";
|
|
19
19
|
import type { SearchDocument } from "@dbx-tools/shared-search";
|
|
20
20
|
import type express from "express";
|
|
21
21
|
import type { JSONSchema7 } from "json-schema";
|
|
@@ -94,10 +94,10 @@ export class LakebaseAiSearchPlugin extends Plugin<LakebaseAiSearchConfig> {
|
|
|
94
94
|
override async setup(): Promise<void> {
|
|
95
95
|
const indexes = this.indexes();
|
|
96
96
|
for (const index of indexes) this.validateAuth(index);
|
|
97
|
-
const lake =
|
|
97
|
+
const lake = pluginRegistry.require(this.context, lakebase, this);
|
|
98
98
|
this.backend = new LakebaseSearchBackend(
|
|
99
99
|
{ managedPool: () => lake.exports().pool },
|
|
100
|
-
|
|
100
|
+
stringUtils.trimToNull(this.config.schema) ?? "public",
|
|
101
101
|
);
|
|
102
102
|
for (const index of indexes) {
|
|
103
103
|
await this.backend.provision(index.indexName, {
|
|
@@ -107,7 +107,7 @@ export class LakebaseAiSearchPlugin extends Plugin<LakebaseAiSearchConfig> {
|
|
|
107
107
|
}
|
|
108
108
|
logger.info("ready", {
|
|
109
109
|
indexes: this.indexes().map((index) => index.alias),
|
|
110
|
-
schema:
|
|
110
|
+
schema: stringUtils.trimToNull(this.config.schema) ?? "public",
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -237,7 +237,7 @@ export class LakebaseAiSearchPlugin extends Plugin<LakebaseAiSearchConfig> {
|
|
|
237
237
|
private indexes(): ResolvedLakebaseIndex[] {
|
|
238
238
|
return Object.entries(this.config.indexes ?? {}).map(([alias, config]) => ({
|
|
239
239
|
alias,
|
|
240
|
-
indexName:
|
|
240
|
+
indexName: stringUtils.trimToNull(config.indexName) ?? alias,
|
|
241
241
|
config,
|
|
242
242
|
}));
|
|
243
243
|
}
|
package/src/lakebase.ts
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
import { ExecutionError } from "@databricks/appkit";
|
|
27
|
-
import { log, object,
|
|
27
|
+
import { log, object, stringUtils } from "@dbx-tools/shared-core";
|
|
28
28
|
import type {
|
|
29
29
|
SearchDocument,
|
|
30
30
|
SearchHit,
|
|
@@ -61,7 +61,10 @@ const RESERVED_COLUMNS = new Set(["id", "search_text", "document", "search_vecto
|
|
|
61
61
|
*/
|
|
62
62
|
export function toSearchTerms(query: string): string[] {
|
|
63
63
|
return [
|
|
64
|
-
...
|
|
64
|
+
...stringUtils.tokenizeWithOptions(
|
|
65
|
+
{ lowerCase: true, camelCase: false, distinct: true },
|
|
66
|
+
query,
|
|
67
|
+
),
|
|
65
68
|
];
|
|
66
69
|
}
|
|
67
70
|
|
|
@@ -175,7 +178,7 @@ export class LakebaseSearchBackend {
|
|
|
175
178
|
query: string,
|
|
176
179
|
options: LakebaseSearchOptions = {},
|
|
177
180
|
): Promise<SearchResult> {
|
|
178
|
-
const text =
|
|
181
|
+
const text = stringUtils.trimToEmpty(query);
|
|
179
182
|
const table = this.tableFor(index);
|
|
180
183
|
const limit = options.limit ?? 10;
|
|
181
184
|
const pool = await this.getPool();
|
|
@@ -355,7 +358,7 @@ export class LakebaseSearchBackend {
|
|
|
355
358
|
signal?: AbortSignal,
|
|
356
359
|
): Promise<void> {
|
|
357
360
|
for (const doc of documents) {
|
|
358
|
-
const id =
|
|
361
|
+
const id = stringUtils.trimToNull(String(doc.id ?? doc.ID ?? "")) ?? undefined;
|
|
359
362
|
if (id === undefined) {
|
|
360
363
|
throw new ExecutionError("search (lakebase): a document is missing an `id`", {
|
|
361
364
|
context: { operation: "addDocuments" },
|
|
@@ -376,7 +379,7 @@ export class LakebaseSearchBackend {
|
|
|
376
379
|
|
|
377
380
|
/** The text a row is indexed by: the text column first, then any other string field. */
|
|
378
381
|
private searchText(doc: SearchDocument, textColumn: string): string {
|
|
379
|
-
const primary =
|
|
382
|
+
const primary = stringUtils.trimToEmpty(String(doc[textColumn] ?? ""));
|
|
380
383
|
const rest = Object.entries(doc)
|
|
381
384
|
.filter(([key, value]) => key !== textColumn && key !== "id" && typeof value === "string")
|
|
382
385
|
.map(([, value]) => value as string);
|
|
@@ -425,7 +428,7 @@ export class LakebaseSearchBackend {
|
|
|
425
428
|
/** A safe bare table name derived from an index reference. */
|
|
426
429
|
private bareName(reference: string): string {
|
|
427
430
|
const last = reference.split(".").filter(Boolean).pop() ?? reference;
|
|
428
|
-
const slug =
|
|
431
|
+
const slug = stringUtils.toSlug(last).replace(/-/g, "_");
|
|
429
432
|
return slug.length > 0 ? slug : "documents";
|
|
430
433
|
}
|
|
431
434
|
|
package/src/native.ts
CHANGED
|
@@ -11,9 +11,9 @@ import type {
|
|
|
11
11
|
SearchRequest as AppKitSearchRequest,
|
|
12
12
|
SearchResponse as AppKitSearchResponse,
|
|
13
13
|
} from "@databricks/appkit/beta";
|
|
14
|
-
import {
|
|
14
|
+
import { stringUtils } from "@dbx-tools/shared-core";
|
|
15
15
|
import {
|
|
16
|
-
|
|
16
|
+
searchSchemas,
|
|
17
17
|
type SearchDocument,
|
|
18
18
|
type SearchHit,
|
|
19
19
|
type SearchRequest as ExtensionSearchRequest,
|
|
@@ -61,7 +61,7 @@ function hitId(
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
function aliasFor(index: string, config: ResolvedSearchConfig): string {
|
|
64
|
-
const alias = indexConfigFor(config, index)?.alias ??
|
|
64
|
+
const alias = indexConfigFor(config, index)?.alias ?? stringUtils.trimToNull(index);
|
|
65
65
|
if (!alias) throw new ValidationError("AI Search requires a configured index alias");
|
|
66
66
|
return alias;
|
|
67
67
|
}
|
|
@@ -77,7 +77,7 @@ export function nativeAiSearchBackend(
|
|
|
77
77
|
options.signal?.throwIfAborted();
|
|
78
78
|
const known = indexConfigFor(config, index);
|
|
79
79
|
const alias = aliasFor(index, config);
|
|
80
|
-
const resolvedQueryType =
|
|
80
|
+
const resolvedQueryType = searchSchemas.toAiSearchQueryType(options.mode);
|
|
81
81
|
const resolvedFilters = filters(options.filter);
|
|
82
82
|
const response = await provider.query(alias, {
|
|
83
83
|
queryText: query,
|