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.
- package/LICENSE +202 -0
- package/NOTICE +18 -0
- package/README.md +201 -0
- package/README.uk.md +201 -0
- package/dist/codex-compat/.agents/plugins/marketplace.json +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/.codex-plugin/plugin.json +32 -0
- package/dist/codex-compat/plugins/apexrest-apex/.mcp.json +11 -0
- package/dist/codex-compat/plugins/apexrest-apex/LICENSE +202 -0
- package/dist/codex-compat/plugins/apexrest-apex/NOTICE +18 -0
- package/dist/codex-compat/plugins/apexrest-apex/assets/apexrest-icon.svg +27 -0
- package/dist/codex-compat/plugins/apexrest-apex/assets/apexrest-logo.svg +27 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/ords/OrdsBridge.java +323 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/LICENCE.txt +118 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/bulbasaur.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/charmander.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/mewtwo.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/pikachu.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/sources.json +36 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/assets/squirtle.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/index.html +68 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.css +805 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.js +951 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/playwright/auth.mjs +17 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/playwright/package-lock.json +57 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/playwright/package.json +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/references/ORACLE-LICENSE.txt +35 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/references/index.json +54432 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/references/oracle-snapshot.json +648 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/references/search.json +1 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/deploy-plan.schema.json +210 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/operations.schema.json +1721 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/policy.schema.json +63 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/project.schema.json +250 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/toolchain-lock.schema.json +118 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/vendor/mcp.schema.json +120 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/vendor/plugin.schema.json +65 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/README.md +5 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/README.uk.md +5 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/.apex/apexlang.json +3 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/application.apx +51 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/deployments/default.json +2 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/page-groups.apx +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/pages/p00000-global-page.apx +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/pages/p00001-home.apx +35 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/pages/p09999-login.apx +254 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/authentications.apx +5 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/authorizations.apx +11 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/breadcrumbs.apx +18 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/build-options.apx +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/component-settings.apx +92 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/lists.apx +81 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/lovs.apx +20 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-144-rounded.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-192.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-256-rounded.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-32.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-512.png +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/static-files.apx +25 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/shared-components/themes/universal-theme/theme.apx +57 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/supporting-objects/deinstall-script.sql +0 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/blank-app/application/supporting-objects/supporting-objects.apx +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/README.md +7 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/README.uk.md +7 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/apex-overlay/pages/p00010-customers.apx +164 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/apex-overlay/pages/p00020-dashboard.apx +54 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/apex-overlay/pages/p00080-customer.apx +332 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/src/database/migrations/0001__customers.sql +10 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/src/database/packages/0010__customer_api.sql +28 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/src/database/packages/0020__customer_validation_trigger.sql +10 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/tests/e2e/customer-crud.spec.mjs +25 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/customer-crm/project/tests/sql/test_customers.sql +49 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/database-control/install.sql +17 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/existing-app/README.md +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/templates/existing-app/README.uk.md +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/testkit/apex.mjs +58 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@hono__node-server__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@isaacs__fs-minipass__LICENSE +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@modelcontextprotocol__sdk__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@playwright__test__LICENSE +202 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@playwright__test__NOTICE +5 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@types__node__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@types__yauzl__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__LICENSE +55 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__NOTICE.txt +436 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__accepts__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ajv-formats__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ajv__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__body-parser__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__body-parser__node_modules__content-type__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__bytes__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__call-bind-apply-helpers__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__call-bound__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__chownr__LICENSE.md +63 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__content-disposition__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__content-type__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cookie-signature__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cookie__LICENSE +24 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cors__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__cross-spawn__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__debug__LICENSE +20 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__depd__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__dunder-proto__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ee-first__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__encodeurl__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__es-define-property__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__es-errors__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__es-object-atoms__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__esbuild__LICENSE.md +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__escape-html__LICENSE +24 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__etag__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__eventsource-parser__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__eventsource__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__express-rate-limit__license +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__express__LICENSE +24 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fast-deep-equal__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fast-uri__LICENSE +30 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fflate__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__finalhandler__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__forwarded__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__fresh__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__function-bind__LICENSE +20 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__get-intrinsic__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__get-proto__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__gopd__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__has-symbols__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__hasown__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__hono__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__http-errors__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__iconv-lite__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__inherits__LICENSE +16 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ip-address__LICENSE +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ipaddr.js__LICENSE +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__is-promise__LICENSE +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__isexe__LICENSE +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__jose__LICENSE.md +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__json-schema-traverse__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__json-schema-typed__LICENSE.md +57 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__marked__LICENSE +44 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__math-intrinsics__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__media-typer__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__merge-descriptors__license +11 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__mime-db__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__mime-types__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__minipass__LICENSE.md +55 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__minizlib__LICENSE +26 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__ms__license.md +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__negotiator__LICENSE +24 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__negotiator__node_modules__content-type__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__object-assign__license +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__object-inspect__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__on-finished__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__once__LICENSE +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__parseurl__LICENSE +24 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__path-key__license +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__path-to-regexp__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__pend__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__pkce-challenge__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright-core__LICENSE +202 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright-core__NOTICE +5 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright__LICENSE +202 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__playwright__NOTICE +5 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__prettier__LICENSE +7 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__proxy-addr__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__qs__LICENSE.md +29 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__range-parser__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__raw-body__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__require-from-string__license +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__router__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__safer-buffer__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__send__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__serve-static__LICENSE +25 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__setprototypeof__LICENSE +13 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__shebang-command__license +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__shebang-regex__license +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel-list__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel-map__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel-weakmap__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__side-channel__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__statuses__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__tar__LICENSE.md +55 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__toidentifier__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__type-is__LICENSE +23 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__type-is__node_modules__content-type__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__typescript__LICENSE +55 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__typescript__NOTICE.txt +436 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__undici-types__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__unpipe__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__vary__LICENSE +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__which__LICENSE +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__wrappy__LICENSE +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__yallist__LICENSE.md +63 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__yauzl__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__zod-to-json-schema__LICENSE +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__zod__LICENSE +21 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/toolchains/compatibility.json +50 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/toolchains/sources.lock.json +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/toolchains/toolchain.lock.json +204 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/apexrest.mjs +226 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-2SZCZZ3J.mjs +37111 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-2VGE5Y5J.mjs +994 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-3GSS6SJH.mjs +1424 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-5GOWABKB.mjs +409 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ARMO5ZAQ.mjs +25 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ED2YPDPS.mjs +1123 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-FPOEB42H.mjs +100 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-GFRSRK3K.mjs +16 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ICWYSHJ7.mjs +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-IPU64TJI.mjs +291 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-JWX4UQAZ.mjs +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-K3KT6RZY.mjs +1064 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-QLRGI23I.mjs +1307 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-RF4XQO6I.mjs +13 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-VPCUV5QA.mjs +237 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-WMJTK7ZB.mjs +201 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-WROK6RQH.mjs +200 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-XDJEGHUX.mjs +1179 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-YK34QNHH.mjs +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-Z6Y72JVG.mjs +37 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-ZQFJ2BNZ.mjs +329 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/mcp.mjs +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/SKILL.md +32 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/assets/p00020-filtered-components.apx +152 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/references/component-routes.md +35 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/references/native-dashboard.md +11 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-database/SKILL.md +11 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-database/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-debug/SKILL.md +11 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-debug/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/SKILL.md +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-install-dependencies/SKILL.md +38 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-install-dependencies/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/SKILL.md +27 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/references/cli-catalog.md +22 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-panel/SKILL.md +20 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-panel/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/SKILL.md +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-review/SKILL.md +9 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-review/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/SKILL.md +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-setup/references/ords.md +3 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-team/SKILL.md +24 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-team/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-test/SKILL.md +27 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-test/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/SKILL.md +17 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/agents/openai.yaml +7 -0
- package/dist/resources/ords/OrdsBridge.java +323 -0
- package/dist/resources/panel/assets/LICENCE.txt +118 -0
- package/dist/resources/panel/assets/bulbasaur.png +0 -0
- package/dist/resources/panel/assets/charmander.png +0 -0
- package/dist/resources/panel/assets/mewtwo.png +0 -0
- package/dist/resources/panel/assets/pikachu.png +0 -0
- package/dist/resources/panel/assets/sources.json +36 -0
- package/dist/resources/panel/assets/squirtle.png +0 -0
- package/dist/resources/panel/index.html +68 -0
- package/dist/resources/panel/panel.css +805 -0
- package/dist/resources/panel/panel.js +951 -0
- package/dist/resources/playwright/auth.mjs +17 -0
- package/dist/resources/playwright/package-lock.json +57 -0
- package/dist/resources/playwright/package.json +9 -0
- package/dist/resources/references/ORACLE-LICENSE.txt +35 -0
- package/dist/resources/references/index.json +54432 -0
- package/dist/resources/references/oracle-snapshot.json +648 -0
- package/dist/resources/references/search.json +1 -0
- package/dist/resources/schemas/deploy-plan.schema.json +210 -0
- package/dist/resources/schemas/operations.schema.json +1721 -0
- package/dist/resources/schemas/policy.schema.json +63 -0
- package/dist/resources/schemas/project.schema.json +250 -0
- package/dist/resources/schemas/toolchain-lock.schema.json +118 -0
- package/dist/resources/schemas/vendor/mcp.schema.json +120 -0
- package/dist/resources/schemas/vendor/plugin.schema.json +65 -0
- package/dist/resources/templates/blank-app/README.md +5 -0
- package/dist/resources/templates/blank-app/README.uk.md +5 -0
- package/dist/resources/templates/blank-app/application/.apex/apexlang.json +3 -0
- package/dist/resources/templates/blank-app/application/application.apx +51 -0
- package/dist/resources/templates/blank-app/application/deployments/default.json +2 -0
- package/dist/resources/templates/blank-app/application/page-groups.apx +4 -0
- package/dist/resources/templates/blank-app/application/pages/p00000-global-page.apx +4 -0
- package/dist/resources/templates/blank-app/application/pages/p00001-home.apx +35 -0
- package/dist/resources/templates/blank-app/application/pages/p09999-login.apx +254 -0
- package/dist/resources/templates/blank-app/application/shared-components/authentications.apx +5 -0
- package/dist/resources/templates/blank-app/application/shared-components/authorizations.apx +11 -0
- package/dist/resources/templates/blank-app/application/shared-components/breadcrumbs.apx +18 -0
- package/dist/resources/templates/blank-app/application/shared-components/build-options.apx +4 -0
- package/dist/resources/templates/blank-app/application/shared-components/component-settings.apx +92 -0
- package/dist/resources/templates/blank-app/application/shared-components/lists.apx +81 -0
- package/dist/resources/templates/blank-app/application/shared-components/lovs.apx +20 -0
- package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-144-rounded.png +0 -0
- package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-192.png +0 -0
- package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-256-rounded.png +0 -0
- package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-32.png +0 -0
- package/dist/resources/templates/blank-app/application/shared-components/static-files/icons/app-icon-512.png +0 -0
- package/dist/resources/templates/blank-app/application/shared-components/static-files.apx +25 -0
- package/dist/resources/templates/blank-app/application/shared-components/themes/universal-theme/theme.apx +57 -0
- package/dist/resources/templates/blank-app/application/supporting-objects/deinstall-script.sql +0 -0
- package/dist/resources/templates/blank-app/application/supporting-objects/supporting-objects.apx +9 -0
- package/dist/resources/templates/customer-crm/README.md +7 -0
- package/dist/resources/templates/customer-crm/README.uk.md +7 -0
- package/dist/resources/templates/customer-crm/apex-overlay/pages/p00010-customers.apx +164 -0
- package/dist/resources/templates/customer-crm/apex-overlay/pages/p00020-dashboard.apx +54 -0
- package/dist/resources/templates/customer-crm/apex-overlay/pages/p00080-customer.apx +332 -0
- package/dist/resources/templates/customer-crm/project/src/database/migrations/0001__customers.sql +10 -0
- package/dist/resources/templates/customer-crm/project/src/database/packages/0010__customer_api.sql +28 -0
- package/dist/resources/templates/customer-crm/project/src/database/packages/0020__customer_validation_trigger.sql +10 -0
- package/dist/resources/templates/customer-crm/project/tests/e2e/customer-crud.spec.mjs +25 -0
- package/dist/resources/templates/customer-crm/project/tests/sql/test_customers.sql +49 -0
- package/dist/resources/templates/database-control/install.sql +17 -0
- package/dist/resources/templates/existing-app/README.md +9 -0
- package/dist/resources/templates/existing-app/README.uk.md +9 -0
- package/dist/resources/testkit/apex.mjs +58 -0
- package/dist/resources/third-party/node_modules__@hono__node-server__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__@isaacs__fs-minipass__LICENSE +15 -0
- package/dist/resources/third-party/node_modules__@modelcontextprotocol__sdk__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__@playwright__test__LICENSE +202 -0
- package/dist/resources/third-party/node_modules__@playwright__test__NOTICE +5 -0
- package/dist/resources/third-party/node_modules__@types__node__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__@types__yauzl__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__LICENSE +55 -0
- package/dist/resources/third-party/node_modules__@typescript__typescript-darwin-arm64__NOTICE.txt +436 -0
- package/dist/resources/third-party/node_modules__accepts__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__ajv-formats__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__ajv__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__body-parser__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__body-parser__node_modules__content-type__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__bytes__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__call-bind-apply-helpers__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__call-bound__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__chownr__LICENSE.md +63 -0
- package/dist/resources/third-party/node_modules__content-disposition__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__content-type__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__cookie-signature__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__cookie__LICENSE +24 -0
- package/dist/resources/third-party/node_modules__cors__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__cross-spawn__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__debug__LICENSE +20 -0
- package/dist/resources/third-party/node_modules__depd__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__dunder-proto__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__ee-first__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__encodeurl__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__es-define-property__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__es-errors__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__es-object-atoms__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__esbuild__LICENSE.md +21 -0
- package/dist/resources/third-party/node_modules__escape-html__LICENSE +24 -0
- package/dist/resources/third-party/node_modules__etag__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__eventsource-parser__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__eventsource__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__express-rate-limit__license +21 -0
- package/dist/resources/third-party/node_modules__express__LICENSE +24 -0
- package/dist/resources/third-party/node_modules__fast-deep-equal__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__fast-uri__LICENSE +30 -0
- package/dist/resources/third-party/node_modules__fflate__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__finalhandler__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__forwarded__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__fresh__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__function-bind__LICENSE +20 -0
- package/dist/resources/third-party/node_modules__get-intrinsic__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__get-proto__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__gopd__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__has-symbols__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__hasown__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__hono__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__http-errors__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__iconv-lite__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__inherits__LICENSE +16 -0
- package/dist/resources/third-party/node_modules__ip-address__LICENSE +19 -0
- package/dist/resources/third-party/node_modules__ipaddr.js__LICENSE +19 -0
- package/dist/resources/third-party/node_modules__is-promise__LICENSE +19 -0
- package/dist/resources/third-party/node_modules__isexe__LICENSE +15 -0
- package/dist/resources/third-party/node_modules__jose__LICENSE.md +21 -0
- package/dist/resources/third-party/node_modules__json-schema-traverse__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__json-schema-typed__LICENSE.md +57 -0
- package/dist/resources/third-party/node_modules__marked__LICENSE +44 -0
- package/dist/resources/third-party/node_modules__math-intrinsics__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__media-typer__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__merge-descriptors__license +11 -0
- package/dist/resources/third-party/node_modules__mime-db__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__mime-types__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__minipass__LICENSE.md +55 -0
- package/dist/resources/third-party/node_modules__minizlib__LICENSE +26 -0
- package/dist/resources/third-party/node_modules__ms__license.md +21 -0
- package/dist/resources/third-party/node_modules__negotiator__LICENSE +24 -0
- package/dist/resources/third-party/node_modules__negotiator__node_modules__content-type__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__object-assign__license +21 -0
- package/dist/resources/third-party/node_modules__object-inspect__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__on-finished__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__once__LICENSE +15 -0
- package/dist/resources/third-party/node_modules__parseurl__LICENSE +24 -0
- package/dist/resources/third-party/node_modules__path-key__license +9 -0
- package/dist/resources/third-party/node_modules__path-to-regexp__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__pend__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__pkce-challenge__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__playwright-core__LICENSE +202 -0
- package/dist/resources/third-party/node_modules__playwright-core__NOTICE +5 -0
- package/dist/resources/third-party/node_modules__playwright__LICENSE +202 -0
- package/dist/resources/third-party/node_modules__playwright__NOTICE +5 -0
- package/dist/resources/third-party/node_modules__prettier__LICENSE +7 -0
- package/dist/resources/third-party/node_modules__proxy-addr__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__qs__LICENSE.md +29 -0
- package/dist/resources/third-party/node_modules__range-parser__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__raw-body__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__require-from-string__license +21 -0
- package/dist/resources/third-party/node_modules__router__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__safer-buffer__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__send__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__serve-static__LICENSE +25 -0
- package/dist/resources/third-party/node_modules__setprototypeof__LICENSE +13 -0
- package/dist/resources/third-party/node_modules__shebang-command__license +9 -0
- package/dist/resources/third-party/node_modules__shebang-regex__license +9 -0
- package/dist/resources/third-party/node_modules__side-channel-list__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__side-channel-map__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__side-channel-weakmap__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__side-channel__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__statuses__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__tar__LICENSE.md +55 -0
- package/dist/resources/third-party/node_modules__toidentifier__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__type-is__LICENSE +23 -0
- package/dist/resources/third-party/node_modules__type-is__node_modules__content-type__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__typescript__LICENSE +55 -0
- package/dist/resources/third-party/node_modules__typescript__NOTICE.txt +436 -0
- package/dist/resources/third-party/node_modules__undici-types__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__unpipe__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__vary__LICENSE +22 -0
- package/dist/resources/third-party/node_modules__which__LICENSE +15 -0
- package/dist/resources/third-party/node_modules__wrappy__LICENSE +15 -0
- package/dist/resources/third-party/node_modules__yallist__LICENSE.md +63 -0
- package/dist/resources/third-party/node_modules__yauzl__LICENSE +21 -0
- package/dist/resources/third-party/node_modules__zod-to-json-schema__LICENSE +15 -0
- package/dist/resources/third-party/node_modules__zod__LICENSE +21 -0
- package/dist/resources/toolchains/compatibility.json +50 -0
- package/dist/resources/toolchains/sources.lock.json +14 -0
- package/dist/resources/toolchains/toolchain.lock.json +204 -0
- package/dist/runtime/apexrest.mjs +226 -0
- package/dist/runtime/chunk-2SZCZZ3J.mjs +37111 -0
- package/dist/runtime/chunk-2VGE5Y5J.mjs +994 -0
- package/dist/runtime/chunk-3GSS6SJH.mjs +1424 -0
- package/dist/runtime/chunk-5GOWABKB.mjs +409 -0
- package/dist/runtime/chunk-ARMO5ZAQ.mjs +25 -0
- package/dist/runtime/chunk-ED2YPDPS.mjs +1123 -0
- package/dist/runtime/chunk-FPOEB42H.mjs +100 -0
- package/dist/runtime/chunk-GFRSRK3K.mjs +16 -0
- package/dist/runtime/chunk-ICWYSHJ7.mjs +19 -0
- package/dist/runtime/chunk-IPU64TJI.mjs +291 -0
- package/dist/runtime/chunk-JWX4UQAZ.mjs +14 -0
- package/dist/runtime/chunk-K3KT6RZY.mjs +1064 -0
- package/dist/runtime/chunk-QLRGI23I.mjs +1307 -0
- package/dist/runtime/chunk-RF4XQO6I.mjs +13 -0
- package/dist/runtime/chunk-VPCUV5QA.mjs +237 -0
- package/dist/runtime/chunk-WMJTK7ZB.mjs +201 -0
- package/dist/runtime/chunk-WROK6RQH.mjs +200 -0
- package/dist/runtime/chunk-XDJEGHUX.mjs +1179 -0
- package/dist/runtime/chunk-YK34QNHH.mjs +15 -0
- package/dist/runtime/chunk-Z6Y72JVG.mjs +37 -0
- package/dist/runtime/chunk-ZQFJ2BNZ.mjs +329 -0
- package/dist/runtime/mcp.mjs +15 -0
- package/package.json +70 -0
package/README.uk.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# APEXREST для Codex
|
|
2
|
+
|
|
3
|
+
[English](README.md) | Українська
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
[](https://github.com/apexrest-dev/apexrest-codex/actions/workflows/ci.yml)
|
|
8
|
+
|
|
9
|
+
**Створюйте й змінюйте застосунки Oracle APEX за допомогою Codex: від вихідного коду до перевіреного імпорту.**
|
|
10
|
+
|
|
11
|
+
Ще не знайомі з Oracle APEX? Це платформа для створення бізнес-вебзастосунків на основі Oracle Database: форм, дашбордів, звітів і внутрішніх інструментів. APEXREST поєднує цей процес із Codex, агентом OpenAI для роботи з кодом: запит на кшталт «додай звіт про статус замовлень» перетворюється на зміни коду застосунку, перевірки й контрольоване розгортання.
|
|
12
|
+
|
|
13
|
+
APEXREST поєднує нативні навички Codex та інструменти MCP з Oracle SQLcl. Генеруйте APEXlang, переносьте наявний застосунок у проєкт, редагуйте сторінки й спільні компоненти, плануйте зміни, імпортуйте їх у дозволену ціль і перевіряйте результат у вбудованому браузері Codex.
|
|
14
|
+
|
|
15
|
+
[Початок роботи](docs/getting-started.uk.md) · [Документація](docs/index.uk.md) · [Безпека розгортання](docs/deployment-safety.uk.md) · [Стан перевірки](docs/implementation-status.uk.md) · [Участь у розробці](CONTRIBUTING.uk.md)
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
> **Бета: `0.4.0-beta.1`.** Single використовує поточну сесію Codex; команда потребує явного увімкнення у Settings. Програмне очікування завдань, пакети метаданих, стислі відомості про проєкт і точковий пошук довідки зменшують повторні обміни між моделлю та інструментами; див. [примітки до випуску](docs/release-notes.uk.md). Наявні докази компіляції шаблонів Oracle, циклу незміненого застосунку через ORDS і нативного встановлення Codex зберігають зафіксовані межі та версії. Готовність стабільного випуску досі заблокована рештою інтеграційних, відновлювальних і платформних перевірок. APEXREST — незалежний інструмент, а не офіційний продукт Oracle чи OpenAI.
|
|
20
|
+
|
|
21
|
+
Опишіть реалізацію в чаті Codex: `$apexrest-work` у single використовує наявну сесію безпосередньо, без іншого агента чи автовідкриття панелі. Моделлю й дозволами керує поточний хост. Явно увімкнені команди зберігають окремі сесії, Auto-маршрутизацію моделей і вбудовану панель; результати повертаються в ту саму розмову. Дивіться [сценарій із чату та моделі Auto](docs/chat-workflow.uk.md). Команда зберігає окремих розробників, обов’язкове рев’ю коду менеджером, незалежний QA та фінальне рев’ю менеджером. Дивіться [API команди та умови схвалення](docs/team.uk.md) й [аудит коду Codex](docs/codex-integration.uk.md).
|
|
22
|
+
|
|
23
|
+
За замовчуванням працює один агент; команда потребує явного увімкнення у Settings. Дивіться [налаштування виконання](docs/work-modes.uk.md).
|
|
24
|
+
|
|
25
|
+
У Settings можна обрати **Single agent / Agent team** та **Codex in-app browser / External system browser** для перевірок APEX. Single працює в поточному чаті; панель доступна за запитом. [Налаштування й межі перевірки](docs/work-modes.uk.md).
|
|
26
|
+
|
|
27
|
+
**Settings → Database network transport** задає **Direct Oracle listener** або **ORDS HTTP(S)** для нових операцій у всіх проєктах. Прямий режим пропонує вибір збережених з’єднань SQLcl. ORDS використовує наявні ім’я користувача й пароль бази даних та ORDS URL схеми, коли listener, зазвичай на порту 1521, недоступний. Налаштування й пароль зберігаються у приватних локальних файлах плагіна; вводьте пароль у локальній панелі або через CLI `--password-file`. ORDS використовує SQLcl CLI та підтримує імпорт/експорт APEXlang. Перемикання назад зберігає обидва налаштування з’єднання. Посібник [SQL через ORDS](docs/ords.uk.md) описує налаштування й межі перевірки.
|
|
28
|
+
|
|
29
|
+
Відкрийте `$apexrest-panel`, щоб бачити налаштування проєкту, роботу агентів-покемонів, обов’язкові рев’ю, QA та операції APEX у Codex. Консольний режим — `apexrest panel tui`. Дивіться [панель розробки](docs/panel.uk.md).
|
|
30
|
+
|
|
31
|
+
Читайте [повний агентний процес зі скріншотами](docs/agent-workflow.uk.md): налаштування завдання, ролі покемонів, обов’язкові рев’ю, QA, цикли виправлень і дозволена доставка APEX.
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
_Справжній знімок вбудованого браузера Codex. Ізольований приклад із кодом перевіряє виконання команди; він не показує імпорт Oracle._
|
|
36
|
+
|
|
37
|
+
## ORDS SQL: шлях до Codex Cloud
|
|
38
|
+
|
|
39
|
+
APEXREST підтримує SQL через **Oracle REST Data Services (ORDS)**. ORDS дає інструментам доступ до бази через HTTPS без прямого з’єднання з Oracle listener. Це дозволяє налаштувати роботу комплектних інструментів командного рядка APEXREST у контейнері Codex Cloud. База даних залишається там, де вона розміщена.
|
|
40
|
+
|
|
41
|
+
Приклад у SQLcl — інструменті командного рядка Oracle:
|
|
42
|
+
|
|
43
|
+
```sql
|
|
44
|
+
connect -orest app_user@https://example.com/ords/app_user/
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Параметр `-orest` обирає REST-з’єднання. Замініть приклади облікового запису й URL схеми на свою дозволену ціль; REST-Enabled SQL має бути ввімкнено. Обліковому запису все одно потрібні дані для входу до бази та права на запитану роботу. Дивіться [SQL через ORDS](docs/ords.uk.md).
|
|
48
|
+
|
|
49
|
+
| | Локальний режим | Налаштування Codex Cloud |
|
|
50
|
+
| --- | --- | --- |
|
|
51
|
+
| Де виконуються задачі | На вашому комп’ютері; він має залишатися ввімкненим, поки працюють агенти. | У хмарному контейнері; домашній комп’ютер може бути вимкнений. |
|
|
52
|
+
| Інструменти й залежності | Встановлюються й підтримуються на вашому комп’ютері. | Готуються скриптами налаштування й обслуговування для повторного використання. |
|
|
53
|
+
| Доступ до бази | Пряме з’єднання Oracle або ORDS HTTP(S). | Описане налаштування використовує дозволену точку доступу ORDS через HTTPS. |
|
|
54
|
+
|
|
55
|
+
### Делегуйте роботу з телефона
|
|
56
|
+
|
|
57
|
+
Після налаштування [нативної інтеграції Codex зі Slack](https://learn.chatgpt.com/docs/third-party/slack) можна надсилати запити з `@Codex` і стежити за їхніми задачами у Cloud. Завдяки [мобільним повідомленням Slack](https://slack.com/help/articles/201457107-Send-and-read-messages) це можна робити з телефона. Хмарне виконання звільняє ноутбук для іншої роботи й не залежить від увімкненого домашнього комп’ютера.
|
|
58
|
+
|
|
59
|
+
**[Режим Remote](https://learn.chatgpt.com/docs/remote) мобільного застосунку ChatGPT** підключається до комп’ютера, який має залишатися активним і в мережі. Його вимоги до виконання відрізняються від задачі у Cloud.
|
|
60
|
+
|
|
61
|
+
### Сценарій команди агентів, який ще потрібно налаштувати й перевірити
|
|
62
|
+
|
|
63
|
+
Після налаштування хмарного середовища, доступу до бази й відповідних тестів передбачено такий процес:
|
|
64
|
+
|
|
65
|
+
1. Агент-розробник готує зміни застосунку APEX.
|
|
66
|
+
2. Рецензент перевіряє код.
|
|
67
|
+
3. Незалежний QA-агент запускає налаштовані тести.
|
|
68
|
+
4. Ви переглядаєте результат перед дозволеним розгортанням.
|
|
69
|
+
|
|
70
|
+
[Посібник налаштування Cloud](docs/codex-cloud.uk.md) описує **CLI + ORDS**. Повний процес роботи команди агентів у Codex Cloud ще потребує наскрізної перевірки; посібник не підтверджує виявлення нативного плагіна/MCP або підтримку панелі у Cloud. Наявні докази локальної команди й Oracle зберігають свої задокументовані межі.
|
|
71
|
+
|
|
72
|
+

|
|
73
|
+
|
|
74
|
+
_Ілюстративний огляд англійською; налаштування й межі перевірки пояснено українською вище._
|
|
75
|
+
|
|
76
|
+
## Встановлення через термінал
|
|
77
|
+
|
|
78
|
+
Маючи Git і Node 24 LTS, відкрийте готовий TUI з репозиторію. Для **Install plugin** також потрібен Codex CLI з підтримкою плагінів.
|
|
79
|
+
|
|
80
|
+
```sh
|
|
81
|
+
git clone https://github.com/apexrest-dev/apexrest-codex.git
|
|
82
|
+
cd apexrest-codex
|
|
83
|
+
node plugins/apexrest-apex/runtime/apexrest.mjs
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
1. Виберіть **Install tools** для встановлення Node.js, Java, SQLcl і браузерних інструментів. Прочитайте умови Oracle й увімкніть **Accept Oracle license terms**, якщо погоджуєтеся. **Skip browser installation** пропускає браузерні інструменти.
|
|
87
|
+
2. Виберіть **Install plugin**, щоб зареєструвати APEXREST у Codex із наявним середовищем виконання.
|
|
88
|
+
3. Перезапустіть Codex і почніть нову задачу. Додайте керований каталог `bin` до PATH за [інструкцією засобу запуску](docs/getting-started.uk.md#використання-cli), щоб відкривати меню командою `apexrest` з будь-якої папки.
|
|
89
|
+
|
|
90
|
+
На екрані **Review** натисніть Enter, щоб виконати вибрану дію. Перемикачів **Preview only** і **Approve changes** немає. Готовий пакет не потребує `npm ci` або збирання TypeScript. Повна [інструкція встановлення](docs/getting-started.uk.md#встановлення-через-термінал) також описує перевірку з’єднань і видалення.
|
|
91
|
+
|
|
92
|
+
## Встановлення в Codex
|
|
93
|
+
|
|
94
|
+
Для прямої реєстрації плагіна через Codex CLI використовуйте Node 24 LTS у `PATH` і виконайте:
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
codex plugin marketplace add apexrest-dev/apexrest-codex
|
|
98
|
+
codex plugin add apexrest-apex@apexrest
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Репозиторій містить зібране середовище виконання; для цього встановлення не потрібні `npm ci` або локальне збирання. Після реєстрації почніть нову задачу Codex. [Посібник зі встановлення](docs/getting-started.uk.md#встановлення-плагіна) описує перевірку, налаштування Oracle, кероване встановлення та видалення. Встановлення не створює базу даних і не розгортає застосунок.
|
|
102
|
+
|
|
103
|
+
Після встановлення почніть нову задачу Codex і надайте запит:
|
|
104
|
+
|
|
105
|
+
> Скористайся APEXREST, щоб перевірити моє налаштування. Повідом, які перевірки компілятора, з’єднання та цільового середовища ще потребують уваги.
|
|
106
|
+
|
|
107
|
+
Потрібен хост Codex із підтримкою нативних плагінів. Для роботи з Oracle також потрібні перевірені версії Node, Java та SQLcl, наявна підтримувана ціль APEX і збережене пряме з’єднання SQLcl або локальні облікові дані ORDS у плагіні. [Посібник](docs/getting-started.uk.md) пояснює кожен крок; ніколи не вставляйте паролі в запит.
|
|
108
|
+
|
|
109
|
+
Надішліть `Use $apexrest-menu` у полі повідомлення Codex, щоб показати **All functions** у розмові: налаштування, проєкти, APEX, базу даних, розгортання, тестування, діагностику та рев’ю. Це навичка, яка показує меню в розмові; плагін не додає постійну кнопку APEXREST у бічну панель або верхнє меню. Навігацію через вибір навичок і сторінку плагінів описано в [пошуку меню](docs/getting-started.uk.md#усі-функції-в-меню-плагіна-codex).
|
|
110
|
+
|
|
111
|
+
Щоб встановити Java, SQLcl та інші клієнтські інструменти, виберіть **Install dependencies** у меню плагіна або викличте `$apexrest-install-dependencies`. Доступні всі залежності, інструменти Oracle без браузера або попередній перегляд. Параметри та згоду з ліцензією описано в [команді залежностей](docs/getting-started.uk.md#встановлення-залежностей-із-меню-плагіна).
|
|
112
|
+
|
|
113
|
+
## Термінальний інтерфейс
|
|
114
|
+
|
|
115
|
+
**Install plugin** створює керований засіб запуску; пряма реєстрація через `codex plugin add` сама по собі не додає `apexrest` до PATH. Збережені з’єднання беруться безпосередньо зі сховища SQLcl; для їх перегляду й перевірки псевдоніми APEXREST не потрібні.
|
|
116
|
+
|
|
117
|
+
Запустіть `apexrest` в інтерактивному терміналі: логотип APEXREST і сім прямих дій — встановлення/видалення інструментів, встановлення/видалення плагіна, список/перевірка збережених з’єднань SQLcl. Вибирайте стрілками або вводьте текст для пошуку. У списку з’єднань Enter перевіряє вибрану назву, Ctrl+R оновлює список. Інші дії залишаються явними CLI-командами. Явні команди та `--json` зберігають поведінку для скриптів; запуск через канал друкує довідку.
|
|
118
|
+
|
|
119
|
+
Вибір **SQLcl mode: CLI / MCP** зберігає спосіб виконання Oracle-команд: SQLcl CLI або офіційний SQLcl MCP (`sql -mcp`). Це окрема дія TUI; вона не змінює реєстрацію плагіна. Див. [режими SQLcl](docs/tui.uk.md#режим-sqlcl-cli-або-mcp).
|
|
120
|
+
|
|
121
|
+
Головний екран також містить таблицю APEXlang: 99 типів у 9 групах із комплектного довідника Oracle, зокрема 23 елементи сторінки. Tab перемикає дії й каталог; вводьте назву або групу для пошуку, стрілками прокручуйте список. Каталог працює локально без з’єднання з базою.
|
|
122
|
+
|
|
123
|
+
[Посібник термінала](docs/tui.uk.md) описує клавіші та засоби запуску. У копії репозиторію `node plugins/apexrest-apex/runtime/apexrest.mjs` відкриває той самий інтерфейс. Сама реєстрація нативного плагіна Codex не додає `apexrest` до `PATH` оболонки.
|
|
124
|
+
|
|
125
|
+
## Що можна створювати
|
|
126
|
+
|
|
127
|
+
| Сценарій | Що робить APEXREST |
|
|
128
|
+
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
|
129
|
+
| Створення застосунку | Генерує справжній Oracle APEXlang із порожнього застосунку або шаблону CRM клієнтів. |
|
|
130
|
+
| Зміна наявного застосунку | Експортує в новий каталог, зберігає Oracle ID та метадані `.apex`, дає змогу редагувати код під контролем версій. |
|
|
131
|
+
| Створення дашборда | Використовує реальні вихідні запити, нативні компоненти APEX, передані на сервер елементи фільтрів і перевірки виконання. |
|
|
132
|
+
| Розгортання зміни | Прив’язує незмінний план до коду, інструментарію та цілі; резервує наявний застосунок; імпортує за належним дозволом. |
|
|
133
|
+
| Тестування й діагностика | Запускає налаштовані модульні, SQL, API або браузерні набори; надає обмежену діагностику та результати фонових завдань. |
|
|
134
|
+
|
|
135
|
+
Явний запит створити, оновити чи імпортувати визначений застосунок розробки/тестування включає необхідний імпорт у цих межах. Codex фіксує вже наданий дозвіл і завершує процес. Для production потрібне окреме зовнішнє підписане схвалення на захищеному runner.
|
|
136
|
+
|
|
137
|
+
## Почніть із конкретного запиту
|
|
138
|
+
|
|
139
|
+
**Створити застосунок**
|
|
140
|
+
|
|
141
|
+
> Скористайся APEXREST, щоб створити CRM клієнтів у налаштованому середовищі розробки. Додай пошук клієнтів, форму редагування з валідацією та дашборд. Заверши планування, дозволений імпорт і відповідні перевірки виконання.
|
|
142
|
+
|
|
143
|
+
**Змінити наявний застосунок**
|
|
144
|
+
|
|
145
|
+
> Скористайся APEXREST, щоб перенести застосунок 100 із налаштованого тестового середовища в новий проєкт. Додай дашборд продажів із реальними показниками бази даних. Збережи наявні сторінки, спільні компоненти й автентифікацію, потім імпортуй і перевір зміну.
|
|
146
|
+
|
|
147
|
+
**Внести наступну зміну**
|
|
148
|
+
|
|
149
|
+
> Онови фільтри дашборда так, щоб вони оновлювали відповідні нативні регіони. Використай наявний проєкт і з’єднання, звір показники, імпортуй у той самий тестовий застосунок і перевір взаємодії у вбудованому браузері.
|
|
150
|
+
|
|
151
|
+
Замініть приклади ID та назв середовищ на справжню ціль. Codex запитує відсутні несекретні ідентифікаційні дані; він не вгадує базу даних і не розширює запит на сторонні записи в схему.
|
|
152
|
+
|
|
153
|
+
## Короткий шлях від редагування до імпорту
|
|
154
|
+
|
|
155
|
+

|
|
156
|
+
|
|
157
|
+
Процес повторно використовує результати огляду проєкту, групує пов’язані зміни та уникає зайвого запуску компілятора безпосередньо перед плануванням. Незалежні попередні перевірки лише для читання виконуються паралельно. Кожен запис усе ще потребує свіжої перевірки цілі, перевірок розбіжностей коду й цілі, координації та перевіреної резервної копії наявного застосунку.
|
|
158
|
+
|
|
159
|
+
Достатньо чистої підтримуваної інсталяції APEX. Службові таблиці APEXREST **не потрібні**: типово використовуються стійка локальна історія міграцій і координація. Для незалежних машин потрібне зовнішнє послідовне виконання або явно вибраний режим координації через базу даних. [Межі розгортання](docs/deployment-safety.uk.md).
|
|
160
|
+
|
|
161
|
+
## Що перевірено
|
|
162
|
+
|
|
163
|
+
| Область | Наявні докази | Що залишається |
|
|
164
|
+
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
165
|
+
| Нативний плагін Codex | Ізольоване встановлення, виявлення, виклики інструментів і життєвий цикл на Codex 0.154.0 / macOS arm64 | Інші поєднання хоста й платформи; оновлення доказів для стабільного випуску |
|
|
166
|
+
| Oracle APEXlang | Реальна компіляція blank/CRM через локальний SQLcl без з’єднання з базою даних | Імпорти зміненого коду, ширше покриття компонентів і фікстури непідтримуваних компонентів |
|
|
167
|
+
| Підключення ORDS | [Дозволений експорт/імпорт/експорт незміненого застосунку](docs/evidence/ords-connected.json), створення SQL-копії та 21 побайтово ідентичний файл | Імпорти змін, SQL-відновлення, відновлення після перерваної відповіді та браузерні перевірки застосунку |
|
|
168
|
+
| Локальне виконання | Модульні, контрактні CLI/MCP, інсталяційні й пакувальні перевірки з явно позначеними фікстурами | Відновлення з підключенням, ін’єкція збоїв, інтеграція SQL/CRUD і браузерні перевірки застосунку |
|
|
169
|
+
|
|
170
|
+
Модульні тести, змодельовані збої, реальні операції Oracle й перевірки нативного хоста записуються окремо. Див. [матрицю приймання](docs/acceptance.json), [стан реалізації](docs/implementation-status.uk.md) і [решту умов випуску](docs/next-actions.uk.md). Відсутній чи пропущений інтеграційний набір не є успішним результатом.
|
|
171
|
+
|
|
172
|
+
## Локальна розробка
|
|
173
|
+
|
|
174
|
+
Використовуйте Node 24 LTS і зафіксований npm lockfile:
|
|
175
|
+
|
|
176
|
+
```sh
|
|
177
|
+
npm ci --ignore-scripts
|
|
178
|
+
npm run build
|
|
179
|
+
npm run lint
|
|
180
|
+
npm run typecheck
|
|
181
|
+
npm run test:unit
|
|
182
|
+
npm run test:contracts
|
|
183
|
+
npm run test:installers
|
|
184
|
+
npm run site:build
|
|
185
|
+
npm run test:packaging
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Після змін коду чи ресурсів виконайте `npm run plugin:sync`, щоб оновити нативний пакет у репозиторії. `npm run plugin:check` порівнює його зі свіжою збіркою. `npm run test:repository-plugin` перевіряє нативне встановлення в ізольованому профілі Codex. Перевірки нативного хоста й Oracle потребують описаних передумов. `npm run release:dry-run` створює локальні артефакти та звіт готовності; `npm run check-release-readiness` завершується помилкою, доки бракує обов’язкових доказів. Жодна з цих команд не публікує випуск. Див. [участь у розробці](CONTRIBUTING.uk.md) і [тестування](docs/testing.uk.md).
|
|
189
|
+
|
|
190
|
+
## Документація та підтримка
|
|
191
|
+
|
|
192
|
+
- [Початок роботи](docs/getting-started.uk.md): встановлення, підключення, створення чи перенесення, планування й перевірка.
|
|
193
|
+
- [Codex Cloud](docs/codex-cloud.uk.md): налаштування контейнера, CLI через ORDS, секрети, proxy та maintenance.
|
|
194
|
+
- [Конфігурація](docs/configuration.uk.md): явні цілі, посилання на з’єднання та приватна політика.
|
|
195
|
+
- [SQL через ORDS](docs/ords.uk.md): HTTP(S)-транспорт, облікові дані бази та імпорт/експорт APEXlang.
|
|
196
|
+
- [Архітектура](docs/architecture.uk.md): єдине ядро для CLI, MCP і навичок.
|
|
197
|
+
- [Усунення несправностей](docs/troubleshooting.uk.md): діагностика налаштування, компілятора, автентифікації та відновлення.
|
|
198
|
+
- [Безпека](SECURITY.uk.md): межі роботи з обліковими даними, довіра до коду та приватні звіти.
|
|
199
|
+
- [Налаштування публікації](docs/publishing.uk.md): захищений процес випуску й відкриті передумови.
|
|
200
|
+
|
|
201
|
+
Повідомляйте про відтворювані помилки через [GitHub issues](https://github.com/apexrest-dev/apexrest-codex/issues), додавши очищену діагностику. Для чутливих повідомлень дотримуйтеся [SECURITY.uk.md](SECURITY.uk.md). Ліцензія — [Apache-2.0](LICENSE).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "apexrest",
|
|
3
|
+
"interface": {
|
|
4
|
+
"displayName": "APEXREST"
|
|
5
|
+
},
|
|
6
|
+
"plugins": [
|
|
7
|
+
{
|
|
8
|
+
"name": "apexrest-apex",
|
|
9
|
+
"source": {
|
|
10
|
+
"source": "local",
|
|
11
|
+
"path": "./plugins/apexrest-apex"
|
|
12
|
+
},
|
|
13
|
+
"policy": {
|
|
14
|
+
"installation": "AVAILABLE",
|
|
15
|
+
"authentication": "ON_USE",
|
|
16
|
+
"products": [
|
|
17
|
+
"codex"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"category": "Productivity"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "apexrest-apex",
|
|
3
|
+
"version": "0.4.0-beta.1",
|
|
4
|
+
"description": "Develop, deploy and test Oracle APEX applications with Codex.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "APEXREST",
|
|
7
|
+
"url": "https://apex.rest"
|
|
8
|
+
},
|
|
9
|
+
"license": "Apache-2.0",
|
|
10
|
+
"interface": {
|
|
11
|
+
"displayName": "APEXREST for Codex",
|
|
12
|
+
"shortDescription": "Oracle APEX development workflows",
|
|
13
|
+
"longDescription": "Independent APEXREST tooling for controlled Oracle APEX development, deployment and testing.",
|
|
14
|
+
"developerName": "APEXREST",
|
|
15
|
+
"websiteURL": "https://apex.rest",
|
|
16
|
+
"composerIcon": "./assets/apexrest-icon.svg",
|
|
17
|
+
"logo": "./assets/apexrest-logo.svg",
|
|
18
|
+
"logoDark": "./assets/apexrest-logo.svg",
|
|
19
|
+
"category": "Productivity",
|
|
20
|
+
"capabilities": [
|
|
21
|
+
"Read",
|
|
22
|
+
"Write"
|
|
23
|
+
],
|
|
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
|
+
"skills": "./skills/",
|
|
31
|
+
"mcpServers": "./.mcp.json"
|
|
32
|
+
}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
|
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
7
|
+
|
|
8
|
+
1. Definitions.
|
|
9
|
+
|
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
12
|
+
|
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
14
|
+
the copyright owner that is granting the License.
|
|
15
|
+
|
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
17
|
+
other entities that control, are controlled by, or are under common
|
|
18
|
+
control with that entity. For the purposes of this definition,
|
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
20
|
+
direction or management of such entity, whether by contract or
|
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
23
|
+
|
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
25
|
+
exercising permissions granted by this License.
|
|
26
|
+
|
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
28
|
+
including but not limited to software source code, documentation
|
|
29
|
+
source, and configuration files.
|
|
30
|
+
|
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
|
32
|
+
transformation or translation of a Source form, including but
|
|
33
|
+
not limited to compiled object code, generated documentation,
|
|
34
|
+
and conversions to other media types.
|
|
35
|
+
|
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
37
|
+
Object form, made available under the License, as indicated by a
|
|
38
|
+
copyright notice that is included in or attached to the work
|
|
39
|
+
(an example is provided in the Appendix below).
|
|
40
|
+
|
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
47
|
+
the Work and Derivative Works thereof.
|
|
48
|
+
|
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
|
50
|
+
the original version of the Work and any modifications or additions
|
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
62
|
+
|
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
65
|
+
subsequently incorporated within the Work.
|
|
66
|
+
|
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
|
73
|
+
|
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
79
|
+
where such license applies only to those patent claims licensable
|
|
80
|
+
by such Contributor that are necessarily infringed by their
|
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
83
|
+
institute patent litigation against any entity (including a
|
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
86
|
+
or contributory patent infringement, then any patent licenses
|
|
87
|
+
granted to You under this License for that Work shall terminate
|
|
88
|
+
as of the date such litigation is filed.
|
|
89
|
+
|
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
92
|
+
modifications, and in Source or Object form, provided that You
|
|
93
|
+
meet the following conditions:
|
|
94
|
+
|
|
95
|
+
(a) You must give any other recipients of the Work or
|
|
96
|
+
Derivative Works a copy of this License; and
|
|
97
|
+
|
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
|
99
|
+
stating that You changed the files; and
|
|
100
|
+
|
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
|
103
|
+
attribution notices from the Source form of the Work,
|
|
104
|
+
excluding those notices that do not pertain to any part of
|
|
105
|
+
the Derivative Works; and
|
|
106
|
+
|
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
|
109
|
+
include a readable copy of the attribution notices contained
|
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
|
112
|
+
of the following places: within a NOTICE text file distributed
|
|
113
|
+
as part of the Derivative Works; within the Source form or
|
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
|
115
|
+
within a display generated by the Derivative Works, if and
|
|
116
|
+
wherever such third-party notices normally appear. The contents
|
|
117
|
+
of the NOTICE file are for informational purposes only and
|
|
118
|
+
do not modify the License. You may add Your own attribution
|
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
121
|
+
that such additional attribution notices cannot be construed
|
|
122
|
+
as modifying the License.
|
|
123
|
+
|
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
|
125
|
+
may provide additional or different license terms and conditions
|
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
129
|
+
the conditions stated in this License.
|
|
130
|
+
|
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
134
|
+
this License, without any additional terms or conditions.
|
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
136
|
+
the terms of any separate license agreement you may have executed
|
|
137
|
+
with Licensor regarding such Contributions.
|
|
138
|
+
|
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
141
|
+
except as required for reasonable and customary use in describing the
|
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
143
|
+
|
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
|
153
|
+
|
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
|
159
|
+
incidental, or consequential damages of any character arising as a
|
|
160
|
+
result of this License or out of the use or inability to use the
|
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
163
|
+
other commercial damages or losses), even if such Contributor
|
|
164
|
+
has been advised of the possibility of such damages.
|
|
165
|
+
|
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
169
|
+
or other liability obligations and/or rights consistent with this
|
|
170
|
+
License. However, in accepting such obligations, You may act only
|
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
175
|
+
of your accepting any such warranty or additional liability.
|
|
176
|
+
|
|
177
|
+
END OF TERMS AND CONDITIONS
|
|
178
|
+
|
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
180
|
+
|
|
181
|
+
To apply the Apache License to your work, attach the following
|
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
183
|
+
replaced with your own identifying information. (Don't include
|
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
185
|
+
comment syntax for the file format. We also recommend that a
|
|
186
|
+
file or class name and description of purpose be included on the
|
|
187
|
+
same "printed page" as the copyright notice for easier
|
|
188
|
+
identification within third-party archives.
|
|
189
|
+
|
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
|
191
|
+
|
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
193
|
+
you may not use this file except in compliance with the License.
|
|
194
|
+
You may obtain a copy of the License at
|
|
195
|
+
|
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
197
|
+
|
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
201
|
+
See the License for the specific language governing permissions and
|
|
202
|
+
limitations under the License.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
APEXREST for Codex
|
|
2
|
+
Copyright 2026 APEXREST contributors.
|
|
3
|
+
Independent software. Not an official Oracle or OpenAI product.
|
|
4
|
+
|
|
5
|
+
Oracle APEXlang reference fragments and adapted form/report/dashboard examples:
|
|
6
|
+
Copyright Oracle and/or its affiliates. Licensed under UPL-1.0.
|
|
7
|
+
Pinned source and hashes: toolchains/sources.lock.json.
|
|
8
|
+
Full license: resources/references/ORACLE-LICENSE.txt.
|
|
9
|
+
Oracle-generated blank-app files retain their original headers and MMD metadata.
|
|
10
|
+
Node.js, Java, SQLcl and Chromium are downloaded separately from their vendors.
|
|
11
|
+
No Oracle or Java executable is redistributed in APEXREST packages.
|
|
12
|
+
Bundled dependency license texts and a CycloneDX SBOM accompany each local release.
|
|
13
|
+
|
|
14
|
+
Pokémon agent avatars: five sprites from PokeAPI/sprites, with pinned source URLs
|
|
15
|
+
and hashes in resources/panel/assets/sources.json. All image contents are
|
|
16
|
+
Copyright The Pokémon Company, as stated by the upstream LICENCE.txt included
|
|
17
|
+
with the assets. These images are not covered by this project's Apache license.
|
|
18
|
+
APEXREST is independent and is not endorsed by The Pokémon Company.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="100 66 98 98" xml:space="preserve" width="98" height="98" role="img" aria-labelledby="logo-title">
|
|
3
|
+
<title id="logo-title">APEXREST pencil and ruler symbol</title>
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
.st0{fill:#31BEF9;}
|
|
6
|
+
.st1{fill:#FFD541;}
|
|
7
|
+
.st2{fill:#FF4141;}
|
|
8
|
+
.st3{fill:#1E1E1E;}
|
|
9
|
+
</style>
|
|
10
|
+
<g id="Слой_2">
|
|
11
|
+
<polygon class="st0" points="133,149 177,106 160,89 116,132 " />
|
|
12
|
+
</g>
|
|
13
|
+
<g id="Слой_3">
|
|
14
|
+
<polygon class="st1" points="128,114 147,95 128,76 126,75 123,76 108,91 107,93 110,97 127,114 " />
|
|
15
|
+
<polygon class="st1" points="151,137 170,118 189,137 190,140 189,142 186,146 173,157 170,157 " />
|
|
16
|
+
</g>
|
|
17
|
+
<g id="Слой_4">
|
|
18
|
+
<path class="st2" d="M166,83l16,16l4-3l2-5v-4c0,0-1-2-1-3s-3-4-3-4l-5-3h-3h-3l-3,2l-2,2L166,83L166,83z" />
|
|
19
|
+
</g>
|
|
20
|
+
<g id="Слой_1">
|
|
21
|
+
<g>
|
|
22
|
+
<path class="st3" d="M126.7,115.5l1.7-1.7l-2.2-2.2l4.3-4.3c0.5-0.5,0.4-1.3-0.1-1.7c-0.5-0.4-1.2-0.4-1.7,0l-4.3,4.3l-4.1-4.1 l4.3-4.3c0.5-0.5,0.4-1.3-0.1-1.7c-0.5-0.4-1.2-0.4-1.7,0l-4.3,4.3l-4.1-4.1l9.4-9.5c0.5-0.5,0.4-1.3-0.1-1.7 c-0.5-0.4-1.2-0.4-1.7,0l-9.5,9.5l-3.6-3.6c-0.8-0.8-0.8-2,0-2.8L123.9,77c0.8-0.8,2-0.8,2.8,0L146,96.2l1.7-1.7l-19.2-19.2 c-1.7-1.7-4.6-1.7-6.3,0L107.5,90c-1.7,1.7-1.7,4.6,0,6.3L126.7,115.5z" />
|
|
23
|
+
<path class="st3" d="M182.7,100.8l3-3c5-5.1,4.9-13.3-0.2-18.3c-5-5-13.1-5-18.2,0l-51.9,51.9c-0.1,0.1-0.2,0.2-0.2,0.4v0.1 l-7.2,23.8c-0.2,0.6,0.2,1.3,0.8,1.5c0.2,0.1,0.5,0.1,0.7,0l23.8-7.2h0.1c0.1-0.1,0.2-0.1,0.4-0.2L182.7,100.8L182.7,100.8z M159.3,91l6.6,6.6l-41.3,41.3l-6.6-6.6L159.3,91z M110.9,154.2l1-3.5c1.1,0.5,2,1.3,2.5,2.4L110.9,154.2z M116.9,152.4 c-0.8-1.8-2.4-3.2-4.2-4l4.2-13.9l13.7,13.7L116.9,152.4z M132.9,147.1l-6.6-6.6l41.3-41.3l6.6,6.6L132.9,147.1z M175.9,104.1 l-7.4-7.4l-7.4-7.4l4.2-4.2l14.9,14.9L175.9,104.1z M167,83.3l2.1-2.1c4.3-4,10.9-3.7,14.9,0.6c3.7,4,3.7,10.3,0,14.3l-2.1,2.1 L167,83.3z" />
|
|
24
|
+
<path class="st3" d="M189.9,136.7l-19.2-19.2l-1.7,1.7l19.2,19.2c0.8,0.8,0.8,2,0,2.8l-14.7,14.7c-0.8,0.8-2.1,0.8-2.8,0l-3.6-3.6 l9.5-9.5c0.5-0.4,0.6-1.2,0.2-1.7c-0.4-0.5-1.2-0.6-1.7-0.2c-0.1,0.1-0.1,0.1-0.2,0.2l-9.5,9.5l-4.1-4.1l4.3-4.3 c0.5-0.5,0.5-1.2,0.1-1.7c-0.5-0.5-1.2-0.5-1.7-0.1c0,0,0,0-0.1,0.1l-4.3,4.3l-4.1-4.1l4.3-4.3c0.5-0.5,0.4-1.3-0.1-1.7 c-0.5-0.4-1.2-0.4-1.7,0l-4.3,4.3l-2.2-2.2l-1.8,1.7l19.2,19.2c1.7,1.7,4.6,1.7,6.3,0l14.7-14.7 C191.6,141.3,191.6,138.4,189.9,136.7C189.9,136.7,189.9,136.7,189.9,136.7z" />
|
|
25
|
+
</g>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="100 66 98 98" xml:space="preserve" width="98" height="98" role="img" aria-labelledby="logo-title">
|
|
3
|
+
<title id="logo-title">APEXREST pencil and ruler symbol</title>
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
.st0{fill:#31BEF9;}
|
|
6
|
+
.st1{fill:#FFD541;}
|
|
7
|
+
.st2{fill:#FF4141;}
|
|
8
|
+
.st3{fill:#1E1E1E;}
|
|
9
|
+
</style>
|
|
10
|
+
<g id="Слой_2">
|
|
11
|
+
<polygon class="st0" points="133,149 177,106 160,89 116,132 " />
|
|
12
|
+
</g>
|
|
13
|
+
<g id="Слой_3">
|
|
14
|
+
<polygon class="st1" points="128,114 147,95 128,76 126,75 123,76 108,91 107,93 110,97 127,114 " />
|
|
15
|
+
<polygon class="st1" points="151,137 170,118 189,137 190,140 189,142 186,146 173,157 170,157 " />
|
|
16
|
+
</g>
|
|
17
|
+
<g id="Слой_4">
|
|
18
|
+
<path class="st2" d="M166,83l16,16l4-3l2-5v-4c0,0-1-2-1-3s-3-4-3-4l-5-3h-3h-3l-3,2l-2,2L166,83L166,83z" />
|
|
19
|
+
</g>
|
|
20
|
+
<g id="Слой_1">
|
|
21
|
+
<g>
|
|
22
|
+
<path class="st3" d="M126.7,115.5l1.7-1.7l-2.2-2.2l4.3-4.3c0.5-0.5,0.4-1.3-0.1-1.7c-0.5-0.4-1.2-0.4-1.7,0l-4.3,4.3l-4.1-4.1 l4.3-4.3c0.5-0.5,0.4-1.3-0.1-1.7c-0.5-0.4-1.2-0.4-1.7,0l-4.3,4.3l-4.1-4.1l9.4-9.5c0.5-0.5,0.4-1.3-0.1-1.7 c-0.5-0.4-1.2-0.4-1.7,0l-9.5,9.5l-3.6-3.6c-0.8-0.8-0.8-2,0-2.8L123.9,77c0.8-0.8,2-0.8,2.8,0L146,96.2l1.7-1.7l-19.2-19.2 c-1.7-1.7-4.6-1.7-6.3,0L107.5,90c-1.7,1.7-1.7,4.6,0,6.3L126.7,115.5z" />
|
|
23
|
+
<path class="st3" d="M182.7,100.8l3-3c5-5.1,4.9-13.3-0.2-18.3c-5-5-13.1-5-18.2,0l-51.9,51.9c-0.1,0.1-0.2,0.2-0.2,0.4v0.1 l-7.2,23.8c-0.2,0.6,0.2,1.3,0.8,1.5c0.2,0.1,0.5,0.1,0.7,0l23.8-7.2h0.1c0.1-0.1,0.2-0.1,0.4-0.2L182.7,100.8L182.7,100.8z M159.3,91l6.6,6.6l-41.3,41.3l-6.6-6.6L159.3,91z M110.9,154.2l1-3.5c1.1,0.5,2,1.3,2.5,2.4L110.9,154.2z M116.9,152.4 c-0.8-1.8-2.4-3.2-4.2-4l4.2-13.9l13.7,13.7L116.9,152.4z M132.9,147.1l-6.6-6.6l41.3-41.3l6.6,6.6L132.9,147.1z M175.9,104.1 l-7.4-7.4l-7.4-7.4l4.2-4.2l14.9,14.9L175.9,104.1z M167,83.3l2.1-2.1c4.3-4,10.9-3.7,14.9,0.6c3.7,4,3.7,10.3,0,14.3l-2.1,2.1 L167,83.3z" />
|
|
24
|
+
<path class="st3" d="M189.9,136.7l-19.2-19.2l-1.7,1.7l19.2,19.2c0.8,0.8,0.8,2,0,2.8l-14.7,14.7c-0.8,0.8-2.1,0.8-2.8,0l-3.6-3.6 l9.5-9.5c0.5-0.4,0.6-1.2,0.2-1.7c-0.4-0.5-1.2-0.6-1.7-0.2c-0.1,0.1-0.1,0.1-0.2,0.2l-9.5,9.5l-4.1-4.1l4.3-4.3 c0.5-0.5,0.5-1.2,0.1-1.7c-0.5-0.5-1.2-0.5-1.7-0.1c0,0,0,0-0.1,0.1l-4.3,4.3l-4.1-4.1l4.3-4.3c0.5-0.5,0.4-1.3-0.1-1.7 c-0.5-0.4-1.2-0.4-1.7,0l-4.3,4.3l-2.2-2.2l-1.8,1.7l19.2,19.2c1.7,1.7,4.6,1.7,6.3,0l14.7-14.7 C191.6,141.3,191.6,138.4,189.9,136.7C189.9,136.7,189.9,136.7,189.9,136.7z" />
|
|
25
|
+
</g>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|