@kumwe/studio-testkit 0.1.0-alpha.8 → 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +48 -14
  2. package/THIRD_PARTY_NOTICES.md +9 -0
  3. package/conformance/authoring-web/non-drag-move-equivalence.json +199 -0
  4. package/conformance/renderer-web/blob-default-deny.json +47 -0
  5. package/conformance/renderer-web/chart-fallback.json +39 -0
  6. package/conformance/renderer-web/complete-catalog.json +634 -0
  7. package/conformance/renderer-web/escaped-heading.json +28 -0
  8. package/conformance/renderer-web/interactive-behaviors.json +226 -0
  9. package/conformance/renderer-web/presentation-capabilities.json +76 -0
  10. package/conformance/renderer-web/responsive-grid.json +33 -0
  11. package/conformance/renderer-web/security-fallbacks.json +169 -0
  12. package/conformance/rich-text/advanced.first-party.json +67 -0
  13. package/corpus-manifest.json +106 -0
  14. package/dist/host-testbed.d.ts +3 -4
  15. package/dist/host-testbed.d.ts.map +1 -1
  16. package/dist/host-testbed.js +46 -6
  17. package/dist/host-testbed.js.map +1 -1
  18. package/dist/http-host-adapter.d.ts.map +1 -1
  19. package/dist/http-host-adapter.js +8 -0
  20. package/dist/http-host-adapter.js.map +1 -1
  21. package/dist/index.d.ts +44 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +38 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/web-conformance.d.ts +105 -0
  26. package/dist/web-conformance.d.ts.map +1 -0
  27. package/dist/web-conformance.js +72 -0
  28. package/dist/web-conformance.js.map +1 -0
  29. package/fixtures/authoring-message-catalog.en.json +649 -0
  30. package/invalid/binding-projection-vector.unknown-status.json +85 -0
  31. package/invalid/studio-chart.script-config.json +10 -0
  32. package/invalid/studio-drawing.svg-payload.json +10 -0
  33. package/invalid/studio-money.float.json +8 -0
  34. package/invalid/studio-presentation.css-injection.json +8 -0
  35. package/invalid/studio-table.html-cell.json +8 -0
  36. package/package.json +7 -3
  37. package/studio-release.json +28 -0
  38. package/vectors/binding-projection/app-content-fields.resolved.json +286 -0
  39. package/vectors/binding-projection/field-removed.diagnostic.json +135 -0
  40. package/vectors/binding-projection/model-revision-mismatch.diagnostic.json +124 -0
  41. package/vectors/host/model.get.stored.json +37 -0
  42. package/vectors/host/model.list.authorized.json +31 -0
@@ -0,0 +1,124 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "binding-projection-vector",
4
+ "id": "binding-projection/model-revision-mismatch-diagnostic",
5
+ "description": "A projected model from a different immutable revision fails the entire candidate surface closed with an exact coordinate diagnostic.",
6
+ "profile": "studio.profile/binding-projection-v1",
7
+ "blueprint": {
8
+ "contractVersion": "0.1-draft",
9
+ "kind": "blueprint",
10
+ "id": "blueprints/revision-mismatch",
11
+ "version": "1.0.0",
12
+ "revision": "blueprint-r1",
13
+ "owner": { "id": "studio.test/host", "version": "1.0.0" },
14
+ "status": "draft",
15
+ "label": { "key": "studio.test/revision-mismatch", "defaultMessage": "Mismatch" },
16
+ "model": { "id": "studio.test/article", "version": "1.0.0", "revision": "model-r1" },
17
+ "dependencyLock": {
18
+ "theme": { "id": "studio.test/theme", "version": "1.0.0", "revision": "theme-r1" },
19
+ "blocks": [{ "type": "studio.test/text", "version": "1.0.0", "revision": "block-r1" }]
20
+ },
21
+ "roots": [
22
+ {
23
+ "id": "text-1",
24
+ "type": "studio.test/text",
25
+ "version": "1.0.0",
26
+ "properties": {},
27
+ "bindings": {
28
+ "headline": {
29
+ "source": { "kind": "entry-field", "fieldPath": ["title"] },
30
+ "transforms": [],
31
+ "onNull": "empty",
32
+ "onError": "error"
33
+ }
34
+ },
35
+ "slots": {},
36
+ "authoring": { "mode": "content" }
37
+ }
38
+ ]
39
+ },
40
+ "model": {
41
+ "contractVersion": "0.1-draft",
42
+ "kind": "content-model",
43
+ "id": "studio.test/article",
44
+ "version": "1.0.0",
45
+ "revision": "model-r2",
46
+ "owner": { "id": "studio.test/host", "version": "1.0.0" },
47
+ "status": "published",
48
+ "label": { "key": "studio.test/article", "defaultMessage": "Article" },
49
+ "fields": [
50
+ {
51
+ "id": "title",
52
+ "kind": "string",
53
+ "label": { "key": "studio.test/title", "defaultMessage": "Title" },
54
+ "required": true,
55
+ "localized": true,
56
+ "cardinality": "one",
57
+ "authoring": { "control": "studio.control/single-line-text", "order": 0 }
58
+ }
59
+ ],
60
+ "relationships": []
61
+ },
62
+ "blockDefinitions": [
63
+ {
64
+ "contractVersion": "0.1-draft",
65
+ "kind": "block-definition",
66
+ "type": "studio.test/text",
67
+ "version": "1.0.0",
68
+ "revision": "block-r1",
69
+ "owner": { "id": "studio.test/blocks", "version": "1.0.0" },
70
+ "label": { "key": "studio.test/text", "defaultMessage": "Text" },
71
+ "category": "studio.category/content",
72
+ "propertySchema": { "type": "object", "additionalProperties": false },
73
+ "slots": [],
74
+ "ports": [
75
+ {
76
+ "id": "headline",
77
+ "label": { "key": "studio.test/headline", "defaultMessage": "Headline" },
78
+ "valueType": "text",
79
+ "required": true,
80
+ "multiple": false
81
+ }
82
+ ],
83
+ "editingModes": ["blueprint", "content"],
84
+ "themeControls": [],
85
+ "rendererRequirements": [
86
+ { "surface": "preview", "capability": "studio.renderer/test", "versions": "^1.0.0" }
87
+ ],
88
+ "accessibility": {
89
+ "category": "text",
90
+ "accessibleName": "derived",
91
+ "keyboard": { "key": "studio.test/text-keyboard", "defaultMessage": "Use the outline." },
92
+ "reducedMotion": "not-applicable",
93
+ "outputChecks": ["studio.check/text"]
94
+ }
95
+ }
96
+ ],
97
+ "expect": {
98
+ "model": { "id": "studio.test/article", "version": "1.0.0", "revision": "model-r1" },
99
+ "nodes": [
100
+ {
101
+ "nodeId": "text-1",
102
+ "ports": [
103
+ {
104
+ "port": "headline",
105
+ "status": "invalid",
106
+ "bindingSourceKind": "entry-field",
107
+ "boundFieldPath": ["title"],
108
+ "candidates": [],
109
+ "multiple": false,
110
+ "required": true,
111
+ "valueType": "text"
112
+ }
113
+ ]
114
+ }
115
+ ],
116
+ "diagnostics": [
117
+ {
118
+ "code": "studio.binding/model-revision-mismatch",
119
+ "severity": "error",
120
+ "location": { "artifactId": "blueprints/revision-mismatch" }
121
+ }
122
+ ]
123
+ }
124
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "host-vector",
4
+ "id": "vector.host-vector.model.get.stored",
5
+ "description": "Getting an authorized model resolves one exact ID, semantic version, and immutable revision through the read-only model port.",
6
+ "profile": "studio.profile/host-baseline",
7
+ "port": "model",
8
+ "operation": "get",
9
+ "given": {
10
+ "artifacts": [
11
+ {
12
+ "id": "studio.test/article-model",
13
+ "kind": "content-model",
14
+ "revision": "model-r1"
15
+ }
16
+ ],
17
+ "permissions": [],
18
+ "sessionGeneration": "session-r1"
19
+ },
20
+ "context": {
21
+ "operationId": "studio.operation/model.get",
22
+ "protocolVersion": "0.1.0-draft.2",
23
+ "requestId": "requests/model-get-1",
24
+ "resourceContextKey": "contexts/vector",
25
+ "sessionGeneration": "session-r1"
26
+ },
27
+ "argument": {
28
+ "id": "studio.test/article-model",
29
+ "version": "1.0.0",
30
+ "revision": "model-r1"
31
+ },
32
+ "expect": {
33
+ "outcome": "result",
34
+ "revision": "model-r1",
35
+ "value": "content-model"
36
+ }
37
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "host-vector",
4
+ "id": "vector.host-vector.model.list.authorized",
5
+ "description": "Listing models returns only the authorized content-model projections in deterministic coordinate order.",
6
+ "profile": "studio.profile/host-baseline",
7
+ "port": "model",
8
+ "operation": "list",
9
+ "given": {
10
+ "artifacts": [
11
+ {
12
+ "id": "studio.test/article-model",
13
+ "kind": "content-model",
14
+ "revision": "model-r1"
15
+ }
16
+ ],
17
+ "permissions": [],
18
+ "sessionGeneration": "session-r1"
19
+ },
20
+ "context": {
21
+ "operationId": "studio.operation/model.list",
22
+ "protocolVersion": "0.1.0-draft.2",
23
+ "requestId": "requests/model-list-1",
24
+ "resourceContextKey": "contexts/vector",
25
+ "sessionGeneration": "session-r1"
26
+ },
27
+ "expect": {
28
+ "outcome": "result",
29
+ "value": "content-models"
30
+ }
31
+ }