@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.
@@ -28,6 +28,8 @@ interface MigrationCapturedAsset {
28
28
  unavailable?: {
29
29
  status: 404 | 410;
30
30
  };
31
+ /** Original SVG digest when a trusted host supplied an inert PNG rendering. */
32
+ derivedFromSha256?: string;
31
33
  }
32
34
  interface MigrationCapture extends MigrationFetchResponse {
33
35
  /** Capture adapters expand only safe read-only states; no forms or API actions. */
@@ -61,6 +63,12 @@ interface MigrationEvidence {
61
63
  code: Array<string>;
62
64
  anchors: Array<string>;
63
65
  links: Array<string>;
66
+ /** Exact observed canonical/article equality proof; never inferred from query names. */
67
+ articleIdentity?: {
68
+ canonicalUrl: string;
69
+ articleSha256: string;
70
+ sectionAnchor?: string;
71
+ };
64
72
  }
65
73
  interface MigrationJournalAsset {
66
74
  url: string;
@@ -69,6 +77,8 @@ interface MigrationJournalAsset {
69
77
  sha256: string;
70
78
  /** Base64 keeps checkpoints portable through JSON persistence. */
71
79
  base64: string;
80
+ /** Binds an optional trusted SVG rasterization to the original source bytes. */
81
+ derivedFromSha256?: string;
72
82
  }
73
83
  interface UrlMigrationRecord {
74
84
  url: string;
@@ -76,6 +86,8 @@ interface UrlMigrationRecord {
76
86
  outcome: 'pending' | 'imported' | 'excluded' | 'failed' | 'alias';
77
87
  reason?: string;
78
88
  aliasOf?: string;
89
+ /** A proven query section is projected to its captured article anchor. */
90
+ aliasAnchor?: string;
79
91
  /** Observed redirect destination; external pages are links, never captured articles. */
80
92
  redirectTo?: string;
81
93
  /** Publisher-declared Markdown representation of this exact same-origin article. */
@@ -145,6 +157,8 @@ interface UrlMigrationRunOptions {
145
157
  fetcher?: MigrationFetcher;
146
158
  /** Hosts that inject text fetching must also inject their safe binary boundary. */
147
159
  assetFetcher?: (url: URL, signal?: AbortSignal) => Promise<MigrationCapturedAsset>;
160
+ /** Optional trusted, offline SVG renderer. Unsupported SVG stays rejected by default. */
161
+ rasterizeSvg?: (asset: MigrationCapturedAsset, signal?: AbortSignal) => Promise<MigrationCapturedAsset>;
148
162
  captureProvider?: MigrationCaptureProvider;
149
163
  /** Change this when browser/extraction policy changes; prevents stale reuse. */
150
164
  captureVersion?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thallylabs/migrate",
3
- "version": "0.2.39",
3
+ "version": "0.2.40",
4
4
  "description": "Shared repository and live-site migration engine for Thally",
5
5
  "type": "module",
6
6
  "publishConfig": {