pi-fabric 0.49.0 → 0.49.1
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/core/capability-advisory.d.ts.map +1 -1
- package/dist/core/capability-advisory.js +10 -3
- package/dist/core/capability-advisory.js.map +1 -1
- package/dist/core/capability-fingerprint.d.ts +2 -0
- package/dist/core/capability-fingerprint.d.ts.map +1 -1
- package/dist/core/capability-fingerprint.js +45 -9
- package/dist/core/capability-fingerprint.js.map +1 -1
- package/docs/capability-combustion.md +16 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-advisory.d.ts","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"capability-advisory.d.ts","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAW7D,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AAwDtE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QAAE,OAAO,EAAE,uBAAuB,EAAE,CAAA;KAAE,CAAC;CACjD;AAED,KAAK,oBAAoB,GAAG,OAAO,GAAG,SAAS,CAAC;AAMhD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAoED,qBAAa,iBAAiB;;IAa5B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAMtE,OAAO,CAAC,WAAW,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAIpD,UAAU,IAAI,OAAO;IAIrB,KAAK,IAAI,IAAI;IAeb,qBAAqB,CACnB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,eAAe,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACjC,IAAI;IA+DP,UAAU,IAAI,cAAc,EAAE;IAO9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQ1C,OAAO,IAAI,IAAI;IASf,QAAQ,CACN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,8BAA8B,GACrC,wBAAwB,GAAG,SAAS;CA6MxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildCapabilityIndex, capabilityWordCandidates, isMostlyNonLatinPrompt, splitCapabilityWords, truncateAdvisoryDescription, } from "./capability-fingerprint.js";
|
|
1
|
+
import { buildCapabilityIndex, capabilityPathOnlyTerms, capabilityWordCandidates, isMostlyNonLatinPrompt, splitCapabilityWords, truncateAdvisoryDescription, } from "./capability-fingerprint.js";
|
|
2
2
|
export const CAPABILITY_ADVISORY_CUSTOM_TYPE = "pi-fabric-capability";
|
|
3
3
|
const ADVISORY_REF_PREFIX = "extensions";
|
|
4
4
|
// MCP capability sources are namespaced "mcp:<server>" by the provider
|
|
@@ -21,6 +21,11 @@ const toolCallInput = (block) => {
|
|
|
21
21
|
// smallest unit of unambiguous evidence the 1/df scorer can express. The weak
|
|
22
22
|
// band is exactly one quantum wide: strong = weak + one quantum of certainty.
|
|
23
23
|
const SCORE_QUANTUM = 1;
|
|
24
|
+
// Surface-form context discount: a term that only occurs inside a path, URL,
|
|
25
|
+
// or filename span denotes a local artifact, not capability intent — it earns
|
|
26
|
+
// half a quantum. Two such collisions (1 quantum total) still can't ignite the
|
|
27
|
+
// strong band; a lone one sits below the default 0.9 threshold entirely.
|
|
28
|
+
const PATH_ONLY_DISCOUNT = SCORE_QUANTUM / 2;
|
|
24
29
|
const WEAK_MATCH_BAND = SCORE_QUANTUM;
|
|
25
30
|
const MAX_ADVISORY_SOURCES = 2;
|
|
26
31
|
const MAX_NAMES_PER_SOURCE = 2;
|
|
@@ -233,9 +238,11 @@ export class CapabilityAdvisor {
|
|
|
233
238
|
.filter((candidates) => candidates.size > 0);
|
|
234
239
|
if (promptWords.length === 0 || this.#index.sourceCount === 0)
|
|
235
240
|
return undefined;
|
|
241
|
+
const pathOnlyTerms = capabilityPathOnlyTerms(stripped);
|
|
236
242
|
// Each matched written word contributes the rarity of its rarest matched
|
|
237
243
|
// reading (weight = 1/df is monotone, so max weight = min df): exactly
|
|
238
|
-
// one quantum per word, whichever way the word was cased
|
|
244
|
+
// one quantum per word, whichever way the word was cased — halved when the
|
|
245
|
+
// matched reading only ever occurs inside a path/URL/filename span.
|
|
239
246
|
const scoreWords = (hasTerm) => {
|
|
240
247
|
let score = 0;
|
|
241
248
|
let matchedWords = 0;
|
|
@@ -249,7 +256,7 @@ export class CapabilityAdvisor {
|
|
|
249
256
|
const frequency = this.#index.docFrequency(term);
|
|
250
257
|
if (frequency === 0)
|
|
251
258
|
continue;
|
|
252
|
-
const weight = 1 / frequency;
|
|
259
|
+
const weight = (1 / frequency) * (pathOnlyTerms.has(term) ? PATH_ONLY_DISCOUNT : 1);
|
|
253
260
|
if (weight > bestWeight) {
|
|
254
261
|
bestWeight = weight;
|
|
255
262
|
bestTerm = term;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-advisory.js","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capability-advisory.js","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,GAE5B,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CAAC;AACtE,MAAM,mBAAmB,GAAG,YAAY,CAAC;AACzC,uEAAuE;AACvE,sEAAsE;AACtE,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAU,EAAE,CACjD,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC;AAEpF,8EAA8E;AAC9E,sDAAsD;AACtD,MAAM,aAAa,GAAG,CAAC,KAAc,EAAuC,EAAE;IAC5E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;IAClE,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACrF,CAAC,CAAE,SAAqC;QACxC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,aAAa,GAAG,CAAC,CAAC;AAC7C,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,mFAAmF;AAEnF,6EAA6E;AAC7E,8EAA8E;AAC9E,kDAAkD;AAClD,uCAAuC;AACvC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,gDAAgD;AAChD,8EAA8E;AAC9E,+DAA+D;AAC/D,MAAM,GAAG,GAAG,CAAC,CAAC;AACd,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM;AACtC,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO;AAC3C,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI;AACjC,MAAM,UAAU,GAAG,IAAI,CAAC;AA8BxB,MAAM,UAAU,GACd,6FAA6F,CAAC;AAEhG,+DAA+D;AAC/D,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,YAAY,GAChB,0GAA0G,CAAC;AAE7G,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAExF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAU5E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,yEAAyE;AACzE,yDAAyD;AACzD,MAAM,gBAAgB,GAAG,CAAC,MAAqB,EAAE,gBAAyB,EAAY,EAAE;IACtF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,GACR,gBAAgB,IAAI,WAAW;gBAC7B,CAAC,CAAC,MAAM,2BAA2B,CAAC,WAAW,CAAC,EAAE;gBAClD,CAAC,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CACR,QAAQ,KAAK,CAAC,aAAa,CAAC,MAAM,YAAY,KAAK,CAAC,KAAK,KAAK,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACrH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,4EAA4E;AAC5E,iEAAiE;AACjE,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAY,EAAE,CACrD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,QAAQ,GACZ,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAC,QAAQ,KAAK,CAAC,aAAa,CAAC,MAAM,UAAU,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACpG,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,KAAK,KAAK,CAAC,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,iBAAiB;IAC5B,MAAM,GAAoB,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC/D,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpC,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,YAAY,GAAG,CAAC,CAAC;IACjB,WAAW,GAAG,CAAC,CAAC;IAEhB,sEAAsE;IACtE,4EAA4E;IAC5E,uDAAuD;IACvD,SAAS,CAAC,MAAc,EAAE,WAAqC;QAC7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;YACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,WAAqC;QAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,kEAAkE;IAClE,qBAAqB,CACnB,OAA0B,EAC1B,eAGkC;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,YAAY,IAAI,OAAO,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,YAMb,CAAC;YACF,MAAM,EAAE,GACN,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IACE,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAC/B,KAAK,CAAC,UAAU,KAAK,+BAA+B,EACpD,CAAC;gBACD,MAAM,OAAO,GAAI,KAAK,CAAC,OAA6C;oBAClE,EAAE,OAAO,CAAC;gBACZ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,MAAM,SAAS,GAAI,KAA6C;4BAC9D,EAAE,SAAS,CAAC;wBACd,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAET,CAAC;gBACd,IAAI,OAAO,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrE,SAAS;gBACX,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAA2C,CAAC;oBACnE,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAAE,SAAS;oBAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC7D,IAAI,QAAQ,KAAK,SAAS;wBAAE,SAAS;oBACrC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACnE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;wBACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,SAAiB,EAAE,MAAgC,EAAE,EAAU;QACnE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YACvB,SAAS;YACT,MAAM;YACN,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,cAAc,CAAC,SAAiB;QAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,gEAAgE;IAChE,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CACN,MAAc,EACd,MAAsC;QAEtC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QACjD,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QAE/D,qEAAqE;QACrE,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;YACrC,IAAI,OAAO,GAAG,UAAU;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;;gBACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACxD,mEAAmE;QACnE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC;aAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEhF,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxD,yEAAyE;QACzE,uEAAuE;QACvE,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,UAAU,GAAG,CAAC,OAAkC,EAAE,EAAE;YACxD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,QAA4B,CAAC;gBACjC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wBAAE,SAAS;oBAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,SAAS,KAAK,CAAC;wBAAE,SAAS;oBAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpF,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;wBACxB,UAAU,GAAG,MAAM,CAAC;wBACpB,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACH,CAAC;gBACD,IAAI,QAAQ,KAAK,SAAS;oBAAE,SAAS;gBACrC,YAAY,IAAI,CAAC,CAAC;gBAClB,KAAK,IAAI,UAAU,CAAC;gBACpB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;QACpD,CAAC,CAAC;QAEF,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC9C,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,kCAAkC;YAClC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvB,gEAAgE;YAChE,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,oEAAoE;YACpE,wEAAwE;YACxE,sEAAsE;YACtE,0DAA0D;YAC1D,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAC/C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS;gBAAE,SAAS;YAE3F,MAAM,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;YAC3D,sEAAsE;YACtE,mEAAmE;YACnE,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,wDAAwD;YACxD,MAAM,cAAc,GAClB,cAAc,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,oBAAoB,CAAC;YACpE,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/B,qEAAqE;gBACrE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,KAAK,CAAC;gBACpF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC3C,IAAI,MAAM,GAAG,aAAa;oBAAE,SAAS;YACvC,CAAC;YAED,mEAAmE;YACnE,wEAAwE;YACxE,2DAA2D;YAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAChE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE;oBACxC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACtC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC/E,CAAC,CAAC;gBACF,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK;gBACL,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CACpE;gBACD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpF,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpE,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACtE,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACxD,MAAM,MAAM,GACV,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS;YACzB,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;QAE1D,qEAAqE;QACrE,sEAAsE;QACtE,uCAAuC;QACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,GAAG,aAAa,MAAM,WAAW,QAAQ,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,uBAAuB;YAC9F,CAAC,CAAC,GAAG,aAAa,MAAM,WAAW,QAAQ,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC;QACrG,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,kBAAkB,GAAa,EAAE,CAAC;YACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,IACE,IAAI,KAAK,SAAS;oBAClB,WAAW,CAAC,MAAM,GAAG,oBAAoB;oBACzC,KAAK,GAAG,kBAAkB,EAC1B,CAAC;oBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YACD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YACxD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5D,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC1B,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,kBAAkB;gBAChC,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,YAAY,GAChB,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,QAAQ,GACZ,OAAO,KAAK,SAAS;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,+BAA+B,YAAY,IAAI,OAAO,4BAA4B,YAAY,IAAI,OAAO,2BAA2B,CAAC;QAE3I,sEAAsE;QACtE,mEAAmE;QACnE,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,KAAK,GAAe;YACxB,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrE,UAAU,CAAC,MAAM,CAAC;SACnB,CAAC;QACF,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/C,OAAO,GAAG,SAAS,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,qEAAqE;YACrE,OAAO,GAAG,GAAG,UAAU,KAAK,UAAU,EAAE,CAAC;QAC3C,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACtB,OAAO;YACL,OAAO;YACP,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS;YAClC,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;SAC5C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,WAAW,GAAG,CAAC,OAAkC,EAA6B,EAAE,CACpF,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -16,9 +16,11 @@ export interface CapabilityIndex {
|
|
|
16
16
|
}
|
|
17
17
|
export declare const tokenizeCapabilityText: (text: string) => string[];
|
|
18
18
|
export declare const capabilityWordCandidates: (word: string) => string[];
|
|
19
|
+
export declare const capabilityPathOnlyTerms: (text: string) => ReadonlySet<string>;
|
|
19
20
|
export declare const splitCapabilityWords: (text: string) => string[];
|
|
20
21
|
export declare const isMostlyNonLatinPrompt: (text: string) => boolean;
|
|
21
22
|
export declare const capabilitySourceLabel: (namespace: string | undefined) => string;
|
|
22
23
|
export declare const buildCapabilityIndex: (descriptors: FabricActionDescriptor[]) => CapabilityIndex;
|
|
24
|
+
export declare const capabilityFirstSentence: (description: string) => string;
|
|
23
25
|
export declare const truncateAdvisoryDescription: (description: string, maxChars?: number) => string;
|
|
24
26
|
//# sourceMappingURL=capability-fingerprint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-fingerprint.d.ts","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"capability-fingerprint.d.ts","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAgB7D,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAKD,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,MAAM,EAQ3D,CAAC;AAWF,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,KAAG,MAAM,EAO7D,CAAC;AAWF,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,WAAW,CAAC,MAAM,CAUxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAAM,EAYzD,CAAC;AAOF,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,OAOrD,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,MAGvC,CAAC;AAShC,eAAO,MAAM,oBAAoB,GAC/B,aAAa,sBAAsB,EAAE,KACpC,eAmDF,CAAC;AASF,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,KAAG,MAG7D,CAAC;AAKF,eAAO,MAAM,2BAA2B,GAAI,aAAa,MAAM,EAAE,iBAAa,KAAG,MAMhF,CAAC"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
const CAPABILITY_STOPWORDS = new Set([
|
|
4
4
|
"a", "an", "the", "of", "to", "in", "for", "on", "with", "and", "or", "as",
|
|
5
5
|
"by", "at", "from", "into", "one", "this", "that", "it", "its", "their",
|
|
6
|
-
"your", "you", "we", "i", "is", "are", "be", "been", "current", "existing",
|
|
6
|
+
"your", "you", "we", "i", "me", "my", "mine", "us", "is", "are", "be", "been", "current", "existing",
|
|
7
|
+
"please", "thanks",
|
|
7
8
|
"new", "use", "used", "using", "via", "per", "each", "all", "any", "can",
|
|
8
9
|
"will", "also", "not", "no", "if", "when", "then", "else", "than", "so",
|
|
9
10
|
"such", "over", "under", "out", "up", "down", "off", "through", "during",
|
|
@@ -40,6 +41,26 @@ export const capabilityWordCandidates = (word) => {
|
|
|
40
41
|
}
|
|
41
42
|
return [...candidates];
|
|
42
43
|
};
|
|
44
|
+
// Path/URL/filename spans in a prompt: tokens found ONLY inside these denote
|
|
45
|
+
// local artifacts ("docs/heat-diffusion.md" is something to read, not evidence
|
|
46
|
+
// for any documentation-search capability), so the advisory halves their match
|
|
47
|
+
// weight. Filename detection uses an extension allowlist so brand names like
|
|
48
|
+
// "fal.ai" stay full-weight prose.
|
|
49
|
+
const PATH_SPAN = /(?:[a-z][a-z0-9+.-]*:\/\/[^\s"'<>()]+)|(?:[\w.~-]+\/[\w./~-]+)|(?:\b[\w~-]+\.(?:md|markdown|txt|tsx?|jsx?|mjs|cjs|mts|cts|jsonc?|py|rb|go|rs|java|kt|swift|c|h|cc|cpp|hpp|cs|php|sh|bash|zsh|ya?ml|toml|ini|cfg|conf|xml|html?|css|s[ac]ss|less|sql|[ct]sv|lock|log|png|jpe?g|gif|webp|svg|ico|pdf|zip|gz|tar|mp4|mp3|wav|wasm|proto|graphql|vue|svelte)\b)/gi;
|
|
50
|
+
// Prompt terms whose every occurrence lives inside a path/URL/filename span.
|
|
51
|
+
export const capabilityPathOnlyTerms = (text) => {
|
|
52
|
+
const pathOnly = new Set();
|
|
53
|
+
for (const span of text.match(PATH_SPAN) ?? []) {
|
|
54
|
+
for (const token of tokenizeCapabilityText(span))
|
|
55
|
+
pathOnly.add(token);
|
|
56
|
+
}
|
|
57
|
+
if (pathOnly.size === 0)
|
|
58
|
+
return pathOnly;
|
|
59
|
+
for (const token of tokenizeCapabilityText(text.replace(PATH_SPAN, " "))) {
|
|
60
|
+
pathOnly.delete(token);
|
|
61
|
+
}
|
|
62
|
+
return pathOnly;
|
|
63
|
+
};
|
|
43
64
|
export const splitCapabilityWords = (text) => {
|
|
44
65
|
const words = text.match(/[A-Za-z0-9]+/g);
|
|
45
66
|
if (!words)
|
|
@@ -70,9 +91,12 @@ export const capabilitySourceLabel = (namespace) => namespace !== undefined && n
|
|
|
70
91
|
? namespace.slice(SOURCE_LABEL_PREFIX.length)
|
|
71
92
|
: (namespace ?? "unscoped");
|
|
72
93
|
// Capability fingerprints group captured tools by source namespace: a source's
|
|
73
|
-
//
|
|
74
|
-
// single tool, and per-source tf-idf terms
|
|
75
|
-
// labels without requiring manifest declarations
|
|
94
|
+
// identity surface (tool names + the leading sentence of each description)
|
|
95
|
+
// gives far stronger signal than any single tool, and per-source tf-idf terms
|
|
96
|
+
// end up readable as capability labels without requiring manifest declarations
|
|
97
|
+
// or a curated taxonomy. Instructional description tails are deliberately not
|
|
98
|
+
// indexed — their meta-prose ("Use this when you need to understand…") is
|
|
99
|
+
// shared by every server and collides with interrogative user prompts.
|
|
76
100
|
export const buildCapabilityIndex = (descriptors) => {
|
|
77
101
|
const grouped = new Map();
|
|
78
102
|
for (const descriptor of descriptors) {
|
|
@@ -89,7 +113,11 @@ export const buildCapabilityIndex = (descriptors) => {
|
|
|
89
113
|
for (const [namespace, bucket] of grouped) {
|
|
90
114
|
const tf = new Map();
|
|
91
115
|
for (const descriptor of bucket) {
|
|
92
|
-
|
|
116
|
+
// Identity surface: the name plus the leading sentence is where a tool
|
|
117
|
+
// states what it IS. Instructional tails ("Use this when you need to
|
|
118
|
+
// understand…", "HOW TO USE: …") are meta-prose shared by every server —
|
|
119
|
+
// indexing them once let "understand how X works" prompts ignite fal.ai.
|
|
120
|
+
for (const token of tokenizeCapabilityText(`${descriptor.name} ${capabilityFirstSentence(descriptor.description)}`)) {
|
|
93
121
|
tf.set(token, (tf.get(token) ?? 0) + 1);
|
|
94
122
|
}
|
|
95
123
|
}
|
|
@@ -102,7 +130,7 @@ export const buildCapabilityIndex = (descriptors) => {
|
|
|
102
130
|
toolCount: bucket.length,
|
|
103
131
|
names: bucket.map((descriptor) => descriptor.name),
|
|
104
132
|
descriptions: bucket.map((descriptor) => descriptor.description),
|
|
105
|
-
toolTerms: bucket.map((descriptor) => new Set(tokenizeCapabilityText(`${descriptor.name} ${descriptor.description}`))),
|
|
133
|
+
toolTerms: bucket.map((descriptor) => new Set(tokenizeCapabilityText(`${descriptor.name} ${capabilityFirstSentence(descriptor.description)}`))),
|
|
106
134
|
tf,
|
|
107
135
|
});
|
|
108
136
|
}
|
|
@@ -116,6 +144,14 @@ export const buildCapabilityIndex = (descriptors) => {
|
|
|
116
144
|
return { sourceCount, sources, idf, docFrequency };
|
|
117
145
|
};
|
|
118
146
|
const CAPTURED_FROM_SUFFIX = /\s*\(captured from [^)]*\)\s*$/;
|
|
147
|
+
const FIRST_SENTENCE = /^(.{8,}?[.!?])(?:\s|$)/;
|
|
148
|
+
// Leading sentence of a description: the identity clause, before any
|
|
149
|
+
// instructional tail. Whole string when no sentence boundary exists (terse
|
|
150
|
+
// server descriptions like "Cancel subscription" are all identity).
|
|
151
|
+
export const capabilityFirstSentence = (description) => {
|
|
152
|
+
const cleaned = description.replace(/\s+/g, " ").trim();
|
|
153
|
+
return FIRST_SENTENCE.exec(cleaned)?.[1] ?? cleaned;
|
|
154
|
+
};
|
|
119
155
|
// Advisory text shows one short clause per tool: the first sentence when it
|
|
120
156
|
// fits, otherwise a bounded slice. Provenance suffixes are stripped because
|
|
121
157
|
// the advisory names the source separately.
|
|
@@ -123,9 +159,9 @@ export const truncateAdvisoryDescription = (description, maxChars = 64) => {
|
|
|
123
159
|
const cleaned = description.replace(CAPTURED_FROM_SUFFIX, "").replace(/\s+/g, " ").trim();
|
|
124
160
|
if (cleaned.length <= maxChars)
|
|
125
161
|
return cleaned;
|
|
126
|
-
const sentence =
|
|
127
|
-
if (sentence
|
|
128
|
-
return sentence
|
|
162
|
+
const sentence = FIRST_SENTENCE.exec(cleaned)?.[1];
|
|
163
|
+
if (sentence !== undefined && sentence.length <= maxChars)
|
|
164
|
+
return sentence;
|
|
129
165
|
return `${cleaned.slice(0, maxChars - 1)}…`;
|
|
130
166
|
};
|
|
131
167
|
//# sourceMappingURL=capability-fingerprint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-fingerprint.js","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,8DAA8D;AAC9D,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI;IAC1E,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO;IACvE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"capability-fingerprint.js","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,13 @@ when the available evidence says it will be used.
|
|
|
22
22
|
## Scoring: 1/df term weighting
|
|
23
23
|
|
|
24
24
|
Captured tools are fingerprinted by source namespace. Each source's corpus is
|
|
25
|
-
its
|
|
26
|
-
|
|
25
|
+
its identity surface: tool names plus the leading sentence of each
|
|
26
|
+
description. Instructional tails ("Use this when…", "HOW TO USE: …") are
|
|
27
|
+
excluded by construction — they describe how to choose the tool, not what the
|
|
28
|
+
capability is, and their meta-vocabulary ("understand", "how") collides with
|
|
29
|
+
ordinary interrogative prompts ("help me understand the mathematics behind
|
|
30
|
+
docs/heat-diffusion.md" used to ignite fal.ai on "understand" + "docs"). A
|
|
31
|
+
prompt scores against each unburned source as the sum of per-word evidence:
|
|
27
32
|
|
|
28
33
|
$$
|
|
29
34
|
s(p, j) = \sum_{w \in W(p)} \max_{t \in R(w) \cap T(j)} \frac{1}{\mathrm{df}(t)}, \qquad \mathrm{df}(t) = \Bigl|\{ j : t \in T(j) \}\Bigr|
|
|
@@ -50,6 +55,15 @@ Pre-ignition filters:
|
|
|
50
55
|
ambient context rather than user intent, and its vocabulary would poison the
|
|
51
56
|
fingerprint. The matcher removes those regions before tokenization. An
|
|
52
57
|
unclosed trailing tag counts as stripped too.
|
|
58
|
+
- **Path-context discount.** A prompt term that occurs only inside a path,
|
|
59
|
+
URL, or filename span (`docs/heat-diffusion.md`, `worker.ts`) denotes a
|
|
60
|
+
local artifact rather than capability intent, so its matched quantum is
|
|
61
|
+
halved (q/2). A lone such word lands below the default threshold entirely,
|
|
62
|
+
and two of them sum to a single weak-band quantum instead of an instant
|
|
63
|
+
strong fire. Filename spans are recognized through a code/doc extension
|
|
64
|
+
allowlist so brand domains in prose (`fal.ai`) keep full weight; a term
|
|
65
|
+
that also appears as free prose elsewhere in the prompt keeps full weight
|
|
66
|
+
too.
|
|
53
67
|
- **At least two matched written words.** A lone distinctive word such as
|
|
54
68
|
"project" or "recent" is a vocabulary coincidence, not intent. The gate
|
|
55
69
|
and the scorer share one unit — the written word — so casing can inflate
|