@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 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;AAMlD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAE7D,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,kBAAkB;gBAAzC,IAAI,EAAE,cAAc,GAAG,kBAAkB,EAClD,OAAO,EAAE,MAAM;CAKlB;AA8DD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAazE;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,kBAAkB,GAAG,KAAK,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACpC,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA+BD,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,kBAAkB;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,oBAAoB,CAAC,EAAE,IAAI,CAAC;QAC5B,qBAAqB,CAAC,EAAE,IAAI,CAAC;QAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACrC,aAAa,CAAC,EAAE,IAAI,CAAC;QACrB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;KAC9C,CAAC;CACH;AAED,KAAK,mBAAmB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,kBAAkB,CAAC;AA8CvB;;;;;GAKG;AACH,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,IAAI,CAAC;QACxB,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,0EAA0E;QAC1E,YAAY,CAAC,EAAE,oBAAoB,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,IAAI,CAAC;QACrB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAeN;;;;GAIG;AACH,qBAAa,cAAc;IASvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAT1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;gBAG9C,QAAQ,EAAE,YAAY,EAC9B,OAAO,EAAE,MAAM,EACxB,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,yEAAyE;QACzE,WAAW,CAAC,EAAE,WAAW,CAAC;KACtB;IASR;;;;;;;;;;OAUG;IACH,cAAc,CACZ,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAC3C,OAAO,EAAE,MAAM,GACd,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAWxC,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,WAAW,GAAE,yBAA8B,GAC1C,OAAO,CAAC,OAAO,EAAE,CAAC;IAkBrB,OAAO,CAAC,gBAAgB;IAYlB,WAAW,CACf,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,yBAA8B,GAC1C,OAAO,CAAC,iBAAiB,CAAC;IAiE7B;;;;OAIG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EACtC,WAAW,GAAE,yBAA8B,GAC1C,OAAO,CAAC,iBAAiB,CAAC;IAwFvB,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2U3D,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAyFzE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB;;0BAtuBrC,MAAM,EAAE;0BACR,MAAM,EAAE;wBACV,MAAM,EAAE;oBACZ,IAAI;yBACC,MAAM;2BACJ,IAAI;oCACK,MAAM;QAClC,0EAA0E;uBAC3D,oBAAoB;gBAC3B,MAAM;uBACC,MAAM;wBACL,IAAI;+BACG,mBAAmB,EAAE;mBACjC,MAAM;;;;;YA2tBb,MAAM;gBACF,MAAM;gBACN,MAAM;uBACC,MAAM;eACd,kBAAkB,CAAC,MAAM,CAAC,EAAE;;;;;;EAgCtC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB;;0BA9wBlC,MAAM,EAAE;0BACR,MAAM,EAAE;wBACV,MAAM,EAAE;oBACZ,IAAI;yBACC,MAAM;2BACJ,IAAI;oCACK,MAAM;QAClC,0EAA0E;uBAC3D,oBAAoB;gBAC3B,MAAM;uBACC,MAAM;wBACL,IAAI;+BACG,mBAAmB,EAAE;mBACjC,MAAM;;;;;;;cApGX,MAAM;iBACH,MAAM;sBACD,MAAM;sBACN,OAAO;uBACN,OAAO;+BACC,IAAI;gCACH,IAAI;oBAChB,MAAM,EAAE;4BACA,MAAM,EAAE;qBACf,MAAM,EAAE;sBACP,OAAO,CAAC,aAAa,CAAC;wBACpB,IAAI;+BACG,mBAAmB,EAAE;;;;;;EA02B/C"}
1
+ {"version":3,"file":"catalog-service.d.ts","sourceRoot":"","sources":["../src/catalog-service.ts"],"names":[],"mappings":"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"}
@@ -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 MAX_QUERY_ANALYSIS_TERMS = 8;
12
- const MAX_QUERY_ANALYSIS_TERM_LENGTH = 64;
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 ? { outputKeys: outputKeys.properties } : {}),
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
- matches.length = 0;
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
- matches.push({
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
- collectMatches("all");
387
- if (query.trim() && matches.length === 0) {
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.sort((a, b) => b.score - a.score || a.order - b.order);
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
- // Term-bearing searches report analysis only when the scorer had to
530
- // degrade; a browse has no terms to analyse and normally reports none at
531
- // all. But neither "this catalog is unavailable" nor "there is no such
532
- // connector" is a statement about terms, and answering either browse with
533
- // an empty entry list alone is indistinguishable from a connector that
534
- // simply exposes no tools. The term partitions stay empty on those paths
535
- // because there were no terms — the scope fields carry the whole message.
536
- const reportsQueryAnalysis = queryTerms.length > 0
537
- ? matchMode === "partial"
538
- : unknownConnectorGuidance !== undefined || unavailableCatalogs > 0;
539
- const guidance = queryTerms.length === 0
540
- ? // A browse has no terms to advise about, so it stays silent unless
541
- // the scope itself failed: the guidance on a scoped miss recommends
542
- // browsing with an empty query, and that advice must not lead into a
543
- // dead end that looks like a connector with no tools.
544
- (unknownConnectorGuidance ??
545
- (unavailableCatalogs === 0
546
- ? undefined
547
- : scopedConnector
548
- ? `Connector "${scopedConnector.id}" could not be browsed because its catalog was unavailable. Inspect catalogError for the typed reason and recovery detail.`
549
- : `${unavailableCatalogs} connector catalog${unavailableCatalogs === 1 ? " was" : "s were"} unavailable, so this browse is incomplete. Scope by connector to see the typed reason.`))
550
- : matches.length === 0
551
- ? (unknownConnectorGuidance ??
552
- (scopedConnector
553
- ? unavailableCatalogs > 0
554
- ? `Connector "${scopedConnector.id}" could not be searched because its catalog was unavailable. Inspect catalogError for the typed reason and recovery detail.`
555
- : scopedGuide?.required
556
- ? `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}`
557
- : `No matching ${safetyLabel}capability was found on connector "${scopedConnector.id}". Refine terms or browse it with an empty query.${filterRecovery}`
558
- : unavailableCatalogs === 0
559
- ? `No matching ${safetyLabel}capability is configured in this deployment. Refine terms, scope by connector, or browse with an empty query.${filterRecovery}`
560
- : `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}`))
561
- : matchMode === "partial"
562
- ? scopedConnector
563
- ? `No single tool on connector "${scopedConnector.id}" matched every term. Split distinct intents into separate searches.`
564
- : unavailableCatalogs === 0
565
- ? "No single tool matched every term. Split distinct intents into separate searches."
566
- : "No single tool matched every term in the catalogs that answered. Split distinct intents into separate searches."
567
- : undefined;
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
- ...(queryTerms.length > analyzedTerms.length ||
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
- /** Rank a connector's tools while caching its normalized plain-data index. */
33
- export declare function rankTools(tools: ToolDef[], query: string, mode?: LexicalMatchMode, statistics?: LexicalCorpusStatistics): RankedTool[];
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 {
@@ -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;AAIxD,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;CACf;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;AA8DD,8EAA8E;AAC9E,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,gBAAwB,EAC9B,UAAU,GAAE,uBAGX,GACA,UAAU,EAAE,CASd;AA2JD,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,CA4BxB;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"}
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
- /** Rank a connector's tools while caching its normalized plain-data index. */
260
- export function rankTools(tools, query, mode = "all", statistics = lexicalCorpusStatistics([tools], query)) {
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 score = scoreDocument(doc, phrase, terms, mode, statistics);
266
- if (score !== null)
267
- ranked.push({ tool: doc.tool, score, order });
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.map((value) => JSON.stringify(value)).join(" | ");
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: false };
536
+ result = { text: rendered, truncated: enumTruncated };
488
537
  }
489
538
  else {
490
539
  result = {