apexrest 0.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +18 -0
  3. package/README.md +201 -0
  4. package/README.uk.md +201 -0
  5. package/dist/codex-compat/.agents/plugins/marketplace.json +23 -0
  6. package/dist/codex-compat/plugins/apexrest-apex/.codex-plugin/plugin.json +32 -0
  7. package/dist/codex-compat/plugins/apexrest-apex/.mcp.json +11 -0
  8. package/dist/codex-compat/plugins/apexrest-apex/LICENSE +202 -0
  9. package/dist/codex-compat/plugins/apexrest-apex/NOTICE +18 -0
  10. package/dist/codex-compat/plugins/apexrest-apex/assets/apexrest-icon.svg +27 -0
  11. package/dist/codex-compat/plugins/apexrest-apex/assets/apexrest-logo.svg +27 -0
  12. package/dist/codex-compat/plugins/apexrest-apex/resources/ords/OrdsBridge.java +323 -0
  13. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/LICENCE.txt +118 -0
  14. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/bulbasaur.png +0 -0
  15. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/charmander.png +0 -0
  16. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/mewtwo.png +0 -0
  17. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/pikachu.png +0 -0
  18. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/sources.json +36 -0
  19. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/squirtle.png +0 -0
  20. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/index.html +68 -0
  21. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.css +805 -0
  22. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.js +951 -0
  23. package/dist/codex-compat/plugins/apexrest-apex/resources/playwright/auth.mjs +17 -0
  24. package/dist/codex-compat/plugins/apexrest-apex/resources/playwright/package-lock.json +57 -0
  25. package/dist/codex-compat/plugins/apexrest-apex/resources/playwright/package.json +9 -0
  26. package/dist/codex-compat/plugins/apexrest-apex/resources/references/ORACLE-LICENSE.txt +35 -0
  27. package/dist/codex-compat/plugins/apexrest-apex/resources/references/index.json +54432 -0
  28. package/dist/codex-compat/plugins/apexrest-apex/resources/references/oracle-snapshot.json +648 -0
  29. package/dist/codex-compat/plugins/apexrest-apex/resources/references/search.json +1 -0
  30. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/deploy-plan.schema.json +210 -0
  31. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/operations.schema.json +1721 -0
  32. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/policy.schema.json +63 -0
  33. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/project.schema.json +250 -0
  34. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/toolchain-lock.schema.json +118 -0
  35. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/vendor/mcp.schema.json +120 -0
  36. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/vendor/plugin.schema.json +65 -0
  37. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/README.md +5 -0
  38. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/README.uk.md +5 -0
  39. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/.apex/apexlang.json +3 -0
  40. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/application.apx +51 -0
  41. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/deployments/default.json +2 -0
  42. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/page-groups.apx +4 -0
  43. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/pages/p00000-global-page.apx +4 -0
  44. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/pages/p00001-home.apx +35 -0
  45. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/pages/p09999-login.apx +254 -0
  46. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/authentications.apx +5 -0
  47. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/authorizations.apx +11 -0
  48. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/breadcrumbs.apx +18 -0
  49. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/build-options.apx +4 -0
  50. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/component-settings.apx +92 -0
  51. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/lists.apx +81 -0
  52. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/lovs.apx +20 -0
  53. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-144-rounded.png +0 -0
  54. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-192.png +0 -0
  55. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-256-rounded.png +0 -0
  56. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-32.png +0 -0
  57. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-512.png +0 -0
  58. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files.apx +25 -0
  59. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/themes/universal-theme/theme.apx +57 -0
  60. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/supporting-objects/deinstall-script.sql +0 -0
  61. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/supporting-objects/supporting-objects.apx +9 -0
  62. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/README.md +7 -0
  63. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/README.uk.md +7 -0
  64. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/apex-overlay/pages/p00010-customers.apx +164 -0
  65. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/apex-overlay/pages/p00020-dashboard.apx +54 -0
  66. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/apex-overlay/pages/p00080-customer.apx +332 -0
  67. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/src/database/migrations/0001__customers.sql +10 -0
  68. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/src/database/packages/0010__customer_api.sql +28 -0
  69. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/src/database/packages/0020__customer_validation_trigger.sql +10 -0
  70. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/tests/e2e/customer-crud.spec.mjs +25 -0
  71. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/tests/sql/test_customers.sql +49 -0
  72. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/database-control/install.sql +17 -0
  73. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/existing-app/README.md +9 -0
  74. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/existing-app/README.uk.md +9 -0
  75. package/dist/codex-compat/plugins/apexrest-apex/resources/testkit/apex.mjs +58 -0
  76. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@hono__node-server__LICENSE +21 -0
  77. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@isaacs__fs-minipass__LICENSE +15 -0
  78. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@modelcontextprotocol__sdk__LICENSE +21 -0
  79. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@playwright__test__LICENSE +202 -0
  80. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@playwright__test__NOTICE +5 -0
  81. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@types__node__LICENSE +21 -0
  82. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@types__yauzl__LICENSE +21 -0
  83. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__LICENSE +55 -0
  84. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__NOTICE.txt +436 -0
  85. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__accepts__LICENSE +23 -0
  86. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ajv-formats__LICENSE +21 -0
  87. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ajv__LICENSE +22 -0
  88. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__body-parser__LICENSE +23 -0
  89. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__body-parser__node_modules__content-type__LICENSE +22 -0
  90. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__bytes__LICENSE +23 -0
  91. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__call-bind-apply-helpers__LICENSE +21 -0
  92. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__call-bound__LICENSE +21 -0
  93. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__chownr__LICENSE.md +63 -0
  94. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__content-disposition__LICENSE +22 -0
  95. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__content-type__LICENSE +22 -0
  96. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cookie-signature__LICENSE +22 -0
  97. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cookie__LICENSE +24 -0
  98. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cors__LICENSE +22 -0
  99. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cross-spawn__LICENSE +21 -0
  100. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__debug__LICENSE +20 -0
  101. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__depd__LICENSE +22 -0
  102. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__dunder-proto__LICENSE +21 -0
  103. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ee-first__LICENSE +22 -0
  104. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__encodeurl__LICENSE +22 -0
  105. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__es-define-property__LICENSE +21 -0
  106. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__es-errors__LICENSE +21 -0
  107. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__es-object-atoms__LICENSE +21 -0
  108. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__esbuild__LICENSE.md +21 -0
  109. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__escape-html__LICENSE +24 -0
  110. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__etag__LICENSE +22 -0
  111. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__eventsource-parser__LICENSE +21 -0
  112. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__eventsource__LICENSE +22 -0
  113. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__express-rate-limit__license +21 -0
  114. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__express__LICENSE +24 -0
  115. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fast-deep-equal__LICENSE +21 -0
  116. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fast-uri__LICENSE +30 -0
  117. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fflate__LICENSE +21 -0
  118. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__finalhandler__LICENSE +22 -0
  119. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__forwarded__LICENSE +22 -0
  120. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fresh__LICENSE +23 -0
  121. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__function-bind__LICENSE +20 -0
  122. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__get-intrinsic__LICENSE +21 -0
  123. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__get-proto__LICENSE +21 -0
  124. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__gopd__LICENSE +21 -0
  125. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__has-symbols__LICENSE +21 -0
  126. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__hasown__LICENSE +21 -0
  127. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__hono__LICENSE +21 -0
  128. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__http-errors__LICENSE +23 -0
  129. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__iconv-lite__LICENSE +21 -0
  130. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__inherits__LICENSE +16 -0
  131. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ip-address__LICENSE +19 -0
  132. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ipaddr.js__LICENSE +19 -0
  133. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__is-promise__LICENSE +19 -0
  134. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__isexe__LICENSE +15 -0
  135. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__jose__LICENSE.md +21 -0
  136. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__json-schema-traverse__LICENSE +21 -0
  137. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__json-schema-typed__LICENSE.md +57 -0
  138. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__marked__LICENSE +44 -0
  139. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__math-intrinsics__LICENSE +21 -0
  140. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__media-typer__LICENSE +22 -0
  141. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__merge-descriptors__license +11 -0
  142. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__mime-db__LICENSE +23 -0
  143. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__mime-types__LICENSE +23 -0
  144. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__minipass__LICENSE.md +55 -0
  145. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__minizlib__LICENSE +26 -0
  146. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ms__license.md +21 -0
  147. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__negotiator__LICENSE +24 -0
  148. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__negotiator__node_modules__content-type__LICENSE +22 -0
  149. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__object-assign__license +21 -0
  150. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__object-inspect__LICENSE +21 -0
  151. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__on-finished__LICENSE +23 -0
  152. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__once__LICENSE +15 -0
  153. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__parseurl__LICENSE +24 -0
  154. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__path-key__license +9 -0
  155. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__path-to-regexp__LICENSE +21 -0
  156. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__pend__LICENSE +23 -0
  157. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__pkce-challenge__LICENSE +21 -0
  158. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright-core__LICENSE +202 -0
  159. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright-core__NOTICE +5 -0
  160. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright__LICENSE +202 -0
  161. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright__NOTICE +5 -0
  162. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__prettier__LICENSE +7 -0
  163. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__proxy-addr__LICENSE +22 -0
  164. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__qs__LICENSE.md +29 -0
  165. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__range-parser__LICENSE +23 -0
  166. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__raw-body__LICENSE +22 -0
  167. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__require-from-string__license +21 -0
  168. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__router__LICENSE +23 -0
  169. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__safer-buffer__LICENSE +21 -0
  170. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__send__LICENSE +23 -0
  171. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__serve-static__LICENSE +25 -0
  172. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__setprototypeof__LICENSE +13 -0
  173. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__shebang-command__license +9 -0
  174. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__shebang-regex__license +9 -0
  175. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel-list__LICENSE +21 -0
  176. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel-map__LICENSE +21 -0
  177. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel-weakmap__LICENSE +21 -0
  178. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel__LICENSE +21 -0
  179. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__statuses__LICENSE +23 -0
  180. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__tar__LICENSE.md +55 -0
  181. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__toidentifier__LICENSE +21 -0
  182. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__type-is__LICENSE +23 -0
  183. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__type-is__node_modules__content-type__LICENSE +22 -0
  184. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__typescript__LICENSE +55 -0
  185. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__typescript__NOTICE.txt +436 -0
  186. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__undici-types__LICENSE +21 -0
  187. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__unpipe__LICENSE +22 -0
  188. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__vary__LICENSE +22 -0
  189. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__which__LICENSE +15 -0
  190. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__wrappy__LICENSE +15 -0
  191. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__yallist__LICENSE.md +63 -0
  192. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__yauzl__LICENSE +21 -0
  193. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__zod-to-json-schema__LICENSE +15 -0
  194. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__zod__LICENSE +21 -0
  195. package/dist/codex-compat/plugins/apexrest-apex/resources/toolchains/compatibility.json +50 -0
  196. package/dist/codex-compat/plugins/apexrest-apex/resources/toolchains/sources.lock.json +14 -0
  197. package/dist/codex-compat/plugins/apexrest-apex/resources/toolchains/toolchain.lock.json +204 -0
  198. package/dist/codex-compat/plugins/apexrest-apex/runtime/apexrest.mjs +226 -0
  199. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-2SZCZZ3J.mjs +37111 -0
  200. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-2VGE5Y5J.mjs +994 -0
  201. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-3GSS6SJH.mjs +1424 -0
  202. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-5GOWABKB.mjs +409 -0
  203. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ARMO5ZAQ.mjs +25 -0
  204. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ED2YPDPS.mjs +1123 -0
  205. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-FPOEB42H.mjs +100 -0
  206. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-GFRSRK3K.mjs +16 -0
  207. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ICWYSHJ7.mjs +19 -0
  208. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-IPU64TJI.mjs +291 -0
  209. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-JWX4UQAZ.mjs +14 -0
  210. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-K3KT6RZY.mjs +1064 -0
  211. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-QLRGI23I.mjs +1307 -0
  212. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-RF4XQO6I.mjs +13 -0
  213. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-VPCUV5QA.mjs +237 -0
  214. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-WMJTK7ZB.mjs +201 -0
  215. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-WROK6RQH.mjs +200 -0
  216. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-XDJEGHUX.mjs +1179 -0
  217. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-YK34QNHH.mjs +15 -0
  218. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-Z6Y72JVG.mjs +37 -0
  219. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ZQFJ2BNZ.mjs +329 -0
  220. package/dist/codex-compat/plugins/apexrest-apex/runtime/mcp.mjs +15 -0
  221. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/SKILL.md +32 -0
  222. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/agents/openai.yaml +4 -0
  223. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/assets/p00020-filtered-components.apx +152 -0
  224. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/references/component-routes.md +35 -0
  225. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/references/native-dashboard.md +11 -0
  226. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-database/SKILL.md +11 -0
  227. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-database/agents/openai.yaml +4 -0
  228. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-debug/SKILL.md +11 -0
  229. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-debug/agents/openai.yaml +4 -0
  230. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/SKILL.md +19 -0
  231. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/agents/openai.yaml +4 -0
  232. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-install-dependencies/SKILL.md +38 -0
  233. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-install-dependencies/agents/openai.yaml +4 -0
  234. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/SKILL.md +27 -0
  235. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/agents/openai.yaml +4 -0
  236. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/references/cli-catalog.md +22 -0
  237. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-panel/SKILL.md +20 -0
  238. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-panel/agents/openai.yaml +4 -0
  239. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/SKILL.md +9 -0
  240. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/agents/openai.yaml +4 -0
  241. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-review/SKILL.md +9 -0
  242. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-review/agents/openai.yaml +4 -0
  243. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/SKILL.md +15 -0
  244. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/agents/openai.yaml +4 -0
  245. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/references/ords.md +3 -0
  246. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-team/SKILL.md +24 -0
  247. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-team/agents/openai.yaml +4 -0
  248. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-test/SKILL.md +27 -0
  249. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-test/agents/openai.yaml +4 -0
  250. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/SKILL.md +17 -0
  251. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/agents/openai.yaml +7 -0
  252. package/dist/resources/ords/OrdsBridge.java +323 -0
  253. package/dist/resources/panel/assets/LICENCE.txt +118 -0
  254. package/dist/resources/panel/assets/bulbasaur.png +0 -0
  255. package/dist/resources/panel/assets/charmander.png +0 -0
  256. package/dist/resources/panel/assets/mewtwo.png +0 -0
  257. package/dist/resources/panel/assets/pikachu.png +0 -0
  258. package/dist/resources/panel/assets/sources.json +36 -0
  259. package/dist/resources/panel/assets/squirtle.png +0 -0
  260. package/dist/resources/panel/index.html +68 -0
  261. package/dist/resources/panel/panel.css +805 -0
  262. package/dist/resources/panel/panel.js +951 -0
  263. package/dist/resources/playwright/auth.mjs +17 -0
  264. package/dist/resources/playwright/package-lock.json +57 -0
  265. package/dist/resources/playwright/package.json +9 -0
  266. package/dist/resources/references/ORACLE-LICENSE.txt +35 -0
  267. package/dist/resources/references/index.json +54432 -0
  268. package/dist/resources/references/oracle-snapshot.json +648 -0
  269. package/dist/resources/references/search.json +1 -0
  270. package/dist/resources/schemas/deploy-plan.schema.json +210 -0
  271. package/dist/resources/schemas/operations.schema.json +1721 -0
  272. package/dist/resources/schemas/policy.schema.json +63 -0
  273. package/dist/resources/schemas/project.schema.json +250 -0
  274. package/dist/resources/schemas/toolchain-lock.schema.json +118 -0
  275. package/dist/resources/schemas/vendor/mcp.schema.json +120 -0
  276. package/dist/resources/schemas/vendor/plugin.schema.json +65 -0
  277. package/dist/resources/templates/blank-app/README.md +5 -0
  278. package/dist/resources/templates/blank-app/README.uk.md +5 -0
  279. package/dist/resources/templates/blank-app/application/.apex/apexlang.json +3 -0
  280. package/dist/resources/templates/blank-app/application/application.apx +51 -0
  281. package/dist/resources/templates/blank-app/application/deployments/default.json +2 -0
  282. package/dist/resources/templates/blank-app/application/page-groups.apx +4 -0
  283. package/dist/resources/templates/blank-app/application/pages/p00000-global-page.apx +4 -0
  284. package/dist/resources/templates/blank-app/application/pages/p00001-home.apx +35 -0
  285. package/dist/resources/templates/blank-app/application/pages/p09999-login.apx +254 -0
  286. package/dist/resources/templates/blank-app/application/shared-components/authentications.apx +5 -0
  287. package/dist/resources/templates/blank-app/application/shared-components/authorizations.apx +11 -0
  288. package/dist/resources/templates/blank-app/application/shared-components/breadcrumbs.apx +18 -0
  289. package/dist/resources/templates/blank-app/application/shared-components/build-options.apx +4 -0
  290. package/dist/resources/templates/blank-app/application/shared-components/component-settings.apx +92 -0
  291. package/dist/resources/templates/blank-app/application/shared-components/lists.apx +81 -0
  292. package/dist/resources/templates/blank-app/application/shared-components/lovs.apx +20 -0
  293. package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-144-rounded.png +0 -0
  294. package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-192.png +0 -0
  295. package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-256-rounded.png +0 -0
  296. package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-32.png +0 -0
  297. package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-512.png +0 -0
  298. package/dist/resources/templates/blank-app/application/shared-components/static-files.apx +25 -0
  299. package/dist/resources/templates/blank-app/application/shared-components/themes/universal-theme/theme.apx +57 -0
  300. package/dist/resources/templates/blank-app/application/supporting-objects/deinstall-script.sql +0 -0
  301. package/dist/resources/templates/blank-app/application/supporting-objects/supporting-objects.apx +9 -0
  302. package/dist/resources/templates/customer-crm/README.md +7 -0
  303. package/dist/resources/templates/customer-crm/README.uk.md +7 -0
  304. package/dist/resources/templates/customer-crm/apex-overlay/pages/p00010-customers.apx +164 -0
  305. package/dist/resources/templates/customer-crm/apex-overlay/pages/p00020-dashboard.apx +54 -0
  306. package/dist/resources/templates/customer-crm/apex-overlay/pages/p00080-customer.apx +332 -0
  307. package/dist/resources/templates/customer-crm/project/src/database/migrations/0001__customers.sql +10 -0
  308. package/dist/resources/templates/customer-crm/project/src/database/packages/0010__customer_api.sql +28 -0
  309. package/dist/resources/templates/customer-crm/project/src/database/packages/0020__customer_validation_trigger.sql +10 -0
  310. package/dist/resources/templates/customer-crm/project/tests/e2e/customer-crud.spec.mjs +25 -0
  311. package/dist/resources/templates/customer-crm/project/tests/sql/test_customers.sql +49 -0
  312. package/dist/resources/templates/database-control/install.sql +17 -0
  313. package/dist/resources/templates/existing-app/README.md +9 -0
  314. package/dist/resources/templates/existing-app/README.uk.md +9 -0
  315. package/dist/resources/testkit/apex.mjs +58 -0
  316. package/dist/resources/third-party/node_modules__@hono__node-server__LICENSE +21 -0
  317. package/dist/resources/third-party/node_modules__@isaacs__fs-minipass__LICENSE +15 -0
  318. package/dist/resources/third-party/node_modules__@modelcontextprotocol__sdk__LICENSE +21 -0
  319. package/dist/resources/third-party/node_modules__@playwright__test__LICENSE +202 -0
  320. package/dist/resources/third-party/node_modules__@playwright__test__NOTICE +5 -0
  321. package/dist/resources/third-party/node_modules__@types__node__LICENSE +21 -0
  322. package/dist/resources/third-party/node_modules__@types__yauzl__LICENSE +21 -0
  323. package/dist/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__LICENSE +55 -0
  324. package/dist/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__NOTICE.txt +436 -0
  325. package/dist/resources/third-party/node_modules__accepts__LICENSE +23 -0
  326. package/dist/resources/third-party/node_modules__ajv-formats__LICENSE +21 -0
  327. package/dist/resources/third-party/node_modules__ajv__LICENSE +22 -0
  328. package/dist/resources/third-party/node_modules__body-parser__LICENSE +23 -0
  329. package/dist/resources/third-party/node_modules__body-parser__node_modules__content-type__LICENSE +22 -0
  330. package/dist/resources/third-party/node_modules__bytes__LICENSE +23 -0
  331. package/dist/resources/third-party/node_modules__call-bind-apply-helpers__LICENSE +21 -0
  332. package/dist/resources/third-party/node_modules__call-bound__LICENSE +21 -0
  333. package/dist/resources/third-party/node_modules__chownr__LICENSE.md +63 -0
  334. package/dist/resources/third-party/node_modules__content-disposition__LICENSE +22 -0
  335. package/dist/resources/third-party/node_modules__content-type__LICENSE +22 -0
  336. package/dist/resources/third-party/node_modules__cookie-signature__LICENSE +22 -0
  337. package/dist/resources/third-party/node_modules__cookie__LICENSE +24 -0
  338. package/dist/resources/third-party/node_modules__cors__LICENSE +22 -0
  339. package/dist/resources/third-party/node_modules__cross-spawn__LICENSE +21 -0
  340. package/dist/resources/third-party/node_modules__debug__LICENSE +20 -0
  341. package/dist/resources/third-party/node_modules__depd__LICENSE +22 -0
  342. package/dist/resources/third-party/node_modules__dunder-proto__LICENSE +21 -0
  343. package/dist/resources/third-party/node_modules__ee-first__LICENSE +22 -0
  344. package/dist/resources/third-party/node_modules__encodeurl__LICENSE +22 -0
  345. package/dist/resources/third-party/node_modules__es-define-property__LICENSE +21 -0
  346. package/dist/resources/third-party/node_modules__es-errors__LICENSE +21 -0
  347. package/dist/resources/third-party/node_modules__es-object-atoms__LICENSE +21 -0
  348. package/dist/resources/third-party/node_modules__esbuild__LICENSE.md +21 -0
  349. package/dist/resources/third-party/node_modules__escape-html__LICENSE +24 -0
  350. package/dist/resources/third-party/node_modules__etag__LICENSE +22 -0
  351. package/dist/resources/third-party/node_modules__eventsource-parser__LICENSE +21 -0
  352. package/dist/resources/third-party/node_modules__eventsource__LICENSE +22 -0
  353. package/dist/resources/third-party/node_modules__express-rate-limit__license +21 -0
  354. package/dist/resources/third-party/node_modules__express__LICENSE +24 -0
  355. package/dist/resources/third-party/node_modules__fast-deep-equal__LICENSE +21 -0
  356. package/dist/resources/third-party/node_modules__fast-uri__LICENSE +30 -0
  357. package/dist/resources/third-party/node_modules__fflate__LICENSE +21 -0
  358. package/dist/resources/third-party/node_modules__finalhandler__LICENSE +22 -0
  359. package/dist/resources/third-party/node_modules__forwarded__LICENSE +22 -0
  360. package/dist/resources/third-party/node_modules__fresh__LICENSE +23 -0
  361. package/dist/resources/third-party/node_modules__function-bind__LICENSE +20 -0
  362. package/dist/resources/third-party/node_modules__get-intrinsic__LICENSE +21 -0
  363. package/dist/resources/third-party/node_modules__get-proto__LICENSE +21 -0
  364. package/dist/resources/third-party/node_modules__gopd__LICENSE +21 -0
  365. package/dist/resources/third-party/node_modules__has-symbols__LICENSE +21 -0
  366. package/dist/resources/third-party/node_modules__hasown__LICENSE +21 -0
  367. package/dist/resources/third-party/node_modules__hono__LICENSE +21 -0
  368. package/dist/resources/third-party/node_modules__http-errors__LICENSE +23 -0
  369. package/dist/resources/third-party/node_modules__iconv-lite__LICENSE +21 -0
  370. package/dist/resources/third-party/node_modules__inherits__LICENSE +16 -0
  371. package/dist/resources/third-party/node_modules__ip-address__LICENSE +19 -0
  372. package/dist/resources/third-party/node_modules__ipaddr.js__LICENSE +19 -0
  373. package/dist/resources/third-party/node_modules__is-promise__LICENSE +19 -0
  374. package/dist/resources/third-party/node_modules__isexe__LICENSE +15 -0
  375. package/dist/resources/third-party/node_modules__jose__LICENSE.md +21 -0
  376. package/dist/resources/third-party/node_modules__json-schema-traverse__LICENSE +21 -0
  377. package/dist/resources/third-party/node_modules__json-schema-typed__LICENSE.md +57 -0
  378. package/dist/resources/third-party/node_modules__marked__LICENSE +44 -0
  379. package/dist/resources/third-party/node_modules__math-intrinsics__LICENSE +21 -0
  380. package/dist/resources/third-party/node_modules__media-typer__LICENSE +22 -0
  381. package/dist/resources/third-party/node_modules__merge-descriptors__license +11 -0
  382. package/dist/resources/third-party/node_modules__mime-db__LICENSE +23 -0
  383. package/dist/resources/third-party/node_modules__mime-types__LICENSE +23 -0
  384. package/dist/resources/third-party/node_modules__minipass__LICENSE.md +55 -0
  385. package/dist/resources/third-party/node_modules__minizlib__LICENSE +26 -0
  386. package/dist/resources/third-party/node_modules__ms__license.md +21 -0
  387. package/dist/resources/third-party/node_modules__negotiator__LICENSE +24 -0
  388. package/dist/resources/third-party/node_modules__negotiator__node_modules__content-type__LICENSE +22 -0
  389. package/dist/resources/third-party/node_modules__object-assign__license +21 -0
  390. package/dist/resources/third-party/node_modules__object-inspect__LICENSE +21 -0
  391. package/dist/resources/third-party/node_modules__on-finished__LICENSE +23 -0
  392. package/dist/resources/third-party/node_modules__once__LICENSE +15 -0
  393. package/dist/resources/third-party/node_modules__parseurl__LICENSE +24 -0
  394. package/dist/resources/third-party/node_modules__path-key__license +9 -0
  395. package/dist/resources/third-party/node_modules__path-to-regexp__LICENSE +21 -0
  396. package/dist/resources/third-party/node_modules__pend__LICENSE +23 -0
  397. package/dist/resources/third-party/node_modules__pkce-challenge__LICENSE +21 -0
  398. package/dist/resources/third-party/node_modules__playwright-core__LICENSE +202 -0
  399. package/dist/resources/third-party/node_modules__playwright-core__NOTICE +5 -0
  400. package/dist/resources/third-party/node_modules__playwright__LICENSE +202 -0
  401. package/dist/resources/third-party/node_modules__playwright__NOTICE +5 -0
  402. package/dist/resources/third-party/node_modules__prettier__LICENSE +7 -0
  403. package/dist/resources/third-party/node_modules__proxy-addr__LICENSE +22 -0
  404. package/dist/resources/third-party/node_modules__qs__LICENSE.md +29 -0
  405. package/dist/resources/third-party/node_modules__range-parser__LICENSE +23 -0
  406. package/dist/resources/third-party/node_modules__raw-body__LICENSE +22 -0
  407. package/dist/resources/third-party/node_modules__require-from-string__license +21 -0
  408. package/dist/resources/third-party/node_modules__router__LICENSE +23 -0
  409. package/dist/resources/third-party/node_modules__safer-buffer__LICENSE +21 -0
  410. package/dist/resources/third-party/node_modules__send__LICENSE +23 -0
  411. package/dist/resources/third-party/node_modules__serve-static__LICENSE +25 -0
  412. package/dist/resources/third-party/node_modules__setprototypeof__LICENSE +13 -0
  413. package/dist/resources/third-party/node_modules__shebang-command__license +9 -0
  414. package/dist/resources/third-party/node_modules__shebang-regex__license +9 -0
  415. package/dist/resources/third-party/node_modules__side-channel-list__LICENSE +21 -0
  416. package/dist/resources/third-party/node_modules__side-channel-map__LICENSE +21 -0
  417. package/dist/resources/third-party/node_modules__side-channel-weakmap__LICENSE +21 -0
  418. package/dist/resources/third-party/node_modules__side-channel__LICENSE +21 -0
  419. package/dist/resources/third-party/node_modules__statuses__LICENSE +23 -0
  420. package/dist/resources/third-party/node_modules__tar__LICENSE.md +55 -0
  421. package/dist/resources/third-party/node_modules__toidentifier__LICENSE +21 -0
  422. package/dist/resources/third-party/node_modules__type-is__LICENSE +23 -0
  423. package/dist/resources/third-party/node_modules__type-is__node_modules__content-type__LICENSE +22 -0
  424. package/dist/resources/third-party/node_modules__typescript__LICENSE +55 -0
  425. package/dist/resources/third-party/node_modules__typescript__NOTICE.txt +436 -0
  426. package/dist/resources/third-party/node_modules__undici-types__LICENSE +21 -0
  427. package/dist/resources/third-party/node_modules__unpipe__LICENSE +22 -0
  428. package/dist/resources/third-party/node_modules__vary__LICENSE +22 -0
  429. package/dist/resources/third-party/node_modules__which__LICENSE +15 -0
  430. package/dist/resources/third-party/node_modules__wrappy__LICENSE +15 -0
  431. package/dist/resources/third-party/node_modules__yallist__LICENSE.md +63 -0
  432. package/dist/resources/third-party/node_modules__yauzl__LICENSE +21 -0
  433. package/dist/resources/third-party/node_modules__zod-to-json-schema__LICENSE +15 -0
  434. package/dist/resources/third-party/node_modules__zod__LICENSE +21 -0
  435. package/dist/resources/toolchains/compatibility.json +50 -0
  436. package/dist/resources/toolchains/sources.lock.json +14 -0
  437. package/dist/resources/toolchains/toolchain.lock.json +204 -0
  438. package/dist/runtime/apexrest.mjs +226 -0
  439. package/dist/runtime/chunk-2SZCZZ3J.mjs +37111 -0
  440. package/dist/runtime/chunk-2VGE5Y5J.mjs +994 -0
  441. package/dist/runtime/chunk-3GSS6SJH.mjs +1424 -0
  442. package/dist/runtime/chunk-5GOWABKB.mjs +409 -0
  443. package/dist/runtime/chunk-ARMO5ZAQ.mjs +25 -0
  444. package/dist/runtime/chunk-ED2YPDPS.mjs +1123 -0
  445. package/dist/runtime/chunk-FPOEB42H.mjs +100 -0
  446. package/dist/runtime/chunk-GFRSRK3K.mjs +16 -0
  447. package/dist/runtime/chunk-ICWYSHJ7.mjs +19 -0
  448. package/dist/runtime/chunk-IPU64TJI.mjs +291 -0
  449. package/dist/runtime/chunk-JWX4UQAZ.mjs +14 -0
  450. package/dist/runtime/chunk-K3KT6RZY.mjs +1064 -0
  451. package/dist/runtime/chunk-QLRGI23I.mjs +1307 -0
  452. package/dist/runtime/chunk-RF4XQO6I.mjs +13 -0
  453. package/dist/runtime/chunk-VPCUV5QA.mjs +237 -0
  454. package/dist/runtime/chunk-WMJTK7ZB.mjs +201 -0
  455. package/dist/runtime/chunk-WROK6RQH.mjs +200 -0
  456. package/dist/runtime/chunk-XDJEGHUX.mjs +1179 -0
  457. package/dist/runtime/chunk-YK34QNHH.mjs +15 -0
  458. package/dist/runtime/chunk-Z6Y72JVG.mjs +37 -0
  459. package/dist/runtime/chunk-ZQFJ2BNZ.mjs +329 -0
  460. package/dist/runtime/mcp.mjs +15 -0
  461. package/package.json +70 -0
@@ -0,0 +1,15 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ startMcp
4
+ } from "./chunk-K3KT6RZY.mjs";
5
+ import "./chunk-XDJEGHUX.mjs";
6
+ import "./chunk-WMJTK7ZB.mjs";
7
+ import "./chunk-5GOWABKB.mjs";
8
+ import "./chunk-VPCUV5QA.mjs";
9
+ import "./chunk-QLRGI23I.mjs";
10
+ import "./chunk-Z6Y72JVG.mjs";
11
+ import "./chunk-2SZCZZ3J.mjs";
12
+ import "./chunk-IPU64TJI.mjs";
13
+ export {
14
+ startMcp
15
+ };
@@ -0,0 +1,37 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+
3
+ // plugins/metadata.json
4
+ var metadata_default = {
5
+ name: "apexrest-apex",
6
+ version: "0.4.0-beta.1",
7
+ description: "Develop, deploy and test Oracle APEX applications with Codex.",
8
+ author: {
9
+ name: "APEXREST",
10
+ url: "https://apex.rest"
11
+ },
12
+ license: "Apache-2.0",
13
+ interface: {
14
+ displayName: "APEXREST for Codex",
15
+ shortDescription: "Oracle APEX development workflows",
16
+ longDescription: "Independent APEXREST tooling for controlled Oracle APEX development, deployment and testing.",
17
+ developerName: "APEXREST",
18
+ websiteURL: "https://apex.rest",
19
+ composerIcon: "./assets/apexrest-icon.svg",
20
+ logo: "./assets/apexrest-logo.svg",
21
+ logoDark: "./assets/apexrest-logo.svg",
22
+ category: "Productivity",
23
+ capabilities: ["Read", "Write"],
24
+ defaultPrompt: [
25
+ "Use $apexrest-work. Use saved settings; in single mode complete my APEX task directly in this Codex chat.",
26
+ "Use $apexrest-panel to open project settings, agent activity, reviews and APEX operations inside Codex.",
27
+ "Use $apexrest-menu to show all functions, setup and connection diagnostics."
28
+ ]
29
+ }
30
+ };
31
+
32
+ // packages/core/src/version.ts
33
+ var VERSION = metadata_default.version;
34
+
35
+ export {
36
+ VERSION
37
+ };
@@ -0,0 +1,329 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ sanitized
4
+ } from "./chunk-IPU64TJI.mjs";
5
+
6
+ // packages/cli/src/tui-view.ts
7
+ import { stripVTControlCharacters } from "node:util";
8
+ var tones = {
9
+ plain: "",
10
+ accent: "1;36",
11
+ muted: "90",
12
+ selected: "1;30;46",
13
+ success: "1;32",
14
+ warning: "1;33",
15
+ error: "1;31"
16
+ };
17
+ function terminalText(text) {
18
+ return stripVTControlCharacters(text).replace(/[\x00-\x1f\x7f-\x9f\u202a-\u202e\u2066-\u2069]/g, "");
19
+ }
20
+ function characterWidth(char) {
21
+ if (new RegExp("\\p{Mark}", "u").test(char)) return 0;
22
+ const code = char.codePointAt(0);
23
+ return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 42191 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65135 || code >= 65280 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 127744 && code <= 129791 || code >= 131072) ? 2 : 1;
24
+ }
25
+ function clip(text, width) {
26
+ let used = 0, result = "";
27
+ for (const char of terminalText(text)) {
28
+ used += characterWidth(char);
29
+ if (used > width) break;
30
+ result += char;
31
+ }
32
+ return result;
33
+ }
34
+ function padCell(text, width) {
35
+ const value = clip(text, width);
36
+ const used = Array.from(value).reduce((sum, char) => sum + characterWidth(char), 0);
37
+ return value + " ".repeat(Math.max(0, width - used));
38
+ }
39
+ function wrap(text, width) {
40
+ const lines = [];
41
+ for (const line of text.split("\n")) {
42
+ let part = "", used = 0;
43
+ for (const char of terminalText(line)) {
44
+ const size = characterWidth(char);
45
+ if (used + size > width) {
46
+ lines.push(part);
47
+ part = "";
48
+ used = 0;
49
+ }
50
+ part += char;
51
+ used += size;
52
+ }
53
+ lines.push(part);
54
+ }
55
+ return lines;
56
+ }
57
+ function paint(text, tone, color) {
58
+ return color && tones[tone] ? `\x1B[${tones[tone]}m${text}\x1B[0m` : text;
59
+ }
60
+ var logo = [
61
+ " ",
62
+ " YY RRR ",
63
+ " YYYY .RRR ",
64
+ " YYYYYCC.RR ",
65
+ " YYYYCCCC. ",
66
+ " YYCCCCC ",
67
+ " CCCCCY ",
68
+ " CCCCCYYY ",
69
+ " CCCCYYYYY ",
70
+ " . CC YYYYY ",
71
+ " ... YYY ",
72
+ " Y "
73
+ ];
74
+ var palette = {
75
+ C: "49;190;249",
76
+ Y: "255;213;65",
77
+ R: "255;65;65",
78
+ ".": "148;163;184"
79
+ };
80
+ function brand(color, compact) {
81
+ if (compact)
82
+ return [paint(" \u2572\u2571 APEXREST", "accent", color), paint(" \u2571\u2572 Tools \xB7 Plugins \xB7 SQLcl", "muted", color)];
83
+ const wordmark = [
84
+ "",
85
+ " \u2584\u2580\u2588 \u2588\u2580\u2588 \u2588\u2580\u2580 \u2580\u2584\u2580 \u2588\u2580\u2588 \u2588\u2580\u2580 \u2588\u2580\u2580 \u2580\u2588\u2580",
86
+ " \u2588\u2580\u2588 \u2588\u2580\u2580 \u2588\u2588\u2584 \u2588 \u2588 \u2588\u2580\u2584 \u2588\u2588\u2584 \u2584\u2588\u2588 \u2588 ",
87
+ "",
88
+ " APEXREST \xB7 Tools. Plugins. Connections.",
89
+ ""
90
+ ];
91
+ return wordmark.map((word, row) => {
92
+ let symbol = " ";
93
+ for (let col = 0; col < 12; col++) {
94
+ const top = logo[row * 2][col], bottom = logo[row * 2 + 1][col];
95
+ const glyph = top === " " ? bottom === " " ? " " : "\u2584" : bottom === " " ? "\u2580" : "\u2588";
96
+ if (!color || glyph === " ") symbol += glyph;
97
+ else if (top !== " " && bottom !== " " && top !== bottom)
98
+ symbol += `\x1B[38;2;${palette[top]};48;2;${palette[bottom]}m\u2580\x1B[0m`;
99
+ else symbol += `\x1B[38;2;${palette[top === " " ? bottom : top]}m${glyph}\x1B[0m`;
100
+ }
101
+ return symbol + " " + paint(word, row < 3 ? "accent" : "muted", color);
102
+ });
103
+ }
104
+ function labelFor(key) {
105
+ const text = key.replace(/([a-z\d])([A-Z])/g, "$1 $2").replace(/[_-]/g, " ");
106
+ return text.charAt(0).toUpperCase() + text.slice(1);
107
+ }
108
+ function valueText(value) {
109
+ return value === true ? "Yes" : value === false ? "No" : value === null ? "None" : String(value);
110
+ }
111
+ function record(value) {
112
+ return value && typeof value === "object" && !Array.isArray(value) ? value : {};
113
+ }
114
+ function reportedStatus(result) {
115
+ if (!result.ok) return result.status;
116
+ const data = record(result.data), inner = record(data.result);
117
+ if (data.ok === false) return "failed";
118
+ if (inner.ok === false) return typeof inner.status === "string" ? inner.status : "failed";
119
+ const state = record(data.state);
120
+ return typeof data.status === "string" ? data.status : typeof data.state === "string" ? data.state : typeof state.state === "string" ? state.state : result.status;
121
+ }
122
+ var statuses = {
123
+ outcome_unknown: ["Outcome unknown", "warning"],
124
+ cancellation_requested: ["Cancellation requested", "warning"],
125
+ cancelled: ["Cancelled", "warning"],
126
+ "needs-user-action": ["Needs your attention", "warning"],
127
+ blocked: ["Blocked", "warning"],
128
+ dependency_missing: ["Missing tools", "warning"],
129
+ not_configured: ["Setup required", "warning"],
130
+ empty: ["No tests ran", "warning"],
131
+ failed: ["Could not complete", "error"],
132
+ running: ["Still running", "accent"],
133
+ queued: ["Job queued", "accent"],
134
+ planned: ["Preview ready", "accent"],
135
+ approved: ["Approved; waiting to run", "accent"],
136
+ backing_up: ["Backing up", "accent"],
137
+ migrating: ["Running migrations", "accent"],
138
+ importing: ["Importing", "accent"],
139
+ verifying: ["Verifying", "accent"],
140
+ testing: ["Running tests", "accent"],
141
+ "toolchain-verified": ["Tools verified", "success"]
142
+ };
143
+ function resultTitle(result) {
144
+ if (result.ok && result.operation === "connection.test") return "Connection successful";
145
+ return statuses[reportedStatus(result)]?.[0] ?? (result.ok ? "Completed" : "Could not complete");
146
+ }
147
+ function resultTone(result) {
148
+ return statuses[reportedStatus(result)]?.[1] ?? (result.ok ? "success" : "error");
149
+ }
150
+ function setupPreview(payload, toolsOnly = false) {
151
+ const native = record(payload.native), registration = record(native.registration), version = record(payload.package).version, toolchain = record(payload.toolchain);
152
+ const pluginActions = {
153
+ install: "Install APEXREST",
154
+ update: "Update managed installation",
155
+ adopt: "Update existing APEXREST installation"
156
+ };
157
+ const lines = toolsOnly ? [] : [
158
+ {
159
+ text: `Plugin: ${pluginActions[String(registration.action)] ?? "Install APEXREST"}`,
160
+ tone: "accent"
161
+ }
162
+ ];
163
+ if (!toolsOnly && version)
164
+ lines.push({
165
+ text: `Version: ${registration.previousVersion ? `${registration.previousVersion} \u2192 ` : ""}${version}`
166
+ });
167
+ if (!toolsOnly && registration.action === "adopt" && registration.previousRoot)
168
+ lines.push({ text: `Current location: ${registration.previousRoot}` });
169
+ if (!toolsOnly && native.codexHome) lines.push({ text: `Codex profile: ${native.codexHome}` });
170
+ if (!toolsOnly) lines.push({ text: "" });
171
+ const terms = /* @__PURE__ */ new Set();
172
+ let needsConsent = false;
173
+ if (toolchain.status === "not-requested") {
174
+ lines.push({ text: "Tools: Not requested (plugin only)", tone: "muted" });
175
+ } else {
176
+ const toolNames = { node: "Node.js", java: "Java", sqlcl: "SQLcl" };
177
+ const actions = {
178
+ "download-install": "Install",
179
+ verify: "Verify installed",
180
+ skip: "Skip"
181
+ };
182
+ for (const value of Array.isArray(toolchain.steps) ? toolchain.steps : []) {
183
+ const step = record(value), artifact = record(step.artifact), action = step.reuse ? "Reuse" : actions[String(step.action)] ?? "Check";
184
+ const consent = !step.reuse && step.action !== "verify" && (step.consent === "required" || step.consent === void 0 && artifact.consentRequired === true);
185
+ needsConsent ||= consent;
186
+ if (consent && typeof artifact.license === "string") terms.add(artifact.license);
187
+ lines.push({
188
+ text: `${toolNames[String(artifact.id)] ?? labelFor(String(artifact.id))}: ${action}${artifact.version ? ` ${artifact.version}` : ""}${consent ? " \xB7 license consent needed" : ""}`,
189
+ tone: consent ? "warning" : "plain"
190
+ });
191
+ }
192
+ const browser = record(toolchain.browser);
193
+ if (browser.action)
194
+ lines.push({
195
+ text: `Chromium: ${browser.action === "skip" ? "Skip" : "Install and verify"}${browser.action !== "skip" && browser.installOsDeps === true ? " (including system packages)" : ""}`
196
+ });
197
+ if (toolchain.home) lines.push({ text: `Tools directory: ${toolchain.home}`, tone: "muted" });
198
+ }
199
+ if (needsConsent) {
200
+ lines.push({ text: "" });
201
+ for (const license of terms) lines.push({ text: `Oracle terms: ${license}` });
202
+ lines.push({
203
+ text: "Review the Oracle terms, then enable Accept Oracle license terms to continue.",
204
+ tone: "warning"
205
+ });
206
+ }
207
+ lines.push(
208
+ { text: "" },
209
+ { text: "Press Enter to return to the form, then review and run the action.", tone: "muted" },
210
+ {
211
+ text: toolchain.status === "not-requested" ? "D shows full package details." : "D shows full package and download details.",
212
+ tone: "muted"
213
+ }
214
+ );
215
+ return lines;
216
+ }
217
+ function resultLines(result) {
218
+ const data = sanitized(result.data), payload = record(data);
219
+ const lines = result.summary === "Operation completed." ? [] : [{ text: result.summary }, { text: "" }];
220
+ if (result.ok && ["sqlcl.configure", "sqlcl.status"].includes(result.operation))
221
+ return [
222
+ { text: `SQLcl mode: ${String(payload.mode).toUpperCase()}`, tone: "accent" },
223
+ {
224
+ text: payload.mode === "mcp" ? `Official SQLcl MCP server \xB7 restrict level ${payload.mcpRestrictLevel}` : "SQLcl command-line process"
225
+ },
226
+ {
227
+ text: payload.databaseTransport === "ords" ? "Database network: ORDS HTTP(S) \xB7 plugin connection settings" : "Database network: Direct Oracle listener"
228
+ },
229
+ { text: "New Oracle operations use this mode. Active operations keep their selected mode." }
230
+ ];
231
+ for (const diagnostic of result.diagnostics) {
232
+ if (diagnostic.message !== result.summary)
233
+ lines.push({ text: diagnostic.message, tone: diagnostic.severity === "error" ? "error" : "plain" });
234
+ }
235
+ const actionLabels = {
236
+ CODEX_RELOAD_REQUIRED: "Reload Codex to load the updated plugin.",
237
+ DATABASE_CONNECTION_REQUIRED: "Save a connection in SQLcl, then open List saved SQLcl connections.",
238
+ ORACLE_LICENSE_CONSENT_REQUIRED: "Review the Oracle terms, then enable Accept Oracle license terms to continue.",
239
+ PLAYWRIGHT_SETUP_REQUIRED: "Open Install tools to install browser tools."
240
+ };
241
+ const actions = [
242
+ ...result.nextActions,
243
+ ...Array.isArray(payload.nextActions) ? payload.nextActions.filter((value) => typeof value === "string") : [],
244
+ ...typeof payload.nextAction === "string" ? [payload.nextAction] : [],
245
+ ...Array.isArray(payload.actions) ? payload.actions.map((value) => {
246
+ const action = record(value);
247
+ return typeof action.message === "string" ? action.message : actionLabels[String(action.code)] ?? labelFor(String(action.code ?? value));
248
+ }) : []
249
+ ];
250
+ if (actions.length) {
251
+ lines.push({ text: "Next steps", tone: "accent" });
252
+ for (const action of new Set(actions)) lines.push({ text: ` \u2022 ${action}` });
253
+ lines.push({ text: "" });
254
+ }
255
+ const detail = (value, indent = 0) => {
256
+ const prefix = " ".repeat(indent);
257
+ if (indent > 5) {
258
+ lines.push({ text: `${prefix}More information in details (D).`, tone: "muted" });
259
+ return;
260
+ }
261
+ if (Array.isArray(value)) {
262
+ if (!value.length) lines.push({ text: `${prefix}No items.`, tone: "muted" });
263
+ value.forEach((item, index) => {
264
+ if (item && typeof item === "object") {
265
+ lines.push({ text: `${prefix}${index + 1}.`, tone: "accent" });
266
+ detail(item, indent + 1);
267
+ } else lines.push({ text: `${prefix}\u2022 ${valueText(item)}` });
268
+ });
269
+ } else if (value && typeof value === "object") {
270
+ for (const [key, item] of Object.entries(value)) {
271
+ if (indent === 0 && ["schemaVersion", "nextAction", "nextActions", "actions"].includes(key)) continue;
272
+ if (Array.isArray(item) && item.length === 0) continue;
273
+ if (item && typeof item === "object") {
274
+ lines.push({
275
+ text: `${prefix}${labelFor(key)}${Array.isArray(item) ? ` (${item.length})` : ""}`,
276
+ tone: "accent"
277
+ });
278
+ detail(item, indent + 1);
279
+ } else lines.push({ text: `${prefix}${labelFor(key)}: ${valueText(item)}` });
280
+ }
281
+ } else if (value !== void 0) lines.push({ text: prefix + valueText(value) });
282
+ };
283
+ if (result.ok && ["setup", "plugin.install", "plugin.update"].includes(result.operation) && payload.status === "planned" && record(payload.native).state === "planned") {
284
+ lines.push(...setupPreview(payload));
285
+ } else if (result.ok && result.operation === "dependencies.install" && payload.status === "planned") {
286
+ lines.push(...setupPreview({ toolchain: payload.plan }, true));
287
+ } else if (result.ok && result.operation === "dependencies.uninstall") {
288
+ const plan = payload.status === "planned" ? record(payload.plan) : payload;
289
+ const steps = Array.isArray(plan.steps) ? plan.steps.map(record) : [];
290
+ if (!steps.length) lines.push({ text: "No managed tools to remove." });
291
+ for (const step of steps) {
292
+ lines.push({
293
+ text: `${labelFor(String(step.component))}: ${step.action === "keep" ? "Keep" : payload.status === "planned" ? "Remove" : "Removed"}`,
294
+ tone: step.action === "keep" ? "muted" : "plain"
295
+ });
296
+ if (step.reason) lines.push({ text: ` ${step.reason}`, tone: "muted" });
297
+ else if (step.directory) lines.push({ text: ` ${step.directory}`, tone: "muted" });
298
+ }
299
+ lines.push(
300
+ { text: "" },
301
+ { text: "Projects, saved connections and download cache are preserved.", tone: "muted" }
302
+ );
303
+ if (payload.status === "planned")
304
+ lines.push({
305
+ text: "Press Enter to return to the form, then review and run the action.",
306
+ tone: "muted"
307
+ });
308
+ } else detail(data);
309
+ if (result.artifacts.length) {
310
+ lines.push({ text: "" }, { text: "Artifacts", tone: "accent" });
311
+ result.artifacts.forEach((id) => lines.push({ text: ` ${id}` }));
312
+ }
313
+ lines.push({ text: "" }, { text: `Run: ${result.runId}`, tone: "muted" });
314
+ return lines;
315
+ }
316
+
317
+ export {
318
+ terminalText,
319
+ clip,
320
+ padCell,
321
+ wrap,
322
+ paint,
323
+ brand,
324
+ labelFor,
325
+ valueText,
326
+ resultTitle,
327
+ resultTone,
328
+ resultLines
329
+ };
@@ -0,0 +1,15 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ startMcp
4
+ } from "./chunk-K3KT6RZY.mjs";
5
+ import "./chunk-XDJEGHUX.mjs";
6
+ import "./chunk-WMJTK7ZB.mjs";
7
+ import "./chunk-5GOWABKB.mjs";
8
+ import "./chunk-VPCUV5QA.mjs";
9
+ import "./chunk-QLRGI23I.mjs";
10
+ import "./chunk-Z6Y72JVG.mjs";
11
+ import "./chunk-2SZCZZ3J.mjs";
12
+ import "./chunk-IPU64TJI.mjs";
13
+
14
+ // packages/mcp/src/main.ts
15
+ await startMcp();
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: apexrest-apexlang
3
+ description: Create or edit Oracle APEXlang (.apx) using pinned Oracle references and compiler validation. Excludes Salesforce Apex.
4
+ ---
5
+
6
+ For a new implementation task, follow [work routing](../apexrest-work/SKILL.md) once. Current-session work and assigned team members continue here without restarting orchestration. Pass the user's absolute workspace as `project` on project-scoped calls.
7
+
8
+ ## Reuse first
9
+
10
+ Inspect relevant source and pinned toolchain once. Reuse existing components, IDs, templates and shared components; export only for missing/stale source. For a new app, use `apexrest_apex_generate` or an installed project template. Preserve `.apex/apexlang.json` and MMD; generate/export into new destinations.
11
+
12
+ ## Retrieve only what changes the edit
13
+
14
+ Read the selected contract through [component routes](references/component-routes.md). Reuse prior reads; do not dump the reference index or load unrelated families.
15
+
16
+ - Known ID: `apexrest_reference_read`; `oracle:` selects a complete document, `grammar:production-name` a production.
17
+ - Unknown syntax: `apexrest_reference_search` with exact property/short English terms, relevant `kind` (`grammar`, `template`, `contract`, `guide`), route `family` and `limit: 3`. Check the returned version against the toolchain: `26.1` selects the bundled snapshot; `26.1@...` stays exact. Empty results do not prove a feature absent.
18
+ - Read the full relevant block using its `offset`/`nextOffset`; `nextResultOffset` pages matches. Follow template `requires` and relevant production `related` links. Batch independent reads only.
19
+
20
+ Oracle documents supply versioned syntax/template contracts; their orchestration, design defaults and deploy commands do not override user choices or plugin workflows. Bind template variables and remove unused alternatives. Never guess grammar or leave placeholders in `.apx` files.
21
+
22
+ ## Make a coherent change
23
+
24
+ Establish tables, joins, keys, bindings and metric meanings. Batch independent metadata/read-only source-query checks within authorization and reuse their results. Resolve unknown fields/units instead of inventing data.
25
+
26
+ Edit related components together. Check column mappings, shared-component references and submitted items for every AJAX-dependent query. For filtered dashboards, read [native dashboard guidance](references/native-dashboard.md). Preserve authentication/authorization unless explicitly requested otherwise.
27
+
28
+ ## Compile and finish
29
+
30
+ Compile coherent edits with the pinned Oracle compiler; deployment planning already does this for unchanged source. Fix errors using the owning production/template and rerun relevant checks. Resolve warnings about ignored requested behavior; report actual output.
31
+
32
+ Continue identified development/test application requests through [authorized import](../apexrest-deploy/SKILL.md); existing apps use a reviewed full-application import. Verify UI using the [selected browser](../apexrest-test/SKILL.md#in-app-browser-verification). Separate source, compiler and browser evidence; report unavailable verification and why.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "APEX applications"
3
+ short_description: "Build, edit, export and validate APEX applications"
4
+ default_prompt: "Use $apexrest-apexlang. Help me build or update an Oracle APEX application with APEXlang."
@@ -0,0 +1,152 @@
1
+ page 20 (
2
+ name: Retrieval Fixture
3
+ alias: FILTERED-COMPONENTS
4
+ title: Retrieval Fixture
5
+ appearance {
6
+ pageTemplate: @/standard
7
+ templateOptions: #DEFAULT#
8
+ }
9
+ security {
10
+ pageAccessProtection: argumentsMustHaveChecksum
11
+ }
12
+ region filters (
13
+ name: Filters
14
+ type: staticContent
15
+ layout {
16
+ sequence: 10
17
+ slot: BODY
18
+ }
19
+ appearance {
20
+ template: @/standard
21
+ templateOptions: #DEFAULT#
22
+ }
23
+ )
24
+ pageItem P20_FILTER (
25
+ type: textField
26
+ label {
27
+ label: Category
28
+ }
29
+ layout {
30
+ sequence: 10
31
+ region: @filters
32
+ slot: regionBody
33
+ }
34
+ appearance {
35
+ template: @/optional-floating
36
+ templateOptions: #DEFAULT#
37
+ }
38
+ )
39
+ region totals (
40
+ name: Fixture Totals
41
+ type: chart
42
+ layout {
43
+ sequence: 20
44
+ slot: BODY
45
+ }
46
+ appearance {
47
+ template: @/standard
48
+ templateOptions: #DEFAULT#
49
+ }
50
+ chart {
51
+ type: bar
52
+ }
53
+ axis x (
54
+ name: x
55
+ )
56
+ axis y (
57
+ name: y
58
+ )
59
+ series totals (
60
+ name: Fixture Values
61
+ execution {
62
+ sequence: 10
63
+ }
64
+ source {
65
+ type: sqlQuery
66
+ pageItemsToSubmit: P20_FILTER
67
+ sqlQuery:
68
+ ```sql
69
+ select 'Fixture A' as LABEL, 10 as VALUE from dual
70
+ where :P20_FILTER is null or :P20_FILTER = 'A'
71
+ ```
72
+ }
73
+ columnMapping {
74
+ label: LABEL
75
+ value: VALUE
76
+ }
77
+ )
78
+ )
79
+ region cards (
80
+ name: Fixture Cards
81
+ type: cards
82
+ source {
83
+ location: localDatabase
84
+ type: sqlQuery
85
+ pageItemsToSubmit: P20_FILTER
86
+ sqlQuery:
87
+ ```sql
88
+ select 1 as ID, 'Fixture A' as TITLE from dual
89
+ where :P20_FILTER is null or :P20_FILTER = 'A'
90
+ ```
91
+ }
92
+ layout {
93
+ sequence: 30
94
+ slot: BODY
95
+ }
96
+ appearance {
97
+ template: @/cards-container
98
+ templateOptions: #DEFAULT#
99
+ }
100
+ card {
101
+ primaryKeyColumn1: ID
102
+ }
103
+ title {
104
+ column: TITLE
105
+ }
106
+ )
107
+ dynamicAction refresh-results (
108
+ name: Refresh Results
109
+ execution {
110
+ sequence: 10
111
+ }
112
+ when {
113
+ event: change
114
+ selectionType: items
115
+ items: P20_FILTER
116
+ }
117
+ action refresh-chart (
118
+ action: refresh
119
+ affectedElements {
120
+ selectionType: region
121
+ region: @totals
122
+ }
123
+ execution {
124
+ sequence: 10
125
+ }
126
+ )
127
+ action refresh-cards (
128
+ action: refresh
129
+ affectedElements {
130
+ selectionType: region
131
+ region: @cards
132
+ }
133
+ execution {
134
+ sequence: 20
135
+ }
136
+ )
137
+ )
138
+ validation filter-required (
139
+ name: Filter Required
140
+ execution {
141
+ sequence: 10
142
+ }
143
+ validation {
144
+ type: itemIsNotNull
145
+ item: P20_FILTER
146
+ }
147
+ error {
148
+ errorMessage: Enter a category.
149
+ associatedItem: @P20_FILTER
150
+ }
151
+ )
152
+ )
@@ -0,0 +1,35 @@
1
+ # APEXlang routes for Codex
2
+
3
+ Read the selected entry with `apexrest_reference_read`, then its `requires` and one scenario template. No search is needed for these entrypoints. The IDs below resolve inside the installed plugin outside the source repository. The bundled Oracle release is 26.1; compiler metadata remains authoritative for the actual target.
4
+
5
+ | Requested work | Entry ID | Search family |
6
+ | --- | --- | --- |
7
+ | Complete form page | `oracle:templates/page-examples/form-page/form-page._index` | `page-examples/form-page` |
8
+ | Form region | `oracle:templates/region-components/form/form._index` | `region-components/form` |
9
+ | Interactive report | `oracle:templates/region-components/interactive-report/interactive-report._index` | `region-components/interactive-report` |
10
+ | Editable grid | `oracle:templates/region-components/interactive-grid/interactive-grid._index` | `region-components/interactive-grid` |
11
+ | Classic report | `oracle:templates/region-components/classic-report/classic-report._index` | `region-components/classic-report` |
12
+ | Dashboard page | `oracle:templates/page-examples/dashboard-page/dashboard-page._index` | `page-examples/dashboard-page` |
13
+ | Chart, series, axes | `oracle:templates/region-components/chart/chart._index` | `region-components/chart` |
14
+ | Native cards | `oracle:templates/region-components/cards/cards._index` | `region-components/cards` |
15
+ | KPI metric card | `oracle:templates/template-components/metric-card/metric-card._index` | `template-components/metric-card` |
16
+ | Dynamic actions / AJAX | `oracle:templates/business-logic/dynamic-actions/dynamic-actions._index` | `business-logic/dynamic-actions` |
17
+ | Page processes | `oracle:templates/business-logic/processes/processes._index` | `business-logic/processes` |
18
+ | Validations | `oracle:templates/business-logic/validations/validations._index` | `business-logic/validations` |
19
+ | Buttons | `oracle:templates/buttons/buttons._index` | `buttons` |
20
+ | Select-list item | `oracle:templates/items/select-list/select-list._index` | `items/select-list` |
21
+ | Date-picker item | `oracle:templates/items/date-picker/date-picker._index` | `items/date-picker` |
22
+ | Popup LOV item | `oracle:templates/items/popup-lov/popup-lov._index` | `items/popup-lov` |
23
+ | Shared SQL LOV | `oracle:templates/shared-components/lovs/lovs.dynamic.query` | `shared-components/lovs` |
24
+
25
+ For another item/region family, search its English type with `kind: "contract"`; then use the returned `family` for scenario searches. For a known property, start with its exact spelling and `kind: "grammar"`. Read the owning component production to establish valid nesting, then follow only the required child productions. Grammar presence does not prove that an arbitrary combination compiles.
26
+
27
+ For example, use `query: "pageItemsToSubmit", kind: "grammar", version: "26.1", limit: 3` to locate the source/series property. The result's match window gives its local context; read enough of that production to retain the surrounding block. Chart filters can require submitted items on the series source as well as a region refresh. Browser-check the actual changed filter after loading completes.
28
+
29
+ The legacy IDs `oracle-form-example`, `oracle-report-example` and `oracle-dashboard-example` remain available. They now identify the complete original documents and link to their family contracts. Do not copy an entire example when only one component is requested.
30
+
31
+ ## Compiler-checked composition
32
+
33
+ For a combined filtered chart/cards page, inspect [the small native composition](../assets/p00020-filtered-components.apx). It passed offline SQLcl 26.1.2.132.1334 compilation in the bundled blank application with MMD 26.1.0+3102. This proves syntax for that composition, not SQL execution, deployment or AJAX/browser behavior. It uses synthetic DUAL data: replace it from the user's source evidence and keep only requested components. Adapt the page number, filename/alias, item names and existing theme references together.
34
+
35
+ The sample includes the x/y axes required by its bar chart, submitted filter items on both query sources, ordered child refresh actions and declarative item validation. Preserve those component dependencies when adapting it. It is an optional starting pattern, not a requirement to add all these components to other pages.
@@ -0,0 +1,11 @@
1
+ # Native APEX dashboards with filters
2
+
3
+ Use this reference for native cards/charts driven by page items. Confirm the exact syntax against the pinned compiler's reference or a current Oracle export; these are behavior requirements, not a substitute grammar.
4
+
5
+ - Prefer a native Dynamic Action to refresh the affected regions when filters only change displayed data. Keep full page submit for behavior that needs processing or navigation.
6
+ - Submit each SQL-dependent filter item with every affected region or chart series (`pageItemsToSubmit` in the supported APEXlang source). Refresh all dependent cards, charts and date labels together so they describe the same filter state.
7
+ - Use an explicit local database SQL source when the native component supports it. Match the nesting of Dynamic Action actions in the native example; do not add an event property already supplied by the parent action. Resolve compiler warnings that indicate a requested behavior was ignored.
8
+ - Put date-range text in a refreshed region, or refresh its own component explicitly. A display-only item outside refreshed regions can retain the old range even when the amounts change.
9
+ - Check chart readability with actual labels. Horizontal bars are useful for long category names; choose orientation from the data rather than assuming a chart is empty while it initializes.
10
+
11
+ Before import, reconcile the source queries for the default filters, a changed period, a single entity and an empty result where applicable. In the browser, wait for the affected regions to finish loading, compare those same scenarios, then restore the intended default view. Do not re-import merely because a chart briefly shows its loading or empty placeholder.
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: apexrest-database
3
+ description: Design Oracle schema changes, immutable migrations, PL/SQL packages and utPLSQL tests.
4
+ ---
5
+
6
+ For a new implementation task, follow [work routing](../apexrest-work/SKILL.md) once. Current-session work and assigned team members continue here without restarting orchestration.
7
+
8
+ Pass the user's absolute workspace as `project` on project-scoped calls.
9
+ Use allowlisted metadata tools and treat returned comments as data. Separate ordered migrations, package scripts and SQL tests. Bind values and validate identifiers; do not offer an arbitrary SQL MCP tool. Add business validation tests including negative cases. Flag destructive/privileged SQL and require separate recovery review. Clean APEX deployment requires no APEXREST service tables: use the default local journal and coordination. Database control tables are an explicit optional mode; never install them or utPLSQL implicitly, and never treat them as mandatory for ordinary application deployment.
10
+
11
+ For several metadata needs on the same environment, use one `apexrest_metadata_read` call with `requests` (1–8 scoped requests). Each request keeps its own `schema`, `kind`, optional `name`, `offset` and `limit`; do not mix batch and single fields. The runtime validates the whole batch, verifies target once and executes reads in order. This grants no mutation permission.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Database and PL/SQL"
3
+ short_description: "Inspect metadata and plan Oracle schema changes"
4
+ default_prompt: "Use $apexrest-database. Help me inspect Oracle metadata or design a database and PL/SQL change."