@decantr/registry 1.0.1 → 1.0.3
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/dist/client.d.ts +2 -2
- package/dist/client.js +65 -88
- package/dist/client.js.map +1 -1
- package/dist/{content-types-BJFuxWNj.d.ts → content-types-Clwipgq9.d.ts} +15 -1
- package/dist/content-types.d.ts +1 -1
- package/dist/content-types.js +1 -7
- package/dist/content-types.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.js +268 -295
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/schema/archetype.v2.json +27 -0
- package/schema/common.v1.json +67 -1
- package/schema/execution-pack.common.v1.json +199 -0
- package/schema/page-pack.v1.json +106 -0
- package/schema/pattern.v2.json +84 -1
- package/schema/section-pack.v1.json +128 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://decantr.ai/schemas/execution-pack.common.v1.json",
|
|
4
|
+
"title": "Decantr Execution Pack Common Definitions",
|
|
5
|
+
"$defs": {
|
|
6
|
+
"nonEmptyString": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"minLength": 1
|
|
9
|
+
},
|
|
10
|
+
"stringArray": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"executionPackTarget": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"required": ["platform", "framework", "runtime", "adapter"],
|
|
19
|
+
"properties": {
|
|
20
|
+
"platform": {
|
|
21
|
+
"const": "web"
|
|
22
|
+
},
|
|
23
|
+
"framework": {
|
|
24
|
+
"type": ["string", "null"]
|
|
25
|
+
},
|
|
26
|
+
"runtime": {
|
|
27
|
+
"type": ["string", "null"]
|
|
28
|
+
},
|
|
29
|
+
"adapter": {
|
|
30
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"additionalProperties": false
|
|
34
|
+
},
|
|
35
|
+
"executionPackScope": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": ["appId", "pageIds", "patternIds"],
|
|
38
|
+
"properties": {
|
|
39
|
+
"appId": {
|
|
40
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
41
|
+
},
|
|
42
|
+
"pageIds": {
|
|
43
|
+
"$ref": "#/$defs/stringArray"
|
|
44
|
+
},
|
|
45
|
+
"patternIds": {
|
|
46
|
+
"$ref": "#/$defs/stringArray"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"additionalProperties": false
|
|
50
|
+
},
|
|
51
|
+
"executionPackExample": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"required": ["id", "label", "language", "snippet"],
|
|
54
|
+
"properties": {
|
|
55
|
+
"id": {
|
|
56
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
57
|
+
},
|
|
58
|
+
"label": {
|
|
59
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
60
|
+
},
|
|
61
|
+
"language": {
|
|
62
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
63
|
+
},
|
|
64
|
+
"snippet": {
|
|
65
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"additionalProperties": false
|
|
69
|
+
},
|
|
70
|
+
"executionPackAntiPattern": {
|
|
71
|
+
"type": "object",
|
|
72
|
+
"required": ["id", "summary", "guidance"],
|
|
73
|
+
"properties": {
|
|
74
|
+
"id": {
|
|
75
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
76
|
+
},
|
|
77
|
+
"summary": {
|
|
78
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
79
|
+
},
|
|
80
|
+
"guidance": {
|
|
81
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"additionalProperties": false
|
|
85
|
+
},
|
|
86
|
+
"executionPackSuccessCheck": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"required": ["id", "label", "severity"],
|
|
89
|
+
"properties": {
|
|
90
|
+
"id": {
|
|
91
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
92
|
+
},
|
|
93
|
+
"label": {
|
|
94
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
95
|
+
},
|
|
96
|
+
"severity": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"enum": ["error", "warn", "info"]
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"additionalProperties": false
|
|
102
|
+
},
|
|
103
|
+
"executionPackTokenBudget": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"required": ["target", "max", "strategy"],
|
|
106
|
+
"properties": {
|
|
107
|
+
"target": {
|
|
108
|
+
"type": "integer",
|
|
109
|
+
"minimum": 0
|
|
110
|
+
},
|
|
111
|
+
"max": {
|
|
112
|
+
"type": "integer",
|
|
113
|
+
"minimum": 0
|
|
114
|
+
},
|
|
115
|
+
"strategy": {
|
|
116
|
+
"$ref": "#/$defs/stringArray"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"additionalProperties": false
|
|
120
|
+
},
|
|
121
|
+
"themeRef": {
|
|
122
|
+
"type": "object",
|
|
123
|
+
"required": ["id", "mode", "shape"],
|
|
124
|
+
"properties": {
|
|
125
|
+
"id": {
|
|
126
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
127
|
+
},
|
|
128
|
+
"mode": {
|
|
129
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
130
|
+
},
|
|
131
|
+
"shape": {
|
|
132
|
+
"type": ["string", "null"]
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"additionalProperties": false
|
|
136
|
+
},
|
|
137
|
+
"routeSummary": {
|
|
138
|
+
"type": "object",
|
|
139
|
+
"required": ["pageId", "path", "patternIds"],
|
|
140
|
+
"properties": {
|
|
141
|
+
"pageId": {
|
|
142
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
143
|
+
},
|
|
144
|
+
"sectionId": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
},
|
|
147
|
+
"path": {
|
|
148
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
149
|
+
},
|
|
150
|
+
"shell": {
|
|
151
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
152
|
+
},
|
|
153
|
+
"patternIds": {
|
|
154
|
+
"$ref": "#/$defs/stringArray"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"additionalProperties": false
|
|
158
|
+
},
|
|
159
|
+
"pagePattern": {
|
|
160
|
+
"type": "object",
|
|
161
|
+
"required": ["id", "alias", "preset", "layout"],
|
|
162
|
+
"properties": {
|
|
163
|
+
"id": {
|
|
164
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
165
|
+
},
|
|
166
|
+
"alias": {
|
|
167
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
168
|
+
},
|
|
169
|
+
"preset": {
|
|
170
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
171
|
+
},
|
|
172
|
+
"layout": {
|
|
173
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
174
|
+
},
|
|
175
|
+
"presetDescription": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "Per-preset prose copied from pattern.presets[preset].description. Rendered by the page-pack markdown as preset-specific guidance."
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"additionalProperties": false
|
|
181
|
+
},
|
|
182
|
+
"manifestEntry": {
|
|
183
|
+
"type": "object",
|
|
184
|
+
"required": ["id", "markdown", "json"],
|
|
185
|
+
"properties": {
|
|
186
|
+
"id": {
|
|
187
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
188
|
+
},
|
|
189
|
+
"markdown": {
|
|
190
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
191
|
+
},
|
|
192
|
+
"json": {
|
|
193
|
+
"$ref": "#/$defs/nonEmptyString"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"additionalProperties": false
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://decantr.ai/schemas/page-pack.v1.json",
|
|
4
|
+
"title": "Decantr Page Execution Pack",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["$schema", "packVersion", "packType", "objective", "target", "preset", "scope", "requiredSetup", "allowedVocabulary", "examples", "antiPatterns", "successChecks", "tokenBudget", "data", "renderedMarkdown"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"const": "https://decantr.ai/schemas/page-pack.v1.json"
|
|
10
|
+
},
|
|
11
|
+
"packVersion": {
|
|
12
|
+
"const": "1.0.0"
|
|
13
|
+
},
|
|
14
|
+
"packType": {
|
|
15
|
+
"const": "page"
|
|
16
|
+
},
|
|
17
|
+
"objective": {
|
|
18
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
19
|
+
},
|
|
20
|
+
"target": {
|
|
21
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackTarget"
|
|
22
|
+
},
|
|
23
|
+
"preset": {
|
|
24
|
+
"type": ["string", "null"]
|
|
25
|
+
},
|
|
26
|
+
"scope": {
|
|
27
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackScope"
|
|
28
|
+
},
|
|
29
|
+
"requiredSetup": {
|
|
30
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/stringArray"
|
|
31
|
+
},
|
|
32
|
+
"allowedVocabulary": {
|
|
33
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/stringArray"
|
|
34
|
+
},
|
|
35
|
+
"examples": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": {
|
|
38
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackExample"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"antiPatterns": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackAntiPattern"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"successChecks": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"items": {
|
|
50
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackSuccessCheck"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"tokenBudget": {
|
|
54
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackTokenBudget"
|
|
55
|
+
},
|
|
56
|
+
"data": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"required": ["pageId", "path", "shell", "sectionId", "sectionRole", "features", "surface", "theme", "wiringSignals", "patterns"],
|
|
59
|
+
"properties": {
|
|
60
|
+
"pageId": {
|
|
61
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
62
|
+
},
|
|
63
|
+
"path": {
|
|
64
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
65
|
+
},
|
|
66
|
+
"shell": {
|
|
67
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
68
|
+
},
|
|
69
|
+
"sectionId": {
|
|
70
|
+
"type": ["string", "null"]
|
|
71
|
+
},
|
|
72
|
+
"sectionRole": {
|
|
73
|
+
"type": ["string", "null"]
|
|
74
|
+
},
|
|
75
|
+
"features": {
|
|
76
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/stringArray"
|
|
77
|
+
},
|
|
78
|
+
"surface": {
|
|
79
|
+
"type": "string"
|
|
80
|
+
},
|
|
81
|
+
"theme": {
|
|
82
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/themeRef"
|
|
83
|
+
},
|
|
84
|
+
"wiringSignals": {
|
|
85
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/stringArray"
|
|
86
|
+
},
|
|
87
|
+
"patterns": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"items": {
|
|
90
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/pagePattern"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"directives": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"description": "Execution-level directives emitted into page-pack rendering.",
|
|
96
|
+
"items": { "type": "string", "minLength": 1 }
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"additionalProperties": false
|
|
100
|
+
},
|
|
101
|
+
"renderedMarkdown": {
|
|
102
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"additionalProperties": false
|
|
106
|
+
}
|
package/schema/pattern.v2.json
CHANGED
|
@@ -108,10 +108,93 @@
|
|
|
108
108
|
"type": "object",
|
|
109
109
|
"additionalProperties": true
|
|
110
110
|
},
|
|
111
|
+
"interactions": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"description": "v2.1 Tier C1. Declared runtime interactions that the rendered pattern MUST implement. Surfaced as a checkbox checklist in the per-page execution pack; enforced by decantr check --strict (C5 guard rule). Each value maps to a canonical implementation: a specific treatment class, handler pattern, or both — see 'Interaction Requirements' table in DECANTR.md for the mapping. Before this field, motion/interactivity lived only as prose philosophy that cold LLMs categorized as 'nice to have'.",
|
|
114
|
+
"items": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"enum": [
|
|
117
|
+
"animate-on-mount",
|
|
118
|
+
"stagger-children",
|
|
119
|
+
"status-pulse",
|
|
120
|
+
"shimmer-skeleton",
|
|
121
|
+
"float-idle",
|
|
122
|
+
"glow-hover",
|
|
123
|
+
"lift-hover",
|
|
124
|
+
"scale-hover",
|
|
125
|
+
"ripple-click",
|
|
126
|
+
"drag-nodes",
|
|
127
|
+
"drag-reorder",
|
|
128
|
+
"pan-background",
|
|
129
|
+
"zoom-scroll",
|
|
130
|
+
"zoom-pinch",
|
|
131
|
+
"click-select",
|
|
132
|
+
"click-connect",
|
|
133
|
+
"inline-edit",
|
|
134
|
+
"hover-tooltip",
|
|
135
|
+
"hover-reveal",
|
|
136
|
+
"live-simulation",
|
|
137
|
+
"real-time-updates",
|
|
138
|
+
"scroll-reveal",
|
|
139
|
+
"keyboard-navigation",
|
|
140
|
+
"focus-trap"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"uniqueItems": true
|
|
144
|
+
},
|
|
111
145
|
"responsive": {
|
|
112
146
|
"type": "object",
|
|
147
|
+
"description": "Per-breakpoint adaptation. Keys are viewport breakpoint tokens (e.g., 'mobile', 'tablet', 'desktop', or '<768px', '>=900px'). Values may be either a legacy prose string OR a structured ResponsiveBreakpointRule object. Prefer structured rules so the LLM can adapt mechanically instead of paraphrasing.",
|
|
113
148
|
"additionalProperties": {
|
|
114
|
-
"
|
|
149
|
+
"oneOf": [
|
|
150
|
+
{
|
|
151
|
+
"type": "string",
|
|
152
|
+
"description": "Legacy prose form — kept for backward compatibility."
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"type": "object",
|
|
156
|
+
"additionalProperties": false,
|
|
157
|
+
"properties": {
|
|
158
|
+
"layout": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"enum": ["stack", "grid", "flex-row", "flex-column", "hide", "alternate-pattern"],
|
|
161
|
+
"description": "Top-level layout strategy at this breakpoint. 'hide' removes the pattern entirely; 'alternate-pattern' swaps to the pattern id in alternate_pattern_id."
|
|
162
|
+
},
|
|
163
|
+
"columns": {
|
|
164
|
+
"type": "integer",
|
|
165
|
+
"minimum": 1,
|
|
166
|
+
"maximum": 12,
|
|
167
|
+
"description": "Grid column count when layout=grid."
|
|
168
|
+
},
|
|
169
|
+
"gap": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "Gap as a CSS length, density-token, or atom (e.g., '1rem', 'var(--d-content-gap)', '_gap4')."
|
|
172
|
+
},
|
|
173
|
+
"hide_components": {
|
|
174
|
+
"type": "array",
|
|
175
|
+
"items": { "type": "string" },
|
|
176
|
+
"description": "Component ids/aliases rendered by this pattern that should be hidden at this breakpoint."
|
|
177
|
+
},
|
|
178
|
+
"stack_order": {
|
|
179
|
+
"type": "array",
|
|
180
|
+
"items": { "type": "string" },
|
|
181
|
+
"description": "Explicit order when layout=stack. Useful when the default DOM order doesn't map to the intended mobile reading order."
|
|
182
|
+
},
|
|
183
|
+
"alternate_pattern_id": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"description": "Pattern id to substitute when layout=alternate-pattern. Use for desktop-only patterns that need a mobile-specific counterpart."
|
|
186
|
+
},
|
|
187
|
+
"horizontal_scroll": {
|
|
188
|
+
"type": "boolean",
|
|
189
|
+
"description": "If true: permit horizontal scroll at this breakpoint (e.g., data table on mobile). Default false."
|
|
190
|
+
},
|
|
191
|
+
"notes": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "Prose that doesn't fit the structured fields. Short."
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
]
|
|
115
198
|
}
|
|
116
199
|
},
|
|
117
200
|
"accessibility": {
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://decantr.ai/schemas/section-pack.v1.json",
|
|
4
|
+
"title": "Decantr Section Execution Pack",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["$schema", "packVersion", "packType", "objective", "target", "preset", "scope", "requiredSetup", "allowedVocabulary", "examples", "antiPatterns", "successChecks", "tokenBudget", "data", "renderedMarkdown"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"const": "https://decantr.ai/schemas/section-pack.v1.json"
|
|
10
|
+
},
|
|
11
|
+
"packVersion": {
|
|
12
|
+
"const": "1.0.0"
|
|
13
|
+
},
|
|
14
|
+
"packType": {
|
|
15
|
+
"const": "section"
|
|
16
|
+
},
|
|
17
|
+
"objective": {
|
|
18
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
19
|
+
},
|
|
20
|
+
"target": {
|
|
21
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackTarget"
|
|
22
|
+
},
|
|
23
|
+
"preset": {
|
|
24
|
+
"type": ["string", "null"]
|
|
25
|
+
},
|
|
26
|
+
"scope": {
|
|
27
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackScope"
|
|
28
|
+
},
|
|
29
|
+
"requiredSetup": {
|
|
30
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/stringArray"
|
|
31
|
+
},
|
|
32
|
+
"allowedVocabulary": {
|
|
33
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/stringArray"
|
|
34
|
+
},
|
|
35
|
+
"examples": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": {
|
|
38
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackExample"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"antiPatterns": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackAntiPattern"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"successChecks": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"items": {
|
|
50
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackSuccessCheck"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"tokenBudget": {
|
|
54
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/executionPackTokenBudget"
|
|
55
|
+
},
|
|
56
|
+
"data": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"required": ["sectionId", "role", "shell", "description", "features", "theme", "routes"],
|
|
59
|
+
"properties": {
|
|
60
|
+
"sectionId": {
|
|
61
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
62
|
+
},
|
|
63
|
+
"role": {
|
|
64
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
65
|
+
},
|
|
66
|
+
"shell": {
|
|
67
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
68
|
+
},
|
|
69
|
+
"description": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"features": {
|
|
73
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/stringArray"
|
|
74
|
+
},
|
|
75
|
+
"theme": {
|
|
76
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/themeRef"
|
|
77
|
+
},
|
|
78
|
+
"routes": {
|
|
79
|
+
"type": "array",
|
|
80
|
+
"items": {
|
|
81
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/routeSummary"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"navigationItems": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"description": "Items rendered in the shell's primary navigation for this section.",
|
|
87
|
+
"items": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"required": ["label", "route"],
|
|
90
|
+
"additionalProperties": false,
|
|
91
|
+
"properties": {
|
|
92
|
+
"label": { "type": "string", "minLength": 1 },
|
|
93
|
+
"route": { "type": "string", "minLength": 1 },
|
|
94
|
+
"icon": { "type": "string", "minLength": 1 },
|
|
95
|
+
"hotkey": { "type": "string", "minLength": 1 },
|
|
96
|
+
"active_match": { "type": "string", "minLength": 1 },
|
|
97
|
+
"badge": { "type": "string", "minLength": 1 }
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"directives": {
|
|
102
|
+
"type": "array",
|
|
103
|
+
"description": "Execution-level directives emitted into section-pack rendering.",
|
|
104
|
+
"items": { "type": "string", "minLength": 1 }
|
|
105
|
+
},
|
|
106
|
+
"themeDecorators": {
|
|
107
|
+
"type": "array",
|
|
108
|
+
"description": "Required theme decorator contract — class + intent + slot hint, surfaced as a hard table in the rendered pack so cold-LLM scaffolds apply them rather than treating the decorator list as advisory.",
|
|
109
|
+
"items": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"required": ["class", "intent", "applyTo"],
|
|
112
|
+
"additionalProperties": false,
|
|
113
|
+
"properties": {
|
|
114
|
+
"class": { "type": "string", "minLength": 1 },
|
|
115
|
+
"intent": { "type": "string" },
|
|
116
|
+
"applyTo": { "type": "string" }
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"additionalProperties": false
|
|
122
|
+
},
|
|
123
|
+
"renderedMarkdown": {
|
|
124
|
+
"$ref": "https://decantr.ai/schemas/execution-pack.common.v1.json#/$defs/nonEmptyString"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"additionalProperties": false
|
|
128
|
+
}
|