pi-apexlang 0.2.2 → 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.
- package/README.md +22 -5
- package/THIRD_PARTY_NOTICES.md +2 -2
- package/UPSTREAM.json +2 -2
- package/docs/assets/overview.en.png +0 -0
- package/docs/assets/overview.en.svg +89 -0
- package/docs/assets/overview.uk.png +0 -0
- package/docs/assets/overview.uk.svg +89 -0
- package/docs/en/README.md +41 -0
- package/docs/en/architecture.md +73 -0
- package/docs/en/getting-started.md +77 -0
- package/docs/en/maintenance.md +83 -0
- package/docs/en/tool-reference.md +85 -0
- package/docs/uk/README.md +41 -0
- package/docs/uk/architecture.md +73 -0
- package/docs/uk/getting-started.md +77 -0
- package/docs/uk/maintenance.md +83 -0
- package/docs/uk/tool-reference.md +85 -0
- package/extensions/apexlang/index.ts +19 -10
- package/extensions/lib/apexlang-cli.d.mts +1 -2
- package/extensions/lib/apexlang-cli.mjs +18 -13
- package/extensions/lib/apexlang-local-validate.mjs +83 -0
- package/extensions/lib/apexlang-local-validator.py +116 -0
- package/extensions/lib/apexlang-runtime-validate.mjs +76 -0
- package/package.json +2 -1
- package/skills/apexlang/APEXlang Skills and Workflows.md +325 -0
- package/skills/apexlang/README.md +6 -6
- package/skills/apexlang/RELEASE-NOTES.md +2 -2
- package/skills/apexlang/SKILL.md +24 -19
- package/skills/apexlang/agents/openai.yaml +4 -3
- package/skills/apexlang/assets/apex-generation/components.registry.json +1001 -16
- package/skills/apexlang/assets/apexlang/domains-catalog.json +6 -1
- package/skills/apexlang/assets/component-attributes.json +1924 -180
- package/skills/apexlang/assets/component-policies.json +19 -10
- package/skills/apexlang/assets/contracts/grammar-semantic-rules.json +134 -0
- package/skills/apexlang/assets/contracts/package-layers.json +56 -0
- package/skills/apexlang/assets/contracts/page-construction-packs.json +154 -0
- package/skills/apexlang/assets/contracts/page-patterns.json +119 -0
- package/skills/apexlang/assets/grammar/apexlang.ebnf +11743 -0
- package/skills/apexlang/assets/indexes/font-apex-icon-index.json +1699 -0
- package/skills/apexlang/assets/routing-catalog-main.json +11 -10
- package/skills/apexlang/assets/routing-load-policy.json +35 -9
- package/skills/apexlang/assets/rules-mapping.json +110 -2
- package/skills/apexlang/assets/rules.catalog.json +1298 -0
- package/skills/apexlang/assets/validator-fix-recipes.json +372 -17
- package/skills/apexlang/assets/workspace-intelligence.json +7 -10
- package/skills/apexlang/manifest.json +268 -12
- package/skills/apexlang/references/domains/README.md +1 -1
- package/skills/apexlang/references/domains/page-components/buttons.md +2 -2
- package/skills/apexlang/references/domains/page-components/page-items.md +3 -3
- package/skills/apexlang/references/domains/page-components/regions/region-display-selector/workflow-region-display-selector.md +69 -0
- package/skills/apexlang/references/domains/page-components/regions.md +1 -0
- package/skills/apexlang/references/domains/template-components/comments.md +61 -0
- package/skills/apexlang/references/domains/template-components/registry.md +2 -0
- package/skills/apexlang/references/domains/template-components/templates.md +47 -0
- package/skills/apexlang/references/domains/template-components/timeline.md +51 -0
- package/skills/apexlang/references/ops/one-message-router-contract.md +2 -2
- package/skills/apexlang/references/ops/runtime-gates/01-direct-sqlcl-import.md +1 -1
- package/skills/apexlang/references/ops/runtime-gates/02-direct-sqlcl-validate-gate.md +1 -1
- package/skills/apexlang/references/ops/runtime-gates.md +17 -16
- package/skills/apexlang/references/ops/sqlcl-agents/00-connection-gate.md +7 -7
- package/skills/apexlang/references/ops/sqlcl.md +7 -8
- package/skills/apexlang/references/policies/compiler-prop-map.md +6 -4
- package/skills/apexlang/references/policies/governance/00-governance.md +2 -2
- package/skills/apexlang/references/policies/memory-bank/00-guard/ai.guard.md +126 -922
- package/skills/apexlang/references/policies/memory-bank/20-data/apex.logic.md +3 -3
- package/skills/apexlang/references/policies/memory-bank/20-data/db.connection.md +9 -11
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.cards-page.md +95 -0
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.page.md +2 -2
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.smart-filter-search.md +145 -74
- package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-interactions.md +9 -2
- package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-media.md +6 -5
- package/skills/apexlang/references/policies/memory-bank/systemPatterns.md +9 -1
- package/skills/apexlang/references/workflows/apex-generation/agents/20-agent-draft.md +51 -232
- package/skills/apexlang/references/workflows/apex-generation/agents/30-agent-critique.md +49 -449
- package/skills/apexlang/references/workflows/apex-generation/agents/40-agent-revision.md +38 -238
- package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-test-matrix.md +8 -2
- package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-validation-notes.md +19 -3
- package/skills/apexlang/references/workflows/apex-generation/registry.md +15 -1
- package/skills/apexlang/references/workflows/apex-generation/templates.md +1 -1
- package/skills/apexlang/references/workflows/apex-generation.md +1 -1
- package/skills/apexlang/references/workflows/apexlang/apexlang-execution-model.md +5 -5
- package/skills/apexlang/references/workflows/apexlang/prompt-contracts.md +81 -10
- package/skills/apexlang/references/workflows/apexlang/workflow-create-app-from-fr-and-model.md +18 -7
- package/skills/apexlang/release-notes.json +156 -0
- package/skills/apexlang/runtime/grammar_contract.mjs +1166 -0
- package/skills/apexlang/runtime/internal/python/format_apexlang.py +210 -0
- package/skills/apexlang/runtime/internal/python/validate_apexlang.py +14142 -5843
- package/skills/apexlang/runtime/internal/python/validator_common.py +2 -0
- package/skills/apexlang/runtime/lib/catalogs.mjs +1026 -0
- package/skills/apexlang/runtime/lib/common.mjs +35 -0
- package/skills/apexlang/runtime/runtime.bundle.mjs +457 -57
- package/skills/apexlang/templates/items/combobox/combobox.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/date-picker/date-picker._common.md +1 -1
- package/skills/apexlang/templates/items/date-picker/date-picker.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/file-upload/file-upload._common.md +30 -24
- package/skills/apexlang/templates/items/file-upload/file-upload.compact-template.md +6 -0
- package/skills/apexlang/templates/items/file-upload/file-upload.explicit-defaults.md +23 -8
- package/skills/apexlang/templates/items/file-upload/file-upload.minimal.md +6 -0
- package/skills/apexlang/templates/items/hidden-item/hidden-item._common.md +1 -1
- package/skills/apexlang/templates/items/hidden-item/hidden-item.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/items._common.md +3 -2
- package/skills/apexlang/templates/items/list-manager/list-manager.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/markdown-editor/markdown-editor._common.md +1 -1
- package/skills/apexlang/templates/items/markdown-editor/markdown-editor.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/number-field/number-field._common.md +8 -6
- package/skills/apexlang/templates/items/number-field/number-field.explicit-defaults.md +12 -2
- package/skills/apexlang/templates/items/popup-lov/popup-lov.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor._common.md +1 -1
- package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/select-many/standard.md +1 -1
- package/skills/apexlang/templates/items/shuttle/shuttle.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/switch/switch._common.md +8 -8
- package/skills/apexlang/templates/items/switch/switch.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-area/text-area._common.md +2 -3
- package/skills/apexlang/templates/items/text-area/text-area.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-area/text-area.required-length.md +1 -3
- package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.required-length.md +1 -3
- package/skills/apexlang/templates/items/text-field/text-field._common.md +2 -3
- package/skills/apexlang/templates/items/text-field/text-field.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-field/text-field.required-length.md +1 -3
- package/skills/apexlang/templates/page-examples/faceted-search/faceted-search.example.md +0 -5
- package/skills/apexlang/templates/page-examples/form-page/form-page.example.md +0 -9
- package/skills/apexlang/templates/page-examples/interactive-report-page/interactive-report-page.example.md +2 -2
- package/skills/apexlang/templates/page-examples/login-page/login-page.example.md +0 -8
- package/skills/apexlang/templates/page-examples/task-definition-initiated-tasks-page/task-definition-initiated-tasks-page.example.md +7 -17
- package/skills/apexlang/templates/page-examples/task-definition-my-tasks-page/task-definition-my-tasks-page.example.md +7 -65
- package/skills/apexlang/templates/page-examples/task-definition-task-details/task-definition-task-details.example.md +38 -201
- package/skills/apexlang/templates/region-components/calendar/calendar.custom-styling.md +3 -1
- package/skills/apexlang/templates/region-components/calendar/calendar.faceted-search.md +3 -2
- package/skills/apexlang/templates/region-components/cards/README.md +12 -4
- package/skills/apexlang/templates/region-components/cards/cards._common.md +176 -37
- package/skills/apexlang/templates/region-components/cards/cards._index.md +2 -1
- package/skills/apexlang/templates/region-components/cards/cards.refresh-after-dialog.md +46 -0
- package/skills/apexlang/templates/region-components/cards/cards.refresh-on-change.md +58 -0
- package/skills/apexlang/templates/region-components/cards/cards.rest-source.md +54 -18
- package/skills/apexlang/templates/region-components/cards/cards.standard.md +37 -21
- package/skills/apexlang/templates/region-components/chart/chart._series._common.md +1 -4
- package/skills/apexlang/templates/region-components/chart/chart.pie.md +6 -2
- package/skills/apexlang/templates/region-components/chart/chart.status-meter-gauge.md +1 -1
- package/skills/apexlang/templates/region-components/chart/chart.stock.md +2 -0
- package/skills/apexlang/templates/region-components/chart/features/chart.feature-chart-links.md +9 -7
- package/skills/apexlang/templates/region-components/faceted-search/faceted-search._common.md +1 -14
- package/skills/apexlang/templates/region-components/form/form._items._common.md +1 -5
- package/skills/apexlang/templates/region-components/interactive-report/interactive-report._columns._common.md +2 -6
- package/skills/apexlang/templates/region-components/interactive-report/interactive-report.page-header-actions.md +1 -7
- package/skills/apexlang/templates/region-components/list/README.md +1 -1
- package/skills/apexlang/templates/region-components/list/list._common.md +1 -1
- package/skills/apexlang/templates/region-components/map/map.backgrounds.md +12 -10
- package/skills/apexlang/templates/region-components/map/map.layer.extruded-polygons.md +16 -12
- package/skills/apexlang/templates/region-components/map/map.layer.heat-map.md +10 -7
- package/skills/apexlang/templates/region-components/map/map.layer.lines.md +10 -8
- package/skills/apexlang/templates/region-components/map/map.layer.polygons.md +21 -18
- package/skills/apexlang/templates/region-components/map/map.region.background-custom.md +25 -19
- package/skills/apexlang/templates/region-components/map/map.region.background-shared.md +19 -13
- package/skills/apexlang/templates/region-components/map/map.region.bbox-sql.md +13 -13
- package/skills/apexlang/templates/region-components/map/map.region.bbox-static.md +2 -2
- package/skills/apexlang/templates/region-components/map/map.region.browser-location.md +3 -7
- package/skills/apexlang/templates/region-components/map/map.region.init-position-sql.md +7 -7
- package/skills/apexlang/templates/region-components/region-display-selector/README.md +5 -2
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._common.md +60 -7
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._index.md +4 -1
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.permutations.md +55 -0
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.standard.md +91 -5
- package/skills/apexlang/templates/region-components/smart-filter-search/README.md +6 -2
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._common.md +107 -46
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._index.md +4 -3
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search.standard.md +33 -17
- package/skills/apexlang/templates/shared-components/component-settings/component-settings._common.md +1 -0
- package/skills/apexlang/templates/shared-components/component-settings.example.md +1 -0
- package/skills/apexlang/templates/shared-components/email-templates.example.md +1 -1
- package/skills/apexlang/templates/shared-components/rest-data-sources/example_rest_data_source.example.md +40 -46
- package/skills/apexlang/templates/shared-components/task-definitions/action-task.example.md +2 -30
- package/skills/apexlang/templates/shared-components/task-definitions/approve-request.example.md +3 -31
- package/skills/apexlang/templates/template-components/README.md +27 -15
- package/skills/apexlang/templates/template-components/avatar/README.md +56 -0
- package/skills/apexlang/templates/template-components/avatar/avatar._common.md +149 -0
- package/skills/apexlang/templates/template-components/avatar/avatar._index.md +42 -0
- package/skills/apexlang/templates/template-components/{avatar._template_options.md → avatar/avatar._template_options.md} +1 -1
- package/skills/apexlang/templates/template-components/avatar/avatar.report-icon.md +48 -0
- package/skills/apexlang/templates/template-components/avatar/avatar.report-image-url-column.md +62 -0
- package/skills/apexlang/templates/template-components/avatar/avatar.report-initials.md +54 -0
- package/skills/apexlang/templates/template-components/badge/README.md +38 -0
- package/skills/apexlang/templates/template-components/badge/badge._common.md +183 -0
- package/skills/apexlang/templates/template-components/badge/badge._index.md +20 -0
- package/skills/apexlang/templates/template-components/badge/badge.report-link.md +66 -0
- package/skills/apexlang/templates/template-components/badge/badge.report-minimal.md +76 -0
- package/skills/apexlang/templates/template-components/comments/README.md +20 -0
- package/skills/apexlang/templates/template-components/comments/comments._common.md +43 -0
- package/skills/apexlang/templates/template-components/comments/comments._index.md +25 -0
- package/skills/apexlang/templates/template-components/{comments._template_options.md → comments/comments._template_options.md} +2 -1
- package/skills/apexlang/templates/template-components/comments/comments.apex-task-comments.md +77 -0
- package/skills/apexlang/templates/template-components/comments/comments.partial-column.md +120 -0
- package/skills/apexlang/templates/template-components/comments/comments.permutations.md +425 -0
- package/skills/apexlang/templates/template-components/content-row/README.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._common.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._index.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._template_options.md +1 -1
- package/skills/apexlang/templates/template-components/flexbox-container/README.md +9 -0
- package/skills/apexlang/templates/template-components/flexbox-container/flexbox-container._index.md +13 -0
- package/skills/apexlang/templates/template-components/media-list/README.md +100 -0
- package/skills/apexlang/templates/template-components/media-list/media-list._common.md +174 -0
- package/skills/apexlang/templates/template-components/media-list/media-list._index.md +50 -0
- package/skills/apexlang/templates/template-components/{media-list._template_options.md → media-list/media-list._template_options.md} +8 -2
- package/skills/apexlang/templates/template-components/media-list/media-list.partial.md +50 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-avatar-badge.md +76 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-base.md +71 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-grouped.md +40 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-layouts.md +50 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-link.md +53 -0
- package/skills/apexlang/templates/template-components/metric-card/README.md +19 -4
- package/skills/apexlang/templates/template-components/metric-card/metric-card._common.md +122 -29
- package/skills/apexlang/templates/template-components/metric-card/metric-card._index.md +6 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card._template_options.md +47 -2
- package/skills/apexlang/templates/template-components/metric-card/metric-card.partial-minimal.md +51 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.permutations.md +56 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-avatar-badge.md +98 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-grouping-selection.md +131 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-link.md +66 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-minimal.md +97 -0
- package/skills/apexlang/templates/template-components/template-components.registry.json +90 -1
- package/skills/apexlang/templates/template-components/timeline/README.md +19 -0
- package/skills/apexlang/templates/template-components/timeline/timeline._common.md +43 -0
- package/skills/apexlang/templates/template-components/timeline/timeline._index.md +24 -0
- package/skills/apexlang/templates/template-components/{timeline._template_options.md → timeline/timeline._template_options.md} +2 -1
- package/skills/apexlang/templates/template-components/timeline/timeline.permutations.md +399 -0
- package/skills/apexlang/templates/template-components/timeline/timeline.report-sample-data.md +168 -0
- package/skills/apexlang/templates/workspace-components/credentials/credentials-for-open-ai.example.md +1 -1
- package/skills/apexlang/templates/workspace-components/generative-ai-services/open-ai.example.md +8 -6
- package/skills/apexlang/tools/apexctl.mjs +167 -4
- package/skills/apexlang/tools/compiler-truth-audit.mjs +95 -63
- package/skills/apexlang/tools/query-valid-props-context.mjs +30 -0
- package/skills/apexlang/tools/query-valid-props-normalize.mjs +1 -0
- package/skills/apexlang/tools/query-valid-props-runtime.mjs +13 -8
- package/skills/apexlang/tools/query-valid-props-semantics.mjs +391 -0
- package/skills/apexlang/tools/query-valid-props-template-components.mjs +15 -1
- package/skills/apexlang/tools/query-valid-props.mjs +198 -216
- /package/skills/apexlang/templates/template-components/{badge._template_options.md → badge/badge._template_options.md} +0 -0
- /package/skills/apexlang/templates/template-components/{flexbox-container._template_options.md → flexbox-container/flexbox-container._template_options.md} +0 -0
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# APEXlang Skill Inventory & Roadmap
|
|
2
|
+
The following document outlines the discrete skills & workflows included or being considered to be included in the APEXlang skills.
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
# Page Components
|
|
6
|
+
## Page Patterns
|
|
7
|
+
### Included
|
|
8
|
+
- Login Page
|
|
9
|
+
- Blank Page
|
|
10
|
+
- Map
|
|
11
|
+
- Interactive Report
|
|
12
|
+
- Interactive Grid
|
|
13
|
+
- Form
|
|
14
|
+
- Faceted Search
|
|
15
|
+
- Dashboard
|
|
16
|
+
- Chart
|
|
17
|
+
- Calendar
|
|
18
|
+
- Classic Report
|
|
19
|
+
- Global Page
|
|
20
|
+
|
|
21
|
+
## Regions
|
|
22
|
+
### Included
|
|
23
|
+
- Dynamic Content
|
|
24
|
+
- Faceted Search
|
|
25
|
+
- Form
|
|
26
|
+
- Breadcrumb
|
|
27
|
+
- Interactive Report
|
|
28
|
+
- Region Display Selector
|
|
29
|
+
- Map
|
|
30
|
+
- Calendar
|
|
31
|
+
- Interactive Grid
|
|
32
|
+
- Chart
|
|
33
|
+
- Classic Report
|
|
34
|
+
- AI Chat
|
|
35
|
+
|
|
36
|
+
### Not Included
|
|
37
|
+
- Search Configuration
|
|
38
|
+
- Cards
|
|
39
|
+
- Help Text
|
|
40
|
+
- Master Detail
|
|
41
|
+
|
|
42
|
+
## Template Components
|
|
43
|
+
### Included
|
|
44
|
+
- Avatar
|
|
45
|
+
- Badge
|
|
46
|
+
- Content Row
|
|
47
|
+
- Timeline
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Not Included / Fully Ready
|
|
51
|
+
- Media List
|
|
52
|
+
- Comments
|
|
53
|
+
- Metric Card
|
|
54
|
+
|
|
55
|
+
## Page Items
|
|
56
|
+
### Included
|
|
57
|
+
- Shuttle
|
|
58
|
+
- Switch
|
|
59
|
+
- Select List
|
|
60
|
+
- Checkbox
|
|
61
|
+
- Date Picker
|
|
62
|
+
- Display Only
|
|
63
|
+
- Hidden Item
|
|
64
|
+
- Radio Group
|
|
65
|
+
- Number Field
|
|
66
|
+
- Select Many
|
|
67
|
+
- Textfield
|
|
68
|
+
- Select One
|
|
69
|
+
- Text Area
|
|
70
|
+
- Rich Text Editor
|
|
71
|
+
- Multi Select
|
|
72
|
+
- Select List - Dynamic LOV Filter
|
|
73
|
+
- Select List - Dynamic LOV Form
|
|
74
|
+
- File Upload
|
|
75
|
+
|
|
76
|
+
### Not Included
|
|
77
|
+
- Color Picker
|
|
78
|
+
- Star Rating
|
|
79
|
+
- Checkbox Group
|
|
80
|
+
- Combobox
|
|
81
|
+
- Textfield w/Autocomplete
|
|
82
|
+
- Smart Filter
|
|
83
|
+
- Display Image
|
|
84
|
+
- Image Upload
|
|
85
|
+
|
|
86
|
+
# Shared Components
|
|
87
|
+
## Application Logic
|
|
88
|
+
### Included
|
|
89
|
+
- Application Items
|
|
90
|
+
- Application Computations
|
|
91
|
+
- Application Processes
|
|
92
|
+
- Application Settings
|
|
93
|
+
- Build Options
|
|
94
|
+
|
|
95
|
+
## Navigation & Search
|
|
96
|
+
### Included
|
|
97
|
+
- Lists
|
|
98
|
+
- Navigation Menu
|
|
99
|
+
- Navigation Bar
|
|
100
|
+
- Breadcrumbs
|
|
101
|
+
|
|
102
|
+
### Not Included
|
|
103
|
+
- Search Configurations
|
|
104
|
+
|
|
105
|
+
## Data Sources
|
|
106
|
+
### Included
|
|
107
|
+
- REST Data Sources
|
|
108
|
+
|
|
109
|
+
### Not Included
|
|
110
|
+
- JSON Duality Views
|
|
111
|
+
- JSON Sources
|
|
112
|
+
|
|
113
|
+
## Generative AI
|
|
114
|
+
### Included
|
|
115
|
+
- AI Attributes
|
|
116
|
+
- AI Configurations
|
|
117
|
+
- AI Services
|
|
118
|
+
|
|
119
|
+
## Security
|
|
120
|
+
### Included
|
|
121
|
+
- Security Attributes
|
|
122
|
+
- Authentication Schemes
|
|
123
|
+
- Authorization Schemes
|
|
124
|
+
- Session State Protection
|
|
125
|
+
|
|
126
|
+
### Not Included
|
|
127
|
+
- Application Access Control
|
|
128
|
+
|
|
129
|
+
## User Interface
|
|
130
|
+
### Included
|
|
131
|
+
- User Interface Attributes
|
|
132
|
+
- Email Templates
|
|
133
|
+
|
|
134
|
+
### Not Included
|
|
135
|
+
- Progressive Web App
|
|
136
|
+
- Themes
|
|
137
|
+
- Templates
|
|
138
|
+
- Map Backgrounds
|
|
139
|
+
|
|
140
|
+
## Workflows & Automations
|
|
141
|
+
### Not Included
|
|
142
|
+
- Task Definitions
|
|
143
|
+
- Automations
|
|
144
|
+
- Workflows
|
|
145
|
+
|
|
146
|
+
## Other Components
|
|
147
|
+
### Included
|
|
148
|
+
- Lists of Values
|
|
149
|
+
|
|
150
|
+
### Not Included
|
|
151
|
+
- Plug Ins
|
|
152
|
+
- Component Settings
|
|
153
|
+
- Shortcuts
|
|
154
|
+
- Component Groups
|
|
155
|
+
- Data Load Definitions
|
|
156
|
+
|
|
157
|
+
## Files & Reports
|
|
158
|
+
### Not Included
|
|
159
|
+
- Static Application Files
|
|
160
|
+
- Static Workspace Files
|
|
161
|
+
- Report Layouts
|
|
162
|
+
- Report Queries
|
|
163
|
+
|
|
164
|
+
## Globalization
|
|
165
|
+
### Included
|
|
166
|
+
- Globalization Attributes
|
|
167
|
+
- Text Messages
|
|
168
|
+
|
|
169
|
+
### Not Included
|
|
170
|
+
- Application Translations
|
|
171
|
+
|
|
172
|
+
## Computations
|
|
173
|
+
### Included
|
|
174
|
+
- Static Value
|
|
175
|
+
- Item
|
|
176
|
+
- SQL Query - Return Single Value
|
|
177
|
+
- SQL Query - Return Multiple Values
|
|
178
|
+
- Expression
|
|
179
|
+
- Function Body
|
|
180
|
+
|
|
181
|
+
### Not Included
|
|
182
|
+
- Preference
|
|
183
|
+
|
|
184
|
+
## Processes
|
|
185
|
+
### Included
|
|
186
|
+
- Close Dialog
|
|
187
|
+
- Execute Code
|
|
188
|
+
- Form - Automatic Row Processing
|
|
189
|
+
- Form - Initialization
|
|
190
|
+
- Generate Text with AI
|
|
191
|
+
- Interactive Grid - Automatic Row Processing
|
|
192
|
+
- Invoke API
|
|
193
|
+
- Send E-Mail
|
|
194
|
+
|
|
195
|
+
### Not Included
|
|
196
|
+
- Clear Session State
|
|
197
|
+
- Data Loading
|
|
198
|
+
- Download
|
|
199
|
+
- Execution Chain
|
|
200
|
+
- Human Task - Create
|
|
201
|
+
- Human Task - Manage
|
|
202
|
+
- Print Report
|
|
203
|
+
- Reset Pagination
|
|
204
|
+
- Send Push Notification
|
|
205
|
+
- User Preferences
|
|
206
|
+
- Workflow
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
## Validations
|
|
210
|
+
### Included
|
|
211
|
+
- Rows Returned
|
|
212
|
+
- No Rows Returned
|
|
213
|
+
- Expression
|
|
214
|
+
- Function Body (returning Boolean)
|
|
215
|
+
- Function Body (returning Error Text)
|
|
216
|
+
- Item is NOT NULL
|
|
217
|
+
- Item is NOT NULL or zero
|
|
218
|
+
- Item is NOT zero
|
|
219
|
+
- Item contains no spaces
|
|
220
|
+
- Item is alphanumeric
|
|
221
|
+
- Item is numeric
|
|
222
|
+
- Item is a valid date
|
|
223
|
+
- Item is a valid timestamp
|
|
224
|
+
- Item = Value
|
|
225
|
+
- Item != Value
|
|
226
|
+
- Item is contained in Value
|
|
227
|
+
- Item is NOT contained in Value
|
|
228
|
+
|
|
229
|
+
### Not Included
|
|
230
|
+
- PL/SQL Error
|
|
231
|
+
- Item contains only characters specified in Value
|
|
232
|
+
- Item contains at least one of the characters in Value
|
|
233
|
+
- Item does NOT contain any of the characters in Value
|
|
234
|
+
- Item matches Regular Expression
|
|
235
|
+
|
|
236
|
+
## Dynamic Actions
|
|
237
|
+
### Included
|
|
238
|
+
- Cancel Dialog
|
|
239
|
+
- Close Dialog
|
|
240
|
+
- Disable
|
|
241
|
+
- Enable
|
|
242
|
+
- Execute JavaScript Code
|
|
243
|
+
- Execute Server-Side Code
|
|
244
|
+
- Hide
|
|
245
|
+
- Refresh
|
|
246
|
+
- Set Value
|
|
247
|
+
- Show
|
|
248
|
+
- Show AI Assistant
|
|
249
|
+
- Show Error Message
|
|
250
|
+
- Show Success Message
|
|
251
|
+
- Submit Page
|
|
252
|
+
- Trigger Geocoding
|
|
253
|
+
|
|
254
|
+
### Not Included
|
|
255
|
+
- Add Class
|
|
256
|
+
- Alert
|
|
257
|
+
- Cancel Event
|
|
258
|
+
- Clear
|
|
259
|
+
- Clear Errors
|
|
260
|
+
- Close Region
|
|
261
|
+
- Collapse Tree
|
|
262
|
+
- Confirm
|
|
263
|
+
- Download
|
|
264
|
+
- Expand Tree
|
|
265
|
+
- Generate Text with AI
|
|
266
|
+
- Get Current Position
|
|
267
|
+
- Invoke Interactive Report Dialog
|
|
268
|
+
- Open Region
|
|
269
|
+
- Print Report
|
|
270
|
+
- Remove Class
|
|
271
|
+
- Set Focus
|
|
272
|
+
- Set Style
|
|
273
|
+
- Share
|
|
274
|
+
|
|
275
|
+
# Automations & Workflows
|
|
276
|
+
## PL/SQL
|
|
277
|
+
### Included
|
|
278
|
+
- Foundation & Governance
|
|
279
|
+
- Batch Changes
|
|
280
|
+
- Migrate PL/SQL to Packages
|
|
281
|
+
- Generate UT-PLSQL Unit Tests
|
|
282
|
+
- Integration with DBMS_DEVELOPER table/view list / apex_db_dictionary
|
|
283
|
+
|
|
284
|
+
### Not Included
|
|
285
|
+
- Move validations & computations to PL/SQL Packages
|
|
286
|
+
|
|
287
|
+
## Help Text
|
|
288
|
+
### Included
|
|
289
|
+
- Add help text to pages & forms
|
|
290
|
+
|
|
291
|
+
## Translate an Application
|
|
292
|
+
### Included
|
|
293
|
+
- Ability to translate an application using 26.1 message-based translations
|
|
294
|
+
- Applying translation to regions & items
|
|
295
|
+
|
|
296
|
+
## Authorization
|
|
297
|
+
### Included
|
|
298
|
+
- Apply an AuthZ scheme to data elements that contain PII
|
|
299
|
+
|
|
300
|
+
## UI/UX Customizations
|
|
301
|
+
### Included
|
|
302
|
+
- Basic understanding of Universal Theme
|
|
303
|
+
|
|
304
|
+
## Column Comments
|
|
305
|
+
### Included
|
|
306
|
+
|
|
307
|
+
- Create column comments in JSON that can be used when generating applications
|
|
308
|
+
|
|
309
|
+
## Vector Search
|
|
310
|
+
### Not Included
|
|
311
|
+
- Assist with generation of vectors
|
|
312
|
+
|
|
313
|
+
## Debugging
|
|
314
|
+
### Included
|
|
315
|
+
- Debugger foundations
|
|
316
|
+
|
|
317
|
+
## Test Generation
|
|
318
|
+
### Included
|
|
319
|
+
- Basic testing harness - phase 1
|
|
320
|
+
|
|
321
|
+
## Static Analysis
|
|
322
|
+
### Not Included
|
|
323
|
+
- Quality checks
|
|
324
|
+
- Security checks
|
|
325
|
+
|
|
@@ -9,10 +9,10 @@ Start with SKILL.md. It is the main root entry for routing, local context discov
|
|
|
9
9
|
- Oracle APEX with APEXlang support, using the latest available 26.1 build.
|
|
10
10
|
- SQLcl for real APEXlang validation and import workflows, version 26.1.2 or newer.
|
|
11
11
|
- Java 17 or Java 21 for current SQLcl.
|
|
12
|
-
- A saved SQLcl connection
|
|
12
|
+
- A saved SQLcl connection or a manually supplied `db_connection_name` for Live DB validation, import, and runtime diagnostics. New-app materialization also requires the exact destination APEX workspace name.
|
|
13
13
|
- A local Oracle APEX app directory or enough authoritative context for the skill to help create one.
|
|
14
14
|
|
|
15
|
-
You can read the guidance and draft APEXlang artifacts without SQLcl. Any workflow that validates against Oracle APEX or imports into a workspace requires SQLcl
|
|
15
|
+
You can read the guidance and draft APEXlang artifacts without SQLcl. Any workflow that validates against Oracle APEX or imports into a workspace requires SQLcl and a resolved `db_connection_name`. The active runtime resolves workspace identity; only ambiguity or new-app materialization requires an explicit workspace choice.
|
|
16
16
|
|
|
17
17
|
New workspaces do not need a pre-existing `artifacts/` directory. Runtime outputs are created lazily under `APEXLANG_OUTPUT_ROOT` only when a command writes logs, reports, or export backups. Existing `apex-exports/` folders are backup/export material and are ignored for app resolution and generation unless the user explicitly asks to inspect an export backup.
|
|
18
18
|
|
|
@@ -33,7 +33,7 @@ Generic Oracle Database, PL/SQL, SQLcl, and utPLSQL guidance is owned by Oracle
|
|
|
33
33
|
|
|
34
34
|
## Prompt Examples by Task
|
|
35
35
|
|
|
36
|
-
Good prompts name the app, page, component, data evidence, desired behavior, whether live validation is allowed
|
|
36
|
+
Good prompts name the app, page, component, data evidence, desired behavior, and whether live validation is allowed. For Live DB work, provide `db_connection_name` only when saved-connection discovery cannot resolve one.
|
|
37
37
|
|
|
38
38
|
### Whole app from beginning to end
|
|
39
39
|
|
|
@@ -74,13 +74,13 @@ Localize and translate my APEX application to Spanish using text messages, creat
|
|
|
74
74
|
### Validation and debugging
|
|
75
75
|
|
|
76
76
|
```text
|
|
77
|
-
Check the APEXlang code for my app using db_connection_name apex_dev
|
|
77
|
+
Check the APEXlang code for my app using db_connection_name apex_dev. If validation reports workspace ambiguity, resolve the workspace from that session. If validation fails, explain the owning layer and suggest the smallest fix.
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
## Basic Workflow
|
|
81
81
|
|
|
82
82
|
1. Load `SKILL.md`.
|
|
83
|
-
2. Resolve the app path and data context;
|
|
83
|
+
2. Resolve the app path and data context; discover a saved SQLcl connection before requesting `db_connection_name` for Live DB work.
|
|
84
84
|
3. Generate APEXlang artifacts.
|
|
85
85
|
4. Check APEXlang code.
|
|
86
86
|
5. Import only after explicit approval.
|
|
@@ -101,5 +101,5 @@ Check the APEXlang code for my app using db_connection_name apex_dev and APEX wo
|
|
|
101
101
|
- This README is for Oracle APEXlang skill consumers.
|
|
102
102
|
- Do not treat this README as the router. `SKILL.md` owns routing and safety behavior.
|
|
103
103
|
- The skill must not invent database objects. Provide table metadata, a data model, a live connection, or exact object details when a request depends on schema facts.
|
|
104
|
-
- Live DB workflows
|
|
104
|
+
- Live DB workflows require a resolved `db_connection_name`; explicit workspace input is needed only for new-app materialization or runtime-reported ambiguity.
|
|
105
105
|
- `artifacts/` is output only, not startup context. `apex-exports/` is backup/export material, not generated source.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# Release Notes
|
|
1
|
+
# APEXlang Release Notes
|
|
2
2
|
|
|
3
|
-
View [
|
|
3
|
+
View the full [APEXlang Skills Release Notes](https://html-preview.github.io/?url=https://raw.githubusercontent.com/oracle/skills/refs/heads/main/apex/apexlang/release-notes.html).
|
package/skills/apexlang/SKILL.md
CHANGED
|
@@ -5,30 +5,37 @@ description: Public APEXlang router with deterministic local-context discovery a
|
|
|
5
5
|
|
|
6
6
|
# Skill — APEXlang
|
|
7
7
|
|
|
8
|
-
`SKILL.md` is the
|
|
8
|
+
`SKILL.md` is the router. Resolve compact task context before prose.
|
|
9
9
|
|
|
10
10
|
## Start Order
|
|
11
|
+
For an isolated grammar benchmark with a complete request and exact command,
|
|
12
|
+
skip this start order, catalogs, workspace probe, and templates. Run only the
|
|
13
|
+
selected lookup; the runner may audit afterward outside generation tokens.
|
|
14
|
+
|
|
11
15
|
1. `assets/routing-catalog-main.json`
|
|
12
16
|
2. `assets/routing-load-policy.json`
|
|
13
|
-
3. `assets/
|
|
14
|
-
4. `assets/
|
|
15
|
-
5.
|
|
16
|
-
6.
|
|
17
|
+
3. `assets/rules.catalog.json`
|
|
18
|
+
4. `assets/apexlang/domains-catalog.json`
|
|
19
|
+
5. `assets/workspace-intelligence.json`
|
|
20
|
+
6. Run `node tools/apexctl.mjs workspace probe`.
|
|
21
|
+
7. The temp-runtime `context-resolution.json` report under `APEXLANG_OUTPUT_ROOT`, when present
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
Use these package-root assets; ignore legacy aliases.
|
|
19
24
|
|
|
20
25
|
## Local Context Contract
|
|
21
26
|
- Discovery boundary is the current local AI tooling session directory only.
|
|
22
27
|
- Prefer authoritative offline context from metadata definitions, data models, or API contracts.
|
|
23
|
-
- Treat `specs
|
|
24
|
-
- Do not infer schema or API shape from prose, names, or headings.
|
|
28
|
+
- Treat `specs/`, `requirements/`, and prose as hints; never infer structure from them.
|
|
25
29
|
- Treat `artifacts/` as optional runtime output only. Do not require it before generation starts and do not use it as source context.
|
|
26
|
-
- Treat any `apex-exports` path segment as backup/export material only. Ignore it
|
|
30
|
+
- Treat any `apex-exports` path segment as backup/export material only. Ignore it except for explicit export inspection, migration, or recovery.
|
|
27
31
|
- All `node tools/apexctl.mjs ...` commands are package-root relative: run them from the packaged skill root, or invoke that script by explicit path.
|
|
28
32
|
- 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.
|
|
29
33
|
- When app or page scope appears with translation, localization, target-language, `messages.apx`, or `APP_TEXT$` wording, route first to the shared-components translation guidance before generic page/app generation references.
|
|
30
34
|
- Plain app/page localization requests must be satisfied by text-message conversion plus `&APP_TEXT$...` consumption rewiring. Do not satisfy them by inserting direct translated literals into component attributes.
|
|
31
|
-
- 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
|
|
35
|
+
- 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 `.apexlang/application-spec.md`, including an Application Composition Plan, before drafting non-trivial `.apx` artifacts.
|
|
36
|
+
- Use resolver projections before Markdown. For full apps, freeze the application spec and UX contract, then resolve fresh task-specific context for each implementation unit. Follow `assets/contracts/package-layers.json`.
|
|
37
|
+
- Selection is not authorization: if `generation_status` is `blocked`, report `missingInputs` and do not emit, validate, publish, or import. Use `context resolve ... --require-ready` for automation.
|
|
38
|
+
- Keep the raw grammar, full guard, component registry, repair catalog, and template tree out of model context; use tool projections.
|
|
32
39
|
|
|
33
40
|
## App Location Contract
|
|
34
41
|
- For app-scoped work, resolve the target APEX app before reading or editing app files.
|
|
@@ -51,22 +58,20 @@ Only the package-root asset names above are valid for the public package. Do not
|
|
|
51
58
|
- Use `node tools/apexctl.mjs runtime validate --app-path <absolute_app_path> --db-connection-name <db_connection_name> --apex-root <resolved_build_root> [--compiler-oracle-home <compiler_metadata_home>]` as the public check-only gate for generated apps. `--apex-root` selects the APEX/SQLcl runtime; `--compiler-oracle-home` overrides only compiler-truth metadata discovery.
|
|
52
59
|
- Live APEX validation is authoritative; missing runtime inputs or live evidence records `LIVE_RUNTIME_VALIDATION_REQUIRED_001` and blocks completion.
|
|
53
60
|
- Local lint, compiler-truth, and VS Code Problems snapshots are diagnostics after a live pass; missing snapshots are `not_provided`.
|
|
54
|
-
-
|
|
61
|
+
- Resolve `problems.json` with `node tools/apexctl.mjs context repair --problems <path>`, which projects matching `assets/validator-fix-recipes.json` entries; apply them and rerun validation.
|
|
55
62
|
- For every APEXlang artifact generation, mutation, checking, 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.
|
|
56
|
-
-
|
|
57
|
-
- 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.
|
|
58
|
-
-
|
|
59
|
-
- 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
|
|
63
|
+
- 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.
|
|
64
|
+
- 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. Templates are exact-match examples and renderer references, not the primary syntax oracle.
|
|
65
|
+
- Use `assets/grammar/apexlang.ebnf` as the APEXlang syntax oracle, but never load it whole. Run one task-scoped grammar contract for selected components and groups, using parent-aware child selectors and instance bindings only when required. Apply its semantic rules, compiler assumptions, exact instance declarations, repository policies, active requirements, forbidden blocks, and activation/omit rules. Then run the same-selection grammar audit and repair failed page-local MUST checks. For choices not resolved by the contract, query compiler-backed truth with `node tools/query-valid-props.mjs` before generating code. Every changed `.apx` must pass compiler-truth audit before live use. Compiler truth outranks templates; if unavailable, stop with Missing Inputs.
|
|
66
|
+
- 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, selected contract or exact template family/variant, ordered region/item/button inventory when applicable, source mode decisions, navigation or target decisions, source trace, and compiler-truth evidence references when required.
|
|
67
|
+
- For non-trivial work, keep a compact source trace: intent -> smallest rule/contract/workflow -> grammar/compiler evidence -> exact template only when needed.
|
|
60
68
|
- 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`.
|
|
61
|
-
- For
|
|
69
|
+
- For Live DB work, inspect saved SQLcl connections first and auto-bind one deterministic connection. Ask the user only to choose among multiple connections or provide `db_connection_name` when none can be resolved. If the active runtime reports workspace ambiguity, resolve its workspace id and rerun with that run-scoped override. Require an exact destination workspace name before new-app materialization.
|
|
62
70
|
- 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.
|
|
63
71
|
- Use the shared contract in `references/workflows/apexlang/prompt-contracts.md` for instruction hierarchy, tagged prompt sections, rule IDs, intermediate artifacts, and stop conditions.
|
|
64
72
|
- 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.
|
|
65
73
|
- Treat an explicit post-check GUI import choice as the only trigger for live import; do not infer it from prompt wording or defaults.
|
|
66
74
|
- If GUI choices are unavailable, stop after the check-only path and report import as a follow-up.
|
|
67
|
-
- For interactive DB-backed runs, ask whether the user wants `Offline` or `Live DB` first.
|
|
68
|
-
- If `Live DB` is chosen, require the user to specify both `db_connection_name` and the corresponding APEX workspace name before live metadata validation, `apex validate`, `apex import`, runtime diagnostics, or new-app materialization.
|
|
69
|
-
- Saved SQLcl connection discovery may help the user choose an alias, but do not treat discovery alone as approval to proceed without the matching APEX workspace name.
|
|
70
75
|
- Record the APEX workspace name in `db_context.workspace.name`; pass it as `--workspace-name <name>` for packaged commands that accept the flag.
|
|
71
76
|
- `Offline` disables live metadata validation, `apex validate`, and `apex import`.
|
|
72
77
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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."
|