@zackbart/connecta 0.14.2 → 0.15.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/CHANGELOG.md +62 -0
- package/dist/catalog-service.d.ts.map +1 -1
- package/dist/catalog-service.js +104 -56
- package/dist/catalog-service.js.map +1 -1
- package/dist/catalog.d.ts +8 -2
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +58 -9
- package/dist/catalog.js.map +1 -1
- package/dist/connectors/api.d.ts +4 -4
- package/dist/connectors/api.js +4 -4
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +8 -7
- package/dist/execute.js.map +1 -1
- package/dist/meta-tools.js +1 -1
- package/dist/meta-tools.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +97 -17
- package/dist/validate.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/documentation/code-mode.md +9 -9
- package/documentation/meta-tools.md +56 -13
- package/ethos.md +1 -0
- package/package.json +1 -1
- package/src/catalog-service.ts +93 -29
- package/src/catalog.ts +71 -8
- package/src/connectors/api.ts +4 -4
- package/src/execute.ts +8 -7
- package/src/meta-tools.ts +1 -1
- package/src/validate.ts +125 -20
- package/src/version.ts +1 -1
- package/templates/node/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,68 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this package are documented here.
|
|
4
4
|
|
|
5
|
+
## 0.15.0 — 2026-08-10
|
|
6
|
+
|
|
7
|
+
Discovery now keeps strong action/object near-matches visible beside complete
|
|
8
|
+
matches, gives each compact enum its own bound, and states the grouped, flat,
|
|
9
|
+
and describe envelopes plainly. Invalid arguments also stop producing the
|
|
10
|
+
contradictory claim that a declared property is undeclared. The result is a
|
|
11
|
+
more dependable route from a short query to one correctly shaped call, without
|
|
12
|
+
a new tool, a semantic index, or a larger discovery budget.
|
|
13
|
+
|
|
14
|
+
No published surface is removed. Per-result `queryCoverage` was prototyped on
|
|
15
|
+
`main`, measured in cold-agent runs, and removed before this release because it
|
|
16
|
+
did not earn its repeated response cost. Deployments upgrading from 0.14.2 can
|
|
17
|
+
ignore that experiment. Discovery consumers should note that result order can
|
|
18
|
+
improve, an empty output object no longer emits `outputKeys: []`, and a large
|
|
19
|
+
enum's compact rendering is now abbreviated; exact JSON schemas remain
|
|
20
|
+
available through JSON discovery and `connecta.describe`.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- **Complete and partial lexical matches can share a page.** A weak all-term
|
|
25
|
+
description match no longer suppresses a stronger action/object tool.
|
|
26
|
+
Complete matches normally lead; a partial candidate whose full normalized
|
|
27
|
+
tool name occurs in the raw query can compete by score, and other candidates
|
|
28
|
+
covering at least two terms fill the remaining page after all complete
|
|
29
|
+
matches. Stable pagination, connector and safety filters, the no-complete
|
|
30
|
+
any-term fallback, and discovery size bounds remain intact (#326).
|
|
31
|
+
- **Large compact enums have a per-node budget.** Each enum receives 256 bytes
|
|
32
|
+
inside the unchanged 1,024-byte schema ceiling. Truncation preserves whole
|
|
33
|
+
values and reports the exact omitted count before `unknown`; an empty enum
|
|
34
|
+
renders as `never`. Small enums remain complete, surrounding property types
|
|
35
|
+
stay visible, and JSON discovery and describe retain every value (#325).
|
|
36
|
+
- **Discovery envelopes and schema-key metadata are explicit.** Guidance now
|
|
37
|
+
distinguishes grouped top-level `search_tools`, flat `connecta.search`, and
|
|
38
|
+
the `connecta.describe` tools envelope. Output objects with no declared
|
|
39
|
+
properties omit `outputKeys`, while zero-input objects still report empty
|
|
40
|
+
input-key lists. Program-UI guidance again documents the read manifest and
|
|
41
|
+
its exact `connecta.read(name, args)` route (#324).
|
|
42
|
+
- **Non-lexical input no longer becomes a browse.** A non-empty query with no
|
|
43
|
+
ASCII lexical terms returns bounded no-match analysis; mixed input searches
|
|
44
|
+
with its ASCII terms, and echoed query feedback clips at Unicode character
|
|
45
|
+
boundaries rather than splitting a code point (#323).
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- **Argument failures report only the constraints that failed.** When a
|
|
50
|
+
declared property violates its enum, type, or another subschema beside
|
|
51
|
+
`additionalProperties: false`, the error no longer also calls that property
|
|
52
|
+
undeclared or exposes the validator's `False boolean schema` wording.
|
|
53
|
+
Genuine unknown properties still produce one `additionalProperties` issue;
|
|
54
|
+
independent false-schema failures, nested paths, empty property names,
|
|
55
|
+
issue truncation, and strict-validation behavior remain accurate (#316).
|
|
56
|
+
|
|
57
|
+
### Removed
|
|
58
|
+
|
|
59
|
+
- **Unreleased per-result lexical query coverage.** `search_tools` and
|
|
60
|
+
`connecta.search` do not serialize the experimental `queryCoverage` field.
|
|
61
|
+
Coverage-off beat the verbose wire, the first compact wire regressed
|
|
62
|
+
efficiency, and the trailing form missed its locally precommitted 30-run
|
|
63
|
+
gate: 13/30 clean routes versus 9/30 without coverage (+13.3 percentage
|
|
64
|
+
points, Fisher p=0.422). Ranking, pagination, filters, Unicode handling, and
|
|
65
|
+
page-level partial/no-match `queryAnalysis` remain (#322, #323, #326).
|
|
66
|
+
|
|
5
67
|
## 0.14.2 — 2026-08-08
|
|
6
68
|
|
|
7
69
|
Remote MCP connectors can now make one explicit compatibility concession for a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-service.d.ts","sourceRoot":"","sources":["../src/catalog-service.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EACV,yBAAyB,EACzB,YAAY,EACb,MAAM,eAAe,CAAC;AAavB,OAAO,KAAK,EACV,SAAS,EAET,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,0BAA0B,SAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog-service.d.ts","sourceRoot":"","sources":["../src/catalog-service.ts"],"names":[],"mappings":"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"}
|
package/dist/catalog-service.js
CHANGED
|
@@ -8,9 +8,23 @@ export const DEFAULT_SEARCH_LIMIT = 8;
|
|
|
8
8
|
export const MAX_SEARCH_LIMIT = 100;
|
|
9
9
|
export const MAX_DESCRIBE_ADDRESSES = 100;
|
|
10
10
|
export const MAX_DISCOVERY_RESULT_BYTES = 256_000;
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const MAX_QUERY_TERMS = 8;
|
|
12
|
+
const MAX_QUERY_TERM_LENGTH = 64;
|
|
13
13
|
const encoder = new TextEncoder();
|
|
14
|
+
/** Clip one echoed query term without splitting a non-BMP code point. */
|
|
15
|
+
function boundedQueryTerm(term) {
|
|
16
|
+
const characters = [];
|
|
17
|
+
for (const character of term) {
|
|
18
|
+
characters.push(character);
|
|
19
|
+
if (characters.length > MAX_QUERY_TERM_LENGTH) {
|
|
20
|
+
return {
|
|
21
|
+
text: `${characters.slice(0, MAX_QUERY_TERM_LENGTH - 1).join("")}…`,
|
|
22
|
+
truncated: true,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return { text: characters.join(""), truncated: false };
|
|
27
|
+
}
|
|
14
28
|
export class DiscoveryPolicyError extends Error {
|
|
15
29
|
code;
|
|
16
30
|
constructor(code, message) {
|
|
@@ -121,7 +135,9 @@ function schemaKeyMetadata(input, output) {
|
|
|
121
135
|
requiredInputKeys: inputKeys.required,
|
|
122
136
|
}
|
|
123
137
|
: {}),
|
|
124
|
-
...(outputKeys
|
|
138
|
+
...(outputKeys && outputKeys.properties.length > 0
|
|
139
|
+
? { outputKeys: outputKeys.properties }
|
|
140
|
+
: {}),
|
|
125
141
|
};
|
|
126
142
|
}
|
|
127
143
|
function renderSchema(schema, format) {
|
|
@@ -361,8 +377,18 @@ export class CatalogService {
|
|
|
361
377
|
const matches = [];
|
|
362
378
|
let matchMode = "all";
|
|
363
379
|
const statistics = lexicalCorpusStatistics(searchableCatalogs.flatMap((catalog) => catalog.status === "fulfilled" ? [catalog.value] : []), retrievalQuery);
|
|
380
|
+
const trimmedQuery = query.trim();
|
|
381
|
+
const isBrowse = trimmedQuery.length === 0;
|
|
382
|
+
const queryTerms = lexicalQueryTerms(retrievalQuery);
|
|
383
|
+
const queryTermCount = queryTerms.length;
|
|
384
|
+
const unsearchableQuery = !isBrowse && queryTermCount === 0;
|
|
385
|
+
const analysisTerms = unsearchableQuery ? [trimmedQuery] : queryTerms;
|
|
386
|
+
const analyzedTerms = analysisTerms.slice(0, MAX_QUERY_TERMS);
|
|
387
|
+
const displayTerm = (term) => boundedQueryTerm(term).text;
|
|
388
|
+
const queryMetadataTruncated = analysisTerms.length > analyzedTerms.length ||
|
|
389
|
+
analyzedTerms.some((term) => boundedQueryTerm(term).truncated);
|
|
364
390
|
const collectMatches = (mode) => {
|
|
365
|
-
|
|
391
|
+
const collected = [];
|
|
366
392
|
let orderBase = 0;
|
|
367
393
|
searchableCatalogs.forEach((catalog, connectorIndex) => {
|
|
368
394
|
const connector = connectors[connectorIndex];
|
|
@@ -370,25 +396,48 @@ export class CatalogService {
|
|
|
370
396
|
throw new Error("Catalog result has no corresponding connector");
|
|
371
397
|
}
|
|
372
398
|
if (catalog.status === "fulfilled") {
|
|
373
|
-
for (const ranked of rankTools(catalog.value, retrievalQuery, mode, statistics)) {
|
|
374
|
-
|
|
399
|
+
for (const ranked of rankTools(catalog.value, retrievalQuery, mode, statistics, query)) {
|
|
400
|
+
collected.push({
|
|
375
401
|
connector,
|
|
376
402
|
tool: ranked.tool,
|
|
377
403
|
score: ranked.score,
|
|
378
404
|
order: orderBase + ranked.order,
|
|
405
|
+
exactName: ranked.exactName,
|
|
406
|
+
matchedTermCount: ranked.matchedTermCount,
|
|
407
|
+
complete: isBrowse || ranked.matchedTermCount === queryTermCount,
|
|
379
408
|
});
|
|
380
409
|
}
|
|
381
410
|
}
|
|
382
411
|
orderBase +=
|
|
383
412
|
catalog.status === "fulfilled" ? catalog.value.length : 1;
|
|
384
413
|
});
|
|
414
|
+
return collected;
|
|
385
415
|
};
|
|
386
|
-
|
|
387
|
-
|
|
416
|
+
// A non-empty query that normalizes to no lexical terms is not a browse.
|
|
417
|
+
// Ranking an empty phrase would otherwise return every tool as an
|
|
418
|
+
// unrelated zero-score match, with no coverage to explain the result.
|
|
419
|
+
const rankedMatches = unsearchableQuery
|
|
420
|
+
? []
|
|
421
|
+
: collectMatches(isBrowse ? "all" : "partial");
|
|
422
|
+
const completeMatchCount = rankedMatches.filter((match) => match.complete).length;
|
|
423
|
+
matches.push(...rankedMatches.filter((match) => match.complete ||
|
|
424
|
+
completeMatchCount === 0 ||
|
|
425
|
+
match.exactName ||
|
|
426
|
+
match.matchedTermCount >= 2));
|
|
427
|
+
if (!isBrowse && !unsearchableQuery && completeMatchCount === 0) {
|
|
388
428
|
matchMode = "partial";
|
|
389
|
-
collectMatches(matchMode);
|
|
390
429
|
}
|
|
391
|
-
matches
|
|
430
|
+
// Complete matches and exact tool-name phrases share the first rank tier.
|
|
431
|
+
// This lets a strong action/object name beat a weak description-only
|
|
432
|
+
// decoy. Other partial matches fill the remaining page only after every
|
|
433
|
+
// complete match, regardless of a rare-term score spike.
|
|
434
|
+
matches.sort((a, b) => {
|
|
435
|
+
const aFirstTier = a.complete || a.exactName;
|
|
436
|
+
const bFirstTier = b.complete || b.exactName;
|
|
437
|
+
return (Number(bFirstTier) - Number(aFirstTier) ||
|
|
438
|
+
b.score - a.score ||
|
|
439
|
+
a.order - b.order);
|
|
440
|
+
});
|
|
392
441
|
const pageMatches = matches.slice(offset, offset + limit);
|
|
393
442
|
const entries = pageMatches.map((match) => {
|
|
394
443
|
const input = match.tool.inputSchema ?? { type: "object" };
|
|
@@ -460,11 +509,6 @@ export class CatalogService {
|
|
|
460
509
|
const nextOffset = offset + entries.length < matches.length
|
|
461
510
|
? offset + entries.length
|
|
462
511
|
: undefined;
|
|
463
|
-
const queryTerms = lexicalQueryTerms(retrievalQuery);
|
|
464
|
-
const analyzedTerms = queryTerms.slice(0, MAX_QUERY_ANALYSIS_TERMS);
|
|
465
|
-
const displayTerm = (term) => term.length <= MAX_QUERY_ANALYSIS_TERM_LENGTH
|
|
466
|
-
? term
|
|
467
|
-
: `${term.slice(0, MAX_QUERY_ANALYSIS_TERM_LENGTH - 1)}…`;
|
|
468
512
|
const pageTools = new Set(pageMatches.map((match) => match.tool));
|
|
469
513
|
const matchingTools = (term) => new Set([
|
|
470
514
|
...(statistics.nameMatches.get(term) ?? []),
|
|
@@ -526,45 +570,50 @@ export class CatalogService {
|
|
|
526
570
|
const unknownConnectorGuidance = args.connector && !scopedConnector
|
|
527
571
|
? `Connector "${args.connector}" is not configured in this deployment. Omit connector to search all configured tools.`
|
|
528
572
|
: undefined;
|
|
529
|
-
//
|
|
530
|
-
//
|
|
531
|
-
//
|
|
532
|
-
//
|
|
533
|
-
// an empty
|
|
534
|
-
//
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
const guidance =
|
|
540
|
-
?
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
573
|
+
// Searchable queries report analysis when the scorer had to degrade. A
|
|
574
|
+
// non-empty query with no searchable terms reports the bounded raw input
|
|
575
|
+
// as unmatched instead of silently becoming a browse. A real browse has
|
|
576
|
+
// no terms to analyse and normally reports none at all. Scope failures are
|
|
577
|
+
// the exception, because an empty result alone looks like a connector that
|
|
578
|
+
// correctly exposes no tools.
|
|
579
|
+
const reportsQueryAnalysis = unsearchableQuery ||
|
|
580
|
+
(queryTerms.length > 0
|
|
581
|
+
? matchMode === "partial"
|
|
582
|
+
: unknownConnectorGuidance !== undefined || unavailableCatalogs > 0);
|
|
583
|
+
const guidance = unsearchableQuery
|
|
584
|
+
? (unknownConnectorGuidance ??
|
|
585
|
+
(scopedConnector && unavailableCatalogs > 0
|
|
586
|
+
? `Connector "${scopedConnector.id}" could not be searched because its catalog was unavailable. Inspect catalogError for the typed reason and recovery detail.`
|
|
587
|
+
: "The query contained no searchable lexical terms. Use 2–4 ASCII action/object terms, or browse with an empty query."))
|
|
588
|
+
: queryTerms.length === 0
|
|
589
|
+
? // A browse has no terms to advise about, so it stays silent unless
|
|
590
|
+
// the scope itself failed: the guidance on a scoped miss recommends
|
|
591
|
+
// browsing with an empty query, and that advice must not lead into a
|
|
592
|
+
// dead end that looks like a connector with no tools.
|
|
593
|
+
(unknownConnectorGuidance ??
|
|
594
|
+
(unavailableCatalogs === 0
|
|
595
|
+
? undefined
|
|
596
|
+
: scopedConnector
|
|
597
|
+
? `Connector "${scopedConnector.id}" could not be browsed because its catalog was unavailable. Inspect catalogError for the typed reason and recovery detail.`
|
|
598
|
+
: `${unavailableCatalogs} connector catalog${unavailableCatalogs === 1 ? " was" : "s were"} unavailable, so this browse is incomplete. Scope by connector to see the typed reason.`))
|
|
599
|
+
: matches.length === 0
|
|
600
|
+
? (unknownConnectorGuidance ??
|
|
601
|
+
(scopedConnector
|
|
602
|
+
? unavailableCatalogs > 0
|
|
603
|
+
? `Connector "${scopedConnector.id}" could not be searched because its catalog was unavailable. Inspect catalogError for the typed reason and recovery detail.`
|
|
604
|
+
: scopedGuide?.required
|
|
605
|
+
? `No matching ${safetyLabel}capability was found on connector "${scopedConnector.id}". Fetch queryAnalysis.guide before calling, then refine terms or browse with an empty query.${filterRecovery}`
|
|
606
|
+
: `No matching ${safetyLabel}capability was found on connector "${scopedConnector.id}". Refine terms or browse it with an empty query.${filterRecovery}`
|
|
607
|
+
: unavailableCatalogs === 0
|
|
608
|
+
? `No matching ${safetyLabel}capability is configured in this deployment. Refine terms, scope by connector, or browse with an empty query.${filterRecovery}`
|
|
609
|
+
: `No matching ${safetyLabel}capability was found in the catalogs that answered; ${unavailableCatalogs} connector catalog${unavailableCatalogs === 1 ? " was" : "s were"} unavailable. Refine terms, scope by connector, or browse with an empty query.${filterRecovery}`))
|
|
610
|
+
: matchMode === "partial"
|
|
611
|
+
? scopedConnector
|
|
612
|
+
? `No single tool on connector "${scopedConnector.id}" matched every term. Split distinct intents into separate searches.`
|
|
613
|
+
: unavailableCatalogs === 0
|
|
614
|
+
? "No single tool matched every term. Split distinct intents into separate searches."
|
|
615
|
+
: "No single tool matched every term in the catalogs that answered. Split distinct intents into separate searches."
|
|
616
|
+
: undefined;
|
|
568
617
|
return {
|
|
569
618
|
entries,
|
|
570
619
|
total: matches.length,
|
|
@@ -581,8 +630,7 @@ export class CatalogService {
|
|
|
581
630
|
representedTerms,
|
|
582
631
|
otherResultTerms,
|
|
583
632
|
unmatchedTerms,
|
|
584
|
-
...(
|
|
585
|
-
analyzedTerms.some((term) => term.length > MAX_QUERY_ANALYSIS_TERM_LENGTH)
|
|
633
|
+
...(queryMetadataTruncated
|
|
586
634
|
? { truncated: true }
|
|
587
635
|
: {}),
|
|
588
636
|
...(args.connector ? { connectorScope: args.connector } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-service.js","sourceRoot":"","sources":["../src/catalog-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog-service.js","sourceRoot":"","sources":["../src/catalog-service.ts"],"names":[],"mappings":"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"}
|
package/dist/catalog.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface RankedTool {
|
|
|
15
15
|
tool: ToolDef;
|
|
16
16
|
score: number;
|
|
17
17
|
order: number;
|
|
18
|
+
exactName: boolean;
|
|
19
|
+
matchedTermCount: number;
|
|
18
20
|
}
|
|
19
21
|
export interface LexicalCorpusStatistics {
|
|
20
22
|
documentCount: number;
|
|
@@ -29,8 +31,12 @@ export interface LexicalCorpusStatistics {
|
|
|
29
31
|
* ones without making any action word a stopword.
|
|
30
32
|
*/
|
|
31
33
|
export declare function lexicalCorpusStatistics(toolSets: ToolDef[][], query: string): LexicalCorpusStatistics;
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Rank a connector's tools while caching its normalized plain-data index.
|
|
36
|
+
* `exactNameQuery` may retain framing removed from the scoring query: those
|
|
37
|
+
* words are weak term evidence, but remain part of a real tool-name phrase.
|
|
38
|
+
*/
|
|
39
|
+
export declare function rankTools(tools: ToolDef[], query: string, mode?: LexicalMatchMode, statistics?: LexicalCorpusStatistics, exactNameQuery?: string): RankedTool[];
|
|
34
40
|
/** Render and cache a compact TypeScript-like representation of JSON Schema. */
|
|
35
41
|
export declare function compactSchema(schema: JsonSchema): string;
|
|
36
42
|
export interface CompactDiscoverySchema {
|
package/dist/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAItD,eAAO,MAAM,kCAAkC,OAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAItD,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAMxD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,OAAO,GACZ,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,OAAO,GACZ,MAAM,GAAG,SAAS,CAEpB;AA6BD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzD;AA4CD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxD;AAeD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,SAAS,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAyFD,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EAAE,EAAE,EACrB,KAAK,EAAE,MAAM,GACZ,uBAAuB,CAqDzB;AAmED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,gBAAwB,EAC9B,UAAU,GAAE,uBAGX,EACD,cAAc,GAAE,MAAc,GAC7B,UAAU,EAAE,CAkBd;AA2LD,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAkBxD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAyCD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GACjB,sBAAsB,CAoCxB;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,GAAG,SAAS,GAC7B,gBAAgB,GAAG,SAAS,CAW9B"}
|
package/dist/catalog.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const DEFAULT_DESCRIPTION_LENGTH = 240;
|
|
2
2
|
const DISCOVERY_DESCRIPTION_LENGTH = 160;
|
|
3
3
|
export const MAX_COMPACT_DISCOVERY_SCHEMA_BYTES = 1_024;
|
|
4
|
+
const MAX_COMPACT_DISCOVERY_ENUM_BYTES = MAX_COMPACT_DISCOVERY_SCHEMA_BYTES / 4;
|
|
4
5
|
const schemaEncoder = new TextEncoder();
|
|
5
6
|
const COMPACT_DISCOVERY_TRUNCATION = " /* truncated */";
|
|
6
7
|
export function summarizeDescription(text, full) {
|
|
@@ -222,7 +223,7 @@ function inverseDocumentFrequency(term, statistics) {
|
|
|
222
223
|
}
|
|
223
224
|
function scoreDocument(doc, phrase, terms, mode, statistics) {
|
|
224
225
|
if (!phrase)
|
|
225
|
-
return 0;
|
|
226
|
+
return { score: 0, matchedTermCount: 0 };
|
|
226
227
|
const matchedTerms = terms.filter((term) => statistics.nameMatches.get(term)?.has(doc.tool) ||
|
|
227
228
|
statistics.descriptionMatches.get(term)?.has(doc.tool));
|
|
228
229
|
if (mode === "all" && matchedTerms.length !== terms.length)
|
|
@@ -254,17 +255,34 @@ function scoreDocument(doc, phrase, terms, mode, statistics) {
|
|
|
254
255
|
score += 1.5 * weight;
|
|
255
256
|
}
|
|
256
257
|
}
|
|
257
|
-
return score;
|
|
258
|
+
return { score, matchedTermCount: matchedTerms.length };
|
|
258
259
|
}
|
|
259
|
-
|
|
260
|
-
|
|
260
|
+
function queryContainsExactName(doc, phrase) {
|
|
261
|
+
if (!doc.name || !phrase)
|
|
262
|
+
return false;
|
|
263
|
+
return (` ${phrase} `).includes(` ${doc.name} `);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Rank a connector's tools while caching its normalized plain-data index.
|
|
267
|
+
* `exactNameQuery` may retain framing removed from the scoring query: those
|
|
268
|
+
* words are weak term evidence, but remain part of a real tool-name phrase.
|
|
269
|
+
*/
|
|
270
|
+
export function rankTools(tools, query, mode = "all", statistics = lexicalCorpusStatistics([tools], query), exactNameQuery = query) {
|
|
261
271
|
const phrase = normalized(query);
|
|
272
|
+
const exactNamePhrase = normalized(exactNameQuery);
|
|
262
273
|
const terms = [...new Set(phrase.split(/\s+/).filter(Boolean))];
|
|
263
274
|
const ranked = [];
|
|
264
275
|
documentsFor(tools).forEach((doc, order) => {
|
|
265
|
-
const
|
|
266
|
-
if (
|
|
267
|
-
ranked.push({
|
|
276
|
+
const scored = scoreDocument(doc, phrase, terms, mode, statistics);
|
|
277
|
+
if (scored !== null) {
|
|
278
|
+
ranked.push({
|
|
279
|
+
tool: doc.tool,
|
|
280
|
+
score: scored.score,
|
|
281
|
+
order,
|
|
282
|
+
exactName: queryContainsExactName(doc, exactNamePhrase),
|
|
283
|
+
matchedTermCount: scored.matchedTermCount,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
268
286
|
});
|
|
269
287
|
return ranked;
|
|
270
288
|
}
|
|
@@ -305,6 +323,29 @@ function grouped(part) {
|
|
|
305
323
|
}
|
|
306
324
|
return part;
|
|
307
325
|
}
|
|
326
|
+
function renderEnum(values, byteLimit, onTruncated) {
|
|
327
|
+
if (values.length === 0)
|
|
328
|
+
return "never";
|
|
329
|
+
const renderedValues = values.map((value) => JSON.stringify(value));
|
|
330
|
+
const full = renderedValues.join(" | ");
|
|
331
|
+
if (byteLimit === undefined ||
|
|
332
|
+
schemaEncoder.encode(full).length <= byteLimit) {
|
|
333
|
+
return full;
|
|
334
|
+
}
|
|
335
|
+
onTruncated?.();
|
|
336
|
+
const marker = (omitted) => `unknown /* ${omitted} enum ${omitted === 1 ? "value" : "values"} omitted */`;
|
|
337
|
+
let rendered = `(${marker(values.length)})`;
|
|
338
|
+
const prefix = [];
|
|
339
|
+
for (let index = 0; index < renderedValues.length - 1; index += 1) {
|
|
340
|
+
prefix.push(renderedValues[index]);
|
|
341
|
+
const omitted = renderedValues.length - prefix.length;
|
|
342
|
+
const candidate = `(${prefix.join(" | ")} | ${marker(omitted)})`;
|
|
343
|
+
if (schemaEncoder.encode(candidate).length > byteLimit)
|
|
344
|
+
break;
|
|
345
|
+
rendered = candidate;
|
|
346
|
+
}
|
|
347
|
+
return rendered;
|
|
348
|
+
}
|
|
308
349
|
function renderSchema(schema, defs, seen, depth, options) {
|
|
309
350
|
if (depth > 4)
|
|
310
351
|
return "…";
|
|
@@ -354,7 +395,7 @@ function renderSchema(schema, defs, seen, depth, options) {
|
|
|
354
395
|
"unknown");
|
|
355
396
|
}
|
|
356
397
|
if (Array.isArray(s.enum)) {
|
|
357
|
-
return s.enum.
|
|
398
|
+
return renderEnum(s.enum, options.enumByteLimit, options.onEnumTruncated);
|
|
358
399
|
}
|
|
359
400
|
// Checked before type/properties so a discriminator like
|
|
360
401
|
// { type: "string", const: "emoji" } renders as "emoji" rather than string.
|
|
@@ -472,10 +513,18 @@ export function compactDiscoverySchema(schema) {
|
|
|
472
513
|
...schema.definitions,
|
|
473
514
|
};
|
|
474
515
|
let rendered;
|
|
516
|
+
let enumTruncated = false;
|
|
475
517
|
try {
|
|
476
518
|
rendered = renderSchema(schema, defs, new Set(), 0, {
|
|
477
519
|
propertyDescriptions: false,
|
|
478
520
|
requiredFirst: true,
|
|
521
|
+
// Three near-cap enums spend about three quarters of the complete shape
|
|
522
|
+
// budget, leaving the final quarter for surrounding syntax before the
|
|
523
|
+
// unchanged global fallback applies. Whole values keep this UTF-8 safe.
|
|
524
|
+
enumByteLimit: MAX_COMPACT_DISCOVERY_ENUM_BYTES,
|
|
525
|
+
onEnumTruncated: () => {
|
|
526
|
+
enumTruncated = true;
|
|
527
|
+
},
|
|
479
528
|
});
|
|
480
529
|
}
|
|
481
530
|
catch {
|
|
@@ -484,7 +533,7 @@ export function compactDiscoverySchema(schema) {
|
|
|
484
533
|
const bytes = schemaEncoder.encode(rendered);
|
|
485
534
|
let result;
|
|
486
535
|
if (bytes.length <= MAX_COMPACT_DISCOVERY_SCHEMA_BYTES) {
|
|
487
|
-
result = { text: rendered, truncated:
|
|
536
|
+
result = { text: rendered, truncated: enumTruncated };
|
|
488
537
|
}
|
|
489
538
|
else {
|
|
490
539
|
result = {
|