@slashfi/agents-sdk 0.25.0 → 0.26.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/dist/bm25.d.ts +46 -0
- package/dist/bm25.d.ts.map +1 -0
- package/dist/bm25.js +103 -0
- package/dist/bm25.js.map +1 -0
- package/dist/cjs/bm25.js +106 -0
- package/dist/cjs/bm25.js.map +1 -0
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry.js +198 -169
- package/dist/cjs/registry.js.map +1 -1
- package/dist/cjs/server.js +105 -1
- package/dist/cjs/server.js.map +1 -1
- package/dist/events.d.ts +62 -9
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +12 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +198 -169
- package/dist/registry.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +105 -1
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
- package/src/bm25.test.ts +86 -0
- package/src/bm25.ts +146 -0
- package/src/events.ts +60 -13
- package/src/index.ts +19 -0
- package/src/registry.ts +56 -8
- package/src/server.ts +126 -1
package/dist/bm25.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BM25 Search Implementation
|
|
3
|
+
*
|
|
4
|
+
* Okapi BM25 ranking function for full-text search over agent tools.
|
|
5
|
+
* Used by the search_agent_tools MCP tool to find relevant tools by query.
|
|
6
|
+
*
|
|
7
|
+
* @see https://en.wikipedia.org/wiki/Okapi_BM25
|
|
8
|
+
*/
|
|
9
|
+
export interface BM25Options {
|
|
10
|
+
/** Term frequency saturation parameter (default: 1.2) */
|
|
11
|
+
k1?: number;
|
|
12
|
+
/** Length normalization parameter (default: 0.75) */
|
|
13
|
+
b?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface BM25Document {
|
|
16
|
+
/** Unique document identifier */
|
|
17
|
+
id: string;
|
|
18
|
+
/** Text content to index and search */
|
|
19
|
+
text: string;
|
|
20
|
+
}
|
|
21
|
+
export interface BM25Result {
|
|
22
|
+
/** Document ID */
|
|
23
|
+
id: string;
|
|
24
|
+
/** BM25 relevance score */
|
|
25
|
+
score: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* In-memory BM25 search index.
|
|
29
|
+
*
|
|
30
|
+
* Build an index from documents, then query it to get ranked results.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const index = createBM25Index([
|
|
35
|
+
* { id: "tool-1", text: "greet a user by name" },
|
|
36
|
+
* { id: "tool-2", text: "search database records" },
|
|
37
|
+
* ]);
|
|
38
|
+
*
|
|
39
|
+
* const results = index.search("greet");
|
|
40
|
+
* // [{ id: "tool-1", score: 0.83 }]
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function createBM25Index(documents: BM25Document[], options?: BM25Options): {
|
|
44
|
+
search: (query: string, limit?: number) => BM25Result[];
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=bm25.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../src/bm25.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAmBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,GAAE,WAAgB;oBA6CF,MAAM,UAAU,MAAM,KAAG,UAAU,EAAE;EA+B7D"}
|
package/dist/bm25.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BM25 Search Implementation
|
|
3
|
+
*
|
|
4
|
+
* Okapi BM25 ranking function for full-text search over agent tools.
|
|
5
|
+
* Used by the search_agent_tools MCP tool to find relevant tools by query.
|
|
6
|
+
*
|
|
7
|
+
* @see https://en.wikipedia.org/wiki/Okapi_BM25
|
|
8
|
+
*/
|
|
9
|
+
// ============================================
|
|
10
|
+
// Tokenizer
|
|
11
|
+
// ============================================
|
|
12
|
+
/** Simple whitespace + punctuation tokenizer with lowercasing */
|
|
13
|
+
function tokenize(text) {
|
|
14
|
+
return text
|
|
15
|
+
.toLowerCase()
|
|
16
|
+
.replace(/[^a-z0-9_\-]/g, " ")
|
|
17
|
+
.split(/\s+/)
|
|
18
|
+
.filter((t) => t.length > 0);
|
|
19
|
+
}
|
|
20
|
+
// ============================================
|
|
21
|
+
// BM25 Index
|
|
22
|
+
// ============================================
|
|
23
|
+
/**
|
|
24
|
+
* In-memory BM25 search index.
|
|
25
|
+
*
|
|
26
|
+
* Build an index from documents, then query it to get ranked results.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const index = createBM25Index([
|
|
31
|
+
* { id: "tool-1", text: "greet a user by name" },
|
|
32
|
+
* { id: "tool-2", text: "search database records" },
|
|
33
|
+
* ]);
|
|
34
|
+
*
|
|
35
|
+
* const results = index.search("greet");
|
|
36
|
+
* // [{ id: "tool-1", score: 0.83 }]
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function createBM25Index(documents, options = {}) {
|
|
40
|
+
const { k1 = 1.2, b = 0.75 } = options;
|
|
41
|
+
// Tokenize all documents
|
|
42
|
+
const docTokens = documents.map((d) => tokenize(d.text));
|
|
43
|
+
const docCount = documents.length;
|
|
44
|
+
// Average document length
|
|
45
|
+
const avgDl = docCount > 0
|
|
46
|
+
? docTokens.reduce((sum, tokens) => sum + tokens.length, 0) / docCount
|
|
47
|
+
: 0;
|
|
48
|
+
// Document frequency: how many documents contain each term
|
|
49
|
+
const df = new Map();
|
|
50
|
+
for (const tokens of docTokens) {
|
|
51
|
+
const seen = new Set(tokens);
|
|
52
|
+
for (const term of seen) {
|
|
53
|
+
df.set(term, (df.get(term) ?? 0) + 1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Term frequencies per document
|
|
57
|
+
const tfs = docTokens.map((tokens) => {
|
|
58
|
+
const freq = new Map();
|
|
59
|
+
for (const term of tokens) {
|
|
60
|
+
freq.set(term, (freq.get(term) ?? 0) + 1);
|
|
61
|
+
}
|
|
62
|
+
return freq;
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Compute IDF for a term using the BM25 variant:
|
|
66
|
+
* ln((N - df + 0.5) / (df + 0.5) + 1)
|
|
67
|
+
*/
|
|
68
|
+
function idf(term) {
|
|
69
|
+
const n = df.get(term) ?? 0;
|
|
70
|
+
return Math.log((docCount - n + 0.5) / (n + 0.5) + 1);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Search the index with a text query.
|
|
74
|
+
* Returns results sorted by descending BM25 score.
|
|
75
|
+
*/
|
|
76
|
+
function search(query, limit) {
|
|
77
|
+
const queryTerms = tokenize(query);
|
|
78
|
+
if (queryTerms.length === 0)
|
|
79
|
+
return [];
|
|
80
|
+
const scores = [];
|
|
81
|
+
for (let i = 0; i < docCount; i++) {
|
|
82
|
+
const dl = docTokens[i].length;
|
|
83
|
+
const tf = tfs[i];
|
|
84
|
+
let score = 0;
|
|
85
|
+
for (const term of queryTerms) {
|
|
86
|
+
const termFreq = tf.get(term) ?? 0;
|
|
87
|
+
if (termFreq === 0)
|
|
88
|
+
continue;
|
|
89
|
+
const termIdf = idf(term);
|
|
90
|
+
const numerator = termFreq * (k1 + 1);
|
|
91
|
+
const denominator = termFreq + k1 * (1 - b + b * (dl / avgDl));
|
|
92
|
+
score += termIdf * (numerator / denominator);
|
|
93
|
+
}
|
|
94
|
+
if (score > 0) {
|
|
95
|
+
scores.push({ id: documents[i].id, score });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
scores.sort((a, b) => b.score - a.score);
|
|
99
|
+
return limit != null ? scores.slice(0, limit) : scores;
|
|
100
|
+
}
|
|
101
|
+
return { search };
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=bm25.js.map
|
package/dist/bm25.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bm25.js","sourceRoot":"","sources":["../src/bm25.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/bm25.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BM25 Search Implementation
|
|
4
|
+
*
|
|
5
|
+
* Okapi BM25 ranking function for full-text search over agent tools.
|
|
6
|
+
* Used by the search_agent_tools MCP tool to find relevant tools by query.
|
|
7
|
+
*
|
|
8
|
+
* @see https://en.wikipedia.org/wiki/Okapi_BM25
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.createBM25Index = createBM25Index;
|
|
12
|
+
// ============================================
|
|
13
|
+
// Tokenizer
|
|
14
|
+
// ============================================
|
|
15
|
+
/** Simple whitespace + punctuation tokenizer with lowercasing */
|
|
16
|
+
function tokenize(text) {
|
|
17
|
+
return text
|
|
18
|
+
.toLowerCase()
|
|
19
|
+
.replace(/[^a-z0-9_\-]/g, " ")
|
|
20
|
+
.split(/\s+/)
|
|
21
|
+
.filter((t) => t.length > 0);
|
|
22
|
+
}
|
|
23
|
+
// ============================================
|
|
24
|
+
// BM25 Index
|
|
25
|
+
// ============================================
|
|
26
|
+
/**
|
|
27
|
+
* In-memory BM25 search index.
|
|
28
|
+
*
|
|
29
|
+
* Build an index from documents, then query it to get ranked results.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const index = createBM25Index([
|
|
34
|
+
* { id: "tool-1", text: "greet a user by name" },
|
|
35
|
+
* { id: "tool-2", text: "search database records" },
|
|
36
|
+
* ]);
|
|
37
|
+
*
|
|
38
|
+
* const results = index.search("greet");
|
|
39
|
+
* // [{ id: "tool-1", score: 0.83 }]
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
function createBM25Index(documents, options = {}) {
|
|
43
|
+
const { k1 = 1.2, b = 0.75 } = options;
|
|
44
|
+
// Tokenize all documents
|
|
45
|
+
const docTokens = documents.map((d) => tokenize(d.text));
|
|
46
|
+
const docCount = documents.length;
|
|
47
|
+
// Average document length
|
|
48
|
+
const avgDl = docCount > 0
|
|
49
|
+
? docTokens.reduce((sum, tokens) => sum + tokens.length, 0) / docCount
|
|
50
|
+
: 0;
|
|
51
|
+
// Document frequency: how many documents contain each term
|
|
52
|
+
const df = new Map();
|
|
53
|
+
for (const tokens of docTokens) {
|
|
54
|
+
const seen = new Set(tokens);
|
|
55
|
+
for (const term of seen) {
|
|
56
|
+
df.set(term, (df.get(term) ?? 0) + 1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Term frequencies per document
|
|
60
|
+
const tfs = docTokens.map((tokens) => {
|
|
61
|
+
const freq = new Map();
|
|
62
|
+
for (const term of tokens) {
|
|
63
|
+
freq.set(term, (freq.get(term) ?? 0) + 1);
|
|
64
|
+
}
|
|
65
|
+
return freq;
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* Compute IDF for a term using the BM25 variant:
|
|
69
|
+
* ln((N - df + 0.5) / (df + 0.5) + 1)
|
|
70
|
+
*/
|
|
71
|
+
function idf(term) {
|
|
72
|
+
const n = df.get(term) ?? 0;
|
|
73
|
+
return Math.log((docCount - n + 0.5) / (n + 0.5) + 1);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Search the index with a text query.
|
|
77
|
+
* Returns results sorted by descending BM25 score.
|
|
78
|
+
*/
|
|
79
|
+
function search(query, limit) {
|
|
80
|
+
const queryTerms = tokenize(query);
|
|
81
|
+
if (queryTerms.length === 0)
|
|
82
|
+
return [];
|
|
83
|
+
const scores = [];
|
|
84
|
+
for (let i = 0; i < docCount; i++) {
|
|
85
|
+
const dl = docTokens[i].length;
|
|
86
|
+
const tf = tfs[i];
|
|
87
|
+
let score = 0;
|
|
88
|
+
for (const term of queryTerms) {
|
|
89
|
+
const termFreq = tf.get(term) ?? 0;
|
|
90
|
+
if (termFreq === 0)
|
|
91
|
+
continue;
|
|
92
|
+
const termIdf = idf(term);
|
|
93
|
+
const numerator = termFreq * (k1 + 1);
|
|
94
|
+
const denominator = termFreq + k1 * (1 - b + b * (dl / avgDl));
|
|
95
|
+
score += termIdf * (numerator / denominator);
|
|
96
|
+
}
|
|
97
|
+
if (score > 0) {
|
|
98
|
+
scores.push({ id: documents[i].id, score });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
scores.sort((a, b) => b.score - a.score);
|
|
102
|
+
return limit != null ? scores.slice(0, limit) : scores;
|
|
103
|
+
}
|
|
104
|
+
return { search };
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=bm25.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bm25.js","sourceRoot":"","sources":["../../src/bm25.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA4DH,0CA8EC;AA/GD,+CAA+C;AAC/C,YAAY;AACZ,+CAA+C;AAE/C,iEAAiE;AACjE,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,+CAA+C;AAC/C,aAAa;AACb,+CAA+C;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,eAAe,CAC7B,SAAyB,EACzB,UAAuB,EAAE;IAEzB,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEvC,yBAAyB;IACzB,MAAM,SAAS,GAAe,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;IAElC,0BAA0B;IAC1B,MAAM,KAAK,GACT,QAAQ,GAAG,CAAC;QACV,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ;QACtE,CAAC,CAAC,CAAC,CAAC;IAER,2DAA2D;IAC3D,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,GAAG,GAA0B,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,SAAS,GAAG,CAAC,IAAY;QACvB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,SAAS,MAAM,CAAC,KAAa,EAAE,KAAc;QAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,QAAQ,KAAK,CAAC;oBAAE,SAAS;gBAE7B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;gBAC/D,KAAK,IAAI,OAAO,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
|
package/dist/cjs/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAqNH,wCA4DC;AA/DD;;GAEG;AACH,SAAgB,cAAc;IAC5B,MAAM,SAAS,GAAoB,EAAE,CAAC;IAEtC,SAAS,EAAE,CACT,SAAY,EACZ,QAA0B;QAE1B,SAAS,CAAC,IAAI,CAAC;YACb,SAAS;YACT,QAAQ,EAAE,QAAoC;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,SAAS,SAAS,CAChB,SAAY,EACZ,QAA0B,EAC1B,KAAgD;QAEhD,SAAS,CAAC,IAAI,CAAC;YACb,SAAS;YACT,QAAQ,EAAE,QAAoC;YAC9C,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,SAAS,EAAE,KAAK,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,IAAI,CACjB,KAAkD;QAElD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,mBAAmB;YACnB,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI;gBAAE,SAAS;YAEhD,oBAAoB;YACpB,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnE,SAAS;YACX,CAAC;YAED,4CAA4C;YAC5C,IACE,QAAQ,CAAC,SAAS;gBAClB,MAAM,IAAI,KAAK;gBACf,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,EACjC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qDAAqD;gBACrD,OAAO,CAAC,KAAK,CACX,yCAAyC,KAAK,CAAC,IAAI,GAAG,EACtD,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -64,7 +64,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
64
64
|
};
|
|
65
65
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
66
|
exports.serializeAgent = exports.listAgentTools = exports.useAgent = exports.codegen = exports.createRegistryConsumer = exports.isSecretUri = exports.isSecretUrl = exports.normalizeRegistry = exports.normalizeRef = exports.createKeyManager = exports.createInMemoryUserStore = exports.createUsersAgent = exports.createRemoteRegistryAgent = exports.getDefaultRefreshBodyParams = exports.getDefaultTokenBodyParams = exports.refreshAccessToken = exports.exchangeCodeForToken = exports.createInMemoryIntegrationStore = exports.createIntegrationsAgent = exports.buildJwks = exports.importSigningKey = exports.exportSigningKey = exports.generateSigningKey = exports.verifyJwtFromIssuer = exports.verifyJwtLocal = exports.signJwtES256 = exports.verifyJwt = exports.signJwt = exports.decryptSecret = exports.encryptSecret = exports.processSecretParams = exports.isSecretRef = exports.createInMemorySecretStore = exports.createSecretsAgent = exports.buildAgents = exports.createMemoryAuthStore = exports.createAuthAgent = exports.cleanupExpiredCollections = exports.generateCollectionToken = exports.pendingCollections = exports.createOIDCSignIn = exports.canSeeAgent = exports.resolveAuth = exports.detectAuth = exports.createAgentServer = exports.createEventBus = exports.agentFromSerialized = exports.createAgentRegistry = exports.defineTool = exports.defineAgent = void 0;
|
|
67
|
-
exports.assertValidDefinition = exports.validateDefinition = exports.SerializedToolSchema = exports.SerializedAgentDefinitionSchema = exports.CALL_AGENT_ACTIONS = exports.callAgentInputSchema = exports.introspectMcp = exports.publish = exports.pack = exports.readJsoncFile = exports.parseJsonc = exports.createClient = exports.serializeTool = void 0;
|
|
67
|
+
exports.createBM25Index = exports.assertValidDefinition = exports.validateDefinition = exports.SerializedToolSchema = exports.SerializedAgentDefinitionSchema = exports.CALL_AGENT_ACTIONS = exports.callAgentInputSchema = exports.introspectMcp = exports.publish = exports.pack = exports.readJsoncFile = exports.parseJsonc = exports.createClient = exports.serializeTool = void 0;
|
|
68
68
|
// Define functions
|
|
69
69
|
var define_js_1 = require("./define.js");
|
|
70
70
|
Object.defineProperty(exports, "defineAgent", { enumerable: true, get: function () { return define_js_1.defineAgent; } });
|
|
@@ -192,4 +192,9 @@ Object.defineProperty(exports, "SerializedAgentDefinitionSchema", { enumerable:
|
|
|
192
192
|
Object.defineProperty(exports, "SerializedToolSchema", { enumerable: true, get: function () { return validate_js_1.SerializedToolSchema; } });
|
|
193
193
|
Object.defineProperty(exports, "validateDefinition", { enumerable: true, get: function () { return validate_js_1.validateDefinition; } });
|
|
194
194
|
Object.defineProperty(exports, "assertValidDefinition", { enumerable: true, get: function () { return validate_js_1.assertValidDefinition; } });
|
|
195
|
+
// ============================================
|
|
196
|
+
// BM25 Search
|
|
197
|
+
// ============================================
|
|
198
|
+
var bm25_js_1 = require("./bm25.js");
|
|
199
|
+
Object.defineProperty(exports, "createBM25Index", { enumerable: true, get: function () { return bm25_js_1.createBM25Index; } });
|
|
195
200
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;;;;;;;;;;;;;;;;;;AAiDH,mBAAmB;AACnB,yCAAsD;AAA7C,wGAAA,WAAW,OAAA;AAAE,uGAAA,UAAU,OAAA;AAGhC,WAAW;AACX,6CAAyE;AAAhE,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAOjD,SAAS;AACT,yCAA6C;AAApC,2GAAA,cAAc,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|