project-tiny-context-harness 0.8.4 → 0.8.6
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/LICENSE +21 -21
- package/README.md +394 -363
- package/assets/README.md +570 -514
- package/assets/README.zh-CN.md +331 -300
- package/assets/agents/.gitkeep +1 -1
- package/assets/agents/AGENTS_CORE.md +45 -25
- package/assets/context_templates/architecture.md +26 -25
- package/assets/context_templates/area.md +32 -31
- package/assets/context_templates/context.toml +30 -24
- package/assets/context_templates/deployment.md +35 -35
- package/assets/context_templates/global.md +57 -57
- package/assets/context_templates/product-surface-contract.md +70 -70
- package/assets/context_templates/screen-contract.md +189 -189
- package/assets/context_templates/verification.md +31 -30
- package/assets/github/.gitkeep +1 -1
- package/assets/github/harness.yml +39 -39
- package/assets/make/.gitkeep +1 -1
- package/assets/make/ty-context.mk +48 -48
- package/assets/skills/context_development_engineer/SKILL.md +155 -122
- package/assets/skills/context_full_project_export/SKILL.md +28 -28
- package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
- package/assets/skills/context_product_plan/SKILL.md +99 -79
- package/assets/skills/context_surface_contract/SKILL.md +191 -191
- package/assets/skills/context_uiux_design/SKILL.md +171 -171
- package/assets/skills/design-resource-authoring/SKILL.md +86 -84
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +138 -123
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +132 -127
- package/assets/skills/design-resource-authoring/references/resource-selection.md +181 -154
- package/assets/skills/design-system-authoring/SKILL.md +57 -57
- package/assets/skills/design-system-authoring/agents/openai.yaml +6 -6
- package/assets/skills/design-system-authoring/references/authority-adoption.md +48 -48
- package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +110 -110
- package/assets/skills/long-task-workflow/SKILL.md +98 -92
- package/assets/skills/long-task-workflow/agents/openai.yaml +3 -1
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +72 -72
- package/assets/skills/long-task-workflow/references/contract-authoring.md +122 -101
- package/assets/skills/long-task-workflow/references/evidence-design.md +82 -61
- package/assets/skills/long-task-workflow/references/source-authoring.md +109 -90
- package/assets/skills/source-plan-authoring/SKILL.md +14 -14
- package/assets/tools/validate_context.py +442 -442
- package/dist/commands/long-task-authoring.js +27 -2
- package/dist/lib/context-default-footprint.js +2 -0
- package/dist/lib/context-manifest.js +6 -0
- package/dist/lib/context-templates.js +1 -1
- package/dist/lib/design-resource-fact-enums.d.ts +20 -0
- package/dist/lib/design-resource-fact-enums.js +170 -0
- package/dist/lib/design-resource-fact-locator-extractors.d.ts +8 -0
- package/dist/lib/design-resource-fact-locator-extractors.js +108 -0
- package/dist/lib/design-resource-fact-locator-resolver.d.ts +3 -0
- package/dist/lib/design-resource-fact-locator-resolver.js +112 -0
- package/dist/lib/design-resource-fact-locator-validation.d.ts +5 -0
- package/dist/lib/design-resource-fact-locator-validation.js +16 -0
- package/dist/lib/design-resource-fact-manifest-catalog.d.ts +4 -0
- package/dist/lib/design-resource-fact-manifest-catalog.js +249 -0
- package/dist/lib/design-resource-fact-manifest-model.d.ts +91 -0
- package/dist/lib/design-resource-fact-manifest-model.js +21 -0
- package/dist/lib/design-resource-fact-manifest-shape-axes.d.ts +6 -0
- package/dist/lib/design-resource-fact-manifest-shape-axes.js +159 -0
- package/dist/lib/design-resource-fact-manifest-shape-evidence.d.ts +4 -0
- package/dist/lib/design-resource-fact-manifest-shape-evidence.js +59 -0
- package/dist/lib/design-resource-fact-manifest-shape-facts.d.ts +4 -0
- package/dist/lib/design-resource-fact-manifest-shape-facts.js +109 -0
- package/dist/lib/design-resource-fact-manifest-shape-inspector.d.ts +5 -0
- package/dist/lib/design-resource-fact-manifest-shape-inspector.js +144 -0
- package/dist/lib/design-resource-fact-manifest-shape.d.ts +7 -0
- package/dist/lib/design-resource-fact-manifest-shape.js +75 -0
- package/dist/lib/design-resource-fact-manifest-types.d.ts +3 -0
- package/dist/lib/design-resource-fact-manifest-types.js +3 -0
- package/dist/lib/design-resource-fact-manifest-universe.d.ts +5 -0
- package/dist/lib/design-resource-fact-manifest-universe.js +50 -0
- package/dist/lib/design-resource-fact-manifest-validation.d.ts +3 -0
- package/dist/lib/design-resource-fact-manifest-validation.js +106 -0
- package/dist/lib/design-resource-fact-policy.d.ts +18 -0
- package/dist/lib/design-resource-fact-policy.js +72 -1
- package/dist/lib/design-resource-fact-property-methods.d.ts +3 -0
- package/dist/lib/design-resource-fact-property-methods.js +158 -0
- package/dist/lib/design-resource-fact-shape-primitives.d.ts +3 -0
- package/dist/lib/design-resource-fact-shape-primitives.js +18 -0
- package/dist/lib/design-resource-fact-types.d.ts +164 -0
- package/dist/lib/design-resource-fact-types.js +1 -0
- package/dist/lib/design-resource-fact-universe-assets.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-assets.js +71 -0
- package/dist/lib/design-resource-fact-universe-catalog.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-catalog.js +151 -0
- package/dist/lib/design-resource-fact-universe-conditions.d.ts +2 -0
- package/dist/lib/design-resource-fact-universe-conditions.js +92 -0
- package/dist/lib/design-resource-fact-universe-facts.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-facts.js +108 -0
- package/dist/lib/design-resource-fact-universe-helpers.d.ts +30 -0
- package/dist/lib/design-resource-fact-universe-helpers.js +167 -0
- package/dist/lib/design-resource-fact-universe-inspector.d.ts +7 -0
- package/dist/lib/design-resource-fact-universe-inspector.js +119 -0
- package/dist/lib/design-resource-fact-universe-proof.d.ts +4 -0
- package/dist/lib/design-resource-fact-universe-proof.js +113 -0
- package/dist/lib/design-resource-fact-universe-subjects.d.ts +5 -0
- package/dist/lib/design-resource-fact-universe-subjects.js +97 -0
- package/dist/lib/design-resource-fact-universe-variations.d.ts +2 -0
- package/dist/lib/design-resource-fact-universe-variations.js +75 -0
- package/dist/lib/design-resource-fact-value-validation.d.ts +2 -0
- package/dist/lib/design-resource-fact-value-validation.js +80 -0
- package/dist/lib/design-resource-handoff-file-primitives.js +2 -0
- package/dist/lib/design-resource-handoff-file-validation.js +13 -100
- package/dist/lib/design-resource-handoff-policy.d.ts +1 -0
- package/dist/lib/design-resource-handoff-policy.js +118 -11
- package/dist/lib/design-resource-handoff-shape-evidence.js +46 -3
- package/dist/lib/design-resource-handoff-shape-primitives.d.ts +5 -0
- package/dist/lib/design-resource-handoff-shape-primitives.js +28 -0
- package/dist/lib/design-resource-handoff-shape-structure.js +143 -22
- package/dist/lib/design-resource-handoff-shape.js +25 -0
- package/dist/lib/design-resource-handoff-types.d.ts +97 -21
- package/dist/lib/design-resource-handoff-types.js +22 -0
- package/dist/lib/design-resource-handoff-validation-coverage.d.ts +1 -1
- package/dist/lib/design-resource-handoff-validation-coverage.js +145 -118
- package/dist/lib/design-resource-handoff-validation-fact-cells.d.ts +2 -0
- package/dist/lib/design-resource-handoff-validation-fact-cells.js +60 -0
- package/dist/lib/design-resource-handoff-validation-fact-records.d.ts +2 -0
- package/dist/lib/design-resource-handoff-validation-fact-records.js +90 -0
- package/dist/lib/design-resource-handoff-validation-facts.js +10 -94
- package/dist/lib/design-resource-handoff-validation-proofs.d.ts +2 -0
- package/dist/lib/design-resource-handoff-validation-proofs.js +67 -0
- package/dist/lib/design-resource-handoff-validation-resource-closure.d.ts +3 -0
- package/dist/lib/design-resource-handoff-validation-resource-closure.js +88 -0
- package/dist/lib/design-resource-handoff-validation-structure.js +43 -14
- package/dist/lib/design-resource-handoff-validation.js +32 -0
- package/dist/lib/design-resource-handoff-web-dependency-validation.d.ts +2 -1
- package/dist/lib/design-resource-handoff-web-dependency-validation.js +67 -7
- package/dist/lib/execution-target-capabilities.d.ts +1 -1
- package/dist/lib/execution-target-capabilities.js +14 -0
- package/dist/lib/long-task-activation-validation.js +6 -2
- package/dist/lib/long-task-applicability-shape.js +3 -3
- package/dist/lib/long-task-authoring-authority-preview.js +1 -0
- package/dist/lib/long-task-authority-policy.d.ts +1 -0
- package/dist/lib/long-task-authority-policy.js +1 -0
- package/dist/lib/long-task-authority.js +13 -0
- package/dist/lib/long-task-claim-definitions.js +13 -1
- package/dist/lib/long-task-claims.js +23 -1
- package/dist/lib/long-task-contract-types.d.ts +3 -0
- package/dist/lib/long-task-delivery-compiler.js +1 -0
- package/dist/lib/long-task-delivery-parser.js +11 -1
- package/dist/lib/long-task-delivery-types.d.ts +1 -0
- package/dist/lib/long-task-delivery-types.js +1 -0
- package/dist/lib/long-task-delivery-validation.js +17 -0
- package/dist/lib/long-task-design-resource-handoff.js +62 -38
- package/dist/lib/long-task-design-target-capabilities.d.ts +14 -0
- package/dist/lib/long-task-design-target-capabilities.js +126 -0
- package/dist/lib/long-task-evidence-capability-codec.d.ts +94 -0
- package/dist/lib/long-task-evidence-capability-codec.js +395 -22
- package/dist/lib/long-task-evidence-capability-policy.js +18 -0
- package/dist/lib/long-task-evidence-capability-runtime.js +78 -0
- package/dist/lib/long-task-evidence-capability-types.d.ts +114 -1
- package/dist/lib/long-task-outcome-parser.js +4 -0
- package/dist/lib/long-task-playwright-capability-records.d.ts +5 -0
- package/dist/lib/long-task-playwright-capability-records.js +146 -0
- package/dist/lib/long-task-playwright-case-evidence.d.ts +3 -2
- package/dist/lib/long-task-playwright-case-evidence.js +10 -79
- package/dist/lib/long-task-playwright-case-primitives.d.ts +28 -0
- package/dist/lib/long-task-playwright-case-primitives.js +143 -0
- package/dist/lib/long-task-playwright-evidence.d.ts +1 -1
- package/dist/lib/long-task-playwright-evidence.js +10 -75
- package/dist/lib/long-task-runner-freeze.d.ts +2 -2
- package/dist/lib/long-task-runner-freeze.js +15 -1
- package/dist/lib/long-task-runtime-types.d.ts +4 -1
- package/dist/lib/long-task-semantic-contract-types.d.ts +1 -1
- package/dist/lib/long-task-semantic-drift-migration.js +2 -2
- package/dist/lib/long-task-semantic-fact-binding-types.d.ts +57 -0
- package/dist/lib/long-task-semantic-fact-binding-types.js +1 -0
- package/dist/lib/long-task-semantic-fact-closure-primitives.d.ts +5 -0
- package/dist/lib/long-task-semantic-fact-closure-primitives.js +43 -0
- package/dist/lib/long-task-semantic-fact-closure.d.ts +13 -0
- package/dist/lib/long-task-semantic-fact-closure.js +48 -0
- package/dist/lib/long-task-semantic-fact-contract-closure.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-contract-closure.js +24 -0
- package/dist/lib/long-task-semantic-fact-contract-facts.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-contract-facts.js +30 -0
- package/dist/lib/long-task-semantic-fact-contract-proofs.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-contract-proofs.js +97 -0
- package/dist/lib/long-task-semantic-fact-evidence.d.ts +21 -0
- package/dist/lib/long-task-semantic-fact-evidence.js +165 -0
- package/dist/lib/long-task-semantic-fact-input-closure.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-input-closure.js +101 -0
- package/dist/lib/long-task-semantic-fact-provenance-closure.d.ts +4 -0
- package/dist/lib/long-task-semantic-fact-provenance-closure.js +140 -0
- package/dist/lib/long-task-semantic-fact-shape.d.ts +3 -0
- package/dist/lib/long-task-semantic-fact-shape.js +89 -0
- package/dist/lib/long-task-semantic-fact-value-closure.d.ts +3 -0
- package/dist/lib/long-task-semantic-fact-value-closure.js +110 -0
- package/dist/lib/long-task-shape-primitives.d.ts +2 -1
- package/dist/lib/long-task-shape-primitives.js +7 -0
- package/dist/lib/long-task-source-item-parser.js +25 -6
- package/dist/lib/long-task-source-target-continuity.js +4 -1
- package/dist/lib/long-task-source-target-index.d.ts +1 -1
- package/dist/lib/long-task-source-target-index.js +5 -1
- package/dist/lib/long-task-ui-design-policy.js +8 -4
- package/dist/lib/long-task-ui-surface-shape.js +83 -1
- package/dist/lib/long-task-ui-surface-types.d.ts +29 -0
- package/dist/lib/modularity.js +7 -1
- package/dist/lib/semantic-fact-base-types.d.ts +14 -0
- package/dist/lib/semantic-fact-base-types.js +1 -0
- package/dist/lib/semantic-fact-catalog.d.ts +8 -0
- package/dist/lib/semantic-fact-catalog.js +191 -0
- package/dist/lib/semantic-fact-condition-shape.d.ts +48 -0
- package/dist/lib/semantic-fact-condition-shape.js +111 -0
- package/dist/lib/semantic-fact-input-shape.d.ts +34 -0
- package/dist/lib/semantic-fact-input-shape.js +111 -0
- package/dist/lib/semantic-fact-inventory-types.d.ts +147 -0
- package/dist/lib/semantic-fact-inventory-types.js +1 -0
- package/dist/lib/semantic-fact-manifest-shape.d.ts +4 -0
- package/dist/lib/semantic-fact-manifest-shape.js +135 -0
- package/dist/lib/semantic-fact-manifest-types.d.ts +58 -0
- package/dist/lib/semantic-fact-manifest-types.js +19 -0
- package/dist/lib/semantic-fact-policy-authority.d.ts +8 -0
- package/dist/lib/semantic-fact-policy-authority.js +79 -0
- package/dist/lib/semantic-fact-policy-census.d.ts +2 -0
- package/dist/lib/semantic-fact-policy-census.js +80 -0
- package/dist/lib/semantic-fact-policy-condition-references.d.ts +7 -0
- package/dist/lib/semantic-fact-policy-condition-references.js +19 -0
- package/dist/lib/semantic-fact-policy-conditions.d.ts +2 -0
- package/dist/lib/semantic-fact-policy-conditions.js +105 -0
- package/dist/lib/semantic-fact-policy-facts.d.ts +3 -0
- package/dist/lib/semantic-fact-policy-facts.js +73 -0
- package/dist/lib/semantic-fact-policy-primitives.d.ts +26 -0
- package/dist/lib/semantic-fact-policy-primitives.js +169 -0
- package/dist/lib/semantic-fact-policy-proofs.d.ts +2 -0
- package/dist/lib/semantic-fact-policy-proofs.js +75 -0
- package/dist/lib/semantic-fact-policy-properties.d.ts +3 -0
- package/dist/lib/semantic-fact-policy-properties.js +84 -0
- package/dist/lib/semantic-fact-policy-units.d.ts +4 -0
- package/dist/lib/semantic-fact-policy-units.js +103 -0
- package/dist/lib/semantic-fact-policy.d.ts +17 -0
- package/dist/lib/semantic-fact-policy.js +41 -0
- package/dist/lib/semantic-fact-proof-shape.d.ts +51 -0
- package/dist/lib/semantic-fact-proof-shape.js +121 -0
- package/dist/lib/semantic-fact-proof-types.d.ts +74 -0
- package/dist/lib/semantic-fact-proof-types.js +1 -0
- package/dist/lib/semantic-fact-property-shape.d.ts +29 -0
- package/dist/lib/semantic-fact-property-shape.js +77 -0
- package/dist/lib/semantic-fact-shape-constants.d.ts +3 -0
- package/dist/lib/semantic-fact-shape-constants.js +38 -0
- package/dist/lib/semantic-fact-shape-primitives.d.ts +15 -0
- package/dist/lib/semantic-fact-shape-primitives.js +68 -0
- package/dist/lib/semantic-fact-source-parser.d.ts +9 -0
- package/dist/lib/semantic-fact-source-parser.js +46 -0
- package/dist/lib/semantic-fact-support-shape.d.ts +21 -0
- package/dist/lib/semantic-fact-support-shape.js +59 -0
- package/dist/lib/semantic-fact-types.d.ts +5 -0
- package/dist/lib/semantic-fact-types.js +5 -0
- package/dist/lib/semantic-fact-unit-shape.d.ts +34 -0
- package/dist/lib/semantic-fact-unit-shape.js +89 -0
- package/dist/lib/semantic-fact-value-shape.d.ts +12 -0
- package/dist/lib/semantic-fact-value-shape.js +39 -0
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +1339 -131
- package/migrations/README.md +15 -15
- package/package.json +84 -84
- package/source-mappings.yaml +25 -25
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DESIGN_RESOURCE_SUBJECT_KINDS, DESIGN_RESOURCE_SUBJECT_PRESENCE_KINDS, } from "./design-resource-fact-manifest-types.js";
|
|
2
|
+
import { atomicAxisValue, contractKey, contractKeys, designResourceShapeFail, nonnegativeNumber, positiveInteger, positiveNumber, stableKey, stableKeys, } from "./design-resource-handoff-shape-primitives.js";
|
|
3
|
+
import { array, literal, nullable, object, repositoryFile, string, } from "./long-task-shape-primitives.js";
|
|
3
4
|
const SHA256 = /^[a-f0-9]{64}$/u;
|
|
4
5
|
export function parseDesignResourceHandoffResources(value) {
|
|
5
6
|
return array(value, "design_resource_handoff.resources").map((item, index) => {
|
|
@@ -36,31 +37,123 @@ export function parseDesignResourceHandoffConditions(value) {
|
|
|
36
37
|
const row = object(item, label, [
|
|
37
38
|
"key",
|
|
38
39
|
"platform",
|
|
40
|
+
"os_version",
|
|
41
|
+
"device_profile",
|
|
42
|
+
"form_factor",
|
|
39
43
|
"viewport",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
+
"orientation",
|
|
45
|
+
"density",
|
|
46
|
+
"safe_area",
|
|
47
|
+
"window_state",
|
|
48
|
+
"fold_state",
|
|
49
|
+
"display_mode",
|
|
50
|
+
"color_scheme",
|
|
51
|
+
"locale",
|
|
52
|
+
"language",
|
|
53
|
+
"script",
|
|
54
|
+
"direction",
|
|
55
|
+
"pseudo_localization",
|
|
56
|
+
"content_case",
|
|
57
|
+
"data_case",
|
|
58
|
+
"text_scale",
|
|
59
|
+
"input_method",
|
|
60
|
+
"assistive_technology",
|
|
44
61
|
"motion",
|
|
62
|
+
"transparency",
|
|
63
|
+
"contrast",
|
|
64
|
+
"bold_text",
|
|
65
|
+
"button_shapes",
|
|
66
|
+
"system_ui",
|
|
67
|
+
"ime",
|
|
68
|
+
"permission",
|
|
69
|
+
"capability",
|
|
70
|
+
"connectivity",
|
|
71
|
+
"lifecycle",
|
|
72
|
+
"custom_axes",
|
|
45
73
|
]);
|
|
46
74
|
const viewport = object(row.viewport, `${label}.viewport`, [
|
|
75
|
+
"key",
|
|
47
76
|
"width",
|
|
48
77
|
"height",
|
|
49
78
|
"unit",
|
|
50
79
|
]);
|
|
80
|
+
const density = object(row.density, `${label}.density`, [
|
|
81
|
+
"key",
|
|
82
|
+
"pixel_ratio",
|
|
83
|
+
]);
|
|
84
|
+
const safeArea = object(row.safe_area, `${label}.safe_area`, [
|
|
85
|
+
"key",
|
|
86
|
+
"top",
|
|
87
|
+
"right",
|
|
88
|
+
"bottom",
|
|
89
|
+
"left",
|
|
90
|
+
"unit",
|
|
91
|
+
]);
|
|
92
|
+
const textScale = object(row.text_scale, `${label}.text_scale`, [
|
|
93
|
+
"key",
|
|
94
|
+
"multiplier",
|
|
95
|
+
]);
|
|
51
96
|
return {
|
|
52
97
|
key: contractKey(row.key, `${label}.key`),
|
|
53
|
-
platform:
|
|
98
|
+
platform: atomicAxisValue(row.platform, `${label}.platform`),
|
|
99
|
+
os_version: atomicAxisValue(row.os_version, `${label}.os_version`),
|
|
100
|
+
device_profile: atomicAxisValue(row.device_profile, `${label}.device_profile`),
|
|
101
|
+
form_factor: atomicAxisValue(row.form_factor, `${label}.form_factor`),
|
|
54
102
|
viewport: {
|
|
103
|
+
key: atomicAxisValue(viewport.key, `${label}.viewport.key`),
|
|
55
104
|
width: positiveInteger(viewport.width, `${label}.viewport.width`),
|
|
56
105
|
height: positiveInteger(viewport.height, `${label}.viewport.height`),
|
|
57
106
|
unit: literal(viewport.unit, ["px"], `${label}.viewport.unit`),
|
|
58
107
|
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
108
|
+
orientation: atomicAxisValue(row.orientation, `${label}.orientation`),
|
|
109
|
+
density: {
|
|
110
|
+
key: atomicAxisValue(density.key, `${label}.density.key`),
|
|
111
|
+
pixel_ratio: positiveNumber(density.pixel_ratio, `${label}.density.pixel_ratio`),
|
|
112
|
+
},
|
|
113
|
+
safe_area: {
|
|
114
|
+
key: atomicAxisValue(safeArea.key, `${label}.safe_area.key`),
|
|
115
|
+
top: nonnegativeNumber(safeArea.top, `${label}.safe_area.top`),
|
|
116
|
+
right: nonnegativeNumber(safeArea.right, `${label}.safe_area.right`),
|
|
117
|
+
bottom: nonnegativeNumber(safeArea.bottom, `${label}.safe_area.bottom`),
|
|
118
|
+
left: nonnegativeNumber(safeArea.left, `${label}.safe_area.left`),
|
|
119
|
+
unit: literal(safeArea.unit, ["px"], `${label}.safe_area.unit`),
|
|
120
|
+
},
|
|
121
|
+
window_state: atomicAxisValue(row.window_state, `${label}.window_state`),
|
|
122
|
+
fold_state: atomicAxisValue(row.fold_state, `${label}.fold_state`),
|
|
123
|
+
display_mode: atomicAxisValue(row.display_mode, `${label}.display_mode`),
|
|
124
|
+
color_scheme: atomicAxisValue(row.color_scheme, `${label}.color_scheme`),
|
|
125
|
+
locale: atomicAxisValue(row.locale, `${label}.locale`),
|
|
126
|
+
language: atomicAxisValue(row.language, `${label}.language`),
|
|
127
|
+
script: atomicAxisValue(row.script, `${label}.script`),
|
|
128
|
+
direction: literal(row.direction, ["ltr", "rtl", "not_applicable"], `${label}.direction`),
|
|
129
|
+
pseudo_localization: atomicAxisValue(row.pseudo_localization, `${label}.pseudo_localization`),
|
|
130
|
+
content_case: atomicAxisValue(row.content_case, `${label}.content_case`),
|
|
131
|
+
data_case: atomicAxisValue(row.data_case, `${label}.data_case`),
|
|
132
|
+
text_scale: {
|
|
133
|
+
key: atomicAxisValue(textScale.key, `${label}.text_scale.key`),
|
|
134
|
+
multiplier: positiveNumber(textScale.multiplier, `${label}.text_scale.multiplier`),
|
|
135
|
+
},
|
|
136
|
+
input_method: atomicAxisValue(row.input_method, `${label}.input_method`),
|
|
137
|
+
assistive_technology: atomicAxisValue(row.assistive_technology, `${label}.assistive_technology`),
|
|
138
|
+
motion: atomicAxisValue(row.motion, `${label}.motion`),
|
|
139
|
+
transparency: atomicAxisValue(row.transparency, `${label}.transparency`),
|
|
140
|
+
contrast: atomicAxisValue(row.contrast, `${label}.contrast`),
|
|
141
|
+
bold_text: atomicAxisValue(row.bold_text, `${label}.bold_text`),
|
|
142
|
+
button_shapes: atomicAxisValue(row.button_shapes, `${label}.button_shapes`),
|
|
143
|
+
system_ui: atomicAxisValue(row.system_ui, `${label}.system_ui`),
|
|
144
|
+
ime: atomicAxisValue(row.ime, `${label}.ime`),
|
|
145
|
+
permission: atomicAxisValue(row.permission, `${label}.permission`),
|
|
146
|
+
capability: atomicAxisValue(row.capability, `${label}.capability`),
|
|
147
|
+
connectivity: atomicAxisValue(row.connectivity, `${label}.connectivity`),
|
|
148
|
+
lifecycle: atomicAxisValue(row.lifecycle, `${label}.lifecycle`),
|
|
149
|
+
custom_axes: array(row.custom_axes, `${label}.custom_axes`).map((item, itemIndex) => {
|
|
150
|
+
const itemLabel = `${label}.custom_axes[${itemIndex}]`;
|
|
151
|
+
const custom = object(item, itemLabel, ["axis_ref", "value_ref"]);
|
|
152
|
+
return {
|
|
153
|
+
axis_ref: stableKey(custom.axis_ref, `${itemLabel}.axis_ref`),
|
|
154
|
+
value_ref: atomicAxisValue(custom.value_ref, `${itemLabel}.value_ref`),
|
|
155
|
+
};
|
|
156
|
+
}),
|
|
64
157
|
};
|
|
65
158
|
});
|
|
66
159
|
}
|
|
@@ -72,20 +165,41 @@ export function parseDesignResourceHandoffSubjects(value) {
|
|
|
72
165
|
"kind",
|
|
73
166
|
"stable_keys",
|
|
74
167
|
"target_refs",
|
|
168
|
+
"parent_ref",
|
|
169
|
+
"instance_of_ref",
|
|
170
|
+
"slot_key",
|
|
171
|
+
"override_of_ref",
|
|
172
|
+
"family_ref",
|
|
173
|
+
"presence",
|
|
174
|
+
"presence_rule_ref",
|
|
175
|
+
"population_ref",
|
|
176
|
+
"portal_host_ref",
|
|
177
|
+
"relation_endpoints",
|
|
178
|
+
"census_refs",
|
|
75
179
|
]);
|
|
76
180
|
return {
|
|
77
181
|
key: stableKey(row.key, `${label}.key`),
|
|
78
|
-
kind: literal(row.kind,
|
|
79
|
-
"surface",
|
|
80
|
-
"flow",
|
|
81
|
-
"region",
|
|
82
|
-
"component_family",
|
|
83
|
-
"control",
|
|
84
|
-
"state",
|
|
85
|
-
"asset",
|
|
86
|
-
], `${label}.kind`),
|
|
182
|
+
kind: literal(row.kind, DESIGN_RESOURCE_SUBJECT_KINDS, `${label}.kind`),
|
|
87
183
|
stable_keys: stableKeys(row.stable_keys, `${label}.stable_keys`),
|
|
88
184
|
target_refs: contractKeys(row.target_refs, `${label}.target_refs`),
|
|
185
|
+
parent_ref: nullable(row.parent_ref, (item) => stableKey(item, `${label}.parent_ref`)),
|
|
186
|
+
instance_of_ref: nullable(row.instance_of_ref, (item) => stableKey(item, `${label}.instance_of_ref`)),
|
|
187
|
+
slot_key: nullable(row.slot_key, (item) => stableKey(item, `${label}.slot_key`)),
|
|
188
|
+
override_of_ref: nullable(row.override_of_ref, (item) => stableKey(item, `${label}.override_of_ref`)),
|
|
189
|
+
family_ref: nullable(row.family_ref, (item) => stableKey(item, `${label}.family_ref`)),
|
|
190
|
+
presence: literal(row.presence, DESIGN_RESOURCE_SUBJECT_PRESENCE_KINDS, `${label}.presence`),
|
|
191
|
+
presence_rule_ref: nullable(row.presence_rule_ref, (item) => stableKey(item, `${label}.presence_rule_ref`)),
|
|
192
|
+
population_ref: nullable(row.population_ref, (item) => stableKey(item, `${label}.population_ref`)),
|
|
193
|
+
portal_host_ref: nullable(row.portal_host_ref, (item) => stableKey(item, `${label}.portal_host_ref`)),
|
|
194
|
+
relation_endpoints: array(row.relation_endpoints, `${label}.relation_endpoints`).map((endpoint, endpointIndex) => {
|
|
195
|
+
const endpointLabel = `${label}.relation_endpoints[${endpointIndex}]`;
|
|
196
|
+
const parsed = object(endpoint, endpointLabel, ["role", "subject_ref"]);
|
|
197
|
+
return {
|
|
198
|
+
role: stableKey(parsed.role, `${endpointLabel}.role`),
|
|
199
|
+
subject_ref: stableKey(parsed.subject_ref, `${endpointLabel}.subject_ref`),
|
|
200
|
+
};
|
|
201
|
+
}),
|
|
202
|
+
census_refs: stableKeys(row.census_refs, `${label}.census_refs`),
|
|
89
203
|
};
|
|
90
204
|
});
|
|
91
205
|
}
|
|
@@ -100,7 +214,13 @@ export function parseDesignResourceHandoffTargets(value) {
|
|
|
100
214
|
"source_profile",
|
|
101
215
|
"selection_basis",
|
|
102
216
|
]);
|
|
103
|
-
const sourceProfile = object(row.source_profile, `${label}.source_profile`, [
|
|
217
|
+
const sourceProfile = object(row.source_profile, `${label}.source_profile`, [
|
|
218
|
+
"kind",
|
|
219
|
+
"entry_resource_ref",
|
|
220
|
+
"dependency_resource_refs",
|
|
221
|
+
"fact_manifest_resource_ref",
|
|
222
|
+
"acquisition",
|
|
223
|
+
]);
|
|
104
224
|
return {
|
|
105
225
|
key: contractKey(row.key, `${label}.key`),
|
|
106
226
|
interpretation: literal(row.interpretation, ["exact_target", "constraint"], `${label}.interpretation`),
|
|
@@ -110,6 +230,7 @@ export function parseDesignResourceHandoffTargets(value) {
|
|
|
110
230
|
kind: literal(sourceProfile.kind, ["implementation_web", "implementation_app", "reference"], `${label}.source_profile.kind`),
|
|
111
231
|
entry_resource_ref: stableKey(sourceProfile.entry_resource_ref, `${label}.source_profile.entry_resource_ref`),
|
|
112
232
|
dependency_resource_refs: stableKeys(sourceProfile.dependency_resource_refs, `${label}.source_profile.dependency_resource_refs`),
|
|
233
|
+
fact_manifest_resource_ref: stableKey(sourceProfile.fact_manifest_resource_ref, `${label}.source_profile.fact_manifest_resource_ref`),
|
|
113
234
|
acquisition: literal(sourceProfile.acquisition, ["complete"], `${label}.source_profile.acquisition`),
|
|
114
235
|
},
|
|
115
236
|
selection_basis: string(row.selection_basis, `${label}.selection_basis`),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseDesignResourceAssetBindings, parseDesignResourceAxisDispositions, parseDesignResourceConditionExclusions, parseDesignResourceEnvironments, parseDesignResourceFactCells, parseDesignResourceLineageNodes, parseDesignResourceOracles, parseDesignResourceProofObligations, parseDesignResourceProperties, parseDesignResourceVariationAxisDispositions, parseDesignResourceVariationExclusions, parseDesignResourceVariations, } from "./design-resource-fact-manifest-shape.js";
|
|
1
2
|
import { parseDesignResourceHandoffBlockers, parseDesignResourceHandoffCoverage, parseDesignResourceHandoffEvidence, parseDesignResourceHandoffFacts, parseDesignResourceHandoffResourceFactClosure, } from "./design-resource-handoff-shape-evidence.js";
|
|
2
3
|
import { contractKey, stableKeys, } from "./design-resource-handoff-shape-primitives.js";
|
|
3
4
|
import { parseDesignResourceHandoffConditions, parseDesignResourceHandoffResources, parseDesignResourceHandoffSubjects, parseDesignResourceHandoffTargets, } from "./design-resource-handoff-shape-structure.js";
|
|
@@ -9,11 +10,23 @@ export function parseDesignResourceHandoffShape(value) {
|
|
|
9
10
|
"scope",
|
|
10
11
|
"provenance",
|
|
11
12
|
"resources",
|
|
13
|
+
"axis_dispositions",
|
|
14
|
+
"condition_exclusions",
|
|
12
15
|
"conditions",
|
|
13
16
|
"subjects",
|
|
17
|
+
"variation_axis_dispositions",
|
|
18
|
+
"variation_exclusions",
|
|
19
|
+
"variations",
|
|
20
|
+
"properties",
|
|
21
|
+
"lineage_nodes",
|
|
14
22
|
"targets",
|
|
15
23
|
"evidence",
|
|
24
|
+
"fact_cells",
|
|
16
25
|
"facts",
|
|
26
|
+
"proof_obligations",
|
|
27
|
+
"oracles",
|
|
28
|
+
"environments",
|
|
29
|
+
"asset_bindings",
|
|
17
30
|
"resource_fact_closure",
|
|
18
31
|
"coverage",
|
|
19
32
|
"acceptance_blockers",
|
|
@@ -62,11 +75,23 @@ export function parseDesignResourceHandoffShape(value) {
|
|
|
62
75
|
design_system_id: string(provenance.design_system_id, "design_resource_handoff.provenance.design_system_id"),
|
|
63
76
|
},
|
|
64
77
|
resources: parseDesignResourceHandoffResources(root.resources),
|
|
78
|
+
axis_dispositions: parseDesignResourceAxisDispositions(root.axis_dispositions),
|
|
79
|
+
condition_exclusions: parseDesignResourceConditionExclusions(root.condition_exclusions),
|
|
65
80
|
conditions: parseDesignResourceHandoffConditions(root.conditions),
|
|
66
81
|
subjects: parseDesignResourceHandoffSubjects(root.subjects),
|
|
82
|
+
variation_axis_dispositions: parseDesignResourceVariationAxisDispositions(root.variation_axis_dispositions),
|
|
83
|
+
variation_exclusions: parseDesignResourceVariationExclusions(root.variation_exclusions),
|
|
84
|
+
variations: parseDesignResourceVariations(root.variations),
|
|
85
|
+
properties: parseDesignResourceProperties(root.properties),
|
|
86
|
+
lineage_nodes: parseDesignResourceLineageNodes(root.lineage_nodes),
|
|
67
87
|
targets: parseDesignResourceHandoffTargets(root.targets),
|
|
68
88
|
evidence: parseDesignResourceHandoffEvidence(root.evidence),
|
|
89
|
+
fact_cells: parseDesignResourceFactCells(root.fact_cells),
|
|
69
90
|
facts: parseDesignResourceHandoffFacts(root.facts),
|
|
91
|
+
proof_obligations: parseDesignResourceProofObligations(root.proof_obligations),
|
|
92
|
+
oracles: parseDesignResourceOracles(root.oracles),
|
|
93
|
+
environments: parseDesignResourceEnvironments(root.environments),
|
|
94
|
+
asset_bindings: parseDesignResourceAssetBindings(root.asset_bindings),
|
|
70
95
|
resource_fact_closure: parseDesignResourceHandoffResourceFactClosure(root.resource_fact_closure),
|
|
71
96
|
coverage: parseDesignResourceHandoffCoverage(root.coverage),
|
|
72
97
|
acceptance_blockers: parseDesignResourceHandoffBlockers(root.acceptance_blockers),
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { ExecutionTargetCapabilityV2 } from "./execution-target-capabilities.js";
|
|
2
|
+
import type { DesignResourceAssetBindingV1, DesignResourceAxisDispositionV1, DesignResourceConditionCombinationDispositionV1, DesignResourceEnvironmentV1, DesignResourceFactCellV1, DesignResourceFactV1, DesignResourceLineageNodeV1, DesignResourceOracleV1, DesignResourcePropertyDefinitionV1, DesignResourceProofObligationV1, DesignResourceRelationEndpointV1, DesignResourceSubjectKind, DesignResourceSubjectPresenceKind, DesignResourceSubjectVariationV1, DesignResourceVariationAxisDispositionV1, DesignResourceVariationCombinationDispositionV1 } from "./design-resource-fact-manifest-types.js";
|
|
2
3
|
export declare const DESIGN_RESOURCE_DIMENSIONS: readonly ["surface_flow", "visual_content", "component_control", "state_interaction", "motion", "adaptation_input", "accessibility", "assets"];
|
|
3
4
|
export type DesignResourceDimension = (typeof DESIGN_RESOURCE_DIMENSIONS)[number];
|
|
4
|
-
export declare const DESIGN_RESOURCE_EVIDENCE_KINDS: readonly ["frame", "component_variant", "prototype_state", "prototype_transition", "motion_spec", "motion_capture", "responsive_spec", "input_spec", "accessibility_spec", "semantic_tree", "token_spec", "asset", "annotation"];
|
|
5
|
+
export declare const DESIGN_RESOURCE_EVIDENCE_KINDS: readonly ["frame", "component_variant", "prototype_state", "prototype_transition", "motion_spec", "motion_capture", "responsive_spec", "input_spec", "accessibility_spec", "semantic_tree", "token_spec", "asset", "annotation", "localization_spec", "system_ui_spec", "haptic_spec", "sound_spec", "sound_capture", "render_environment", "relation_spec"];
|
|
5
6
|
export type DesignResourceEvidenceKind = (typeof DESIGN_RESOURCE_EVIDENCE_KINDS)[number];
|
|
6
|
-
export declare const DESIGN_RESOURCE_VERIFICATION_METHODS: readonly ["layout_geometry", "visual_pixel", "design_token", "content", "component_state", "interaction_trace", "motion_timeline", "responsive_reflow", "input_method", "accessibility_semantics", "asset_integrity"];
|
|
7
|
+
export declare const DESIGN_RESOURCE_VERIFICATION_METHODS: readonly ["layout_geometry", "visual_pixel", "design_token", "content", "component_state", "interaction_trace", "motion_timeline", "responsive_reflow", "input_method", "accessibility_semantics", "accessibility_navigation", "accessibility_visual", "gesture_trace", "scroll_navigation", "localization", "system_ui", "haptic_feedback", "sound_feedback", "asset_integrity"];
|
|
7
8
|
export type DesignResourceVerificationMethod = (typeof DESIGN_RESOURCE_VERIFICATION_METHODS)[number];
|
|
8
|
-
export declare const DESIGN_RESOURCE_LOCATOR_KINDS: readonly ["html_selector", "markdown_anchor", "json_pointer", "css_selector", "css_custom_property", "whole_resource"];
|
|
9
|
+
export declare const DESIGN_RESOURCE_LOCATOR_KINDS: readonly ["html_selector", "html_inner_html", "markdown_anchor", "json_pointer", "css_selector", "css_custom_property", "html_attribute", "css_declaration", "javascript_export", "svg_selector", "svg_inner_xml", "svg_attribute", "whole_resource"];
|
|
9
10
|
export type DesignResourceLocatorKind = (typeof DESIGN_RESOURCE_LOCATOR_KINDS)[number];
|
|
10
11
|
export type DesignResourceSourceProfileKind = "implementation_web" | "implementation_app" | "reference";
|
|
11
12
|
export type DesignResourceCoverageDisposition = "covered" | "not_applicable" | "excluded_by_scope" | "decision_required" | "unavailable";
|
|
@@ -30,11 +31,23 @@ export interface DesignResourceHandoffV1 {
|
|
|
30
31
|
design_system_id: string;
|
|
31
32
|
};
|
|
32
33
|
resources: DesignResourceHandoffResourceV1[];
|
|
34
|
+
axis_dispositions: DesignResourceAxisDispositionV1[];
|
|
35
|
+
condition_exclusions: DesignResourceConditionCombinationDispositionV1[];
|
|
33
36
|
conditions: DesignResourceHandoffConditionV1[];
|
|
34
37
|
subjects: DesignResourceHandoffSubjectV1[];
|
|
38
|
+
variation_axis_dispositions: DesignResourceVariationAxisDispositionV1[];
|
|
39
|
+
variation_exclusions: DesignResourceVariationCombinationDispositionV1[];
|
|
40
|
+
variations: DesignResourceSubjectVariationV1[];
|
|
41
|
+
properties: DesignResourcePropertyDefinitionV1[];
|
|
42
|
+
lineage_nodes: DesignResourceLineageNodeV1[];
|
|
35
43
|
targets: DesignResourceHandoffTargetV1[];
|
|
36
44
|
evidence: DesignResourceHandoffEvidenceV1[];
|
|
37
|
-
|
|
45
|
+
fact_cells: DesignResourceFactCellV1[];
|
|
46
|
+
facts: DesignResourceFactV1[];
|
|
47
|
+
proof_obligations: DesignResourceProofObligationV1[];
|
|
48
|
+
oracles: DesignResourceOracleV1[];
|
|
49
|
+
environments: DesignResourceEnvironmentV1[];
|
|
50
|
+
asset_bindings: DesignResourceAssetBindingV1[];
|
|
38
51
|
resource_fact_closure: DesignResourceHandoffResourceFactClosureV1[];
|
|
39
52
|
coverage: DesignResourceHandoffCoverageV1[];
|
|
40
53
|
acceptance_blockers: DesignResourceHandoffBlockerV1[];
|
|
@@ -59,22 +72,77 @@ export interface DesignResourceHandoffResourceV1 {
|
|
|
59
72
|
export interface DesignResourceHandoffConditionV1 {
|
|
60
73
|
key: string;
|
|
61
74
|
platform: string;
|
|
75
|
+
os_version: string;
|
|
76
|
+
device_profile: string;
|
|
77
|
+
form_factor: string;
|
|
62
78
|
viewport: {
|
|
79
|
+
key: string;
|
|
63
80
|
width: number;
|
|
64
81
|
height: number;
|
|
65
82
|
unit: "px";
|
|
66
83
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
84
|
+
orientation: string;
|
|
85
|
+
density: {
|
|
86
|
+
key: string;
|
|
87
|
+
pixel_ratio: number;
|
|
88
|
+
};
|
|
89
|
+
safe_area: {
|
|
90
|
+
key: string;
|
|
91
|
+
top: number;
|
|
92
|
+
right: number;
|
|
93
|
+
bottom: number;
|
|
94
|
+
left: number;
|
|
95
|
+
unit: "px";
|
|
96
|
+
};
|
|
97
|
+
window_state: string;
|
|
98
|
+
fold_state: string;
|
|
99
|
+
display_mode: string;
|
|
100
|
+
color_scheme: string;
|
|
101
|
+
locale: string;
|
|
102
|
+
language: string;
|
|
103
|
+
script: string;
|
|
104
|
+
direction: "ltr" | "rtl" | "not_applicable";
|
|
105
|
+
pseudo_localization: string;
|
|
106
|
+
content_case: string;
|
|
107
|
+
data_case: string;
|
|
108
|
+
text_scale: {
|
|
109
|
+
key: string;
|
|
110
|
+
multiplier: number;
|
|
111
|
+
};
|
|
112
|
+
input_method: string;
|
|
113
|
+
assistive_technology: string;
|
|
114
|
+
motion: string;
|
|
115
|
+
transparency: string;
|
|
116
|
+
contrast: string;
|
|
117
|
+
bold_text: string;
|
|
118
|
+
button_shapes: string;
|
|
119
|
+
system_ui: string;
|
|
120
|
+
ime: string;
|
|
121
|
+
permission: string;
|
|
122
|
+
capability: string;
|
|
123
|
+
connectivity: string;
|
|
124
|
+
lifecycle: string;
|
|
125
|
+
custom_axes: Array<{
|
|
126
|
+
axis_ref: string;
|
|
127
|
+
value_ref: string;
|
|
128
|
+
}>;
|
|
72
129
|
}
|
|
73
130
|
export interface DesignResourceHandoffSubjectV1 {
|
|
74
131
|
key: string;
|
|
75
|
-
kind:
|
|
132
|
+
kind: DesignResourceSubjectKind;
|
|
76
133
|
stable_keys: string[];
|
|
77
134
|
target_refs: string[];
|
|
135
|
+
parent_ref: string | null;
|
|
136
|
+
instance_of_ref: string | null;
|
|
137
|
+
slot_key: string | null;
|
|
138
|
+
override_of_ref: string | null;
|
|
139
|
+
family_ref: string | null;
|
|
140
|
+
presence: DesignResourceSubjectPresenceKind;
|
|
141
|
+
presence_rule_ref: string | null;
|
|
142
|
+
population_ref: string | null;
|
|
143
|
+
portal_host_ref: string | null;
|
|
144
|
+
relation_endpoints: DesignResourceRelationEndpointV1[];
|
|
145
|
+
census_refs: string[];
|
|
78
146
|
}
|
|
79
147
|
export interface DesignResourceHandoffTargetV1 {
|
|
80
148
|
key: string;
|
|
@@ -85,6 +153,7 @@ export interface DesignResourceHandoffTargetV1 {
|
|
|
85
153
|
kind: DesignResourceSourceProfileKind;
|
|
86
154
|
entry_resource_ref: string;
|
|
87
155
|
dependency_resource_refs: string[];
|
|
156
|
+
fact_manifest_resource_ref: string;
|
|
88
157
|
acquisition: "complete";
|
|
89
158
|
};
|
|
90
159
|
selection_basis: string;
|
|
@@ -99,17 +168,7 @@ export interface DesignResourceHandoffEvidenceV1 {
|
|
|
99
168
|
};
|
|
100
169
|
condition_refs: string[];
|
|
101
170
|
}
|
|
102
|
-
export
|
|
103
|
-
key: string;
|
|
104
|
-
subject_ref: string;
|
|
105
|
-
target_ref: string;
|
|
106
|
-
condition_ref: string;
|
|
107
|
-
dimension: DesignResourceDimension;
|
|
108
|
-
observation_scope: "subject" | "full_target";
|
|
109
|
-
evidence_refs: string[];
|
|
110
|
-
source_item_refs: string[];
|
|
111
|
-
verification_method: DesignResourceVerificationMethod;
|
|
112
|
-
}
|
|
171
|
+
export type DesignResourceHandoffFactV1 = DesignResourceFactV1;
|
|
113
172
|
export interface DesignResourceHandoffResourceFactClosureV1 {
|
|
114
173
|
key: string;
|
|
115
174
|
resource_ref: string;
|
|
@@ -128,8 +187,12 @@ export interface DesignResourceHandoffCoverageV1 {
|
|
|
128
187
|
disposition: DesignResourceCoverageDisposition;
|
|
129
188
|
target_refs: string[];
|
|
130
189
|
condition_refs: string[];
|
|
190
|
+
variation_refs: string[];
|
|
191
|
+
property_refs: string[];
|
|
131
192
|
evidence_refs: string[];
|
|
193
|
+
fact_cell_refs: string[];
|
|
132
194
|
fact_refs: string[];
|
|
195
|
+
proof_obligation_refs: string[];
|
|
133
196
|
source_item_refs: string[];
|
|
134
197
|
verification_methods: DesignResourceVerificationMethod[];
|
|
135
198
|
rationale: string;
|
|
@@ -139,6 +202,9 @@ export interface DesignResourceHandoffBlockerV1 {
|
|
|
139
202
|
target_refs: string[];
|
|
140
203
|
subject_refs: string[];
|
|
141
204
|
dimensions: DesignResourceDimension[];
|
|
205
|
+
fact_cell_refs: string[];
|
|
206
|
+
fact_refs: string[];
|
|
207
|
+
proof_obligation_refs: string[];
|
|
142
208
|
source_item_refs: string[];
|
|
143
209
|
verification_methods: DesignResourceVerificationMethod[];
|
|
144
210
|
required_capabilities: ExecutionTargetCapabilityV2[];
|
|
@@ -156,11 +222,21 @@ export interface DesignResourceHandoffPreflightV1 extends ParsedDesignResourceHa
|
|
|
156
222
|
resource_hashes: Record<string, string>;
|
|
157
223
|
counts: {
|
|
158
224
|
resources: number;
|
|
225
|
+
manifests: number;
|
|
226
|
+
axis_dispositions: number;
|
|
159
227
|
conditions: number;
|
|
160
228
|
subjects: number;
|
|
229
|
+
variations: number;
|
|
230
|
+
properties: number;
|
|
231
|
+
lineage_nodes: number;
|
|
161
232
|
targets: number;
|
|
162
233
|
evidence: number;
|
|
234
|
+
fact_cells: number;
|
|
163
235
|
facts: number;
|
|
236
|
+
proof_obligations: number;
|
|
237
|
+
oracles: number;
|
|
238
|
+
environments: number;
|
|
239
|
+
asset_bindings: number;
|
|
164
240
|
resource_fact_closure: number;
|
|
165
241
|
coverage: number;
|
|
166
242
|
acceptance_blockers: number;
|
|
@@ -22,6 +22,13 @@ export const DESIGN_RESOURCE_EVIDENCE_KINDS = [
|
|
|
22
22
|
"token_spec",
|
|
23
23
|
"asset",
|
|
24
24
|
"annotation",
|
|
25
|
+
"localization_spec",
|
|
26
|
+
"system_ui_spec",
|
|
27
|
+
"haptic_spec",
|
|
28
|
+
"sound_spec",
|
|
29
|
+
"sound_capture",
|
|
30
|
+
"render_environment",
|
|
31
|
+
"relation_spec",
|
|
25
32
|
];
|
|
26
33
|
export const DESIGN_RESOURCE_VERIFICATION_METHODS = [
|
|
27
34
|
"layout_geometry",
|
|
@@ -34,13 +41,28 @@ export const DESIGN_RESOURCE_VERIFICATION_METHODS = [
|
|
|
34
41
|
"responsive_reflow",
|
|
35
42
|
"input_method",
|
|
36
43
|
"accessibility_semantics",
|
|
44
|
+
"accessibility_navigation",
|
|
45
|
+
"accessibility_visual",
|
|
46
|
+
"gesture_trace",
|
|
47
|
+
"scroll_navigation",
|
|
48
|
+
"localization",
|
|
49
|
+
"system_ui",
|
|
50
|
+
"haptic_feedback",
|
|
51
|
+
"sound_feedback",
|
|
37
52
|
"asset_integrity",
|
|
38
53
|
];
|
|
39
54
|
export const DESIGN_RESOURCE_LOCATOR_KINDS = [
|
|
40
55
|
"html_selector",
|
|
56
|
+
"html_inner_html",
|
|
41
57
|
"markdown_anchor",
|
|
42
58
|
"json_pointer",
|
|
43
59
|
"css_selector",
|
|
44
60
|
"css_custom_property",
|
|
61
|
+
"html_attribute",
|
|
62
|
+
"css_declaration",
|
|
63
|
+
"javascript_export",
|
|
64
|
+
"svg_selector",
|
|
65
|
+
"svg_inner_xml",
|
|
66
|
+
"svg_attribute",
|
|
45
67
|
"whole_resource",
|
|
46
68
|
];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DesignResourceHandoffV1 } from "./design-resource-handoff-types.js";
|
|
2
2
|
export declare function validateDesignResourceCoverage(handoff: DesignResourceHandoffV1, subjects: Map<string, unknown>, targets: Map<string, DesignResourceHandoffV1["targets"][number]>, conditions: Map<string, unknown>, evidence: Map<string, DesignResourceHandoffV1["evidence"][number]>, facts: Map<string, DesignResourceHandoffV1["facts"][number]>, sourceItems: Map<string, string>): void;
|
|
3
3
|
export declare function validateDesignResourceBlockers(handoff: DesignResourceHandoffV1, subjects: Map<string, unknown>, targets: Map<string, unknown>, sourceItems: Map<string, string>): void;
|
|
4
4
|
export declare function validateDesignResourceReachability(handoff: DesignResourceHandoffV1): void;
|