@dailephd/my-frontend-observer 0.8.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/CHANGELOG.md +397 -0
- package/LICENSE +21 -0
- package/README.md +255 -0
- package/dist/application/browserCaptureService.d.ts +11 -0
- package/dist/application/browserCaptureService.js +12 -0
- package/dist/application/browserCaptureService.js.map +1 -0
- package/dist/application/comparisonService.d.ts +56 -0
- package/dist/application/comparisonService.js +77 -0
- package/dist/application/comparisonService.js.map +1 -0
- package/dist/application/externalReferencePersistenceService.d.ts +75 -0
- package/dist/application/externalReferencePersistenceService.js +182 -0
- package/dist/application/externalReferencePersistenceService.js.map +1 -0
- package/dist/application/frontendContractEvaluationService.d.ts +49 -0
- package/dist/application/frontendContractEvaluationService.js +112 -0
- package/dist/application/frontendContractEvaluationService.js.map +1 -0
- package/dist/application/frontendContractPersistenceService.d.ts +56 -0
- package/dist/application/frontendContractPersistenceService.js +91 -0
- package/dist/application/frontendContractPersistenceService.js.map +1 -0
- package/dist/application/observationPersistence.d.ts +59 -0
- package/dist/application/observationPersistence.js +79 -0
- package/dist/application/observationPersistence.js.map +1 -0
- package/dist/application/projectCheckService.d.ts +3 -0
- package/dist/application/projectCheckService.js +169 -0
- package/dist/application/projectCheckService.js.map +1 -0
- package/dist/application/projectWorkflowService.d.ts +46 -0
- package/dist/application/projectWorkflowService.js +92 -0
- package/dist/application/projectWorkflowService.js.map +1 -0
- package/dist/application/referenceFidelityEvaluationService.d.ts +28 -0
- package/dist/application/referenceFidelityEvaluationService.js +45 -0
- package/dist/application/referenceFidelityEvaluationService.js.map +1 -0
- package/dist/artifacts/artifactReader.d.ts +19 -0
- package/dist/artifacts/artifactReader.js +36 -0
- package/dist/artifacts/artifactReader.js.map +1 -0
- package/dist/artifacts/artifactWriter.d.ts +25 -0
- package/dist/artifacts/artifactWriter.js +68 -0
- package/dist/artifacts/artifactWriter.js.map +1 -0
- package/dist/artifacts/comparisonArtifactReader.d.ts +18 -0
- package/dist/artifacts/comparisonArtifactReader.js +35 -0
- package/dist/artifacts/comparisonArtifactReader.js.map +1 -0
- package/dist/artifacts/comparisonArtifactWriter.d.ts +41 -0
- package/dist/artifacts/comparisonArtifactWriter.js +67 -0
- package/dist/artifacts/comparisonArtifactWriter.js.map +1 -0
- package/dist/artifacts/externalReferenceArtifactReader.d.ts +18 -0
- package/dist/artifacts/externalReferenceArtifactReader.js +35 -0
- package/dist/artifacts/externalReferenceArtifactReader.js.map +1 -0
- package/dist/artifacts/externalReferenceArtifactWriter.d.ts +44 -0
- package/dist/artifacts/externalReferenceArtifactWriter.js +77 -0
- package/dist/artifacts/externalReferenceArtifactWriter.js.map +1 -0
- package/dist/artifacts/frontendContractArtifactReader.d.ts +24 -0
- package/dist/artifacts/frontendContractArtifactReader.js +47 -0
- package/dist/artifacts/frontendContractArtifactReader.js.map +1 -0
- package/dist/artifacts/frontendContractArtifactWriter.d.ts +34 -0
- package/dist/artifacts/frontendContractArtifactWriter.js +70 -0
- package/dist/artifacts/frontendContractArtifactWriter.js.map +1 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.d.ts +17 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.js +34 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.js.map +1 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.d.ts +32 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.js +58 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.js.map +1 -0
- package/dist/artifacts/types.d.ts +17 -0
- package/dist/artifacts/types.js +2 -0
- package/dist/artifacts/types.js.map +1 -0
- package/dist/browser/chromiumAdapter.d.ts +21 -0
- package/dist/browser/chromiumAdapter.js +204 -0
- package/dist/browser/chromiumAdapter.js.map +1 -0
- package/dist/browser/evidenceCapture.d.ts +62 -0
- package/dist/browser/evidenceCapture.js +500 -0
- package/dist/browser/evidenceCapture.js.map +1 -0
- package/dist/browser/scrollCapture.d.ts +32 -0
- package/dist/browser/scrollCapture.js +163 -0
- package/dist/browser/scrollCapture.js.map +1 -0
- package/dist/browser/types.d.ts +24 -0
- package/dist/browser/types.js +2 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +2411 -0
- package/dist/cli.js.map +1 -0
- package/dist/domain/boundedAgentContext.d.ts +226 -0
- package/dist/domain/boundedAgentContext.js +355 -0
- package/dist/domain/boundedAgentContext.js.map +1 -0
- package/dist/domain/boundedAgentContextCorrelation.d.ts +74 -0
- package/dist/domain/boundedAgentContextCorrelation.js +441 -0
- package/dist/domain/boundedAgentContextCorrelation.js.map +1 -0
- package/dist/domain/boundedAgentContextIdentity.d.ts +26 -0
- package/dist/domain/boundedAgentContextIdentity.js +69 -0
- package/dist/domain/boundedAgentContextIdentity.js.map +1 -0
- package/dist/domain/boundedAgentContextProjection.d.ts +71 -0
- package/dist/domain/boundedAgentContextProjection.js +477 -0
- package/dist/domain/boundedAgentContextProjection.js.map +1 -0
- package/dist/domain/comparison.d.ts +220 -0
- package/dist/domain/comparison.js +350 -0
- package/dist/domain/comparison.js.map +1 -0
- package/dist/domain/comparisonEngine.d.ts +76 -0
- package/dist/domain/comparisonEngine.js +734 -0
- package/dist/domain/comparisonEngine.js.map +1 -0
- package/dist/domain/comparisonIdentity.d.ts +13 -0
- package/dist/domain/comparisonIdentity.js +46 -0
- package/dist/domain/comparisonIdentity.js.map +1 -0
- package/dist/domain/completion.d.ts +30 -0
- package/dist/domain/completion.js +22 -0
- package/dist/domain/completion.js.map +1 -0
- package/dist/domain/diagnostics.d.ts +17 -0
- package/dist/domain/diagnostics.js +77 -0
- package/dist/domain/diagnostics.js.map +1 -0
- package/dist/domain/evidence.d.ts +29 -0
- package/dist/domain/evidence.js +59 -0
- package/dist/domain/evidence.js.map +1 -0
- package/dist/domain/explicitState.d.ts +40 -0
- package/dist/domain/explicitState.js +54 -0
- package/dist/domain/explicitState.js.map +1 -0
- package/dist/domain/externalReference.d.ts +158 -0
- package/dist/domain/externalReference.js +167 -0
- package/dist/domain/externalReference.js.map +1 -0
- package/dist/domain/externalReferenceApplicability.d.ts +43 -0
- package/dist/domain/externalReferenceApplicability.js +52 -0
- package/dist/domain/externalReferenceApplicability.js.map +1 -0
- package/dist/domain/externalReferenceCompatibility.d.ts +40 -0
- package/dist/domain/externalReferenceCompatibility.js +48 -0
- package/dist/domain/externalReferenceCompatibility.js.map +1 -0
- package/dist/domain/externalReferenceFidelity.d.ts +171 -0
- package/dist/domain/externalReferenceFidelity.js +419 -0
- package/dist/domain/externalReferenceFidelity.js.map +1 -0
- package/dist/domain/externalReferenceIdentity.d.ts +38 -0
- package/dist/domain/externalReferenceIdentity.js +70 -0
- package/dist/domain/externalReferenceIdentity.js.map +1 -0
- package/dist/domain/externalReferenceImage.d.ts +35 -0
- package/dist/domain/externalReferenceImage.js +160 -0
- package/dist/domain/externalReferenceImage.js.map +1 -0
- package/dist/domain/externalReferenceRegionRelationships.d.ts +63 -0
- package/dist/domain/externalReferenceRegionRelationships.js +98 -0
- package/dist/domain/externalReferenceRegionRelationships.js.map +1 -0
- package/dist/domain/externalReferenceRegions.d.ts +65 -0
- package/dist/domain/externalReferenceRegions.js +105 -0
- package/dist/domain/externalReferenceRegions.js.map +1 -0
- package/dist/domain/externalReferenceRequirementIdentity.d.ts +12 -0
- package/dist/domain/externalReferenceRequirementIdentity.js +35 -0
- package/dist/domain/externalReferenceRequirementIdentity.js.map +1 -0
- package/dist/domain/externalReferenceRequirements.d.ts +215 -0
- package/dist/domain/externalReferenceRequirements.js +401 -0
- package/dist/domain/externalReferenceRequirements.js.map +1 -0
- package/dist/domain/externalReferenceRuntimeBinding.d.ts +146 -0
- package/dist/domain/externalReferenceRuntimeBinding.js +183 -0
- package/dist/domain/externalReferenceRuntimeBinding.js.map +1 -0
- package/dist/domain/frontendContractEvaluation.d.ts +57 -0
- package/dist/domain/frontendContractEvaluation.js +454 -0
- package/dist/domain/frontendContractEvaluation.js.map +1 -0
- package/dist/domain/frontendContractEvaluationArtifact.d.ts +65 -0
- package/dist/domain/frontendContractEvaluationArtifact.js +108 -0
- package/dist/domain/frontendContractEvaluationArtifact.js.map +1 -0
- package/dist/domain/frontendContractIdentity.d.ts +39 -0
- package/dist/domain/frontendContractIdentity.js +70 -0
- package/dist/domain/frontendContractIdentity.js.map +1 -0
- package/dist/domain/frontendContracts.d.ts +188 -0
- package/dist/domain/frontendContracts.js +260 -0
- package/dist/domain/frontendContracts.js.map +1 -0
- package/dist/domain/identity.d.ts +21 -0
- package/dist/domain/identity.js +47 -0
- package/dist/domain/identity.js.map +1 -0
- package/dist/domain/referenceCorrectionIdentity.d.ts +40 -0
- package/dist/domain/referenceCorrectionIdentity.js +77 -0
- package/dist/domain/referenceCorrectionIdentity.js.map +1 -0
- package/dist/domain/referenceCorrectionWorkflow.d.ts +160 -0
- package/dist/domain/referenceCorrectionWorkflow.js +165 -0
- package/dist/domain/referenceCorrectionWorkflow.js.map +1 -0
- package/dist/domain/referenceFidelityProjection.d.ts +65 -0
- package/dist/domain/referenceFidelityProjection.js +135 -0
- package/dist/domain/referenceFidelityProjection.js.map +1 -0
- package/dist/domain/relationships.d.ts +210 -0
- package/dist/domain/relationships.js +352 -0
- package/dist/domain/relationships.js.map +1 -0
- package/dist/domain/schema.d.ts +269 -0
- package/dist/domain/schema.js +442 -0
- package/dist/domain/schema.js.map +1 -0
- package/dist/domain/scrollEvidence.d.ts +51 -0
- package/dist/domain/scrollEvidence.js +134 -0
- package/dist/domain/scrollEvidence.js.map +1 -0
- package/dist/index.d.ts +114 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +1 -0
- package/dist/projectWorkflow/aliasCatalog.d.ts +21 -0
- package/dist/projectWorkflow/aliasCatalog.js +67 -0
- package/dist/projectWorkflow/aliasCatalog.js.map +1 -0
- package/dist/projectWorkflow/checkAcceptance.d.ts +25 -0
- package/dist/projectWorkflow/checkAcceptance.js +55 -0
- package/dist/projectWorkflow/checkAcceptance.js.map +1 -0
- package/dist/projectWorkflow/checkResult.d.ts +85 -0
- package/dist/projectWorkflow/checkResult.js +101 -0
- package/dist/projectWorkflow/checkResult.js.map +1 -0
- package/dist/projectWorkflow/projectConfig.d.ts +43 -0
- package/dist/projectWorkflow/projectConfig.js +84 -0
- package/dist/projectWorkflow/projectConfig.js.map +1 -0
- package/dist/projectWorkflow/projectDiscovery.d.ts +9 -0
- package/dist/projectWorkflow/projectDiscovery.js +20 -0
- package/dist/projectWorkflow/projectDiscovery.js.map +1 -0
- package/dist/projectWorkflow/projectPaths.d.ts +8 -0
- package/dist/projectWorkflow/projectPaths.js +23 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -0
- package/dist/request/paths.d.ts +14 -0
- package/dist/request/paths.js +33 -0
- package/dist/request/paths.js.map +1 -0
- package/dist/request/request.d.ts +111 -0
- package/dist/request/request.js +464 -0
- package/dist/request/request.js.map +1 -0
- package/dist/safety/policy.d.ts +14 -0
- package/dist/safety/policy.js +81 -0
- package/dist/safety/policy.js.map +1 -0
- package/dist/viewer/assets/index-CN_yb9Uf.css +1 -0
- package/dist/viewer/assets/index-D98S1_2d.js +9 -0
- package/dist/viewer/icons/icon-192.png +0 -0
- package/dist/viewer/icons/icon-512.png +0 -0
- package/dist/viewer/index.html +15 -0
- package/dist/viewer/manifest.webmanifest +1 -0
- package/dist/viewer/registerSW.js +1 -0
- package/dist/viewer/sw.js +1 -0
- package/dist/viewer/workbox-9c191d2f.js +1 -0
- package/dist/viewerServer/context.d.ts +48 -0
- package/dist/viewerServer/context.js +60 -0
- package/dist/viewerServer/context.js.map +1 -0
- package/dist/viewerServer/evidence/classify.d.ts +59 -0
- package/dist/viewerServer/evidence/classify.js +124 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -0
- package/dist/viewerServer/evidence/comparisonView.d.ts +28 -0
- package/dist/viewerServer/evidence/comparisonView.js +43 -0
- package/dist/viewerServer/evidence/comparisonView.js.map +1 -0
- package/dist/viewerServer/evidence/contextSourceView.d.ts +25 -0
- package/dist/viewerServer/evidence/contextSourceView.js +20 -0
- package/dist/viewerServer/evidence/contextSourceView.js.map +1 -0
- package/dist/viewerServer/evidence/discovery.d.ts +31 -0
- package/dist/viewerServer/evidence/discovery.js +78 -0
- package/dist/viewerServer/evidence/discovery.js.map +1 -0
- package/dist/viewerServer/evidence/evaluationView.d.ts +32 -0
- package/dist/viewerServer/evidence/evaluationView.js +50 -0
- package/dist/viewerServer/evidence/evaluationView.js.map +1 -0
- package/dist/viewerServer/evidence/handles.d.ts +21 -0
- package/dist/viewerServer/evidence/handles.js +43 -0
- package/dist/viewerServer/evidence/handles.js.map +1 -0
- package/dist/viewerServer/evidence/index.d.ts +41 -0
- package/dist/viewerServer/evidence/index.js +82 -0
- package/dist/viewerServer/evidence/index.js.map +1 -0
- package/dist/viewerServer/evidence/limits.d.ts +27 -0
- package/dist/viewerServer/evidence/limits.js +28 -0
- package/dist/viewerServer/evidence/limits.js.map +1 -0
- package/dist/viewerServer/evidence/linkedEvidence.d.ts +43 -0
- package/dist/viewerServer/evidence/linkedEvidence.js +151 -0
- package/dist/viewerServer/evidence/linkedEvidence.js.map +1 -0
- package/dist/viewerServer/evidence/mediaResolver.d.ts +16 -0
- package/dist/viewerServer/evidence/mediaResolver.js +85 -0
- package/dist/viewerServer/evidence/mediaResolver.js.map +1 -0
- package/dist/viewerServer/evidence/observationView.d.ts +29 -0
- package/dist/viewerServer/evidence/observationView.js +46 -0
- package/dist/viewerServer/evidence/observationView.js.map +1 -0
- package/dist/viewerServer/evidence/pathSafety.d.ts +11 -0
- package/dist/viewerServer/evidence/pathSafety.js +31 -0
- package/dist/viewerServer/evidence/pathSafety.js.map +1 -0
- package/dist/viewerServer/evidence/projection.d.ts +55 -0
- package/dist/viewerServer/evidence/projection.js +152 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -0
- package/dist/viewerServer/evidence/referenceView.d.ts +133 -0
- package/dist/viewerServer/evidence/referenceView.js +169 -0
- package/dist/viewerServer/evidence/referenceView.js.map +1 -0
- package/dist/viewerServer/httpServer.d.ts +27 -0
- package/dist/viewerServer/httpServer.js +381 -0
- package/dist/viewerServer/httpServer.js.map +1 -0
- package/dist/viewerServer/openBrowser.d.ts +7 -0
- package/dist/viewerServer/openBrowser.js +32 -0
- package/dist/viewerServer/openBrowser.js.map +1 -0
- package/dist/viewerServer/port.d.ts +16 -0
- package/dist/viewerServer/port.js +19 -0
- package/dist/viewerServer/port.js.map +1 -0
- package/dist/viewerServer/viewerService.d.ts +62 -0
- package/dist/viewerServer/viewerService.js +88 -0
- package/dist/viewerServer/viewerService.js.map +1 -0
- package/docs/ARCHITECTURE.md +1286 -0
- package/docs/CI_CD.md +250 -0
- package/docs/COMMANDS.md +972 -0
- package/docs/CONTRACTS.md +1856 -0
- package/docs/CURRENT_STATE.md +1049 -0
- package/docs/DEVELOPMENT.md +202 -0
- package/docs/DOCUMENTATION_PRESERVATION_POLICY.md +50 -0
- package/docs/PROJECT_DESCRIPTION.md +2221 -0
- package/docs/PROJECT_MILESTONES.md +2526 -0
- package/docs/PROJECT_OVERVIEW.md +150 -0
- package/docs/QUICKSTART.md +83 -0
- package/docs/RELEASE.md +27 -0
- package/docs/ROADMAP.md +641 -0
- package/docs/SECURITY.md +218 -0
- package/docs/WORKFLOWS.md +642 -0
- package/docs/plans/v0.8-implementation-plan.md +655 -0
- package/docs/plans/v0.8.1-cli-usability-patch-plan.md +505 -0
- package/docs/reports/v0.7-bounded-fidelity-context-prompt7.md +243 -0
- package/docs/reports/v0.7-implementation-completeness-documentation-reconciliation.md +497 -0
- package/docs/reports/v0.7-pre-release-readiness.md +337 -0
- package/docs/reports/v0.7-reference-binding-prompt5.md +223 -0
- package/docs/reports/v0.7-reference-compatibility-prompt4.md +234 -0
- package/docs/reports/v0.7-reference-correction-workflow-prompt8.md +222 -0
- package/docs/reports/v0.7-reference-fidelity-prompt6.md +216 -0
- package/docs/reports/v0.7-reference-foundation-prompt1.md +151 -0
- package/docs/reports/v0.7-reference-regions-prompt2.md +195 -0
- package/docs/reports/v0.7-reference-requirements-prompt3.md +217 -0
- package/docs/reports/v0.7-release-prep.md +423 -0
- package/docs/reports/v0.8-binding-fidelity-interaction-batch6.md +279 -0
- package/docs/reports/v0.8-bounded-context-correlation-batch7.md +233 -0
- package/docs/reports/v0.8-comparison-contract-inspection-batch4.md +279 -0
- package/docs/reports/v0.8-evidence-index-readers-batch2.md +247 -0
- package/docs/reports/v0.8-implementation-completeness-documentation-reconciliation.md +741 -0
- package/docs/reports/v0.8-integrated-viewer-acceptance-batch8.md +128 -0
- package/docs/reports/v0.8-observation-svg-inspection-batch3.md +223 -0
- package/docs/reports/v0.8-prerelease-readiness-cross-platform-security-code-rot.md +687 -0
- package/docs/reports/v0.8-reference-candidate-inspection-batch5.md +232 -0
- package/docs/reports/v0.8-viewer-runtime-pwa-batch1.md +278 -0
- package/docs/reports/v0.8.1-check-orchestration-prompt2.md +69 -0
- package/docs/reports/v0.8.1-implementation-completeness-documentation-reconciliation.md +114 -0
- package/docs/reports/v0.8.1-prerelease-readiness-cross-platform-security-code-rot.md +170 -0
- package/docs/reports/v0.8.1-project-workflow-foundation-prompt1.md +66 -0
- package/package.json +58 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived only from a bounding rectangle (viewport-relative, as produced by
|
|
3
|
+
* `getBoundingClientRect()`) plus viewport width/height - never from source
|
|
4
|
+
* styles or locator kind (Batch 1 frozen contract). `above`/`below` require
|
|
5
|
+
* the rectangle to be *entirely* outside the viewport on that axis; any
|
|
6
|
+
* vertical overlap with `[0, viewport.height)` is `intersecting`.
|
|
7
|
+
*/
|
|
8
|
+
export function deriveViewportRelation(rect, viewport) {
|
|
9
|
+
const vertical = rect.bottom <= 0 ? 'above' : rect.y >= viewport.height ? 'below' : 'intersecting';
|
|
10
|
+
const intersectsViewport = rect.right > 0 && rect.x < viewport.width && rect.bottom > 0 && rect.y < viewport.height;
|
|
11
|
+
const fullyWithinViewport = rect.x >= 0 && rect.y >= 0 && rect.right <= viewport.width && rect.bottom <= viewport.height;
|
|
12
|
+
return { vertical, intersectsViewport, fullyWithinViewport };
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Distinguishes a computed `overflow-x`/`overflow-y` CSS declaration from
|
|
16
|
+
* actual dimensional overflow. `overflow-x: auto`/`overflow-y: scroll` alone
|
|
17
|
+
* never implies actual overflow - only `scrollWidth > clientWidth` /
|
|
18
|
+
* `scrollHeight > clientHeight` do.
|
|
19
|
+
*/
|
|
20
|
+
export function deriveOverflowEvidence(metrics, overflowX, overflowY) {
|
|
21
|
+
return {
|
|
22
|
+
horizontalOverflow: metrics.scrollWidth > metrics.clientWidth,
|
|
23
|
+
verticalOverflow: metrics.scrollHeight > metrics.clientHeight,
|
|
24
|
+
overflowX,
|
|
25
|
+
overflowY,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function numberChange(before, after) {
|
|
29
|
+
return { before, after, changed: before !== after };
|
|
30
|
+
}
|
|
31
|
+
function extractAvailable(field) {
|
|
32
|
+
return field.state === 'available' || field.state === 'partial' ? field.value : undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Bounded before/after change evidence for one configured target across the
|
|
36
|
+
* one scroll action - not a generic recursive diff. Returns `undefined`
|
|
37
|
+
* (rather than fabricating zeroed/default values) when either snapshot's
|
|
38
|
+
* metrics/boundingRect/viewportRelation evidence for this target is not
|
|
39
|
+
* itself usable (e.g. the target never resolved), consistent with
|
|
40
|
+
* `enteredViewport`/`leftViewport` only being evaluated when both
|
|
41
|
+
* viewport-relation states are valid.
|
|
42
|
+
*/
|
|
43
|
+
export function deriveTargetScrollTransition(initial, final) {
|
|
44
|
+
const initialMetrics = extractAvailable(initial.metrics);
|
|
45
|
+
const finalMetrics = extractAvailable(final.metrics);
|
|
46
|
+
const initialRect = extractAvailable(initial.boundingRect);
|
|
47
|
+
const finalRect = extractAvailable(final.boundingRect);
|
|
48
|
+
const initialRelation = extractAvailable(initial.viewportRelation);
|
|
49
|
+
const finalRelation = extractAvailable(final.viewportRelation);
|
|
50
|
+
if (!initialMetrics || !finalMetrics || !initialRect || !finalRect || !initialRelation || !finalRelation) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
const enteredViewport = !initialRelation.intersectsViewport && finalRelation.intersectsViewport;
|
|
54
|
+
const leftViewport = initialRelation.intersectsViewport && !finalRelation.intersectsViewport;
|
|
55
|
+
return {
|
|
56
|
+
scrollTop: numberChange(initialMetrics.scrollTop, finalMetrics.scrollTop),
|
|
57
|
+
scrollLeft: numberChange(initialMetrics.scrollLeft, finalMetrics.scrollLeft),
|
|
58
|
+
boundingRectPosition: {
|
|
59
|
+
before: { x: initialRect.x, y: initialRect.y },
|
|
60
|
+
after: { x: finalRect.x, y: finalRect.y },
|
|
61
|
+
changed: initialRect.x !== finalRect.x || initialRect.y !== finalRect.y,
|
|
62
|
+
},
|
|
63
|
+
viewportRelation: { before: initialRelation.vertical, after: finalRelation.vertical, changed: initialRelation.vertical !== finalRelation.vertical },
|
|
64
|
+
enteredViewport,
|
|
65
|
+
leftViewport,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** Derives the bounded scenario transition evidence purely from the two already-captured runtime snapshots - no re-measurement, no generic JSON diffing. A target absent from either snapshot's `targets` map, or whose per-target transition cannot be derived (see `deriveTargetScrollTransition`), is simply omitted from `targets` here. */
|
|
69
|
+
export function deriveScrollScenarioTransition(initial, final) {
|
|
70
|
+
const targets = {};
|
|
71
|
+
for (const [name, initialState] of Object.entries(initial.targets)) {
|
|
72
|
+
const finalState = final.targets[name];
|
|
73
|
+
if (!finalState)
|
|
74
|
+
continue;
|
|
75
|
+
const transition = deriveTargetScrollTransition(initialState, finalState);
|
|
76
|
+
if (transition)
|
|
77
|
+
targets[name] = transition;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
windowScrollX: numberChange(initial.window.scrollX, final.window.scrollX),
|
|
81
|
+
windowScrollY: numberChange(initial.window.scrollY, final.window.scrollY),
|
|
82
|
+
targets,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Conservative scroll-owner derivation, shared by both `window-scroll-by`
|
|
87
|
+
* and `target-scroll-by` scenarios: relies solely on observed scroll
|
|
88
|
+
* *position* changes (`scrollTop`/`scrollLeft`/`window.scrollX`/
|
|
89
|
+
* `window.scrollY`), never on a target's bounding-rectangle movement (which
|
|
90
|
+
* moves for every configured target whenever the document scrolls,
|
|
91
|
+
* regardless of who "owns" scrolling - using it here would falsely
|
|
92
|
+
* attribute document scrolling to every visible target) and never on
|
|
93
|
+
* computed overflow, `position: fixed`/`sticky`, target name, locator kind,
|
|
94
|
+
* or DOM hierarchy.
|
|
95
|
+
*
|
|
96
|
+
* Rules (frozen Batch 1 vocabulary):
|
|
97
|
+
* - no window movement, no target movement -> `none`;
|
|
98
|
+
* - window movement, no competing target movement -> `document`;
|
|
99
|
+
* - no window movement, exactly one target's own scroll position moved
|
|
100
|
+
* (on either or both axes - two axes of the *same* target is still one
|
|
101
|
+
* owner) -> `target:<name>`;
|
|
102
|
+
* - anything else (window plus a target, or more than one target) ->
|
|
103
|
+
* `indeterminate` - multiple plausible owners, never forced to pick one.
|
|
104
|
+
*/
|
|
105
|
+
export function deriveScrollOwner(transition) {
|
|
106
|
+
const windowMoved = transition.windowScrollX.changed || transition.windowScrollY.changed;
|
|
107
|
+
const changedTargetNames = Object.entries(transition.targets)
|
|
108
|
+
.filter(([, t]) => t.scrollTop.changed || t.scrollLeft.changed)
|
|
109
|
+
.map(([name]) => name);
|
|
110
|
+
let value;
|
|
111
|
+
let derivedFrom;
|
|
112
|
+
if (!windowMoved && changedTargetNames.length === 0) {
|
|
113
|
+
value = { kind: 'none' };
|
|
114
|
+
derivedFrom = ['window.scrollX', 'window.scrollY', ...Object.keys(transition.targets).flatMap((name) => [`${name}.scrollTop`, `${name}.scrollLeft`])];
|
|
115
|
+
}
|
|
116
|
+
else if (windowMoved && changedTargetNames.length === 0) {
|
|
117
|
+
value = { kind: 'document' };
|
|
118
|
+
derivedFrom = ['window.scrollX', 'window.scrollY'];
|
|
119
|
+
}
|
|
120
|
+
else if (!windowMoved && changedTargetNames.length === 1) {
|
|
121
|
+
const target = changedTargetNames[0];
|
|
122
|
+
value = { kind: 'target', target };
|
|
123
|
+
derivedFrom = [`${target}.scrollTop`, `${target}.scrollLeft`];
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
value = { kind: 'indeterminate' };
|
|
127
|
+
derivedFrom = [
|
|
128
|
+
...(windowMoved ? ['window.scrollX', 'window.scrollY'] : []),
|
|
129
|
+
...changedTargetNames.flatMap((name) => [`${name}.scrollTop`, `${name}.scrollLeft`]),
|
|
130
|
+
];
|
|
131
|
+
}
|
|
132
|
+
return { state: 'available', source: 'derived', value, derivedFrom };
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=scrollEvidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollEvidence.js","sourceRoot":"","sources":["../../src/domain/scrollEvidence.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export type { EvidenceState, EvidenceSource, EvidenceField } from './domain/evidence.js';
|
|
2
|
+
export { isValidEvidenceField, evidenceValue } from './domain/evidence.js';
|
|
3
|
+
export type { DiagnosticCode, DiagnosticSeverity, Diagnostic } from './domain/diagnostics.js';
|
|
4
|
+
export { DIAGNOSTIC_CODES, DIAGNOSTIC_SEVERITY, orderDiagnostics } from './domain/diagnostics.js';
|
|
5
|
+
export type { CompletionState, RequestPhase } from './domain/completion.js';
|
|
6
|
+
export { deriveCompletion } from './domain/completion.js';
|
|
7
|
+
export type { ObservationArtifact, ArtifactReference, TargetEvidenceRecord, TargetGeometry, TargetComputedStyle, TargetLayoutMetrics, TargetVisibility, TargetSemantics, TargetLocatorKind, TargetSelectionStatus, TargetSelectionConfidence, TargetLocatorAttemptStatus, TargetLocatorAttempt, TargetResolution, TargetSemanticState, TargetLandmarkRole, TargetContainment, SchemaValidationResult, ScrollableMetrics, OverflowEvidence, WindowScrollSnapshot, DocumentScrollSnapshot, VerticalViewportRelation, ViewportRelationEvidence, TargetScrollRuntimeState, ScrollRuntimeSnapshot, ScrollValueChange, TargetScrollTransition, ScrollScenarioTransition, ScrollOwnerInterpretation, ScrollScenarioEvidence, } from './domain/schema.js';
|
|
8
|
+
export { ARTIFACT_KIND, SCHEMA_VERSION, PRODUCER_NAME, TARGET_LANDMARK_ROLES, getProducerInfo, isValidObservationArtifact, } from './domain/schema.js';
|
|
9
|
+
export { buildRequestIdentity, buildObservationIdentity } from './domain/identity.js';
|
|
10
|
+
export type { NamedTarget, RawNamedTarget, TargetLocator, Viewport, ReadinessCondition, ReadinessConfig, NormalizedObservationRequest, RawObservationRequest, NormalizeRequestResult, ScrollAction, ScrollScenario, } from './request/request.js';
|
|
11
|
+
export { normalizeRequest, SCROLL_DELTA_MAX_ABS } from './request/request.js';
|
|
12
|
+
export type { NormalizeOutputLocationResult } from './request/paths.js';
|
|
13
|
+
export { normalizeOutputLocation } from './request/paths.js';
|
|
14
|
+
export type { SafetyDecision } from './safety/policy.js';
|
|
15
|
+
export { classifyUrl, classifyRedirect, classifySubresource, classifyPopup, classifyDownload } from './safety/policy.js';
|
|
16
|
+
export type { BrowserCaptureResult, BrowserProvenance } from './browser/types.js';
|
|
17
|
+
export { runBrowserCapture } from './application/browserCaptureService.js';
|
|
18
|
+
export type { PersistedObservationResult } from './artifacts/types.js';
|
|
19
|
+
export { MANIFEST_FILENAME, SCREENSHOT_FILENAME } from './artifacts/artifactWriter.js';
|
|
20
|
+
export type { ApplicationObservationResult } from './application/observationPersistence.js';
|
|
21
|
+
export { buildObservationArtifact, persistBrowserCapture, observe } from './application/observationPersistence.js';
|
|
22
|
+
export type { HorizontalOrderRelationship, VerticalOrderRelationship, AreaOverlapRelationship, RelativeWidthRelationship, GeometricFitRelationship, VerticalSequenceRelationship, PageWidthRelationship, PairwiseRelationshipKind, PageLevelRelationshipKind, EvidenceReference, PairwiseLayoutRelationship, PageLevelLayoutRelationship, UnresolvedTargetReason, UnresolvedRelationshipTarget, LayoutRelationshipGraph, ClippingState, ClippingOverflowStyle, TargetClippingEvidence, DeriveLayoutRelationshipsOptions, DeriveLayoutRelationshipsResult, } from './domain/relationships.js';
|
|
23
|
+
export { HORIZONTAL_ORDER_RELATIONSHIPS, VERTICAL_ORDER_RELATIONSHIPS, AREA_OVERLAP_RELATIONSHIPS, RELATIVE_WIDTH_RELATIONSHIPS, GEOMETRIC_FIT_RELATIONSHIPS, VERTICAL_SEQUENCE_RELATIONSHIPS, PAGE_WIDTH_RELATIONSHIPS, PAIRWISE_RELATIONSHIP_KINDS, PAGE_LEVEL_RELATIONSHIP_KINDS, MAX_CONFIGURED_TARGETS_FOR_RELATIONSHIPS, MAX_PAIRWISE_RELATIONSHIP_PAIRS, PAIRWISE_RELATIONSHIP_FAMILY_COUNT, MAX_PAIRWISE_RELATIONSHIP_RECORDS, CLIPPING_STATES, CLIPPING_OVERFLOW_STYLES, isValidEvidenceReference, isValidPairwiseLayoutRelationship, isValidPageLevelLayoutRelationship, isValidUnresolvedRelationshipTarget, isValidLayoutRelationshipGraph, isValidTargetClippingEvidence, deriveTargetClipping, deriveLayoutRelationships, } from './domain/relationships.js';
|
|
24
|
+
export type { DependencyProperty, DependencyDirection, ExpectedDependencySource, DependencyTermDeclaration, ExpectedDependencyDeclaration, DependencyEvidenceOutcome, ExpectedDependencyEvidence, ComparisonConfig, ComparabilityState, ComparabilityReasonCode, ComparabilityReasonSeverity, ComparabilityReason, ComparabilityResult, TargetConfigurationChangeKind, TargetConfigurationChange, DifferenceKind, ComparisonDifferenceSubject, ComparisonDifference, RelationshipChangeRecord, ComparisonSourceObservationReference, ComparisonArtifact, ComparisonSchemaValidationResult, } from './domain/comparison.js';
|
|
25
|
+
export { COMPARISON_ARTIFACT_KIND, COMPARISON_SCHEMA_VERSION, GEOMETRY_TOLERANCE_DEFAULT_PX, GEOMETRY_TOLERANCE_MIN_PX, GEOMETRY_TOLERANCE_MAX_PX, isValidGeometryTolerancePx, DEPENDENCY_PROPERTIES, DEPENDENCY_DIRECTIONS, EXPECTED_DEPENDENCY_SOURCES, isValidExpectedDependencyDeclaration, DEPENDENCY_EVIDENCE_OUTCOMES, isValidExpectedDependencyEvidence, isValidComparisonConfig, COMPARABILITY_STATES, COMPARABILITY_REASON_CODES, COMPARABILITY_REASON_SEVERITY, isValidComparabilityResult, TARGET_CONFIGURATION_CHANGE_KINDS, isValidTargetConfigurationChange, DIFFERENCE_KINDS, isValidComparisonDifference, isValidComparisonSourceObservationReference, isValidComparisonArtifact, } from './domain/comparison.js';
|
|
26
|
+
export { buildComparisonRequestIdentity, buildComparisonIdentity } from './domain/comparisonIdentity.js';
|
|
27
|
+
export type { AuthoredChangeScopeCategory, ChangeScopeClassification, ExpectedDependentMode, ContractTolerance, ContractPrimitiveKind, ContractPrimitive, FrontendContractClauseBase, BaselineClause, PerChangeClause, FrontendContractObservationReference, PersistentBaselineContract, FrontendContractValidationResult, PerChangeContract, ClauseResultStatus, ClauseEvaluationResult, OverallVerdict, } from './domain/frontendContracts.js';
|
|
28
|
+
export { CONTRACT_ARTIFACT_KIND, CONTRACT_SCHEMA_VERSION, AUTHORED_CHANGE_SCOPE_CATEGORIES, isAuthoredChangeScopeCategory, CHANGE_SCOPE_CLASSIFICATIONS, EXPECTED_DEPENDENT_MODES, isValidExpectedDependentMode, CONTRACT_TOLERANCE_ABSOLUTE_PX_MIN, CONTRACT_TOLERANCE_ABSOLUTE_PX_MAX, CONTRACT_TOLERANCE_PERCENT_MIN, CONTRACT_TOLERANCE_PERCENT_MAX, isValidContractTolerance, CONTRACT_PRIMITIVE_KINDS, isValidContractPrimitive, isValidBaselineClause, isValidPerChangeClause, isValidFrontendContractObservationReference, isValidPersistentBaselineContract, isValidPerChangeContract, CLAUSE_RESULT_STATUSES, isValidClauseEvaluationResult, OVERALL_VERDICTS, } from './domain/frontendContracts.js';
|
|
29
|
+
export { buildFrontendContractRequestIdentity, buildFrontendContractInstanceIdentity, buildClauseIdentity } from './domain/frontendContractIdentity.js';
|
|
30
|
+
export type { FrontendContractEvaluationInput, UnexpectedChangeResult, FrontendContractEvaluationResult, EvaluateFrontendContractResult } from './domain/frontendContractEvaluation.js';
|
|
31
|
+
export { evaluateFrontendContract } from './domain/frontendContractEvaluation.js';
|
|
32
|
+
export { buildFrontendContractEvaluationRequestIdentity } from './domain/frontendContractIdentity.js';
|
|
33
|
+
export type { FrontendContractEvaluationSourceReference, FrontendContractEvaluationArtifact, FrontendContractEvaluationArtifactValidationResult, BuildFrontendContractEvaluationArtifactInput, } from './domain/frontendContractEvaluationArtifact.js';
|
|
34
|
+
export { EVALUATION_ARTIFACT_KIND, EVALUATION_SCHEMA_VERSION, isValidFrontendContractEvaluationArtifact, buildFrontendContractEvaluationArtifact, } from './domain/frontendContractEvaluationArtifact.js';
|
|
35
|
+
export type { PersistedFrontendContractResult, WriteFrontendContractArtifactOptions } from './artifacts/frontendContractArtifactWriter.js';
|
|
36
|
+
export { FRONTEND_CONTRACT_MANIFEST_FILENAME, writePersistentBaselineContract, writePerChangeContract } from './artifacts/frontendContractArtifactWriter.js';
|
|
37
|
+
export type { ReadPersistentBaselineContractResult, ReadPerChangeContractResult } from './artifacts/frontendContractArtifactReader.js';
|
|
38
|
+
export { readPersistentBaselineContract, readPerChangeContract } from './artifacts/frontendContractArtifactReader.js';
|
|
39
|
+
export type { ReadComparisonArtifactResult } from './artifacts/comparisonArtifactReader.js';
|
|
40
|
+
export { readComparisonArtifact } from './artifacts/comparisonArtifactReader.js';
|
|
41
|
+
export type { PersistedFrontendContractEvaluationResult, WriteFrontendContractEvaluationArtifactOptions } from './artifacts/frontendContractEvaluationArtifactWriter.js';
|
|
42
|
+
export { EVALUATION_MANIFEST_FILENAME, writeFrontendContractEvaluationArtifact } from './artifacts/frontendContractEvaluationArtifactWriter.js';
|
|
43
|
+
export type { ReadFrontendContractEvaluationArtifactResult } from './artifacts/frontendContractEvaluationArtifactReader.js';
|
|
44
|
+
export { readFrontendContractEvaluationArtifact } from './artifacts/frontendContractEvaluationArtifactReader.js';
|
|
45
|
+
export type { EvaluateAndPersistOptions, ApplicationFrontendContractEvaluationResult } from './application/frontendContractEvaluationService.js';
|
|
46
|
+
export { DEFAULT_EVALUATION_OUTPUT_LOCATION, evaluateAndPersist, evaluateAndPersistFromArtifactRoots } from './application/frontendContractEvaluationService.js';
|
|
47
|
+
export type { PersistFrontendContractOptions, ApplicationApproveBaselineResult, ApplicationPersistChangeContractResult } from './application/frontendContractPersistenceService.js';
|
|
48
|
+
export { approveAndPersistBaseline, persistPerChangeContract } from './application/frontendContractPersistenceService.js';
|
|
49
|
+
export type { CompareObservationsResult, TargetPresence } from './domain/comparisonEngine.js';
|
|
50
|
+
export { compareObservations, evaluateComparability, evaluateExpectedDependencies, compareTargetConfiguration, assessOptionalComparabilityDimension, targetPresence, } from './domain/comparisonEngine.js';
|
|
51
|
+
export type { ProjectionProfile, AdequacyState, AdequacyReasonCode, AdequacyReason, Adequacy, OmissionReason, OmissionRecord, TruncationRecord, BoundedAgentContextSourceReferences, BoundedRuntimeTargetProjection, CorrelationStatus, StaticCandidateKind, StaticEvidenceProducerIdentity, StaticCandidateReference, RuntimeStaticCorrelationRecord, BoundedAgentContextArtifact, BoundedAgentContextValidationResult, BoundedReferenceFidelityProjection, } from './domain/boundedAgentContext.js';
|
|
52
|
+
export { BOUNDED_AGENT_CONTEXT_ARTIFACT_KIND, BOUNDED_AGENT_CONTEXT_SCHEMA_VERSION, PROJECTION_PROFILES, MAX_RUNTIME_TARGETS, MAX_RELATIONSHIP_EVIDENCE_PER_TARGET, MAX_OMISSIONS, MAX_TRUNCATIONS, MAX_CORRELATION_RECORDS, MAX_STATIC_CANDIDATES_PER_TARGET, MAX_TEXT_SUMMARY_CHARS, MAX_EVIDENCE_REFS_PER_CORRELATION_FIELD, MAX_FIDELITY_MISMATCHES, MAX_FIDELITY_PROTECTED_CONTEXT, ADEQUACY_STATES, ADEQUACY_REASON_CODES, OMISSION_REASONS, CORRELATION_STATUSES, STATIC_CANDIDATE_KINDS, isValidBoundedAgentContextArtifact, isValidBoundedReferenceFidelityProjection, } from './domain/boundedAgentContext.js';
|
|
53
|
+
export { buildBoundedAgentContextRequestIdentity, buildBoundedAgentContextInstanceIdentity } from './domain/boundedAgentContextIdentity.js';
|
|
54
|
+
export type { ProjectBoundedAgentContextInput, ProjectBoundedAgentContextResult } from './domain/boundedAgentContextProjection.js';
|
|
55
|
+
export { projectBoundedAgentContext } from './domain/boundedAgentContextProjection.js';
|
|
56
|
+
export type { ProjectReferenceFidelityOptions, ProjectReferenceFidelityOutput } from './domain/referenceFidelityProjection.js';
|
|
57
|
+
export { projectReferenceFidelity } from './domain/referenceFidelityProjection.js';
|
|
58
|
+
export type { StaticCandidateEvidenceInput, CorrelationTargetInput, DeriveRuntimeStaticCorrelationsInput, DeriveRuntimeStaticCorrelationsOutput, DeriveRuntimeStaticCorrelationsResult, AttachRuntimeStaticCorrelationsResult, } from './domain/boundedAgentContextCorrelation.js';
|
|
59
|
+
export { deriveRuntimeStaticCorrelations, attachRuntimeStaticCorrelations } from './domain/boundedAgentContextCorrelation.js';
|
|
60
|
+
export type { PersistedComparisonResult, WriteComparisonArtifactOptions } from './artifacts/comparisonArtifactWriter.js';
|
|
61
|
+
export { COMPARISON_MANIFEST_FILENAME, writeComparisonArtifact } from './artifacts/comparisonArtifactWriter.js';
|
|
62
|
+
export type { ReadObservationArtifactResult } from './artifacts/artifactReader.js';
|
|
63
|
+
export { readObservationArtifact } from './artifacts/artifactReader.js';
|
|
64
|
+
export type { CompareAndPersistOptions, ApplicationComparisonResult } from './application/comparisonService.js';
|
|
65
|
+
export { DEFAULT_COMPARISON_OUTPUT_LOCATION, compareAndPersist, compareAndPersistFromArtifactRoots } from './application/comparisonService.js';
|
|
66
|
+
export type { ExternalReferenceImageFormat, ImageDimensions } from './domain/externalReferenceImage.js';
|
|
67
|
+
export { EXTERNAL_REFERENCE_SUPPORTED_IMAGE_FORMATS, isExternalReferenceImageFormat, EXTERNAL_REFERENCE_MAX_IMAGE_BYTES, EXTERNAL_REFERENCE_MIN_DIMENSION_PX, EXTERNAL_REFERENCE_MAX_DIMENSION_PX, detectExternalReferenceImageFormat, readExternalReferenceImageDimensions, isValidExternalReferenceImageDimensions, fileExtensionForFormat, } from './domain/externalReferenceImage.js';
|
|
68
|
+
export type { ExternalReferenceImageReference, ExternalReferenceSourceReference, ExternalReferenceLifecycleState, ExternalReferenceProvenance, ImportedExternalReferenceArtifact, ApprovedExternalReferenceArtifact, ExternalReferenceArtifact, ExternalReferenceValidationResult, } from './domain/externalReference.js';
|
|
69
|
+
export { EXTERNAL_REFERENCE_ARTIFACT_KIND, EXTERNAL_REFERENCE_SCHEMA_VERSION, isValidExternalReferenceImageReference, isValidExternalReferenceSourceReference, isValidExternalReferenceLifecycleState, isValidExternalReferenceProvenance, isValidExternalReferenceArtifact, isImportedExternalReferenceArtifact, isApprovedExternalReferenceArtifact, } from './domain/externalReference.js';
|
|
70
|
+
export { buildExternalReferenceRequestIdentity, buildExternalReferenceInstanceIdentity } from './domain/externalReferenceIdentity.js';
|
|
71
|
+
export type { PersistedExternalReferenceResult, WriteExternalReferenceArtifactOptions } from './artifacts/externalReferenceArtifactWriter.js';
|
|
72
|
+
export { EXTERNAL_REFERENCE_MANIFEST_FILENAME, writeExternalReferenceArtifact } from './artifacts/externalReferenceArtifactWriter.js';
|
|
73
|
+
export type { ReadExternalReferenceArtifactResult } from './artifacts/externalReferenceArtifactReader.js';
|
|
74
|
+
export { readExternalReferenceArtifact } from './artifacts/externalReferenceArtifactReader.js';
|
|
75
|
+
export type { ImportExternalReferenceOptions, ApproveExternalReferenceOptions, ApplicationImportExternalReferenceResult, ApplicationApproveExternalReferenceResult, } from './application/externalReferencePersistenceService.js';
|
|
76
|
+
export { importExternalReference, approveExternalReference } from './application/externalReferencePersistenceService.js';
|
|
77
|
+
export type { ReferenceRegionRectangle, ReferenceRegion, ReferenceRegionGeometry, ReferenceRegionValidationResult } from './domain/externalReferenceRegions.js';
|
|
78
|
+
export { REFERENCE_REGION_ID_PATTERN, MAX_REFERENCE_REGIONS, deriveReferenceRegionGeometry, isValidReferenceRegionRectangle, isValidReferenceRegion, isValidReferenceRegions, } from './domain/externalReferenceRegions.js';
|
|
79
|
+
export type { ReferenceRegionRelationship, ReferenceRegionRelationshipGraph, DeriveReferenceRegionRelationshipsOptions, DeriveReferenceRegionRelationshipsResult, } from './domain/externalReferenceRegionRelationships.js';
|
|
80
|
+
export { MAX_REFERENCE_REGION_PAIRS, REFERENCE_REGION_RELATIONSHIP_FAMILY_COUNT, MAX_REFERENCE_REGION_RELATIONSHIP_RECORDS, isValidReferenceRegionRelationship, isValidReferenceRegionRelationshipGraph, deriveReferenceRegionRelationships, } from './domain/externalReferenceRegionRelationships.js';
|
|
81
|
+
export { buildReferenceRequirementIdentity } from './domain/externalReferenceRequirementIdentity.js';
|
|
82
|
+
export type { ReferenceRequirementRegionProperty, ReferenceRequirementMeasurement, ReferenceRequirementTolerance, RegionPropertyRequirementSubject, RegionRelationshipRequirementSubject, RegionMeasurementRequirementSubject, ReferenceRequirementSubject, RawReferenceRequirement, ExternalReferenceRequirement, ReferenceRequirementValidationResult, ReferenceRequirementExpectation, ReferenceRequirementAdequacyState, ReferenceRequirementAdequacyReasonCode, ReferenceRequirementAdequacyReason, ReferenceRequirementAdequacy, } from './domain/externalReferenceRequirements.js';
|
|
83
|
+
export { MAX_REFERENCE_REQUIREMENTS, REFERENCE_REQUIREMENT_REGION_PROPERTIES, isReferenceRequirementRegionProperty, REFERENCE_REQUIREMENT_MEASUREMENTS, isReferenceRequirementMeasurement, deriveReferenceRequirementMeasurement, REFERENCE_REQUIREMENT_TOLERANCE_ABSOLUTE_PX_MIN, REFERENCE_REQUIREMENT_TOLERANCE_ABSOLUTE_PX_MAX, REFERENCE_REQUIREMENT_TOLERANCE_PERCENT_MIN, REFERENCE_REQUIREMENT_TOLERANCE_PERCENT_MAX, isValidReferenceRequirementTolerance, isValidReferenceRequirementSubjectShape, isValidRawReferenceRequirement, buildReferenceRequirement, isValidReferenceRequirementShape, isValidReferenceRequirements, deriveReferenceRequirementExpectation, REFERENCE_REQUIREMENT_ADEQUACY_STATES, REFERENCE_REQUIREMENT_ADEQUACY_REASON_CODES, deriveReferenceRequirementAdequacy, isValidReferenceRequirementAdequacy, } from './domain/externalReferenceRequirements.js';
|
|
84
|
+
export type { AuthenticatedState, ExplicitStateDimensions, ExplicitStateValidationResult } from './domain/explicitState.js';
|
|
85
|
+
export { STATE_LABEL_PATTERN, AUTHENTICATED_STATE_VALUES, isValidStateLabel, isValidAuthenticatedState, isValidExplicitStateDimensions, } from './domain/explicitState.js';
|
|
86
|
+
export type { ApplicableViewport, ExternalReferenceApplicability, ApplicabilityValidationResult } from './domain/externalReferenceApplicability.js';
|
|
87
|
+
export { APPLICABLE_VIEWPORT_MIN, APPLICABLE_VIEWPORT_MAX, isValidApplicableViewport, isValidExternalReferenceApplicability, } from './domain/externalReferenceApplicability.js';
|
|
88
|
+
export type { ReferenceCandidateCompatibilityResult } from './domain/externalReferenceCompatibility.js';
|
|
89
|
+
export { evaluateReferenceCandidateCompatibility } from './domain/externalReferenceCompatibility.js';
|
|
90
|
+
export type { ReferenceRuntimeBindingStatus, ReferenceRuntimeBindingReasonCode, ReferenceRuntimeBindingDeclaration, ReferenceRuntimeBindingValidationResult, ReferenceRuntimeBindingResult, ReferenceRuntimeBindingEvaluation, EvaluateReferenceRuntimeBindingsResult, } from './domain/externalReferenceRuntimeBinding.js';
|
|
91
|
+
export { RUNTIME_TARGET_NAME_PATTERN, MAX_REFERENCE_RUNTIME_BINDINGS, REFERENCE_RUNTIME_BINDING_STATUSES, REFERENCE_RUNTIME_BINDING_REASON_CODES, isValidReferenceRuntimeBindingDeclarations, evaluateReferenceRuntimeBindings, } from './domain/externalReferenceRuntimeBinding.js';
|
|
92
|
+
export type { ReferenceRequirementFidelityStatus, ReferenceRequirementFidelityReasonCode, ReferenceRequirementFidelityResult, ReferenceFidelityState, ReferenceFidelityBlockReason, ReferenceCandidateFidelityEvaluation, EvaluateReferenceCandidateFidelityResult, EvaluateReferenceCandidateFidelityOptions, } from './domain/externalReferenceFidelity.js';
|
|
93
|
+
export { REFERENCE_REQUIREMENT_FIDELITY_STATUSES, REFERENCE_REQUIREMENT_FIDELITY_REASON_CODES, REFERENCE_FIDELITY_STATES, REFERENCE_FIDELITY_BLOCK_REASONS, evaluateReferenceCandidateFidelity, isValidReferenceRequirementFidelityResult, } from './domain/externalReferenceFidelity.js';
|
|
94
|
+
export type { EvaluateReferenceFidelityOptions, ApplicationReferenceFidelityResult } from './application/referenceFidelityEvaluationService.js';
|
|
95
|
+
export { evaluateReferenceCandidateFidelityFromArtifactRoots } from './application/referenceFidelityEvaluationService.js';
|
|
96
|
+
export { buildReferenceCorrectionReviewIdentity, buildReferenceCorrectionAttemptIdentity } from './domain/referenceCorrectionIdentity.js';
|
|
97
|
+
export { DEFAULT_VIEWER_PORT, VIEWER_HOST, isValidViewerPort } from './viewerServer/port.js';
|
|
98
|
+
export type { StartViewerOptions, StartViewerResult, ViewerAliasMetadata } from './viewerServer/viewerService.js';
|
|
99
|
+
export { startViewer, defaultViewerAssetsRoot } from './viewerServer/viewerService.js';
|
|
100
|
+
export type { FrontendObserverProjectConfig, ProjectConfigReadResult } from './projectWorkflow/projectConfig.js';
|
|
101
|
+
export { PROJECT_CONFIG_FILENAME, PROJECT_CONFIG_SCHEMA_VERSION, OBSERVATION_ALIAS_PATTERN, validateObservationAlias, validateProjectConfig, readProjectConfig } from './projectWorkflow/projectConfig.js';
|
|
102
|
+
export type { DiscoverProjectResult } from './projectWorkflow/projectDiscovery.js';
|
|
103
|
+
export { discoverFrontendObserverProject } from './projectWorkflow/projectDiscovery.js';
|
|
104
|
+
export type { AliasCatalog, AliasCatalogReadResult, ObservationAliasRecord } from './projectWorkflow/aliasCatalog.js';
|
|
105
|
+
export { ALIAS_CATALOG_SCHEMA_VERSION, readAliasCatalog, serializeAliasCatalog, validateAliasCatalog, writeAliasCatalog } from './projectWorkflow/aliasCatalog.js';
|
|
106
|
+
export { projectConfigPath, projectStateRoot, aliasCatalogPath, projectEvidenceRoot, projectObservationsRoot, observationOutputLocation } from './projectWorkflow/projectPaths.js';
|
|
107
|
+
export type { CaptureNamedObservationInput, CaptureNamedObservationResult, InitializeProjectInput, ProjectWorkflowErrorCode } from './application/projectWorkflowService.js';
|
|
108
|
+
export { initializeFrontendObserverProject, captureNamedObservation, loadProjectViewerState } from './application/projectWorkflowService.js';
|
|
109
|
+
export type { CheckWorkflowStatus, CheckWorkflowResult } from './projectWorkflow/checkResult.js';
|
|
110
|
+
export { CHECK_RESULT_SCHEMA_VERSION, CHECK_WORKFLOW_STATUSES } from './projectWorkflow/checkResult.js';
|
|
111
|
+
export { checkProject } from './application/projectCheckService.js';
|
|
112
|
+
export { VIEWER_PROTOCOL_VERSION } from './viewerServer/httpServer.js';
|
|
113
|
+
export type { PrepareReferenceCorrectionInput, PrepareReferenceCorrectionStatus, ReferenceCorrectionHandoff, PrepareReferenceCorrectionResult, ReferenceCorrectionOverallState, ReviewReferenceCorrectionAttemptInput, ReferenceCorrectionAttemptResult, ReviewReferenceCorrectionAttemptResult, } from './domain/referenceCorrectionWorkflow.js';
|
|
114
|
+
export { REFERENCE_CORRECTION_OVERALL_STATES, prepareReferenceCorrection, reviewReferenceCorrectionAttempt } from './domain/referenceCorrectionWorkflow.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export { isValidEvidenceField, evidenceValue } from './domain/evidence.js';
|
|
2
|
+
export { DIAGNOSTIC_CODES, DIAGNOSTIC_SEVERITY, orderDiagnostics } from './domain/diagnostics.js';
|
|
3
|
+
export { deriveCompletion } from './domain/completion.js';
|
|
4
|
+
export { ARTIFACT_KIND, SCHEMA_VERSION, PRODUCER_NAME, TARGET_LANDMARK_ROLES, getProducerInfo, isValidObservationArtifact, } from './domain/schema.js';
|
|
5
|
+
export { buildRequestIdentity, buildObservationIdentity } from './domain/identity.js';
|
|
6
|
+
export { normalizeRequest, SCROLL_DELTA_MAX_ABS } from './request/request.js';
|
|
7
|
+
export { normalizeOutputLocation } from './request/paths.js';
|
|
8
|
+
export { classifyUrl, classifyRedirect, classifySubresource, classifyPopup, classifyDownload } from './safety/policy.js';
|
|
9
|
+
export { runBrowserCapture } from './application/browserCaptureService.js';
|
|
10
|
+
export { MANIFEST_FILENAME, SCREENSHOT_FILENAME } from './artifacts/artifactWriter.js';
|
|
11
|
+
export { buildObservationArtifact, persistBrowserCapture, observe } from './application/observationPersistence.js';
|
|
12
|
+
export { HORIZONTAL_ORDER_RELATIONSHIPS, VERTICAL_ORDER_RELATIONSHIPS, AREA_OVERLAP_RELATIONSHIPS, RELATIVE_WIDTH_RELATIONSHIPS, GEOMETRIC_FIT_RELATIONSHIPS, VERTICAL_SEQUENCE_RELATIONSHIPS, PAGE_WIDTH_RELATIONSHIPS, PAIRWISE_RELATIONSHIP_KINDS, PAGE_LEVEL_RELATIONSHIP_KINDS, MAX_CONFIGURED_TARGETS_FOR_RELATIONSHIPS, MAX_PAIRWISE_RELATIONSHIP_PAIRS, PAIRWISE_RELATIONSHIP_FAMILY_COUNT, MAX_PAIRWISE_RELATIONSHIP_RECORDS, CLIPPING_STATES, CLIPPING_OVERFLOW_STYLES, isValidEvidenceReference, isValidPairwiseLayoutRelationship, isValidPageLevelLayoutRelationship, isValidUnresolvedRelationshipTarget, isValidLayoutRelationshipGraph, isValidTargetClippingEvidence, deriveTargetClipping, deriveLayoutRelationships, } from './domain/relationships.js';
|
|
13
|
+
export { COMPARISON_ARTIFACT_KIND, COMPARISON_SCHEMA_VERSION, GEOMETRY_TOLERANCE_DEFAULT_PX, GEOMETRY_TOLERANCE_MIN_PX, GEOMETRY_TOLERANCE_MAX_PX, isValidGeometryTolerancePx, DEPENDENCY_PROPERTIES, DEPENDENCY_DIRECTIONS, EXPECTED_DEPENDENCY_SOURCES, isValidExpectedDependencyDeclaration, DEPENDENCY_EVIDENCE_OUTCOMES, isValidExpectedDependencyEvidence, isValidComparisonConfig, COMPARABILITY_STATES, COMPARABILITY_REASON_CODES, COMPARABILITY_REASON_SEVERITY, isValidComparabilityResult, TARGET_CONFIGURATION_CHANGE_KINDS, isValidTargetConfigurationChange, DIFFERENCE_KINDS, isValidComparisonDifference, isValidComparisonSourceObservationReference, isValidComparisonArtifact, } from './domain/comparison.js';
|
|
14
|
+
export { buildComparisonRequestIdentity, buildComparisonIdentity } from './domain/comparisonIdentity.js';
|
|
15
|
+
export { CONTRACT_ARTIFACT_KIND, CONTRACT_SCHEMA_VERSION, AUTHORED_CHANGE_SCOPE_CATEGORIES, isAuthoredChangeScopeCategory, CHANGE_SCOPE_CLASSIFICATIONS, EXPECTED_DEPENDENT_MODES, isValidExpectedDependentMode, CONTRACT_TOLERANCE_ABSOLUTE_PX_MIN, CONTRACT_TOLERANCE_ABSOLUTE_PX_MAX, CONTRACT_TOLERANCE_PERCENT_MIN, CONTRACT_TOLERANCE_PERCENT_MAX, isValidContractTolerance, CONTRACT_PRIMITIVE_KINDS, isValidContractPrimitive, isValidBaselineClause, isValidPerChangeClause, isValidFrontendContractObservationReference, isValidPersistentBaselineContract, isValidPerChangeContract, CLAUSE_RESULT_STATUSES, isValidClauseEvaluationResult, OVERALL_VERDICTS, } from './domain/frontendContracts.js';
|
|
16
|
+
export { buildFrontendContractRequestIdentity, buildFrontendContractInstanceIdentity, buildClauseIdentity } from './domain/frontendContractIdentity.js';
|
|
17
|
+
export { evaluateFrontendContract } from './domain/frontendContractEvaluation.js';
|
|
18
|
+
export { buildFrontendContractEvaluationRequestIdentity } from './domain/frontendContractIdentity.js';
|
|
19
|
+
export { EVALUATION_ARTIFACT_KIND, EVALUATION_SCHEMA_VERSION, isValidFrontendContractEvaluationArtifact, buildFrontendContractEvaluationArtifact, } from './domain/frontendContractEvaluationArtifact.js';
|
|
20
|
+
export { FRONTEND_CONTRACT_MANIFEST_FILENAME, writePersistentBaselineContract, writePerChangeContract } from './artifacts/frontendContractArtifactWriter.js';
|
|
21
|
+
export { readPersistentBaselineContract, readPerChangeContract } from './artifacts/frontendContractArtifactReader.js';
|
|
22
|
+
export { readComparisonArtifact } from './artifacts/comparisonArtifactReader.js';
|
|
23
|
+
export { EVALUATION_MANIFEST_FILENAME, writeFrontendContractEvaluationArtifact } from './artifacts/frontendContractEvaluationArtifactWriter.js';
|
|
24
|
+
export { readFrontendContractEvaluationArtifact } from './artifacts/frontendContractEvaluationArtifactReader.js';
|
|
25
|
+
export { DEFAULT_EVALUATION_OUTPUT_LOCATION, evaluateAndPersist, evaluateAndPersistFromArtifactRoots } from './application/frontendContractEvaluationService.js';
|
|
26
|
+
export { approveAndPersistBaseline, persistPerChangeContract } from './application/frontendContractPersistenceService.js';
|
|
27
|
+
export { compareObservations, evaluateComparability, evaluateExpectedDependencies, compareTargetConfiguration, assessOptionalComparabilityDimension, targetPresence, } from './domain/comparisonEngine.js';
|
|
28
|
+
export { BOUNDED_AGENT_CONTEXT_ARTIFACT_KIND, BOUNDED_AGENT_CONTEXT_SCHEMA_VERSION, PROJECTION_PROFILES, MAX_RUNTIME_TARGETS, MAX_RELATIONSHIP_EVIDENCE_PER_TARGET, MAX_OMISSIONS, MAX_TRUNCATIONS, MAX_CORRELATION_RECORDS, MAX_STATIC_CANDIDATES_PER_TARGET, MAX_TEXT_SUMMARY_CHARS, MAX_EVIDENCE_REFS_PER_CORRELATION_FIELD, MAX_FIDELITY_MISMATCHES, MAX_FIDELITY_PROTECTED_CONTEXT, ADEQUACY_STATES, ADEQUACY_REASON_CODES, OMISSION_REASONS, CORRELATION_STATUSES, STATIC_CANDIDATE_KINDS, isValidBoundedAgentContextArtifact, isValidBoundedReferenceFidelityProjection, } from './domain/boundedAgentContext.js';
|
|
29
|
+
export { buildBoundedAgentContextRequestIdentity, buildBoundedAgentContextInstanceIdentity } from './domain/boundedAgentContextIdentity.js';
|
|
30
|
+
export { projectBoundedAgentContext } from './domain/boundedAgentContextProjection.js';
|
|
31
|
+
export { projectReferenceFidelity } from './domain/referenceFidelityProjection.js';
|
|
32
|
+
export { deriveRuntimeStaticCorrelations, attachRuntimeStaticCorrelations } from './domain/boundedAgentContextCorrelation.js';
|
|
33
|
+
export { COMPARISON_MANIFEST_FILENAME, writeComparisonArtifact } from './artifacts/comparisonArtifactWriter.js';
|
|
34
|
+
export { readObservationArtifact } from './artifacts/artifactReader.js';
|
|
35
|
+
export { DEFAULT_COMPARISON_OUTPUT_LOCATION, compareAndPersist, compareAndPersistFromArtifactRoots } from './application/comparisonService.js';
|
|
36
|
+
export { EXTERNAL_REFERENCE_SUPPORTED_IMAGE_FORMATS, isExternalReferenceImageFormat, EXTERNAL_REFERENCE_MAX_IMAGE_BYTES, EXTERNAL_REFERENCE_MIN_DIMENSION_PX, EXTERNAL_REFERENCE_MAX_DIMENSION_PX, detectExternalReferenceImageFormat, readExternalReferenceImageDimensions, isValidExternalReferenceImageDimensions, fileExtensionForFormat, } from './domain/externalReferenceImage.js';
|
|
37
|
+
export { EXTERNAL_REFERENCE_ARTIFACT_KIND, EXTERNAL_REFERENCE_SCHEMA_VERSION, isValidExternalReferenceImageReference, isValidExternalReferenceSourceReference, isValidExternalReferenceLifecycleState, isValidExternalReferenceProvenance, isValidExternalReferenceArtifact, isImportedExternalReferenceArtifact, isApprovedExternalReferenceArtifact, } from './domain/externalReference.js';
|
|
38
|
+
export { buildExternalReferenceRequestIdentity, buildExternalReferenceInstanceIdentity } from './domain/externalReferenceIdentity.js';
|
|
39
|
+
export { EXTERNAL_REFERENCE_MANIFEST_FILENAME, writeExternalReferenceArtifact } from './artifacts/externalReferenceArtifactWriter.js';
|
|
40
|
+
export { readExternalReferenceArtifact } from './artifacts/externalReferenceArtifactReader.js';
|
|
41
|
+
export { importExternalReference, approveExternalReference } from './application/externalReferencePersistenceService.js';
|
|
42
|
+
export { REFERENCE_REGION_ID_PATTERN, MAX_REFERENCE_REGIONS, deriveReferenceRegionGeometry, isValidReferenceRegionRectangle, isValidReferenceRegion, isValidReferenceRegions, } from './domain/externalReferenceRegions.js';
|
|
43
|
+
export { MAX_REFERENCE_REGION_PAIRS, REFERENCE_REGION_RELATIONSHIP_FAMILY_COUNT, MAX_REFERENCE_REGION_RELATIONSHIP_RECORDS, isValidReferenceRegionRelationship, isValidReferenceRegionRelationshipGraph, deriveReferenceRegionRelationships, } from './domain/externalReferenceRegionRelationships.js';
|
|
44
|
+
export { buildReferenceRequirementIdentity } from './domain/externalReferenceRequirementIdentity.js';
|
|
45
|
+
export { MAX_REFERENCE_REQUIREMENTS, REFERENCE_REQUIREMENT_REGION_PROPERTIES, isReferenceRequirementRegionProperty, REFERENCE_REQUIREMENT_MEASUREMENTS, isReferenceRequirementMeasurement, deriveReferenceRequirementMeasurement, REFERENCE_REQUIREMENT_TOLERANCE_ABSOLUTE_PX_MIN, REFERENCE_REQUIREMENT_TOLERANCE_ABSOLUTE_PX_MAX, REFERENCE_REQUIREMENT_TOLERANCE_PERCENT_MIN, REFERENCE_REQUIREMENT_TOLERANCE_PERCENT_MAX, isValidReferenceRequirementTolerance, isValidReferenceRequirementSubjectShape, isValidRawReferenceRequirement, buildReferenceRequirement, isValidReferenceRequirementShape, isValidReferenceRequirements, deriveReferenceRequirementExpectation, REFERENCE_REQUIREMENT_ADEQUACY_STATES, REFERENCE_REQUIREMENT_ADEQUACY_REASON_CODES, deriveReferenceRequirementAdequacy, isValidReferenceRequirementAdequacy, } from './domain/externalReferenceRequirements.js';
|
|
46
|
+
export { STATE_LABEL_PATTERN, AUTHENTICATED_STATE_VALUES, isValidStateLabel, isValidAuthenticatedState, isValidExplicitStateDimensions, } from './domain/explicitState.js';
|
|
47
|
+
export { APPLICABLE_VIEWPORT_MIN, APPLICABLE_VIEWPORT_MAX, isValidApplicableViewport, isValidExternalReferenceApplicability, } from './domain/externalReferenceApplicability.js';
|
|
48
|
+
export { evaluateReferenceCandidateCompatibility } from './domain/externalReferenceCompatibility.js';
|
|
49
|
+
export { RUNTIME_TARGET_NAME_PATTERN, MAX_REFERENCE_RUNTIME_BINDINGS, REFERENCE_RUNTIME_BINDING_STATUSES, REFERENCE_RUNTIME_BINDING_REASON_CODES, isValidReferenceRuntimeBindingDeclarations, evaluateReferenceRuntimeBindings, } from './domain/externalReferenceRuntimeBinding.js';
|
|
50
|
+
export { REFERENCE_REQUIREMENT_FIDELITY_STATUSES, REFERENCE_REQUIREMENT_FIDELITY_REASON_CODES, REFERENCE_FIDELITY_STATES, REFERENCE_FIDELITY_BLOCK_REASONS, evaluateReferenceCandidateFidelity, isValidReferenceRequirementFidelityResult, } from './domain/externalReferenceFidelity.js';
|
|
51
|
+
export { evaluateReferenceCandidateFidelityFromArtifactRoots } from './application/referenceFidelityEvaluationService.js';
|
|
52
|
+
export { buildReferenceCorrectionReviewIdentity, buildReferenceCorrectionAttemptIdentity } from './domain/referenceCorrectionIdentity.js';
|
|
53
|
+
export { DEFAULT_VIEWER_PORT, VIEWER_HOST, isValidViewerPort } from './viewerServer/port.js';
|
|
54
|
+
export { startViewer, defaultViewerAssetsRoot } from './viewerServer/viewerService.js';
|
|
55
|
+
export { PROJECT_CONFIG_FILENAME, PROJECT_CONFIG_SCHEMA_VERSION, OBSERVATION_ALIAS_PATTERN, validateObservationAlias, validateProjectConfig, readProjectConfig } from './projectWorkflow/projectConfig.js';
|
|
56
|
+
export { discoverFrontendObserverProject } from './projectWorkflow/projectDiscovery.js';
|
|
57
|
+
export { ALIAS_CATALOG_SCHEMA_VERSION, readAliasCatalog, serializeAliasCatalog, validateAliasCatalog, writeAliasCatalog } from './projectWorkflow/aliasCatalog.js';
|
|
58
|
+
export { projectConfigPath, projectStateRoot, aliasCatalogPath, projectEvidenceRoot, projectObservationsRoot, observationOutputLocation } from './projectWorkflow/projectPaths.js';
|
|
59
|
+
export { initializeFrontendObserverProject, captureNamedObservation, loadProjectViewerState } from './application/projectWorkflowService.js';
|
|
60
|
+
export { CHECK_RESULT_SCHEMA_VERSION, CHECK_WORKFLOW_STATUSES } from './projectWorkflow/checkResult.js';
|
|
61
|
+
export { checkProject } from './application/projectCheckService.js';
|
|
62
|
+
export { VIEWER_PROTOCOL_VERSION } from './viewerServer/httpServer.js';
|
|
63
|
+
export { REFERENCE_CORRECTION_OVERALL_STATES, prepareReferenceCorrection, reviewReferenceCorrectionAttempt } from './domain/referenceCorrectionWorkflow.js';
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const ALIAS_CATALOG_SCHEMA_VERSION: "1.0.0";
|
|
2
|
+
export interface ObservationAliasRecord {
|
|
3
|
+
observationId: string;
|
|
4
|
+
requestId: string;
|
|
5
|
+
relativeArtifactDir: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AliasCatalog {
|
|
8
|
+
schemaVersion: typeof ALIAS_CATALOG_SCHEMA_VERSION;
|
|
9
|
+
observations: Record<string, ObservationAliasRecord>;
|
|
10
|
+
}
|
|
11
|
+
export type AliasCatalogReadResult = {
|
|
12
|
+
ok: true;
|
|
13
|
+
catalog: AliasCatalog;
|
|
14
|
+
} | {
|
|
15
|
+
ok: false;
|
|
16
|
+
reason: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function validateAliasCatalog(value: unknown): AliasCatalogReadResult;
|
|
19
|
+
export declare function readAliasCatalog(catalogPath: string): Promise<AliasCatalogReadResult>;
|
|
20
|
+
export declare function serializeAliasCatalog(catalog: AliasCatalog): string;
|
|
21
|
+
export declare function writeAliasCatalog(catalogPath: string, catalog: AliasCatalog): Promise<void>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { readFile, writeFile, rename, rm } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { randomBytes } from 'node:crypto';
|
|
4
|
+
import { validateObservationAlias } from './projectConfig.js';
|
|
5
|
+
export const ALIAS_CATALOG_SCHEMA_VERSION = '1.0.0';
|
|
6
|
+
const REQUEST_ID = /^[a-f0-9]{64}$/;
|
|
7
|
+
const OBSERVATION_ID = /^[a-f0-9]{64}-[a-f0-9]{32}$/;
|
|
8
|
+
function isObject(value) { return typeof value === 'object' && value !== null && !Array.isArray(value); }
|
|
9
|
+
function safeRelativeDir(value) {
|
|
10
|
+
if (value.length === 0 || value.includes('\\') || path.posix.isAbsolute(value))
|
|
11
|
+
return false;
|
|
12
|
+
const parts = value.split('/');
|
|
13
|
+
return parts.every((part) => part.length > 0 && part !== '.' && part !== '..' && !part.includes(':'));
|
|
14
|
+
}
|
|
15
|
+
export function validateAliasCatalog(value) {
|
|
16
|
+
if (!isObject(value))
|
|
17
|
+
return { ok: false, reason: 'catalog root must be an object' };
|
|
18
|
+
const rootUnknown = Object.keys(value).filter((key) => key !== 'schemaVersion' && key !== 'observations');
|
|
19
|
+
if (rootUnknown.length > 0)
|
|
20
|
+
return { ok: false, reason: `catalog has unsupported field(s): ${rootUnknown.join(', ')}` };
|
|
21
|
+
if (value.schemaVersion !== ALIAS_CATALOG_SCHEMA_VERSION)
|
|
22
|
+
return { ok: false, reason: `unsupported catalog schema version: ${String(value.schemaVersion)}` };
|
|
23
|
+
if (!isObject(value.observations))
|
|
24
|
+
return { ok: false, reason: 'catalog observations must be an object' };
|
|
25
|
+
const observations = {};
|
|
26
|
+
for (const [alias, raw] of Object.entries(value.observations)) {
|
|
27
|
+
if (!validateObservationAlias(alias, true).ok)
|
|
28
|
+
return { ok: false, reason: `catalog contains invalid alias: ${alias}` };
|
|
29
|
+
if (!isObject(raw))
|
|
30
|
+
return { ok: false, reason: `catalog record for ${alias} must be an object` };
|
|
31
|
+
const unknown = Object.keys(raw).filter((key) => !['observationId', 'requestId', 'relativeArtifactDir'].includes(key));
|
|
32
|
+
if (unknown.length > 0)
|
|
33
|
+
return { ok: false, reason: `catalog record for ${alias} has unsupported field(s): ${unknown.join(', ')}` };
|
|
34
|
+
if (typeof raw.observationId !== 'string' || !OBSERVATION_ID.test(raw.observationId))
|
|
35
|
+
return { ok: false, reason: `catalog record for ${alias} has invalid observationId` };
|
|
36
|
+
if (typeof raw.requestId !== 'string' || !REQUEST_ID.test(raw.requestId))
|
|
37
|
+
return { ok: false, reason: `catalog record for ${alias} has invalid requestId` };
|
|
38
|
+
if (typeof raw.relativeArtifactDir !== 'string' || !safeRelativeDir(raw.relativeArtifactDir))
|
|
39
|
+
return { ok: false, reason: `catalog record for ${alias} has unsafe relativeArtifactDir` };
|
|
40
|
+
observations[alias] = { observationId: raw.observationId, requestId: raw.requestId, relativeArtifactDir: raw.relativeArtifactDir };
|
|
41
|
+
}
|
|
42
|
+
return { ok: true, catalog: { schemaVersion: ALIAS_CATALOG_SCHEMA_VERSION, observations } };
|
|
43
|
+
}
|
|
44
|
+
export async function readAliasCatalog(catalogPath) {
|
|
45
|
+
try {
|
|
46
|
+
return validateAliasCatalog(JSON.parse(await readFile(catalogPath, 'utf8')));
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return { ok: false, reason: `catalog could not be read: ${error instanceof Error ? error.message : String(error)}` };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function serializeAliasCatalog(catalog) {
|
|
53
|
+
const observations = Object.fromEntries(Object.keys(catalog.observations).sort().map((alias) => [alias, catalog.observations[alias]]));
|
|
54
|
+
return `${JSON.stringify({ schemaVersion: ALIAS_CATALOG_SCHEMA_VERSION, observations }, null, 2)}\n`;
|
|
55
|
+
}
|
|
56
|
+
export async function writeAliasCatalog(catalogPath, catalog) {
|
|
57
|
+
const tempPath = `${catalogPath}.tmp-${process.pid}-${randomBytes(6).toString('hex')}`;
|
|
58
|
+
try {
|
|
59
|
+
await writeFile(tempPath, serializeAliasCatalog(catalog), 'utf8');
|
|
60
|
+
await rename(tempPath, catalogPath);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
await rm(tempPath, { force: true }).catch(() => undefined);
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=aliasCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aliasCatalog.js","sourceRoot":"","sources":["../../src/projectWorkflow/aliasCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ComparisonConfig } from '../domain/comparison.js';
|
|
2
|
+
export type LoadBindingsFileResult = {
|
|
3
|
+
ok: true;
|
|
4
|
+
bindings: unknown;
|
|
5
|
+
} | {
|
|
6
|
+
ok: false;
|
|
7
|
+
error: string;
|
|
8
|
+
};
|
|
9
|
+
/** Shared wrapper parser used by both the low-level fidelity command and project check. */
|
|
10
|
+
export declare function loadBindingsFile(filePath: string): LoadBindingsFileResult;
|
|
11
|
+
export declare function loadComparisonConfigFile(filePath: string): {
|
|
12
|
+
ok: true;
|
|
13
|
+
config: ComparisonConfig;
|
|
14
|
+
} | {
|
|
15
|
+
ok: false;
|
|
16
|
+
error: string;
|
|
17
|
+
};
|
|
18
|
+
/** Resolve an existing acceptance input only after real-path containment succeeds. */
|
|
19
|
+
export declare function resolveContainedAcceptancePath(projectRoot: string, relativePath: string): {
|
|
20
|
+
ok: true;
|
|
21
|
+
path: string;
|
|
22
|
+
} | {
|
|
23
|
+
ok: false;
|
|
24
|
+
error: string;
|
|
25
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { readFileSync, realpathSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { isValidComparisonConfig } from '../domain/comparison.js';
|
|
4
|
+
/** Shared wrapper parser used by both the low-level fidelity command and project check. */
|
|
5
|
+
export function loadBindingsFile(filePath) {
|
|
6
|
+
let rawText;
|
|
7
|
+
try {
|
|
8
|
+
rawText = readFileSync(filePath, 'utf8');
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
return { ok: false, error: `--bindings-file could not be read: ${error instanceof Error ? error.message : String(error)}` };
|
|
12
|
+
}
|
|
13
|
+
let parsed;
|
|
14
|
+
try {
|
|
15
|
+
parsed = JSON.parse(rawText);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return { ok: false, error: `--bindings-file is not valid JSON: ${error instanceof Error ? error.message : String(error)}` };
|
|
19
|
+
}
|
|
20
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
|
|
21
|
+
return { ok: false, error: '--bindings-file root must be a JSON object' };
|
|
22
|
+
const record = parsed;
|
|
23
|
+
const unknownFields = Object.keys(record).filter((key) => key !== 'bindings');
|
|
24
|
+
if (unknownFields.length > 0)
|
|
25
|
+
return { ok: false, error: `--bindings-file has unsupported top-level field(s): ${unknownFields.join(', ')}` };
|
|
26
|
+
if (!('bindings' in record))
|
|
27
|
+
return { ok: false, error: '--bindings-file must have a "bindings" property' };
|
|
28
|
+
return { ok: true, bindings: record.bindings };
|
|
29
|
+
}
|
|
30
|
+
export function loadComparisonConfigFile(filePath) {
|
|
31
|
+
let parsed;
|
|
32
|
+
try {
|
|
33
|
+
parsed = JSON.parse(readFileSync(filePath, 'utf8'));
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
return { ok: false, error: `comparison config could not be read: ${error instanceof Error ? error.message : String(error)}` };
|
|
37
|
+
}
|
|
38
|
+
if (!isValidComparisonConfig(parsed))
|
|
39
|
+
return { ok: false, error: 'comparison config is not a valid canonical ComparisonConfig' };
|
|
40
|
+
return { ok: true, config: parsed };
|
|
41
|
+
}
|
|
42
|
+
/** Resolve an existing acceptance input only after real-path containment succeeds. */
|
|
43
|
+
export function resolveContainedAcceptancePath(projectRoot, relativePath) {
|
|
44
|
+
try {
|
|
45
|
+
const realRoot = realpathSync(projectRoot);
|
|
46
|
+
const resolved = realpathSync(path.resolve(projectRoot, relativePath));
|
|
47
|
+
if (resolved !== realRoot && !resolved.startsWith(`${realRoot}${path.sep}`))
|
|
48
|
+
return { ok: false, error: `acceptance path escapes project root: ${relativePath}` };
|
|
49
|
+
return { ok: true, path: resolved };
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return { ok: false, error: `acceptance path could not be resolved inside the project: ${relativePath}` };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=checkAcceptance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkAcceptance.js","sourceRoot":"","sources":["../../src/projectWorkflow/checkAcceptance.ts"],"names":[],"mappings":"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"}
|