@wootsup/yt-builder-mcp 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/README.md +15 -11
  2. package/dist/catalog/build-catalog.d.ts +63 -0
  3. package/dist/catalog/build-catalog.d.ts.map +1 -0
  4. package/dist/catalog/build-catalog.js +166 -0
  5. package/dist/catalog/build-catalog.js.map +1 -0
  6. package/dist/gateway/advanced-read-tool.d.ts +37 -0
  7. package/dist/gateway/advanced-read-tool.d.ts.map +1 -0
  8. package/dist/gateway/advanced-read-tool.js +156 -0
  9. package/dist/gateway/advanced-read-tool.js.map +1 -0
  10. package/dist/gateway/advanced-tool/domains.d.ts +18 -3
  11. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
  12. package/dist/gateway/advanced-tool/domains.js +28 -9
  13. package/dist/gateway/advanced-tool/domains.js.map +1 -1
  14. package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
  15. package/dist/gateway/advanced-tool/register.js +43 -11
  16. package/dist/gateway/advanced-tool/register.js.map +1 -1
  17. package/dist/gateway/essentials.d.ts +14 -4
  18. package/dist/gateway/essentials.d.ts.map +1 -1
  19. package/dist/gateway/essentials.js +41 -5
  20. package/dist/gateway/essentials.js.map +1 -1
  21. package/dist/gateway/test-support.d.ts +2 -2
  22. package/dist/gateway/test-support.js +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +10 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/install-skill.js +1 -1
  27. package/dist/proxy/bridge.d.ts +36 -0
  28. package/dist/proxy/bridge.d.ts.map +1 -0
  29. package/dist/proxy/bridge.js +129 -0
  30. package/dist/proxy/bridge.js.map +1 -0
  31. package/dist/proxy/mode.d.ts +10 -0
  32. package/dist/proxy/mode.d.ts.map +1 -0
  33. package/dist/proxy/mode.js +20 -0
  34. package/dist/proxy/mode.js.map +1 -0
  35. package/dist/server.d.ts +5 -3
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +13 -3
  38. package/dist/server.js.map +1 -1
  39. package/dist/setup-wizard.d.ts.map +1 -1
  40. package/dist/setup-wizard.js +7 -0
  41. package/dist/setup-wizard.js.map +1 -1
  42. package/dist/sites/client-pool.d.ts.map +1 -1
  43. package/dist/sites/client-pool.js +21 -3
  44. package/dist/sites/client-pool.js.map +1 -1
  45. package/dist/sites/registry.d.ts +30 -0
  46. package/dist/sites/registry.d.ts.map +1 -1
  47. package/dist/sites/registry.js.map +1 -1
  48. package/dist/sites/store.d.ts +8 -1
  49. package/dist/sites/store.d.ts.map +1 -1
  50. package/dist/sites/store.js +17 -2
  51. package/dist/sites/store.js.map +1 -1
  52. package/dist/sites/tools/use-site.d.ts.map +1 -1
  53. package/dist/sites/tools/use-site.js +26 -6
  54. package/dist/sites/tools/use-site.js.map +1 -1
  55. package/dist/tools/bind-guidance.d.ts +80 -0
  56. package/dist/tools/bind-guidance.d.ts.map +1 -0
  57. package/dist/tools/bind-guidance.js +95 -0
  58. package/dist/tools/bind-guidance.js.map +1 -0
  59. package/dist/tools/elements/builders.d.ts.map +1 -1
  60. package/dist/tools/elements/builders.js +59 -11
  61. package/dist/tools/elements/builders.js.map +1 -1
  62. package/dist/tools/elements/handlers-write.d.ts +19 -2
  63. package/dist/tools/elements/handlers-write.d.ts.map +1 -1
  64. package/dist/tools/elements/handlers-write.js +179 -10
  65. package/dist/tools/elements/handlers-write.js.map +1 -1
  66. package/dist/tools/elements/handlers.d.ts +6 -1
  67. package/dist/tools/elements/handlers.d.ts.map +1 -1
  68. package/dist/tools/elements/handlers.js +74 -7
  69. package/dist/tools/elements/handlers.js.map +1 -1
  70. package/dist/tools/elements/layout-hierarchy-rules.d.ts +62 -0
  71. package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +1 -0
  72. package/dist/tools/elements/layout-hierarchy-rules.js +154 -0
  73. package/dist/tools/elements/layout-hierarchy-rules.js.map +1 -0
  74. package/dist/tools/format/elements-format.d.ts +35 -0
  75. package/dist/tools/format/elements-format.d.ts.map +1 -1
  76. package/dist/tools/format/elements-format.js +124 -1
  77. package/dist/tools/format/elements-format.js.map +1 -1
  78. package/dist/tools/format/inspection-format.d.ts +18 -0
  79. package/dist/tools/format/inspection-format.d.ts.map +1 -1
  80. package/dist/tools/format/inspection-format.js +22 -1
  81. package/dist/tools/format/inspection-format.js.map +1 -1
  82. package/dist/tools/format/pages-format.d.ts.map +1 -1
  83. package/dist/tools/format/pages-format.js +7 -0
  84. package/dist/tools/format/pages-format.js.map +1 -1
  85. package/dist/tools/format/sources-format.d.ts +8 -0
  86. package/dist/tools/format/sources-format.d.ts.map +1 -1
  87. package/dist/tools/format/sources-format.js +10 -0
  88. package/dist/tools/format/sources-format.js.map +1 -1
  89. package/dist/tools/health.d.ts.map +1 -1
  90. package/dist/tools/health.js +24 -0
  91. package/dist/tools/health.js.map +1 -1
  92. package/dist/tools/index.d.ts.map +1 -1
  93. package/dist/tools/index.js +4 -0
  94. package/dist/tools/index.js.map +1 -1
  95. package/dist/tools/inspection.d.ts +24 -0
  96. package/dist/tools/inspection.d.ts.map +1 -1
  97. package/dist/tools/inspection.js +140 -41
  98. package/dist/tools/inspection.js.map +1 -1
  99. package/dist/tools/layout-flatten.d.ts +11 -8
  100. package/dist/tools/layout-flatten.d.ts.map +1 -1
  101. package/dist/tools/layout-flatten.js +17 -6
  102. package/dist/tools/layout-flatten.js.map +1 -1
  103. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  104. package/dist/tools/multi-items/builders.js +11 -2
  105. package/dist/tools/multi-items/builders.js.map +1 -1
  106. package/dist/tools/multi-items/inspect-handler.d.ts +13 -0
  107. package/dist/tools/multi-items/inspect-handler.d.ts.map +1 -1
  108. package/dist/tools/multi-items/inspect-handler.js +147 -3
  109. package/dist/tools/multi-items/inspect-handler.js.map +1 -1
  110. package/dist/tools/pages/builders.d.ts.map +1 -1
  111. package/dist/tools/pages/builders.js +88 -25
  112. package/dist/tools/pages/builders.js.map +1 -1
  113. package/dist/tools/pages/handlers-read.d.ts +5 -1
  114. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  115. package/dist/tools/pages/handlers-read.js +192 -47
  116. package/dist/tools/pages/handlers-read.js.map +1 -1
  117. package/dist/tools/pages/handlers-write.d.ts +95 -1
  118. package/dist/tools/pages/handlers-write.d.ts.map +1 -1
  119. package/dist/tools/pages/handlers-write.js +137 -8
  120. package/dist/tools/pages/handlers-write.js.map +1 -1
  121. package/dist/tools/pages/index.d.ts +1 -1
  122. package/dist/tools/pages/index.d.ts.map +1 -1
  123. package/dist/tools/pages/index.js +1 -1
  124. package/dist/tools/pages/index.js.map +1 -1
  125. package/dist/tools/pages/schemas.d.ts +54 -0
  126. package/dist/tools/pages/schemas.d.ts.map +1 -1
  127. package/dist/tools/pages/schemas.js +199 -2
  128. package/dist/tools/pages/schemas.js.map +1 -1
  129. package/dist/tools/shared-schemas.d.ts.map +1 -1
  130. package/dist/tools/shared-schemas.js +15 -13
  131. package/dist/tools/shared-schemas.js.map +1 -1
  132. package/dist/tools/sources/builders.d.ts.map +1 -1
  133. package/dist/tools/sources/builders.js +64 -6
  134. package/dist/tools/sources/builders.js.map +1 -1
  135. package/dist/tools/sources/handlers-bind.d.ts +13 -1
  136. package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
  137. package/dist/tools/sources/handlers-bind.js +163 -1
  138. package/dist/tools/sources/handlers-bind.js.map +1 -1
  139. package/dist/tools/sources/handlers.d.ts +3 -0
  140. package/dist/tools/sources/handlers.d.ts.map +1 -1
  141. package/dist/tools/sources/handlers.js +43 -6
  142. package/dist/tools/sources/handlers.js.map +1 -1
  143. package/dist/tools/sparse-fields.d.ts +23 -0
  144. package/dist/tools/sparse-fields.d.ts.map +1 -1
  145. package/dist/tools/sparse-fields.js +29 -0
  146. package/dist/tools/sparse-fields.js.map +1 -1
  147. package/dist/tools/sublayout/builders.d.ts +23 -0
  148. package/dist/tools/sublayout/builders.d.ts.map +1 -0
  149. package/dist/tools/sublayout/builders.js +54 -0
  150. package/dist/tools/sublayout/builders.js.map +1 -0
  151. package/dist/tools/sublayout/index.d.ts +13 -0
  152. package/dist/tools/sublayout/index.d.ts.map +1 -0
  153. package/dist/tools/sublayout/index.js +13 -0
  154. package/dist/tools/sublayout/index.js.map +1 -0
  155. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +95 -0
  156. package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +1 -0
  157. package/dist/tools/sublayout/inspect-sublayout-handler.js +181 -0
  158. package/dist/tools/sublayout/inspect-sublayout-handler.js.map +1 -0
  159. package/dist/tools/tool-builder/results.d.ts +31 -0
  160. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  161. package/dist/tools/tool-builder/results.js +95 -4
  162. package/dist/tools/tool-builder/results.js.map +1 -1
  163. package/manifest.json +1 -1
  164. package/package.json +4 -2
  165. package/skills/yt-builder-mcp/SKILL.md +146 -81
@@ -10,11 +10,12 @@
10
10
  */
11
11
  import { detailResult, tableResult } from '@getimo/mcp-toolkit';
12
12
  import { z } from 'zod';
13
+ import { BIND_VIA_GATEWAY_EXAMPLE } from './bind-guidance.js';
13
14
  import { TYPES_COMPACT_COLUMNS, TYPES_TABLE_COLUMNS, buildTypeSchemaDetail, flattenTypesPayload, mapTypeRow, } from './format/inspection-format.js';
14
15
  import { SITE_ID_SCHEMA } from './shared-schemas.js';
15
16
  import { resolveSiteOrError } from './pool-resolve-helper.js';
16
17
  import { defineTool, errorResult, readOnly, structuredResult, withSiteMeta, } from './tool-builder.js';
17
- import { DEFAULT_FIELDS_TYPES_LIST, FIELDS, projectFields, projectedFieldsEcho, projectionFeedback, } from './sparse-fields.js';
18
+ import { DEFAULT_FIELDS_TYPES_LIST, FIELDS, projectFields, projectedFieldsEcho, projectionFeedback, projectionWarning, } from './sparse-fields.js';
18
19
  import { ITEM_CHILDREN_OF_CONTAINER } from './multi-items/item-container-map.js';
19
20
  // ─── outputSchemas (Wave G.2 §4) ─────────────────────────────────────
20
21
  const TYPES_LIST_OUTPUT_SCHEMA = z.object({
@@ -24,6 +25,10 @@ const TYPES_LIST_OUTPUT_SCHEMA = z.object({
24
25
  // F-004 fix (2026-05-25 exhaustive audit): see sparse-fields::projectionFeedback.
25
26
  available_fields: z.array(z.string()).optional(),
26
27
  unknown_fields: z.array(z.string()).optional(),
28
+ // F23 (2026-06-10): the LOUD unknown-projection warning also rides in
29
+ // structuredContent — hosts that surface structuredContent (not the
30
+ // text leg) to the model would otherwise never see it.
31
+ projection_warning: z.string().optional(),
27
32
  });
28
33
  const TYPE_SCHEMA_OUTPUT_SCHEMA = z.object({
29
34
  name: z.string(),
@@ -47,6 +52,16 @@ const TYPE_SCHEMA_OUTPUT_SCHEMA = z.object({
47
52
  child_type: z.string().optional(),
48
53
  child_required: z.boolean().optional(),
49
54
  binding_target_props: z.array(z.string()).optional(),
55
+ // F151 (2026-06-11): the single canonical text prop for this
56
+ // element type (e.g. grid_item → "title", list_item/headline →
57
+ // "content"). Names the right key so the agent does not guess.
58
+ canonical_text_prop: z.string().optional(),
59
+ // F143 (2026-06-11): map_item's single combined "lat,lng"
60
+ // location prop contract — present only for location-bearing
61
+ // item types.
62
+ location_prop: z
63
+ .object({ prop: z.string(), format: z.string() })
64
+ .optional(),
50
65
  minimal_layout: z.record(z.string(), z.unknown()).optional(),
51
66
  set_via_tool: z.string().optional(),
52
67
  discover_source_tool: z.string().optional(),
@@ -87,57 +102,117 @@ const LEAF_BINDING_TARGETS = {
87
102
  quote: ['content'],
88
103
  subtitle: ['content'],
89
104
  };
105
+ // F151 (2026-06-11): the SINGLE canonical text prop per element type.
106
+ //
107
+ // Prop names diverge across types — a `grid_item` carries its primary
108
+ // text on `title`, while `list_item`/`headline`/`text` carry it on
109
+ // `content`. A cold agent that guesses one key consistently writes a
110
+ // DEAD prop (silent placeholder, no error). The F129 bind-time validator
111
+ // (Wave 4) already WARNS on unknown prop keys after the fact; this map is
112
+ // the SCHEMA side — it names the right key UP FRONT so the agent never
113
+ // guesses. Only types with an unambiguous single text carrier are listed;
114
+ // types with no clear single text prop are simply omitted (no
115
+ // `canonical_text_prop` emitted).
116
+ const CANONICAL_TEXT_PROP = {
117
+ grid_item: 'title',
118
+ list_item: 'content',
119
+ accordion_item: 'title',
120
+ slideshow_item: 'title',
121
+ switcher_item: 'title',
122
+ gallery_item: 'title',
123
+ panel_item: 'title',
124
+ headline: 'content',
125
+ text: 'content',
126
+ quote: 'content',
127
+ subtitle: 'content',
128
+ button: 'content',
129
+ button_item: 'content',
130
+ };
131
+ // F143 (2026-06-11): `map_item` renders a marker off a SINGLE `location`
132
+ // prop that wants ONE combined "lat,lng" string. Sources almost always
133
+ // supply latitude and longitude as two separate fields, so the natural
134
+ // (wrong) move is to map two props — which leaves the map with zero pins
135
+ // and no error. Surface the contract on the schema so the agent maps one
136
+ // combined value instead. See also the inspect_multi_items_binding hard
137
+ // warning (PHP MultiItemsInspector) for the post-bind safety net.
138
+ const LOCATION_PROP_CONTRACT = {
139
+ map_item: {
140
+ prop: 'location',
141
+ format: 'Single "lat,lng" string (e.g. "48.2082,16.3738") — NOT two ' +
142
+ 'separate fields. Map ONE source field that already holds the ' +
143
+ 'combined pair, or build it in a transform (e.g. ' +
144
+ "join(',', [to_string(lat), to_string(lng)])). Without a resolved " +
145
+ 'location binding the map renders 0 markers.',
146
+ },
147
+ };
148
+ /**
149
+ * F151/F143 — attach the canonical single text prop and (for map_item)
150
+ * the location-prop contract to whatever contract `deriveBindingContract`
151
+ * built. Pure: returns a new object, only sets the keys when a mapping
152
+ * exists for `elementType`.
153
+ */
154
+ function withPropContracts(contract, elementType) {
155
+ const textProp = CANONICAL_TEXT_PROP[elementType];
156
+ const location = LOCATION_PROP_CONTRACT[elementType];
157
+ return {
158
+ ...contract,
159
+ ...(textProp !== undefined ? { canonical_text_prop: textProp } : {}),
160
+ ...(location !== undefined ? { location_prop: { ...location } } : {}),
161
+ };
162
+ }
90
163
  function deriveBindingContract(elementType) {
164
+ const built = deriveBindingContractBase(elementType);
165
+ return built !== undefined ? withPropContracts(built, elementType) : built;
166
+ }
167
+ function deriveBindingContractBase(elementType) {
91
168
  const itemType = CONTAINER_TO_ITEM_TYPE[elementType];
92
169
  if (itemType !== undefined) {
93
170
  return {
94
171
  kind: 'container',
95
172
  pattern: `Multi-Items: bind on the CHILD (${itemType}) — NOT this container — ` +
96
- `to clone N times per source row. **Use yootheme_builder_element_bind_source ` +
97
- `do NOT hand-author the source shape via element_update_settings({props:{source}}).** ` +
98
- `The bind tool emits the canonical YT-Pro shape where \`source\` sits as a ` +
99
- `SIBLING of \`props\`/\`children\` on the *_item, never nested inside \`props\`. ` +
173
+ `to clone N times per source row. **Bind directly: ${BIND_VIA_GATEWAY_EXAMPLE} ` +
174
+ `— do NOT hand-author the source shape via element_update_settings({props:{source}}).** ` +
175
+ `The bind tool (a first-class tool in tools/list) emits the canonical YT-Pro shape where ` +
176
+ `\`source\` sits as a SIBLING of \`props\`/\`children\` on the *_item, never nested ` +
177
+ `inside \`props\`. ` +
100
178
  `Use yootheme_builder_inspect_multi_items_binding to confirm where the binding ` +
101
179
  `currently lives if a template renders 1 container with N children stacked vs ` +
102
180
  `N siblings.`,
103
181
  child_type: itemType,
104
182
  child_required: true,
105
- // Wave-7 (2026-05-29): canonical shape verified against
106
- // page:3315/3252/3361 working pages on dev.wootsup.com.
107
- // `source` is a SIBLING of `props`/`children`, NOT a nested key
108
- // under `props`. The `*_item` element holds the binding; the
109
- // container has NO `source` of its own. Cold-AI #5 inverted this
110
- // and got silent-render-failure (page:3366).
183
+ // F132 (Wave 4a): the example shows a BARE container + child —
184
+ // NO populated `source` block. element_add's children-guard now
185
+ // rejects a hand-authored `source` anywhere in the tree (it
186
+ // silently renders 0 rows in a stored layout), so teaching the
187
+ // populated shape here would hand the agent a guaranteed reject /
188
+ // broken render. Build this bare structure first, THEN bind the
189
+ // source through the dedicated bind tool — see `set_via_tool`
190
+ // and `do_not` below. The binding lands on the *_item as a
191
+ // SIBLING of `props`/`children`; the bind tool writes it at the
192
+ // correct nesting level so you never hand-author it.
111
193
  minimal_layout: {
112
194
  type: elementType,
113
- // No `source` here container is bare.
195
+ // Container is bare — it never holds a `source` of its own.
114
196
  children: [
115
197
  {
116
198
  type: itemType,
117
- // `props` stays minimal — settings only.
199
+ // `props` stays minimal — settings only. NO `source`
200
+ // here: add the structure first, then bind via
201
+ // yootheme_builder_element_bind_source (see set_via_tool).
118
202
  props: {},
119
- // `source` is a SIBLING of `props` / `children`.
120
- source: {
121
- query: {
122
- name: '<source_name from yootheme_builder_sources_list>',
123
- },
124
- props: {
125
- title: {
126
- name: '<source_field>',
127
- filters: [],
128
- },
129
- content: {
130
- name: '<source_field>',
131
- filters: [],
132
- },
133
- },
134
- },
135
203
  children: [],
136
204
  },
137
205
  ],
206
+ // After this structure exists, bind the source:
207
+ bind_after_create: 'Call yootheme_builder_element_bind_source on the *_item child ' +
208
+ '(NOT this container). Discover the binding shape with ' +
209
+ 'apimapper_yootheme_binding_for_flow({ flow_id }). Do NOT add `source` ' +
210
+ 'to this layout by hand.',
138
211
  },
139
- set_via_tool: 'yootheme_builder_element_bind_source REQUIRED. Hand-authoring source ' +
140
- 'via element_update_settings is rejected (props-schema does not include source).',
212
+ set_via_tool: 'yootheme_builder_element_bind_source({ template_id, element_path, ' +
213
+ 'source_name, field_mappings }) REQUIRED. The bind tool is a first-class ' +
214
+ 'tool in tools/list (since F116); call it directly. Hand-authoring source via ' +
215
+ 'element_update_settings is rejected (props-schema does not include source).',
141
216
  discover_source_tool: 'apimapper_yootheme_binding_for_flow({ flow_id }) — returns ready-to-paste binding shapes.',
142
217
  do_not: [
143
218
  `Do NOT set \`source\` on the container (${elementType}) itself — only on the *_item child.`,
@@ -153,17 +228,20 @@ function deriveBindingContract(elementType) {
153
228
  return {
154
229
  kind: 'item',
155
230
  pattern: `Multi-Items child of "${containerType}". Bindings on this element are ` +
156
- `cloned once per source row. **Use yootheme_builder_element_bind_source ` +
157
- `do NOT hand-author the source via element_update_settings.** The source must ` +
231
+ `cloned once per source row. **Bind directly: ${BIND_VIA_GATEWAY_EXAMPLE} ` +
232
+ `— do NOT hand-author the source via element_update_settings.** The source must ` +
158
233
  `be set on THIS element (as a SIBLING of \`props\`/\`children\`, not nested ` +
159
234
  `inside \`props\`), not on the parent ${containerType}.`,
160
- set_via_tool: 'yootheme_builder_element_bind_source REQUIRED. Hand-authoring source ' +
161
- 'via element_update_settings is rejected (props-schema does not include source).',
235
+ set_via_tool: 'yootheme_builder_element_bind_source({ template_id, element_path, ' +
236
+ 'source_name, field_mappings }) REQUIRED. The bind tool is a first-class ' +
237
+ 'tool in tools/list (since F116); call it directly. Hand-authoring source via ' +
238
+ 'element_update_settings is rejected (props-schema does not include source).',
162
239
  discover_source_tool: 'apimapper_yootheme_binding_for_flow({ flow_id })',
163
240
  do_not: [
164
241
  `Do NOT set \`source\` on the parent ${containerType} — only on this ${elementType}.`,
165
242
  'Do NOT nest `source` under `props` — it must be a sibling of `props`/`children`.',
166
- 'Do NOT call element_update_settings with {source} or {source_extended} — use element_bind_source.',
243
+ 'Do NOT call element_update_settings with {source} or {source_extended} — bind via ' +
244
+ 'yootheme_builder_element_bind_source({ template_id, element_path, source_name, field_mappings }).',
167
245
  'Do NOT add child leaves with their own per-prop `source` + `${builder.source}` placeholders.',
168
246
  ],
169
247
  };
@@ -175,16 +253,23 @@ function deriveBindingContract(elementType) {
175
253
  pattern: `Leaf element — supports single-field source bindings on the prop keys ` +
176
254
  `listed in \`binding_target_props\`. NOT a Multi-Items host.`,
177
255
  binding_target_props: [...leafTargets],
178
- set_via_tool: 'yootheme_builder_element_bind_source',
256
+ set_via_tool: BIND_VIA_GATEWAY_EXAMPLE,
179
257
  discover_source_tool: 'apimapper_yootheme_binding_for_flow({ flow_id })',
180
258
  };
181
259
  }
182
260
  return {
183
261
  kind: 'none',
184
262
  pattern: 'No standard binding contract known for this element type. Inspect the ' +
185
- '`fields` list above and bind ad-hoc via yootheme_builder_element_bind_source.',
263
+ `\`fields\` list above and bind ad-hoc directly: ${BIND_VIA_GATEWAY_EXAMPLE} ` +
264
+ '(the bind tool is a first-class tool in tools/list since F116).',
186
265
  };
187
266
  }
267
+ /**
268
+ * Test-only re-export of the module-private `deriveBindingContract`. Kept
269
+ * out of the public tool surface; consumed by the F132 minimal_layout pin
270
+ * (tests/tools/inspection-minimal-layout-bare.test.ts).
271
+ */
272
+ export const __test_deriveBindingContract = deriveBindingContract;
188
273
  export function buildInspectionTools(pool) {
189
274
  return [
190
275
  defineTool({
@@ -192,6 +277,12 @@ export function buildInspectionTools(pool) {
192
277
  description: 'List element types registered on this site (built-ins + ' +
193
278
  'YOOessentials/uEssentials extras). Names feed `element_type` of ' +
194
279
  'element_add. Pass `fields[]` to narrow each row. ' +
280
+ // F61: "slider"/"carousel" are customer words, not element
281
+ // names. F62: prop keys are per-element (grid_item `title` vs
282
+ // headline `content`) — call element_type_get_schema first.
283
+ 'Keywords: "slider"/"carousel" → `slideshow`/`panel-slider`/`overlay-slider`. ' +
284
+ 'Prop keys differ per element (grid_item `title` vs headline `content`) — ' +
285
+ 'use element_type_get_schema before element_add/bind. ' +
195
286
  'Operates on the default site unless site_id is provided.',
196
287
  inputSchema: {
197
288
  site_id: SITE_ID_SCHEMA,
@@ -212,9 +303,8 @@ export function buildInspectionTools(pool) {
212
303
  const items = projectFields(mappedRecords, fields, DEFAULT_FIELDS_TYPES_LIST);
213
304
  const echo = projectedFieldsEcho(fields, DEFAULT_FIELDS_TYPES_LIST);
214
305
  const feedback = projectionFeedback(mappedRecords, fields);
215
- const unknownNote = feedback !== undefined && feedback.unknown_fields.length > 0
216
- ? ` (unknown fields ignored: ${feedback.unknown_fields.join(', ')}; available: ${feedback.available_fields.join(', ')})`
217
- : '';
306
+ // F23 (2026-06-09): shared loud-warning helper.
307
+ const unknownNote = projectionWarning(feedback);
218
308
  const toolkitResult = tableResult(mappedRecords, {
219
309
  columns: [...TYPES_TABLE_COLUMNS],
220
310
  compactColumns: [...TYPES_COMPACT_COLUMNS],
@@ -228,6 +318,7 @@ export function buildInspectionTools(pool) {
228
318
  ...(feedback !== undefined ? {
229
319
  available_fields: [...feedback.available_fields],
230
320
  unknown_fields: [...feedback.unknown_fields],
321
+ ...(unknownNote.trim() !== '' ? { projection_warning: unknownNote.trim() } : {}),
231
322
  } : {}),
232
323
  }), site);
233
324
  }
@@ -358,6 +449,14 @@ function buildElementTypeGetSchemaTool(pool) {
358
449
  binding_target_props: bindingContract.binding_target_props,
359
450
  }
360
451
  : {}),
452
+ ...(bindingContract.canonical_text_prop !== undefined
453
+ ? {
454
+ canonical_text_prop: bindingContract.canonical_text_prop,
455
+ }
456
+ : {}),
457
+ ...(bindingContract.location_prop !== undefined
458
+ ? { location_prop: bindingContract.location_prop }
459
+ : {}),
361
460
  ...(bindingContract.set_via_tool !== undefined
362
461
  ? { set_via_tool: bindingContract.set_via_tool }
363
462
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,GACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACH,UAAU,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,YAAY,GAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,yBAAyB,EACzB,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,wEAAwE;AAExE,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,kFAAkF;IAClF,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,sEAAsE;IACtE,oEAAoE;IACpE,uDAAuD;IACvD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,qEAAqE;IACrE,wEAAwE;IACxE,oBAAoB;IACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,oEAAoE;IACpE,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,mEAAmE;IACnE,iDAAiD;IACjD,gBAAgB,EAAE,CAAC;SACd,MAAM,CAAC;QACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACtC,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpD,6DAA6D;QAC7D,+DAA+D;QAC/D,+DAA+D;QAC/D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1C,0DAA0D;QAC1D,6DAA6D;QAC7D,cAAc;QACd,aAAa,EAAE,CAAC;aACX,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;aAChD,QAAQ,EAAE;QACf,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3C,kEAAkE;QAClE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzC,CAAC;SACD,QAAQ,EAAE;CAClB,CAAC,CAAC;AAEH,uDAAuD;AACvD,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,iCAAiC;AACjC,EAAE;AACF,8DAA8D;AAC9D,oEAAoE;AACpE,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,8EAA8E;AAC9E,wEAAwE;AACxE,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,wEAAwE;AACxE,mDAAmD;AACnD,MAAM,sBAAsB,GAAqC,0BAA0B,CAAC;AAE5F,MAAM,sBAAsB,GAAqC,MAAM,CAAC,WAAW,CAC/E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACjE,CAAC;AAEF,+GAA+G;AAC/G,MAAM,oBAAoB,GAAgD;IACtE,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;IACtC,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF,sEAAsE;AACtE,EAAE;AACF,sEAAsE;AACtE,mEAAmE;AACnE,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,0EAA0E;AAC1E,8DAA8D;AAC9D,kCAAkC;AAClC,MAAM,mBAAmB,GAAqC;IAC1D,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,SAAS;IACpB,cAAc,EAAE,OAAO;IACvB,cAAc,EAAE,OAAO;IACvB,aAAa,EAAE,OAAO;IACtB,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,SAAS;CACzB,CAAC;AAEF,yEAAyE;AACzE,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,kEAAkE;AAClE,MAAM,sBAAsB,GAA+D;IACvF,QAAQ,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,MAAM,EACF,6DAA6D;YAC7D,+DAA+D;YAC/D,kDAAkD;YAClD,mEAAmE;YACnE,6CAA6C;KACpD;CACJ,CAAC;AAgBF;;;;;GAKG;AACH,SAAS,iBAAiB,CACtB,QAAyB,EACzB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACrD,OAAO;QACH,GAAG,QAAQ;QACX,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAC9C,MAAM,KAAK,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACrD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/E,CAAC;AAED,SAAS,yBAAyB,CAAC,WAAmB;IAClD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACH,IAAI,EAAE,WAAW;YACjB,OAAO,EACH,mCAAmC,QAAQ,2BAA2B;gBACtE,qDAAqD,wBAAwB,GAAG;gBAChF,yFAAyF;gBACzF,0FAA0F;gBAC1F,qFAAqF;gBACrF,oBAAoB;gBACpB,gFAAgF;gBAChF,+EAA+E;gBAC/E,aAAa;YACjB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,IAAI;YACpB,+DAA+D;YAC/D,gEAAgE;YAChE,4DAA4D;YAC5D,+DAA+D;YAC/D,kEAAkE;YAClE,gEAAgE;YAChE,8DAA8D;YAC9D,2DAA2D;YAC3D,gEAAgE;YAChE,qDAAqD;YACrD,cAAc,EAAE;gBACZ,IAAI,EAAE,WAAW;gBACjB,4DAA4D;gBAC5D,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,QAAQ;wBACd,qDAAqD;wBACrD,+CAA+C;wBAC/C,2DAA2D;wBAC3D,KAAK,EAAE,EAAE;wBACT,QAAQ,EAAE,EAAE;qBACf;iBACJ;gBACD,gDAAgD;gBAChD,iBAAiB,EACb,gEAAgE;oBAChE,wDAAwD;oBACxD,wEAAwE;oBACxE,yBAAyB;aAChC;YACD,YAAY,EACR,oEAAoE;gBACpE,4EAA4E;gBAC5E,+EAA+E;gBAC/E,6EAA6E;YACjF,oBAAoB,EAChB,2FAA2F;YAC/F,MAAM,EAAE;gBACJ,2CAA2C,WAAW,sCAAsC;gBAC5F,iDAAiD,QAAQ,mCAAmC;gBAC5F,uIAAuI;gBACvI,2LAA2L;gBAC3L,iUAAiU;aACpU;SACJ,CAAC;IACN,CAAC;IACD,MAAM,aAAa,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EACH,yBAAyB,aAAa,kCAAkC;gBACxE,gDAAgD,wBAAwB,GAAG;gBAC3E,iFAAiF;gBACjF,6EAA6E;gBAC7E,wCAAwC,aAAa,GAAG;YAC5D,YAAY,EACR,oEAAoE;gBACpE,4EAA4E;gBAC5E,+EAA+E;gBAC/E,6EAA6E;YACjF,oBAAoB,EAAE,kDAAkD;YACxE,MAAM,EAAE;gBACJ,uCAAuC,aAAa,mBAAmB,WAAW,GAAG;gBACrF,kFAAkF;gBAClF,oFAAoF;oBAChF,mGAAmG;gBACvG,8FAA8F;aACjG;SACJ,CAAC;IACN,CAAC;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EACH,wEAAwE;gBACxE,6DAA6D;YACjE,oBAAoB,EAAE,CAAC,GAAG,WAAW,CAAC;YACtC,YAAY,EAAE,wBAAwB;YACtC,oBAAoB,EAAE,kDAAkD;SAC3E,CAAC;IACN,CAAC;IACD,OAAO;QACH,IAAI,EAAE,MAAM;QACZ,OAAO,EACH,wEAAwE;YACxE,mDAAmD,wBAAwB,GAAG;YAC9E,iEAAiE;KACxE,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAElE,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACjD,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EACP,0DAA0D;gBAC1D,kEAAkE;gBAClE,mDAAmD;gBACnD,2DAA2D;gBAC3D,8DAA8D;gBAC9D,4DAA4D;gBAC5D,+EAA+E;gBAC/E,2EAA2E;gBAC3E,uDAAuD;gBACvD,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,MAAM;aACjB;YACD,YAAY,EAAE,wBAAwB;YACtC,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC;YAC3C,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;gBACnC,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,CAAC,CAAC,EAAE;oBAAE,OAAO,CAAC,CAAC,KAAK,CAAC;gBAC1B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBACpD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACpC,MAAM,aAAa,GAAG,MAA8C,CAAC;oBACrE,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC;oBAC9E,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;oBACpE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBAC3D,gDAAgD;oBAChD,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAChD,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,EAAE;wBAC7C,OAAO,EAAE,CAAC,GAAG,mBAAmB,CAAC;wBACjC,cAAc,EAAE,CAAC,GAAG,qBAAqB,CAAC;wBAC1C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,EAAE;wBACjE,MAAM,EAAE,iEAAiE;qBAC5E,CAAC,CAAC;oBACH,OAAO,YAAY,CAAC,gBAAgB,CAAC,aAAa,EAAE;wBAChD,KAAK;wBACL,KAAK,EAAE,KAAK,CAAC,MAAM;wBACnB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9D,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;4BACzB,gBAAgB,EAAE,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC;4BAChD,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC;4BAC5C,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACnF,CAAC,CAAC,CAAC,EAAE,CAAC;qBACV,CAAC,EAAE,IAAI,CAAC,CAAC;gBACd,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,YAAY,CAAC,WAAW,CAAC;wBAC5B,KAAK,EAAE,CAAC;wBACR,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;wBAC7B,IAAI,EAAE,+CAA+C;qBACxD,CAAC,EAAE,IAAI,CAAC,CAAC;gBACd,CAAC;YACL,CAAC;SACJ,CAAC;QAEF,6BAA6B,CAAC,IAAI,CAAC;KACtC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,6BAA6B,CAAC,IAAgB;IACnD,MAAM,iBAAiB,GAAG;QACtB,OAAO,EAAE,cAAc;QACvB,2DAA2D;QAC3D,wDAAwD;QACxD,yDAAyD;QACzD,0DAA0D;QAC1D,qDAAqD;QACrD,6BAA6B;QAC7B,YAAY,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACL,2DAA2D;YACvD,kDAAkD,CACzD;QACL,SAAS,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACL,0DAA0D;YACtD,0DAA0D;YAC1D,4BAA4B,CACnC;KACC,CAAC;IACX,MAAM,mBAAmB,GAAG,CAAC;SACxB,MAAM,CAAC,iBAAiB,CAAC;SACzB,MAAM,CACH,CAAC,IAAI,EAAE,EAAE,CACL,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACnE,CAAC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,EACjE;QACI,OAAO,EACH,+CAA+C;YAC/C,iCAAiC;KACxC,CACJ,CAAC;IACN,OAAO,UAAU,CAAC;QACd,IAAI,EAAE,0CAA0C;QAChD,WAAW,EACP,qEAAqE;YACrE,gEAAgE;YAChE,+DAA+D;YAC/D,6CAA6C;YAC7C,0DAA0D;QAC9D,WAAW,EAAE,iBAAiB;QAC9B,+DAA+D;QAC/D,mEAAmE;QACnE,iBAAiB,EAAE,mBAAmB;QACtC,YAAY,EAAE,yBAAyB;QACvC,WAAW,EAAE,QAAQ,CAAC,yBAAyB,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpB,6DAA6D;YAC7D,4DAA4D;YAC5D,2DAA2D;YAC3D,uDAAuD;YACvD,oCAAoC;YACpC,MAAM,aAAa,GACf,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE;gBAC7D,CAAC,CAAC,IAAI,CAAC,YAAY;gBACnB,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;oBAClC,CAAC,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;gBACvB,OAAO,WAAW,CAAC;oBACf,KAAK,EAAE,IAAI,KAAK,CACZ,+CAA+C;wBAC3C,iCAAiC,CACxC;oBACD,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC5E,IAAI,EACA,6CAA6C;wBAC7C,+DAA+D;iBACtE,CAAC,CAAC;YACP,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC;YAChC,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAC9B,IAAI,EACJ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC,KAAK,CAAC;YAC1B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAC7B,kBAAkB,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAC3D,CAAC;gBACF,0DAA0D;gBAC1D,mEAAmE;gBACnE,wDAAwD;gBACxD,MAAM,MAAM,GACR,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;oBACnD,CAAC,CAAE,IAAI,CAAC,MAAkC;oBAC1C,CAAC,CAAC,IAAI,CAAC;gBACf,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1E,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7E,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;oBACvC,CAAC,CAAE,MAAM,CAAC,MAAoC;oBAC9C,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE5D,uDAAuD;gBACvD,iDAAiD;gBACjD,uDAAuD;gBACvD,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAEpD,MAAM,aAAa,GAAG,YAAY,CAC9B,qBAAqB,CAAC;oBAClB,IAAI;oBACJ,KAAK;oBACL,MAAM;oBACN,MAAM;oBACN,GAAG,CAAC,eAAe,KAAK,SAAS;wBAC7B,CAAC,CAAC;4BACI,eAAe,EAAE;gCACb,IAAI,EAAE,eAAe,CAAC,IAAI;gCAC1B,OAAO,EAAE,eAAe,CAAC,OAAO;gCAChC,GAAG,CAAC,eAAe,CAAC,UAAU,KAAK,SAAS;oCACxC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE;oCAC5C,CAAC,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,eAAe,CAAC,oBAAoB,KAAK,SAAS;oCAClD,CAAC,CAAC;wCACI,oBAAoB,EAChB,eAAe,CAAC,oBAAoB;qCAC3C;oCACH,CAAC,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,eAAe,CAAC,mBAAmB,KAAK,SAAS;oCACjD,CAAC,CAAC;wCACI,mBAAmB,EACf,eAAe,CAAC,mBAAmB;qCAC1C;oCACH,CAAC,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,eAAe,CAAC,aAAa,KAAK,SAAS;oCAC3C,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,aAAa,EAAE;oCAClD,CAAC,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,eAAe,CAAC,YAAY,KAAK,SAAS;oCAC1C,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;oCAChD,CAAC,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,eAAe,CAAC,oBAAoB,KAAK,SAAS;oCAClD,CAAC,CAAC;wCACI,oBAAoB,EAChB,eAAe,CAAC,oBAAoB;qCAC3C;oCACH,CAAC,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS;oCACpC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;oCACpC,CAAC,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,eAAe,CAAC,cAAc,KAAK,SAAS;oCAC5C,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,cAAc,EAAE;oCACpD,CAAC,CAAC,EAAE,CAAC;6BACZ;yBACJ;wBACH,CAAC,CAAC,EAAE,CAAC;iBACZ,CAAC,CACL,CAAC;gBACF,OAAO,YAAY,CAAC,gBAAgB,CAAC,aAAa,EAAE;oBAChD,IAAI;oBACJ,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,WAAW,EAAE,UAAU;oBACvB,GAAG,CAAC,eAAe,KAAK,SAAS;wBAC7B,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;iBACZ,CAAC,EAAE,IAAI,CAAC,CAAC;YACd,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,YAAY,CAAC,WAAW,CAAC;oBAC5B,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;oBACtD,IAAI,EACA,sEAAsE;wBACtE,qBAAqB;iBAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;YACd,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -8,11 +8,13 @@
8
8
  *
9
9
  * - Walk-order: depth-first, parent BEFORE children, original child
10
10
  * order preserved (no sort).
11
- * - `path` uses JSON-Pointer-style notation rooted at `/layout/<key>`
12
- * and descends via `/children/<index>` segments. The root segments
13
- * mirror the keys the REST plugin produces (string keys "0","1",…
14
- * when the top-level layout is an object; numeric indices when it
15
- * happens to be an array).
11
+ * - `path` uses JSON-Pointer-style notation rooted at
12
+ * `/layout/children/<key>` and descends via `/children/<index>`
13
+ * segments (M5: the top-level anchor carries the real `children`
14
+ * segment so `rel_path` mirrors the element-path input contract).
15
+ * The root keys mirror what the REST plugin produces (string keys
16
+ * "0","1",… when the top-level layout is an object; numeric indices
17
+ * when it happens to be an array).
16
18
  * - `parent_path` is `null` for top-level entries.
17
19
  * - The emitted record's `children` field is REMOVED — children become
18
20
  * their own emitted entries with their own `path`. Keeping the nested
@@ -28,12 +30,13 @@
28
30
  */
29
31
  /** A single emitted record in the flattened layout. */
30
32
  export interface FlatElement {
31
- /** JSON-Pointer-style path, e.g. "/layout/0/children/2". */
33
+ /** JSON-Pointer-style path, e.g. "/layout/children/0/children/2". */
32
34
  path: string;
33
35
  /**
34
- * Path with the `/layout` prefix stripped, e.g. "/0/children/2".
36
+ * Path with the `/layout` prefix stripped, e.g. "/children/0/children/2".
35
37
  * N-01 (Audit v4): mirrors the `rel_path` column element_list emits
36
- * so `fields:["rel_path",...]` projection works on the flat layout.
38
+ * so `fields:["rel_path",...]` projection works on the flat layout
39
+ * and (M5) can be passed straight back to the element tools.
37
40
  */
38
41
  rel_path: string;
39
42
  /** Path of the parent element, or `null` for top-level entries. */
@@ -1 +1 @@
1
- {"version":3,"file":"layout-flatten.d.ts","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,uDAAuD;AACvD,MAAM,WAAW,WAAW;IACxB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,EAAE,CAmB5D"}
1
+ {"version":3,"file":"layout-flatten.d.ts","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,uDAAuD;AACvD,MAAM,WAAW,WAAW;IACxB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,EAAE,CA4B5D"}
@@ -8,11 +8,13 @@
8
8
  *
9
9
  * - Walk-order: depth-first, parent BEFORE children, original child
10
10
  * order preserved (no sort).
11
- * - `path` uses JSON-Pointer-style notation rooted at `/layout/<key>`
12
- * and descends via `/children/<index>` segments. The root segments
13
- * mirror the keys the REST plugin produces (string keys "0","1",…
14
- * when the top-level layout is an object; numeric indices when it
15
- * happens to be an array).
11
+ * - `path` uses JSON-Pointer-style notation rooted at
12
+ * `/layout/children/<key>` and descends via `/children/<index>`
13
+ * segments (M5: the top-level anchor carries the real `children`
14
+ * segment so `rel_path` mirrors the element-path input contract).
15
+ * The root keys mirror what the REST plugin produces (string keys
16
+ * "0","1",… when the top-level layout is an object; numeric indices
17
+ * when it happens to be an array).
16
18
  * - `parent_path` is `null` for top-level entries.
17
19
  * - The emitted record's `children` field is REMOVED — children become
18
20
  * their own emitted entries with their own `path`. Keeping the nested
@@ -46,7 +48,16 @@ export function flattenLayout(layout) {
46
48
  ? layout.map((v, i) => [String(i), v])
47
49
  : Object.entries(layout);
48
50
  for (const [key, node] of entries) {
49
- walk(node, `/layout/${key}`, null, 0, out);
51
+ // M5: anchor top-level nodes under the real `/children/<key>` segment
52
+ // (not a bare `/layout/<key>`). The canonical storage pointer for a
53
+ // top-level element is `/templates/<id>/layout/children/<key>`, so this
54
+ // makes both `path` (→ `/layout/children/<key>`) and `rel_path`
55
+ // (→ `/children/<key>`, after the `/layout` strip on line below) mirror
56
+ // it. Previously the bare anchor produced rel_path `/<key>/...` which
57
+ // the element-path input normaliser rejects (it only lifts forms that
58
+ // start with `/children/`), contradicting the pointer_hint's promise
59
+ // that the emitted rel_path can be passed straight back.
60
+ walk(node, `/layout/children/${key}`, null, 0, out);
50
61
  }
51
62
  return out;
52
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layout-flatten.js","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-flatten.js","sourceRoot":"","sources":["../../src/tools/layout-flatten.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAY5B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAgEnF"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAY5B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAyEnF"}
@@ -37,8 +37,17 @@ export function buildMultiItemsTools(pool) {
37
37
  defineTool({
38
38
  name: 'yootheme_builder_inspect_multi_items_binding',
39
39
  description: 'Reports Multi-Items binding state: container/item pair (grid↔grid_item, ' +
40
- 'slideshow↔slideshow_item, …), current binding level (none|container|item), ' +
41
- 'and a recommended_fix when the binding sits on the container instead of the child. ' +
40
+ 'slideshow↔slideshow_item, map↔map_item, …), current binding level ' +
41
+ '(none|container|item), and a recommended_fix when the binding sits on the ' +
42
+ 'container instead of the child. ' +
43
+ // F39 (2026-06-10): a bound map_item with NO `location` field
44
+ // renders 0 markers → blocking map_location_warning.
45
+ 'For map/map_item, a bound item without a `location` ("lat,lng") field is ' +
46
+ 'flagged as a blocking map_location_warning (renders 0 markers). ' +
47
+ // F189 (2026-06-12): a `…List` on a grid_item with nested children
48
+ // is render-dead (leaf renderer) → blocking iterator_is_leaf_renderer.
49
+ 'A List on a grid_item with nested children → blocking ' +
50
+ 'iterator_is_leaf_renderer (children never render). ' +
42
51
  'Operates on the default site unless site_id is provided.',
43
52
  inputSchema: {
44
53
  site_id: SITE_ID_SCHEMA,
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACH,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,GAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,iCAAiC,EACjC,8BAA8B,GAEjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACjD,6DAA6D;IAC7D,oEAAoE;IACpE,kEAAkE;IAClE,4CAA4C;IAC5C,MAAM,eAAe,GAAG,IAAI,eAAe,EAA2B,CAAC;IAEvE,gEAAgE;IAChE,mEAAmE;IACnE,4BAA4B;IAC5B,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,8CAA8C;YACpD,WAAW,EACP,0EAA0E;gBAC1E,6EAA6E;gBAC7E,qFAAqF;gBACrF,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;aAC7B;YACD,YAAY,EAAE,iCAAiC;YAC/C,WAAW,EAAE,QAAQ,CAAC,6BAA6B,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;gBACvE,OAAO,YAAY,CAAC,MAAM,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAChF,CAAC,CAAC;SACT,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2CAA2C;YACjD,WAAW,EACP,4EAA4E;gBAC5E,2EAA2E;gBAC3E,0EAA0E;gBAC1E,wEAAwE;gBACxE,sEAAsE;gBACtE,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,CAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,iEAAiE;oBAC7D,+DAA+D;oBAC/D,4CAA4C,CACnD;aACR;YACD,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,WAAW,CAAC,0BAA0B,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9E,CAAC,CAAC;SACT,CAAC;KACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACH,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,GAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,iCAAiC,EACjC,8BAA8B,GAEjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACjD,6DAA6D;IAC7D,oEAAoE;IACpE,kEAAkE;IAClE,4CAA4C;IAC5C,MAAM,eAAe,GAAG,IAAI,eAAe,EAA2B,CAAC;IAEvE,gEAAgE;IAChE,mEAAmE;IACnE,4BAA4B;IAC5B,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,8CAA8C;YACpD,WAAW,EACP,0EAA0E;gBAC1E,oEAAoE;gBACpE,4EAA4E;gBAC5E,kCAAkC;gBAClC,8DAA8D;gBAC9D,qDAAqD;gBACrD,2EAA2E;gBAC3E,kEAAkE;gBAClE,mEAAmE;gBACnE,uEAAuE;gBACvE,wDAAwD;gBACxD,qDAAqD;gBACrD,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;aAC7B;YACD,YAAY,EAAE,iCAAiC;YAC/C,WAAW,EAAE,QAAQ,CAAC,6BAA6B,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;gBACvE,OAAO,YAAY,CAAC,MAAM,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAChF,CAAC,CAAC;SACT,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2CAA2C;YACjD,WAAW,EACP,4EAA4E;gBAC5E,2EAA2E;gBAC3E,0EAA0E;gBAC1E,wEAAwE;gBACxE,sEAAsE;gBACtE,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,CAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,iEAAiE;oBAC7D,+DAA+D;oBAC/D,4CAA4C,CACnD;aACR;YACD,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,WAAW,CAAC,0BAA0B,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9E,CAAC,CAAC;SACT,CAAC;KACL,CAAC;AACN,CAAC"}
@@ -41,7 +41,20 @@ export declare const INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA: z.ZodObject<{
41
41
  item: "item";
42
42
  none: "none";
43
43
  }>;
44
+ item_child_binding_level: z.ZodOptional<z.ZodEnum<{
45
+ item: "item";
46
+ none: "none";
47
+ }>>;
48
+ is_bound: z.ZodOptional<z.ZodBoolean>;
44
49
  has_implode_directives: z.ZodBoolean;
50
+ bound_source_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
+ bound_source_exists: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
52
+ source_missing_warning: z.ZodOptional<z.ZodString>;
53
+ map_location_missing: z.ZodOptional<z.ZodBoolean>;
54
+ field_mapping_count: z.ZodOptional<z.ZodNumber>;
55
+ zero_field_mappings: z.ZodOptional<z.ZodBoolean>;
56
+ iterator_is_leaf_renderer: z.ZodOptional<z.ZodBoolean>;
57
+ map_location_warning: z.ZodOptional<z.ZodString>;
45
58
  warning: z.ZodOptional<z.ZodString>;
46
59
  recommended_fix: z.ZodOptional<z.ZodString>;
47
60
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/inspect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnD,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwB5C,CAAC;AAEH,iEAAiE;AACjE,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;CACvD;AAoDD,wBAAsB,8BAA8B,CAChD,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,qBAAqB,EACxC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAwCrB"}
1
+ {"version":3,"file":"inspect-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/inspect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnD,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuD5C,CAAC;AAEH,iEAAiE;AACjE,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;CACvD;AA0MD,wBAAsB,8BAA8B,CAChD,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,qBAAqB,EACxC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAwCrB"}