pi-apexlang 0.3.0 → 0.4.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 (237) hide show
  1. package/README.md +17 -5
  2. package/THIRD_PARTY_NOTICES.md +2 -2
  3. package/UPSTREAM.json +2 -2
  4. package/docs/assets/overview.en.png +0 -0
  5. package/docs/assets/overview.en.svg +89 -0
  6. package/docs/assets/overview.uk.png +0 -0
  7. package/docs/assets/overview.uk.svg +89 -0
  8. package/docs/en/README.md +41 -0
  9. package/docs/en/architecture.md +73 -0
  10. package/docs/en/getting-started.md +77 -0
  11. package/docs/en/maintenance.md +83 -0
  12. package/docs/en/tool-reference.md +85 -0
  13. package/docs/uk/README.md +41 -0
  14. package/docs/uk/architecture.md +73 -0
  15. package/docs/uk/getting-started.md +77 -0
  16. package/docs/uk/maintenance.md +83 -0
  17. package/docs/uk/tool-reference.md +85 -0
  18. package/extensions/apexlang/index.ts +19 -10
  19. package/extensions/lib/apexlang-cli.d.mts +1 -2
  20. package/extensions/lib/apexlang-cli.mjs +15 -11
  21. package/extensions/lib/apexlang-runtime-validate.mjs +76 -0
  22. package/package.json +2 -1
  23. package/skills/apexlang/APEXlang Skills and Workflows.md +325 -0
  24. package/skills/apexlang/README.md +6 -6
  25. package/skills/apexlang/RELEASE-NOTES.md +2 -2
  26. package/skills/apexlang/SKILL.md +24 -19
  27. package/skills/apexlang/agents/openai.yaml +4 -3
  28. package/skills/apexlang/assets/apex-generation/components.registry.json +1001 -16
  29. package/skills/apexlang/assets/apexlang/domains-catalog.json +6 -1
  30. package/skills/apexlang/assets/component-attributes.json +1924 -180
  31. package/skills/apexlang/assets/component-policies.json +19 -10
  32. package/skills/apexlang/assets/contracts/grammar-semantic-rules.json +134 -0
  33. package/skills/apexlang/assets/contracts/package-layers.json +56 -0
  34. package/skills/apexlang/assets/contracts/page-construction-packs.json +154 -0
  35. package/skills/apexlang/assets/contracts/page-patterns.json +119 -0
  36. package/skills/apexlang/assets/grammar/apexlang.ebnf +11743 -0
  37. package/skills/apexlang/assets/indexes/font-apex-icon-index.json +1699 -0
  38. package/skills/apexlang/assets/routing-catalog-main.json +11 -10
  39. package/skills/apexlang/assets/routing-load-policy.json +35 -9
  40. package/skills/apexlang/assets/rules-mapping.json +110 -2
  41. package/skills/apexlang/assets/rules.catalog.json +1298 -0
  42. package/skills/apexlang/assets/validator-fix-recipes.json +372 -17
  43. package/skills/apexlang/assets/workspace-intelligence.json +7 -10
  44. package/skills/apexlang/manifest.json +268 -12
  45. package/skills/apexlang/references/domains/README.md +1 -1
  46. package/skills/apexlang/references/domains/page-components/buttons.md +2 -2
  47. package/skills/apexlang/references/domains/page-components/page-items.md +3 -3
  48. package/skills/apexlang/references/domains/page-components/regions/region-display-selector/workflow-region-display-selector.md +69 -0
  49. package/skills/apexlang/references/domains/page-components/regions.md +1 -0
  50. package/skills/apexlang/references/domains/template-components/comments.md +61 -0
  51. package/skills/apexlang/references/domains/template-components/registry.md +2 -0
  52. package/skills/apexlang/references/domains/template-components/templates.md +47 -0
  53. package/skills/apexlang/references/domains/template-components/timeline.md +51 -0
  54. package/skills/apexlang/references/ops/one-message-router-contract.md +2 -2
  55. package/skills/apexlang/references/ops/runtime-gates/01-direct-sqlcl-import.md +1 -1
  56. package/skills/apexlang/references/ops/runtime-gates/02-direct-sqlcl-validate-gate.md +1 -1
  57. package/skills/apexlang/references/ops/runtime-gates.md +17 -16
  58. package/skills/apexlang/references/ops/sqlcl-agents/00-connection-gate.md +7 -7
  59. package/skills/apexlang/references/ops/sqlcl.md +7 -8
  60. package/skills/apexlang/references/policies/compiler-prop-map.md +6 -4
  61. package/skills/apexlang/references/policies/governance/00-governance.md +2 -2
  62. package/skills/apexlang/references/policies/memory-bank/00-guard/ai.guard.md +126 -922
  63. package/skills/apexlang/references/policies/memory-bank/20-data/apex.logic.md +3 -3
  64. package/skills/apexlang/references/policies/memory-bank/20-data/db.connection.md +9 -11
  65. package/skills/apexlang/references/policies/memory-bank/30-pages/apex.cards-page.md +95 -0
  66. package/skills/apexlang/references/policies/memory-bank/30-pages/apex.page.md +2 -2
  67. package/skills/apexlang/references/policies/memory-bank/30-pages/apex.smart-filter-search.md +145 -74
  68. package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-interactions.md +9 -2
  69. package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-media.md +6 -5
  70. package/skills/apexlang/references/policies/memory-bank/systemPatterns.md +9 -1
  71. package/skills/apexlang/references/workflows/apex-generation/agents/20-agent-draft.md +51 -232
  72. package/skills/apexlang/references/workflows/apex-generation/agents/30-agent-critique.md +49 -449
  73. package/skills/apexlang/references/workflows/apex-generation/agents/40-agent-revision.md +38 -238
  74. package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-test-matrix.md +8 -2
  75. package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-validation-notes.md +19 -3
  76. package/skills/apexlang/references/workflows/apex-generation/registry.md +15 -1
  77. package/skills/apexlang/references/workflows/apex-generation/templates.md +1 -1
  78. package/skills/apexlang/references/workflows/apex-generation.md +1 -1
  79. package/skills/apexlang/references/workflows/apexlang/apexlang-execution-model.md +5 -5
  80. package/skills/apexlang/references/workflows/apexlang/prompt-contracts.md +81 -10
  81. package/skills/apexlang/references/workflows/apexlang/workflow-create-app-from-fr-and-model.md +18 -7
  82. package/skills/apexlang/release-notes.json +156 -0
  83. package/skills/apexlang/runtime/grammar_contract.mjs +1166 -0
  84. package/skills/apexlang/runtime/internal/python/format_apexlang.py +210 -0
  85. package/skills/apexlang/runtime/internal/python/validate_apexlang.py +14142 -5843
  86. package/skills/apexlang/runtime/internal/python/validator_common.py +2 -0
  87. package/skills/apexlang/runtime/lib/catalogs.mjs +1026 -0
  88. package/skills/apexlang/runtime/lib/common.mjs +35 -0
  89. package/skills/apexlang/runtime/runtime.bundle.mjs +457 -57
  90. package/skills/apexlang/templates/items/combobox/combobox.explicit-defaults.md +1 -1
  91. package/skills/apexlang/templates/items/date-picker/date-picker._common.md +1 -1
  92. package/skills/apexlang/templates/items/date-picker/date-picker.explicit-defaults.md +1 -1
  93. package/skills/apexlang/templates/items/file-upload/file-upload._common.md +30 -24
  94. package/skills/apexlang/templates/items/file-upload/file-upload.compact-template.md +6 -0
  95. package/skills/apexlang/templates/items/file-upload/file-upload.explicit-defaults.md +23 -8
  96. package/skills/apexlang/templates/items/file-upload/file-upload.minimal.md +6 -0
  97. package/skills/apexlang/templates/items/hidden-item/hidden-item._common.md +1 -1
  98. package/skills/apexlang/templates/items/hidden-item/hidden-item.explicit-defaults.md +1 -1
  99. package/skills/apexlang/templates/items/items._common.md +3 -2
  100. package/skills/apexlang/templates/items/list-manager/list-manager.explicit-defaults.md +1 -1
  101. package/skills/apexlang/templates/items/markdown-editor/markdown-editor._common.md +1 -1
  102. package/skills/apexlang/templates/items/markdown-editor/markdown-editor.explicit-defaults.md +1 -1
  103. package/skills/apexlang/templates/items/number-field/number-field._common.md +8 -6
  104. package/skills/apexlang/templates/items/number-field/number-field.explicit-defaults.md +12 -2
  105. package/skills/apexlang/templates/items/popup-lov/popup-lov.explicit-defaults.md +1 -1
  106. package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor._common.md +1 -1
  107. package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor.explicit-defaults.md +1 -1
  108. package/skills/apexlang/templates/items/select-many/standard.md +1 -1
  109. package/skills/apexlang/templates/items/shuttle/shuttle.explicit-defaults.md +1 -1
  110. package/skills/apexlang/templates/items/switch/switch._common.md +8 -8
  111. package/skills/apexlang/templates/items/switch/switch.explicit-defaults.md +1 -1
  112. package/skills/apexlang/templates/items/text-area/text-area._common.md +2 -3
  113. package/skills/apexlang/templates/items/text-area/text-area.explicit-defaults.md +1 -1
  114. package/skills/apexlang/templates/items/text-area/text-area.required-length.md +1 -3
  115. package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.explicit-defaults.md +1 -1
  116. package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.required-length.md +1 -3
  117. package/skills/apexlang/templates/items/text-field/text-field._common.md +2 -3
  118. package/skills/apexlang/templates/items/text-field/text-field.explicit-defaults.md +1 -1
  119. package/skills/apexlang/templates/items/text-field/text-field.required-length.md +1 -3
  120. package/skills/apexlang/templates/page-examples/faceted-search/faceted-search.example.md +0 -5
  121. package/skills/apexlang/templates/page-examples/form-page/form-page.example.md +0 -9
  122. package/skills/apexlang/templates/page-examples/interactive-report-page/interactive-report-page.example.md +2 -2
  123. package/skills/apexlang/templates/page-examples/login-page/login-page.example.md +0 -8
  124. package/skills/apexlang/templates/page-examples/task-definition-initiated-tasks-page/task-definition-initiated-tasks-page.example.md +7 -17
  125. package/skills/apexlang/templates/page-examples/task-definition-my-tasks-page/task-definition-my-tasks-page.example.md +7 -65
  126. package/skills/apexlang/templates/page-examples/task-definition-task-details/task-definition-task-details.example.md +38 -201
  127. package/skills/apexlang/templates/region-components/calendar/calendar.custom-styling.md +3 -1
  128. package/skills/apexlang/templates/region-components/calendar/calendar.faceted-search.md +3 -2
  129. package/skills/apexlang/templates/region-components/cards/README.md +12 -4
  130. package/skills/apexlang/templates/region-components/cards/cards._common.md +176 -37
  131. package/skills/apexlang/templates/region-components/cards/cards._index.md +2 -1
  132. package/skills/apexlang/templates/region-components/cards/cards.refresh-after-dialog.md +46 -0
  133. package/skills/apexlang/templates/region-components/cards/cards.refresh-on-change.md +58 -0
  134. package/skills/apexlang/templates/region-components/cards/cards.rest-source.md +54 -18
  135. package/skills/apexlang/templates/region-components/cards/cards.standard.md +37 -21
  136. package/skills/apexlang/templates/region-components/chart/chart._series._common.md +1 -4
  137. package/skills/apexlang/templates/region-components/chart/chart.pie.md +6 -2
  138. package/skills/apexlang/templates/region-components/chart/chart.status-meter-gauge.md +1 -1
  139. package/skills/apexlang/templates/region-components/chart/chart.stock.md +2 -0
  140. package/skills/apexlang/templates/region-components/chart/features/chart.feature-chart-links.md +9 -7
  141. package/skills/apexlang/templates/region-components/faceted-search/faceted-search._common.md +1 -14
  142. package/skills/apexlang/templates/region-components/form/form._items._common.md +1 -5
  143. package/skills/apexlang/templates/region-components/interactive-report/interactive-report._columns._common.md +2 -6
  144. package/skills/apexlang/templates/region-components/interactive-report/interactive-report.page-header-actions.md +1 -7
  145. package/skills/apexlang/templates/region-components/list/README.md +1 -1
  146. package/skills/apexlang/templates/region-components/list/list._common.md +1 -1
  147. package/skills/apexlang/templates/region-components/map/map.backgrounds.md +12 -10
  148. package/skills/apexlang/templates/region-components/map/map.layer.extruded-polygons.md +16 -12
  149. package/skills/apexlang/templates/region-components/map/map.layer.heat-map.md +10 -7
  150. package/skills/apexlang/templates/region-components/map/map.layer.lines.md +10 -8
  151. package/skills/apexlang/templates/region-components/map/map.layer.polygons.md +21 -18
  152. package/skills/apexlang/templates/region-components/map/map.region.background-custom.md +25 -19
  153. package/skills/apexlang/templates/region-components/map/map.region.background-shared.md +19 -13
  154. package/skills/apexlang/templates/region-components/map/map.region.bbox-sql.md +13 -13
  155. package/skills/apexlang/templates/region-components/map/map.region.bbox-static.md +2 -2
  156. package/skills/apexlang/templates/region-components/map/map.region.browser-location.md +3 -7
  157. package/skills/apexlang/templates/region-components/map/map.region.init-position-sql.md +7 -7
  158. package/skills/apexlang/templates/region-components/region-display-selector/README.md +5 -2
  159. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._common.md +60 -7
  160. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._index.md +4 -1
  161. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.permutations.md +55 -0
  162. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.standard.md +91 -5
  163. package/skills/apexlang/templates/region-components/smart-filter-search/README.md +6 -2
  164. package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._common.md +107 -46
  165. package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._index.md +4 -3
  166. package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search.standard.md +33 -17
  167. package/skills/apexlang/templates/shared-components/component-settings/component-settings._common.md +1 -0
  168. package/skills/apexlang/templates/shared-components/component-settings.example.md +1 -0
  169. package/skills/apexlang/templates/shared-components/email-templates.example.md +1 -1
  170. package/skills/apexlang/templates/shared-components/rest-data-sources/example_rest_data_source.example.md +40 -46
  171. package/skills/apexlang/templates/shared-components/task-definitions/action-task.example.md +2 -30
  172. package/skills/apexlang/templates/shared-components/task-definitions/approve-request.example.md +3 -31
  173. package/skills/apexlang/templates/template-components/README.md +27 -15
  174. package/skills/apexlang/templates/template-components/avatar/README.md +56 -0
  175. package/skills/apexlang/templates/template-components/avatar/avatar._common.md +149 -0
  176. package/skills/apexlang/templates/template-components/avatar/avatar._index.md +42 -0
  177. package/skills/apexlang/templates/template-components/{avatar._template_options.md → avatar/avatar._template_options.md} +1 -1
  178. package/skills/apexlang/templates/template-components/avatar/avatar.report-icon.md +48 -0
  179. package/skills/apexlang/templates/template-components/avatar/avatar.report-image-url-column.md +62 -0
  180. package/skills/apexlang/templates/template-components/avatar/avatar.report-initials.md +54 -0
  181. package/skills/apexlang/templates/template-components/badge/README.md +38 -0
  182. package/skills/apexlang/templates/template-components/badge/badge._common.md +183 -0
  183. package/skills/apexlang/templates/template-components/badge/badge._index.md +20 -0
  184. package/skills/apexlang/templates/template-components/badge/badge.report-link.md +66 -0
  185. package/skills/apexlang/templates/template-components/badge/badge.report-minimal.md +76 -0
  186. package/skills/apexlang/templates/template-components/comments/README.md +20 -0
  187. package/skills/apexlang/templates/template-components/comments/comments._common.md +43 -0
  188. package/skills/apexlang/templates/template-components/comments/comments._index.md +25 -0
  189. package/skills/apexlang/templates/template-components/{comments._template_options.md → comments/comments._template_options.md} +2 -1
  190. package/skills/apexlang/templates/template-components/comments/comments.apex-task-comments.md +77 -0
  191. package/skills/apexlang/templates/template-components/comments/comments.partial-column.md +120 -0
  192. package/skills/apexlang/templates/template-components/comments/comments.permutations.md +425 -0
  193. package/skills/apexlang/templates/template-components/content-row/README.md +1 -1
  194. package/skills/apexlang/templates/template-components/content-row/content-row._common.md +1 -1
  195. package/skills/apexlang/templates/template-components/content-row/content-row._index.md +1 -1
  196. package/skills/apexlang/templates/template-components/content-row/content-row._template_options.md +1 -1
  197. package/skills/apexlang/templates/template-components/flexbox-container/README.md +9 -0
  198. package/skills/apexlang/templates/template-components/flexbox-container/flexbox-container._index.md +13 -0
  199. package/skills/apexlang/templates/template-components/media-list/README.md +100 -0
  200. package/skills/apexlang/templates/template-components/media-list/media-list._common.md +174 -0
  201. package/skills/apexlang/templates/template-components/media-list/media-list._index.md +50 -0
  202. package/skills/apexlang/templates/template-components/{media-list._template_options.md → media-list/media-list._template_options.md} +8 -2
  203. package/skills/apexlang/templates/template-components/media-list/media-list.partial.md +50 -0
  204. package/skills/apexlang/templates/template-components/media-list/media-list.report-avatar-badge.md +76 -0
  205. package/skills/apexlang/templates/template-components/media-list/media-list.report-base.md +71 -0
  206. package/skills/apexlang/templates/template-components/media-list/media-list.report-grouped.md +40 -0
  207. package/skills/apexlang/templates/template-components/media-list/media-list.report-layouts.md +50 -0
  208. package/skills/apexlang/templates/template-components/media-list/media-list.report-link.md +53 -0
  209. package/skills/apexlang/templates/template-components/metric-card/README.md +19 -4
  210. package/skills/apexlang/templates/template-components/metric-card/metric-card._common.md +122 -29
  211. package/skills/apexlang/templates/template-components/metric-card/metric-card._index.md +6 -0
  212. package/skills/apexlang/templates/template-components/metric-card/metric-card._template_options.md +47 -2
  213. package/skills/apexlang/templates/template-components/metric-card/metric-card.partial-minimal.md +51 -0
  214. package/skills/apexlang/templates/template-components/metric-card/metric-card.permutations.md +56 -0
  215. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-avatar-badge.md +98 -0
  216. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-grouping-selection.md +131 -0
  217. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-link.md +66 -0
  218. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-minimal.md +97 -0
  219. package/skills/apexlang/templates/template-components/template-components.registry.json +90 -1
  220. package/skills/apexlang/templates/template-components/timeline/README.md +19 -0
  221. package/skills/apexlang/templates/template-components/timeline/timeline._common.md +43 -0
  222. package/skills/apexlang/templates/template-components/timeline/timeline._index.md +24 -0
  223. package/skills/apexlang/templates/template-components/{timeline._template_options.md → timeline/timeline._template_options.md} +2 -1
  224. package/skills/apexlang/templates/template-components/timeline/timeline.permutations.md +399 -0
  225. package/skills/apexlang/templates/template-components/timeline/timeline.report-sample-data.md +168 -0
  226. package/skills/apexlang/templates/workspace-components/credentials/credentials-for-open-ai.example.md +1 -1
  227. package/skills/apexlang/templates/workspace-components/generative-ai-services/open-ai.example.md +8 -6
  228. package/skills/apexlang/tools/apexctl.mjs +167 -4
  229. package/skills/apexlang/tools/compiler-truth-audit.mjs +95 -63
  230. package/skills/apexlang/tools/query-valid-props-context.mjs +30 -0
  231. package/skills/apexlang/tools/query-valid-props-normalize.mjs +1 -0
  232. package/skills/apexlang/tools/query-valid-props-runtime.mjs +13 -8
  233. package/skills/apexlang/tools/query-valid-props-semantics.mjs +391 -0
  234. package/skills/apexlang/tools/query-valid-props-template-components.mjs +15 -1
  235. package/skills/apexlang/tools/query-valid-props.mjs +198 -216
  236. /package/skills/apexlang/templates/template-components/{badge._template_options.md → badge/badge._template_options.md} +0 -0
  237. /package/skills/apexlang/templates/template-components/{flexbox-container._template_options.md → flexbox-container/flexbox-container._template_options.md} +0 -0
@@ -1,3 +1,4 @@
1
- display_name: APEXlang
2
- short_description: Deterministic public APEXlang router
3
- default_prompt: You are the public APEXlang skill. Start with the packaged JSON catalogs, resolve local context from the current session directory, prefer authoritative machine-readable evidence, and stop with Missing Inputs when verified structure cannot be proven. Treat `artifacts/` as optional output only and ignore `apex-exports/` backup trees for app resolution, metadata discovery, bounded scans, and generation unless explicitly asked to inspect an export backup. All `node tools/apexctl.mjs ...` commands are package-root relative: run them from the packaged skill root, or invoke that script by explicit path. In packaged mode, default runtime outputs are ephemeral and must stay under `APEXLANG_OUTPUT_ROOT`, which the bundled launcher sets to a per-run temp directory. Use `node tools/apexctl.mjs workspace probe` as the first app-resolution step. If `applications/` exists but contains no app yet and authoritative offline context is present, recover with `node tools/apexctl.mjs workspace probe`, require the user to specify the destination APEX workspace name, record it in the session `context-resolution.json` under `db_context.workspace`, then `node tools/apexctl.mjs new-app materialize --app-path <path>`, then app-local edits only. Do not widen search outside the current session directory or outside this package, and do not use external repo examples when `templates/base-app-structure/scaffold-example/**` already provides the scaffold source. Treat `templates/base-app-structure/` root files as template docs and metadata only, and never publish the `scaffold-example/` container itself into generated app roots. When validator or `problems.json` issues are present, load `assets/validator-fix-recipes.json` and map each issue to rule_id, cause, deterministic_fix, owning_guidance, and verification_result before revising. Use the shared contract in `references/workflows/apexlang/prompt-contracts.md` for instruction hierarchy, tagged prompt sections, rule IDs, intermediate artifacts, and stop conditions. Follow the posted rules and workflow first. If those sources still do not answer a required high-impact decision, stop with Missing Inputs or explicit human intervention instead of guessing. Allow bounded inference only after higher-precedence rule and workflow sources are exhausted, and only for low-risk connective details that do not change structural legality. For complete app generation from functional requirements plus model/schema metadata, route through `references/workflows/apexlang/workflow-create-app-from-fr-and-model.md` and complete `references/workflows/apexlang/application-spec.template.md` into project-root `.apexlang/application-spec.md`, including an Application Composition Plan, Rich UI Pattern Plan, and project-root `.apexlang/app-ux-contract.json`, before drafting non-trivial `.apx` artifacts. Follow the shared snippet classification contract: treat unclassified examples as illustrative prompts, never as schema evidence; emit `{{...}}` metavariable templates only after every variable is bound from authoritative context; generated `.apx` artifacts must not contain unresolved `{{...}}` variables or prompt-only pseudo-identifiers such as `SOURCE_TABLE`, `LOOKUP_TABLE`, `RELATED_TABLE`, `SOURCE_ID`, `LOOKUP_ID`, or `LOOKUP_NAME`. For every APEXlang artifact generation, mutation, validation, debugging, or runtime workflow: Default to checking APEXlang code only. After the live APEXlang check passes, offer GUI choices with a short purpose summary: Check APEXlang code (recommended) stops after confirmation, and Check and import APEXlang code runs the import in the checked session. If GUI choices are unavailable, stop after checking the code and report import as a follow-up. Keep generated APEXlang block-structured and compiler-safe: emit one top-level declaration per block, separate sibling top-level declarations with a blank line, never place two sibling declarations on the same line, and preserve normal nested indentation inside each declaration. Reuse a canonical template directly only when the component family and variant, parent context, nesting shape, and conditional mode already match, and the change is limited to safe instance substitutions such as labels, names, ids, aliases, and SQL text. If no exact-match template exists, or if a change introduces a new property, nested block, enum token, slot, template option, or layout attribute, query compiler-backed truth with `node tools/query-valid-props.mjs` before generating code. Every generated or revised `.apx` artifact must pass `node tools/apexctl.mjs apexlang compiler-truth audit --app-path <app-path> --verify-component-attributes` before publish, live validate, or import eligibility. Direct compiler validation or compiler metadata outranks exact-match canonical templates and examples; `assets/component-attributes.json` is fallback/internal validator context only after those stronger sources are exhausted. Treat `assets/component-attributes.json` as a compiler-provenanced curated safe subset and policy layer, not a replacement for the audit. If compiler-backed truth conflicts with a template/example, follow the compiler-valid shape and treat the template/example as defective. If compiler-backed truth cannot be resolved for a non-exact-match structural change, stop with Missing Inputs rather than inventing syntax. For non-trivial page, component, or application generation, emit a compact `Generation Plan` before the generated APEXlang. The plan must freeze the target artifact scope, exact template family or variant, ordered region/item/button inventory when applicable, source mode decisions, navigation or target decisions, and compiler-truth evidence references when required. For any Live DB validation, import, runtime diagnostic, or new-app materialization, require the user to provide both `db_connection_name` and the corresponding APEX workspace name. Record the workspace name in `db_context.workspace.name`; stop with Missing Inputs if either value is missing or ambiguous. When a brand new app run will generate `deployments/default.json`, require the user to specify the exact destination APEX workspace name before materialization and record the selected workspace in the session `context-resolution.json` under `db_context.workspace`. Stop with Missing Inputs instead of guessing, auto-selecting, or reusing a scaffold placeholder. `node tools/apexctl.mjs new-app materialize --app-path <path>` may use that session context; an explicit `--workspace-name <name>` remains valid and takes precedence. Available GUI choices are Check APEXlang code or Check and import APEXlang code.
1
+ interface:
2
+ display_name: "APEXlang"
3
+ short_description: "Deterministic public APEXlang router"
4
+ default_prompt: "You are the public APEXlang skill. Load `SKILL.md` and resolve app context with `node tools/apexctl.mjs workspace probe`. Use `node tools/apexctl.mjs context resolve --intent \"<intent>\" --phase draft --require-ready` for each implementation unit. Full apps require a frozen application spec and UX contract. Follow `references/workflows/apexlang/prompt-contracts.md`. Emit a Generation Plan. Generate each implementation unit from its task-scoped context and grammar contract. Emit one top-level declaration per block and one property or parameter per line after its opening declaration or block; keep nested blocks multiline. Run `node tools/apexctl.mjs apexlang format --app-path <path> --strict-structure` before grammar validation: it may normalize whitespace, but it rejects and does not write structural changes. Use grammar-backed validation, compiler truth, resolver projections, and one exact template. Resolve findings through `context repair`. Stop with Missing Inputs or explicit human intervention instead of guessing. Default to checking APEXlang code only. After the live APEXlang check passes, offer GUI choices with a short purpose summary: Check APEXlang code (recommended) stops after confirmation, and Check and import APEXlang code runs the import in the checked session. If GUI choices are unavailable, stop after checking the code and report import as a follow-up."