@grove-dev/core 0.16.0 → 0.18.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.
Files changed (62) hide show
  1. package/dist/build-data.d.ts.map +1 -1
  2. package/dist/build-data.js +2 -0
  3. package/dist/build-data.js.map +1 -1
  4. package/dist/candidate-collector.d.ts +61 -0
  5. package/dist/candidate-collector.d.ts.map +1 -0
  6. package/dist/candidate-collector.js +545 -0
  7. package/dist/candidate-collector.js.map +1 -0
  8. package/dist/candidate-discovery.d.ts +92 -0
  9. package/dist/candidate-discovery.d.ts.map +1 -0
  10. package/dist/candidate-discovery.js +488 -0
  11. package/dist/candidate-discovery.js.map +1 -0
  12. package/dist/candidate-schema.d.ts +209 -0
  13. package/dist/candidate-schema.d.ts.map +1 -0
  14. package/dist/candidate-schema.js +84 -0
  15. package/dist/candidate-schema.js.map +1 -0
  16. package/dist/github-cache.d.ts +87 -1
  17. package/dist/github-cache.d.ts.map +1 -1
  18. package/dist/github-cache.js +19 -1
  19. package/dist/github-cache.js.map +1 -1
  20. package/dist/image-probe.d.ts +27 -0
  21. package/dist/image-probe.d.ts.map +1 -0
  22. package/dist/image-probe.js +124 -0
  23. package/dist/image-probe.js.map +1 -0
  24. package/dist/index-policy.d.ts +48 -0
  25. package/dist/index-policy.d.ts.map +1 -0
  26. package/dist/index-policy.js +58 -0
  27. package/dist/index-policy.js.map +1 -0
  28. package/dist/index.d.ts +18 -4
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +12 -2
  31. package/dist/index.js.map +1 -1
  32. package/dist/normalize-records.d.ts +4 -3
  33. package/dist/normalize-records.d.ts.map +1 -1
  34. package/dist/normalize-records.js +10 -3
  35. package/dist/normalize-records.js.map +1 -1
  36. package/dist/page-document.d.ts +48 -0
  37. package/dist/page-document.d.ts.map +1 -1
  38. package/dist/page-document.js +93 -8
  39. package/dist/page-document.js.map +1 -1
  40. package/dist/prepare.d.ts.map +1 -1
  41. package/dist/prepare.js +31 -10
  42. package/dist/prepare.js.map +1 -1
  43. package/dist/record-candidates.d.ts +61 -0
  44. package/dist/record-candidates.d.ts.map +1 -0
  45. package/dist/record-candidates.js +261 -0
  46. package/dist/record-candidates.js.map +1 -0
  47. package/dist/record-markdown.d.ts +67 -0
  48. package/dist/record-markdown.d.ts.map +1 -0
  49. package/dist/record-markdown.js +244 -0
  50. package/dist/record-markdown.js.map +1 -0
  51. package/dist/schema.d.ts +78 -18
  52. package/dist/schema.d.ts.map +1 -1
  53. package/dist/schema.js +55 -2
  54. package/dist/schema.js.map +1 -1
  55. package/dist/sitemap.d.ts +3 -0
  56. package/dist/sitemap.d.ts.map +1 -1
  57. package/dist/sitemap.js +2 -0
  58. package/dist/sitemap.js.map +1 -1
  59. package/dist/validate.d.ts.map +1 -1
  60. package/dist/validate.js +14 -2
  61. package/dist/validate.js.map +1 -1
  62. package/package.json +1 -1
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Read an image's format and pixel size from the first bytes of the
3
+ * file, so sync can describe a logo or screenshot candidate without
4
+ * downloading it. Callers fetch a small byte range (see
5
+ * {@link IMAGE_PROBE_BYTES}) and hand it here; nothing in this module
6
+ * touches the network.
7
+ */
8
+ /**
9
+ * Bytes a range request asks for. Enough for the PNG, GIF and WebP
10
+ * headers and for the opening `<svg …>` tag; a JPEG's frame header
11
+ * usually sits past its EXIF block but inside this window.
12
+ */
13
+ export const IMAGE_PROBE_BYTES = 16_384;
14
+ const EXTENSION_FORMATS = {
15
+ png: 'png',
16
+ jpg: 'jpeg',
17
+ jpeg: 'jpeg',
18
+ gif: 'gif',
19
+ webp: 'webp',
20
+ svg: 'svg',
21
+ ico: 'ico',
22
+ avif: 'avif',
23
+ };
24
+ /** Image format implied by a path or URL's extension. */
25
+ export function imageFormatFromPath(path) {
26
+ const clean = path.split(/[?#]/)[0] ?? path;
27
+ const ext = clean.slice(clean.lastIndexOf('.') + 1).toLowerCase();
28
+ return EXTENSION_FORMATS[ext];
29
+ }
30
+ function positive(n) {
31
+ return Number.isFinite(n) && n > 0 ? Math.round(n) : undefined;
32
+ }
33
+ function facts(format, width, height) {
34
+ return { format, ...(width ? { width } : {}), ...(height ? { height } : {}) };
35
+ }
36
+ function pngFacts(b) {
37
+ const sig = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a];
38
+ if (b.length < 24 || !sig.every((v, i) => b[i] === v))
39
+ return undefined;
40
+ const view = new DataView(b.buffer, b.byteOffset, b.byteLength);
41
+ return facts('png', positive(view.getUint32(16)), positive(view.getUint32(20)));
42
+ }
43
+ function gifFacts(b) {
44
+ if (b.length < 10 || b[0] !== 0x47 || b[1] !== 0x49 || b[2] !== 0x46)
45
+ return undefined;
46
+ const view = new DataView(b.buffer, b.byteOffset, b.byteLength);
47
+ return facts('gif', positive(view.getUint16(6, true)), positive(view.getUint16(8, true)));
48
+ }
49
+ function ascii(b, start, length) {
50
+ return String.fromCharCode(...b.subarray(start, start + length));
51
+ }
52
+ function webpFacts(b) {
53
+ if (b.length < 30 || ascii(b, 0, 4) !== 'RIFF' || ascii(b, 8, 4) !== 'WEBP')
54
+ return undefined;
55
+ const view = new DataView(b.buffer, b.byteOffset, b.byteLength);
56
+ const chunk = ascii(b, 12, 4);
57
+ if (chunk === 'VP8X') {
58
+ const width = 1 + (view.getUint16(24, true) | ((b[26] ?? 0) << 16));
59
+ const height = 1 + (view.getUint16(27, true) | ((b[29] ?? 0) << 16));
60
+ return facts('webp', positive(width), positive(height));
61
+ }
62
+ if (chunk === 'VP8 ') {
63
+ return facts('webp', positive(view.getUint16(26, true) & 0x3fff), positive(view.getUint16(28, true) & 0x3fff));
64
+ }
65
+ if (chunk === 'VP8L') {
66
+ const bits = view.getUint32(21, true);
67
+ return facts('webp', positive((bits & 0x3fff) + 1), positive(((bits >> 14) & 0x3fff) + 1));
68
+ }
69
+ return { format: 'webp' };
70
+ }
71
+ function jpegFacts(b) {
72
+ if (b.length < 4 || b[0] !== 0xff || b[1] !== 0xd8)
73
+ return undefined;
74
+ const view = new DataView(b.buffer, b.byteOffset, b.byteLength);
75
+ let i = 2;
76
+ while (i + 9 < b.length) {
77
+ if (b[i] !== 0xff)
78
+ return { format: 'jpeg' };
79
+ const marker = b[i + 1] ?? 0;
80
+ // SOF0–SOF15 carry the frame size, except DHT (C4), JPG (C8) and DAC (CC).
81
+ if (marker >= 0xc0 && marker <= 0xcf && ![0xc4, 0xc8, 0xcc].includes(marker)) {
82
+ return facts('jpeg', positive(view.getUint16(i + 7)), positive(view.getUint16(i + 5)));
83
+ }
84
+ i += 2 + view.getUint16(i + 2);
85
+ }
86
+ return { format: 'jpeg' };
87
+ }
88
+ function svgLength(value) {
89
+ if (!value)
90
+ return undefined;
91
+ const match = /^\s*([\d.]+)\s*(px)?\s*$/.exec(value);
92
+ return match ? positive(Number(match[1])) : undefined;
93
+ }
94
+ function svgFacts(b) {
95
+ const text = new TextDecoder('utf-8', { fatal: false }).decode(b);
96
+ const tag = /<svg\b[^>]*>/i.exec(text)?.[0];
97
+ if (!tag)
98
+ return undefined;
99
+ const attr = (name) => new RegExp(`\\s${name}\\s*=\\s*["']([^"']*)["']`, 'i').exec(tag)?.[1];
100
+ let width = svgLength(attr('width'));
101
+ let height = svgLength(attr('height'));
102
+ const viewBox = attr('viewBox')
103
+ ?.trim()
104
+ .split(/[\s,]+/)
105
+ .map(Number);
106
+ if ((width === undefined || height === undefined) && viewBox?.length === 4) {
107
+ width ??= positive(viewBox[2] ?? Number.NaN);
108
+ height ??= positive(viewBox[3] ?? Number.NaN);
109
+ }
110
+ return facts('svg', width, height);
111
+ }
112
+ /**
113
+ * Format and size from the leading bytes of an image. Returns only
114
+ * what the bytes prove: `{}` when they match no known header.
115
+ */
116
+ export function probeImageBytes(bytes) {
117
+ return (pngFacts(bytes) ??
118
+ gifFacts(bytes) ??
119
+ webpFacts(bytes) ??
120
+ jpegFacts(bytes) ??
121
+ svgFacts(bytes) ??
122
+ {});
123
+ }
124
+ //# sourceMappingURL=image-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-probe.js","sourceRoot":"","sources":["../src/image-probe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { LISTING_INDEX_POLICIES, RECORD_INDEX_POLICIES } from './schema.js';
2
+ /** `all`: every listed record. `editorial`: records with a written
3
+ * Markdown body. `editorial-and-reviewed`: a body and `curation.reviewed`. */
4
+ export type RecordIndexPolicy = (typeof RECORD_INDEX_POLICIES)[number];
5
+ /** `all`: every non-empty page. `editorial`: pages with editorial intro copy. */
6
+ export type ListingIndexPolicy = (typeof LISTING_INDEX_POLICIES)[number];
7
+ export interface IndexPolicyConfig {
8
+ recordIndexPolicy?: RecordIndexPolicy;
9
+ collectionIndexPolicy?: ListingIndexPolicy;
10
+ taxonomyIndexPolicy?: ListingIndexPolicy;
11
+ }
12
+ /** Robots value for a page the policy keeps out of the index. `follow`
13
+ * so the links on it (to indexable pages) are still crawled. */
14
+ export declare const NOINDEX_FOLLOW = "noindex,follow";
15
+ export interface RecordIndexInput {
16
+ /** The record has a non-empty Markdown body (see `hasEditorialBody`). */
17
+ hasBody: boolean;
18
+ /** `curation.reviewed`. */
19
+ reviewed?: boolean;
20
+ /** Effective visibility; `hide` / `remove` are never indexable. */
21
+ visibility?: string;
22
+ }
23
+ export declare function recordIndexable(input: RecordIndexInput, policy?: RecordIndexPolicy): boolean;
24
+ export interface CollectionIndexInput {
25
+ /** `editorial.introduction`. */
26
+ introduction?: string | undefined;
27
+ /** The collection has a Markdown `content` body. */
28
+ hasBody?: boolean;
29
+ /** `seo.index` — `false` always wins. */
30
+ seoIndex?: boolean | undefined;
31
+ /** Resolved entry count; an empty collection has nothing to rank for. */
32
+ entryCount: number;
33
+ }
34
+ export declare function collectionIndexable(input: CollectionIndexInput, policy?: ListingIndexPolicy): boolean;
35
+ export interface TaxonomyTermIndexInput {
36
+ /** The term's `description` in `data/taxonomy/*.yml` — its intro copy. */
37
+ description?: string | undefined;
38
+ /** Visible records in the term; an empty term is never indexable. */
39
+ count: number;
40
+ }
41
+ export declare function taxonomyTermIndexable(input: TaxonomyTermIndexInput, policy?: ListingIndexPolicy): boolean;
42
+ /**
43
+ * Whether a `content:` pointer resolves to a Markdown body with
44
+ * something in it besides an opening `# Title` — the same body the
45
+ * detail page renders as the article.
46
+ */
47
+ export declare function hasEditorialBody(contentPath: string | undefined, candidates?: string[]): boolean;
48
+ //# sourceMappingURL=index-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-policy.d.ts","sourceRoot":"","sources":["../src/index-policy.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEjF;+EAC+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,iFAAiF;AACjF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,qBAAqB,CAAC,EAAE,kBAAkB,CAAC;IAC3C,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;CAC1C;AAED;iEACiE;AACjE,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,gBAAgB,EACvB,MAAM,GAAE,iBAAyB,GAChC,OAAO,CAKT;AAED,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,oBAAoB,EAC3B,MAAM,GAAE,kBAA0B,GACjC,OAAO,CAIT;AAED,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,sBAAsB,EAC7B,MAAM,GAAE,kBAA0B,GACjC,OAAO,CAIT;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAKhG"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Index policy — which generated pages a site offers to search engines.
3
+ *
4
+ * A directory built from imported metadata can publish hundreds of
5
+ * pages that are template text over synced data. `seo.*IndexPolicy` in
6
+ * `grove.config.ts` lets a site index only the pages a person wrote or
7
+ * reviewed; everything else still renders (and still links onwards)
8
+ * but carries `noindex,follow` and stays out of the sitemap.
9
+ *
10
+ * The rules live here, as pure functions, so the page models
11
+ * (`@grove-dev/astro`) and the sitemap (`prepareDirectory`) decide from
12
+ * the same code and can never disagree — and so a consumer's own SEO
13
+ * gate can re-derive the expected answer for any page.
14
+ *
15
+ * Every policy defaults to `'all'`: without configuration nothing
16
+ * changes.
17
+ */
18
+ import { readContentFile, stripLeadingH1 } from './content-body.js';
19
+ /** Robots value for a page the policy keeps out of the index. `follow`
20
+ * so the links on it (to indexable pages) are still crawled. */
21
+ export const NOINDEX_FOLLOW = 'noindex,follow';
22
+ export function recordIndexable(input, policy = 'all') {
23
+ if (input.visibility === 'hide' || input.visibility === 'remove')
24
+ return false;
25
+ if (policy === 'all')
26
+ return true;
27
+ if (!input.hasBody)
28
+ return false;
29
+ return policy === 'editorial' || input.reviewed === true;
30
+ }
31
+ export function collectionIndexable(input, policy = 'all') {
32
+ if (input.seoIndex === false || input.entryCount === 0)
33
+ return false;
34
+ if (policy === 'all')
35
+ return true;
36
+ return Boolean(input.introduction?.trim()) || input.hasBody === true;
37
+ }
38
+ export function taxonomyTermIndexable(input, policy = 'all') {
39
+ if (input.count === 0)
40
+ return false;
41
+ if (policy === 'all')
42
+ return true;
43
+ return Boolean(input.description?.trim());
44
+ }
45
+ /**
46
+ * Whether a `content:` pointer resolves to a Markdown body with
47
+ * something in it besides an opening `# Title` — the same body the
48
+ * detail page renders as the article.
49
+ */
50
+ export function hasEditorialBody(contentPath, candidates) {
51
+ if (!contentPath)
52
+ return false;
53
+ const found = readContentFile(contentPath, candidates);
54
+ if (!found)
55
+ return false;
56
+ return stripLeadingH1(found.body).trim().length > 0;
57
+ }
58
+ //# sourceMappingURL=index-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-policy.js","sourceRoot":"","sources":["../src/index-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAepE;iEACiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAW/C,MAAM,UAAU,eAAe,CAC7B,KAAuB,EACvB,SAA4B,KAAK;IAEjC,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/E,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;AAC3D,CAAC;AAaD,MAAM,UAAU,mBAAmB,CACjC,KAA2B,EAC3B,SAA6B,KAAK;IAElC,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;AACvE,CAAC;AASD,MAAM,UAAU,qBAAqB,CACnC,KAA6B,EAC7B,SAA6B,KAAK;IAElC,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAA+B,EAAE,UAAqB;IACrF,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,12 @@ export type { GenerateResult, RecordsFullPayload, RecordsIndexPayload } from './
15
15
  export { generate } from './build-data.js';
16
16
  export type { CandidateEntry, CandidateLink, CandidateSource, ExtractCandidatesOptions, } from './candidate.js';
17
17
  export { extractCandidates } from './candidate.js';
18
+ export type { CandidateCollectInput, CandidateCollection, CandidateCollector, CandidateCollectorOptions, } from './candidate-collector.js';
19
+ export { CANDIDATE_REQUESTS_PER_RECORD, createCandidateCollector, REPOLOGY_MIN_INTERVAL_MS, } from './candidate-collector.js';
20
+ export type { AppstreamFacts, FastlaneFiles, RepologyChannel, RepologyPackage, TreeFile, } from './candidate-discovery.js';
21
+ export { findAssetLogos, findFastlane, findGradleAppFiles, findMetainfoFiles, findWebManifests, installableAssets, isExcludedPath, parseAppstream, parseGradleApplicationIds, pickManifestIcon, repologyChannels, sameVersion, } from './candidate-discovery.js';
22
+ export type { CandidateKind, CandidateOrigin, CandidateProvenance, CandidateReview, ChannelCandidate, MediaCandidate, RecordCandidates, } from './candidate-schema.js';
23
+ export { candidateKindSchema, candidateOriginSchema, candidateProvenanceSchema, candidateReviewSchema, channelCandidateSchema, mediaCandidateSchema, recordCandidatesSchema, } from './candidate-schema.js';
18
24
  export type { CollectionSourceRecord, ToCollectionEntriesOptions, } from './collection-entries.js';
19
25
  export { toCollectionEntries } from './collection-entries.js';
20
26
  export type { Collection, CollectionEditorial, CollectionEntry, CollectionFaqItem, CollectionKind, CollectionPick, CollectionQuery, CollectionRanking, CollectionSeo, RankingPreset, } from './collections.js';
@@ -45,7 +51,7 @@ export type { InspectRepositoriesOptions, InspectRepositoryOptions, RepositoryEv
45
51
  export { canonicalRepoKey, createMemoryCache, inspectRepositories, inspectRepository, } from './evidence.js';
46
52
  export type { GithubRepoRef } from './github.js';
47
53
  export { buildGithubSyncPatch, fetchGithubMetadata, parseGithubRepoUrl, pruneLegacyGithubFields, } from './github.js';
48
- export type { GithubCache, GithubCacheEntry, GithubCacheFailure, GithubCacheMigration, GithubCacheSource, GithubFieldSource, GithubSyncAttempt, GithubSyncFreshness, GithubSyncFreshnessOptions, ResolvedRecordGithub, } from './github-cache.js';
54
+ export type { GithubCache, GithubCacheEntry, GithubCacheFailure, GithubCacheFailureSource, GithubCacheMigration, GithubCacheSource, GithubFieldSource, GithubSyncAttempt, GithubSyncFreshness, GithubSyncFreshnessOptions, ResolvedRecordGithub, } from './github-cache.js';
49
55
  export { GITHUB_CACHE_MAX_FAILURES, GITHUB_CACHE_SCHEMA_VERSION, GITHUB_SYNC_MAX_AGE_DAYS, githubCacheConflicts, githubCacheDir, githubCacheEntrySchema, githubSyncFreshness, githubSyncFreshnessOptions, loadGithubCache, migrateRecordGithub, nextGithubCacheEntry, removeTopLevelYamlKeys, resolveRecordGithub, SYNC_STALE_REASON, seedGithubCacheEntry, serializeGithubCacheEntry, writeGithubCacheEntry, } from './github-cache.js';
50
56
  export type { GhFetchOptions } from './github-client.js';
51
57
  export { rateLimitWaitMs, sleep } from './github-client.js';
@@ -53,7 +59,11 @@ export { classifyHealth } from './health.js';
53
59
  export type { PushAgeBand, PushAgeBandId } from './health-thresholds.js';
54
60
  export { PUSH_AGE_BANDS, pushAgeBand } from './health-thresholds.js';
55
61
  export { hostOf } from './host.js';
62
+ export type { ImageFacts, ImageFormat } from './image-probe.js';
63
+ export { IMAGE_PROBE_BYTES, imageFormatFromPath, probeImageBytes } from './image-probe.js';
56
64
  export { importAwesomeList, writeImportedRecords } from './importer.js';
65
+ export type { CollectionIndexInput, IndexPolicyConfig, ListingIndexPolicy, RecordIndexInput, RecordIndexPolicy, TaxonomyTermIndexInput, } from './index-policy.js';
66
+ export { collectionIndexable, hasEditorialBody, NOINDEX_FOLLOW, recordIndexable, taxonomyTermIndexable, } from './index-policy.js';
57
67
  export { readYamlFile, writeTextFile, writeYamlFile } from './io.js';
58
68
  export type { LlmsInput, LlmsRecordInput, LlmsResult } from './llms.js';
59
69
  export { buildLlmsFiles, buildLlmsFullTxt, buildLlmsTxt } from './llms.js';
@@ -63,21 +73,25 @@ export type { NormalizedRecord, NormalizedRecords, RecordEntry, RecordFormat, Re
63
73
  export { applyDecisionVisibility, loadNormalizedRecords, readRecordSources, } from './normalize-records.js';
64
74
  export type { OgBuildInput, OgBuildResult, OgTemplate } from './og-image.js';
65
75
  export { buildOgImages, renderOgPng } from './og-image.js';
66
- export type { CollectionInput, ContentInput, Crumb, DocumentPageType, FaqInput, JsonLdNode, JsonLdValidationIssue, LinkedDocument, OpenGraphMetadata, PageDiscovery, PageDocument, PageIdentity, PageMetadata, RecordInput, SiteInput, TwitterMetadata, } from './page-document.js';
67
- export { breadcrumbSchema, buildJsonLd, collectionSchema, contentSchema, definePageDocument, faqSchema, recordSchema, siteSchema, validateJsonLd, } from './page-document.js';
76
+ export type { CollectionInput, ContentInput, Crumb, DocumentPageType, FaqInput, JsonLdNode, JsonLdValidationIssue, LinkedDocument, OpenGraphMetadata, PageDiscovery, PageDocument, PageIdentity, PageMetadata, RecordInput, SiteInput, SoftwareApplicationInput, TwitterMetadata, } from './page-document.js';
77
+ export { breadcrumbSchema, buildJsonLd, collectionSchema, contentSchema, definePageDocument, faqSchema, recordSchema, SOFTWARE_APPLICATION_FIELDS, siteSchema, softwareApplicationSchema, validateJsonLd, } from './page-document.js';
68
78
  export type { ParsedEntry, ParsedSection } from './parseReadme.js';
69
79
  export { parseEntry, parseSections } from './parseReadme.js';
70
80
  export type { PrepareDirectoryResult } from './prepare.js';
71
81
  export { prepareDirectory } from './prepare.js';
72
82
  export type { ReadmeHealthEntryResult, ReadmeHealthReport, ReadmeHealthSummary, RunReadmeHealthCheckOptions, } from './readme-health.js';
73
83
  export { runReadmeHealthCheck } from './readme-health.js';
84
+ export type { CandidateListing, CandidateRow, CandidateStatus, ListCandidatesOptions, } from './record-candidates.js';
85
+ export { candidateRows, listRecordCandidates, loadCandidateReviews, mergeRecordCandidates, normalizeCandidateUrl, sortRecordCandidates, } from './record-candidates.js';
86
+ export type { YamlRecordToMarkdownOptions, YamlRecordToMarkdownResult, } from './record-markdown.js';
87
+ export { MARKDOWN_RECORD_FIELD_ORDER, yamlRecordToMarkdown } from './record-markdown.js';
74
88
  export { findRelated } from './related.js';
75
89
  export type { RepositoryHealthConfidence, RepositoryHealthResult, RepositoryHealthStatus, } from './repository-health.js';
76
90
  export { classifyRepositoryHealth } from './repository-health.js';
77
91
  export { buildRobotsTxt, isIndexableFilterPath } from './robots.js';
78
92
  export { directoryRoute } from './routes.js';
79
93
  export type { AppLabel, Blueprint, Decision, DecisionsFile, DecisionVisibility, EntityRecord, EntityType, GithubIntegrationFlags, GithubMetadata, GithubRepository, GroveConfig, GroveConfigInput, HealthEntry, HealthFile, HealthStatus, HealthTier, IndexEntityRecord, IndexProjectRecord, IndexRecord, IndexResourceRecord, Links, Override, OverridesFile, ProjectRecord, ProjectType, ReadmeConfig, Relation, RelationType, Resource, ResourceKind, ResourceRecord, ResourceType, Score, Subject, } from './schema.js';
80
- export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, readmeConfigSchema, recordsFileSchema, recordVisibility, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
94
+ export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, LISTING_INDEX_POLICIES, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, RECORD_INDEX_POLICIES, readmeConfigSchema, recordsFileSchema, recordVisibility, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
81
95
  export type { SiteArtifactStats, SiteArtifactsResult, } from './site-artifacts.js';
82
96
  export { buildOgImageSvg, buildSiteArtifacts } from './site-artifacts.js';
83
97
  export { buildSitemap, buildSitemapXml } from './sitemap.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,6 +19,9 @@ export { AWESOME_README_END, AWESOME_README_START, assertReadmeLinkConfig, build
19
19
  export { generate } from './build-data.js';
20
20
  // ── Candidate extraction (AST-based, source-preserving) ──────────────
21
21
  export { extractCandidates } from './candidate.js';
22
+ export { CANDIDATE_REQUESTS_PER_RECORD, createCandidateCollector, REPOLOGY_MIN_INTERVAL_MS, } from './candidate-collector.js';
23
+ export { findAssetLogos, findFastlane, findGradleAppFiles, findMetainfoFiles, findWebManifests, installableAssets, isExcludedPath, parseAppstream, parseGradleApplicationIds, pickManifestIcon, repologyChannels, sameVersion, } from './candidate-discovery.js';
24
+ export { candidateKindSchema, candidateOriginSchema, candidateProvenanceSchema, candidateReviewSchema, channelCandidateSchema, mediaCandidateSchema, recordCandidatesSchema, } from './candidate-schema.js';
22
25
  // ── Record → CollectionEntry projection ──────────────────────────────
23
26
  export { toCollectionEntries } from './collection-entries.js';
24
27
  // ── Collection engine (query, ranking, editorial) ────────────────────
@@ -78,7 +81,9 @@ export { PUSH_AGE_BANDS, pushAgeBand } from './health-thresholds.js';
78
81
  // (per-page PNG cards). One implementation so the two social-card
79
82
  // surfaces never print different hosts for the same config.
80
83
  export { hostOf } from './host.js';
84
+ export { IMAGE_PROBE_BYTES, imageFormatFromPath, probeImageBytes } from './image-probe.js';
81
85
  export { importAwesomeList, writeImportedRecords } from './importer.js';
86
+ export { collectionIndexable, hasEditorialBody, NOINDEX_FOLLOW, recordIndexable, taxonomyTermIndexable, } from './index-policy.js';
82
87
  // ── IO helpers ────────────────────────────────────────────────────────
83
88
  export { readYamlFile, writeTextFile, writeYamlFile } from './io.js';
84
89
  // ── llms.txt ─────────────────────────────────────────────────────────
@@ -95,11 +100,16 @@ export { buildOgImages, renderOgPng } from './og-image.js';
95
100
  // framework emits all SEO metadata (title, description, canonical, OG,
96
101
  // Twitter, JSON-LD) from this single source. `validateJsonLd` is the
97
102
  // build-time well-formedness check that runs over the node graph.
98
- export { breadcrumbSchema, buildJsonLd, collectionSchema, contentSchema, definePageDocument, faqSchema, recordSchema, siteSchema, validateJsonLd, } from './page-document.js';
103
+ export { breadcrumbSchema, buildJsonLd, collectionSchema, contentSchema, definePageDocument, faqSchema, recordSchema, SOFTWARE_APPLICATION_FIELDS, siteSchema, softwareApplicationSchema, validateJsonLd, } from './page-document.js';
99
104
  export { parseEntry, parseSections } from './parseReadme.js';
100
105
  export { prepareDirectory } from './prepare.js';
101
106
  // ── README health: batch orchestration (candidates → evidence → health) ──
102
107
  export { runReadmeHealthCheck } from './readme-health.js';
108
+ export { candidateRows, listRecordCandidates, loadCandidateReviews, mergeRecordCandidates, normalizeCandidateUrl, sortRecordCandidates, } from './record-candidates.js';
109
+ // ── Record codemod: YAML → Markdown ──────────────────────────────────
110
+ // One YAML record (plus its body) as one Markdown record, as
111
+ // `grove migrate markdown-records` writes it.
112
+ export { MARKDOWN_RECORD_FIELD_ORDER, yamlRecordToMarkdown } from './record-markdown.js';
103
113
  export { findRelated } from './related.js';
104
114
  // ── Repository health classification (evidence → explainable status, README-health) ──
105
115
  export { classifyRepositoryHealth } from './repository-health.js';
@@ -107,7 +117,7 @@ export { classifyRepositoryHealth } from './repository-health.js';
107
117
  export { buildRobotsTxt, isIndexableFilterPath } from './robots.js';
108
118
  export { directoryRoute } from './routes.js';
109
119
  // ── Record YAML helpers (used by `grove import` and the generator) ──
110
- export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, readmeConfigSchema, recordsFileSchema, recordVisibility, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
120
+ export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, LISTING_INDEX_POLICIES, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, RECORD_INDEX_POLICIES, readmeConfigSchema, recordsFileSchema, recordVisibility, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
111
121
  // ── Config-driven public artifacts ──────────────────────────────────
112
122
  export { buildOgImageSvg, buildSiteArtifacts } from './site-artifacts.js';
113
123
  // ── Sitemap ──────────────────────────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,yEAAyE;AAYzE,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AASpB,wEAAwE;AACxE,oEAAoE;AACpE,qEAAqE;AACrE,wEAAwE;AACxE,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,wEAAwE;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAO3C,wEAAwE;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAQnD,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAK/B,wEAAwE;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAa9D,wEAAwE;AACxE,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,wEAAwE;AACxE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEhG,wEAAwE;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASvD,sEAAsE;AACtE,iEAAiE;AACjE,oEAAoE;AACpE,kEAAkE;AAClE,oDAAoD;AACpD,OAAO,EACL,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAM3B,yEAAyE;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACrE,uEAAuE;AACvE,mEAAmE;AACnE,wEAAwE;AACxE,oDAAoD;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAOtC,wEAAwE;AACxE,kEAAkE;AAClE,gEAAgE;AAChE,2DAA2D;AAC3D,qCAAqC;AACrC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC,wEAAwE;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQnD,4EAA4E;AAC5E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,wEAAwE;AACxE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAcrB,wEAAwE;AACxE,qEAAqE;AACrE,wDAAwD;AACxD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC5D,yEAAyE;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,mEAAmE;AACnE,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,wEAAwE;AACxE,kEAAkE;AAClE,kEAAkE;AAClE,4DAA4D;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAUxE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,yEAAyE;AACzE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErE,wEAAwE;AACxE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAM3E,wEAAwE;AACxE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAWvB,wEAAwE;AACxE,wEAAwE;AACxE,uEAAuE;AACvE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB3D,uEAAuE;AACvE,kEAAkE;AAClE,uEAAuE;AACvE,qEAAqE;AACrE,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,2BAA2B,EAC3B,UAAU,EACV,yBAAyB,EACzB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD,4EAA4E;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAO1D,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAKhC,wEAAwE;AACxE,6DAA6D;AAC7D,8CAA8C;AAC9C,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,wFAAwF;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,wEAAwE;AACxE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsC7C,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,EACX,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAKrB,uEAAuE;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,yEAAyE;AACzE,sEAAsE;AACtE,mEAAmE;AACnE,gEAAgE;AAChE,4DAA4D;AAC5D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhD,uEAAuE;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wEAAwE;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,yEAAyE;AACzE,2EAA2E;AAC3E,mEAAmE;AACnE,iEAAiE;AACjE,uDAAuD;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,wEAAwE;AACxE,mEAAmE;AACnE,yCAAyC;AACzC,OAAO,EACL,eAAe,EACf,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,WAAW,CAAC"}
@@ -93,15 +93,16 @@ export interface NormalizedRecord {
93
93
  /**
94
94
  * The review body: a Markdown record's own body, or the file a YAML
95
95
  * record's `content:` points at, frontmatter stripped. Absent for a
96
- * data-only record or a pointer that does not resolve.
96
+ * data-only record, a Markdown record whose body is blank, or a
97
+ * pointer that does not resolve.
97
98
  */
98
99
  body?: string;
99
100
  /**
100
101
  * The record after every layer: source, GitHub cache (or legacy
101
102
  * inline copy), overrides, `paths.health` and decisions. This is
102
103
  * what the build serializes and every output renders. For a Markdown
103
- * record, `content` points at the record's own file, so every
104
- * renderer that reads `content` finds the body unchanged.
104
+ * record with a body, `content` points at the record's own file, so
105
+ * every renderer that reads `content` finds the body unchanged.
105
106
  */
106
107
  record: Resource;
107
108
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-records.d.ts","sourceRoot":"","sources":["../src/normalize-records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize-records.d.ts","sourceRoot":"","sources":["../src/normalize-records.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,10 @@ import { blueprintKind, decisionsFileSchema, healthFileSchema, overridesFileSche
40
40
  function isMapping(value) {
41
41
  return value !== null && typeof value === 'object' && !Array.isArray(value);
42
42
  }
43
+ /** True when a Markdown record's body holds anything but whitespace. */
44
+ function hasBody(body) {
45
+ return body !== undefined && /\S/.test(body);
46
+ }
43
47
  /** `./`-prefixed, `/`-separated path relative to `cwd`: the form `content:` pointers use. */
44
48
  function contentPointerFor(cwd, path) {
45
49
  return `./${relative(cwd, path).split(sep).join('/')}`;
@@ -258,8 +262,11 @@ export async function loadNormalizedRecords(config, cwd = process.cwd()) {
258
262
  continue;
259
263
  }
260
264
  // `content` points at the record's own file, so every renderer that
261
- // reads a body through `content` works unchanged.
262
- raw.content = contentPointerFor(cwd, source.path);
265
+ // reads a body through `content` works unchanged. A blank body is
266
+ // no body: the record then reads exactly like a YAML record with
267
+ // no pointer (no "no notes yet" fallback, no skeleton warning).
268
+ if (hasBody(source.body))
269
+ raw.content = contentPointerFor(cwd, source.path);
263
270
  if (raw.slug === undefined)
264
271
  raw.slug = slug;
265
272
  }
@@ -315,7 +322,7 @@ export async function loadNormalizedRecords(config, cwd = process.cwd()) {
315
322
  record = applyDecisionVisibility(record, decision);
316
323
  let body;
317
324
  if (format === 'markdown')
318
- body = source.body;
325
+ body = hasBody(source.body) ? source.body : undefined;
319
326
  else if (base.content) {
320
327
  body = readContentFile(base.content, pointerCandidates(cwd, base.content))?.body;
321
328
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-records.js","sourceRoot":"","sources":["../src/normalize-records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize-records.js","sourceRoot":"","sources":["../src/normalize-records.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,54 @@ export interface RecordInput {
140
140
  crumbs: Crumb[];
141
141
  }
142
142
  export declare function recordSchema(input: RecordInput): JsonLdNode[];
143
+ /**
144
+ * Every property `softwareApplicationSchema` can emit. Each one comes
145
+ * from the record, the page, or the GitHub API — nothing is inferred.
146
+ * `offers`, `aggregateRating`, `review` and `isAccessibleForFree` are
147
+ * deliberately absent: a directory has no verified price or rating, and
148
+ * open source is not the same as free in a store. Exported so a site's
149
+ * SEO gate can hold its pages to the same list.
150
+ */
151
+ export declare const SOFTWARE_APPLICATION_FIELDS: readonly ["@context", "@type", "@id", "name", "description", "url", "codeRepository", "sameAs", "license", "operatingSystem", "applicationCategory", "downloadUrl", "programmingLanguage", "dateCreated", "dateModified", "author", "keywords"];
152
+ export interface SoftwareApplicationInput {
153
+ /** Canonical page URL; the node's `@id` is `<url>#record`. */
154
+ url: string;
155
+ name: string;
156
+ description: string;
157
+ /** Source repository — `codeRepository`, and first in `sameAs`. */
158
+ repoUrl?: string;
159
+ /** The project's own website — added to `sameAs`. */
160
+ homepageUrl?: string;
161
+ /** SPDX id as detected by GitHub. `NOASSERTION` / `OTHER` are dropped;
162
+ * an SPDX id becomes its spdx.org URL. */
163
+ license?: string | null;
164
+ /** Platform labels (e.g. "Android", "iOS") — `operatingSystem`. */
165
+ platforms?: string[];
166
+ /** Category label — `applicationCategory`. */
167
+ category?: string;
168
+ /** URLs of distribution channels a curator marked `verified: true`.
169
+ * Unverified channels must not be passed. */
170
+ downloadUrls?: string[];
171
+ /** Primary language as reported by GitHub. */
172
+ programmingLanguage?: string | null;
173
+ /** Repository creation / last push, from GitHub. */
174
+ dateCreated?: string | null;
175
+ dateModified?: string | null;
176
+ /** Repository owner. Emitted only with a type GitHub reported
177
+ * (`User` → Person, `Organization` → Organization). */
178
+ owner?: {
179
+ login: string;
180
+ type?: string | null;
181
+ url?: string;
182
+ };
183
+ keywords?: string[];
184
+ }
185
+ /**
186
+ * `["SoftwareApplication", "SoftwareSourceCode"]` node for an app
187
+ * record, limited to `SOFTWARE_APPLICATION_FIELDS`. Missing inputs are
188
+ * left out rather than filled with a default.
189
+ */
190
+ export declare function softwareApplicationSchema(input: SoftwareApplicationInput): JsonLdNode;
143
191
  export interface ContentInput {
144
192
  url: string;
145
193
  headline: string;