project-tiny-context-harness 0.8.3 → 0.8.5
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 +400 -366
- package/assets/README.md +579 -528
- package/assets/README.zh-CN.md +341 -309
- package/assets/agents/.gitkeep +1 -1
- package/assets/agents/AGENTS_CORE.md +44 -25
- package/assets/context_templates/architecture.md +28 -28
- package/assets/context_templates/area.md +34 -34
- package/assets/context_templates/context.toml +30 -30
- 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 +32 -32
- 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 +148 -125
- 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-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/migrations.js +64 -0
- package/dist/lib/modularity.js +7 -1
- package/dist/lib/profiles.js +0 -2
- 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
- package/assets/skills/normal-long-task/SKILL.md +0 -12
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { semanticArray, semanticLiteral, semanticNullable, semanticObject, semanticStableRef, semanticStableRefs, semanticString, } from "./semantic-fact-shape-primitives.js";
|
|
2
|
+
import { parseSemanticFactLocatedValue } from "./semantic-fact-value-shape.js";
|
|
3
|
+
export function parseSemanticFactSubjects(value, label) {
|
|
4
|
+
return semanticArray(value, label).map((item, index) => {
|
|
5
|
+
const itemLabel = `${label}[${index}]`;
|
|
6
|
+
const row = semanticObject(item, itemLabel, [
|
|
7
|
+
"key",
|
|
8
|
+
"family_ref",
|
|
9
|
+
"outcome_ref",
|
|
10
|
+
"kind",
|
|
11
|
+
"parent_ref",
|
|
12
|
+
"owner_ref",
|
|
13
|
+
"source_item_refs",
|
|
14
|
+
"basis_refs",
|
|
15
|
+
]);
|
|
16
|
+
return {
|
|
17
|
+
key: semanticStableRef(row.key, `${itemLabel}.key`),
|
|
18
|
+
family_ref: semanticStableRef(row.family_ref, `${itemLabel}.family_ref`),
|
|
19
|
+
outcome_ref: semanticStableRef(row.outcome_ref, `${itemLabel}.outcome_ref`),
|
|
20
|
+
kind: semanticStableRef(row.kind, `${itemLabel}.kind`),
|
|
21
|
+
parent_ref: semanticNullable(row.parent_ref, (entry) => semanticStableRef(entry, `${itemLabel}.parent_ref`)),
|
|
22
|
+
owner_ref: semanticNullable(row.owner_ref, (entry) => semanticStableRef(entry, `${itemLabel}.owner_ref`)),
|
|
23
|
+
source_item_refs: semanticStableRefs(row.source_item_refs, `${itemLabel}.source_item_refs`),
|
|
24
|
+
basis_refs: semanticStableRefs(row.basis_refs, `${itemLabel}.basis_refs`),
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export function parseSemanticFactRelations(value, label) {
|
|
29
|
+
return semanticArray(value, label).map((item, index) => {
|
|
30
|
+
const itemLabel = `${label}[${index}]`;
|
|
31
|
+
const row = semanticObject(item, itemLabel, [
|
|
32
|
+
"key",
|
|
33
|
+
"family_ref",
|
|
34
|
+
"outcome_ref",
|
|
35
|
+
"kind",
|
|
36
|
+
"endpoints",
|
|
37
|
+
"source_item_refs",
|
|
38
|
+
"basis_refs",
|
|
39
|
+
]);
|
|
40
|
+
return {
|
|
41
|
+
key: semanticStableRef(row.key, `${itemLabel}.key`),
|
|
42
|
+
family_ref: semanticStableRef(row.family_ref, `${itemLabel}.family_ref`),
|
|
43
|
+
outcome_ref: semanticStableRef(row.outcome_ref, `${itemLabel}.outcome_ref`),
|
|
44
|
+
kind: semanticStableRef(row.kind, `${itemLabel}.kind`),
|
|
45
|
+
endpoints: semanticArray(row.endpoints, `${itemLabel}.endpoints`).map((endpoint, endpointIndex) => {
|
|
46
|
+
const endpointLabel = `${itemLabel}.endpoints[${endpointIndex}]`;
|
|
47
|
+
const entry = semanticObject(endpoint, endpointLabel, [
|
|
48
|
+
"role",
|
|
49
|
+
"unit_ref",
|
|
50
|
+
]);
|
|
51
|
+
return {
|
|
52
|
+
role: semanticStableRef(entry.role, `${endpointLabel}.role`),
|
|
53
|
+
unit_ref: semanticStableRef(entry.unit_ref, `${endpointLabel}.unit_ref`),
|
|
54
|
+
};
|
|
55
|
+
}),
|
|
56
|
+
source_item_refs: semanticStableRefs(row.source_item_refs, `${itemLabel}.source_item_refs`),
|
|
57
|
+
basis_refs: semanticStableRefs(row.basis_refs, `${itemLabel}.basis_refs`),
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
export function parseSemanticFactPopulations(value, label) {
|
|
62
|
+
return semanticArray(value, label).map((item, index) => {
|
|
63
|
+
const itemLabel = `${label}[${index}]`;
|
|
64
|
+
const row = semanticObject(item, itemLabel, [
|
|
65
|
+
"key",
|
|
66
|
+
"family_ref",
|
|
67
|
+
"outcome_ref",
|
|
68
|
+
"kind",
|
|
69
|
+
"member_unit_refs",
|
|
70
|
+
"universe",
|
|
71
|
+
"enumeration_rule",
|
|
72
|
+
"exclusion_refs",
|
|
73
|
+
"source_item_refs",
|
|
74
|
+
"basis_refs",
|
|
75
|
+
]);
|
|
76
|
+
return {
|
|
77
|
+
key: semanticStableRef(row.key, `${itemLabel}.key`),
|
|
78
|
+
family_ref: semanticStableRef(row.family_ref, `${itemLabel}.family_ref`),
|
|
79
|
+
outcome_ref: semanticStableRef(row.outcome_ref, `${itemLabel}.outcome_ref`),
|
|
80
|
+
kind: semanticLiteral(row.kind, ["static", "dynamic"], `${itemLabel}.kind`),
|
|
81
|
+
member_unit_refs: semanticStableRefs(row.member_unit_refs, `${itemLabel}.member_unit_refs`),
|
|
82
|
+
universe: parseSemanticFactLocatedValue(row.universe, `${itemLabel}.universe`),
|
|
83
|
+
enumeration_rule: semanticString(row.enumeration_rule, `${itemLabel}.enumeration_rule`),
|
|
84
|
+
exclusion_refs: semanticStableRefs(row.exclusion_refs, `${itemLabel}.exclusion_refs`),
|
|
85
|
+
source_item_refs: semanticStableRefs(row.source_item_refs, `${itemLabel}.source_item_refs`),
|
|
86
|
+
basis_refs: semanticStableRefs(row.basis_refs, `${itemLabel}.basis_refs`),
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SemanticFactLocatedValueV1 } from "./semantic-fact-types.js";
|
|
2
|
+
export declare function parseSemanticFactAxisValues(value: unknown, label: string): {
|
|
3
|
+
axis_ref: string;
|
|
4
|
+
value_ref: string;
|
|
5
|
+
}[];
|
|
6
|
+
export declare function parseSemanticFactLocatedValue(value: unknown, label: string): SemanticFactLocatedValueV1;
|
|
7
|
+
export declare function parseSemanticFactLocator(value: unknown, label: string): {
|
|
8
|
+
material_ref: string;
|
|
9
|
+
kind: "api_operation" | "code_symbol" | "custom" | "json_pointer" | "manifest_pointer" | "schema_pointer" | "source_item" | "whole_resource" | "yaml_pointer";
|
|
10
|
+
value: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function parseSemanticFactBoolean(value: unknown, label: string): boolean;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SEMANTIC_FACT_LOCATOR_KINDS } from "./semantic-fact-shape-constants.js";
|
|
2
|
+
import { semanticArray, semanticLiteral, semanticObject, semanticSha256, semanticStableRef, semanticString, } from "./semantic-fact-shape-primitives.js";
|
|
3
|
+
export function parseSemanticFactAxisValues(value, label) {
|
|
4
|
+
return semanticArray(value, label).map((item, index) => {
|
|
5
|
+
const itemLabel = `${label}[${index}]`;
|
|
6
|
+
const row = semanticObject(item, itemLabel, ["axis_ref", "value_ref"]);
|
|
7
|
+
return {
|
|
8
|
+
axis_ref: semanticStableRef(row.axis_ref, `${itemLabel}.axis_ref`),
|
|
9
|
+
value_ref: semanticStableRef(row.value_ref, `${itemLabel}.value_ref`),
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export function parseSemanticFactLocatedValue(value, label) {
|
|
14
|
+
const preliminary = semanticObject(value, label, ["representation", "locator", "sha256"], ["value"]);
|
|
15
|
+
const representation = semanticLiteral(preliminary.representation, ["inline", "located", "digest_only"], `${label}.representation`);
|
|
16
|
+
if (representation === "inline" && !Object.hasOwn(preliminary, "value"))
|
|
17
|
+
throw new Error(`semantic_fact_manifest_invalid:${label}.value:required for inline representation`);
|
|
18
|
+
if (representation !== "inline" && Object.hasOwn(preliminary, "value"))
|
|
19
|
+
throw new Error(`semantic_fact_manifest_invalid:${label}.value:forbidden for ${representation} representation`);
|
|
20
|
+
return {
|
|
21
|
+
representation,
|
|
22
|
+
locator: parseSemanticFactLocator(preliminary.locator, `${label}.locator`),
|
|
23
|
+
sha256: semanticSha256(preliminary.sha256, `${label}.sha256`),
|
|
24
|
+
...(representation === "inline" ? { value: preliminary.value } : {}),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function parseSemanticFactLocator(value, label) {
|
|
28
|
+
const row = semanticObject(value, label, ["material_ref", "kind", "value"]);
|
|
29
|
+
return {
|
|
30
|
+
material_ref: semanticStableRef(row.material_ref, `${label}.material_ref`),
|
|
31
|
+
kind: semanticLiteral(row.kind, SEMANTIC_FACT_LOCATOR_KINDS, `${label}.kind`),
|
|
32
|
+
value: semanticString(row.value, `${label}.value`),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function parseSemanticFactBoolean(value, label) {
|
|
36
|
+
if (typeof value !== "boolean")
|
|
37
|
+
throw new Error(`semantic_fact_manifest_invalid:${label}:must be boolean`);
|
|
38
|
+
return value;
|
|
39
|
+
}
|