@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.
- package/CHANGELOG.md +25 -0
- package/README.md +17 -7
- package/dist/application/visualChangeAgentHandoffService.d.ts +28 -0
- package/dist/application/visualChangeAgentHandoffService.js +111 -0
- package/dist/application/visualChangeAgentHandoffService.js.map +1 -0
- package/dist/application/visualChangeProjectWorkflowService.d.ts +95 -0
- package/dist/application/visualChangeProjectWorkflowService.js +376 -0
- package/dist/application/visualChangeProjectWorkflowService.js.map +1 -0
- package/dist/application/visualChangeReviewService.d.ts +50 -0
- package/dist/application/visualChangeReviewService.js +69 -0
- package/dist/application/visualChangeReviewService.js.map +1 -0
- package/dist/application/visualChangeWorkflowPersistenceService.d.ts +26 -0
- package/dist/application/visualChangeWorkflowPersistenceService.js +15 -0
- package/dist/application/visualChangeWorkflowPersistenceService.js.map +1 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.d.ts +9 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.js +47 -0
- package/dist/artifacts/visualChangeWorkflowArtifactReader.js.map +1 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.d.ts +20 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.js +41 -0
- package/dist/artifacts/visualChangeWorkflowArtifactWriter.js.map +1 -0
- package/dist/cli.js +510 -508
- package/dist/cli.js.map +1 -1
- package/dist/domain/visualChangeAgentHandoff.d.ts +82 -0
- package/dist/domain/visualChangeAgentHandoff.js +80 -0
- package/dist/domain/visualChangeAgentHandoff.js.map +1 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.d.ts +2 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.js +11 -0
- package/dist/domain/visualChangeAgentHandoffSerialization.js.map +1 -0
- package/dist/domain/visualChangeCycle.d.ts +8 -0
- package/dist/domain/visualChangeCycle.js +7 -0
- package/dist/domain/visualChangeCycle.js.map +1 -0
- package/dist/domain/visualChangeWorkflow.d.ts +125 -0
- package/dist/domain/visualChangeWorkflow.js +109 -0
- package/dist/domain/visualChangeWorkflow.js.map +1 -0
- package/dist/domain/visualChangeWorkflowIdentity.d.ts +5 -0
- package/dist/domain/visualChangeWorkflowIdentity.js +24 -0
- package/dist/domain/visualChangeWorkflowIdentity.js.map +1 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/projectWorkflow/projectPaths.d.ts +3 -0
- package/dist/projectWorkflow/projectPaths.js +7 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -1
- package/dist/viewer/assets/index-DglJ6f28.css +1 -0
- package/dist/viewer/assets/index-DsODREY5.js +9 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/sw.js +1 -1
- package/dist/viewerServer/evidence/classify.d.ts +3 -1
- package/dist/viewerServer/evidence/classify.js +10 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -1
- package/dist/viewerServer/evidence/handles.js +1 -0
- package/dist/viewerServer/evidence/handles.js.map +1 -1
- package/dist/viewerServer/evidence/projection.d.ts +5 -0
- package/dist/viewerServer/evidence/projection.js +19 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -1
- package/dist/viewerServer/evidence/visualChangeWorkflowView.d.ts +31 -0
- package/dist/viewerServer/evidence/visualChangeWorkflowView.js +36 -0
- package/dist/viewerServer/evidence/visualChangeWorkflowView.js.map +1 -0
- package/dist/viewerServer/httpServer.js +323 -1
- package/dist/viewerServer/httpServer.js.map +1 -1
- package/dist/viewerServer/referenceApproval.d.ts +22 -0
- package/dist/viewerServer/referenceApproval.js +42 -0
- package/dist/viewerServer/referenceApproval.js.map +1 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.d.ts +28 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.js +134 -0
- package/dist/viewerServer/referenceVisualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.d.ts +33 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.js +81 -0
- package/dist/viewerServer/runtimeVisualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/visualChangeAuthoring.d.ts +46 -0
- package/dist/viewerServer/visualChangeAuthoring.js +63 -0
- package/dist/viewerServer/visualChangeAuthoring.js.map +1 -0
- package/dist/viewerServer/visualChangeHandoff.d.ts +23 -0
- package/dist/viewerServer/visualChangeHandoff.js +31 -0
- package/dist/viewerServer/visualChangeHandoff.js.map +1 -0
- package/dist/viewerServer/visualChangeReview.d.ts +30 -0
- package/dist/viewerServer/visualChangeReview.js +46 -0
- package/dist/viewerServer/visualChangeReview.js.map +1 -0
- package/docs/ARCHITECTURE.md +17 -5
- package/docs/CI_CD.md +33 -1
- package/docs/COMMANDS.md +19 -5
- package/docs/CONTRACTS.md +38 -4
- package/docs/CURRENT_STATE.md +92 -11
- package/docs/DEVELOPMENT.md +32 -2
- package/docs/PROJECT_MILESTONES.md +28 -0
- package/docs/PROJECT_OVERVIEW.md +36 -14
- package/docs/QUICKSTART.md +7 -3
- package/docs/RELEASE.md +15 -11
- package/docs/ROADMAP.md +55 -2
- package/docs/SECURITY.md +25 -3
- package/docs/WORKFLOWS.md +29 -3
- package/docs/plans/v0.10-implementation-plan.md +1509 -0
- package/docs/plans/v0.9.1-implementation-plan.md +468 -0
- package/docs/reports/v0.10-batch1-visual-change-workflow-foundation.md +102 -0
- package/docs/reports/v0.10-batch2-project-composition-check-recording.md +103 -0
- package/docs/reports/v0.10-batch3-viewer-visual-change-workspace.md +93 -0
- package/docs/reports/v0.10-batch4-actual-frontend-entry.md +59 -0
- package/docs/reports/v0.10-batch5-reference-driven-entry.md +238 -0
- package/docs/reports/v0.10-batch6-coding-agent-handoff.md +85 -0
- package/docs/reports/v0.10-batch7-correction-review-acceptance.md +145 -0
- package/docs/reports/v0.10-batch8-integrated-acceptance.md +109 -0
- package/docs/reports/v0.10-implementation-completeness-documentation-reconciliation.md +344 -0
- package/docs/reports/v0.10-pre-release-readiness.md +120 -0
- package/docs/reports/v0.10-release-preparation.md +70 -0
- package/docs/reports/v0.9.1-batch1-pwa-hard-gate-isolation.md +359 -0
- package/docs/reports/v0.9.1-batch2-hard-gate-validation-integration.md +262 -0
- package/docs/reports/v0.9.1-pre-release-readiness.md +206 -0
- package/package.json +3 -2
- package/dist/viewer/assets/index-BN41MI7m.css +0 -1
- package/dist/viewer/assets/index-CkKXnlrI.js +0 -9
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { ReferenceRuntimeBindingDeclaration } from './externalReferenceRuntimeBinding.js';
|
|
2
|
+
import { PRODUCER_NAME } from './schema.js';
|
|
3
|
+
import { type CheckWorkflowStatus } from '../projectWorkflow/checkResult.js';
|
|
4
|
+
export declare const VISUAL_CHANGE_WORKFLOW_ARTIFACT_KIND: "my-frontend-observer/visual-change-workflow";
|
|
5
|
+
export declare const VISUAL_CHANGE_WORKFLOW_SCHEMA_VERSION: "1.0.0";
|
|
6
|
+
export declare const MAX_VISUAL_CHANGE_ATTEMPTS = 20;
|
|
7
|
+
export declare const VISUAL_CHANGE_REVIEW_STATES: readonly ["pending", "correction-requested", "accepted", "abandoned"];
|
|
8
|
+
export type VisualChangeReviewState = (typeof VISUAL_CHANGE_REVIEW_STATES)[number];
|
|
9
|
+
export interface VisualChangeArtifactReference {
|
|
10
|
+
artifactId: string;
|
|
11
|
+
artifactPath: string;
|
|
12
|
+
}
|
|
13
|
+
export interface VisualChangeObservationReference extends VisualChangeArtifactReference {
|
|
14
|
+
observationId: string;
|
|
15
|
+
requestId: string;
|
|
16
|
+
}
|
|
17
|
+
export interface VisualChangeContractReference extends VisualChangeArtifactReference {
|
|
18
|
+
contractId: string;
|
|
19
|
+
contractRequestId: string;
|
|
20
|
+
}
|
|
21
|
+
export interface VisualChangeBaselineContractReference extends VisualChangeArtifactReference {
|
|
22
|
+
baselineId: string;
|
|
23
|
+
}
|
|
24
|
+
interface VisualChangeScopeBase {
|
|
25
|
+
annotationId: string;
|
|
26
|
+
annotationArtifactPath: string;
|
|
27
|
+
baselineObservation: VisualChangeObservationReference;
|
|
28
|
+
baselineContract?: VisualChangeBaselineContractReference;
|
|
29
|
+
}
|
|
30
|
+
export interface VisualChangeActualScope extends VisualChangeScopeBase {
|
|
31
|
+
entryMode: 'actual-frontend';
|
|
32
|
+
changeContract: VisualChangeContractReference;
|
|
33
|
+
}
|
|
34
|
+
export interface VisualChangeReferenceScope extends VisualChangeScopeBase {
|
|
35
|
+
entryMode: 'reference';
|
|
36
|
+
approvedReference: VisualChangeArtifactReference & {
|
|
37
|
+
referenceId: string;
|
|
38
|
+
referenceRequestId: string;
|
|
39
|
+
};
|
|
40
|
+
bindings: ReferenceRuntimeBindingDeclaration[];
|
|
41
|
+
}
|
|
42
|
+
export type VisualChangeScope = VisualChangeActualScope | VisualChangeReferenceScope;
|
|
43
|
+
export interface VisualChangeCheckSnapshot {
|
|
44
|
+
status: CheckWorkflowStatus;
|
|
45
|
+
baselineObservationId: string;
|
|
46
|
+
candidateObservationId: string;
|
|
47
|
+
comparison?: VisualChangeArtifactReference;
|
|
48
|
+
contractEvaluation?: VisualChangeArtifactReference;
|
|
49
|
+
activeBaselineContractId?: string;
|
|
50
|
+
activeChangeContractId?: string;
|
|
51
|
+
externalReferenceId?: string;
|
|
52
|
+
referenceFidelityState?: 'not-evaluated' | 'pass' | 'fail';
|
|
53
|
+
failedClauseIds: string[];
|
|
54
|
+
unavailableClauseIds: string[];
|
|
55
|
+
failedReferenceRequirementIds: string[];
|
|
56
|
+
unavailableReferenceRequirementIds: string[];
|
|
57
|
+
unexpectedChangeCount: number;
|
|
58
|
+
blockerCodes: string[];
|
|
59
|
+
blockerReasons: string[];
|
|
60
|
+
truncated: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface VisualChangeAttemptRecord {
|
|
63
|
+
visualChangeAttemptId: string;
|
|
64
|
+
priorVisualChangeAttemptId?: string;
|
|
65
|
+
candidateObservation: VisualChangeObservationReference;
|
|
66
|
+
check: VisualChangeCheckSnapshot;
|
|
67
|
+
referenceCorrectionAttemptId?: string;
|
|
68
|
+
coordination?: {
|
|
69
|
+
provider: 'my-dev-kit-orchestrator';
|
|
70
|
+
runId: string;
|
|
71
|
+
packageVersion?: string;
|
|
72
|
+
};
|
|
73
|
+
review: {
|
|
74
|
+
state: VisualChangeReviewState;
|
|
75
|
+
decidedAt?: string;
|
|
76
|
+
};
|
|
77
|
+
recordedAt: string;
|
|
78
|
+
}
|
|
79
|
+
export interface VisualChangeAcceptanceSelection {
|
|
80
|
+
changeContractArtifact?: string;
|
|
81
|
+
approvedReferenceArtifact?: string;
|
|
82
|
+
bindingsFile?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface VisualChangeActivationRecord {
|
|
85
|
+
before: VisualChangeAcceptanceSelection;
|
|
86
|
+
after: VisualChangeAcceptanceSelection;
|
|
87
|
+
activatedAt: string;
|
|
88
|
+
restoredAt?: string;
|
|
89
|
+
}
|
|
90
|
+
export interface VisualChangeGovernanceResults {
|
|
91
|
+
baselineApproval?: VisualChangeArtifactReference;
|
|
92
|
+
externalReferenceApproval?: VisualChangeArtifactReference;
|
|
93
|
+
}
|
|
94
|
+
export interface VisualChangeBindingsMetadata {
|
|
95
|
+
path: 'bindings.json';
|
|
96
|
+
sha256: string;
|
|
97
|
+
declarationCount: number;
|
|
98
|
+
}
|
|
99
|
+
export interface VisualChangeWorkflowArtifact {
|
|
100
|
+
artifactKind: typeof VISUAL_CHANGE_WORKFLOW_ARTIFACT_KIND;
|
|
101
|
+
schemaVersion: typeof VISUAL_CHANGE_WORKFLOW_SCHEMA_VERSION;
|
|
102
|
+
visualChangeRequestId: string;
|
|
103
|
+
visualChangeWorkflowId: string;
|
|
104
|
+
supersedesVisualChangeWorkflowId?: string;
|
|
105
|
+
producer: {
|
|
106
|
+
name: typeof PRODUCER_NAME;
|
|
107
|
+
version: string;
|
|
108
|
+
};
|
|
109
|
+
scope: VisualChangeScope;
|
|
110
|
+
attempts: VisualChangeAttemptRecord[];
|
|
111
|
+
bindings?: VisualChangeBindingsMetadata;
|
|
112
|
+
activation?: VisualChangeActivationRecord;
|
|
113
|
+
governanceResults?: VisualChangeGovernanceResults;
|
|
114
|
+
provenance: {
|
|
115
|
+
createdAt: string;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export type VisualChangeWorkflowValidationResult = {
|
|
119
|
+
valid: true;
|
|
120
|
+
} | {
|
|
121
|
+
valid: false;
|
|
122
|
+
reason: string;
|
|
123
|
+
};
|
|
124
|
+
export declare function isValidVisualChangeWorkflowArtifact(value: unknown): VisualChangeWorkflowValidationResult;
|
|
125
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { PRODUCER_NAME } from './schema.js';
|
|
2
|
+
import { CHECK_WORKFLOW_STATUSES } from '../projectWorkflow/checkResult.js';
|
|
3
|
+
export const VISUAL_CHANGE_WORKFLOW_ARTIFACT_KIND = 'my-frontend-observer/visual-change-workflow';
|
|
4
|
+
export const VISUAL_CHANGE_WORKFLOW_SCHEMA_VERSION = '1.0.0';
|
|
5
|
+
export const MAX_VISUAL_CHANGE_ATTEMPTS = 20;
|
|
6
|
+
export const VISUAL_CHANGE_REVIEW_STATES = ['pending', 'correction-requested', 'accepted', 'abandoned'];
|
|
7
|
+
const ok = { valid: true };
|
|
8
|
+
const bad = (reason) => ({ valid: false, reason });
|
|
9
|
+
const object = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
10
|
+
const only = (v, keys) => Object.keys(v).every((key) => keys.includes(key));
|
|
11
|
+
const text = (v) => typeof v === 'string' && v.length > 0;
|
|
12
|
+
const sha = (v) => typeof v === 'string' && /^[a-f0-9]{64}$/.test(v);
|
|
13
|
+
const safePath = (v) => typeof v === 'string' && v.length > 0 && v.length <= 512 && !v.includes('\\') && !v.startsWith('/') && !/^[A-Za-z]:/.test(v) && v.split('/').every((part) => part !== '' && part !== '.' && part !== '..');
|
|
14
|
+
const stringArray = (v, max = 50) => Array.isArray(v) && v.length <= max && v.every(text) && new Set(v).size === v.length;
|
|
15
|
+
function artifactRef(v, extra = []) {
|
|
16
|
+
return object(v) && only(v, ['artifactId', 'artifactPath', ...extra]) && text(v.artifactId) && safePath(v.artifactPath);
|
|
17
|
+
}
|
|
18
|
+
function observationRef(v) {
|
|
19
|
+
return artifactRef(v, ['observationId', 'requestId']) && object(v) && text(v.observationId) && text(v.requestId) && v.artifactId === v.observationId;
|
|
20
|
+
}
|
|
21
|
+
function bindings(v) {
|
|
22
|
+
if (!Array.isArray(v) || v.length > 20)
|
|
23
|
+
return false;
|
|
24
|
+
const seen = new Set();
|
|
25
|
+
for (const item of v) {
|
|
26
|
+
if (!object(item) || !only(item, ['referenceRegion', 'runtimeTarget']) || typeof item.referenceRegion !== 'string' || typeof item.runtimeTarget !== 'string' || !/^[A-Za-z0-9_-]{1,64}$/.test(item.referenceRegion) || !/^[A-Za-z0-9_-]{1,64}$/.test(item.runtimeTarget))
|
|
27
|
+
return false;
|
|
28
|
+
const key = item.referenceRegion.toLowerCase();
|
|
29
|
+
if (seen.has(key))
|
|
30
|
+
return false;
|
|
31
|
+
seen.add(key);
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
function scope(v) {
|
|
36
|
+
if (!object(v))
|
|
37
|
+
return false;
|
|
38
|
+
const common = ['entryMode', 'annotationId', 'annotationArtifactPath', 'baselineObservation', 'baselineContract'];
|
|
39
|
+
if (!text(v.annotationId) || !safePath(v.annotationArtifactPath) || !observationRef(v.baselineObservation))
|
|
40
|
+
return false;
|
|
41
|
+
if (v.baselineContract !== undefined && !(artifactRef(v.baselineContract, ['baselineId']) && object(v.baselineContract) && text(v.baselineContract.baselineId) && v.baselineContract.artifactId === v.baselineContract.baselineId))
|
|
42
|
+
return false;
|
|
43
|
+
if (v.entryMode === 'actual-frontend')
|
|
44
|
+
return only(v, [...common, 'changeContract']) && artifactRef(v.changeContract, ['contractId', 'contractRequestId']) && object(v.changeContract) && text(v.changeContract.contractId) && text(v.changeContract.contractRequestId) && v.changeContract.artifactId === v.changeContract.contractId;
|
|
45
|
+
if (v.entryMode === 'reference')
|
|
46
|
+
return only(v, [...common, 'approvedReference', 'bindings']) && artifactRef(v.approvedReference, ['referenceId', 'referenceRequestId']) && object(v.approvedReference) && text(v.approvedReference.referenceId) && text(v.approvedReference.referenceRequestId) && v.approvedReference.artifactId === v.approvedReference.referenceId && bindings(v.bindings);
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
function check(v) {
|
|
50
|
+
if (!object(v) || !only(v, ['status', 'baselineObservationId', 'candidateObservationId', 'comparison', 'contractEvaluation', 'activeBaselineContractId', 'activeChangeContractId', 'externalReferenceId', 'referenceFidelityState', 'failedClauseIds', 'unavailableClauseIds', 'failedReferenceRequirementIds', 'unavailableReferenceRequirementIds', 'unexpectedChangeCount', 'blockerCodes', 'blockerReasons', 'truncated']))
|
|
51
|
+
return false;
|
|
52
|
+
if (!CHECK_WORKFLOW_STATUSES.includes(v.status) || !text(v.baselineObservationId) || !text(v.candidateObservationId))
|
|
53
|
+
return false;
|
|
54
|
+
if (v.comparison !== undefined && !artifactRef(v.comparison))
|
|
55
|
+
return false;
|
|
56
|
+
if (v.contractEvaluation !== undefined && !artifactRef(v.contractEvaluation))
|
|
57
|
+
return false;
|
|
58
|
+
for (const key of ['activeBaselineContractId', 'activeChangeContractId', 'externalReferenceId'])
|
|
59
|
+
if (v[key] !== undefined && !text(v[key]))
|
|
60
|
+
return false;
|
|
61
|
+
if (v.referenceFidelityState !== undefined && !['not-evaluated', 'pass', 'fail'].includes(v.referenceFidelityState))
|
|
62
|
+
return false;
|
|
63
|
+
return stringArray(v.failedClauseIds) && stringArray(v.unavailableClauseIds) && stringArray(v.failedReferenceRequirementIds) && stringArray(v.unavailableReferenceRequirementIds) && Number.isInteger(v.unexpectedChangeCount) && v.unexpectedChangeCount >= 0 && stringArray(v.blockerCodes) && stringArray(v.blockerReasons) && typeof v.truncated === 'boolean';
|
|
64
|
+
}
|
|
65
|
+
function attempt(v) {
|
|
66
|
+
if (!object(v) || !only(v, ['visualChangeAttemptId', 'priorVisualChangeAttemptId', 'candidateObservation', 'check', 'referenceCorrectionAttemptId', 'coordination', 'review', 'recordedAt']) || !text(v.visualChangeAttemptId) || !observationRef(v.candidateObservation) || !check(v.check) || !text(v.recordedAt))
|
|
67
|
+
return false;
|
|
68
|
+
if (v.priorVisualChangeAttemptId !== undefined && !text(v.priorVisualChangeAttemptId))
|
|
69
|
+
return false;
|
|
70
|
+
if (v.referenceCorrectionAttemptId !== undefined && !text(v.referenceCorrectionAttemptId))
|
|
71
|
+
return false;
|
|
72
|
+
if (v.coordination !== undefined && (!object(v.coordination) || !only(v.coordination, ['provider', 'runId', 'packageVersion']) || v.coordination.provider !== 'my-dev-kit-orchestrator' || !text(v.coordination.runId) || (v.coordination.packageVersion !== undefined && !text(v.coordination.packageVersion))))
|
|
73
|
+
return false;
|
|
74
|
+
return object(v.review) && only(v.review, ['state', 'decidedAt']) && VISUAL_CHANGE_REVIEW_STATES.includes(v.review.state) && (v.review.decidedAt === undefined || text(v.review.decidedAt));
|
|
75
|
+
}
|
|
76
|
+
function selection(v) { return object(v) && only(v, ['changeContractArtifact', 'approvedReferenceArtifact', 'bindingsFile']) && ['changeContractArtifact', 'approvedReferenceArtifact', 'bindingsFile'].every((k) => v[k] === undefined || safePath(v[k])); }
|
|
77
|
+
export function isValidVisualChangeWorkflowArtifact(value) {
|
|
78
|
+
if (!object(value))
|
|
79
|
+
return bad('artifact must be an object');
|
|
80
|
+
if (value.artifactKind !== VISUAL_CHANGE_WORKFLOW_ARTIFACT_KIND)
|
|
81
|
+
return bad('artifactKind mismatch');
|
|
82
|
+
if (value.schemaVersion !== VISUAL_CHANGE_WORKFLOW_SCHEMA_VERSION)
|
|
83
|
+
return bad('schemaVersion mismatch');
|
|
84
|
+
if (!only(value, ['artifactKind', 'schemaVersion', 'visualChangeRequestId', 'visualChangeWorkflowId', 'supersedesVisualChangeWorkflowId', 'producer', 'scope', 'attempts', 'bindings', 'activation', 'governanceResults', 'provenance']))
|
|
85
|
+
return bad('artifact contains unsupported fields');
|
|
86
|
+
if (!text(value.visualChangeRequestId) || !text(value.visualChangeWorkflowId) || /[\\/]/.test(value.visualChangeWorkflowId))
|
|
87
|
+
return bad('workflow identities are invalid');
|
|
88
|
+
if (value.supersedesVisualChangeWorkflowId !== undefined && (!text(value.supersedesVisualChangeWorkflowId) || value.supersedesVisualChangeWorkflowId === value.visualChangeWorkflowId))
|
|
89
|
+
return bad('supersedesVisualChangeWorkflowId is invalid');
|
|
90
|
+
if (!object(value.producer) || !only(value.producer, ['name', 'version']) || value.producer.name !== PRODUCER_NAME || !text(value.producer.version))
|
|
91
|
+
return bad('producer is invalid');
|
|
92
|
+
if (!scope(value.scope))
|
|
93
|
+
return bad('scope is invalid');
|
|
94
|
+
if (!Array.isArray(value.attempts) || value.attempts.length > MAX_VISUAL_CHANGE_ATTEMPTS || !value.attempts.every(attempt))
|
|
95
|
+
return bad(`attempts must contain at most ${MAX_VISUAL_CHANGE_ATTEMPTS} valid entries`);
|
|
96
|
+
const expectedBindingCount = value.scope.entryMode === 'reference' ? value.scope.bindings.length : 0;
|
|
97
|
+
if (value.bindings !== undefined && (!object(value.bindings) || !only(value.bindings, ['path', 'sha256', 'declarationCount']) || value.bindings.path !== 'bindings.json' || !sha(value.bindings.sha256) || !Number.isInteger(value.bindings.declarationCount) || value.bindings.declarationCount !== expectedBindingCount))
|
|
98
|
+
return bad('bindings metadata is invalid');
|
|
99
|
+
if (value.scope.entryMode === 'reference' ? value.bindings === undefined : value.bindings !== undefined)
|
|
100
|
+
return bad('bindings metadata must exist exactly for reference mode');
|
|
101
|
+
if (value.activation !== undefined && (!object(value.activation) || !only(value.activation, ['before', 'after', 'activatedAt', 'restoredAt']) || !selection(value.activation.before) || !selection(value.activation.after) || !text(value.activation.activatedAt) || (value.activation.restoredAt !== undefined && !text(value.activation.restoredAt))))
|
|
102
|
+
return bad('activation is invalid');
|
|
103
|
+
if (value.governanceResults !== undefined && (!object(value.governanceResults) || !only(value.governanceResults, ['baselineApproval', 'externalReferenceApproval']) || (value.governanceResults.baselineApproval !== undefined && !artifactRef(value.governanceResults.baselineApproval)) || (value.governanceResults.externalReferenceApproval !== undefined && !artifactRef(value.governanceResults.externalReferenceApproval))))
|
|
104
|
+
return bad('governanceResults is invalid');
|
|
105
|
+
if (!object(value.provenance) || !only(value.provenance, ['createdAt']) || !text(value.provenance.createdAt))
|
|
106
|
+
return bad('provenance is invalid');
|
|
107
|
+
return ok;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=visualChangeWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualChangeWorkflow.js","sourceRoot":"","sources":["../../src/domain/visualChangeWorkflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { VisualChangeScope } from './visualChangeWorkflow.js';
|
|
2
|
+
export declare function canonicalVisualChangeJson(value: unknown): string;
|
|
3
|
+
export declare function buildVisualChangeRequestIdentity(scope: VisualChangeScope): string;
|
|
4
|
+
export declare function buildVisualChangeWorkflowInstanceIdentity(requestId: string): string;
|
|
5
|
+
export declare function buildVisualChangeAttemptIdentity(requestId: string, candidateObservationId: string): string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
2
|
+
function canonicalize(value) {
|
|
3
|
+
if (Array.isArray(value))
|
|
4
|
+
return value.map(canonicalize);
|
|
5
|
+
if (value !== null && typeof value === 'object')
|
|
6
|
+
return Object.fromEntries(Object.entries(value).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([k, v]) => [k, canonicalize(v)]));
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
export function canonicalVisualChangeJson(value) { return JSON.stringify(canonicalize(value)); }
|
|
10
|
+
export function buildVisualChangeRequestIdentity(scope) {
|
|
11
|
+
const semantic = {
|
|
12
|
+
entryMode: scope.entryMode,
|
|
13
|
+
annotationId: scope.annotationId,
|
|
14
|
+
baselineObservation: { observationId: scope.baselineObservation.observationId, requestId: scope.baselineObservation.requestId },
|
|
15
|
+
...(scope.baselineContract === undefined ? {} : { baselineContractId: scope.baselineContract.baselineId }),
|
|
16
|
+
...(scope.entryMode === 'actual-frontend'
|
|
17
|
+
? { changeContract: { contractId: scope.changeContract.contractId, contractRequestId: scope.changeContract.contractRequestId } }
|
|
18
|
+
: { approvedReference: { referenceId: scope.approvedReference.referenceId, referenceRequestId: scope.approvedReference.referenceRequestId }, bindings: scope.bindings }),
|
|
19
|
+
};
|
|
20
|
+
return createHash('sha256').update(canonicalVisualChangeJson(semantic)).digest('hex');
|
|
21
|
+
}
|
|
22
|
+
export function buildVisualChangeWorkflowInstanceIdentity(requestId) { return `${requestId}-${randomBytes(16).toString('hex')}`; }
|
|
23
|
+
export function buildVisualChangeAttemptIdentity(requestId, candidateObservationId) { return createHash('sha256').update(canonicalVisualChangeJson({ visualChangeRequestId: requestId, candidateObservationId })).digest('hex'); }
|
|
24
|
+
//# sourceMappingURL=visualChangeWorkflowIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualChangeWorkflowIdentity.js","sourceRoot":"","sources":["../../src/domain/visualChangeWorkflowIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGtD,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChN,OAAO,KAAK,CAAC;AACf,CAAC;AACD,MAAM,UAAU,yBAAyB,CAAC,KAAc,IAAY,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,MAAM,UAAU,gCAAgC,CAAC,KAAwB;IACvE,MAAM,QAAQ,GAAG;QACf,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,mBAAmB,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE;QAC/H,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAC1G,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,iBAAiB;YACvC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE;YAChI,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;KAC3K,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxF,CAAC;AACD,MAAM,UAAU,yCAAyC,CAAC,SAAiB,IAAY,OAAO,GAAG,SAAS,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAClJ,MAAM,UAAU,gCAAgC,CAAC,SAAiB,EAAE,sBAA8B,IAAY,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -103,7 +103,7 @@ export type { DiscoverProjectResult } from './projectWorkflow/projectDiscovery.j
|
|
|
103
103
|
export { discoverFrontendObserverProject } from './projectWorkflow/projectDiscovery.js';
|
|
104
104
|
export type { AliasCatalog, AliasCatalogReadResult, ObservationAliasRecord } from './projectWorkflow/aliasCatalog.js';
|
|
105
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';
|
|
106
|
+
export { projectConfigPath, projectStateRoot, aliasCatalogPath, projectEvidenceRoot, projectObservationsRoot, observationOutputLocation, projectVisualChangesRoot, visualChangeOutputLocation } from './projectWorkflow/projectPaths.js';
|
|
107
107
|
export type { CaptureNamedObservationInput, CaptureNamedObservationResult, InitializeProjectInput, ProjectWorkflowErrorCode } from './application/projectWorkflowService.js';
|
|
108
108
|
export { initializeFrontendObserverProject, captureNamedObservation, loadProjectViewerState } from './application/projectWorkflowService.js';
|
|
109
109
|
export type { CheckWorkflowStatus, CheckWorkflowResult } from './projectWorkflow/checkResult.js';
|
|
@@ -121,5 +121,25 @@ export type { ReadVisualAnnotationArtifactResult } from './artifacts/visualAnnot
|
|
|
121
121
|
export { readVisualAnnotationArtifact } from './artifacts/visualAnnotationArtifactReader.js';
|
|
122
122
|
export type { PersistVisualAnnotationOptions, ApplicationPersistVisualAnnotationResult } from './application/visualAnnotationPersistenceService.js';
|
|
123
123
|
export { persistVisualAnnotation } from './application/visualAnnotationPersistenceService.js';
|
|
124
|
+
export type { VisualChangeArtifactReference, VisualChangeObservationReference, VisualChangeContractReference, VisualChangeBaselineContractReference, VisualChangeActualScope, VisualChangeReferenceScope, VisualChangeScope, VisualChangeCheckSnapshot, VisualChangeAttemptRecord, VisualChangeAcceptanceSelection, VisualChangeActivationRecord, VisualChangeGovernanceResults, VisualChangeBindingsMetadata, VisualChangeWorkflowArtifact, VisualChangeWorkflowValidationResult, VisualChangeReviewState } from './domain/visualChangeWorkflow.js';
|
|
125
|
+
export { VISUAL_CHANGE_WORKFLOW_ARTIFACT_KIND, VISUAL_CHANGE_WORKFLOW_SCHEMA_VERSION, MAX_VISUAL_CHANGE_ATTEMPTS, VISUAL_CHANGE_REVIEW_STATES, isValidVisualChangeWorkflowArtifact } from './domain/visualChangeWorkflow.js';
|
|
126
|
+
export { canonicalVisualChangeJson, buildVisualChangeRequestIdentity, buildVisualChangeWorkflowInstanceIdentity, buildVisualChangeAttemptIdentity } from './domain/visualChangeWorkflowIdentity.js';
|
|
127
|
+
export type { PersistedVisualChangeWorkflowResult, WriteVisualChangeWorkflowArtifactOptions } from './artifacts/visualChangeWorkflowArtifactWriter.js';
|
|
128
|
+
export { VISUAL_CHANGE_WORKFLOW_MANIFEST_FILENAME, VISUAL_CHANGE_WORKFLOW_BINDINGS_FILENAME, computeVisualChangeBindingsSha256, serializeVisualChangeBindings, writeVisualChangeWorkflowArtifact } from './artifacts/visualChangeWorkflowArtifactWriter.js';
|
|
129
|
+
export type { ReadVisualChangeWorkflowArtifactResult } from './artifacts/visualChangeWorkflowArtifactReader.js';
|
|
130
|
+
export { readVisualChangeWorkflowArtifact } from './artifacts/visualChangeWorkflowArtifactReader.js';
|
|
131
|
+
export type { PersistVisualChangeWorkflowOptions, ApplicationPersistVisualChangeWorkflowResult } from './application/visualChangeWorkflowPersistenceService.js';
|
|
132
|
+
export { persistVisualChangeWorkflow } from './application/visualChangeWorkflowPersistenceService.js';
|
|
133
|
+
export type { VisualChangeProjectWorkflowFailureCode, VisualChangeProjectWorkflowFailure, VisualChangeProjectWorkflowDependencies, CreateProjectVisualChangeWorkflowInput, CreateProjectVisualChangeWorkflowResult, ProjectVisualChangeMutationInput, VerifiedVisualChangeAcceptance, RunProjectVisualChangeCheckInput } from './application/visualChangeProjectWorkflowService.js';
|
|
134
|
+
export { createProjectVisualChangeWorkflow, activateProjectVisualChangeWorkflow, restoreProjectVisualChangeWorkflowAcceptance, projectVisualChangeCheckSnapshot, runProjectVisualChangeCheck } from './application/visualChangeProjectWorkflowService.js';
|
|
135
|
+
export type { VisualChangeAgentActualScope, VisualChangeAgentReferenceScope, VisualChangeAgentConfirmedScope, VisualChangeReferenceCorrectionTrace, VisualChangeExternalCoordination, VisualChangeAgentHandoff } from './domain/visualChangeAgentHandoff.js';
|
|
136
|
+
export { VISUAL_CHANGE_AGENT_HANDOFF_KIND, VISUAL_CHANGE_AGENT_HANDOFF_VERSION, isValidVisualChangeAgentHandoff, isValidVisualChangeExternalCoordination, serializeVisualChangeAgentHandoff } from './domain/visualChangeAgentHandoff.js';
|
|
137
|
+
export { serializeVisualChangeAgentHandoffCanonical } from './domain/visualChangeAgentHandoffSerialization.js';
|
|
138
|
+
export type { PrepareVisualChangeAgentHandoffInput, PrepareVisualChangeAgentHandoffResult, PrepareVisualChangeAgentHandoffFailureCode } from './application/visualChangeAgentHandoffService.js';
|
|
139
|
+
export { prepareVisualChangeAgentHandoff } from './application/visualChangeAgentHandoffService.js';
|
|
140
|
+
export { deriveVisualChangeCycleState } from './domain/visualChangeCycle.js';
|
|
141
|
+
export type { VisualChangeCycleState } from './domain/visualChangeCycle.js';
|
|
142
|
+
export { reviewVisualChangeWorkflow, recordVisualChangeGovernance } from './application/visualChangeReviewService.js';
|
|
143
|
+
export type { VisualChangeReviewDecision, VisualChangeReviewResult, VisualChangeGovernanceInput, VisualChangeGovernanceResult } from './application/visualChangeReviewService.js';
|
|
124
144
|
export type { MaterializeVisualAnnotationReferenceOptions, MaterializeVisualAnnotationReferenceResult, MaterializeVisualAnnotationReferenceFailureCode, } from './application/visualAnnotationReferenceMaterializationService.js';
|
|
125
145
|
export { materializeVisualAnnotationReference } from './application/visualAnnotationReferenceMaterializationService.js';
|
package/dist/index.js
CHANGED
|
@@ -55,7 +55,7 @@ export { startViewer, defaultViewerAssetsRoot } from './viewerServer/viewerServi
|
|
|
55
55
|
export { PROJECT_CONFIG_FILENAME, PROJECT_CONFIG_SCHEMA_VERSION, OBSERVATION_ALIAS_PATTERN, validateObservationAlias, validateProjectConfig, readProjectConfig } from './projectWorkflow/projectConfig.js';
|
|
56
56
|
export { discoverFrontendObserverProject } from './projectWorkflow/projectDiscovery.js';
|
|
57
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';
|
|
58
|
+
export { projectConfigPath, projectStateRoot, aliasCatalogPath, projectEvidenceRoot, projectObservationsRoot, observationOutputLocation, projectVisualChangesRoot, visualChangeOutputLocation } from './projectWorkflow/projectPaths.js';
|
|
59
59
|
export { initializeFrontendObserverProject, captureNamedObservation, loadProjectViewerState } from './application/projectWorkflowService.js';
|
|
60
60
|
export { CHECK_RESULT_SCHEMA_VERSION, CHECK_WORKFLOW_STATUSES } from './projectWorkflow/checkResult.js';
|
|
61
61
|
export { checkProject } from './application/projectCheckService.js';
|
|
@@ -66,5 +66,16 @@ export { buildVisualAnnotationRequestIdentity, buildVisualAnnotationInstanceIden
|
|
|
66
66
|
export { VISUAL_ANNOTATION_MANIFEST_FILENAME, VISUAL_ANNOTATION_OVERLAY_FILENAME, computeVisualAnnotationOverlaySha256, writeVisualAnnotationArtifact, } from './artifacts/visualAnnotationArtifactWriter.js';
|
|
67
67
|
export { readVisualAnnotationArtifact } from './artifacts/visualAnnotationArtifactReader.js';
|
|
68
68
|
export { persistVisualAnnotation } from './application/visualAnnotationPersistenceService.js';
|
|
69
|
+
export { VISUAL_CHANGE_WORKFLOW_ARTIFACT_KIND, VISUAL_CHANGE_WORKFLOW_SCHEMA_VERSION, MAX_VISUAL_CHANGE_ATTEMPTS, VISUAL_CHANGE_REVIEW_STATES, isValidVisualChangeWorkflowArtifact } from './domain/visualChangeWorkflow.js';
|
|
70
|
+
export { canonicalVisualChangeJson, buildVisualChangeRequestIdentity, buildVisualChangeWorkflowInstanceIdentity, buildVisualChangeAttemptIdentity } from './domain/visualChangeWorkflowIdentity.js';
|
|
71
|
+
export { VISUAL_CHANGE_WORKFLOW_MANIFEST_FILENAME, VISUAL_CHANGE_WORKFLOW_BINDINGS_FILENAME, computeVisualChangeBindingsSha256, serializeVisualChangeBindings, writeVisualChangeWorkflowArtifact } from './artifacts/visualChangeWorkflowArtifactWriter.js';
|
|
72
|
+
export { readVisualChangeWorkflowArtifact } from './artifacts/visualChangeWorkflowArtifactReader.js';
|
|
73
|
+
export { persistVisualChangeWorkflow } from './application/visualChangeWorkflowPersistenceService.js';
|
|
74
|
+
export { createProjectVisualChangeWorkflow, activateProjectVisualChangeWorkflow, restoreProjectVisualChangeWorkflowAcceptance, projectVisualChangeCheckSnapshot, runProjectVisualChangeCheck } from './application/visualChangeProjectWorkflowService.js';
|
|
75
|
+
export { VISUAL_CHANGE_AGENT_HANDOFF_KIND, VISUAL_CHANGE_AGENT_HANDOFF_VERSION, isValidVisualChangeAgentHandoff, isValidVisualChangeExternalCoordination, serializeVisualChangeAgentHandoff } from './domain/visualChangeAgentHandoff.js';
|
|
76
|
+
export { serializeVisualChangeAgentHandoffCanonical } from './domain/visualChangeAgentHandoffSerialization.js';
|
|
77
|
+
export { prepareVisualChangeAgentHandoff } from './application/visualChangeAgentHandoffService.js';
|
|
78
|
+
export { deriveVisualChangeCycleState } from './domain/visualChangeCycle.js';
|
|
79
|
+
export { reviewVisualChangeWorkflow, recordVisualChangeGovernance } from './application/visualChangeReviewService.js';
|
|
69
80
|
export { materializeVisualAnnotationReference } from './application/visualAnnotationReferenceMaterializationService.js';
|
|
70
81
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,3 +15,6 @@ export declare function contractOutputLocation(): string;
|
|
|
15
15
|
export declare function projectReferencesRoot(projectRoot: string): string;
|
|
16
16
|
/** Portable project-relative output location for annotation-materialized external-reference revisions. Created lazily by the reference writer. */
|
|
17
17
|
export declare function referenceOutputLocation(): string;
|
|
18
|
+
export declare function projectVisualChangesRoot(projectRoot: string): string;
|
|
19
|
+
/** Portable project-relative output location for immutable visual-change workflow artifacts. */
|
|
20
|
+
export declare function visualChangeOutputLocation(): string;
|
|
@@ -41,4 +41,11 @@ export function projectReferencesRoot(projectRoot) {
|
|
|
41
41
|
export function referenceOutputLocation() {
|
|
42
42
|
return `${PROJECT_STATE_DIRECTORY}/evidence/references`;
|
|
43
43
|
}
|
|
44
|
+
export function projectVisualChangesRoot(projectRoot) {
|
|
45
|
+
return path.join(projectEvidenceRoot(projectRoot), 'visual-changes');
|
|
46
|
+
}
|
|
47
|
+
/** Portable project-relative output location for immutable visual-change workflow artifacts. */
|
|
48
|
+
export function visualChangeOutputLocation() {
|
|
49
|
+
return `${PROJECT_STATE_DIRECTORY}/evidence/visual-changes`;
|
|
50
|
+
}
|
|
44
51
|
//# sourceMappingURL=projectPaths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectPaths.js","sourceRoot":"","sources":["../../src/projectWorkflow/projectPaths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAuB,CAAC;AAE9D,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,GAAG,uBAAuB,0BAA0B,KAAK,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,wBAAwB;IACtC,OAAO,GAAG,uBAAuB,uBAAuB,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,iIAAiI;AACjI,MAAM,UAAU,sBAAsB;IACpC,OAAO,GAAG,uBAAuB,qBAAqB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,kJAAkJ;AAClJ,MAAM,UAAU,uBAAuB;IACrC,OAAO,GAAG,uBAAuB,sBAAsB,CAAC;AAC1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"projectPaths.js","sourceRoot":"","sources":["../../src/projectWorkflow/projectPaths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAuB,CAAC;AAE9D,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,GAAG,uBAAuB,0BAA0B,KAAK,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,wBAAwB;IACtC,OAAO,GAAG,uBAAuB,uBAAuB,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,iIAAiI;AACjI,MAAM,UAAU,sBAAsB;IACpC,OAAO,GAAG,uBAAuB,qBAAqB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,kJAAkJ;AAClJ,MAAM,UAAU,uBAAuB;IACrC,OAAO,GAAG,uBAAuB,sBAAsB,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvE,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,0BAA0B;IACxC,OAAO,GAAG,uBAAuB,0BAA0B,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#0f172a;--panel:#1e293b;--border:#334155;--text:#e2e8f0;--text-dim:#94a3b8;--accent:#38bdf8;--error-bg:#450a0a;--error-border:#dc2626}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app-shell{flex-direction:column;height:100%;display:flex}.app-shell__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.app-shell__identity{flex-direction:column;line-height:1.2;display:flex}.app-shell__title{font-size:1rem;font-weight:600}.app-shell__subtitle{color:var(--text-dim);font-size:.8rem}.status-banner{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.4rem 1rem;font-size:.8rem;display:flex}.status-banner--loading,.status-banner--ok{color:var(--text-dim)}.status-banner--error{background:var(--error-bg);color:#fecaca;border-bottom-color:var(--error-border)}.app-shell__body{flex:1;grid-template-columns:220px 1fr 280px;min-height:0;display:grid}.app-shell__body--visual-change{display:block}.visual-change-workspace{grid-template-columns:minmax(220px,28%) 1fr;gap:1rem;display:grid}.visual-change-list,.attempt-timeline{padding-left:1.25rem}.visual-change-list button{text-align:left;width:100%;margin-bottom:.35rem;padding:.5rem}.visual-change-list button[aria-pressed=true]{border-color:var(--accent)}.visual-change-detail dl{grid-template-columns:minmax(10rem,14rem) 1fr;gap:.3rem 1rem;display:grid}.visual-change-detail dd{overflow-wrap:anywhere;margin:0}.visual-change-actions{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.visual-change-actions button{padding:.45rem .7rem}.attempt-timeline>li{border:1px solid var(--border);border-radius:6px;margin-bottom:.75rem;padding:.75rem}.app-shell__nav,.app-shell__workspace,.app-shell__details{padding:1rem;overflow:auto}.app-shell__nav{border-right:1px solid var(--border)}.app-shell__details{border-left:1px solid var(--border)}.placeholder-note{color:var(--text-dim);font-size:.85rem;line-height:1.5}.install-affordance{border:1px solid var(--border);border-radius:6px;padding:.35rem .7rem;font-size:.8rem}.install-affordance--available{background:var(--accent);color:#0f172a;border-color:var(--accent);cursor:pointer}.install-affordance--unavailable{color:var(--text-dim)}.evidence-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.evidence-list__truncated-note{color:var(--text-dim);font-size:.75rem}.evidence-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.4rem .5rem;font-size:.75rem;display:flex}.evidence-list__item--selected{border-color:var(--accent)}.evidence-list__family{font-weight:600}.evidence-list__id{color:var(--text-dim);font-family:monospace}.evidence-list__state{font-size:.7rem}.evidence-list__state--supported{color:#4ade80}.evidence-list__state--unsupported-version,.evidence-list__state--invalid-structure,.evidence-list__state--malformed-json,.evidence-list__state--unreadable{color:#f87171}.evidence-list__state--unrecognized-kind{color:var(--text-dim)}.evidence-list__error,.artifact-preview__error,.artifact-preview__unsupported{color:#fecaca;font-size:.85rem}.artifact-preview__summary{color:var(--text-dim);font-size:.85rem}.artifact-preview__raw{background:var(--panel);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:60vh;padding:.75rem;font-size:.7rem;overflow:auto}.evidence-details{font-size:.75rem}.evidence-details dt{color:var(--text-dim);margin-top:.5rem}.evidence-details dd{word-break:break-word;margin:.1rem 0 0}.observation-workspace{flex-direction:column;gap:.5rem;height:100%;font-size:.75rem;display:flex}.observation-workspace__toolbar{border-bottom:1px solid var(--border);gap:1rem;padding-bottom:.4rem;display:flex}.observation-workspace__toolbar label{cursor:pointer;align-items:center;gap:.3rem;display:flex}.observation-workspace__panes{flex:1;grid-template-columns:160px 1fr 260px;gap:.75rem;min-height:0;display:grid}.observation-workspace__targets,.observation-workspace__inspector{overflow:auto}.observation-workspace__visual{border:1px solid var(--border);background:#000;border-radius:6px;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.target-overlay-svg{width:100%;height:auto;display:block}.target-overlay-svg__rect{fill:#38bdf81f;stroke:var(--accent);stroke-width:2px;cursor:pointer;vector-effect:non-scaling-stroke}.target-overlay-svg__rect--selected{fill:#4ade8033;stroke:#4ade80}.target-overlay-svg__rect:focus-visible{outline:2px solid #facc15}.target-overlay-svg__label{fill:#f8fafc;paint-order:stroke;stroke:#0f172a;stroke-width:3px;font-size:12px}.target-overlay-svg__relationship{stroke:#facc15;stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.target-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.target-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;padding:.3rem .45rem;font-size:.7rem;display:flex}.target-list__item--selected{border-color:#4ade80}.target-list__item--not-found,.target-list__item--ambiguous,.target-list__item--unavailable{opacity:.75}.target-list__name{font-family:monospace;font-weight:600}.target-list__status{color:var(--text-dim)}.inspector h3,.inspector h4{margin:.4rem 0 .3rem;font-size:.8rem}.inspector__fields{margin:0}.evidence-field{margin-bottom:.4rem}.evidence-field dt{color:var(--text-dim);font-size:.68rem}.evidence-field dd{word-break:break-word;margin:0}.evidence-field__source{color:var(--text-dim);font-size:.65rem}.evidence-field--unavailable dd,.evidence-field--not-applicable dd{color:var(--text-dim);font-style:italic}.relationships-section__note{color:var(--text-dim);font-size:.68rem}.relationships-section__list{margin:.3rem 0;padding:0;list-style:none}.relationships-section__unresolved{color:var(--text-dim);font-size:.68rem}.inspector__error{color:#fecaca}.target-overlay-svg__rect--highlighted{stroke:#facc15;fill:#facc1526}.comparison-workspace,.evaluation-workspace{flex-direction:column;gap:.6rem;height:100%;font-size:.75rem;display:flex;overflow:auto}.comparability-banner{border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.comparability-banner--comparable{border-color:#4ade80}.comparability-banner--comparable-with-warnings{border-color:#facc15}.comparability-banner--incomparable{background:var(--error-bg);border-color:#f87171}.comparability-banner ul{margin:.3rem 0 0;padding-left:1rem}.comparability-reason--blocking{color:#fecaca}.comparability-reason--warning{color:#fde68a}.comparability-reason--unassessed{color:var(--text-dim)}.comparison-workspace__truncated{color:#fde68a;border:1px solid #facc15;border-radius:6px;padding:.4rem .6rem}.comparison-workspace__panes{grid-template-columns:1fr 1fr;gap:.75rem;min-height:260px;display:grid}.comparison-pane{border:1px solid var(--border);background:#000;border-radius:6px;padding:.4rem;overflow:auto}.comparison-pane__label{color:var(--text-dim);text-transform:uppercase;margin:0 0 .3rem;font-size:.7rem}.comparison-workspace__details,.evaluation-workspace__details{flex-direction:column;gap:.6rem;display:flex}.comparison-workspace__details section,.evaluation-workspace__details section{border-top:1px solid var(--border);padding-top:.4rem}.comparison-workspace__details h4,.evaluation-workspace__details h4{margin:0 0 .3rem;font-size:.75rem}.comparison-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.comparison-list__item{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:6px;padding:.3rem .45rem;font-size:.7rem}.comparison-list__item:disabled{cursor:default;opacity:.7}.comparison-list__meta{color:var(--text-dim);font-size:.65rem;display:block}.overall-verdict{text-align:center;border:2px solid var(--border);border-radius:8px;padding:.6rem .8rem;font-size:1rem}.overall-verdict--PASS{color:#4ade80;border-color:#4ade80}.overall-verdict--FAIL{color:#f87171;background:var(--error-bg);border-color:#f87171}.clause-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.clause-row{border:1px solid var(--border);border-radius:6px;padding:.3rem .45rem}.clause-row--fail{border-color:#f87171}.clause-row--pass{border-color:#4ade80}.clause-row--conflict{border-color:#fb923c}.clause-row--unavailable{border-color:var(--text-dim)}.clause-row__button{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;font-size:.7rem;display:flex}.clause-row__button:disabled{cursor:default}.clause-row__id{font-family:monospace;font-weight:600}.clause-row__badge{border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-size:.6rem}.clause-row__badge--active{color:#4ade80;border-color:#4ade80}.clause-row__badge--superseded{color:var(--text-dim)}.clause-row__category{color:var(--text-dim);text-transform:uppercase;font-size:.6rem}.clause-row__status{margin-left:auto}.clause-row__unresolved{color:#fde68a;margin:.2rem 0 0;font-size:.65rem}.clause-row__primitive{color:var(--text-dim);word-break:break-word;margin:.2rem 0 0;font-family:monospace;font-size:.62rem}.reference-region-overlay-svg__rect--has-requirement{stroke-dasharray:4 2}.reference-workspace{flex-direction:column;gap:.6rem;height:100%;font-size:.75rem;display:flex;overflow:auto}.reference-workspace__panes{grid-template-columns:1fr 1fr;gap:.75rem;min-height:260px;display:grid}.reference-pane{border:1px solid var(--border);border-radius:6px;padding:.4rem;overflow:auto}.reference-workspace__candidate-select,.reference-workspace__evaluation-select{flex-direction:column;gap:.2rem;margin-bottom:.4rem;font-size:.7rem;display:flex}.reference-workspace__candidate-select select,.reference-workspace__evaluation-select select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.2rem}.reference-workspace__details{flex-direction:column;gap:.6rem;display:flex}.reference-adequacy{border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;font-size:.7rem}.reference-adequacy--adequate{border-color:#4ade80}.reference-adequacy--partial{border-color:#facc15}.reference-adequacy--inadequate{border-color:#f87171}.target-overlay-svg--pannable{cursor:grab}.target-overlay-svg--pannable:active{cursor:grabbing}.zoom-controls{align-items:center;gap:.3rem;margin-bottom:.3rem;font-size:.68rem;display:flex}.zoom-controls button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.1rem .4rem}.zoom-controls__scale{color:var(--text-dim);text-align:center;min-width:3rem}.reference-workspace__lock{align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.68rem;display:flex}.reference-workspace__lock button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.15rem .5rem}.reference-workspace__lock button[aria-pressed=true]{color:#4ade80;border-color:#4ade80}.reference-workspace__lock button:disabled{cursor:default;opacity:.6}.reference-fidelity-panel{flex-direction:column;gap:.4rem;display:flex}.reference-fidelity-panel__toolbar button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.25rem .6rem}.reference-fidelity-panel__toolbar button:disabled{cursor:default;opacity:.7}.reference-fidelity-panel__units{color:var(--text-dim);font-size:.62rem}.reference-fidelity-state{border:2px solid var(--border);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.reference-fidelity-state--pass{color:#4ade80;border-color:#4ade80}.reference-fidelity-state--fail{color:#f87171;background:var(--error-bg);border-color:#f87171}.reference-fidelity-state--not-evaluated{border-color:var(--text-dim);color:var(--text-dim)}.reference-workspace__independence-note{color:#fde68a;border-top:1px solid var(--border);padding-top:.3rem;font-size:.7rem}.app-shell__mode-toggle{gap:.3rem;margin-left:auto;margin-right:.5rem;display:flex}.app-shell__mode-toggle button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.2rem .6rem;font-size:.75rem}.app-shell__mode-toggle button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.app-shell__body--context{display:block}.app-shell__workspace--context{height:100%;padding:.75rem;overflow:auto}.context-workspace{flex-direction:column;gap:.8rem;font-size:.78rem;display:flex}.context-workspace section{border-top:1px solid var(--border);padding-top:.5rem}.context-summary-grid{grid-template-columns:max-content 1fr;gap:.2rem .8rem;font-size:.8rem;display:grid}.context-summary-grid dt{color:var(--text-dim)}.context-adequacy-badge{border:1px solid var(--border);border-radius:4px;padding:.05rem .4rem;font-weight:600;display:inline-block}.context-adequacy-badge--adequate{color:#4ade80;border-color:#4ade80}.context-adequacy-badge--partial{color:#facc15;border-color:#facc15}.context-adequacy-badge--inadequate{color:#f87171;border-color:#f87171}.context-sources{flex-direction:column;gap:.4rem;display:flex}.context-source-row{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem .5rem;display:flex}.context-source-row__label{font-family:monospace}.context-source-row__status{border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;font-size:.7rem}.context-source-row__status--resolved{color:#4ade80;border-color:#4ade80}.context-source-row__status--ambiguous{color:#fb923c;border-color:#fb923c}.context-source-row__status--missing{border-color:var(--text-dim);color:var(--text-dim)}.context-target-source-list{margin:.3rem 0 0;padding-left:1rem;font-size:.7rem}.context-correlation-heading{color:var(--text-dim);margin:.2rem 0;font-size:.68rem}.context-correlation-row--selected{outline:1px solid var(--accent)}.context-required-loss{background:var(--error-bg);color:#fecaca;border:1px solid #f87171;border-radius:6px;padding:.4rem .6rem}.raw-evidence-viewer button{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.15rem .5rem;font-size:.68rem}.annotation-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding-bottom:.4rem;display:flex}.annotation-toolbar .zoom-controls{margin-bottom:0}.annotation-toolbar__modes{gap:.25rem;display:flex}.annotation-toolbar__mode,.annotation-panel__actions button,.annotation-panel__association-actions button,.annotation-panel__saved-item{background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:4px;padding:.15rem .5rem}.annotation-toolbar__mode--active{border-color:var(--accent);background:#38bdf833}.annotation-panel__actions button:disabled,.annotation-panel__association-actions button:disabled{opacity:.5;cursor:not-allowed}.annotation-toolbar__note{align-items:center;gap:.3rem;display:flex}.annotation-toolbar__note input{width:12rem;font:inherit}.annotation-toolbar__read-only,.annotation-panel__read-only{color:var(--text-dim);font-style:italic}.annotation-panel{border-bottom:1px solid var(--border);flex-direction:column;gap:.4rem;margin-bottom:.6rem;padding-bottom:.6rem;display:flex}.annotation-panel h3,.annotation-panel h4{margin:.2rem 0}.annotation-panel__saved-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.annotation-panel__saved-item{text-align:left;flex-direction:column;width:100%;display:flex}.annotation-panel__saved-item--active{border-color:#4ade80}.annotation-panel__saved-id{word-break:break-all;font-family:ui-monospace,monospace}.annotation-panel__saved-meta,.annotation-panel__parent,.annotation-panel__interpretation{color:var(--text-dim);word-break:break-all;margin:0}.annotation-panel__actions,.annotation-panel__association-actions{flex-wrap:wrap;gap:.3rem;display:flex}.annotation-panel__association-actions label,.annotation-panel__note-editor{flex-direction:column;gap:.2rem;width:100%;display:flex}.annotation-panel__note-editor textarea{min-height:3rem;font:inherit}.annotation-panel__status--success{color:#4ade80}.annotation-panel__error{color:#fca5a5;margin:0}.target-overlay-svg__rect--inert{pointer-events:none}.target-overlay-svg--mode-point,.target-overlay-svg--mode-rectangle,.target-overlay-svg--mode-line,.target-overlay-svg--mode-arrow,.target-overlay-svg--mode-note{cursor:crosshair;touch-action:none}.target-overlay-svg--mode-pan{touch-action:none}.annotation-layer .annotation-layer__mark{pointer-events:none}.annotation-layer--selectable .annotation-layer__mark{pointer-events:visiblePainted;cursor:move}.annotation-layer__mark:focus-visible{outline:2px solid #facc15}.annotation-layer__shape{fill:none;stroke:#f472b6;stroke-width:3px;vector-effect:non-scaling-stroke}.annotation-layer__shape--area{fill:#f472b61f}.annotation-layer__shape--filled{fill:#f472b6}.annotation-layer__note-text{fill:#fdf2f8;paint-order:stroke;stroke:#500724;stroke-width:3px;font-size:14px}.annotation-layer__mark--selected .annotation-layer__shape{stroke:#facc15}.annotation-layer__mark--selected .annotation-layer__shape--filled{fill:#facc15}.annotation-layer__mark--preview .annotation-layer__shape{stroke-dasharray:6 4;opacity:.8}.reference-workspace>*{flex-shrink:0}.reference-pane .annotation-toolbar{margin-bottom:.3rem}.annotation-panel__group{border:1px solid var(--border);border-radius:4px;margin:0;padding:.3rem .4rem}.annotation-panel__group legend{color:var(--text-dim);padding:0 .2rem}.annotation-panel__requirement-form{flex-wrap:wrap;align-items:flex-end;gap:.3rem;display:flex}.annotation-panel__requirement-form label,.annotation-panel__association-actions label{flex-direction:column;gap:.15rem;display:flex}.annotation-panel__requirement-form button{background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:4px;padding:.15rem .5rem}.annotation-panel__requirement-form button:disabled{opacity:.5;cursor:not-allowed}.annotation-panel__hint{color:var(--text-dim);font-style:italic}.annotation-panel__intent{background:var(--panel);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;border-radius:4px;margin:0;padding:.3rem}.annotation-panel__proposal-list{word-break:break-all;margin:0;padding-left:1rem}.candidate-region-preview{pointer-events:none}.candidate-region-preview__rect{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke}.candidate-region-preview__rect--create{stroke:#34d399;stroke-dasharray:8 4;fill:#34d3991a}.candidate-region-preview__rect--refine-original{stroke:#94a3b8;stroke-dasharray:2 3}.candidate-region-preview__rect--refine-candidate{stroke:#fb923c;stroke-dasharray:8 4;fill:#fb923c1a}.candidate-region-preview__label{fill:#ecfdf5;paint-order:stroke;stroke:#022c22;stroke-width:3px;font-size:11px}.annotation-panel__promotion{border-top:1px solid var(--border);flex-direction:column;gap:.3rem;padding-top:.4rem;display:flex}.annotation-panel__promotion button,.annotation-panel__group>button{background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:4px;align-self:flex-start;padding:.15rem .5rem}.annotation-panel__promotion button:disabled,.annotation-panel__group>button:disabled{opacity:.5;cursor:not-allowed}.annotation-panel__promotion-status{color:var(--text-dim);margin:.3rem 0}.annotation-panel__materialization .annotation-panel__status p{margin:0}
|