@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.
Files changed (47) hide show
  1. package/dist/docs-ledger/buildLedgerManifest.d.ts +80 -0
  2. package/dist/docs-ledger/buildLedgerManifest.d.ts.map +1 -0
  3. package/dist/docs-ledger/buildLedgerManifest.js +885 -0
  4. package/dist/docs-ledger/buildLedgerManifest.js.map +1 -0
  5. package/dist/docs-ledger/docsLedgerHash.d.ts +80 -0
  6. package/dist/docs-ledger/docsLedgerHash.d.ts.map +1 -0
  7. package/dist/docs-ledger/docsLedgerHash.js +110 -0
  8. package/dist/docs-ledger/docsLedgerHash.js.map +1 -0
  9. package/dist/docs-ledger/docsPublishTransform.d.ts +178 -0
  10. package/dist/docs-ledger/docsPublishTransform.d.ts.map +1 -0
  11. package/dist/docs-ledger/docsPublishTransform.js +2136 -0
  12. package/dist/docs-ledger/docsPublishTransform.js.map +1 -0
  13. package/dist/docs-ledger/index.d.ts +15 -0
  14. package/dist/docs-ledger/index.d.ts.map +1 -0
  15. package/dist/docs-ledger/index.js +15 -0
  16. package/dist/docs-ledger/index.js.map +1 -0
  17. package/dist/docs-ledger/inputTypes.d.ts +236 -0
  18. package/dist/docs-ledger/inputTypes.d.ts.map +1 -0
  19. package/dist/docs-ledger/inputTypes.js +2 -0
  20. package/dist/docs-ledger/inputTypes.js.map +1 -0
  21. package/dist/docs-ledger/stableHash.d.ts +7 -0
  22. package/dist/docs-ledger/stableHash.d.ts.map +1 -0
  23. package/dist/docs-ledger/stableHash.js +24 -0
  24. package/dist/docs-ledger/stableHash.js.map +1 -0
  25. package/dist/docs-ledger/toBasepathRelative.d.ts +25 -0
  26. package/dist/docs-ledger/toBasepathRelative.d.ts.map +1 -0
  27. package/dist/docs-ledger/toBasepathRelative.js +34 -0
  28. package/dist/docs-ledger/toBasepathRelative.js.map +1 -0
  29. package/dist/js/docs-ledger/index.js +20157 -0
  30. package/dist/js/docs-ledger/index.js.map +1 -0
  31. package/dist/js/docs-ledger/index.mjs +20113 -0
  32. package/dist/js/docs-ledger/index.mjs.map +1 -0
  33. package/dist/types/docs-ledger/buildLedgerManifest.d.ts +80 -0
  34. package/dist/types/docs-ledger/buildLedgerManifest.d.ts.map +1 -0
  35. package/dist/types/docs-ledger/docsLedgerHash.d.ts +80 -0
  36. package/dist/types/docs-ledger/docsLedgerHash.d.ts.map +1 -0
  37. package/dist/types/docs-ledger/docsPublishTransform.d.ts +178 -0
  38. package/dist/types/docs-ledger/docsPublishTransform.d.ts.map +1 -0
  39. package/dist/types/docs-ledger/index.d.ts +15 -0
  40. package/dist/types/docs-ledger/index.d.ts.map +1 -0
  41. package/dist/types/docs-ledger/inputTypes.d.ts +236 -0
  42. package/dist/types/docs-ledger/inputTypes.d.ts.map +1 -0
  43. package/dist/types/docs-ledger/stableHash.d.ts +7 -0
  44. package/dist/types/docs-ledger/stableHash.d.ts.map +1 -0
  45. package/dist/types/docs-ledger/toBasepathRelative.d.ts +25 -0
  46. package/dist/types/docs-ledger/toBasepathRelative.d.ts.map +1 -0
  47. 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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"}