apexrest 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/README.md +90 -134
  2. package/dist/codex-compat/.claude-plugin/marketplace.json +20 -0
  3. package/dist/codex-compat/plugins/apexrest-apex/.claude-plugin/plugin.json +28 -0
  4. package/dist/codex-compat/plugins/apexrest-apex/.codex-plugin/plugin.json +7 -7
  5. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aanalytics%2Fstatus-summary%401.0.0.json +19 -0
  6. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Acrud%2Freport-dialog%401.0.0.json +19 -0
  7. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fdetail%401.0.0.json +19 -0
  8. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Ffiltered-list%401.0.0.json +19 -0
  9. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fhistory%401.0.0.json +19 -0
  10. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fmaster-detail%401.0.0.json +19 -0
  11. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/generator.json +5 -0
  12. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/manifest.json +29 -0
  13. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/analytics/status-summary/1.0.0/block.yaml +59 -0
  14. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/analytics/status-summary/1.0.0/renderer.json +14 -0
  15. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/crud/report-dialog/1.0.0/block.yaml +66 -0
  16. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/crud/report-dialog/1.0.0/renderer.json +14 -0
  17. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/detail/1.0.0/block.yaml +59 -0
  18. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/detail/1.0.0/renderer.json +14 -0
  19. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/filtered-list/1.0.0/block.yaml +59 -0
  20. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/filtered-list/1.0.0/renderer.json +14 -0
  21. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/history/1.0.0/block.yaml +59 -0
  22. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/history/1.0.0/renderer.json +14 -0
  23. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/master-detail/1.0.0/block.yaml +59 -0
  24. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/master-detail/1.0.0/renderer.json +14 -0
  25. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/profiles.json +10 -0
  26. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/revocations.json +1 -0
  27. package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/crm.yaml +172 -0
  28. package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/index.json +12 -0
  29. package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/service-desk.yaml +120 -0
  30. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-allocation.schema.json +33 -0
  31. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-block.schema.json +208 -0
  32. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-blueprint.schema.json +665 -0
  33. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-command.schema.json +106 -0
  34. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-contract.schema.json +174 -0
  35. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-diagnostic.schema.json +26 -0
  36. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-entity.schema.json +142 -0
  37. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-evidence.schema.json +95 -0
  38. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-field.schema.json +54 -0
  39. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-instance.schema.json +117 -0
  40. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-lock.schema.json +54 -0
  41. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-operation.schema.json +55 -0
  42. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-owner.schema.json +105 -0
  43. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-parameters.schema.json +61 -0
  44. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-plan.schema.json +1011 -0
  45. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-renderer.schema.json +69 -0
  46. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-state.schema.json +146 -0
  47. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/deploy-plan.schema.json +754 -169
  48. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/operations.schema.json +525 -256
  49. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/policy.schema.json +21 -0
  50. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/project.schema.json +17 -7
  51. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/sync-state.schema.json +238 -0
  52. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/README.md +0 -2
  53. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/README.md +1 -3
  54. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/existing-app/README.md +0 -2
  55. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__yaml__LICENSE +13 -0
  56. package/dist/codex-compat/plugins/apexrest-apex/runtime/apexrest.mjs +81 -45
  57. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-5PCC7GZM.mjs +4090 -0
  58. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-BVPAS3TD.mjs +18 -0
  59. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-CVMECW6D.mjs +65 -0
  60. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-3MDDJFXN.mjs → chunk-JYN3YHP3.mjs} +4220 -10616
  61. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-KGTE7Q5Y.mjs +23 -0
  62. package/dist/{runtime/chunk-HOKFFGSZ.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-KKRFM7Q7.mjs} +21 -4
  63. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-2VBZESVC.mjs → chunk-MNU54A7W.mjs} +7 -1
  64. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-N4C2SKCN.mjs +6912 -0
  65. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-WK5GP4ES.mjs → chunk-P3CVQAZW.mjs} +822 -102
  66. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-2ZUNLCLK.mjs → chunk-QKYF6N6U.mjs} +210 -112
  67. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-S24BD6PY.mjs → chunk-RBJJNQ5O.mjs} +7 -7
  68. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-TMSMKVRP.mjs +10367 -0
  69. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-2Z3BZF66.mjs → chunk-WPS3CSQJ.mjs} +124 -11
  70. package/dist/codex-compat/plugins/apexrest-apex/runtime/mcp.mjs +5 -10
  71. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/SKILL.md +22 -25
  72. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/agents/openai.yaml +3 -3
  73. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/references/component-routes.md +1 -5
  74. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-pattern-catalog/SKILL.md +4 -4
  75. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-pattern-catalog/agents/openai.yaml +1 -1
  76. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-pattern-catalog/references/capture-and-curation.md +2 -2
  77. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-safety/SKILL.md +18 -0
  78. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-safety/agents/openai.yaml +4 -0
  79. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/SKILL.md +20 -10
  80. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/agents/openai.yaml +3 -3
  81. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/SKILL.md +11 -6
  82. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/agents/openai.yaml +3 -3
  83. package/dist/resources/blocks/evidence/block%3Aanalytics%2Fstatus-summary%401.0.0.json +19 -0
  84. package/dist/resources/blocks/evidence/block%3Acrud%2Freport-dialog%401.0.0.json +19 -0
  85. package/dist/resources/blocks/evidence/block%3Aread%2Fdetail%401.0.0.json +19 -0
  86. package/dist/resources/blocks/evidence/block%3Aread%2Ffiltered-list%401.0.0.json +19 -0
  87. package/dist/resources/blocks/evidence/block%3Aread%2Fhistory%401.0.0.json +19 -0
  88. package/dist/resources/blocks/evidence/block%3Aread%2Fmaster-detail%401.0.0.json +19 -0
  89. package/dist/resources/blocks/generator.json +5 -0
  90. package/dist/resources/blocks/manifest.json +29 -0
  91. package/dist/resources/blocks/packages/analytics/status-summary/1.0.0/block.yaml +59 -0
  92. package/dist/resources/blocks/packages/analytics/status-summary/1.0.0/renderer.json +14 -0
  93. package/dist/resources/blocks/packages/crud/report-dialog/1.0.0/block.yaml +66 -0
  94. package/dist/resources/blocks/packages/crud/report-dialog/1.0.0/renderer.json +14 -0
  95. package/dist/resources/blocks/packages/read/detail/1.0.0/block.yaml +59 -0
  96. package/dist/resources/blocks/packages/read/detail/1.0.0/renderer.json +14 -0
  97. package/dist/resources/blocks/packages/read/filtered-list/1.0.0/block.yaml +59 -0
  98. package/dist/resources/blocks/packages/read/filtered-list/1.0.0/renderer.json +14 -0
  99. package/dist/resources/blocks/packages/read/history/1.0.0/block.yaml +59 -0
  100. package/dist/resources/blocks/packages/read/history/1.0.0/renderer.json +14 -0
  101. package/dist/resources/blocks/packages/read/master-detail/1.0.0/block.yaml +59 -0
  102. package/dist/resources/blocks/packages/read/master-detail/1.0.0/renderer.json +14 -0
  103. package/dist/resources/blocks/profiles.json +10 -0
  104. package/dist/resources/blocks/revocations.json +1 -0
  105. package/dist/resources/blueprints/crm.yaml +172 -0
  106. package/dist/resources/blueprints/index.json +12 -0
  107. package/dist/resources/blueprints/service-desk.yaml +120 -0
  108. package/dist/resources/schemas/composer-allocation.schema.json +33 -0
  109. package/dist/resources/schemas/composer-block.schema.json +208 -0
  110. package/dist/resources/schemas/composer-blueprint.schema.json +665 -0
  111. package/dist/resources/schemas/composer-command.schema.json +106 -0
  112. package/dist/resources/schemas/composer-contract.schema.json +174 -0
  113. package/dist/resources/schemas/composer-diagnostic.schema.json +26 -0
  114. package/dist/resources/schemas/composer-entity.schema.json +142 -0
  115. package/dist/resources/schemas/composer-evidence.schema.json +95 -0
  116. package/dist/resources/schemas/composer-field.schema.json +54 -0
  117. package/dist/resources/schemas/composer-instance.schema.json +117 -0
  118. package/dist/resources/schemas/composer-lock.schema.json +54 -0
  119. package/dist/resources/schemas/composer-operation.schema.json +55 -0
  120. package/dist/resources/schemas/composer-owner.schema.json +105 -0
  121. package/dist/resources/schemas/composer-parameters.schema.json +61 -0
  122. package/dist/resources/schemas/composer-plan.schema.json +1011 -0
  123. package/dist/resources/schemas/composer-renderer.schema.json +69 -0
  124. package/dist/resources/schemas/composer-state.schema.json +146 -0
  125. package/dist/resources/schemas/deploy-plan.schema.json +754 -169
  126. package/dist/resources/schemas/operations.schema.json +525 -256
  127. package/dist/resources/schemas/policy.schema.json +21 -0
  128. package/dist/resources/schemas/project.schema.json +17 -7
  129. package/dist/resources/schemas/sync-state.schema.json +238 -0
  130. package/dist/resources/templates/blank-app/README.md +0 -2
  131. package/dist/resources/templates/customer-crm/README.md +1 -3
  132. package/dist/resources/templates/existing-app/README.md +0 -2
  133. package/dist/resources/third-party/node_modules__yaml__LICENSE +13 -0
  134. package/dist/runtime/apexrest.mjs +81 -45
  135. package/dist/runtime/chunk-5PCC7GZM.mjs +4090 -0
  136. package/dist/runtime/chunk-BVPAS3TD.mjs +18 -0
  137. package/dist/runtime/chunk-CVMECW6D.mjs +65 -0
  138. package/dist/runtime/{chunk-3MDDJFXN.mjs → chunk-JYN3YHP3.mjs} +4220 -10616
  139. package/dist/runtime/chunk-KGTE7Q5Y.mjs +23 -0
  140. package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-HOKFFGSZ.mjs → runtime/chunk-KKRFM7Q7.mjs} +21 -4
  141. package/dist/runtime/{chunk-2VBZESVC.mjs → chunk-MNU54A7W.mjs} +7 -1
  142. package/dist/runtime/chunk-N4C2SKCN.mjs +6912 -0
  143. package/dist/runtime/{chunk-WK5GP4ES.mjs → chunk-P3CVQAZW.mjs} +822 -102
  144. package/dist/runtime/{chunk-2ZUNLCLK.mjs → chunk-QKYF6N6U.mjs} +210 -112
  145. package/dist/runtime/{chunk-S24BD6PY.mjs → chunk-RBJJNQ5O.mjs} +7 -7
  146. package/dist/runtime/chunk-TMSMKVRP.mjs +10367 -0
  147. package/dist/runtime/{chunk-2Z3BZF66.mjs → chunk-WPS3CSQJ.mjs} +124 -11
  148. package/dist/runtime/mcp.mjs +5 -10
  149. package/package.json +14 -7
  150. package/README.uk.md +0 -206
  151. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/index.html +0 -61
  152. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.css +0 -627
  153. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.js +0 -629
  154. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/README.uk.md +0 -5
  155. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/README.uk.md +0 -7
  156. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/database-control/install.sql +0 -17
  157. package/dist/codex-compat/plugins/apexrest-apex/resources/templates/existing-app/README.uk.md +0 -9
  158. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@playwright__test__LICENSE +0 -202
  159. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@playwright__test__NOTICE +0 -5
  160. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@types__node__LICENSE +0 -21
  161. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@types__yauzl__LICENSE +0 -21
  162. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__LICENSE +0 -55
  163. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__NOTICE.txt +0 -436
  164. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__esbuild__LICENSE.md +0 -21
  165. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fflate__LICENSE +0 -21
  166. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__marked__LICENSE +0 -44
  167. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright-core__LICENSE +0 -202
  168. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright-core__NOTICE +0 -5
  169. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright__LICENSE +0 -202
  170. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright__NOTICE +0 -5
  171. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__prettier__LICENSE +0 -7
  172. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__typescript__LICENSE +0 -55
  173. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__typescript__NOTICE.txt +0 -436
  174. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__undici-types__LICENSE +0 -21
  175. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-4MYHJ2IU.mjs +0 -1208
  176. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-7RZW5QV2.mjs +0 -992
  177. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-AQZLLQ3D.mjs +0 -203
  178. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-BD2AVCFU.mjs +0 -367
  179. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-IX6V6ZGW.mjs +0 -18
  180. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-NDZ2RWQU.mjs +0 -13
  181. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-QIVPMPU3.mjs +0 -14
  182. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-SPZVXAM5.mjs +0 -147
  183. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-TLYYCRQA.mjs +0 -329
  184. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-TXVQLYTH.mjs +0 -1271
  185. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-YLXJ6H4J.mjs +0 -14
  186. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-database/SKILL.md +0 -9
  187. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-database/agents/openai.yaml +0 -4
  188. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-debug/SKILL.md +0 -9
  189. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-debug/agents/openai.yaml +0 -4
  190. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/SKILL.md +0 -19
  191. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/agents/openai.yaml +0 -4
  192. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-install-dependencies/SKILL.md +0 -38
  193. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-install-dependencies/agents/openai.yaml +0 -4
  194. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/SKILL.md +0 -28
  195. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/agents/openai.yaml +0 -4
  196. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/references/cli-catalog.md +0 -23
  197. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-panel/SKILL.md +0 -14
  198. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-panel/agents/openai.yaml +0 -4
  199. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/SKILL.md +0 -9
  200. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/agents/openai.yaml +0 -4
  201. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-review/SKILL.md +0 -11
  202. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-review/agents/openai.yaml +0 -4
  203. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-test/SKILL.md +0 -29
  204. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-test/agents/openai.yaml +0 -4
  205. package/dist/resources/panel/index.html +0 -61
  206. package/dist/resources/panel/panel.css +0 -627
  207. package/dist/resources/panel/panel.js +0 -629
  208. package/dist/resources/templates/blank-app/README.uk.md +0 -5
  209. package/dist/resources/templates/customer-crm/README.uk.md +0 -7
  210. package/dist/resources/templates/database-control/install.sql +0 -17
  211. package/dist/resources/templates/existing-app/README.uk.md +0 -9
  212. package/dist/resources/third-party/node_modules__@playwright__test__LICENSE +0 -202
  213. package/dist/resources/third-party/node_modules__@playwright__test__NOTICE +0 -5
  214. package/dist/resources/third-party/node_modules__@types__node__LICENSE +0 -21
  215. package/dist/resources/third-party/node_modules__@types__yauzl__LICENSE +0 -21
  216. package/dist/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__LICENSE +0 -55
  217. package/dist/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__NOTICE.txt +0 -436
  218. package/dist/resources/third-party/node_modules__esbuild__LICENSE.md +0 -21
  219. package/dist/resources/third-party/node_modules__fflate__LICENSE +0 -21
  220. package/dist/resources/third-party/node_modules__marked__LICENSE +0 -44
  221. package/dist/resources/third-party/node_modules__playwright-core__LICENSE +0 -202
  222. package/dist/resources/third-party/node_modules__playwright-core__NOTICE +0 -5
  223. package/dist/resources/third-party/node_modules__playwright__LICENSE +0 -202
  224. package/dist/resources/third-party/node_modules__playwright__NOTICE +0 -5
  225. package/dist/resources/third-party/node_modules__prettier__LICENSE +0 -7
  226. package/dist/resources/third-party/node_modules__typescript__LICENSE +0 -55
  227. package/dist/resources/third-party/node_modules__typescript__NOTICE.txt +0 -436
  228. package/dist/resources/third-party/node_modules__undici-types__LICENSE +0 -21
  229. package/dist/runtime/chunk-4MYHJ2IU.mjs +0 -1208
  230. package/dist/runtime/chunk-7RZW5QV2.mjs +0 -992
  231. package/dist/runtime/chunk-AQZLLQ3D.mjs +0 -203
  232. package/dist/runtime/chunk-BD2AVCFU.mjs +0 -367
  233. package/dist/runtime/chunk-IX6V6ZGW.mjs +0 -18
  234. package/dist/runtime/chunk-NDZ2RWQU.mjs +0 -13
  235. package/dist/runtime/chunk-QIVPMPU3.mjs +0 -14
  236. package/dist/runtime/chunk-SPZVXAM5.mjs +0 -147
  237. package/dist/runtime/chunk-TLYYCRQA.mjs +0 -329
  238. package/dist/runtime/chunk-TXVQLYTH.mjs +0 -1271
  239. package/dist/runtime/chunk-YLXJ6H4J.mjs +0 -14
package/README.md CHANGED
@@ -1,182 +1,137 @@
1
- # APEXREST for Codex
1
+ # APEXREST
2
2
 
3
- English | [Українська](README.uk.md)
3
+ Historical redesign timing, ranking and size-baseline estimates are unverified. Current exact sizes and fresh offline SQLcl timings are recorded in [local redesign evidence](docs/evidence/redesign-phase1-local.json).
4
+
5
+ > The repository is now `apexrest-dev/apexrest` (renamed from `apexrest-codex`; GitHub redirects the old URLs).
4
6
 
5
7
  ![APEXREST pencil and ruler symbol](docs/assets/apexrest-logo.svg)
6
8
 
7
- [![Local quality gates](https://github.com/apexrest-dev/apexrest-codex/actions/workflows/ci.yml/badge.svg)](https://github.com/apexrest-dev/apexrest-codex/actions/workflows/ci.yml)
9
+ [![Local quality gates](https://github.com/apexrest-dev/apexrest/actions/workflows/ci.yml/badge.svg)](https://github.com/apexrest-dev/apexrest/actions/workflows/ci.yml)
8
10
 
9
- **Build and change Oracle APEX applications with Codex, from source to a verified import.**
11
+ **Build and change Oracle APEX applications with Codex or Claude Code, from source to a verified import.**
10
12
 
11
- New to Oracle APEX? It is a platform for building business web applications—forms, dashboards, reports and internal tools—on top of Oracle Database. APEXREST connects that workflow to Codex, OpenAI's coding agent: a request such as “add an order status report” becomes application source changes, checks and a controlled deployment process.
13
+ Oracle APEX is a platform for building business web applications (forms, dashboards, reports and internal tools) on Oracle Database. APEXREST is a plugin for coding agents: a request such as "add an order status report" becomes APEXlang source changes, a real Oracle compiler check, a reviewed deployment plan, an authorized import into a development or test application and a browser check of the result.
12
14
 
13
- APEXREST connects native Codex skills and MCP tools to Oracle SQLcl. Generate APEXlang, adopt an existing app, edit pages and shared components, plan the change, import it into an authorized target, and check the result in the Codex in-app browser.
15
+ The plugin provides five skills and eleven MCP tools backed by one runtime that runs Oracle SQLcl. The same bundle installs into Codex (desktop and CLI) and Claude Code, and the `apexrest` CLI exposes the same operations for scripts and Codex Cloud.
14
16
 
15
17
  [Get started](docs/getting-started.md) · [Documentation](docs/index.md) · [Deployment safety](docs/deployment-safety.md) · [Verification status](docs/implementation-status.md) · [Contributing](CONTRIBUTING.md)
16
18
 
17
- ![APEXREST connects a Codex request to APEXlang source, a verified deployment plan, Oracle APEX and runtime checks.](docs/assets/overview.svg)
18
-
19
- > **Release `1.2.0`.** Work directly in your current Codex session with 18 MCP tools and 13 focused skills. Codex owns the conversation and its execution; APEXREST handles Oracle/APEX operations. Programmatic job waiting, metadata batches, concise project inspection and focused references reduce routine tool exchanges. See [release notes](docs/release-notes.md) for changes and evidence limits. Independent tooling; not an official Oracle or OpenAI product.
20
-
21
- Describe the change in Codex chat or use `$apexrest-work`. Implementation starts in the same context without a plugin startup call. See the [chat workflow](docs/chat-workflow.md) and [Codex integration](docs/codex-integration.md). Choose **Codex in-app browser / External system browser** for APEX verification in Settings.
22
-
23
- **Settings → Database network transport** selects **Direct Oracle listener** or **ORDS HTTP(S)** for new operations across projects. Direct mode offers a picker of your saved SQLcl connections. ORDS uses your existing database username and password with the schema's ORDS URL when the listener, commonly on port 1521, is unavailable. Its connection settings and password stay in private plugin-level local files; enter the password in the local dashboard or through CLI `--password-file`. ORDS uses SQLcl CLI and supports the APEXlang import/export workflow. Switching back preserves both connection mappings. See [SQL through ORDS](docs/ords.md) for setup and verification limits.
24
-
25
- Open `$apexrest-panel` for project and connection settings, actual Oracle/APEX jobs and diagnostics inside Codex. The console view is `apexrest panel tui`. See the [development panel](docs/panel.md).
26
-
27
- The [component catalog](docs/component-catalog.md) provides offline discovery across 109 component families, contextual parameters and 138 compiler-checked APEXlang recipes; one unsupported recipe remains explicitly unresolved. Browse the [component list and examples](https://apex.oracle.com/ut). Search through the existing reference tools or CLI with `--corpus components`; compiler, SQL, import and browser evidence remain separate.
28
-
29
- Release 1.2.0 adds a separate offline [pattern catalog](docs/pattern-catalog.md): 58 reusable UX patterns and 84 recipes, with 69 compiler-checked recipes and 15 explicit gaps. Its review covers 150 source pages and 818 variant decisions. Search with `--corpus patterns`; use the new `$apexrest-pattern-catalog` skill to add reviewed patterns from another APEX application. Compiler readiness does not imply SQL, import or browser verification.
30
-
31
- ## ORDS SQL: a path to Codex Cloud
32
-
33
- APEXREST supports SQL through **Oracle REST Data Services (ORDS)**. ORDS lets the tools communicate with your database over HTTPS, without a direct connection to the Oracle database listener. This enables a Cloud setup using APEXREST's bundled command-line tools inside the Codex Cloud container. Your database stays where it is.
34
-
35
- For example, in SQLcl—Oracle's command-line tool:
19
+ ![APEXREST connects an agent request to APEXlang source, a verified deployment plan, Oracle APEX and runtime checks.](docs/assets/overview.svg)
36
20
 
37
- ```sql
38
- connect -orest app_user@https://example.com/ords/app_user/
39
- ```
40
-
41
- The `-orest` option selects the REST connection. Replace the example account and schema URL with your authorized target; REST-Enabled SQL must be enabled. The account still needs database credentials and the permissions required for the requested work. See [SQL through ORDS](docs/ords.md).
42
-
43
- | | Local mode | Codex Cloud setup |
44
- | ---------------------- | ------------------------------------------------------- | ----------------------------------------------------------------- |
45
- | Where tasks run | On your computer; it must stay on while operations run. | In a hosted container; your home computer can be off. |
46
- | Tools and dependencies | Installed and maintained on your computer. | Prepared through reusable setup and maintenance scripts. |
47
- | Database access | Direct Oracle connection or ORDS HTTP(S). | The documented setup uses an authorized ORDS endpoint over HTTPS. |
48
-
49
- ### Delegate from your phone
50
-
51
- After configuring [Codex's native Slack integration](https://learn.chatgpt.com/docs/third-party/slack), you can send a request with `@Codex` and follow its Cloud task. Slack's [mobile messaging](https://slack.com/help/articles/201457107-Send-and-read-messages) makes this a way to delegate from your phone. Cloud execution frees your laptop for other work and does not depend on a computer running at home.
21
+ > **Release status.** `apexrest@1.3.0` is the stable npm `latest` release with 11 tools, 5 skills, a persistent SQLcl engine and Claude Code support. The older `1.3.0-beta.1` remains available under npm `beta` with its previous 21-tool surface. Local checks passed; connected Oracle, authenticated browser and native-host Codex/Claude Code qualification remain open. See the [publication record](docs/evidence/npm-130-publication.json), [changelog](CHANGELOG.md) and [release notes](docs/release-notes.md). Independent tooling; not an official Oracle, OpenAI or Anthropic product.
52
22
 
53
- The **ChatGPT mobile app's [Remote mode](https://learn.chatgpt.com/docs/remote)** connects to a computer that must remain awake and online. It has a different execution requirement from a Cloud task.
23
+ ## Install
54
24
 
55
- The [Cloud setup guide](docs/codex-cloud.md) covers CLI + ORDS in a configured container. It does not establish native Cloud plugin/MCP discovery or panel support. Local and connected evidence retains its recorded version and scope.
25
+ The repository ships the built plugin under `plugins/apexrest-apex`, so no `npm ci` or TypeScript build is needed. Keep Node 24 LTS on `PATH` (supported range: Node 24–26). Oracle work also needs Java 21 and SQLcl 26.1.2; the plugin can install them for you (below).
56
26
 
57
- ## Install from npm
58
-
59
- Use Node 24 LTS (supported range: Node 24–26). Install [apexrest](https://www.npmjs.com/package/apexrest) from npm. This package version is `1.2.0`; the commands below use `latest`. See [release notes](docs/release-notes.md) for distribution and verification status.
60
-
61
- Install the CLI globally and check its version:
27
+ **Codex** (desktop or CLI with native plugin support):
62
28
 
63
29
  ```sh
64
- npm install -g apexrest
65
- apexrest --version
66
- apexrest
67
- ```
68
-
69
- The last command opens the terminal menu. Choose **Install tools** for missing dependencies, then **Install plugin** to register APEXREST in Codex. npm installs the CLI and bundled resources; plugin registration is a separate menu action.
70
-
71
- For a project-local installation:
72
-
73
- ```sh
74
- npm install apexrest
75
- npx apexrest --version
76
- npx apexrest
30
+ codex plugin marketplace add apexrest-dev/apexrest
31
+ codex plugin add apexrest-apex@apexrest
77
32
  ```
78
33
 
79
- To pin this version, use `npm install -g apexrest@1.2.0`. npm includes the built runtime, so no Git checkout or local build is needed. The repository installation below remains available.
80
-
81
- ## Install with the terminal menu
82
-
83
- With Git and Node 24 LTS available, open the bundled TUI from the repository. **Install plugin** also requires a Codex CLI with native plugin support.
34
+ **Claude Code:**
84
35
 
85
36
  ```sh
86
- git clone https://github.com/apexrest-dev/apexrest-codex.git
87
- cd apexrest-codex
88
- node plugins/apexrest-apex/runtime/apexrest.mjs
37
+ claude plugin marketplace add apexrest-dev/apexrest
38
+ claude plugin install apexrest@apexrest
89
39
  ```
90
40
 
91
- 1. Choose **Install tools** for Node.js, Java, SQLcl and browser tools. Read the Oracle terms and enable **Accept Oracle license terms** if you agree. **Skip browser installation** omits browser tools.
92
- 2. Choose **Install plugin** to register APEXREST in Codex using the existing runtime.
93
- 3. Restart Codex and start a new task. Add the managed `bin` directory to PATH using the [launcher instructions](docs/getting-started.md#use-the-cli) so `apexrest` opens the menu from any folder.
41
+ For a local checkout, pass its path to `marketplace add` instead of `apexrest-dev/apexrest`. Start a new session after installation. Then ask the agent to check your setup:
94
42
 
95
- On **Review**, press Enter to execute the selected action. There are no **Preview only** or **Approve changes** toggles. The bundled package needs no `npm ci` or TypeScript build. The full [installation guide](docs/getting-started.md#install-with-the-terminal-menu) also covers connection checks and removal.
43
+ > Use APEXREST to check my setup. Report the compiler, connection and target checks that still need attention.
96
44
 
97
- ## Install in Codex
45
+ The agent calls `apexrest_status` (`detail: "doctor"`) and, when Java or SQLcl is missing, previews and runs the bundled installer (`apexrest dependencies install --dry-run`, then `--yes`; `--accept-oracle-license` records your separate consent to the Oracle terms shown in the preview). Installation never creates a database or deploys an application.
98
46
 
99
- For direct plugin registration through the Codex CLI, keep Node 24 LTS on `PATH` and run:
47
+ **CLI from npm** (optional; the same runtime without a host plugin):
100
48
 
101
49
  ```sh
102
- codex plugin marketplace add apexrest-dev/apexrest-codex
103
- codex plugin add apexrest-apex@apexrest
50
+ npm install -g apexrest # latest = 1.3.0; apexrest@1.3.0-beta.1 for the old beta
51
+ apexrest --help
104
52
  ```
105
53
 
106
- The repository includes the bundled runtime; no `npm ci` or local build is needed for this installation. Start a new Codex task after registration. The [installation guide](docs/getting-started.md#install-the-plugin) covers verification, Oracle runtime setup, managed installation and removal. Installation does not create a database or deploy an application.
107
-
108
- After installation, start a new Codex task and ask:
109
-
110
- > Use APEXREST to check my setup. Report the compiler, connection and target checks that still need attention.
54
+ The published packages still carry the previous surface; the commands in this README describe the source repository. From a checkout, run `node plugins/apexrest-apex/runtime/apexrest.mjs --help`. The [installation guide](docs/getting-started.md) covers connections, managed installation and removal.
111
55
 
112
- You need a Codex host with native plugin support. Oracle work also needs the reviewed Node, Java and SQLcl runtimes, an existing supported APEX target, and either a saved direct SQLcl connection or plugin-local ORDS connection credentials. The [quickstart](docs/getting-started.md) explains each step; never paste passwords into a prompt.
56
+ ## Work in one session
113
57
 
114
- Send `Use $apexrest-menu` in the Codex message box to show **All functions** in the conversation: setup, projects, APEX, database, deployment, testing, diagnostics and review. This is a skill that displays a conversational menu; the plugin does not add a permanent APEXREST sidebar or top-menu button. See [how to find the menu](docs/getting-started.md#all-functions-in-the-codex-plugin-menu) for picker and plugin-page navigation.
58
+ Describe the change in the conversation or invoke `$apexrest-work`. The skill follows this cycle, with every project-scoped tool taking the absolute project directory as `project`:
115
59
 
116
- To install Java, SQLcl and the other client tools, choose **Install dependencies** in the plugin menu or invoke `$apexrest-install-dependencies`. It offers all dependencies, Oracle tools without a browser, or a preview. See the [dependency command](docs/getting-started.md#install-dependencies-from-the-plugin-menu) for options and license consent.
60
+ 1. **Project.** New app: `apexrest_project` `action:init` with `directory` and `template` (`blank-app` or `customer-crm`) generates real Oracle sources. Existing app: `action:inspect`; `apexrest_apex_sync` `action:status` shows a working copy.
61
+ 2. **References**, at most three lookups per change: `apexrest_reference` `mode:search` with short terms, `kind` and `limit:3`, then `mode:read` the chosen ID.
62
+ 3. **Edit** `.apx` files under the application source directory, keeping `.apex/apexlang.json`, Oracle IDs, authentication and authorization.
63
+ 4. **Validate** with `apexrest_apex_validate` until `diagnostics` is empty; each diagnostic names the file, line, column, type and a hint.
64
+ 5. **Plan** with `apexrest_ship` `mode:plan`, `env` and `userRequest` (your literal instruction); review `risks`, `sources` and `target`.
65
+ 6. **Apply** with `apexrest_ship` `mode:apply` and the same `userRequest` when you asked for the change in that dev/test environment. The runtime records a deploy grant bound to that plan, backs up, imports, verifies, runs required suites and removes the grant. If the call is still running after `waitSeconds`, the agent reads `apexrest_job` with the returned `jobId` instead of rerunning.
66
+ 7. **Verify** visibly changed pages: `apexrest_browser_open` returns the URL, then the agent opens it with the selected browser (`codex` host browser or `external` system browser) and checks rendering, navigation and the changed interaction.
67
+ 8. **Report** files changed, validation result, ship status and `runId`, pages verified in the browser, and anything not verified with its reason.
117
68
 
118
- ## Terminal interface
69
+ An explicit request to create, update or import an identified development/test application is the authorization for step 6; the agent does not ask again. Production targets refuse `mode:apply` and need a signed external approval on a protected runner ([production approval](docs/deployment-safety.md#production-approval)). Blocked, failed or unknown outcomes follow `$apexrest-safety`; missing tools or connections follow `$apexrest-setup`.
119
70
 
120
- **Install plugin** creates the managed launcher; direct registration with `codex plugin add` alone does not put `apexrest` on PATH. Saved connections come directly from the SQLcl store; listing and testing them requires no APEXREST alias.
71
+ ## Tools
121
72
 
122
- Run `apexrest` in an interactive terminal for the APEXREST logo and seven direct actions: install/uninstall tools, install/uninstall the plugin, and list/test saved SQLcl connections. Use arrow keys or type to search. In the connection picker, Enter tests the selected name and Ctrl+R refreshes. Other workflows remain explicit CLI commands. Explicit commands and `--json` retain their scripting behavior; piped input prints help.
73
+ | Tool | Purpose |
74
+ | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
75
+ | `apexrest_project` | `init`, `adopt`, `inspect`, `connection_add`, `connection_list`, `connection_test`; passwords only through `passwordFile` |
76
+ | `apexrest_reference` | Offline Oracle APEXlang references, component recipes and UX patterns: `mode:search` (any-term EN/UK ranking, top hit with its code block) and `mode:read` |
77
+ | `apexrest_metadata_read` | Allowlisted, paginated metadata reads; `requests[]` batches up to 8 scoped queries with one target verification |
78
+ | `apexrest_apex_validate` | Real Oracle compiler on a staging copy, in-process, with structured diagnostics (`file`, `line`, `column`, `type`, `message`, `validValues`, `hint`) |
79
+ | `apexrest_ship` | `mode:plan` validates and plans; `mode:apply` records a plan-bound grant, backs up, imports, verifies and tests in a detached worker (phases `backing_up` → `testing`) |
80
+ | `apexrest_apex_sync` | Single-editor working copy of an existing dev/test app: `init`, `status`, `refresh`, `invalidate` |
81
+ | `apexrest_test_run` | `unit` locally; `sql`, `api`, `e2e` or `all` against a configured non-production environment |
82
+ | `apexrest_browser_open` | Resolve the configured application URL for the `codex` or `external` verification browser; opening is not verification |
83
+ | `apexrest_job` | `status` (waits up to 120 s, reports `phase`) and `cancel` for an existing `jobId` |
84
+ | `apexrest_artifact_read` | Bounded, sanitized text of a registered artifact |
85
+ | `apexrest_status` | `doctor` probes SQLcl, Java and the host without downloads; `project` returns the read-only status snapshot (settings, connections, sync, jobs, deployments, grants) |
123
86
 
124
- **SQLcl mode: CLI / MCP** saves the Oracle execution backend: SQLcl CLI or the official SQLcl MCP server (`sql -mcp`). This separate TUI action does not change plugin registration. See [SQLcl modes](docs/tui.md#sqlcl-mode-cli-or-mcp).
87
+ Validation, planning, references, metadata, sync and local unit tests run inside the MCP server process on a pooled SQLcl engine; only `ship` apply and remote test suites run in a detached worker so a database write survives host termination. The tool catalog is about 12 KB. The CLI keeps granular commands (`project`, `connection`, `apex`, `deploy`, `test`, `jobs`, `compose`, `sqlcl`, `dependencies`) plus `ship`, `status`, `job` and `reference`; run `apexrest --help`.
125
88
 
126
- The home screen also includes an APEXlang table: 99 types in 9 groups from the bundled Oracle reference, including 23 page items. Tab switches between actions and the catalogue; type a name or group to search and use arrows to browse. The catalogue works locally without a database connection.
89
+ ## Skills
127
90
 
128
- The [terminal guide](docs/tui.md) covers keyboard controls and launchers. From a source checkout, `node plugins/apexrest-apex/runtime/apexrest.mjs` opens the same interface. Native Codex plugin registration alone does not put `apexrest` on your shell’s `PATH`.
91
+ | Skill | Use |
92
+ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
93
+ | `$apexrest-work` | Create or change an application end to end: the eight-step cycle above |
94
+ | `$apexrest-apexlang` | Write or edit APEXlang with pinned Oracle references, component and pattern recipes, contract notes and compiler validation |
95
+ | `$apexrest-safety` | Authorization, trust, plan drift, unknown outcomes and test policy when `apexrest_ship`, `apexrest_test_run` or `apexrest_job` is blocked or fails |
96
+ | `$apexrest-setup` | Doctor, dependency installation, SQLcl mode and ORDS transport, connection references and the project status snapshot |
97
+ | `$apexrest-pattern-catalog` | Maintainers only: add reviewed UX patterns to the bundled catalog from an identified application |
129
98
 
130
- ## What you can build
99
+ The skills are host-neutral; the linked local evidence reports their exact `SKILL.md` byte count; reference files load on demand. Bundled offline catalogs: 109 component families with 138 compiler-checked recipes ([component catalog](docs/component-catalog.md)) and 58 UX patterns with 84 recipes, 69 compiler-checked ([pattern catalog](docs/pattern-catalog.md)). Compiler readiness does not imply SQL, import or browser verification.
131
100
 
132
- | Workflow | What APEXREST does |
133
- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
134
- | Create an application | Generate real Oracle APEXlang and start from a blank app or the customer CRM template. |
135
- | Change an existing application | Export into a new directory, preserve Oracle IDs and `.apex` metadata, and edit the source under version control. |
136
- | Build a dashboard | Use real source queries, native APEX components, submitted filter items and runtime checks. |
137
- | Deploy a change | Bind an immutable plan to source, toolchain and target; back up an existing app; import under the required authorization. |
138
- | Test and diagnose | Run configured unit, SQL, API or browser suites; inspect bounded diagnostics and background-job results. |
101
+ ## Oracle access
139
102
 
140
- An explicit request to create, update or import an identified development/test app includes the necessary scoped import. Codex records that existing authorization and completes the workflow. Production uses a separate, externally signed approval on a protected runner.
103
+ SQLcl runs in `cli` mode (subprocess) or `mcp` mode (the official SQLcl stdio server); the database transport is `direct` (Oracle listener) or `ords` (REST-Enabled SQL over HTTPS, no port 1521). ORDS requires `cli` mode and plugin-level credentials kept in private local files, never in chat:
141
104
 
142
- ## Start with a concrete request
143
-
144
- **Create an app**
145
-
146
- > Use APEXREST to create a customer CRM in the configured development environment. Include customer search, a validated edit form and a dashboard. Complete the plan, authorized import and relevant runtime checks.
147
-
148
- **Change an existing app**
149
-
150
- > Use APEXREST to adopt an existing application from the configured test environment into a new project. Add a sales dashboard using real database measures. Preserve the existing pages, shared components and authentication, then import and verify the change.
151
-
152
- **Make the next edit**
153
-
154
- > Update the dashboard filters to refresh the affected native regions. Reuse the existing project and connection, reconcile the measures, import into the same test app and verify the interactions in the in-app browser.
155
-
156
- Replace example IDs and environment names with your actual target. Codex asks for missing non-secret identity information; it does not guess a database or expand the request to unrelated schema writes.
105
+ ```sh
106
+ apexrest connection add dev-read --ords-url https://ords.example.invalid/ords/app_user/ --ords-username app_user --password-file /path/to/local/file
107
+ apexrest sqlcl configure --mode cli --database-transport ords --json
108
+ apexrest connection test dev-read --json
109
+ ```
157
110
 
158
- ## A short path from edit to import
111
+ ORDS also enables the [Codex Cloud setup](docs/codex-cloud.md): the bundled CLI runs inside the Cloud container and talks to your database over HTTPS. See [SQL through ORDS](docs/ords.md).
159
112
 
160
- ![Deployment flow: inspect once, edit coherent changes, validate within planning, review the bound plan, back up and import, then verify. Identity, drift and authorization remain checked before writes.](docs/assets/deployment-flow.svg)
113
+ ## Deployment boundary
161
114
 
162
- The workflow reuses project discovery, batches related edits and avoids a redundant compiler run immediately before planning. Independent read-only preflight checks run concurrently. Every write still requires fresh target checks, source and target drift checks, coordination, and a verified backup for an existing application.
115
+ A plan binds sources, configuration, toolchain and target and expires after 30 minutes. Apply re-checks identity and drift, takes a checksummed SQL backup of an existing application, freezes the sources and records migration history and ownership in a local durable store under `APEXREST_HOME`. A clean supported APEX installation is sufficient: no APEXREST service tables exist or are created. Coordination is local to one managed home; independent machines need external serialization (for example one CI deploy job). An unknown outcome is never retried blindly. Read [deployment safety](docs/deployment-safety.md).
163
116
 
164
- A clean supported APEX installation is sufficient. APEXREST service tables are **not required**: durable local migration history and coordination are the default. Independent machines need external serialization or the explicitly selected database coordination mode. [Understand the deployment boundary](docs/deployment-safety.md).
117
+ ![Deployment flow: inspect once, edit coherent changes, validate, review the bound plan, back up and import, then verify.](docs/assets/deployment-flow.svg)
165
118
 
166
119
  ## What has been verified
167
120
 
168
- | Area | Available evidence | Remaining scope |
169
- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
170
- | Native Codex plugin | Isolated installation, discovery, tool calls and lifecycle on Codex 0.154.0 / macOS arm64 | Other host and platform combinations; evidence must be refreshed for a stable release |
171
- | Oracle APEXlang | Real blank/CRM compilation with local SQLcl, without a database connection | Changed imports, broader component coverage and unsupported-component fixtures |
172
- | ORDS connectivity | [Authorized unchanged export/import/export](docs/evidence/ords-connected.json), SQL backup creation and 21 byte-identical files | Changed imports, SQL restore, interrupted-response recovery and application browser checks |
173
- | Local runtime | Unit, CLI/MCP contract, installer and packaging checks with explicitly labelled fixtures | Connected recovery, fault-injection, SQL/CRUD integration and application browser checks |
121
+ | Area | Available evidence | Remaining scope |
122
+ | ------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
123
+ | Native Codex plugin | Isolated installation, discovery, tool calls and lifecycle on Codex 0.154.0 / macOS arm64 for earlier releases | Re-verification of the redesigned surface in a live host session; other hosts/platforms |
124
+ | Claude Code plugin | `claude plugin validate --strict` on both manifests and a local test install from a scratch marketplace | An end-to-end session that calls the tools; published marketplace install |
125
+ | Persistent engine | Offline reuse covered by local fixtures; current timing qualification is NOT RUN | Connected sessions on an authorized target; SQLcl `mcp` mode against a live database |
126
+ | Oracle APEXlang | Real blank/CRM compilation with local SQLcl, without a database connection | Changed imports, broader component coverage |
127
+ | ORDS connectivity | [Authorized unchanged export/import/export](docs/evidence/ords-connected.json) on an earlier release, 21 byte-identical files | The ORDS path is unchanged by the redesign but was not exercised again |
128
+ | Local runtime | Unit, CLI/MCP contract, installer and packaging checks with explicitly labelled fixtures | Connected recovery, fault injection, SQL/CRUD integration, application browser checks |
174
129
 
175
- Unit tests, mocked failure scenarios, real Oracle operations and native-host checks are recorded separately. See the [acceptance matrix](docs/acceptance.json), [implementation status](docs/implementation-status.md) and [remaining release gates](docs/next-actions.md). A missing or skipped integration suite is not a passing result.
130
+ Unit tests, mocked failure scenarios, real Oracle operations and native-host checks are recorded separately. See the [acceptance matrix](docs/acceptance.json), [implementation status](docs/implementation-status.md) and [next actions](docs/next-actions.md). A missing or skipped integration suite is not a passing result.
176
131
 
177
132
  ## Develop locally
178
133
 
179
- Use Node 24 LTS and the committed npm lockfile:
134
+ Use Node 24 LTS and the committed lockfile:
180
135
 
181
136
  ```sh
182
137
  npm ci --ignore-scripts
@@ -188,19 +143,20 @@ npm run test:contracts
188
143
  npm run test:installers
189
144
  npm run site:build
190
145
  npm run test:packaging
146
+ npm run docs:check
191
147
  ```
192
148
 
193
- After source or resource changes, run `npm run plugin:sync` to refresh the checked-in native bundle. `npm run plugin:check` compares it with a fresh build. `npm run test:repository-plugin` checks its native installation in an isolated Codex profile. Native-host and Oracle checks require their documented prerequisites. `npm run release:dry-run` creates local artifacts and a readiness report; `npm run check-release-readiness` fails while required evidence is missing. Neither command publishes a release. See [contributing](CONTRIBUTING.md) and [testing](docs/testing.md).
149
+ After source, skill or resource changes, run `npm run plugin:sync` to refresh the checked-in bundle (including the Codex and Claude Code manifests and both marketplace files); `npm run plugin:check` compares it with a fresh build. `npm run test:repository-plugin` installs the bundle into an isolated Codex profile. `npm run release:dry-run` builds local artifacts and a readiness report; nothing publishes a release. See [contributing](CONTRIBUTING.md) and [testing](docs/testing.md).
194
150
 
195
151
  ## Documentation and support
196
152
 
197
- - [Getting started](docs/getting-started.md): install, connect, create or adopt, plan and verify.
198
- - [Codex Cloud](docs/codex-cloud.md): container setup, CLI over ORDS, secrets, proxy and maintenance.
199
- - [Configuration](docs/configuration.md): explicit targets, connection references and private policy.
200
- - [SQL through ORDS](docs/ords.md): HTTP(S) transport, database credentials and APEXlang import/export.
153
+ - [Getting started](docs/getting-started.md): install in Codex or Claude Code, connect, create or adopt, ship and verify.
154
+ - [Configuration](docs/configuration.md): environments, connection references, trust policy and deployment coordination.
155
+ - [Testing](docs/testing.md): local checks, suites and the browser verification rule.
156
+ - [Codex Cloud](docs/codex-cloud.md): container setup, CLI over ORDS, secrets and proxies.
201
157
  - [Architecture](docs/architecture.md): one core behind the CLI, MCP and skills.
202
- - [Troubleshooting](docs/troubleshooting.md): setup, compiler, auth and recovery diagnostics.
158
+ - [Troubleshooting](docs/troubleshooting.md): setup, compiler, authorization and recovery diagnostics.
203
159
  - [Security](SECURITY.md): credential boundaries, trusted code and private reports.
204
- - [Publisher setup](docs/publishing.md): protected release workflow and outstanding prerequisites.
160
+ - [Composer](docs/composer.md): experimental, CLI-only block composition, to be replaced by an App Spec compiler.
205
161
 
206
- Report reproducible bugs through [GitHub issues](https://github.com/apexrest-dev/apexrest-codex/issues), with sanitized diagnostics. Follow [SECURITY.md](SECURITY.md) for sensitive reports. Licensed under [Apache-2.0](LICENSE).
162
+ Report reproducible bugs through [GitHub issues](https://github.com/apexrest-dev/apexrest/issues) with sanitized diagnostics; follow [SECURITY.md](SECURITY.md) for sensitive reports. Licensed under [Apache-2.0](LICENSE).
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "apexrest",
3
+ "owner": {
4
+ "name": "APEXREST",
5
+ "url": "https://apex.rest"
6
+ },
7
+ "metadata": {
8
+ "description": "Oracle APEX development, deployment and testing",
9
+ "version": "1.3.0"
10
+ },
11
+ "plugins": [
12
+ {
13
+ "name": "apexrest",
14
+ "source": "./plugins/apexrest-apex",
15
+ "description": "Develop, deploy and test Oracle APEX applications from Codex or Claude Code.",
16
+ "version": "1.3.0",
17
+ "category": "productivity"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "apexrest",
3
+ "version": "1.3.0",
4
+ "description": "Develop, deploy and test Oracle APEX applications from Codex or Claude Code.",
5
+ "author": {
6
+ "name": "APEXREST",
7
+ "url": "https://apex.rest"
8
+ },
9
+ "homepage": "https://apex.rest",
10
+ "repository": "https://github.com/apexrest-dev/apexrest",
11
+ "license": "Apache-2.0",
12
+ "keywords": [
13
+ "oracle",
14
+ "apex",
15
+ "apexlang",
16
+ "sqlcl",
17
+ "ords"
18
+ ],
19
+ "skills": "./skills/",
20
+ "mcpServers": {
21
+ "apexrest": {
22
+ "command": "node",
23
+ "args": [
24
+ "${CLAUDE_PLUGIN_ROOT}/runtime/mcp.mjs"
25
+ ]
26
+ }
27
+ }
28
+ }
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "apexrest-apex",
3
- "version": "1.2.0",
4
- "description": "Develop, deploy and test Oracle APEX applications with Codex.",
3
+ "version": "1.3.0",
4
+ "description": "Develop, deploy and test Oracle APEX applications from Codex or Claude Code.",
5
5
  "author": {
6
6
  "name": "APEXREST",
7
7
  "url": "https://apex.rest"
8
8
  },
9
9
  "license": "Apache-2.0",
10
10
  "interface": {
11
- "displayName": "APEXREST for Codex",
11
+ "displayName": "APEXREST for Codex and Claude Code",
12
12
  "shortDescription": "Oracle APEX development workflows",
13
- "longDescription": "Oracle APEX development, controlled deployment and testing directly in your current Codex session.",
13
+ "longDescription": "Oracle APEX development, controlled deployment and testing directly in your current Codex or Claude Code session.",
14
14
  "developerName": "APEXREST",
15
15
  "websiteURL": "https://apex.rest",
16
16
  "composerIcon": "./assets/apexrest-icon.svg",
@@ -22,9 +22,9 @@
22
22
  "Write"
23
23
  ],
24
24
  "defaultPrompt": [
25
- "Use $apexrest-work to complete my APEX change directly in this Codex session.",
26
- "Use $apexrest-panel to open project settings and Oracle/APEX operations inside Codex.",
27
- "Use $apexrest-menu to show all functions, setup and connection diagnostics."
25
+ "Use $apexrest-work to build or change my Oracle APEX application in this session.",
26
+ "Use $apexrest-setup to check my tools and connection references.",
27
+ "Use $apexrest-safety to explain what blocked my APEX deployment or test."
28
28
  ]
29
29
  },
30
30
  "skills": "./skills/",
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "schemaVersion": 1,
4
+ "kind": "compiler",
5
+ "status": "passed",
6
+ "sourceDigest": "a38b31d68964a3175d17af8598b81c6d2c0d90f4143cc33c4f6c94febc913d3f",
7
+ "generatorDigest": "b6664f483ba51882e81ccb44bccbd2f99d8b94f74ce58f5bb10297209fa7c196",
8
+ "configurationDigest": "4b5d1204a620cea10ca6e8253e7e68dd9677d9be73bacac4271126898ce95400",
9
+ "fixtureDigest": "e81e5fdbbf8203d148e3c70e958cd40b14ccc95de6541b60b000d2d7a195959c",
10
+ "profile": "profile:apex261-ut261-mmd3102",
11
+ "tool": "SQLcl: Release 26.1.2.0 Production Build: 26.1.2.132.1334; MMD 26.1.0+3102",
12
+ "runner": "local",
13
+ "timestamp": "2026-09-29T17:58:15.026524+00:00",
14
+ "artifacts": [
15
+ "docs/evidence/composer-local.json"
16
+ ],
17
+ "reason": "Real offline SQLcl validation of complete crm fixture containing this block. No live SQL, import, DML or browser qualification."
18
+ }
19
+ ]
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "schemaVersion": 1,
4
+ "kind": "compiler",
5
+ "status": "passed",
6
+ "sourceDigest": "3f22afdd45513ac6819f0be2562a3525f5971265cd4de22f183c607d3ced2431",
7
+ "generatorDigest": "b6664f483ba51882e81ccb44bccbd2f99d8b94f74ce58f5bb10297209fa7c196",
8
+ "configurationDigest": "4b5d1204a620cea10ca6e8253e7e68dd9677d9be73bacac4271126898ce95400",
9
+ "fixtureDigest": "e81e5fdbbf8203d148e3c70e958cd40b14ccc95de6541b60b000d2d7a195959c",
10
+ "profile": "profile:apex261-ut261-mmd3102",
11
+ "tool": "SQLcl: Release 26.1.2.0 Production Build: 26.1.2.132.1334; MMD 26.1.0+3102",
12
+ "runner": "local",
13
+ "timestamp": "2026-09-29T17:58:15.028028+00:00",
14
+ "artifacts": [
15
+ "docs/evidence/composer-local.json"
16
+ ],
17
+ "reason": "Real offline SQLcl validation of complete crm fixture containing this block. No live SQL, import, DML or browser qualification."
18
+ }
19
+ ]
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "schemaVersion": 1,
4
+ "kind": "compiler",
5
+ "status": "passed",
6
+ "sourceDigest": "fd38f4d780ae0a9af3b77e9375ebd26f86391092505c55bd5a16090eb662f7e6",
7
+ "generatorDigest": "b6664f483ba51882e81ccb44bccbd2f99d8b94f74ce58f5bb10297209fa7c196",
8
+ "configurationDigest": "4b5d1204a620cea10ca6e8253e7e68dd9677d9be73bacac4271126898ce95400",
9
+ "fixtureDigest": "83171baefa7b1cf5cbab5bd9d63b95dc5ae56223626e30175a27c4136eb19ff9",
10
+ "profile": "profile:apex261-ut261-mmd3102",
11
+ "tool": "SQLcl: Release 26.1.2.0 Production Build: 26.1.2.132.1334; MMD 26.1.0+3102",
12
+ "runner": "local",
13
+ "timestamp": "2026-09-29T17:58:15.027755+00:00",
14
+ "artifacts": [
15
+ "docs/evidence/composer-local.json"
16
+ ],
17
+ "reason": "Real offline SQLcl validation of complete library fixture containing this block. No live SQL, import, DML or browser qualification."
18
+ }
19
+ ]
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "schemaVersion": 1,
4
+ "kind": "compiler",
5
+ "status": "passed",
6
+ "sourceDigest": "fec688afd7be366569f71dac270d619fb813ccb7d99b218450f4e5da80fa21f9",
7
+ "generatorDigest": "b6664f483ba51882e81ccb44bccbd2f99d8b94f74ce58f5bb10297209fa7c196",
8
+ "configurationDigest": "4b5d1204a620cea10ca6e8253e7e68dd9677d9be73bacac4271126898ce95400",
9
+ "fixtureDigest": "83171baefa7b1cf5cbab5bd9d63b95dc5ae56223626e30175a27c4136eb19ff9",
10
+ "profile": "profile:apex261-ut261-mmd3102",
11
+ "tool": "SQLcl: Release 26.1.2.0 Production Build: 26.1.2.132.1334; MMD 26.1.0+3102",
12
+ "runner": "local",
13
+ "timestamp": "2026-09-29T17:58:15.027399+00:00",
14
+ "artifacts": [
15
+ "docs/evidence/composer-local.json"
16
+ ],
17
+ "reason": "Real offline SQLcl validation of complete library fixture containing this block. No live SQL, import, DML or browser qualification."
18
+ }
19
+ ]
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "schemaVersion": 1,
4
+ "kind": "compiler",
5
+ "status": "passed",
6
+ "sourceDigest": "94ea76606df9425b94f4cb2cf5e59cadd17f607eec32bc3445b1ab9cab7b69bc",
7
+ "generatorDigest": "b6664f483ba51882e81ccb44bccbd2f99d8b94f74ce58f5bb10297209fa7c196",
8
+ "configurationDigest": "4b5d1204a620cea10ca6e8253e7e68dd9677d9be73bacac4271126898ce95400",
9
+ "fixtureDigest": "83171baefa7b1cf5cbab5bd9d63b95dc5ae56223626e30175a27c4136eb19ff9",
10
+ "profile": "profile:apex261-ut261-mmd3102",
11
+ "tool": "SQLcl: Release 26.1.2.0 Production Build: 26.1.2.132.1334; MMD 26.1.0+3102",
12
+ "runner": "local",
13
+ "timestamp": "2026-09-29T17:58:15.028409+00:00",
14
+ "artifacts": [
15
+ "docs/evidence/composer-local.json"
16
+ ],
17
+ "reason": "Real offline SQLcl validation of complete library fixture containing this block. No live SQL, import, DML or browser qualification."
18
+ }
19
+ ]
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "schemaVersion": 1,
4
+ "kind": "compiler",
5
+ "status": "passed",
6
+ "sourceDigest": "fd87eceab2d2737bbf49a5f5478dc4618181cb1e67ec74e0e789f1bcb47b01f5",
7
+ "generatorDigest": "b6664f483ba51882e81ccb44bccbd2f99d8b94f74ce58f5bb10297209fa7c196",
8
+ "configurationDigest": "4b5d1204a620cea10ca6e8253e7e68dd9677d9be73bacac4271126898ce95400",
9
+ "fixtureDigest": "83171baefa7b1cf5cbab5bd9d63b95dc5ae56223626e30175a27c4136eb19ff9",
10
+ "profile": "profile:apex261-ut261-mmd3102",
11
+ "tool": "SQLcl: Release 26.1.2.0 Production Build: 26.1.2.132.1334; MMD 26.1.0+3102",
12
+ "runner": "local",
13
+ "timestamp": "2026-09-29T17:58:15.027015+00:00",
14
+ "artifacts": [
15
+ "docs/evidence/composer-local.json"
16
+ ],
17
+ "reason": "Real offline SQLcl validation of complete library fixture containing this block. No live SQL, import, DML or browser qualification."
18
+ }
19
+ ]
@@ -0,0 +1,5 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "generatorVersion": "1",
4
+ "runtimeSourceDigest": "937a716fdd576d50a43adc2231e9587e7b72091364a9544a182cddec0e7845f3"
5
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "packages": [
4
+ {
5
+ "path": "packages/analytics/status-summary/1.0.0",
6
+ "digest": "e1156990b1192e874a73ac820bedec8c2fba8dff9ab8a38e941fae12b71b22c9"
7
+ },
8
+ {
9
+ "path": "packages/crud/report-dialog/1.0.0",
10
+ "digest": "9461f820d3c7bc068fd3c416bbd8f3371b315a99d0a54bec294e5130e6a3c43b"
11
+ },
12
+ {
13
+ "path": "packages/read/detail/1.0.0",
14
+ "digest": "c584cd06b8f4a28bc7ce464c8a7dd2b146006a416c30d076a4dd525c125c5528"
15
+ },
16
+ {
17
+ "path": "packages/read/filtered-list/1.0.0",
18
+ "digest": "4837242f2a419544a037dc90c7f555558689ce9d5bb34d6b145e8dafd795786a"
19
+ },
20
+ {
21
+ "path": "packages/read/history/1.0.0",
22
+ "digest": "a6b8157ff3ce600747245af0c456b35e551b8e08eabb6d2db3a716646986c5f9"
23
+ },
24
+ {
25
+ "path": "packages/read/master-detail/1.0.0",
26
+ "digest": "7b2e6f0fe653440f77c87aaa9b2ac23f4f113b10afba27b70bf8ae8879666929"
27
+ }
28
+ ]
29
+ }