@iwonz/ywtc 3.4.0 → 3.4.1

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/report.d.ts CHANGED
@@ -13,6 +13,9 @@ export interface TransferReportResource {
13
13
  destinationId?: string;
14
14
  destinationName?: string;
15
15
  error?: string;
16
+ blockedByPageId?: string;
17
+ blockedByCode?: string;
18
+ blockedReason?: string;
16
19
  }
17
20
  export interface TransferReportPage {
18
21
  sourceCanonicalId: string;
@@ -44,6 +47,9 @@ export interface TransferReportPage {
44
47
  warnings: string[];
45
48
  normalizations?: string[];
46
49
  error?: string;
50
+ blockedByPageId?: string;
51
+ blockedByCode?: string;
52
+ blockedReason?: string;
47
53
  comments: {
48
54
  status: CommentTransferStatus;
49
55
  threads: number;
@@ -57,6 +63,9 @@ export interface TransferReportPage {
57
63
  stale?: boolean;
58
64
  error?: string;
59
65
  preview?: string;
66
+ blockedByPageId?: string;
67
+ blockedByCode?: string;
68
+ blockedReason?: string;
60
69
  };
61
70
  }
62
71
  export interface TransferReportEdge {
@@ -89,6 +98,7 @@ export interface TransferReportSummary {
89
98
  failed: number;
90
99
  blocked: number;
91
100
  conflicts: number;
101
+ notStartedPages: number;
92
102
  unprocessedPages: number;
93
103
  resources: number;
94
104
  attachments: number;
@@ -96,6 +106,8 @@ export interface TransferReportSummary {
96
106
  resourcesComplete: number;
97
107
  resourcesPartial: number;
98
108
  resourcesFailed: number;
109
+ resourcesBlocked: number;
110
+ resourcesNotStarted: number;
99
111
  resourcesPlanned: number;
100
112
  bytes: number;
101
113
  sourceBytes: number;
@@ -110,6 +122,10 @@ export interface TransferReportSummary {
110
122
  degradations: number;
111
123
  warnings: number;
112
124
  errors: number;
125
+ rootErrors: number;
126
+ dependentPages: number;
127
+ dependentFiles: number;
128
+ dependentComments: number;
113
129
  retryableFailures: number;
114
130
  inventoryComplete: boolean;
115
131
  inventoriedPages: number;
@@ -205,6 +221,7 @@ export declare class TransferReport {
205
221
  warning(message: string): void;
206
222
  error(message: string): void;
207
223
  output(label: string, value: string): void;
224
+ private finalizeOutcomes;
208
225
  finish(status: RunStatus): void;
209
226
  write(reportsDirectory: string): Promise<MigrationReportPaths>;
210
227
  }
package/dist/report.js CHANGED
@@ -6,15 +6,16 @@ const pageStatuses = [
6
6
  'discovered',
7
7
  'planned',
8
8
  'skeleton-created',
9
+ 'not-started',
9
10
  'complete',
10
11
  'partial',
11
12
  'conflict',
12
13
  'failed',
13
14
  'blocked',
14
15
  ];
15
- const resourceStatuses = ['planned', 'complete', 'partial', 'failed'];
16
+ const resourceStatuses = ['planned', 'not-started', 'blocked', 'complete', 'partial', 'failed'];
16
17
  const edgeStatuses = ['resolved', 'external', 'inaccessible', 'broken', 'cycle', 'unsupported'];
17
- const commentStatuses = ['planned', 'complete', 'partial', 'failed', 'conflict', 'stale', 'skipped'];
18
+ const commentStatuses = ['planned', 'not-started', 'blocked', 'complete', 'partial', 'failed', 'conflict', 'stale', 'skipped'];
18
19
  function countRecord(values) {
19
20
  return Object.fromEntries(values.map((value) => [value, 0]));
20
21
  }
@@ -32,6 +33,7 @@ function emptySummary() {
32
33
  failed: 0,
33
34
  blocked: 0,
34
35
  conflicts: 0,
36
+ notStartedPages: 0,
35
37
  unprocessedPages: 0,
36
38
  resources: 0,
37
39
  attachments: 0,
@@ -39,6 +41,8 @@ function emptySummary() {
39
41
  resourcesComplete: 0,
40
42
  resourcesPartial: 0,
41
43
  resourcesFailed: 0,
44
+ resourcesBlocked: 0,
45
+ resourcesNotStarted: 0,
42
46
  resourcesPlanned: 0,
43
47
  bytes: 0,
44
48
  sourceBytes: 0,
@@ -53,6 +57,10 @@ function emptySummary() {
53
57
  degradations: 0,
54
58
  warnings: 0,
55
59
  errors: 0,
60
+ rootErrors: 0,
61
+ dependentPages: 0,
62
+ dependentFiles: 0,
63
+ dependentComments: 0,
56
64
  retryableFailures: 0,
57
65
  inventoryComplete: false,
58
66
  inventoriedPages: 0,
@@ -89,7 +97,7 @@ function safeHttpUrl(value) {
89
97
  }
90
98
  function statusClass(value) {
91
99
  return value === 'complete' || value === 'completed' ? 'ok'
92
- : /partial|warning|conflict|planned|discovered|skeleton|interrupted|cancelled/.test(value) ? 'warn'
100
+ : /partial|warning|conflict|planned|not-started|discovered|skeleton|interrupted|cancelled/.test(value) ? 'warn'
93
101
  : /failed|blocked|error/.test(value) ? 'bad'
94
102
  : 'muted';
95
103
  }
@@ -120,6 +128,8 @@ function formatDuration(durationMs) {
120
128
  return `${minutes} min ${seconds % 60} s`;
121
129
  }
122
130
  function issueAction(issue) {
131
+ if (issue.severity === 'blocked')
132
+ return 'Resolve the upstream page error, then repeat the same migration; this object will resume automatically.';
123
133
  if (issue.retryable)
124
134
  return 'Repeat the same migration to retry this object.';
125
135
  if (issue.severity === 'degradation')
@@ -160,22 +170,43 @@ function renderReport(data, previews) {
160
170
  const selectionDetails = excludedRows || gapRows || repairRows || data.selection.notes.length
161
171
  ? `<section class="panel" aria-labelledby="selection-title"><div class="section-head"><div><h2 id="selection-title">Selection and hierarchy</h2><p>Every source-status exclusion, projected hierarchy gap, and destination repair recorded for this run.</p></div></div>${excludedRows ? `<div class="table-wrap"><h3>Excluded pages</h3><table><thead><tr><th>Page</th><th>Source ID</th><th>Status</th><th>Reason</th></tr></thead><tbody>${excludedRows}</tbody></table></div>` : ''}${gapRows ? `<div class="table-wrap"><h3>Hierarchy gaps</h3><table><thead><tr><th>Page</th><th>Missing parent</th><th>Projected parent</th><th>Reason</th></tr></thead><tbody>${gapRows}</tbody></table></div>` : ''}${repairRows ? `<div class="table-wrap"><h3>Destination repairs</h3><table><thead><tr><th>Source page</th><th>Mode</th><th>Old parent</th><th>New parent</th><th>Destination mapping</th><th>Outcome</th></tr></thead><tbody>${repairRows}</tbody></table></div>` : ''}${data.selection.notes.length ? `<div class="callout"><h3>Provider notes</h3><ul>${data.selection.notes.map((note) => `<li>${escapeHtml(note)}</li>`).join('')}</ul></div>` : ''}</section>`
162
172
  : '';
163
- const pageOutcomeStatuses = ['complete', 'partial', 'failed', 'blocked', 'conflict', 'planned', 'discovered', 'skeleton-created'];
164
- const resourceOutcomeStatuses = ['complete', 'partial', 'failed', 'planned'];
165
- const commentOutcomeStatuses = ['complete', 'partial', 'failed', 'conflict', 'stale', 'skipped', 'planned'];
173
+ const pageOutcomeStatuses = ['complete', 'partial', 'failed', 'blocked', 'conflict', 'not-started', 'planned', 'discovered', 'skeleton-created'];
174
+ const resourceOutcomeStatuses = ['complete', 'partial', 'failed', 'blocked', 'not-started', 'planned'];
175
+ const commentOutcomeStatuses = ['complete', 'partial', 'failed', 'blocked', 'not-started', 'conflict', 'stale', 'skipped', 'planned'];
166
176
  const attentionIssues = data.issues.filter((issue) => issue.severity !== 'normalization');
167
177
  const normalizationIssues = data.issues.filter((issue) => issue.severity === 'normalization');
168
178
  const attentionSummary = [
169
179
  `${data.summary.errors} errors`,
180
+ `${data.summary.dependentPages + data.summary.dependentFiles + data.summary.dependentComments} dependent blocks`,
170
181
  `${data.summary.warnings} warnings`,
171
182
  `${data.summary.degradations} degradations`,
172
183
  `${data.summary.retryableFailures} retryable`,
173
184
  ].map((item) => `<span>${escapeHtml(item)}</span>`).join('');
174
185
  const issueRow = (issue) => {
175
186
  const target = issue.pageAnchor ? `<a href="#${escapeHtml(issue.pageAnchor)}">${escapeHtml(issue.pageTitle ?? issue.pageId)}</a>` : '<span>run-level</span>';
176
- return `<li class="issue ${escapeHtml(issue.severity)}"><div><span class="status ${statusClass(issue.severity)}">${escapeHtml(issue.severity)}</span><strong>${escapeHtml(issue.code)}</strong><span>${escapeHtml(issue.phase)}</span>${issue.retryable ? '<span class="retry">retryable</span>' : ''}${issue.occurrences > 1 ? `<span>${issue.occurrences} occurrences</span>` : ''}</div><p>${escapeHtml(issue.message)}</p><p class="issue-context">Affected: ${target}${issue.resourceName ? ` · resource <strong>${escapeHtml(issue.resourceName)}</strong>` : ''}</p><p class="action">${escapeHtml(issue.action)}</p></li>`;
187
+ const upstream = issue.blockedByPageId ? ` · blocked by <a href="#${escapeHtml(pageAnchor(issue.blockedByPageId))}">${escapeHtml(issue.blockedByPageId)}</a>${issue.blockedByCode ? ` (${escapeHtml(issue.blockedByCode)})` : ''}` : '';
188
+ return `<li class="issue ${escapeHtml(issue.severity)}"><div><span class="status ${statusClass(issue.severity)}">${escapeHtml(issue.severity)}</span><strong>${escapeHtml(issue.code)}</strong><span>${escapeHtml(issue.phase)}</span>${issue.retryable ? '<span class="retry">retryable</span>' : ''}${issue.occurrences > 1 ? `<span>${issue.occurrences} occurrences</span>` : ''}</div><p>${escapeHtml(issue.message)}</p><p class="issue-context">Affected: ${target}${issue.resourceName ? ` · resource <strong>${escapeHtml(issue.resourceName)}</strong>` : ''}${upstream}</p><p class="action">${escapeHtml(issue.action)}</p></li>`;
177
189
  };
178
190
  const attention = `<section class="panel attention" aria-labelledby="attention-title"><div class="section-head"><div><h2 id="attention-title">Needs attention</h2><p>Problems and fidelity changes that may require review or a rerun.</p></div><span class="count ${attentionIssues.length ? 'warn' : 'ok'}">${attentionIssues.length}</span></div><div class="mini-stats">${attentionSummary}</div>${attentionIssues.length ? `<ul class="issue-list">${attentionIssues.map(issueRow).join('')}</ul>` : '<p class="empty ok">No errors, warnings, conflicts, or degradations were recorded.</p>'}</section>`;
191
+ const dependencyGroups = new Map();
192
+ const dependencyGroup = (rootId, code) => {
193
+ const group = dependencyGroups.get(rootId) ?? { pages: [], files: [], comments: [], ...(code ? { code } : {}) };
194
+ dependencyGroups.set(rootId, group);
195
+ return group;
196
+ };
197
+ for (const page of data.pages) {
198
+ if (page.status === 'blocked' && page.blockedByPageId)
199
+ dependencyGroup(page.blockedByPageId, page.blockedByCode).pages.push(page.sourceTitle);
200
+ for (const resource of page.resourceItems) {
201
+ if (resource.status === 'blocked' && resource.blockedByPageId)
202
+ dependencyGroup(resource.blockedByPageId, resource.blockedByCode).files.push(`${page.sourceTitle}: ${resource.sourceName}`);
203
+ }
204
+ if (page.comments.status === 'blocked' && page.comments.blockedByPageId)
205
+ dependencyGroup(page.comments.blockedByPageId, page.comments.blockedByCode).comments.push(page.sourceTitle);
206
+ }
207
+ const dependencySection = dependencyGroups.size > 0
208
+ ? `<section class="panel" aria-labelledby="dependencies-title"><div class="section-head"><div><h2 id="dependencies-title">Blocked dependencies</h2><p>Dependent work was not attempted. Resolve the root error and repeat the same migration.</p></div><span class="count">${dependencyGroups.size}</span></div>${[...dependencyGroups.entries()].map(([rootId, group]) => `<div class="callout warn"><h3><a href="#${escapeHtml(pageAnchor(rootId))}">${escapeHtml(data.pages.find((page) => page.sourceCanonicalId === rootId)?.sourceTitle ?? rootId)}</a>${group.code ? ` · <code>${escapeHtml(group.code)}</code>` : ''}</h3><p>${group.pages.length} pages · ${group.files.length} files · ${group.comments.length} comment archives</p>${group.pages.length ? `<p><strong>Pages:</strong> ${group.pages.map(escapeHtml).join(', ')}</p>` : ''}${group.files.length ? `<p><strong>Files:</strong> ${group.files.map(escapeHtml).join(', ')}</p>` : ''}</div>`).join('')}</section>`
209
+ : '';
179
210
  const pageRows = data.pages.map((page) => {
180
211
  const source = safeHttpUrl(page.sourceUrl);
181
212
  const destination = safeHttpUrl(page.destinationUrl);
@@ -215,8 +246,9 @@ function renderReport(data, previews) {
215
246
  <div class="run-meta"><span>Started <strong>${escapeHtml(data.startedAt)}</strong></span>${data.finishedAt ? `<span>Finished <strong>${escapeHtml(data.finishedAt)}</strong></span>` : ''}<span>Duration <strong>${escapeHtml(formatDuration(data.summary.durationMs))}</strong></span><span>Inventory <strong class="${data.summary.inventoryComplete ? 'ok' : 'warn'}">${escapeHtml(inventoryState)}</strong></span></div>
216
247
  <section class="panel" aria-labelledby="source-title"><div class="section-head"><div><h2 id="source-title">Source scope inventory</h2><p>Root plus ${escapeHtml(data.summary.returnedDescendants)} accessible descendants; ${escapeHtml(data.summary.selectedDescendants)} selected and ${escapeHtml(data.summary.excludedPages)} excluded with source status <code>${escapeHtml(data.sourceStatus)}</code>.</p></div><span class="status ${data.summary.inventoryComplete ? 'ok' : 'warn'}">${data.summary.inventoryComplete ? 'complete' : 'incomplete'}</span></div><div class="stats">${sourceCards}</div></section>
217
248
  ${selectionDetails}
218
- <section class="panel" aria-labelledby="outcome-title"><div class="section-head"><div><h2 id="outcome-title">Transfer outcomes</h2><p>Every selected page, discovered file, and page comment archive is counted in exactly one status.</p></div><span class="count">${data.summary.pages}</span></div><div class="table-wrap"><table class="outcomes"><thead><tr><th>Object</th>${pageOutcomeStatuses.map((status) => `<th>${escapeHtml(status)}</th>`).join('')}<th>Total</th></tr></thead><tbody><tr><th>Pages</th>${statusCells(data.summary.pageStatuses, pageOutcomeStatuses)}<td><strong>${data.summary.pages}</strong></td></tr></tbody></table></div><div class="table-wrap"><table class="outcomes"><thead><tr><th>Object</th>${resourceOutcomeStatuses.map((status) => `<th>${escapeHtml(status)}</th>`).join('')}<th>Total</th></tr></thead><tbody><tr><th>Files</th>${statusCells(data.summary.resourceStatuses, resourceOutcomeStatuses)}<td><strong>${data.summary.resources}</strong></td></tr></tbody></table></div><div class="table-wrap"><table class="outcomes"><thead><tr><th>Object</th>${commentOutcomeStatuses.map((status) => `<th>${escapeHtml(status)}</th>`).join('')}<th>Total</th></tr></thead><tbody><tr><th>Page comment archives</th>${statusCells(data.summary.commentStatuses, commentOutcomeStatuses)}<td><strong>${data.summary.pages}</strong></td></tr></tbody></table></div></section>
249
+ <section class="panel" aria-labelledby="outcome-title"><div class="section-head"><div><h2 id="outcome-title">Transfer outcomes</h2><p>Every selected page, discovered file, and page comment archive is counted in exactly one status.</p></div><span class="count">${data.summary.pages}</span></div><div class="callout"><strong>Causes</strong><p>${data.summary.rootErrors} root errors · ${data.summary.dependentPages} dependent pages · ${data.summary.dependentFiles} dependent files · ${data.summary.dependentComments} dependent comment archives</p></div><div class="table-wrap"><table class="outcomes"><thead><tr><th>Object</th>${pageOutcomeStatuses.map((status) => `<th>${escapeHtml(status)}</th>`).join('')}<th>Total</th></tr></thead><tbody><tr><th>Pages</th>${statusCells(data.summary.pageStatuses, pageOutcomeStatuses)}<td><strong>${data.summary.pages}</strong></td></tr></tbody></table></div><div class="table-wrap"><table class="outcomes"><thead><tr><th>Object</th>${resourceOutcomeStatuses.map((status) => `<th>${escapeHtml(status)}</th>`).join('')}<th>Total</th></tr></thead><tbody><tr><th>Files</th>${statusCells(data.summary.resourceStatuses, resourceOutcomeStatuses)}<td><strong>${data.summary.resources}</strong></td></tr></tbody></table></div><div class="table-wrap"><table class="outcomes"><thead><tr><th>Object</th>${commentOutcomeStatuses.map((status) => `<th>${escapeHtml(status)}</th>`).join('')}<th>Total</th></tr></thead><tbody><tr><th>Page comment archives</th>${statusCells(data.summary.commentStatuses, commentOutcomeStatuses)}<td><strong>${data.summary.pages}</strong></td></tr></tbody></table></div></section>
219
250
  ${attention}
251
+ ${dependencySection}
220
252
  <section aria-labelledby="pages-title"><div class="section-head"><div><h2 id="pages-title">Pages</h2><p>Projected hierarchy with exact outcomes, source metrics, resources, issues, and verified previews.</p></div></div>${pageRows || '<p class="empty">No source page was resolved before the run stopped.</p>'}</section>
221
253
  <section class="panel" aria-labelledby="links-title"><div class="section-head"><div><h2 id="links-title">Link traversal</h2><p>Traversal evidence used to select pages in linked scope; content link totals are shown in source inventory.</p></div><span class="count">${data.edges.length}</span></div>${traversalBody}</section>
222
254
  ${normalizations}
@@ -321,9 +353,50 @@ export class TransferReport {
321
353
  warning(message) { this.issue({ code: `warning:${message}`, severity: 'warning', phase: 'report', retryable: false, message }); }
322
354
  error(message) { this.issue({ code: `error:${message}`, severity: 'error', phase: 'report', retryable: false, message }); }
323
355
  output(label, value) { this.data.outputs.push({ label, value }); }
356
+ finalizeOutcomes(status) {
357
+ if (this.data.dryRun)
358
+ return;
359
+ const interrupted = status === 'cancelled' || status === 'interrupted';
360
+ for (const page of this.data.pages) {
361
+ if (['discovered', 'planned', 'skeleton-created'].includes(page.status))
362
+ page.status = 'not-started';
363
+ const dependencyBlocked = page.status === 'blocked' || page.status === 'failed' || page.status === 'conflict';
364
+ const blockedByPageId = page.blockedByPageId ?? page.sourceCanonicalId;
365
+ const blockedByCode = page.blockedByCode ?? (page.status === 'conflict' ? 'destination-conflict' : 'destination-page-unavailable');
366
+ for (const resource of page.resourceItems) {
367
+ if (resource.status !== 'planned')
368
+ continue;
369
+ if (dependencyBlocked) {
370
+ resource.status = 'blocked';
371
+ resource.blockedByPageId = blockedByPageId;
372
+ resource.blockedByCode = blockedByCode;
373
+ resource.error ??= `Not attempted because destination page ${blockedByPageId} is unavailable`;
374
+ }
375
+ else {
376
+ resource.status = 'not-started';
377
+ if (!interrupted)
378
+ resource.error ??= 'Live transfer ended before this file operation started';
379
+ }
380
+ }
381
+ if (page.comments.status !== 'planned')
382
+ continue;
383
+ if (dependencyBlocked) {
384
+ page.comments.status = 'blocked';
385
+ page.comments.blockedByPageId = blockedByPageId;
386
+ page.comments.blockedByCode = blockedByCode;
387
+ page.comments.error ??= `Not attempted because destination page ${blockedByPageId} is unavailable`;
388
+ }
389
+ else {
390
+ page.comments.status = 'not-started';
391
+ if (!interrupted)
392
+ page.comments.error ??= 'Live transfer ended before comment archival started';
393
+ }
394
+ }
395
+ }
324
396
  finish(status) {
325
397
  this.data.status = status;
326
398
  this.data.finishedAt = new Date().toISOString();
399
+ this.finalizeOutcomes(status);
327
400
  const pageById = new Map(this.data.pages.map((page) => [page.sourceCanonicalId, page]));
328
401
  this.data.issues = this.issueCollector.list().map((issue) => {
329
402
  const page = issue.pageId ? pageById.get(issue.pageId) : undefined;
@@ -369,13 +442,16 @@ export class TransferReport {
369
442
  failed: pageStatusCounts.failed,
370
443
  blocked: pageStatusCounts.blocked,
371
444
  conflicts: pageStatusCounts.conflict,
372
- unprocessedPages: pageStatusCounts.discovered + pageStatusCounts.planned + pageStatusCounts['skeleton-created'],
445
+ notStartedPages: pageStatusCounts['not-started'],
446
+ unprocessedPages: pageStatusCounts.discovered + pageStatusCounts.planned + pageStatusCounts['skeleton-created'] + pageStatusCounts['not-started'],
373
447
  resources: resources.length,
374
448
  attachments: resources.filter((resource) => resource.kind === 'attachment').length,
375
449
  resourceImages: resources.filter((resource) => resource.kind === 'image').length,
376
450
  resourcesComplete: resourceStatusCounts.complete,
377
451
  resourcesPartial: resourceStatusCounts.partial,
378
452
  resourcesFailed: resourceStatusCounts.failed,
453
+ resourcesBlocked: resourceStatusCounts.blocked,
454
+ resourcesNotStarted: resourceStatusCounts['not-started'],
379
455
  resourcesPlanned: resourceStatusCounts.planned,
380
456
  bytes: transferredBytes,
381
457
  sourceBytes,
@@ -390,6 +466,10 @@ export class TransferReport {
390
466
  degradations: this.issueCollector.count('degradation'),
391
467
  warnings: this.issueCollector.count('warning'),
392
468
  errors: this.issueCollector.count('error'),
469
+ rootErrors: this.issueCollector.count('error'),
470
+ dependentPages: pageStatusCounts.blocked,
471
+ dependentFiles: resourceStatusCounts.blocked,
472
+ dependentComments: commentStatusCounts.blocked,
393
473
  retryableFailures: this.issueCollector.countRetryableFailures(),
394
474
  inventoryComplete: this.data.pages.length > 0 && inventoriedPages === this.data.pages.length,
395
475
  inventoriedPages,
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -1,7 +1,13 @@
1
1
  import type { ExportFormat, GraphEdgeStatus, ProviderKind, SourceSelection, SourceStatus } from './domain.js';
2
- export type PageTransferStatus = 'discovered' | 'planned' | 'skeleton-created' | 'complete' | 'partial' | 'conflict' | 'failed' | 'blocked';
2
+ export type PageTransferStatus = 'discovered' | 'planned' | 'skeleton-created' | 'not-started' | 'complete' | 'partial' | 'conflict' | 'failed' | 'blocked';
3
3
  export type RunStatus = 'running' | 'completed' | 'completed-with-warnings' | 'partial' | 'failed' | 'cancelled' | 'interrupted';
4
- export type CommentTransferStatus = 'planned' | 'complete' | 'partial' | 'failed' | 'conflict' | 'stale' | 'skipped';
4
+ export type ResourceTransferStatus = 'planned' | 'not-started' | 'blocked' | 'complete' | 'partial' | 'failed';
5
+ export type CommentTransferStatus = 'planned' | 'not-started' | 'blocked' | 'complete' | 'partial' | 'failed' | 'conflict' | 'stale' | 'skipped';
6
+ export interface BlockingCause {
7
+ blockedByPageId?: string;
8
+ blockedByCode?: string;
9
+ blockedReason?: string;
10
+ }
5
11
  export interface EndpointIdentity {
6
12
  profile: string;
7
13
  provider: ProviderKind;
@@ -18,7 +24,7 @@ export interface TransferIdentity {
18
24
  source: EndpointIdentity;
19
25
  destination: EndpointIdentity | DirectoryIdentity;
20
26
  }
21
- export interface ResourceTransferState {
27
+ export interface ResourceTransferState extends BlockingCause {
22
28
  sourceId: string;
23
29
  sourceName: string;
24
30
  destinationId?: string;
@@ -27,11 +33,11 @@ export interface ResourceTransferState {
27
33
  size?: number;
28
34
  cachePath?: string;
29
35
  mimeType?: string;
30
- status: 'planned' | 'complete' | 'partial' | 'failed';
36
+ status: ResourceTransferStatus;
31
37
  lastError?: string;
32
38
  updatedAt: string;
33
39
  }
34
- export interface CommentTransferState {
40
+ export interface CommentTransferState extends BlockingCause {
35
41
  fingerprint?: string;
36
42
  destinationId?: string;
37
43
  destinationFingerprint?: string;
@@ -54,7 +60,7 @@ export interface CommentTransferState {
54
60
  lastError?: string;
55
61
  updatedAt: string;
56
62
  }
57
- export interface PageTransferState {
63
+ export interface PageTransferState extends BlockingCause {
58
64
  sourceId: string;
59
65
  sourceCanonicalId: string;
60
66
  sourceLocator: string;
@@ -96,6 +102,10 @@ export interface StateRun {
96
102
  maximumDepth: number;
97
103
  warnings: number;
98
104
  errors: number;
105
+ rootErrors?: number;
106
+ dependentPages?: number;
107
+ dependentFiles?: number;
108
+ dependentComments?: number;
99
109
  commentsEnabled?: boolean;
100
110
  commentThreads?: number;
101
111
  comments?: number;
@@ -154,8 +164,13 @@ export declare class StateStore {
154
164
  pages: number;
155
165
  warnings: number;
156
166
  errors: number;
167
+ rootErrors?: number;
168
+ dependentPages?: number;
169
+ dependentFiles?: number;
170
+ dependentComments?: number;
157
171
  }): Promise<void>;
158
172
  setGraph(rootId: string, edges: StateGraphEdge[]): Promise<void>;
159
173
  setPage(page: PageTransferState): Promise<void>;
174
+ finalizeOutcomes(pageIds: string[], status: RunStatus, dryRun: boolean): Promise<void>;
160
175
  save(): Promise<void>;
161
176
  }
package/dist/state.js CHANGED
@@ -79,7 +79,10 @@ const resourceStateSchema = z.object({
79
79
  size: z.number().nonnegative().optional(),
80
80
  cachePath: z.string().optional(),
81
81
  mimeType: z.string().optional(),
82
- status: z.enum(['planned', 'complete', 'partial', 'failed']),
82
+ status: z.enum(['planned', 'not-started', 'blocked', 'complete', 'partial', 'failed']),
83
+ blockedByPageId: z.string().optional(),
84
+ blockedByCode: z.string().optional(),
85
+ blockedReason: z.string().optional(),
83
86
  lastError: z.string().optional(),
84
87
  updatedAt: z.string(),
85
88
  }).strict();
@@ -96,7 +99,10 @@ const commentStateSchema = z.object({
96
99
  fullArchiveName: z.string().optional(),
97
100
  fullArchivePath: z.string().optional(),
98
101
  fullArchiveSha256: z.string().optional(),
99
- status: z.enum(['planned', 'complete', 'partial', 'failed', 'conflict', 'stale', 'skipped']),
102
+ status: z.enum(['planned', 'not-started', 'blocked', 'complete', 'partial', 'failed', 'conflict', 'stale', 'skipped']),
103
+ blockedByPageId: z.string().optional(),
104
+ blockedByCode: z.string().optional(),
105
+ blockedReason: z.string().optional(),
100
106
  threads: z.number().int().nonnegative(),
101
107
  comments: z.number().int().nonnegative(),
102
108
  participants: z.number().int().nonnegative(),
@@ -119,7 +125,10 @@ const pageStateSchema = z.object({
119
125
  previousDestinationIds: z.array(z.string()).optional(),
120
126
  sourceFingerprint: z.string().optional(),
121
127
  destinationFingerprint: z.string().optional(),
122
- status: z.enum(['discovered', 'planned', 'skeleton-created', 'complete', 'partial', 'conflict', 'failed', 'blocked']),
128
+ status: z.enum(['discovered', 'planned', 'skeleton-created', 'not-started', 'complete', 'partial', 'conflict', 'failed', 'blocked']),
129
+ blockedByPageId: z.string().optional(),
130
+ blockedByCode: z.string().optional(),
131
+ blockedReason: z.string().optional(),
123
132
  resources: z.record(z.string(), resourceStateSchema),
124
133
  comments: commentStateSchema.optional(),
125
134
  degradations: z.array(z.string()),
@@ -148,6 +157,10 @@ const runSchema = z.object({
148
157
  maximumDepth: z.number().int().nonnegative().optional().default(0),
149
158
  warnings: z.number().int().nonnegative(),
150
159
  errors: z.number().int().nonnegative(),
160
+ rootErrors: z.number().int().nonnegative().optional(),
161
+ dependentPages: z.number().int().nonnegative().optional(),
162
+ dependentFiles: z.number().int().nonnegative().optional(),
163
+ dependentComments: z.number().int().nonnegative().optional(),
151
164
  commentsEnabled: z.boolean().optional(),
152
165
  commentThreads: z.number().int().nonnegative().optional(),
153
166
  comments: z.number().int().nonnegative().optional(),
@@ -319,6 +332,41 @@ export class StateStore {
319
332
  if (!this.readOnly)
320
333
  await this.save();
321
334
  }
335
+ async finalizeOutcomes(pageIds, status, dryRun) {
336
+ if (dryRun || this.readOnly)
337
+ return;
338
+ const interrupted = status === 'cancelled' || status === 'interrupted';
339
+ const updatedAt = new Date().toISOString();
340
+ for (const pageId of pageIds) {
341
+ const page = this.value.pages[pageId];
342
+ if (!page)
343
+ continue;
344
+ if (['discovered', 'planned', 'skeleton-created'].includes(page.status))
345
+ page.status = 'not-started';
346
+ const dependencyBlocked = page.status === 'blocked' || page.status === 'failed' || page.status === 'conflict';
347
+ const blockedByPageId = page.blockedByPageId ?? page.sourceCanonicalId;
348
+ const blockedByCode = page.blockedByCode ?? (page.status === 'conflict' ? 'destination-conflict' : 'destination-page-unavailable');
349
+ const blockedReason = page.blockedReason ?? page.lastError ?? `Destination page ${blockedByPageId} is unavailable`;
350
+ for (const resource of Object.values(page.resources)) {
351
+ if (resource.status !== 'planned')
352
+ continue;
353
+ if (dependencyBlocked)
354
+ Object.assign(resource, { status: 'blocked', blockedByPageId, blockedByCode, blockedReason, lastError: blockedReason });
355
+ else
356
+ Object.assign(resource, { status: 'not-started', lastError: interrupted ? 'Transfer was interrupted before this file operation started' : 'Transfer ended before this file operation started' });
357
+ resource.updatedAt = updatedAt;
358
+ }
359
+ if (page.comments?.status === 'planned') {
360
+ if (dependencyBlocked)
361
+ Object.assign(page.comments, { status: 'blocked', blockedByPageId, blockedByCode, blockedReason, lastError: blockedReason });
362
+ else
363
+ Object.assign(page.comments, { status: 'not-started', lastError: interrupted ? 'Transfer was interrupted before comment archival started' : 'Transfer ended before comment archival started' });
364
+ page.comments.updatedAt = updatedAt;
365
+ }
366
+ page.updatedAt = updatedAt;
367
+ }
368
+ await this.save();
369
+ }
322
370
  async save() {
323
371
  if (this.readOnly)
324
372
  throw new Error(`Refusing to write transfer state "${this.filename}" during --dry-run.`);