@dailephd/my-frontend-observer 0.9.0 → 0.10.0

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 (110) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +17 -7
  3. package/dist/application/visualChangeAgentHandoffService.d.ts +28 -0
  4. package/dist/application/visualChangeAgentHandoffService.js +111 -0
  5. package/dist/application/visualChangeAgentHandoffService.js.map +1 -0
  6. package/dist/application/visualChangeProjectWorkflowService.d.ts +95 -0
  7. package/dist/application/visualChangeProjectWorkflowService.js +376 -0
  8. package/dist/application/visualChangeProjectWorkflowService.js.map +1 -0
  9. package/dist/application/visualChangeReviewService.d.ts +50 -0
  10. package/dist/application/visualChangeReviewService.js +69 -0
  11. package/dist/application/visualChangeReviewService.js.map +1 -0
  12. package/dist/application/visualChangeWorkflowPersistenceService.d.ts +26 -0
  13. package/dist/application/visualChangeWorkflowPersistenceService.js +15 -0
  14. package/dist/application/visualChangeWorkflowPersistenceService.js.map +1 -0
  15. package/dist/artifacts/visualChangeWorkflowArtifactReader.d.ts +9 -0
  16. package/dist/artifacts/visualChangeWorkflowArtifactReader.js +47 -0
  17. package/dist/artifacts/visualChangeWorkflowArtifactReader.js.map +1 -0
  18. package/dist/artifacts/visualChangeWorkflowArtifactWriter.d.ts +20 -0
  19. package/dist/artifacts/visualChangeWorkflowArtifactWriter.js +41 -0
  20. package/dist/artifacts/visualChangeWorkflowArtifactWriter.js.map +1 -0
  21. package/dist/cli.js +510 -508
  22. package/dist/cli.js.map +1 -1
  23. package/dist/domain/visualChangeAgentHandoff.d.ts +82 -0
  24. package/dist/domain/visualChangeAgentHandoff.js +80 -0
  25. package/dist/domain/visualChangeAgentHandoff.js.map +1 -0
  26. package/dist/domain/visualChangeAgentHandoffSerialization.d.ts +2 -0
  27. package/dist/domain/visualChangeAgentHandoffSerialization.js +11 -0
  28. package/dist/domain/visualChangeAgentHandoffSerialization.js.map +1 -0
  29. package/dist/domain/visualChangeCycle.d.ts +8 -0
  30. package/dist/domain/visualChangeCycle.js +7 -0
  31. package/dist/domain/visualChangeCycle.js.map +1 -0
  32. package/dist/domain/visualChangeWorkflow.d.ts +125 -0
  33. package/dist/domain/visualChangeWorkflow.js +109 -0
  34. package/dist/domain/visualChangeWorkflow.js.map +1 -0
  35. package/dist/domain/visualChangeWorkflowIdentity.d.ts +5 -0
  36. package/dist/domain/visualChangeWorkflowIdentity.js +24 -0
  37. package/dist/domain/visualChangeWorkflowIdentity.js.map +1 -0
  38. package/dist/index.d.ts +21 -1
  39. package/dist/index.js +12 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/projectWorkflow/projectPaths.d.ts +3 -0
  42. package/dist/projectWorkflow/projectPaths.js +7 -0
  43. package/dist/projectWorkflow/projectPaths.js.map +1 -1
  44. package/dist/viewer/assets/index-DglJ6f28.css +1 -0
  45. package/dist/viewer/assets/index-DsODREY5.js +9 -0
  46. package/dist/viewer/index.html +2 -2
  47. package/dist/viewer/sw.js +1 -1
  48. package/dist/viewerServer/evidence/classify.d.ts +3 -1
  49. package/dist/viewerServer/evidence/classify.js +10 -0
  50. package/dist/viewerServer/evidence/classify.js.map +1 -1
  51. package/dist/viewerServer/evidence/handles.js +1 -0
  52. package/dist/viewerServer/evidence/handles.js.map +1 -1
  53. package/dist/viewerServer/evidence/projection.d.ts +5 -0
  54. package/dist/viewerServer/evidence/projection.js +19 -0
  55. package/dist/viewerServer/evidence/projection.js.map +1 -1
  56. package/dist/viewerServer/evidence/visualChangeWorkflowView.d.ts +31 -0
  57. package/dist/viewerServer/evidence/visualChangeWorkflowView.js +36 -0
  58. package/dist/viewerServer/evidence/visualChangeWorkflowView.js.map +1 -0
  59. package/dist/viewerServer/httpServer.js +323 -1
  60. package/dist/viewerServer/httpServer.js.map +1 -1
  61. package/dist/viewerServer/referenceApproval.d.ts +22 -0
  62. package/dist/viewerServer/referenceApproval.js +42 -0
  63. package/dist/viewerServer/referenceApproval.js.map +1 -0
  64. package/dist/viewerServer/referenceVisualChangeAuthoring.d.ts +28 -0
  65. package/dist/viewerServer/referenceVisualChangeAuthoring.js +134 -0
  66. package/dist/viewerServer/referenceVisualChangeAuthoring.js.map +1 -0
  67. package/dist/viewerServer/runtimeVisualChangeAuthoring.d.ts +33 -0
  68. package/dist/viewerServer/runtimeVisualChangeAuthoring.js +81 -0
  69. package/dist/viewerServer/runtimeVisualChangeAuthoring.js.map +1 -0
  70. package/dist/viewerServer/visualChangeAuthoring.d.ts +46 -0
  71. package/dist/viewerServer/visualChangeAuthoring.js +63 -0
  72. package/dist/viewerServer/visualChangeAuthoring.js.map +1 -0
  73. package/dist/viewerServer/visualChangeHandoff.d.ts +23 -0
  74. package/dist/viewerServer/visualChangeHandoff.js +31 -0
  75. package/dist/viewerServer/visualChangeHandoff.js.map +1 -0
  76. package/dist/viewerServer/visualChangeReview.d.ts +30 -0
  77. package/dist/viewerServer/visualChangeReview.js +46 -0
  78. package/dist/viewerServer/visualChangeReview.js.map +1 -0
  79. package/docs/ARCHITECTURE.md +17 -5
  80. package/docs/CI_CD.md +33 -1
  81. package/docs/COMMANDS.md +19 -5
  82. package/docs/CONTRACTS.md +38 -4
  83. package/docs/CURRENT_STATE.md +92 -11
  84. package/docs/DEVELOPMENT.md +32 -2
  85. package/docs/PROJECT_MILESTONES.md +28 -0
  86. package/docs/PROJECT_OVERVIEW.md +36 -14
  87. package/docs/QUICKSTART.md +7 -3
  88. package/docs/RELEASE.md +15 -11
  89. package/docs/ROADMAP.md +55 -2
  90. package/docs/SECURITY.md +25 -3
  91. package/docs/WORKFLOWS.md +29 -3
  92. package/docs/plans/v0.10-implementation-plan.md +1509 -0
  93. package/docs/plans/v0.9.1-implementation-plan.md +468 -0
  94. package/docs/reports/v0.10-batch1-visual-change-workflow-foundation.md +102 -0
  95. package/docs/reports/v0.10-batch2-project-composition-check-recording.md +103 -0
  96. package/docs/reports/v0.10-batch3-viewer-visual-change-workspace.md +93 -0
  97. package/docs/reports/v0.10-batch4-actual-frontend-entry.md +59 -0
  98. package/docs/reports/v0.10-batch5-reference-driven-entry.md +238 -0
  99. package/docs/reports/v0.10-batch6-coding-agent-handoff.md +85 -0
  100. package/docs/reports/v0.10-batch7-correction-review-acceptance.md +145 -0
  101. package/docs/reports/v0.10-batch8-integrated-acceptance.md +109 -0
  102. package/docs/reports/v0.10-implementation-completeness-documentation-reconciliation.md +344 -0
  103. package/docs/reports/v0.10-pre-release-readiness.md +120 -0
  104. package/docs/reports/v0.10-release-preparation.md +70 -0
  105. package/docs/reports/v0.9.1-batch1-pwa-hard-gate-isolation.md +359 -0
  106. package/docs/reports/v0.9.1-batch2-hard-gate-validation-integration.md +262 -0
  107. package/docs/reports/v0.9.1-pre-release-readiness.md +206 -0
  108. package/package.json +3 -2
  109. package/dist/viewer/assets/index-BN41MI7m.css +0 -1
  110. package/dist/viewer/assets/index-CkKXnlrI.js +0 -9
@@ -15,6 +15,13 @@ import { checkAuthoringRequestHeaders, isExpectedAuthoringHost, readBoundedAutho
15
15
  import { parseSaveAnnotationRequest, saveAnnotationFromViewer } from './annotationAuthoring.js';
16
16
  import { parsePromoteAnnotationContractRequest, promoteAnnotationContractFromViewer } from './annotationContractPromotion.js';
17
17
  import { materializeAnnotationReferenceFromViewer, parseMaterializeAnnotationReferenceRequest } from './annotationReferenceMaterialization.js';
18
+ import { createVisualChangeFromViewer, mutateVisualChangeFromViewer, parseCreateVisualChangeRequest, parseEmptyVisualChangeRequest } from './visualChangeAuthoring.js';
19
+ import { getVisualChangeWorkflowView } from './evidence/visualChangeWorkflowView.js';
20
+ import { parseStartRuntimeVisualChangeRequest, startRuntimeVisualChangeFromViewer } from './runtimeVisualChangeAuthoring.js';
21
+ import { approveReferenceFromViewer, parseApproveReferenceRequest } from './referenceApproval.js';
22
+ import { parseStartReferenceVisualChangeRequest, startReferenceVisualChangeFromViewer } from './referenceVisualChangeAuthoring.js';
23
+ import { parsePrepareVisualChangeHandoffRequest, prepareVisualChangeHandoffFromViewer } from './visualChangeHandoff.js';
24
+ import { parseVisualChangeGovernanceRequest, parseVisualChangeReviewRequest, recordVisualChangeGovernanceFromViewer, reviewVisualChangeFromViewer } from './visualChangeReview.js';
18
25
  /**
19
26
  * Viewer protocol identity, reported by GET /api/status and bumped
20
27
  * independently of package/schema versions. 1.1.0 (v0.9 Batch 2) adds the
@@ -92,7 +99,7 @@ async function handleRequest(req, res, assetsRoot, state) {
92
99
  res.end('bad request');
93
100
  return;
94
101
  }
95
- // v0.9 Batch 2/5/6: POST exists for exactly three authoring routes. Every other path keeps the read-only GET/HEAD method set.
102
+ // Project-aware POST routes are enumerated explicitly below. Every other path keeps the read-only GET/HEAD method set.
96
103
  if (pathname === ANNOTATION_SAVE_PATH) {
97
104
  if (method !== 'POST') {
98
105
  res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
@@ -102,6 +109,55 @@ async function handleRequest(req, res, assetsRoot, state) {
102
109
  await handleAnnotationSave(req, res, state);
103
110
  return;
104
111
  }
112
+ if (pathname === VISUAL_CHANGE_CREATE_PATH) {
113
+ if (method !== 'POST') {
114
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
115
+ res.end('method not allowed');
116
+ return;
117
+ }
118
+ await handleVisualChangeCreate(req, res, state);
119
+ return;
120
+ }
121
+ const visualMutation = VISUAL_CHANGE_MUTATION_PATH.exec(pathname);
122
+ if (visualMutation) {
123
+ if (method !== 'POST') {
124
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
125
+ res.end('method not allowed');
126
+ return;
127
+ }
128
+ await handleVisualChangeMutation(req, res, state, visualMutation[1], visualMutation[2]);
129
+ return;
130
+ }
131
+ const handoffMatch = VISUAL_CHANGE_HANDOFF_PATH.exec(pathname);
132
+ if (handoffMatch) {
133
+ if (method !== 'POST') {
134
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
135
+ res.end('method not allowed');
136
+ return;
137
+ }
138
+ await handleVisualChangeHandoff(req, res, state, handoffMatch[1]);
139
+ return;
140
+ }
141
+ const reviewMatch = VISUAL_CHANGE_REVIEW_PATH.exec(pathname);
142
+ if (reviewMatch) {
143
+ if (method !== 'POST') {
144
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
145
+ res.end('method not allowed');
146
+ return;
147
+ }
148
+ await handleVisualChangeReview(req, res, state, reviewMatch[1]);
149
+ return;
150
+ }
151
+ const governanceMatch = VISUAL_CHANGE_GOVERNANCE_PATH.exec(pathname);
152
+ if (governanceMatch) {
153
+ if (method !== 'POST') {
154
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
155
+ res.end('method not allowed');
156
+ return;
157
+ }
158
+ await handleVisualChangeGovernance(req, res, state, governanceMatch[1]);
159
+ return;
160
+ }
105
161
  const promoteMatch = ANNOTATION_PROMOTE_CONTRACT_PATH.exec(pathname);
106
162
  if (promoteMatch) {
107
163
  if (method !== 'POST') {
@@ -112,6 +168,16 @@ async function handleRequest(req, res, assetsRoot, state) {
112
168
  await handleAnnotationContractPromotion(req, res, state, promoteMatch[1]);
113
169
  return;
114
170
  }
171
+ const startVisualChangeMatch = ANNOTATION_START_VISUAL_CHANGE_PATH.exec(pathname);
172
+ if (startVisualChangeMatch) {
173
+ if (method !== 'POST') {
174
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
175
+ res.end('method not allowed');
176
+ return;
177
+ }
178
+ await handleRuntimeVisualChangeStart(req, res, state, startVisualChangeMatch[1]);
179
+ return;
180
+ }
115
181
  const materializeMatch = ANNOTATION_MATERIALIZE_REFERENCE_PATH.exec(pathname);
116
182
  if (materializeMatch) {
117
183
  if (method !== 'POST') {
@@ -122,6 +188,26 @@ async function handleRequest(req, res, assetsRoot, state) {
122
188
  await handleAnnotationReferenceMaterialization(req, res, state, materializeMatch[1]);
123
189
  return;
124
190
  }
191
+ const approveReferenceMatch = REFERENCE_APPROVE_PATH.exec(pathname);
192
+ if (approveReferenceMatch) {
193
+ if (method !== 'POST') {
194
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
195
+ res.end('method not allowed');
196
+ return;
197
+ }
198
+ await handleReferenceApproval(req, res, state, approveReferenceMatch[1]);
199
+ return;
200
+ }
201
+ const startReferenceMatch = REFERENCE_START_VISUAL_CHANGE_PATH.exec(pathname);
202
+ if (startReferenceMatch) {
203
+ if (method !== 'POST') {
204
+ res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'POST' });
205
+ res.end('method not allowed');
206
+ return;
207
+ }
208
+ await handleReferenceVisualChangeStart(req, res, state, startReferenceMatch[1]);
209
+ return;
210
+ }
125
211
  if (method === 'POST') {
126
212
  res.writeHead(405, { 'content-type': 'text/plain; charset=utf-8', allow: 'GET, HEAD' });
127
213
  res.end('method not allowed');
@@ -365,6 +451,22 @@ async function handleRequest(req, res, assetsRoot, state) {
365
451
  writeJsonBody(res, method, 200, { ok: true, annotation: result.annotation, source: result.source });
366
452
  return;
367
453
  }
454
+ const visualChangeViewMatch = /^\/api\/visual-changes\/([^/]+)\/view$/.exec(pathname);
455
+ if (visualChangeViewMatch) {
456
+ const handle = decodeURIComponentSafe(visualChangeViewMatch[1]);
457
+ if (handle === undefined) {
458
+ writeJsonError(res, method, 400, 'malformed workflow handle');
459
+ return;
460
+ }
461
+ const result = await getVisualChangeWorkflowView(state.root, handle);
462
+ if (!result.ok) {
463
+ const status = result.reason === 'unknown-handle' ? 404 : 409;
464
+ writeJsonError(res, method, status, result.reason === 'unknown-handle' ? 'unknown viewer artifact handle' : 'workflow view is not currently available');
465
+ return;
466
+ }
467
+ writeJsonBody(res, method, 200, { ok: true, view: result.view });
468
+ return;
469
+ }
368
470
  if (pathname === '/api/context') {
369
471
  if (state.context.status === 'none') {
370
472
  writeJsonBody(res, method, 200, { ok: true, status: 'none' });
@@ -403,8 +505,16 @@ async function handleRequest(req, res, assetsRoot, state) {
403
505
  }
404
506
  }
405
507
  const ANNOTATION_SAVE_PATH = '/api/annotations';
508
+ const VISUAL_CHANGE_CREATE_PATH = '/api/visual-changes';
509
+ const VISUAL_CHANGE_MUTATION_PATH = /^\/api\/visual-changes\/([^/]+)\/(activate|check|restore-acceptance)$/;
510
+ const VISUAL_CHANGE_HANDOFF_PATH = /^\/api\/visual-changes\/([^/]+)\/prepare-handoff$/;
511
+ const VISUAL_CHANGE_REVIEW_PATH = /^\/api\/visual-changes\/([^/]+)\/review$/;
512
+ const VISUAL_CHANGE_GOVERNANCE_PATH = /^\/api\/visual-changes\/([^/]+)\/governance$/;
406
513
  const ANNOTATION_PROMOTE_CONTRACT_PATH = /^\/api\/annotations\/([^/]+)\/promote-contract$/;
514
+ const ANNOTATION_START_VISUAL_CHANGE_PATH = /^\/api\/annotations\/([^/]+)\/start-visual-change$/;
407
515
  const ANNOTATION_MATERIALIZE_REFERENCE_PATH = /^\/api\/annotations\/([^/]+)\/materialize-reference$/;
516
+ const REFERENCE_APPROVE_PATH = /^\/api\/references\/([^/]+)\/approve$/;
517
+ const REFERENCE_START_VISUAL_CHANGE_PATH = /^\/api\/references\/([^/]+)\/start-visual-change$/;
408
518
  const MATERIALIZE_FAILURE_STATUS = {
409
519
  'unknown-annotation-handle': 404,
410
520
  'not-an-annotation': 409,
@@ -431,6 +541,12 @@ const PROMOTE_FAILURE_STATUS = {
431
541
  'invalid-selection': 422,
432
542
  'persistence-failed': 500,
433
543
  };
544
+ const START_VISUAL_CHANGE_FAILURE_STATUS = {
545
+ 'unknown-annotation-handle': 404, 'source-unavailable': 404,
546
+ 'not-an-annotation': 409, 'reference-annotation': 409, 'source-mismatch': 409, 'project-config-invalid': 409, 'contract-not-configured': 409, 'configured-baseline-invalid': 409, 'baseline-alias-missing': 409,
547
+ 'invalid-selection': 422,
548
+ 'contract-persistence-failed': 500, 'workflow-persistence-failed': 500,
549
+ };
434
550
  const SAVE_FAILURE_STATUS = {
435
551
  'unknown-source-handle': 404,
436
552
  'source-not-loadable': 409,
@@ -472,6 +588,134 @@ async function handleAnnotationSave(req, res, state) {
472
588
  writeJsonError(res, 'POST', 500, 'the annotation could not be saved');
473
589
  }
474
590
  }
591
+ async function handleVisualChangeCreate(req, res, state) {
592
+ const authoring = await readAuthoringJsonRequest(req, res, state);
593
+ if (authoring === undefined)
594
+ return;
595
+ const parsed = parseCreateVisualChangeRequest(authoring.parsed);
596
+ if (!parsed.ok) {
597
+ writeJsonError(res, 'POST', 400, parsed.error);
598
+ return;
599
+ }
600
+ try {
601
+ const result = await createVisualChangeFromViewer(authoring.session, parsed.scope);
602
+ writeJsonBody(res, 'POST', result.status, result.body);
603
+ }
604
+ catch {
605
+ writeJsonError(res, 'POST', 500, 'visual-change workflow creation failed');
606
+ }
607
+ }
608
+ async function handleVisualChangeMutation(req, res, state, encodedHandle, routeOperation) {
609
+ const authoring = await readAuthoringJsonRequest(req, res, state);
610
+ if (authoring === undefined)
611
+ return;
612
+ const parsed = parseEmptyVisualChangeRequest(authoring.parsed);
613
+ if (!parsed.ok) {
614
+ writeJsonError(res, 'POST', 400, parsed.error);
615
+ return;
616
+ }
617
+ const handle = decodeURIComponentSafe(encodedHandle);
618
+ if (handle === undefined) {
619
+ writeJsonError(res, 'POST', 400, 'malformed workflow handle');
620
+ return;
621
+ }
622
+ try {
623
+ const result = await mutateVisualChangeFromViewer(state.root, authoring.session, handle, routeOperation === 'restore-acceptance' ? 'restore' : routeOperation);
624
+ if (!result.ok && 'error' in result) {
625
+ writeJsonError(res, 'POST', result.status, result.error);
626
+ return;
627
+ }
628
+ writeJsonBody(res, 'POST', result.status, result.body);
629
+ }
630
+ catch {
631
+ writeJsonError(res, 'POST', 500, 'visual-change workflow operation failed');
632
+ }
633
+ }
634
+ async function handleVisualChangeHandoff(req, res, state, encodedHandle) {
635
+ const authoring = await readAuthoringJsonRequest(req, res, state);
636
+ if (authoring === undefined)
637
+ return;
638
+ const parsed = parsePrepareVisualChangeHandoffRequest(authoring.parsed);
639
+ if (!parsed.ok) {
640
+ writeJsonError(res, 'POST', 400, parsed.error);
641
+ return;
642
+ }
643
+ const handle = decodeURIComponentSafe(encodedHandle);
644
+ if (handle === undefined) {
645
+ writeJsonError(res, 'POST', 400, 'malformed workflow handle');
646
+ return;
647
+ }
648
+ try {
649
+ const result = await prepareVisualChangeHandoffFromViewer(state.root, authoring.session, state.context, handle, parsed.request);
650
+ if (!result.ok) {
651
+ const status = result.code === 'unknown-handle' ? 404 : result.code === 'wrong-family' || ['workflow-inactive', 'workflow-restored', 'acceptance-drift', 'baseline-drift', 'unsupported-context', 'context-mismatch', 'review-required', 'workflow-accepted', 'workflow-abandoned'].includes(result.code) ? 409 : result.code === 'invalid-handoff' ? 500 : 422;
652
+ writeJsonBody(res, 'POST', status, { ok: false, code: result.code, error: result.error });
653
+ return;
654
+ }
655
+ writeJsonBody(res, 'POST', 200, { ok: true, handoff: result.handoff });
656
+ }
657
+ catch {
658
+ writeJsonError(res, 'POST', 500, 'visual-change handoff preparation failed');
659
+ }
660
+ }
661
+ async function handleVisualChangeReview(req, res, state, encodedHandle) {
662
+ const authoring = await readAuthoringJsonRequest(req, res, state);
663
+ if (authoring === undefined)
664
+ return;
665
+ const parsed = parseVisualChangeReviewRequest(authoring.parsed);
666
+ if (!parsed.ok) {
667
+ writeJsonError(res, 'POST', 400, parsed.error);
668
+ return;
669
+ }
670
+ const handle = decodeURIComponentSafe(encodedHandle);
671
+ if (handle === undefined) {
672
+ writeJsonError(res, 'POST', 400, 'malformed workflow handle');
673
+ return;
674
+ }
675
+ try {
676
+ const result = await reviewVisualChangeFromViewer(state.root, authoring.session, handle, parsed.decision);
677
+ if (!result.ok) {
678
+ if ('status' in result)
679
+ writeJsonError(res, 'POST', result.status, result.error);
680
+ else
681
+ writeJsonBody(res, 'POST', result.code === 'persistence-failure' ? 500 : 409, { ok: false, code: result.code, error: result.reason });
682
+ return;
683
+ }
684
+ writeJsonBody(res, 'POST', 200, result);
685
+ }
686
+ catch {
687
+ writeJsonError(res, 'POST', 500, 'visual-change review failed');
688
+ }
689
+ }
690
+ async function handleVisualChangeGovernance(req, res, state, encodedHandle) {
691
+ const authoring = await readAuthoringJsonRequest(req, res, state);
692
+ if (authoring === undefined)
693
+ return;
694
+ const parsed = parseVisualChangeGovernanceRequest(authoring.parsed);
695
+ if (!parsed.ok) {
696
+ writeJsonError(res, 'POST', 400, parsed.error);
697
+ return;
698
+ }
699
+ const handle = decodeURIComponentSafe(encodedHandle);
700
+ if (handle === undefined) {
701
+ writeJsonError(res, 'POST', 400, 'malformed workflow handle');
702
+ return;
703
+ }
704
+ try {
705
+ const result = await recordVisualChangeGovernanceFromViewer(state.root, authoring.session, handle, parsed.request);
706
+ if (!result.ok) {
707
+ if ('status' in result)
708
+ writeJsonError(res, 'POST', result.status, result.error);
709
+ else
710
+ writeJsonBody(res, 'POST', result.code === 'persistence-failure' ? 500 : 409, { ok: false, code: result.code, error: result.reason });
711
+ return;
712
+ }
713
+ writeJsonBody(res, 'POST', 200, result);
714
+ }
715
+ catch {
716
+ writeJsonError(res, 'POST', 500, 'visual-change governance recording failed');
717
+ }
718
+ }
475
719
  /**
476
720
  * The one shared authoring POST gate (v0.9 Batch 2, reused unchanged by Batch
477
721
  * 5): authoring enabled, then Host/Origin/token/content-type/content-encoding,
@@ -542,6 +786,32 @@ async function handleAnnotationContractPromotion(req, res, state, encodedHandle)
542
786
  writeJsonError(res, 'POST', 500, 'the change contract could not be promoted');
543
787
  }
544
788
  }
789
+ async function handleRuntimeVisualChangeStart(req, res, state, encodedHandle) {
790
+ const authoring = await readAuthoringJsonRequest(req, res, state);
791
+ if (authoring === undefined)
792
+ return;
793
+ const handle = decodeURIComponentSafe(encodedHandle);
794
+ if (handle === undefined) {
795
+ writeJsonError(res, 'POST', 400, 'malformed annotation handle');
796
+ return;
797
+ }
798
+ const request = parseStartRuntimeVisualChangeRequest(authoring.parsed);
799
+ if (!request.ok) {
800
+ writeJsonError(res, 'POST', 400, request.error);
801
+ return;
802
+ }
803
+ try {
804
+ const result = await startRuntimeVisualChangeFromViewer(state.root, authoring.session, handle, request.request);
805
+ if (!result.ok) {
806
+ writeJsonBody(res, 'POST', START_VISUAL_CHANGE_FAILURE_STATUS[result.reason], { ok: false, code: result.reason, error: result.error, ...(result.contractId === undefined ? {} : { contractId: result.contractId }), ...(result.contractRequestId === undefined ? {} : { contractRequestId: result.contractRequestId }) });
807
+ return;
808
+ }
809
+ writeJsonBody(res, 'POST', 201, { ok: true, contractId: result.contractId, contractRequestId: result.contractRequestId, clauseCount: result.clauseCount, visualChangeRequestId: result.visualChangeRequestId, visualChangeWorkflowId: result.visualChangeWorkflowId });
810
+ }
811
+ catch {
812
+ writeJsonError(res, 'POST', 500, 'the visual change could not be created');
813
+ }
814
+ }
545
815
  /**
546
816
  * POST /api/annotations/:handle/materialize-reference (v0.9 Batch 6). Same
547
817
  * shared authoring gate, a closed `{ itemIds }` body, then the one canonical
@@ -585,6 +855,58 @@ async function handleAnnotationReferenceMaterialization(req, res, state, encoded
585
855
  writeJsonError(res, 'POST', 500, 'the reference revision could not be materialized');
586
856
  }
587
857
  }
858
+ async function handleReferenceApproval(req, res, state, encodedHandle) {
859
+ const authoring = await readAuthoringJsonRequest(req, res, state);
860
+ if (authoring === undefined)
861
+ return;
862
+ const handle = decodeURIComponentSafe(encodedHandle);
863
+ if (handle === undefined) {
864
+ writeJsonError(res, 'POST', 400, 'malformed reference handle');
865
+ return;
866
+ }
867
+ const parsed = parseApproveReferenceRequest(authoring.parsed);
868
+ if (!parsed.ok) {
869
+ writeJsonError(res, 'POST', 400, parsed.error);
870
+ return;
871
+ }
872
+ try {
873
+ const result = await approveReferenceFromViewer(state.root, authoring.session, handle);
874
+ if (!result.ok) {
875
+ writeJsonError(res, 'POST', result.reason === 'unknown-handle' ? 404 : result.reason === 'approval-failed' ? 500 : 409, result.error);
876
+ return;
877
+ }
878
+ writeJsonBody(res, 'POST', 201, { ok: true, referenceId: result.referenceId, referenceRequestId: result.referenceRequestId, handle: result.handle, regionCount: result.regionCount, requirementCount: result.requirementCount, adequacy: result.adequacy });
879
+ }
880
+ catch {
881
+ writeJsonError(res, 'POST', 500, 'the reference could not be approved');
882
+ }
883
+ }
884
+ async function handleReferenceVisualChangeStart(req, res, state, encodedHandle) {
885
+ const authoring = await readAuthoringJsonRequest(req, res, state);
886
+ if (authoring === undefined)
887
+ return;
888
+ const handle = decodeURIComponentSafe(encodedHandle);
889
+ if (handle === undefined) {
890
+ writeJsonError(res, 'POST', 400, 'malformed reference handle');
891
+ return;
892
+ }
893
+ const parsed = parseStartReferenceVisualChangeRequest(authoring.parsed);
894
+ if (!parsed.ok) {
895
+ writeJsonError(res, 'POST', 400, parsed.error);
896
+ return;
897
+ }
898
+ try {
899
+ const result = await startReferenceVisualChangeFromViewer(state.root, authoring.session, handle, parsed.request);
900
+ if (!result.ok) {
901
+ writeJsonBody(res, 'POST', result.reason === 'unknown-handle' || result.reason === 'baseline-invalid' ? 404 : result.reason.includes('invalid') || result.reason === 'intent-not-represented' || result.reason.startsWith('binding') ? 422 : 409, { ok: false, code: result.reason, error: result.error });
902
+ return;
903
+ }
904
+ writeJsonBody(res, 'POST', 201, result);
905
+ }
906
+ catch {
907
+ writeJsonError(res, 'POST', 500, 'the reference visual change could not be created');
908
+ }
909
+ }
588
910
  /** Rejects before (or instead of) consuming the request body; `connection: close` stops the server from collecting any further body bytes. */
589
911
  function rejectAuthoringRequest(res, status, error) {
590
912
  res.writeHead(status, { 'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-store', connection: 'close' });
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.js","sourceRoot":"","sources":["../../src/viewerServer/httpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpServer.js","sourceRoot":"","sources":["../../src/viewerServer/httpServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { deriveReferenceRequirementAdequacy } from '../domain/externalReferenceRequirements.js';
2
+ import type { ViewerAuthoringSession } from './authoringSecurity.js';
3
+ export declare function parseApproveReferenceRequest(value: unknown): {
4
+ ok: true;
5
+ } | {
6
+ ok: false;
7
+ error: string;
8
+ };
9
+ export type ApproveReferenceResult = {
10
+ ok: true;
11
+ referenceId: string;
12
+ referenceRequestId: string;
13
+ handle: string;
14
+ regionCount: number;
15
+ requirementCount: number;
16
+ adequacy: ReturnType<typeof deriveReferenceRequirementAdequacy>;
17
+ } | {
18
+ ok: false;
19
+ reason: 'unknown-handle' | 'wrong-lifecycle' | 'supersession-unresolved' | 'approval-failed';
20
+ error: string;
21
+ };
22
+ export declare function approveReferenceFromViewer(root: string, session: ViewerAuthoringSession, handle: string): Promise<ApproveReferenceResult>;
@@ -0,0 +1,42 @@
1
+ import { approveExternalReference } from '../application/externalReferencePersistenceService.js';
2
+ import { referenceOutputLocation } from '../projectWorkflow/projectPaths.js';
3
+ import { buildEvidenceIndexMetadata, loadArtifactByHandle } from './evidence/index.js';
4
+ import { decodeArtifactHandle, encodeArtifactHandle } from './evidence/handles.js';
5
+ import { resolveContainedDir } from './evidence/pathSafety.js';
6
+ import { runSerializedAuthoringWrite } from './annotationAuthoring.js';
7
+ export function parseApproveReferenceRequest(value) {
8
+ return typeof value === 'object' && value !== null && !Array.isArray(value) && Object.keys(value).length === 0
9
+ ? { ok: true }
10
+ : { ok: false, error: 'request body must be exactly {}' };
11
+ }
12
+ export function approveReferenceFromViewer(root, session, handle) {
13
+ return runSerializedAuthoringWrite(session, async () => {
14
+ const loaded = await loadArtifactByHandle(root, handle);
15
+ if (!loaded.ok)
16
+ return { ok: false, reason: 'unknown-handle', error: 'unknown reference handle' };
17
+ if (loaded.detail.family !== 'external-reference-imported')
18
+ return { ok: false, reason: 'wrong-lifecycle', error: 'only an imported reference may be approved' };
19
+ const decoded = decodeArtifactHandle(handle);
20
+ const importedRoot = decoded.ok ? resolveContainedDir(root, decoded.relativeDir) : undefined;
21
+ if (importedRoot === undefined)
22
+ return { ok: false, reason: 'unknown-handle', error: 'unknown reference handle' };
23
+ const imported = loaded.detail.artifact;
24
+ let supersedesReferenceRoot;
25
+ if (imported.supersedesReferenceId !== undefined) {
26
+ const index = await buildEvidenceIndexMetadata(root);
27
+ const matches = index.records.filter((record) => (record.family === 'external-reference-imported' || record.family === 'external-reference-approved') &&
28
+ record.supportState === 'supported' && record.logicalId === imported.supersedesReferenceId);
29
+ if (matches.length !== 1)
30
+ return { ok: false, reason: 'supersession-unresolved', error: 'the declared predecessor reference could not be resolved uniquely' };
31
+ const predecessor = decodeArtifactHandle(matches[0].handle);
32
+ supersedesReferenceRoot = predecessor.ok ? resolveContainedDir(root, predecessor.relativeDir) : undefined;
33
+ if (supersedesReferenceRoot === undefined)
34
+ return { ok: false, reason: 'supersession-unresolved', error: 'the declared predecessor reference could not be resolved uniquely' };
35
+ }
36
+ const result = await approveExternalReference(importedRoot, { outputLocation: referenceOutputLocation(), cwd: session.projectRoot, ...(supersedesReferenceRoot === undefined ? {} : { supersedesReferenceRoot }) });
37
+ if (!result.ok)
38
+ return { ok: false, reason: 'approval-failed', error: result.diagnostics.map((item) => item.message).join('; ') };
39
+ return { ok: true, referenceId: result.referenceId, referenceRequestId: result.referenceRequestId, handle: encodeArtifactHandle('external-reference-approved', `references/${result.referenceId}`), regionCount: result.regionCount, requirementCount: result.requirementCount, adequacy: result.adequacy };
40
+ });
41
+ }
42
+ //# sourceMappingURL=referenceApproval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceApproval.js","sourceRoot":"","sources":["../../src/viewerServer/referenceApproval.ts"],"names":[],"mappings":"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"}