docspack 0.2.0 → 0.3.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/README.md +9 -3
- package/dist/build.d.ts +21 -0
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +138 -24
- package/dist/build.js.map +1 -1
- package/dist/cli.js +74 -131
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +7 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -1
- package/dist/config.js.map +1 -1
- package/dist/db.d.ts +8 -4
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +13 -7
- package/dist/db.js.map +1 -1
- package/dist/doctor.js +1 -1
- package/dist/doctor.js.map +1 -1
- package/dist/eval.d.ts +52 -0
- package/dist/eval.d.ts.map +1 -0
- package/dist/eval.js +101 -0
- package/dist/eval.js.map +1 -0
- package/dist/help.d.ts +31 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +342 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +4 -2
- package/dist/preview.js.map +1 -1
- package/dist/search.d.ts +6 -0
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +25 -3
- package/dist/search.js.map +1 -1
- package/dist/spec.d.ts +21 -1
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +44 -5
- package/dist/spec.js.map +1 -1
- package/dist/stopwords.d.ts +14 -0
- package/dist/stopwords.d.ts.map +1 -0
- package/dist/stopwords.js +121 -0
- package/dist/stopwords.js.map +1 -0
- package/dist/sync.js +1 -1
- package/dist/sync.js.map +1 -1
- package/dist/verify.d.ts +8 -2
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +48 -15
- package/dist/verify.js.map +1 -1
- package/package.json +1 -1
- package/src/build.ts +178 -24
- package/src/cli.ts +91 -138
- package/src/config.ts +35 -5
- package/src/db.ts +13 -7
- package/src/doctor.ts +1 -1
- package/src/eval.ts +149 -0
- package/src/help.ts +382 -0
- package/src/index.ts +20 -0
- package/src/preview.ts +4 -1
- package/src/search.ts +33 -3
- package/src/spec.ts +66 -6
- package/src/stopwords.ts +120 -0
- package/src/sync.ts +1 -1
- package/src/verify.ts +69 -19
package/dist/index.js
CHANGED
|
@@ -4,8 +4,10 @@ export { defaultStorePath, Store, silenceSqliteWarning, toFtsQuery, } from "./db
|
|
|
4
4
|
export { discoverPackages, projectPackageIds, resolvePackageDir, } from "./discovery.js";
|
|
5
5
|
export { runDoctor, } from "./doctor.js";
|
|
6
6
|
export { DocspackError } from "./errors.js";
|
|
7
|
+
export { evaluatePackage, parseEvalSet, readEvalSet, } from "./eval.js";
|
|
7
8
|
export { readExportSurface } from "./exports.js";
|
|
8
9
|
export { addFinding, FEEDBACK_DIR, FEEDBACK_FILE, feedbackPath, fingerprintOf, readFeedback, removeFindings, } from "./feedback.js";
|
|
10
|
+
export { COMMANDS, commandHelpText, findCommandHelp, globalHelpText, } from "./help.js";
|
|
9
11
|
export { HttpClient } from "./http.js";
|
|
10
12
|
export { detectProject } from "./init/detect.js";
|
|
11
13
|
export { planInit, proposePackageName, } from "./init/plan.js";
|
|
@@ -18,7 +20,8 @@ export { previewPackage } from "./preview.js";
|
|
|
18
20
|
export { defaultStreams, Prompter } from "./prompt.js";
|
|
19
21
|
export { DEFAULT_LIMIT, DEFAULT_MAX_TOKENS, queryDocs, renderAnswer, splitPackageId, } from "./search.js";
|
|
20
22
|
export { AGENTS_SNIPPET, FEEDBACK_SNIPPET } from "./snippet.js";
|
|
21
|
-
export { CHUNKS_DIR, chunkId, estimateTokens, isCommunityPackage, isDocsPackage, isVendorPackage, LLMS_DIR, MANIFEST_FILE, packageId, parseManifest, resolveChunkFile, SCHEMA_URL, SPEC_URL, serializeManifest, } from "./spec.js";
|
|
23
|
+
export { CHUNKS_DIR, chunkId, estimateTokens, formatDocumentedLibrary, isCommunityPackage, isDocsPackage, isVendorPackage, LLMS_DIR, MANIFEST_FILE, packageId, parseDocumentedLibrary, parseManifest, resolveChunkFile, SCHEMA_URL, SPEC_URL, serializeManifest, } from "./spec.js";
|
|
24
|
+
export { STOPWORDS } from "./stopwords.js";
|
|
22
25
|
export { issueUrl, prepareSubmission, renderBody, } from "./submit.js";
|
|
23
26
|
export { syncProject, } from "./sync.js";
|
|
24
27
|
export { verifyProject, } from "./verify.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAEL,UAAU,EAEV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAKhB,KAAK,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAGL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAIL,SAAS,GAEV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAsB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAGL,UAAU,EACV,YAAY,EACZ,aAAa,EAEb,YAAY,EACZ,aAAa,EAEb,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAkB,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAiB,aAAa,EAAuB,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAOL,QAAQ,EACR,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwC,OAAO,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAEL,SAAS,EACT,UAAU,GAGX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAoB,aAAa,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,cAAc,EAId,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAA2C,cAAc,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAe,cAAc,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,aAAa,EACb,kBAAkB,EAIlB,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,UAAU,EAEV,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAEL,UAAU,EAEV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAKhB,KAAK,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAGL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAIL,SAAS,GAEV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAKL,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAsB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAGL,UAAU,EACV,YAAY,EACZ,aAAa,EAEb,YAAY,EACZ,aAAa,EAEb,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EAER,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAkB,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAiB,aAAa,EAAuB,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAOL,QAAQ,EACR,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwC,OAAO,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAEL,SAAS,EACT,UAAU,GAGX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAoB,aAAa,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,cAAc,EAId,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAA2C,cAAc,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAe,cAAc,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,aAAa,EACb,kBAAkB,EAIlB,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,UAAU,EAEV,OAAO,EAEP,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,aAAa,EAEb,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAGL,QAAQ,EACR,iBAAiB,EAEjB,UAAU,GAGX,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAML,aAAa,GACd,MAAM,aAAa,CAAC"}
|
package/dist/preview.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAa/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAkEpF"}
|
package/dist/preview.js
CHANGED
|
@@ -3,7 +3,7 @@ import { join } from "node:path";
|
|
|
3
3
|
import { Store } from "./db.js";
|
|
4
4
|
import { DocspackError } from "./errors.js";
|
|
5
5
|
import { DEFAULT_LIMIT, DEFAULT_MAX_TOKENS } from "./search.js";
|
|
6
|
-
import { chunkId, estimateTokens, isCommunityPackage, LLMS_DIR, MANIFEST_FILE, packageId, parseManifest, resolveChunkFile, } from "./spec.js";
|
|
6
|
+
import { chunkId, estimateTokens, formatDocumentedLibrary, isCommunityPackage, LLMS_DIR, MANIFEST_FILE, packageId, parseManifest, resolveChunkFile, } from "./spec.js";
|
|
7
7
|
/**
|
|
8
8
|
* Answers a query from a package on disk, through the same ranking and token budget an agent
|
|
9
9
|
* gets. Nothing is published, installed, or written to the global store.
|
|
@@ -21,6 +21,7 @@ export async function previewPackage(options) {
|
|
|
21
21
|
}
|
|
22
22
|
const manifest = parseManifest(JSON.parse(raw), `${LLMS_DIR}/${MANIFEST_FILE}`);
|
|
23
23
|
const id = packageId(manifest.name, manifest.version);
|
|
24
|
+
const documents = (manifest.documents ?? []).map(formatDocumentedLibrary);
|
|
24
25
|
const chunks = [];
|
|
25
26
|
for (const chunk of manifest.chunks) {
|
|
26
27
|
let contents;
|
|
@@ -35,7 +36,7 @@ export async function previewPackage(options) {
|
|
|
35
36
|
chunks.push({
|
|
36
37
|
chunkId: chunkId(id, chunk.id),
|
|
37
38
|
filePath: chunk.file,
|
|
38
|
-
tokens: chunk.tokens
|
|
39
|
+
tokens: chunk.tokens ?? estimateTokens(contents),
|
|
39
40
|
content: contents,
|
|
40
41
|
tags: [...chunk.tags, ...chunk.entities],
|
|
41
42
|
});
|
|
@@ -58,6 +59,7 @@ export async function previewPackage(options) {
|
|
|
58
59
|
name: manifest.name,
|
|
59
60
|
version: manifest.version,
|
|
60
61
|
trusted: !isCommunityPackage(manifest.name),
|
|
62
|
+
...(documents.length === 0 ? {} : { documents }),
|
|
61
63
|
}));
|
|
62
64
|
return {
|
|
63
65
|
hits,
|
package/dist/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAqB,KAAK,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAiB,MAAM,aAAa,CAAC;AAC/E,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAenB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE5C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,aAAa,CAAC,MAAM,QAAQ,IAAI,aAAa,OAAO,OAAO,CAAC,GAAG,EAAE,EAAE;YAC3E,IAAI,EAAE,6BAA6B;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
package/dist/search.d.ts
CHANGED
|
@@ -20,6 +20,12 @@ export interface QueryHit extends SearchHit {
|
|
|
20
20
|
readonly name: string;
|
|
21
21
|
readonly version: string;
|
|
22
22
|
readonly trusted: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Libraries the package documents, from its manifest. A docs package version cannot always
|
|
25
|
+
* imply this — a monorepo documents many libraries at many versions from one surface — so the
|
|
26
|
+
* answer states it rather than leaving the reader to infer it from the package name.
|
|
27
|
+
*/
|
|
28
|
+
readonly documents?: readonly string[];
|
|
23
29
|
}
|
|
24
30
|
export interface QueryResult {
|
|
25
31
|
readonly hits: readonly QueryHit[];
|
package/dist/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhD,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhD,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA6C3E;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA6BvE;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAI5E"}
|
package/dist/search.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { discoverPackages } from "./discovery.js";
|
|
2
|
-
import { isCommunityPackage } from "./spec.js";
|
|
2
|
+
import { formatDocumentedLibrary, isCommunityPackage } from "./spec.js";
|
|
3
3
|
/** Ceiling on how much context one query may return, per the blueprint's context-exhaustion rule. */
|
|
4
4
|
export const DEFAULT_MAX_TOKENS = 3000;
|
|
5
5
|
export const DEFAULT_LIMIT = 3;
|
|
@@ -10,6 +10,15 @@ export async function queryDocs(options) {
|
|
|
10
10
|
const unindexed = (installed ?? [])
|
|
11
11
|
.filter((pkg) => !options.store.hasPackage(pkg.id))
|
|
12
12
|
.map((pkg) => pkg.id);
|
|
13
|
+
// Read from the installed manifests rather than the index: the store is a cache of chunk text,
|
|
14
|
+
// and adding a column to it would make every existing store need a rebuild to answer this.
|
|
15
|
+
const documented = new Map();
|
|
16
|
+
for (const pkg of installed ?? []) {
|
|
17
|
+
const documents = pkg.manifest.documents;
|
|
18
|
+
if (documents !== undefined && documents.length > 0) {
|
|
19
|
+
documented.set(pkg.id, documents.map(formatDocumentedLibrary));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
13
22
|
const hits = options.store
|
|
14
23
|
.search(options.query, {
|
|
15
24
|
...(packageIds === undefined ? {} : { packageIds }),
|
|
@@ -21,7 +30,14 @@ export async function queryDocs(options) {
|
|
|
21
30
|
})
|
|
22
31
|
.map((hit) => {
|
|
23
32
|
const { name, version } = splitPackageId(hit.packageId);
|
|
24
|
-
|
|
33
|
+
const documents = documented.get(hit.packageId);
|
|
34
|
+
return {
|
|
35
|
+
...hit,
|
|
36
|
+
name,
|
|
37
|
+
version,
|
|
38
|
+
trusted: !isCommunityPackage(name),
|
|
39
|
+
...(documents === undefined ? {} : { documents }),
|
|
40
|
+
};
|
|
25
41
|
});
|
|
26
42
|
return {
|
|
27
43
|
hits,
|
|
@@ -47,9 +63,15 @@ export function renderAnswer(result, query) {
|
|
|
47
63
|
}
|
|
48
64
|
const sections = result.hits.map((hit) => {
|
|
49
65
|
const trust = hit.trusted ? "" : " (community)";
|
|
66
|
+
// Which release the chunk describes, on the line that already carries provenance. An agent
|
|
67
|
+
// otherwise has to assume the docs package version is the library version, which a
|
|
68
|
+
// repository publishing eighteen packages from one docs surface cannot make true.
|
|
69
|
+
const describes = hit.documents === undefined || hit.documents.length === 0
|
|
70
|
+
? ""
|
|
71
|
+
: ` · documents ${hit.documents.join(", ")}`;
|
|
50
72
|
return [
|
|
51
73
|
`## ${hit.chunkId}${trust}`,
|
|
52
|
-
`Source: ${hit.name}@${hit.version} — ${hit.filePath}`,
|
|
74
|
+
`Source: ${hit.name}@${hit.version} — ${hit.filePath}${describes}`,
|
|
53
75
|
"",
|
|
54
76
|
hit.content,
|
|
55
77
|
].join("\n");
|
package/dist/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|
package/dist/spec.d.ts
CHANGED
|
@@ -10,13 +10,25 @@ export interface ChunkSpec {
|
|
|
10
10
|
readonly id: string;
|
|
11
11
|
/** Path relative to the package's `.llms/` directory. */
|
|
12
12
|
readonly file: string;
|
|
13
|
-
|
|
13
|
+
/** Absent means "estimate it". Never 0: an empty chunk is a different problem. */
|
|
14
|
+
readonly tokens?: number;
|
|
14
15
|
readonly tags: readonly string[];
|
|
15
16
|
readonly entities: readonly string[];
|
|
16
17
|
}
|
|
18
|
+
/** A library release the package documents, e.g. `acme` at `1.4.0`. */
|
|
19
|
+
export interface DocumentedLibrary {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
/** A version or a range, as the author wrote it. Absent when the docs are not release-scoped. */
|
|
22
|
+
readonly version?: string;
|
|
23
|
+
}
|
|
17
24
|
export interface PackageManifest {
|
|
18
25
|
readonly name: string;
|
|
19
26
|
readonly version: string;
|
|
27
|
+
/**
|
|
28
|
+
* What the package documents, which the package's own version cannot always say: a monorepo
|
|
29
|
+
* publishes many libraries at many versions from one documentation surface.
|
|
30
|
+
*/
|
|
31
|
+
readonly documents?: readonly DocumentedLibrary[];
|
|
20
32
|
readonly chunks: readonly ChunkSpec[];
|
|
21
33
|
}
|
|
22
34
|
/** Official vendor packages: `@stripe/docspack`. */
|
|
@@ -27,6 +39,13 @@ export declare function isDocsPackage(name: string): boolean;
|
|
|
27
39
|
/** Stable identifier used as the primary key in the store: `@stripe/docspack@2025.4.1`. */
|
|
28
40
|
export declare function packageId(name: string, version: string): string;
|
|
29
41
|
export declare function chunkId(pkgId: string, chunk: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Reads `acme`, `acme@1.4.0` or `@acme/sdk@^1.4.0` as a library and an optional version. The
|
|
44
|
+
* separator is the last `@`, since a scope puts one at the start of the name as well.
|
|
45
|
+
*/
|
|
46
|
+
export declare function parseDocumentedLibrary(spec: string): DocumentedLibrary;
|
|
47
|
+
/** `acme@1.4.0`, or just the name when no version is scoped. The form an answer is labelled with. */
|
|
48
|
+
export declare function formatDocumentedLibrary(library: DocumentedLibrary): string;
|
|
30
49
|
/**
|
|
31
50
|
* Resolves a manifest `file` entry inside the package's `.llms/` directory, refusing anything
|
|
32
51
|
* that escapes it. Manifests are third-party input, so this is a security boundary, not a
|
|
@@ -36,5 +55,6 @@ export declare function resolveChunkFile(llmsDir: string, file: string): string;
|
|
|
36
55
|
/** Rough token count. Four characters per token is close enough to budget a context window. */
|
|
37
56
|
export declare function estimateTokens(text: string): number;
|
|
38
57
|
export declare function parseManifest(raw: unknown, where: string): PackageManifest;
|
|
58
|
+
/** Writes the manifest, with `documents` back in the string form the schema declares. */
|
|
39
59
|
export declare function serializeManifest(manifest: PackageManifest): string;
|
|
40
60
|
//# sourceMappingURL=spec.d.ts.map
|
package/dist/spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAGA,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,UAAU,wCAAwC,CAAC;AAChE,+FAA+F;AAC/F,eAAO,MAAM,QAAQ,8BAA8B,CAAC;AAEpD,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAGA,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,UAAU,wCAAwC,CAAC;AAChE,+FAA+F;AAC/F,eAAO,MAAM,QAAQ,8BAA8B,CAAC;AAEpD,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AAID,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAItE;AAED,qGAAqG;AACrG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAStE;AAED,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAqD1E;AA+BD,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAanE"}
|
package/dist/spec.js
CHANGED
|
@@ -26,6 +26,20 @@ export function packageId(name, version) {
|
|
|
26
26
|
export function chunkId(pkgId, chunk) {
|
|
27
27
|
return `${pkgId}/${chunk}`;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Reads `acme`, `acme@1.4.0` or `@acme/sdk@^1.4.0` as a library and an optional version. The
|
|
31
|
+
* separator is the last `@`, since a scope puts one at the start of the name as well.
|
|
32
|
+
*/
|
|
33
|
+
export function parseDocumentedLibrary(spec) {
|
|
34
|
+
const at = spec.lastIndexOf("@");
|
|
35
|
+
if (at <= 0)
|
|
36
|
+
return { name: spec };
|
|
37
|
+
return { name: spec.slice(0, at), version: spec.slice(at + 1) };
|
|
38
|
+
}
|
|
39
|
+
/** `acme@1.4.0`, or just the name when no version is scoped. The form an answer is labelled with. */
|
|
40
|
+
export function formatDocumentedLibrary(library) {
|
|
41
|
+
return library.version === undefined ? library.name : `${library.name}@${library.version}`;
|
|
42
|
+
}
|
|
29
43
|
/**
|
|
30
44
|
* Resolves a manifest `file` entry inside the package's `.llms/` directory, refusing anything
|
|
31
45
|
* that escapes it. Manifests are third-party input, so this is a security boundary, not a
|
|
@@ -63,6 +77,7 @@ export function parseManifest(raw, where) {
|
|
|
63
77
|
fail('missing string field "version"');
|
|
64
78
|
if (!Array.isArray(root.chunks))
|
|
65
79
|
fail('missing "chunks" array');
|
|
80
|
+
const documents = parseDocuments(root.documents, fail);
|
|
66
81
|
const seen = new Set();
|
|
67
82
|
const chunks = root.chunks.map((entry, index) => {
|
|
68
83
|
if (typeof entry !== "object" || entry === null)
|
|
@@ -79,19 +94,35 @@ export function parseManifest(raw, where) {
|
|
|
79
94
|
if (typeof file !== "string" || file.length === 0) {
|
|
80
95
|
return fail(`chunk "${id}" is missing its "file"`);
|
|
81
96
|
}
|
|
97
|
+
// 0 is refused rather than read as "estimate it": the schema accepts it as a deliberate
|
|
98
|
+
// count, the reader would treat it as absent, and no chunk is genuinely 0 tokens.
|
|
82
99
|
const tokens = chunk.tokens;
|
|
83
|
-
if (tokens !== undefined && (!Number.isInteger(tokens) || tokens <
|
|
84
|
-
return fail(`chunk "${id}" has an invalid "tokens" value`);
|
|
100
|
+
if (tokens !== undefined && (!Number.isInteger(tokens) || tokens < 1)) {
|
|
101
|
+
return fail(`chunk "${id}" has an invalid "tokens" value; omit it to have it estimated`);
|
|
85
102
|
}
|
|
86
103
|
return {
|
|
87
104
|
id,
|
|
88
105
|
file,
|
|
89
|
-
|
|
106
|
+
...(typeof tokens === "number" ? { tokens } : {}),
|
|
90
107
|
tags: stringArray(chunk.tags, `chunk "${id}" field "tags"`, fail),
|
|
91
108
|
entities: stringArray(chunk.entities, `chunk "${id}" field "entities"`, fail),
|
|
92
109
|
};
|
|
93
110
|
});
|
|
94
|
-
return { name, version, chunks };
|
|
111
|
+
return { name, version, ...(documents === undefined ? {} : { documents }), chunks };
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* `["acme@1.4.0", "@acme/sdk@^2"]`. An array even for one library, because that is what the
|
|
115
|
+
* schema declares — a reader that accepts a shape the validator rejects is the same defect as a
|
|
116
|
+
* validator that accepts a value the reader reinterprets.
|
|
117
|
+
*/
|
|
118
|
+
function parseDocuments(value, fail) {
|
|
119
|
+
if (value === undefined)
|
|
120
|
+
return undefined;
|
|
121
|
+
if (!Array.isArray(value) || value.some((entry) => typeof entry !== "string" || entry === "")) {
|
|
122
|
+
fail('"documents" must be an array of package names, optionally with a version');
|
|
123
|
+
}
|
|
124
|
+
const specs = value;
|
|
125
|
+
return specs.length === 0 ? undefined : specs.map(parseDocumentedLibrary);
|
|
95
126
|
}
|
|
96
127
|
function stringArray(value, where, fail) {
|
|
97
128
|
if (value === undefined)
|
|
@@ -101,7 +132,15 @@ function stringArray(value, where, fail) {
|
|
|
101
132
|
}
|
|
102
133
|
return value;
|
|
103
134
|
}
|
|
135
|
+
/** Writes the manifest, with `documents` back in the string form the schema declares. */
|
|
104
136
|
export function serializeManifest(manifest) {
|
|
105
|
-
|
|
137
|
+
const documents = manifest.documents ?? [];
|
|
138
|
+
return `${JSON.stringify({
|
|
139
|
+
$schema: SCHEMA_URL,
|
|
140
|
+
name: manifest.name,
|
|
141
|
+
version: manifest.version,
|
|
142
|
+
...(documents.length === 0 ? {} : { documents: documents.map(formatDocumentedLibrary) }),
|
|
143
|
+
chunks: manifest.chunks,
|
|
144
|
+
}, null, 2)}\n`;
|
|
106
145
|
}
|
|
107
146
|
//# sourceMappingURL=spec.js.map
|
package/dist/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAChE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,QAAQ,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Words that carry no discrimination in a documentation corpus.
|
|
3
|
+
*
|
|
4
|
+
* Heading words become tags, and tags are weighted 3× against prose in the ranking. A section
|
|
5
|
+
* titled "How to use it" therefore carried `how`, `to` and `it` as high-weight terms, and every
|
|
6
|
+
* question beginning "how do I…" matched it — ahead of the chunk that answers the question.
|
|
7
|
+
*
|
|
8
|
+
* The list is closed-class only: articles, pronouns, prepositions, conjunctions, auxiliaries,
|
|
9
|
+
* modals, demonstratives and question words. No content word is in it, however generic it
|
|
10
|
+
* looks. `use`, `add`, `get` and `set` all name real APIs, and a list that grows past the
|
|
11
|
+
* function words starts deciding which of an author's own words count.
|
|
12
|
+
*/
|
|
13
|
+
export declare const STOPWORDS: ReadonlySet<string>;
|
|
14
|
+
//# sourceMappingURL=stopwords.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopwords.d.ts","sourceRoot":"","sources":["../src/stopwords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,MAAM,CA2GxC,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Words that carry no discrimination in a documentation corpus.
|
|
3
|
+
*
|
|
4
|
+
* Heading words become tags, and tags are weighted 3× against prose in the ranking. A section
|
|
5
|
+
* titled "How to use it" therefore carried `how`, `to` and `it` as high-weight terms, and every
|
|
6
|
+
* question beginning "how do I…" matched it — ahead of the chunk that answers the question.
|
|
7
|
+
*
|
|
8
|
+
* The list is closed-class only: articles, pronouns, prepositions, conjunctions, auxiliaries,
|
|
9
|
+
* modals, demonstratives and question words. No content word is in it, however generic it
|
|
10
|
+
* looks. `use`, `add`, `get` and `set` all name real APIs, and a list that grows past the
|
|
11
|
+
* function words starts deciding which of an author's own words count.
|
|
12
|
+
*/
|
|
13
|
+
export const STOPWORDS = new Set([
|
|
14
|
+
"about",
|
|
15
|
+
"after",
|
|
16
|
+
"all",
|
|
17
|
+
"also",
|
|
18
|
+
"an",
|
|
19
|
+
"and",
|
|
20
|
+
"any",
|
|
21
|
+
"are",
|
|
22
|
+
"as",
|
|
23
|
+
"at",
|
|
24
|
+
"be",
|
|
25
|
+
"been",
|
|
26
|
+
"before",
|
|
27
|
+
"being",
|
|
28
|
+
"between",
|
|
29
|
+
"both",
|
|
30
|
+
"but",
|
|
31
|
+
"by",
|
|
32
|
+
"can",
|
|
33
|
+
"could",
|
|
34
|
+
"did",
|
|
35
|
+
"do",
|
|
36
|
+
"does",
|
|
37
|
+
"doing",
|
|
38
|
+
"each",
|
|
39
|
+
"for",
|
|
40
|
+
"from",
|
|
41
|
+
"had",
|
|
42
|
+
"has",
|
|
43
|
+
"have",
|
|
44
|
+
"he",
|
|
45
|
+
"her",
|
|
46
|
+
"here",
|
|
47
|
+
"hers",
|
|
48
|
+
"him",
|
|
49
|
+
"his",
|
|
50
|
+
"how",
|
|
51
|
+
"if",
|
|
52
|
+
"in",
|
|
53
|
+
"into",
|
|
54
|
+
"is",
|
|
55
|
+
"it",
|
|
56
|
+
"its",
|
|
57
|
+
"may",
|
|
58
|
+
"me",
|
|
59
|
+
"might",
|
|
60
|
+
"must",
|
|
61
|
+
"my",
|
|
62
|
+
"no",
|
|
63
|
+
"nor",
|
|
64
|
+
"not",
|
|
65
|
+
"of",
|
|
66
|
+
"off",
|
|
67
|
+
"on",
|
|
68
|
+
"once",
|
|
69
|
+
"only",
|
|
70
|
+
"or",
|
|
71
|
+
"other",
|
|
72
|
+
"our",
|
|
73
|
+
"ours",
|
|
74
|
+
"out",
|
|
75
|
+
"over",
|
|
76
|
+
"own",
|
|
77
|
+
"same",
|
|
78
|
+
"shall",
|
|
79
|
+
"she",
|
|
80
|
+
"should",
|
|
81
|
+
"so",
|
|
82
|
+
"some",
|
|
83
|
+
"such",
|
|
84
|
+
"than",
|
|
85
|
+
"that",
|
|
86
|
+
"the",
|
|
87
|
+
"their",
|
|
88
|
+
"theirs",
|
|
89
|
+
"them",
|
|
90
|
+
"then",
|
|
91
|
+
"there",
|
|
92
|
+
"these",
|
|
93
|
+
"they",
|
|
94
|
+
"this",
|
|
95
|
+
"those",
|
|
96
|
+
"through",
|
|
97
|
+
"to",
|
|
98
|
+
"too",
|
|
99
|
+
"under",
|
|
100
|
+
"until",
|
|
101
|
+
"up",
|
|
102
|
+
"very",
|
|
103
|
+
"was",
|
|
104
|
+
"we",
|
|
105
|
+
"were",
|
|
106
|
+
"what",
|
|
107
|
+
"when",
|
|
108
|
+
"where",
|
|
109
|
+
"which",
|
|
110
|
+
"while",
|
|
111
|
+
"who",
|
|
112
|
+
"whom",
|
|
113
|
+
"why",
|
|
114
|
+
"will",
|
|
115
|
+
"with",
|
|
116
|
+
"would",
|
|
117
|
+
"you",
|
|
118
|
+
"your",
|
|
119
|
+
"yours",
|
|
120
|
+
]);
|
|
121
|
+
//# sourceMappingURL=stopwords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopwords.js","sourceRoot":"","sources":["../src/stopwords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAC;IACpD,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,KAAK;IACL,IAAI;IACJ,KAAK;IACL,OAAO;IACP,KAAK;IACL,IAAI;IACJ,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,OAAO;IACP,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,MAAM;IACN,MAAM;IACN,IAAI;IACJ,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,IAAI;IACJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,MAAM;IACN,KAAK;IACL,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;CACR,CAAC,CAAC"}
|
package/dist/sync.js
CHANGED
|
@@ -63,7 +63,7 @@ async function readChunks(pkg) {
|
|
|
63
63
|
chunks.push({
|
|
64
64
|
chunkId: chunkId(pkg.id, chunk.id),
|
|
65
65
|
filePath: chunk.file,
|
|
66
|
-
tokens: chunk.tokens
|
|
66
|
+
tokens: chunk.tokens ?? estimateTokens(text),
|
|
67
67
|
content: text,
|
|
68
68
|
tags: [...chunk.tags, ...chunk.entities],
|
|
69
69
|
});
|
package/dist/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/verify.d.ts
CHANGED
|
@@ -12,8 +12,14 @@ export type VerifyStatus = "verified" | "skipped";
|
|
|
12
12
|
export interface VerifiedPackage {
|
|
13
13
|
readonly id: string;
|
|
14
14
|
readonly status: VerifyStatus;
|
|
15
|
-
/**
|
|
16
|
-
readonly documents?: string;
|
|
15
|
+
/** Libraries the package declares it documents, as written. */
|
|
16
|
+
readonly documents?: readonly string[];
|
|
17
|
+
/**
|
|
18
|
+
* Documented libraries whose declarations could not be read, when others could. The check ran
|
|
19
|
+
* against a smaller surface than the package claims, which is worth saying: an entity those
|
|
20
|
+
* libraries export is one this run could have accused.
|
|
21
|
+
*/
|
|
22
|
+
readonly unchecked?: readonly string[];
|
|
17
23
|
/** Why nothing was checked, when status is `skipped`. */
|
|
18
24
|
readonly reason?: string;
|
|
19
25
|
readonly checked: number;
|
package/dist/verify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAyFD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAOjF"}
|