@thallylabs/migrate 0.2.39 → 0.2.40
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 +44 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2323 -641
- package/dist/index.js.map +1 -1
- package/dist/svg-policy.js +6 -0
- package/dist/svg-policy.js.map +1 -1
- package/dist/url-migration.d.ts +2 -2
- package/dist/url-migration.js +1785 -107
- package/dist/url-migration.js.map +1 -1
- package/dist/{url-run-BOZvcGs1.d.ts → url-run-DFnoqEi-.d.ts} +14 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,6 +21,36 @@ an explicit `scopePath` remains authoritative. Deep article seeds do not widen a
|
|
|
21
21
|
mounted documentation tree to its marketing origin. Mintlify configuration page
|
|
22
22
|
IDs resolve against that mount, while ordinary HTML links keep URL semantics.
|
|
23
23
|
|
|
24
|
+
Query strings remain part of page identity. A query URL becomes an article alias
|
|
25
|
+
only after independent captures prove identical article, metadata, deferred source
|
|
26
|
+
and alternative-state content. A section query must name an observed anchor;
|
|
27
|
+
query-selected versions, locales and different articles remain separate pages.
|
|
28
|
+
The alias keeps its own capture evidence and checked section destination.
|
|
29
|
+
|
|
30
|
+
Self-contained inline SVGs become passive, hash-addressed assets. An optional
|
|
31
|
+
trusted `rasterizeSvg` host callback can replace rejected SVG with bounded PNG;
|
|
32
|
+
the engine still checks PNG MIME/signature and records the original SVG digest.
|
|
33
|
+
It never relaxes the SVG allowlist or supplies a browser. Hosts must enforce an
|
|
34
|
+
isolated, credential-free renderer with no network or page JavaScript.
|
|
35
|
+
|
|
36
|
+
Complete ARIA-linked tab panels preserve labels and source order, including
|
|
37
|
+
surrounding authored content. For known embedded article-source contracts, literal
|
|
38
|
+
missing code panels and explicit languages may be recovered only when the source
|
|
39
|
+
is referenced by the article and matches its headings, prose, visible examples
|
|
40
|
+
and tab labels. Embedded imports and expressions never execute. Unreferenced,
|
|
41
|
+
conflicting, incomplete or unsupported alternatives remain review blockers.
|
|
42
|
+
|
|
43
|
+
The Fumadocs adapter reads bounded JSON-only React Flight frames reachable from
|
|
44
|
+
the response's root record. It supports article-owned copy-source references and
|
|
45
|
+
literal `Tabs`/`Tab`/`Accordion` children, including loaded disclosure prose,
|
|
46
|
+
examples, tables and theme-specific images. It renders a fixed set of static
|
|
47
|
+
elements; unknown components, executable markup and unresolved references keep
|
|
48
|
+
their review requirement. Languages come only from explicit source declarations;
|
|
49
|
+
examples without that metadata remain unlabeled. Source heading IDs and known
|
|
50
|
+
Shiki display annotations are recognized for matching while captured code stays
|
|
51
|
+
unchanged. A capture provider can supply complete rendered alternatives when a
|
|
52
|
+
publisher does not expose a supported inert data contract.
|
|
53
|
+
|
|
24
54
|
The returned `checkpoint` is JSON-safe. `onRecord` lets a host persist a completed
|
|
25
55
|
page before acknowledging it; `onCheckpoint` emits bounded deltas, including
|
|
26
56
|
pending discoveries and checkpoint identity fields. Merge delta records by URL,
|
|
@@ -42,8 +72,19 @@ Responsive `picture`/`source`/`img` choices retain their descriptors, media
|
|
|
42
72
|
conditions, sizing and literal alt text. Every candidate is localized; shared
|
|
43
73
|
asset URLs are fetched once and identical payloads count once toward the byte
|
|
44
74
|
budget, including resumed journals. Complete static tab panels are preserved as
|
|
45
|
-
alternatives; empty/lazy panels still require a capture provider. Complete local
|
|
46
|
-
OpenAPI operations can represent deferred API
|
|
75
|
+
alternatives; empty/lazy panels without verified embedded source still require a capture provider. Complete local
|
|
76
|
+
OpenAPI operations can represent only their exact deferred API fields. A known
|
|
77
|
+
client-rendered request-example contract may use that registered operation to
|
|
78
|
+
regenerate standard language examples; the inline and sidebar slots must be uniquely owned and
|
|
79
|
+
captured panels must be complete. For the supported legacy selected-example
|
|
80
|
+
component, the selected source, title and language must agree with the exact
|
|
81
|
+
root-owned provider inventory. Every authored alternative, including inactive
|
|
82
|
+
same-language examples, is retained byte for byte in the registered specification
|
|
83
|
+
and rendered by the runtime generator. An unmatched or missing inventory remains
|
|
84
|
+
a review blocker. Ordinary language
|
|
85
|
+
pickers and ambiguous or unknown slots still require review. Every captured
|
|
86
|
+
response, including alternative states, receives the same completeness checks;
|
|
87
|
+
the presence of an unrelated state does not excuse a missing panel. Supported native video
|
|
47
88
|
and YouTube embeds retain their original public media URLs, recorded in source
|
|
48
89
|
warnings; videos are not downloaded. A trusted host may report an original asset
|
|
49
90
|
as already absent (HTTP 404/410): its absolute source URL and a warning are
|
|
@@ -58,7 +99,7 @@ Missing primary counterparts and projected path collisions require review; the
|
|
|
58
99
|
engine does not invent translations. Fresh HTML captures also observe `html lang`; conflicting or unsupported
|
|
59
100
|
language evidence requires review. Capture adapters can supply `locale` when
|
|
60
101
|
no language is declared in HTML or identified by the scoped URL path.
|
|
61
|
-
The `url-evidence-
|
|
102
|
+
The `url-evidence-v6` converter rejects earlier journals: replay retained raw
|
|
62
103
|
captures into a new journal rather than relabelling previously hashed pages.
|
|
63
104
|
|
|
64
105
|
`stopReason` distinguishes a resumable `capture-limit` from hard `page-limit`
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { M as MigrationPage, a as MigrationAsset, b as MigrationNavigationGroup, R as RenderedMigrationFile, c as MigrationWarning, d as MigrationFetcher, e as MigrationPlatform, f as MigrationBundle, g as MigrationDocsConfig } from './url-run-
|
|
2
|
-
export { h as MigrationCapture, i as MigrationCaptureProvider, j as MigrationCaptureState, k as MigrationCapturedAsset, l as MigrationEvidence, m as MigrationFetchRequest, n as MigrationFetchResponse, o as MigrationJournalAsset, p as MigrationNavigationOccurrence, q as MigrationNavigationTab, U as UrlMigrationCheckpoint, r as UrlMigrationCheckpointDelta, s as UrlMigrationIssue, t as UrlMigrationRecord, u as UrlMigrationRun, v as UrlMigrationRunOptions, w as UrlMigrationValidation, x as classifyMigrationResponse, y as mergeMigrationConfig, z as renderMigrationFiles, A as runUrlMigration, B as validateUrlMigration } from './url-run-
|
|
1
|
+
import { M as MigrationPage, a as MigrationAsset, b as MigrationNavigationGroup, R as RenderedMigrationFile, c as MigrationWarning, d as MigrationFetcher, e as MigrationPlatform, f as MigrationBundle, g as MigrationDocsConfig } from './url-run-DFnoqEi-.js';
|
|
2
|
+
export { h as MigrationCapture, i as MigrationCaptureProvider, j as MigrationCaptureState, k as MigrationCapturedAsset, l as MigrationEvidence, m as MigrationFetchRequest, n as MigrationFetchResponse, o as MigrationJournalAsset, p as MigrationNavigationOccurrence, q as MigrationNavigationTab, U as UrlMigrationCheckpoint, r as UrlMigrationCheckpointDelta, s as UrlMigrationIssue, t as UrlMigrationRecord, u as UrlMigrationRun, v as UrlMigrationRunOptions, w as UrlMigrationValidation, x as classifyMigrationResponse, y as mergeMigrationConfig, z as renderMigrationFiles, A as runUrlMigration, B as validateUrlMigration } from './url-run-DFnoqEi-.js';
|
|
3
3
|
export { isPassiveSvg } from './svg-policy.js';
|
|
4
4
|
|
|
5
5
|
/**
|