@fern-api/fdr-sdk 1.2.165-67370398 → 1.2.165-757da63274
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/docs-ledger/buildLedgerManifest.d.ts +80 -0
- package/dist/docs-ledger/buildLedgerManifest.d.ts.map +1 -0
- package/dist/docs-ledger/buildLedgerManifest.js +885 -0
- package/dist/docs-ledger/buildLedgerManifest.js.map +1 -0
- package/dist/docs-ledger/docsLedgerHash.d.ts +80 -0
- package/dist/docs-ledger/docsLedgerHash.d.ts.map +1 -0
- package/dist/docs-ledger/docsLedgerHash.js +110 -0
- package/dist/docs-ledger/docsLedgerHash.js.map +1 -0
- package/dist/docs-ledger/docsPublishTransform.d.ts +178 -0
- package/dist/docs-ledger/docsPublishTransform.d.ts.map +1 -0
- package/dist/docs-ledger/docsPublishTransform.js +2136 -0
- package/dist/docs-ledger/docsPublishTransform.js.map +1 -0
- package/dist/docs-ledger/index.d.ts +15 -0
- package/dist/docs-ledger/index.d.ts.map +1 -0
- package/dist/docs-ledger/index.js +15 -0
- package/dist/docs-ledger/index.js.map +1 -0
- package/dist/docs-ledger/inputTypes.d.ts +236 -0
- package/dist/docs-ledger/inputTypes.d.ts.map +1 -0
- package/dist/docs-ledger/inputTypes.js +2 -0
- package/dist/docs-ledger/inputTypes.js.map +1 -0
- package/dist/docs-ledger/stableHash.d.ts +7 -0
- package/dist/docs-ledger/stableHash.d.ts.map +1 -0
- package/dist/docs-ledger/stableHash.js +24 -0
- package/dist/docs-ledger/stableHash.js.map +1 -0
- package/dist/docs-ledger/toBasepathRelative.d.ts +25 -0
- package/dist/docs-ledger/toBasepathRelative.d.ts.map +1 -0
- package/dist/docs-ledger/toBasepathRelative.js +34 -0
- package/dist/docs-ledger/toBasepathRelative.js.map +1 -0
- package/dist/js/docs-ledger/index.js +20157 -0
- package/dist/js/docs-ledger/index.js.map +1 -0
- package/dist/js/docs-ledger/index.mjs +20113 -0
- package/dist/js/docs-ledger/index.mjs.map +1 -0
- package/dist/types/docs-ledger/buildLedgerManifest.d.ts +80 -0
- package/dist/types/docs-ledger/buildLedgerManifest.d.ts.map +1 -0
- package/dist/types/docs-ledger/docsLedgerHash.d.ts +80 -0
- package/dist/types/docs-ledger/docsLedgerHash.d.ts.map +1 -0
- package/dist/types/docs-ledger/docsPublishTransform.d.ts +178 -0
- package/dist/types/docs-ledger/docsPublishTransform.d.ts.map +1 -0
- package/dist/types/docs-ledger/index.d.ts +15 -0
- package/dist/types/docs-ledger/index.d.ts.map +1 -0
- package/dist/types/docs-ledger/inputTypes.d.ts +236 -0
- package/dist/types/docs-ledger/inputTypes.d.ts.map +1 -0
- package/dist/types/docs-ledger/stableHash.d.ts +7 -0
- package/dist/types/docs-ledger/stableHash.d.ts.map +1 -0
- package/dist/types/docs-ledger/toBasepathRelative.d.ts +25 -0
- package/dist/types/docs-ledger/toBasepathRelative.d.ts.map +1 -0
- package/package.json +8 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildLedgerManifest.js","sourceRoot":"","sources":["../../src/docs-ledger/buildLedgerManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic hash computation for docs-ledger entities.
|
|
3
|
+
*
|
|
4
|
+
* Server-internal — these functions are NOT shared with the client.
|
|
5
|
+
* The server is the sole authority for structural hash computation.
|
|
6
|
+
*
|
|
7
|
+
* All hashes use SHA-256 over {@link stableStringify}, which produces
|
|
8
|
+
* deterministic JSON by sorting object keys during serialization.
|
|
9
|
+
* `JSON.stringify`'s replacer runs after `toJSON()`, so Dates and custom
|
|
10
|
+
* serializers are handled by the engine — no special cases needed.
|
|
11
|
+
*/
|
|
12
|
+
import type { DocsPublishInput, LedgerSegmentDetailMetadata, LedgerSegmentMetadata } from "../orpc-client/index.js";
|
|
13
|
+
export { stableStringify } from "./stableHash.js";
|
|
14
|
+
/**
|
|
15
|
+
* The FDR release version, injected as an env var by the CDK deploy stack.
|
|
16
|
+
* Included in deployment, segment, and artifact hashes so that every FDR
|
|
17
|
+
* deploy invalidates cached structural rows — even when the publish input
|
|
18
|
+
* is byte-identical.
|
|
19
|
+
*
|
|
20
|
+
* Falls back to "local" for local development (where no env var is set),
|
|
21
|
+
* ensuring hashes are still deterministic within a single server instance.
|
|
22
|
+
*/
|
|
23
|
+
export declare const FDR_VERSION: string;
|
|
24
|
+
/**
|
|
25
|
+
* Compute the deployment hash directly from the publish input.
|
|
26
|
+
*
|
|
27
|
+
* Since the server-side transform is deterministic, identical inputs always
|
|
28
|
+
* produce identical deployments. This lets us:
|
|
29
|
+
* - Return a real deployment hash from register (before the transform runs)
|
|
30
|
+
* - Short-circuit finish when the deployment hash matches the current one
|
|
31
|
+
*
|
|
32
|
+
* The hash covers everything that affects the deployment's content:
|
|
33
|
+
* nav tree, page content hashes, API manifest hash, global blob hashes, locale,
|
|
34
|
+
* and the {@link FDR_VERSION} salt.
|
|
35
|
+
*/
|
|
36
|
+
export declare function hashDeploymentInput(input: DocsPublishInput): string;
|
|
37
|
+
export interface SegmentDetailHashInput {
|
|
38
|
+
type: string;
|
|
39
|
+
displayName: string;
|
|
40
|
+
icon?: string | null;
|
|
41
|
+
sortOrder: number;
|
|
42
|
+
metadata: LedgerSegmentDetailMetadata;
|
|
43
|
+
hidden: boolean;
|
|
44
|
+
viewers: string[];
|
|
45
|
+
orphaned: boolean;
|
|
46
|
+
featureFlags: string[];
|
|
47
|
+
}
|
|
48
|
+
export declare function hashSegmentDetail(input: SegmentDetailHashInput): string;
|
|
49
|
+
export interface ArtifactHashInput {
|
|
50
|
+
type: string;
|
|
51
|
+
hidden: boolean;
|
|
52
|
+
metadata: Record<string, unknown>;
|
|
53
|
+
/** CAS content hash. Null for content-less artifacts (links). */
|
|
54
|
+
contentHash: string | null;
|
|
55
|
+
}
|
|
56
|
+
export declare function hashArtifact(input: ArtifactHashInput): string;
|
|
57
|
+
export interface SegmentHashInput {
|
|
58
|
+
locale: string;
|
|
59
|
+
productHash?: string;
|
|
60
|
+
versionHash?: string;
|
|
61
|
+
variantHash?: string;
|
|
62
|
+
tabHash?: string;
|
|
63
|
+
section: string;
|
|
64
|
+
metadata: LedgerSegmentMetadata;
|
|
65
|
+
hidden: boolean;
|
|
66
|
+
/** Artifact hashes included in this segment — sorted internally for determinism. */
|
|
67
|
+
artifactHashes: string[];
|
|
68
|
+
/** Sidebar ordering: artifact hash + display position. Sorted by displaySortOrder for determinism. */
|
|
69
|
+
displaySortOrder: Array<{
|
|
70
|
+
artifactHash: string;
|
|
71
|
+
displaySortOrder: number;
|
|
72
|
+
}>;
|
|
73
|
+
/** Route entries — sorted by fullPath internally for determinism. */
|
|
74
|
+
routes: Array<{
|
|
75
|
+
fullPath: string;
|
|
76
|
+
artifactHash: string;
|
|
77
|
+
}>;
|
|
78
|
+
}
|
|
79
|
+
export declare function hashSegment(input: SegmentHashInput): string;
|
|
80
|
+
//# sourceMappingURL=docsLedgerHash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docsLedgerHash.d.ts","sourceRoot":"","sources":["../../src/docs-ledger/docsLedgerHash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAIpH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAUlD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,MAA2C,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAOnE;AAuCD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,2BAA2B,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAavE;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,iEAAiE;IACjE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAE7D;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,oFAAoF;IACpF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sGAAsG;IACtG,gBAAgB,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,qEAAqE;IACrE,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAyB3D"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { sha256Hex, stableStringify } from "./stableHash.js";
|
|
2
|
+
export { stableStringify } from "./stableHash.js";
|
|
3
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────
|
|
4
|
+
function computeHash(parts) {
|
|
5
|
+
return sha256Hex(stableStringify(parts));
|
|
6
|
+
}
|
|
7
|
+
// ─── FDR version salt ───────────────────────────────────────────────────
|
|
8
|
+
/**
|
|
9
|
+
* The FDR release version, injected as an env var by the CDK deploy stack.
|
|
10
|
+
* Included in deployment, segment, and artifact hashes so that every FDR
|
|
11
|
+
* deploy invalidates cached structural rows — even when the publish input
|
|
12
|
+
* is byte-identical.
|
|
13
|
+
*
|
|
14
|
+
* Falls back to "local" for local development (where no env var is set),
|
|
15
|
+
* ensuring hashes are still deterministic within a single server instance.
|
|
16
|
+
*/
|
|
17
|
+
export const FDR_VERSION = process.env.FDR_VERSION ?? "local";
|
|
18
|
+
/**
|
|
19
|
+
* Compute the deployment hash directly from the publish input.
|
|
20
|
+
*
|
|
21
|
+
* Since the server-side transform is deterministic, identical inputs always
|
|
22
|
+
* produce identical deployments. This lets us:
|
|
23
|
+
* - Return a real deployment hash from register (before the transform runs)
|
|
24
|
+
* - Short-circuit finish when the deployment hash matches the current one
|
|
25
|
+
*
|
|
26
|
+
* The hash covers everything that affects the deployment's content:
|
|
27
|
+
* nav tree, page content hashes, API manifest hash, global blob hashes, locale,
|
|
28
|
+
* and the {@link FDR_VERSION} salt.
|
|
29
|
+
*/
|
|
30
|
+
export function hashDeploymentInput(input) {
|
|
31
|
+
// Hash each locale entry deterministically, sorted by locale for stability.
|
|
32
|
+
const localeHashes = [...input.locales]
|
|
33
|
+
.sort((a, b) => (a.locale < b.locale ? -1 : a.locale > b.locale ? 1 : 0))
|
|
34
|
+
.map((locale) => hashLocaleEntry(locale, input.domain));
|
|
35
|
+
return computeHash([FDR_VERSION, input.defaultLocale, localeHashes]);
|
|
36
|
+
}
|
|
37
|
+
function hashLocaleEntry(locale, domain) {
|
|
38
|
+
const pageEntries = Object.entries(locale.pages)
|
|
39
|
+
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
40
|
+
.map(([pageId, ref]) => [pageId, ref.hash]);
|
|
41
|
+
const fileManifestEntries = locale.fileManifest
|
|
42
|
+
? Object.entries(locale.fileManifest)
|
|
43
|
+
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
44
|
+
.map(([fullPath, entry]) => [
|
|
45
|
+
fullPath,
|
|
46
|
+
domain,
|
|
47
|
+
entry.hash,
|
|
48
|
+
entry.contentType,
|
|
49
|
+
entry.filename,
|
|
50
|
+
entry.width ?? null,
|
|
51
|
+
entry.height ?? null,
|
|
52
|
+
entry.blurDataURL ?? null
|
|
53
|
+
])
|
|
54
|
+
: null;
|
|
55
|
+
return [
|
|
56
|
+
locale.root,
|
|
57
|
+
pageEntries,
|
|
58
|
+
locale.apiManifest?.hash ?? null,
|
|
59
|
+
locale.config ?? null,
|
|
60
|
+
fileManifestEntries,
|
|
61
|
+
locale.jsFiles?.hash ?? null,
|
|
62
|
+
locale.redirects?.hash ?? null,
|
|
63
|
+
locale.locale,
|
|
64
|
+
locale.version ?? null,
|
|
65
|
+
locale.repo ?? null,
|
|
66
|
+
locale.git ?? null
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
export function hashSegmentDetail(input) {
|
|
70
|
+
return computeHash([
|
|
71
|
+
FDR_VERSION,
|
|
72
|
+
input.type,
|
|
73
|
+
input.displayName,
|
|
74
|
+
input.icon,
|
|
75
|
+
input.sortOrder,
|
|
76
|
+
input.metadata,
|
|
77
|
+
input.hidden,
|
|
78
|
+
[...input.viewers].sort(),
|
|
79
|
+
input.orphaned,
|
|
80
|
+
[...input.featureFlags].sort()
|
|
81
|
+
]);
|
|
82
|
+
}
|
|
83
|
+
export function hashArtifact(input) {
|
|
84
|
+
return computeHash([FDR_VERSION, input.type, input.hidden, input.metadata, input.contentHash]);
|
|
85
|
+
}
|
|
86
|
+
export function hashSegment(input) {
|
|
87
|
+
const sortedRoutes = [...input.routes].sort((a, b) => a.fullPath < b.fullPath ? -1 : a.fullPath > b.fullPath ? 1 : 0);
|
|
88
|
+
const sortedDisplayOrder = [...input.displaySortOrder].sort((a, b) => {
|
|
89
|
+
const orderDiff = a.displaySortOrder - b.displaySortOrder;
|
|
90
|
+
if (orderDiff !== 0) {
|
|
91
|
+
return orderDiff;
|
|
92
|
+
}
|
|
93
|
+
return a.artifactHash < b.artifactHash ? -1 : a.artifactHash > b.artifactHash ? 1 : 0;
|
|
94
|
+
});
|
|
95
|
+
return computeHash([
|
|
96
|
+
FDR_VERSION,
|
|
97
|
+
input.locale,
|
|
98
|
+
input.productHash,
|
|
99
|
+
input.versionHash,
|
|
100
|
+
input.variantHash,
|
|
101
|
+
input.tabHash,
|
|
102
|
+
input.section,
|
|
103
|
+
input.metadata,
|
|
104
|
+
input.hidden,
|
|
105
|
+
[...input.artifactHashes].sort(),
|
|
106
|
+
sortedDisplayOrder,
|
|
107
|
+
sortedRoutes
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=docsLedgerHash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docsLedgerHash.js","sourceRoot":"","sources":["../../src/docs-ledger/docsLedgerHash.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ApiDefinition } from "../api-definition/index.js";
|
|
2
|
+
import type { BlobRef, LedgerConfig, LocaleEntry } from "../orpc-client/index.js";
|
|
3
|
+
import type { ArtifactInput, DeploymentApiDefinitionInput, DeploymentSegmentInput, DocsSiteProduct, NavInput, SegmentDetailInput, SegmentInput } from "./inputTypes.js";
|
|
4
|
+
/**
|
|
5
|
+
* Input type for `transformPublishInput`. A single locale's content fields
|
|
6
|
+
* plus the deployment-scoped `domain` (needed for file-artifact S3 key
|
|
7
|
+
* construction).
|
|
8
|
+
*/
|
|
9
|
+
export type TransformInput = LocaleEntry & {
|
|
10
|
+
domain: string;
|
|
11
|
+
/**
|
|
12
|
+
* Override for the file-anchoring domain (S3 keys). When set, files
|
|
13
|
+
* are keyed under this domain instead of `domain`, so preview
|
|
14
|
+
* publishes can anchor on the canonical fern domain (ADR 0010).
|
|
15
|
+
*/
|
|
16
|
+
fileDomain?: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* A fileManifest entry collected during the transform. Carries everything
|
|
20
|
+
* the register/finish handlers need to route uploads to the correct S3
|
|
21
|
+
* bucket and upsert `docs_ledger_file` rows. The asset domain is the
|
|
22
|
+
* canonical `DocsPublishInput.domain`; custom domains share that namespace.
|
|
23
|
+
* The bucket is determined by the handler (not the transform) from the
|
|
24
|
+
* site's auth config.
|
|
25
|
+
*/
|
|
26
|
+
export interface TransformFileEntry {
|
|
27
|
+
fullPath: string;
|
|
28
|
+
hash: string;
|
|
29
|
+
contentType: string;
|
|
30
|
+
contentLength: number;
|
|
31
|
+
filename: string;
|
|
32
|
+
width?: number;
|
|
33
|
+
height?: number;
|
|
34
|
+
blurDataURL?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parsed API manifest: full API definitions keyed by apiDefinitionId.
|
|
38
|
+
* The finish handler fetches the manifest blob from S3 and parses it.
|
|
39
|
+
*/
|
|
40
|
+
export type ApiManifest = Record<string, ApiDefinition>;
|
|
41
|
+
/**
|
|
42
|
+
* A BlobRef whose bytes were generated server-side (pruned API content, link metadata).
|
|
43
|
+
* The router must upload these to CAS before persisting the deployment.
|
|
44
|
+
*/
|
|
45
|
+
export interface GeneratedBlob {
|
|
46
|
+
ref: BlobRef;
|
|
47
|
+
bytes: Buffer;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Transform result: hashed entities ready for the DAO, plus content
|
|
51
|
+
* references and server-generated blobs for CAS upload.
|
|
52
|
+
*/
|
|
53
|
+
export interface TransformResult {
|
|
54
|
+
segmentDetails: SegmentDetailInput[];
|
|
55
|
+
artifacts: ArtifactInput[];
|
|
56
|
+
segments: SegmentInput[];
|
|
57
|
+
nav: NavInput[];
|
|
58
|
+
deploymentSegments: DeploymentSegmentInput[];
|
|
59
|
+
apiDefinitions: DeploymentApiDefinitionInput[];
|
|
60
|
+
/** Visible top-level products in switcher order, snapshotted for sibling sites on the same host. */
|
|
61
|
+
siteProducts: DocsSiteProduct[];
|
|
62
|
+
jsFilesHash: string | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* ADR 0009: structural config (everything except `header`, `footer`,
|
|
65
|
+
* `css.inline`, `js.inline`) ready to be written into
|
|
66
|
+
* `docs_ledger_deployments.config_json` as JSONB. The four extracted
|
|
67
|
+
* variable-length pieces are content-addressed via the `*Hash` fields
|
|
68
|
+
* below.
|
|
69
|
+
*/
|
|
70
|
+
configJson: unknown | undefined;
|
|
71
|
+
/** CAS hash for the extracted `config.header` blob, or undefined. */
|
|
72
|
+
headerHash: string | undefined;
|
|
73
|
+
/** CAS hash for the extracted `config.footer` blob, or undefined. */
|
|
74
|
+
footerHash: string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* CAS hash for the extracted `config.css.inline` blob (joined with
|
|
77
|
+
* `\n`), or undefined.
|
|
78
|
+
*/
|
|
79
|
+
cssInlineHash: string | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* CAS hash for the extracted `config.js.inline` blob (joined with
|
|
82
|
+
* `\n`), or undefined.
|
|
83
|
+
*/
|
|
84
|
+
jsInlineHash: string | undefined;
|
|
85
|
+
domain: string;
|
|
86
|
+
/**
|
|
87
|
+
* The domain files are anchored on (defaults to `domain` when omitted
|
|
88
|
+
* in the input). Forwarded so callers can key S3 operations and
|
|
89
|
+
* manifest entries on the canonical domain for preview publishes.
|
|
90
|
+
*/
|
|
91
|
+
fileDomain: string;
|
|
92
|
+
version?: string | null;
|
|
93
|
+
repo?: string | null;
|
|
94
|
+
/**
|
|
95
|
+
* Git provenance pulled straight off the publish input (ADR 0012 /
|
|
96
|
+
* FER-10489). Forwarded to {@link DeploymentInput} so the deployment
|
|
97
|
+
* row captures the repo/branch/sha used by the read path to
|
|
98
|
+
* synthesise `editThisPageUrl`.
|
|
99
|
+
*/
|
|
100
|
+
git?: {
|
|
101
|
+
repoUrl: string;
|
|
102
|
+
branch: string;
|
|
103
|
+
commitSha?: string;
|
|
104
|
+
};
|
|
105
|
+
/** All content blobs referenced by this deployment (artifact content, globals, generated). */
|
|
106
|
+
contentRefs: Map<string, BlobRef>;
|
|
107
|
+
/** Blobs generated by the transform (pruned API defs). Must be uploaded to CAS. */
|
|
108
|
+
generatedBlobs: Map<string, GeneratedBlob>;
|
|
109
|
+
/**
|
|
110
|
+
* File manifest entries (images, fonts, pdfs). Tracked separately from
|
|
111
|
+
* `contentRefs` because file bytes land in the public/private docs bucket
|
|
112
|
+
* (key `{assetDomain}/{hash}/{fullPath}`), not in CAS. The register handler
|
|
113
|
+
* routes their uploads accordingly; the finish handler upserts a
|
|
114
|
+
* `docs_ledger_file` row per entry and resolves the resulting IDs onto
|
|
115
|
+
* file/image artifacts.
|
|
116
|
+
*/
|
|
117
|
+
fileEntries: TransformFileEntry[];
|
|
118
|
+
/**
|
|
119
|
+
* pageId → bare `fullPath`s of the files that page's markdown embeds (ADR
|
|
120
|
+
* 0014, "File metadata on the render path"). Copied straight off the publish
|
|
121
|
+
* input's `pages[pageId].referencedFiles` (captured CLI-side). Lets the read
|
|
122
|
+
* model materialise the page→file join into each route shard. Empty for
|
|
123
|
+
* pages with no embedded files or from CLIs that predate the field.
|
|
124
|
+
*/
|
|
125
|
+
referencedFilesByPageId: Record<string, string[]>;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Transform a single locale's content into hash-addressed entities ready for persistence.
|
|
129
|
+
*
|
|
130
|
+
* @param input - One locale entry (content fields) plus the deployment's `domain`.
|
|
131
|
+
* @param apiManifest - Parsed API definitions (fetched from CAS by the caller).
|
|
132
|
+
* Pass an empty object if there are no API references in the nav tree.
|
|
133
|
+
*/
|
|
134
|
+
export declare function transformPublishInput(input: TransformInput, apiManifest?: ApiManifest): TransformResult;
|
|
135
|
+
/**
|
|
136
|
+
* Result of {@link splitConfig}: the structural `stripped` config (written
|
|
137
|
+
* inline as JSONB on the deployment row) plus the four extracted CAS blobs.
|
|
138
|
+
*/
|
|
139
|
+
export interface SplitConfigResult {
|
|
140
|
+
/**
|
|
141
|
+
* `config` with `header`, `footer`, `css.inline`, `js.inline` removed.
|
|
142
|
+
* `css` / `js` are dropped entirely if `inline` was their only key.
|
|
143
|
+
*/
|
|
144
|
+
stripped: Omit<LedgerConfig, "header" | "footer" | "css" | "js"> & {
|
|
145
|
+
css?: Omit<NonNullable<LedgerConfig["css"]>, "inline">;
|
|
146
|
+
js?: Omit<NonNullable<LedgerConfig["js"]>, "inline">;
|
|
147
|
+
};
|
|
148
|
+
header: string | undefined;
|
|
149
|
+
footer: string | undefined;
|
|
150
|
+
cssInline: string | undefined;
|
|
151
|
+
jsInline: string | undefined;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Split a {@link LedgerConfig} into the structural portion (to be written
|
|
155
|
+
* inline as JSONB) and the four variable-length fields that are extracted
|
|
156
|
+
* to their own CAS blobs (ADR 0009).
|
|
157
|
+
*
|
|
158
|
+
* - `header`, `footer`: returned as the raw strings if non-empty.
|
|
159
|
+
* - `css.inline`, `js.inline`: arrays of strings, joined with `\n` into a
|
|
160
|
+
* single text blob if non-empty. The `inline` key is removed from `css`
|
|
161
|
+
* and `js` in the stripped config; any other sibling fields (`js.files`,
|
|
162
|
+
* `js.remote`) are preserved. `css.inline` is currently the only field
|
|
163
|
+
* on `css`, so `stripped.css` is dropped in practice — the empty-keys
|
|
164
|
+
* check is kept for symmetry with `js` and to stay correct if the
|
|
165
|
+
* schema grows new `css` siblings.
|
|
166
|
+
*
|
|
167
|
+
* The returned `stripped` object is a shallow-cloned subset of `config` so
|
|
168
|
+
* that callers can safely mutate it without affecting the original.
|
|
169
|
+
*
|
|
170
|
+
* The input has already been validated against `LedgerConfigSchema` by
|
|
171
|
+
* Zod upstream — no runtime shape checks are needed here.
|
|
172
|
+
*
|
|
173
|
+
* Exported for testing.
|
|
174
|
+
*
|
|
175
|
+
* @internal
|
|
176
|
+
*/
|
|
177
|
+
export declare function splitConfig(config: LedgerConfig): SplitConfigResult;
|
|
178
|
+
//# sourceMappingURL=docsPublishTransform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docsPublishTransform.d.ts","sourceRoot":"","sources":["../../src/docs-ledger/docsPublishTransform.ts"],"names":[],"mappings":"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"}
|