gina 0.3.13-alpha.2 → 0.3.13
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/.playwright-mcp/console-2026-05-14T02-27-11-347Z.log +64 -0
- package/.playwright-mcp/d9-after-connector.png +0 -0
- package/.playwright-mcp/d9-after-service.png +0 -0
- package/.playwright-mcp/d9-before-connector-full.png +0 -0
- package/.playwright-mcp/d9-before-connector-leak.png +0 -0
- package/.playwright-mcp/d9-before-connector-top.png +0 -0
- package/.playwright-mcp/d9-before-connector-v2.png +0 -0
- package/.playwright-mcp/d9-before-connector.png +0 -0
- package/.playwright-mcp/page-2026-05-14T02-24-51-996Z.yml +1818 -0
- package/.playwright-mcp/page-2026-05-14T02-26-47-905Z.yml +2063 -0
- package/.playwright-mcp/page-2026-05-14T02-27-11-472Z.yml +406 -0
- package/.playwright-mcp/page-2026-05-14T02-28-37-939Z.yml +2061 -0
- package/.playwright-mcp/page-2026-05-14T02-29-01-333Z.yml +404 -0
- package/CHANGELOG.md +29 -0
- package/README.md +11 -1
- package/ROADMAP.md +16 -6
- package/framework/v0.3.13/VERSION +1 -0
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/js/gina.js +21 -6
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +47 -46
- package/framework/v0.3.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.3.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/config.js +13 -0
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/csrf/src/main.js +32 -9
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/validator/src/form-validator.js +11 -1
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/validator/src/main.js +4 -2
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/server.isaac.js +56 -11
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/config/settings.server.json +3 -1
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/index.js +14 -4
- package/framework/v0.3.13/core/template/boilerplate/bundle_public/manifest.webmanifest +17 -0
- package/framework/v0.3.13/core/template/boilerplate/bundle_public/readme.md +20 -0
- package/framework/v0.3.13/core/template/boilerplate/bundle_public/sw.js +122 -0
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_templates/html/layouts/main.html +14 -0
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/conf/settings.json +11 -4
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/json/src/main.js +38 -22
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/mcp-start.js +18 -2
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/index.js +5 -0
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/containers/file/index.js +1 -4
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/containers/mq/index.js +1 -4
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/main.js +1 -4
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/merge/src/main.js +2 -1
- package/framework/v0.3.13/lib/secrets/package.json +17 -0
- package/framework/v0.3.13/lib/secrets/src/backends/env.js +60 -0
- package/framework/v0.3.13/lib/secrets/src/main.js +200 -0
- package/framework/{v0.3.13-alpha.2 → v0.3.13}/package.json +2 -2
- package/gna.js +4 -4
- package/llms.txt +17 -1
- package/package.json +3 -3
- package/framework/v0.3.13-alpha.2/VERSION +0 -1
- package/framework/v0.3.13-alpha.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.3.13-alpha.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/v0.3.13-alpha.2/core/plugins/lib/file/package.json +0 -25
- package/framework/v0.3.13-alpha.2/core/plugins/lib/intl/package.json +0 -25
- package/framework/v0.3.13-alpha.2/core/plugins/lib/intl/src/main.js +0 -35
- package/framework/v0.3.13-alpha.2/core/template/boilerplate/bundle_public/readme.md +0 -1
- package/framework/v0.3.13-alpha.2/lib/collection/build.json +0 -0
- package/framework/v0.3.13-alpha.2/lib/routing/build.json +0 -0
- package/framework/v0.3.13-alpha.2/lib/swig-filters/README.md +0 -0
- package/framework/v0.3.13-alpha.2/lib/url/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/AUTHORS +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/LICENSE +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/html/static.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/content.encoding +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/controller.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/controller/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/busboy-1.6.0/LICENSE +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/busboy-1.6.0/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/busboy-1.6.0/lib/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/busboy-1.6.0/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/deps/streamsearch-1.1.0/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/dev/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/gna.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/locales/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/locales/currency.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/locales/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/mime.types +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/model/entity.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/model/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/model/template/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/file → v0.3.13/core/plugins/lib/storage}/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/file → v0.3.13/core/plugins/lib/storage}/build.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/intl → v0.3.13/core/plugins/lib/validator}/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/intl → v0.3.13/core/plugins/lib/validator}/build.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/router.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/server.express.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/server.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/status.codes +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/_gitignore +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/conf/env.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/conf/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/console.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/context.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/data/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/data/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/json/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/json/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/path.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/prototypes.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/task.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/helpers/text.js +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/storage → v0.3.13/lib/archiver}/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/storage → v0.3.13/lib/archiver}/build.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/archiver/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/async/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/async/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cache/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/validator → v0.3.13/lib/cache}/build.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cache/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/collection/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2/lib/archiver → v0.3.13/lib/collection}/build.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/collection/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/config.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cron/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cron/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/domain/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/domain/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/generator/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/i18n/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/inherits/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/inherits/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/math/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/merge/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/merge/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/metrics/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/model.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/proc.js +0 -0
- /package/framework/{v0.3.13-alpha.2/core/plugins/lib/validator → v0.3.13/lib/routing}/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2/lib/cache → v0.3.13/lib/routing}/build.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/routing/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/session-store.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/shell.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/state.js +0 -0
- /package/framework/{v0.3.13-alpha.2/lib/archiver → v0.3.13/lib/swig-filters}/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2/lib/routing → v0.3.13/lib/url}/README.md +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/url/index.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/url/routing.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/uuid/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/validator.js +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/watcher/package.json +0 -0
- /package/framework/{v0.3.13-alpha.2 → v0.3.13}/lib/watcher/src/main.js +0 -0
|
@@ -0,0 +1,2061 @@
|
|
|
1
|
+
- generic [ref=e2]:
|
|
2
|
+
- region "Skip to main content":
|
|
3
|
+
- link "Skip to main content" [ref=e3] [cursor=pointer]:
|
|
4
|
+
- /url: "#__docusaurus_skipToContent_fallback"
|
|
5
|
+
- navigation "Main" [ref=e4]:
|
|
6
|
+
- generic [ref=e5]:
|
|
7
|
+
- generic [ref=e6]:
|
|
8
|
+
- link "Gina logo Gina" [ref=e7] [cursor=pointer]:
|
|
9
|
+
- /url: /docs/
|
|
10
|
+
- img "Gina logo" [ref=e9]
|
|
11
|
+
- generic [ref=e10]: Gina
|
|
12
|
+
- link "Docs" [ref=e11] [cursor=pointer]:
|
|
13
|
+
- /url: /docs/intro
|
|
14
|
+
- link "Tutorials" [ref=e12] [cursor=pointer]:
|
|
15
|
+
- /url: /docs/tutorials
|
|
16
|
+
- link "Templating" [ref=e13] [cursor=pointer]:
|
|
17
|
+
- /url: /docs/templating/
|
|
18
|
+
- link "Roadmap" [ref=e14] [cursor=pointer]:
|
|
19
|
+
- /url: /docs/roadmap
|
|
20
|
+
- generic [ref=e15]:
|
|
21
|
+
- generic [ref=e17]:
|
|
22
|
+
- link "Changelog" [ref=e18] [cursor=pointer]:
|
|
23
|
+
- /url: https://github.com/gina-io/gina/releases
|
|
24
|
+
- text: v0.3.12
|
|
25
|
+
- link "GitHub repository" [ref=e19] [cursor=pointer]:
|
|
26
|
+
- /url: https://github.com/gina-io/gina
|
|
27
|
+
- img [ref=e20]
|
|
28
|
+
- link "npm package (stable)" [ref=e22] [cursor=pointer]:
|
|
29
|
+
- /url: https://www.npmjs.com/package/gina/v/0.3.12
|
|
30
|
+
- img [ref=e23]
|
|
31
|
+
- generic "light mode" [ref=e26] [cursor=pointer]:
|
|
32
|
+
- checkbox "Switch between dark and light mode (currently light mode)" [disabled]
|
|
33
|
+
- generic [ref=e27]:
|
|
34
|
+
- generic [ref=e28]: ☾
|
|
35
|
+
- generic [ref=e29]: ☀
|
|
36
|
+
- textbox "Search" [ref=e32]
|
|
37
|
+
- generic [ref=e35]:
|
|
38
|
+
- complementary [ref=e36]:
|
|
39
|
+
- navigation "Docs sidebar" [ref=e39]:
|
|
40
|
+
- list [ref=e40]:
|
|
41
|
+
- listitem [ref=e41]:
|
|
42
|
+
- link "What is Gina?" [ref=e42] [cursor=pointer]:
|
|
43
|
+
- /url: /docs/intro
|
|
44
|
+
- generic "What is Gina?" [ref=e43]
|
|
45
|
+
- listitem [ref=e44]:
|
|
46
|
+
- generic [ref=e45]:
|
|
47
|
+
- link "Getting Started" [ref=e46] [cursor=pointer]:
|
|
48
|
+
- /url: /docs/getting-started
|
|
49
|
+
- generic "Getting Started" [ref=e47]
|
|
50
|
+
- button "Expand sidebar category 'Getting Started'" [ref=e48] [cursor=pointer]
|
|
51
|
+
- listitem [ref=e49]:
|
|
52
|
+
- generic [ref=e50]:
|
|
53
|
+
- link "Concepts" [ref=e51] [cursor=pointer]:
|
|
54
|
+
- /url: /docs/concepts
|
|
55
|
+
- generic "Concepts" [ref=e52]
|
|
56
|
+
- button "Expand sidebar category 'Concepts'" [ref=e53] [cursor=pointer]
|
|
57
|
+
- listitem [ref=e54]:
|
|
58
|
+
- generic [ref=e55]:
|
|
59
|
+
- link "Guides" [ref=e56] [cursor=pointer]:
|
|
60
|
+
- /url: /docs/guides
|
|
61
|
+
- generic "Guides" [ref=e57]
|
|
62
|
+
- button "Expand sidebar category 'Guides'" [ref=e58] [cursor=pointer]
|
|
63
|
+
- listitem [ref=e59]:
|
|
64
|
+
- generic [ref=e60]:
|
|
65
|
+
- link "CLI Reference" [ref=e61] [cursor=pointer]:
|
|
66
|
+
- /url: /docs/cli
|
|
67
|
+
- generic "CLI Reference" [ref=e62]
|
|
68
|
+
- button "Collapse sidebar category 'CLI Reference'" [expanded] [ref=e63] [cursor=pointer]
|
|
69
|
+
- list [ref=e64]:
|
|
70
|
+
- listitem [ref=e65]:
|
|
71
|
+
- link "bundle" [ref=e66] [cursor=pointer]:
|
|
72
|
+
- /url: /docs/cli/cli-bundle
|
|
73
|
+
- generic "bundle" [ref=e67]
|
|
74
|
+
- listitem [ref=e68]:
|
|
75
|
+
- link "project" [ref=e69] [cursor=pointer]:
|
|
76
|
+
- /url: /docs/cli/cli-project
|
|
77
|
+
- generic "project" [ref=e70]
|
|
78
|
+
- listitem [ref=e71]:
|
|
79
|
+
- link "framework" [ref=e72] [cursor=pointer]:
|
|
80
|
+
- /url: /docs/cli/cli-framework
|
|
81
|
+
- generic "framework" [ref=e73]
|
|
82
|
+
- listitem [ref=e74]:
|
|
83
|
+
- link "env" [ref=e75] [cursor=pointer]:
|
|
84
|
+
- /url: /docs/cli/cli-env
|
|
85
|
+
- generic "env" [ref=e76]
|
|
86
|
+
- listitem [ref=e77]:
|
|
87
|
+
- link "port" [ref=e78] [cursor=pointer]:
|
|
88
|
+
- /url: /docs/cli/cli-port
|
|
89
|
+
- generic "port" [ref=e79]
|
|
90
|
+
- listitem [ref=e80]:
|
|
91
|
+
- link "scope" [ref=e81] [cursor=pointer]:
|
|
92
|
+
- /url: /docs/cli/cli-scope
|
|
93
|
+
- generic "scope" [ref=e82]
|
|
94
|
+
- listitem [ref=e83]:
|
|
95
|
+
- link "view" [ref=e84] [cursor=pointer]:
|
|
96
|
+
- /url: /docs/cli/cli-view
|
|
97
|
+
- generic "view" [ref=e85]
|
|
98
|
+
- listitem [ref=e86]:
|
|
99
|
+
- link "cache" [ref=e87] [cursor=pointer]:
|
|
100
|
+
- /url: /docs/cli/cli-cache
|
|
101
|
+
- generic "cache" [ref=e88]
|
|
102
|
+
- listitem [ref=e89]:
|
|
103
|
+
- link "protocol" [ref=e90] [cursor=pointer]:
|
|
104
|
+
- /url: /docs/cli/cli-protocol
|
|
105
|
+
- generic "protocol" [ref=e91]
|
|
106
|
+
- listitem [ref=e92]:
|
|
107
|
+
- link "service" [ref=e93] [cursor=pointer]:
|
|
108
|
+
- /url: /docs/cli/cli-service
|
|
109
|
+
- generic "service" [ref=e94]
|
|
110
|
+
- listitem [ref=e95]:
|
|
111
|
+
- link "connector" [ref=e96] [cursor=pointer]:
|
|
112
|
+
- /url: /docs/cli/cli-connector
|
|
113
|
+
- generic "connector" [ref=e97]
|
|
114
|
+
- listitem [ref=e98]:
|
|
115
|
+
- generic [ref=e99]:
|
|
116
|
+
- link "Configuration Reference" [ref=e100] [cursor=pointer]:
|
|
117
|
+
- /url: /docs/reference/
|
|
118
|
+
- generic "Configuration Reference" [ref=e101]
|
|
119
|
+
- button "Expand sidebar category 'Configuration Reference'" [ref=e102] [cursor=pointer]
|
|
120
|
+
- listitem [ref=e103]:
|
|
121
|
+
- generic [ref=e104]:
|
|
122
|
+
- link "API Reference" [ref=e105] [cursor=pointer]:
|
|
123
|
+
- /url: /docs/api
|
|
124
|
+
- generic "API Reference" [ref=e106]
|
|
125
|
+
- button "Expand sidebar category 'API Reference'" [ref=e107] [cursor=pointer]
|
|
126
|
+
- listitem [ref=e108]:
|
|
127
|
+
- generic [ref=e109]:
|
|
128
|
+
- link "Globals" [ref=e110] [cursor=pointer]:
|
|
129
|
+
- /url: /docs/globals
|
|
130
|
+
- generic "Globals" [ref=e111]
|
|
131
|
+
- button "Expand sidebar category 'Globals'" [ref=e112] [cursor=pointer]
|
|
132
|
+
- listitem [ref=e113]:
|
|
133
|
+
- link "Security" [ref=e114] [cursor=pointer]:
|
|
134
|
+
- /url: /docs/security
|
|
135
|
+
- generic "Security" [ref=e115]
|
|
136
|
+
- listitem [ref=e116]:
|
|
137
|
+
- link "Migration Guide" [ref=e117] [cursor=pointer]:
|
|
138
|
+
- /url: /docs/migration
|
|
139
|
+
- generic "Migration Guide" [ref=e118]
|
|
140
|
+
- main [ref=e119]:
|
|
141
|
+
- generic [ref=e121]:
|
|
142
|
+
- generic [ref=e123]:
|
|
143
|
+
- article [ref=e124]:
|
|
144
|
+
- navigation "Breadcrumbs" [ref=e125]:
|
|
145
|
+
- list [ref=e126]:
|
|
146
|
+
- listitem [ref=e127]:
|
|
147
|
+
- link "Home page" [ref=e128] [cursor=pointer]:
|
|
148
|
+
- /url: /docs/
|
|
149
|
+
- img [ref=e129]
|
|
150
|
+
- listitem [ref=e131]:
|
|
151
|
+
- link "CLI Reference" [ref=e132] [cursor=pointer]:
|
|
152
|
+
- /url: /docs/cli
|
|
153
|
+
- listitem [ref=e133]:
|
|
154
|
+
- generic [ref=e134]: connector
|
|
155
|
+
- generic [ref=e135]:
|
|
156
|
+
- heading "connector" [level=1] [ref=e137]
|
|
157
|
+
- generic [ref=e138]:
|
|
158
|
+
- generic [ref=e139]:
|
|
159
|
+
- generic [ref=e140]:
|
|
160
|
+
- img [ref=e141]
|
|
161
|
+
- text: 14 min read
|
|
162
|
+
- generic [ref=e144]: Intermediate
|
|
163
|
+
- generic [ref=e145]:
|
|
164
|
+
- generic [ref=e146]: Prerequisites
|
|
165
|
+
- list [ref=e147]:
|
|
166
|
+
- listitem [ref=e148]:
|
|
167
|
+
- link "Gina installed globally" [ref=e149] [cursor=pointer]:
|
|
168
|
+
- /url: /docs/getting-started/installation
|
|
169
|
+
- listitem [ref=e150]:
|
|
170
|
+
- link "connectors.json reference" [ref=e151] [cursor=pointer]:
|
|
171
|
+
- /url: /docs/reference/connectors
|
|
172
|
+
- listitem [ref=e152]:
|
|
173
|
+
- link "Projects and bundles" [ref=e153] [cursor=pointer]:
|
|
174
|
+
- /url: /docs/concepts/projects-and-bundles
|
|
175
|
+
- paragraph [ref=e154]:
|
|
176
|
+
- text: The
|
|
177
|
+
- code [ref=e155]: connector
|
|
178
|
+
- text: command group inspects and maintains
|
|
179
|
+
- code [ref=e156]: connectors.json
|
|
180
|
+
- text: across a project's
|
|
181
|
+
- code [ref=e157]: shared/config/
|
|
182
|
+
- text: and each bundle's
|
|
183
|
+
- code [ref=e158]: config/
|
|
184
|
+
- text: directory. It reports the effective overlay that every bundle sees at runtime, adds or removes entries, and lints / auto-fixes common schema drift. Every subcommand is
|
|
185
|
+
- strong [ref=e159]: offline
|
|
186
|
+
- text: — no framework socket or network call.
|
|
187
|
+
- list [ref=e160]:
|
|
188
|
+
- listitem [ref=e161]:
|
|
189
|
+
- strong [ref=e162]:
|
|
190
|
+
- code [ref=e163]: connector:list
|
|
191
|
+
- text: — read-only inventory of every declared connector, with driver install status and version-pin warnings.
|
|
192
|
+
- listitem [ref=e164]:
|
|
193
|
+
- strong [ref=e165]:
|
|
194
|
+
- code [ref=e166]: connector:add
|
|
195
|
+
- text: — write a connector entry to shared or bundle scope, with driver install hint.
|
|
196
|
+
- listitem [ref=e167]:
|
|
197
|
+
- strong [ref=e168]:
|
|
198
|
+
- code [ref=e169]: connector:rm
|
|
199
|
+
- text: (alias
|
|
200
|
+
- code [ref=e170]: connector:remove
|
|
201
|
+
- text: ) — remove a connector entry; prints retention hints, never touches
|
|
202
|
+
- code [ref=e171]: node_modules/
|
|
203
|
+
- text: .
|
|
204
|
+
- listitem [ref=e172]:
|
|
205
|
+
- strong [ref=e173]:
|
|
206
|
+
- code [ref=e174]: connector:migrate
|
|
207
|
+
- text: — lint every
|
|
208
|
+
- code [ref=e175]: connectors.json
|
|
209
|
+
- text: for schema drift, optionally fix in place with
|
|
210
|
+
- code [ref=e176]: "--fix"
|
|
211
|
+
- text: .
|
|
212
|
+
- separator [ref=e177]
|
|
213
|
+
- heading "connector:listDirect link to connectorlist" [level=2] [ref=e178]:
|
|
214
|
+
- code [ref=e179]: connector:list
|
|
215
|
+
- link "Direct link to connectorlist" [ref=e180] [cursor=pointer]:
|
|
216
|
+
- /url: "#connectorlist"
|
|
217
|
+
- text: "#"
|
|
218
|
+
- paragraph [ref=e181]:
|
|
219
|
+
- emphasis [ref=e182]: New in 0.3.7-alpha.2
|
|
220
|
+
- paragraph [ref=e183]: List connectors for every registered project, a single project, or the merged view a single bundle sees at runtime.
|
|
221
|
+
- code [ref=e187]:
|
|
222
|
+
- generic [ref=e188]: "gina connector:list # Every registered project"
|
|
223
|
+
- generic [ref=e189]: "gina connector:list @<project> # One project (shared + all bundles)"
|
|
224
|
+
- generic [ref=e190]: "gina connector:list <bundle> @<project> # Merged shared+bundle view for <bundle>"
|
|
225
|
+
- paragraph [ref=e191]:
|
|
226
|
+
- strong [ref=e192]: Flags
|
|
227
|
+
- table [ref=e193]:
|
|
228
|
+
- rowgroup [ref=e194]:
|
|
229
|
+
- row "Flag Description" [ref=e195]:
|
|
230
|
+
- columnheader "Flag" [ref=e196]
|
|
231
|
+
- columnheader "Description" [ref=e197]
|
|
232
|
+
- rowgroup [ref=e198]:
|
|
233
|
+
- row "--format=json Emit a JSON payload instead of the human-readable text table" [ref=e199]:
|
|
234
|
+
- cell "--format=json" [ref=e200]:
|
|
235
|
+
- code [ref=e201]: "--format=json"
|
|
236
|
+
- cell "Emit a JSON payload instead of the human-readable text table" [ref=e202]
|
|
237
|
+
- heading "OutputDirect link to Output" [level=3] [ref=e203]:
|
|
238
|
+
- text: Output
|
|
239
|
+
- link "Direct link to Output" [ref=e204] [cursor=pointer]:
|
|
240
|
+
- /url: "#output"
|
|
241
|
+
- text: "#"
|
|
242
|
+
- code [ref=e208]:
|
|
243
|
+
- generic [ref=e209]: "------------------------------------"
|
|
244
|
+
- generic [ref=e210]: myproject
|
|
245
|
+
- generic [ref=e211]: "------------------------------------"
|
|
246
|
+
- generic [ref=e212]: "[ ok ] session couchbase [shared] (couchbase@>=3.0.0 4.1.3 installed)"
|
|
247
|
+
- generic [ref=e213]: "[ ok ] profile couchbase [api] (couchbase@>=3.0.0 4.1.3 installed)"
|
|
248
|
+
- generic [ref=e214]: "[ ok ] session couchbase [api override] (couchbase@>=3.0.0 4.1.3 installed)"
|
|
249
|
+
- generic [ref=e215]: "[ ?! ] mongodb mongodb [admin] (mongodb@>=5.0.0 — run `npm install mongodb`)"
|
|
250
|
+
- generic [ref=e216]: "[ ok ] local sqlite [worker] (Node.js >= 22.5.0 built-in (node:sqlite))"
|
|
251
|
+
- paragraph [ref=e217]:
|
|
252
|
+
- strong [ref=e218]: Row columns
|
|
253
|
+
- table [ref=e219]:
|
|
254
|
+
- rowgroup [ref=e220]:
|
|
255
|
+
- row "Column Meaning" [ref=e221]:
|
|
256
|
+
- columnheader "Column" [ref=e222]
|
|
257
|
+
- columnheader "Meaning" [ref=e223]
|
|
258
|
+
- rowgroup [ref=e224]:
|
|
259
|
+
- row "[ ok ] / [ ?! ] / [ ?? ] Install status (see below)" [ref=e225]:
|
|
260
|
+
- cell "[ ok ] / [ ?! ] / [ ?? ]" [ref=e226]:
|
|
261
|
+
- strong [ref=e227]:
|
|
262
|
+
- code [ref=e228]: "[ ok ]"
|
|
263
|
+
- text: /
|
|
264
|
+
- code [ref=e229]: "[ ?! ]"
|
|
265
|
+
- text: /
|
|
266
|
+
- code [ref=e230]: "[ ?? ]"
|
|
267
|
+
- cell "Install status (see below)" [ref=e231]
|
|
268
|
+
- row "name Logical connector key (JSON object key in connectors.json)" [ref=e232]:
|
|
269
|
+
- cell "name" [ref=e233]:
|
|
270
|
+
- strong [ref=e234]: name
|
|
271
|
+
- cell "Logical connector key (JSON object key in connectors.json)" [ref=e235]:
|
|
272
|
+
- text: Logical connector key (JSON object key in
|
|
273
|
+
- code [ref=e236]: connectors.json
|
|
274
|
+
- text: )
|
|
275
|
+
- row "connector Driver type resolved from entry.connector (falls back to the logical key)" [ref=e237]:
|
|
276
|
+
- cell "connector" [ref=e238]:
|
|
277
|
+
- strong [ref=e239]: connector
|
|
278
|
+
- cell "Driver type resolved from entry.connector (falls back to the logical key)" [ref=e240]:
|
|
279
|
+
- text: Driver type resolved from
|
|
280
|
+
- code [ref=e241]: entry.connector
|
|
281
|
+
- text: (falls back to the logical key)
|
|
282
|
+
- 'row "source label Where the entry comes from: [shared], [<bundle>], or [<bundle> override]" [ref=e242]':
|
|
283
|
+
- cell "source label" [ref=e243]:
|
|
284
|
+
- strong [ref=e244]: source label
|
|
285
|
+
- 'cell "Where the entry comes from: [shared], [<bundle>], or [<bundle> override]" [ref=e245]':
|
|
286
|
+
- text: "Where the entry comes from:"
|
|
287
|
+
- code [ref=e246]: "[shared]"
|
|
288
|
+
- text: ","
|
|
289
|
+
- code [ref=e247]: "[<bundle>]"
|
|
290
|
+
- text: ", or"
|
|
291
|
+
- code [ref=e248]: "[<bundle> override]"
|
|
292
|
+
- row "driver info Resolved npm package, peerDependencies range, pinned version (if any), install state" [ref=e249]:
|
|
293
|
+
- cell "driver info" [ref=e250]:
|
|
294
|
+
- strong [ref=e251]: driver info
|
|
295
|
+
- cell "Resolved npm package, peerDependencies range, pinned version (if any), install state" [ref=e252]:
|
|
296
|
+
- text: Resolved npm package,
|
|
297
|
+
- code [ref=e253]: peerDependencies
|
|
298
|
+
- text: range, pinned version (if any), install state
|
|
299
|
+
- paragraph [ref=e254]:
|
|
300
|
+
- strong [ref=e255]: Status flags
|
|
301
|
+
- table [ref=e256]:
|
|
302
|
+
- rowgroup [ref=e257]:
|
|
303
|
+
- row "Flag Meaning" [ref=e258]:
|
|
304
|
+
- columnheader "Flag" [ref=e259]
|
|
305
|
+
- columnheader "Meaning" [ref=e260]
|
|
306
|
+
- rowgroup [ref=e261]:
|
|
307
|
+
- row "[ ok ] Driver installed at <project>/node_modules/<driver>, or built-in (node:sqlite)" [ref=e262]:
|
|
308
|
+
- cell "[ ok ]" [ref=e263]:
|
|
309
|
+
- code [ref=e264]: "[ ok ]"
|
|
310
|
+
- cell "Driver installed at <project>/node_modules/<driver>, or built-in (node:sqlite)" [ref=e265]:
|
|
311
|
+
- text: Driver installed at
|
|
312
|
+
- code [ref=e266]: <project>/node_modules/<driver>
|
|
313
|
+
- text: ", or built-in ("
|
|
314
|
+
- code [ref=e267]: node:sqlite
|
|
315
|
+
- text: )
|
|
316
|
+
- row "[ ?! ] Driver declared but not found — npm install <driver> suggested inline" [ref=e268]:
|
|
317
|
+
- cell "[ ?! ]" [ref=e269]:
|
|
318
|
+
- code [ref=e270]: "[ ?! ]"
|
|
319
|
+
- cell "Driver declared but not found — npm install <driver> suggested inline" [ref=e271]:
|
|
320
|
+
- text: Driver declared but not found —
|
|
321
|
+
- code [ref=e272]: npm install <driver>
|
|
322
|
+
- text: suggested inline
|
|
323
|
+
- row "[ ?? ] Unknown connector type, or ai connector with missing/unrecognised protocol" [ref=e273]:
|
|
324
|
+
- cell "[ ?? ]" [ref=e274]:
|
|
325
|
+
- code [ref=e275]: "[ ?? ]"
|
|
326
|
+
- cell "Unknown connector type, or ai connector with missing/unrecognised protocol" [ref=e276]:
|
|
327
|
+
- text: Unknown connector type, or
|
|
328
|
+
- code [ref=e277]: ai
|
|
329
|
+
- text: connector with missing/unrecognised
|
|
330
|
+
- code [ref=e278]: protocol
|
|
331
|
+
- row "[ !! ] Version-pin disagreement — emitted as a trailing warning line when two bundles pin the same driver at different versions (the first npm install wins)" [ref=e279]:
|
|
332
|
+
- cell "[ !! ]" [ref=e280]:
|
|
333
|
+
- code [ref=e281]: "[ !! ]"
|
|
334
|
+
- cell "Version-pin disagreement — emitted as a trailing warning line when two bundles pin the same driver at different versions (the first npm install wins)" [ref=e282]:
|
|
335
|
+
- text: Version-pin disagreement — emitted as a trailing warning line when two bundles pin the same driver at different versions (the first
|
|
336
|
+
- code [ref=e283]: npm install
|
|
337
|
+
- text: wins)
|
|
338
|
+
- paragraph [ref=e284]:
|
|
339
|
+
- strong [ref=e285]: Source labels
|
|
340
|
+
- table [ref=e286]:
|
|
341
|
+
- rowgroup [ref=e287]:
|
|
342
|
+
- row "Label Meaning" [ref=e288]:
|
|
343
|
+
- columnheader "Label" [ref=e289]
|
|
344
|
+
- columnheader "Meaning" [ref=e290]
|
|
345
|
+
- rowgroup [ref=e291]:
|
|
346
|
+
- row "[shared] Declared only in shared/config/connectors.json" [ref=e292]:
|
|
347
|
+
- cell "[shared]" [ref=e293]:
|
|
348
|
+
- code [ref=e294]: "[shared]"
|
|
349
|
+
- cell "Declared only in shared/config/connectors.json" [ref=e295]:
|
|
350
|
+
- text: Declared only in
|
|
351
|
+
- code [ref=e296]: shared/config/connectors.json
|
|
352
|
+
- row "[<bundle>] Declared only in the bundle's config/connectors.json" [ref=e297]:
|
|
353
|
+
- cell "[<bundle>]" [ref=e298]:
|
|
354
|
+
- code [ref=e299]: "[<bundle>]"
|
|
355
|
+
- cell "Declared only in the bundle's config/connectors.json" [ref=e300]:
|
|
356
|
+
- text: Declared only in the bundle's
|
|
357
|
+
- code [ref=e301]: config/connectors.json
|
|
358
|
+
- row "[<bundle> override] Declared in shared and overridden by the bundle — the merged entry (bundle wins on conflicting keys) is shown" [ref=e302]:
|
|
359
|
+
- cell "[<bundle> override]" [ref=e303]:
|
|
360
|
+
- code [ref=e304]: "[<bundle> override]"
|
|
361
|
+
- cell "Declared in shared and overridden by the bundle — the merged entry (bundle wins on conflicting keys) is shown" [ref=e305]:
|
|
362
|
+
- text: Declared in
|
|
363
|
+
- code [ref=e306]: shared
|
|
364
|
+
- strong [ref=e307]: and
|
|
365
|
+
- text: overridden by the bundle — the merged entry (bundle wins on conflicting keys) is shown
|
|
366
|
+
- heading "JSON outputDirect link to JSON output" [level=3] [ref=e308]:
|
|
367
|
+
- text: JSON output
|
|
368
|
+
- link "Direct link to JSON output" [ref=e309] [cursor=pointer]:
|
|
369
|
+
- /url: "#json-output"
|
|
370
|
+
- text: "#"
|
|
371
|
+
- code [ref=e313]:
|
|
372
|
+
- generic [ref=e314]: gina connector:list @<project> --format=json
|
|
373
|
+
- code [ref=e318]:
|
|
374
|
+
- generic [ref=e319]: "{"
|
|
375
|
+
- generic [ref=e320]: "\"project\": \"myproject\","
|
|
376
|
+
- generic [ref=e321]: "\"status\": \"ok\","
|
|
377
|
+
- generic [ref=e322]: "\"connectors\": ["
|
|
378
|
+
- generic [ref=e323]: "{"
|
|
379
|
+
- generic [ref=e324]: "\"project\": \"myproject\","
|
|
380
|
+
- generic [ref=e325]: "\"bundle\": \"api\","
|
|
381
|
+
- generic [ref=e326]: "\"name\": \"session\","
|
|
382
|
+
- generic [ref=e327]: "\"connector\": \"couchbase\","
|
|
383
|
+
- generic [ref=e328]: "\"source\": \"override\","
|
|
384
|
+
- generic [ref=e329]: "\"driver\": \"couchbase\","
|
|
385
|
+
- generic [ref=e330]: "\"builtin\": false,"
|
|
386
|
+
- generic [ref=e331]: "\"range\": \">=3.0.0\","
|
|
387
|
+
- generic [ref=e332]: "\"version\": null,"
|
|
388
|
+
- generic [ref=e333]: "\"installed\": true,"
|
|
389
|
+
- generic [ref=e334]: "\"installedVersion\": \"4.1.3\","
|
|
390
|
+
- generic [ref=e335]: "\"note\": null,"
|
|
391
|
+
- generic [ref=e336]: "\"unresolved\": false"
|
|
392
|
+
- generic [ref=e337]: "}"
|
|
393
|
+
- generic [ref=e338]: "]"
|
|
394
|
+
- generic [ref=e339]: "}"
|
|
395
|
+
- table [ref=e340]:
|
|
396
|
+
- rowgroup [ref=e341]:
|
|
397
|
+
- row "Field Description" [ref=e342]:
|
|
398
|
+
- columnheader "Field" [ref=e343]
|
|
399
|
+
- columnheader "Description" [ref=e344]
|
|
400
|
+
- rowgroup [ref=e345]:
|
|
401
|
+
- row "project / bundle / name Project, owning bundle (null for shared-only rows), logical connector key" [ref=e346]:
|
|
402
|
+
- cell "project / bundle / name" [ref=e347]:
|
|
403
|
+
- code [ref=e348]: project
|
|
404
|
+
- text: /
|
|
405
|
+
- code [ref=e349]: bundle
|
|
406
|
+
- text: /
|
|
407
|
+
- code [ref=e350]: name
|
|
408
|
+
- cell "Project, owning bundle (null for shared-only rows), logical connector key" [ref=e351]
|
|
409
|
+
- row "connector Resolved connector type" [ref=e352]:
|
|
410
|
+
- cell "connector" [ref=e353]:
|
|
411
|
+
- code [ref=e354]: connector
|
|
412
|
+
- cell "Resolved connector type" [ref=e355]
|
|
413
|
+
- row "source \"shared\", \"bundle\", or \"override\"" [ref=e356]:
|
|
414
|
+
- cell "source" [ref=e357]:
|
|
415
|
+
- code [ref=e358]: source
|
|
416
|
+
- cell "\"shared\", \"bundle\", or \"override\"" [ref=e359]:
|
|
417
|
+
- code [ref=e360]: "\"shared\""
|
|
418
|
+
- text: ","
|
|
419
|
+
- code [ref=e361]: "\"bundle\""
|
|
420
|
+
- text: ", or"
|
|
421
|
+
- code [ref=e362]: "\"override\""
|
|
422
|
+
- row "driver npm package name (null for built-in drivers)" [ref=e363]:
|
|
423
|
+
- cell "driver" [ref=e364]:
|
|
424
|
+
- code [ref=e365]: driver
|
|
425
|
+
- cell "npm package name (null for built-in drivers)" [ref=e366]
|
|
426
|
+
- row "builtin true when the driver is Node-builtin (e.g. node:sqlite)" [ref=e367]:
|
|
427
|
+
- cell "builtin" [ref=e368]:
|
|
428
|
+
- code [ref=e369]: builtin
|
|
429
|
+
- cell "true when the driver is Node-builtin (e.g. node:sqlite)" [ref=e370]:
|
|
430
|
+
- code [ref=e371]: "true"
|
|
431
|
+
- text: when the driver is Node-builtin (e.g.
|
|
432
|
+
- code [ref=e372]: node:sqlite
|
|
433
|
+
- text: )
|
|
434
|
+
- row "range peerDependencies range declared by the framework" [ref=e373]:
|
|
435
|
+
- cell "range" [ref=e374]:
|
|
436
|
+
- code [ref=e375]: range
|
|
437
|
+
- cell "peerDependencies range declared by the framework" [ref=e376]:
|
|
438
|
+
- code [ref=e377]: peerDependencies
|
|
439
|
+
- text: range declared by the framework
|
|
440
|
+
- row "version User-set version pin from the connector entry (null if unset)" [ref=e378]:
|
|
441
|
+
- cell "version" [ref=e379]:
|
|
442
|
+
- code [ref=e380]: version
|
|
443
|
+
- cell "User-set version pin from the connector entry (null if unset)" [ref=e381]:
|
|
444
|
+
- text: User-set
|
|
445
|
+
- code [ref=e382]: version
|
|
446
|
+
- text: pin from the connector entry (null if unset)
|
|
447
|
+
- row "installed / installedVersion Install probe result from <project>/node_modules/<driver>/package.json" [ref=e383]:
|
|
448
|
+
- cell "installed / installedVersion" [ref=e384]:
|
|
449
|
+
- code [ref=e385]: installed
|
|
450
|
+
- text: /
|
|
451
|
+
- code [ref=e386]: installedVersion
|
|
452
|
+
- cell "Install probe result from <project>/node_modules/<driver>/package.json" [ref=e387]:
|
|
453
|
+
- text: Install probe result from
|
|
454
|
+
- code [ref=e388]: <project>/node_modules/<driver>/package.json
|
|
455
|
+
- row "note Human-readable hint for unresolved or built-in entries" [ref=e389]:
|
|
456
|
+
- cell "note" [ref=e390]:
|
|
457
|
+
- code [ref=e391]: note
|
|
458
|
+
- cell "Human-readable hint for unresolved or built-in entries" [ref=e392]
|
|
459
|
+
- row "unresolved true when no driver mapping exists for the type" [ref=e393]:
|
|
460
|
+
- cell "unresolved" [ref=e394]:
|
|
461
|
+
- code [ref=e395]: unresolved
|
|
462
|
+
- cell "true when no driver mapping exists for the type" [ref=e396]:
|
|
463
|
+
- code [ref=e397]: "true"
|
|
464
|
+
- text: when no driver mapping exists for the type
|
|
465
|
+
- heading "Driver resolutionDirect link to Driver resolution" [level=3] [ref=e398]:
|
|
466
|
+
- text: Driver resolution
|
|
467
|
+
- link "Direct link to Driver resolution" [ref=e399] [cursor=pointer]:
|
|
468
|
+
- /url: "#driver-resolution"
|
|
469
|
+
- text: "#"
|
|
470
|
+
- paragraph [ref=e400]:
|
|
471
|
+
- text: Drivers are resolved from the framework's
|
|
472
|
+
- code [ref=e401]: peerDependencies
|
|
473
|
+
- text: declared in
|
|
474
|
+
- code [ref=e402]: package.json
|
|
475
|
+
- text: ":"
|
|
476
|
+
- table [ref=e403]:
|
|
477
|
+
- rowgroup [ref=e404]:
|
|
478
|
+
- row "Connector type npm package Range" [ref=e405]:
|
|
479
|
+
- columnheader "Connector type" [ref=e406]
|
|
480
|
+
- columnheader "npm package" [ref=e407]
|
|
481
|
+
- columnheader "Range" [ref=e408]
|
|
482
|
+
- rowgroup [ref=e409]:
|
|
483
|
+
- row "couchbase couchbase >=3.0.0" [ref=e410]:
|
|
484
|
+
- cell "couchbase" [ref=e411]:
|
|
485
|
+
- code [ref=e412]: couchbase
|
|
486
|
+
- cell "couchbase" [ref=e413]:
|
|
487
|
+
- code [ref=e414]: couchbase
|
|
488
|
+
- cell ">=3.0.0" [ref=e415]:
|
|
489
|
+
- code [ref=e416]: ">=3.0.0"
|
|
490
|
+
- row "redis ioredis >=5.0.0" [ref=e417]:
|
|
491
|
+
- cell "redis" [ref=e418]:
|
|
492
|
+
- code [ref=e419]: redis
|
|
493
|
+
- cell "ioredis" [ref=e420]:
|
|
494
|
+
- code [ref=e421]: ioredis
|
|
495
|
+
- cell ">=5.0.0" [ref=e422]:
|
|
496
|
+
- code [ref=e423]: ">=5.0.0"
|
|
497
|
+
- row "mysql mysql2 >=2.0.0" [ref=e424]:
|
|
498
|
+
- cell "mysql" [ref=e425]:
|
|
499
|
+
- code [ref=e426]: mysql
|
|
500
|
+
- cell "mysql2" [ref=e427]:
|
|
501
|
+
- code [ref=e428]: mysql2
|
|
502
|
+
- cell ">=2.0.0" [ref=e429]:
|
|
503
|
+
- code [ref=e430]: ">=2.0.0"
|
|
504
|
+
- row "postgresql pg >=8.0.0" [ref=e431]:
|
|
505
|
+
- cell "postgresql" [ref=e432]:
|
|
506
|
+
- code [ref=e433]: postgresql
|
|
507
|
+
- cell "pg" [ref=e434]:
|
|
508
|
+
- code [ref=e435]: pg
|
|
509
|
+
- cell ">=8.0.0" [ref=e436]:
|
|
510
|
+
- code [ref=e437]: ">=8.0.0"
|
|
511
|
+
- row "mongodb mongodb >=5.0.0" [ref=e438]:
|
|
512
|
+
- cell "mongodb" [ref=e439]:
|
|
513
|
+
- code [ref=e440]: mongodb
|
|
514
|
+
- cell "mongodb" [ref=e441]:
|
|
515
|
+
- code [ref=e442]: mongodb
|
|
516
|
+
- cell ">=5.0.0" [ref=e443]:
|
|
517
|
+
- code [ref=e444]: ">=5.0.0"
|
|
518
|
+
- row "scylladb @scylladb/scylla-driver >=1.0.0" [ref=e445]:
|
|
519
|
+
- cell "scylladb" [ref=e446]:
|
|
520
|
+
- code [ref=e447]: scylladb
|
|
521
|
+
- cell "@scylladb/scylla-driver" [ref=e448]:
|
|
522
|
+
- code [ref=e449]: "@scylladb/scylla-driver"
|
|
523
|
+
- cell ">=1.0.0" [ref=e450]:
|
|
524
|
+
- code [ref=e451]: ">=1.0.0"
|
|
525
|
+
- 'row "sqlite (built-in: node:sqlite) Node ≥ 22.5.0" [ref=e452]':
|
|
526
|
+
- cell "sqlite" [ref=e453]:
|
|
527
|
+
- code [ref=e454]: sqlite
|
|
528
|
+
- 'cell "(built-in: node:sqlite)" [ref=e455]':
|
|
529
|
+
- emphasis [ref=e456]:
|
|
530
|
+
- text: "(built-in:"
|
|
531
|
+
- code [ref=e457]: node:sqlite
|
|
532
|
+
- text: )
|
|
533
|
+
- cell "Node ≥ 22.5.0" [ref=e458]
|
|
534
|
+
- row "ai Resolved from entry.protocol See below" [ref=e459]:
|
|
535
|
+
- cell "ai" [ref=e460]:
|
|
536
|
+
- code [ref=e461]: ai
|
|
537
|
+
- cell "Resolved from entry.protocol" [ref=e462]:
|
|
538
|
+
- text: Resolved from
|
|
539
|
+
- code [ref=e463]: entry.protocol
|
|
540
|
+
- cell "See below" [ref=e464]
|
|
541
|
+
- paragraph [ref=e465]:
|
|
542
|
+
- text: The
|
|
543
|
+
- code [ref=e466]: ai
|
|
544
|
+
- text: connector resolves its driver from
|
|
545
|
+
- code [ref=e467]: entry.protocol
|
|
546
|
+
- text: ":"
|
|
547
|
+
- table [ref=e468]:
|
|
548
|
+
- rowgroup [ref=e469]:
|
|
549
|
+
- row "Scheme npm package" [ref=e470]:
|
|
550
|
+
- columnheader "Scheme" [ref=e471]
|
|
551
|
+
- columnheader "npm package" [ref=e472]
|
|
552
|
+
- rowgroup [ref=e473]:
|
|
553
|
+
- row "anthropic:// @anthropic-ai/sdk (>=0.27.0)" [ref=e474]:
|
|
554
|
+
- cell "anthropic://" [ref=e475]:
|
|
555
|
+
- code [ref=e476]: anthropic://
|
|
556
|
+
- cell "@anthropic-ai/sdk (>=0.27.0)" [ref=e477]:
|
|
557
|
+
- code [ref=e478]: "@anthropic-ai/sdk"
|
|
558
|
+
- text: (
|
|
559
|
+
- code [ref=e479]: ">=0.27.0"
|
|
560
|
+
- text: )
|
|
561
|
+
- row "openai://, deepseek://, qwen://, groq://, mistral://, together://, ollama://, gemini://, xai://, perplexity:// openai (>=4.0.0)" [ref=e480]:
|
|
562
|
+
- cell "openai://, deepseek://, qwen://, groq://, mistral://, together://, ollama://, gemini://, xai://, perplexity://" [ref=e481]:
|
|
563
|
+
- code [ref=e482]: openai://
|
|
564
|
+
- text: ","
|
|
565
|
+
- code [ref=e483]: deepseek://
|
|
566
|
+
- text: ","
|
|
567
|
+
- code [ref=e484]: qwen://
|
|
568
|
+
- text: ","
|
|
569
|
+
- code [ref=e485]: groq://
|
|
570
|
+
- text: ","
|
|
571
|
+
- code [ref=e486]: mistral://
|
|
572
|
+
- text: ","
|
|
573
|
+
- code [ref=e487]: together://
|
|
574
|
+
- text: ","
|
|
575
|
+
- code [ref=e488]: ollama://
|
|
576
|
+
- text: ","
|
|
577
|
+
- code [ref=e489]: gemini://
|
|
578
|
+
- text: ","
|
|
579
|
+
- code [ref=e490]: xai://
|
|
580
|
+
- text: ","
|
|
581
|
+
- code [ref=e491]: perplexity://
|
|
582
|
+
- cell "openai (>=4.0.0)" [ref=e492]:
|
|
583
|
+
- code [ref=e493]: openai
|
|
584
|
+
- text: (
|
|
585
|
+
- code [ref=e494]: ">=4.0.0"
|
|
586
|
+
- text: )
|
|
587
|
+
- heading "Overlay semanticsDirect link to Overlay semantics" [level=3] [ref=e495]:
|
|
588
|
+
- text: Overlay semantics
|
|
589
|
+
- link "Direct link to Overlay semantics" [ref=e496] [cursor=pointer]:
|
|
590
|
+
- /url: "#overlay-semantics"
|
|
591
|
+
- text: "#"
|
|
592
|
+
- paragraph [ref=e497]:
|
|
593
|
+
- text: Shared and bundle-level
|
|
594
|
+
- code [ref=e498]: connectors.json
|
|
595
|
+
- text: files are merged key-level, with the bundle side winning on conflicting keys. This mirrors the runtime behaviour of
|
|
596
|
+
- code [ref=e499]: core/config.js
|
|
597
|
+
- text: ": a bundle that overrides"
|
|
598
|
+
- code [ref=e500]: session
|
|
599
|
+
- text: in its own
|
|
600
|
+
- code [ref=e501]: config/connectors.json
|
|
601
|
+
- text: does
|
|
602
|
+
- strong [ref=e502]: not
|
|
603
|
+
- text: need to restate the full entry — it inherits the shared fields and only overrides the keys it declares.
|
|
604
|
+
- paragraph [ref=e503]: "The text output emits one row per resolved entry:"
|
|
605
|
+
- list [ref=e504]:
|
|
606
|
+
- listitem [ref=e505]:
|
|
607
|
+
- text: A shared entry with no bundle override → one
|
|
608
|
+
- code [ref=e506]: "[shared]"
|
|
609
|
+
- text: row.
|
|
610
|
+
- listitem [ref=e507]:
|
|
611
|
+
- text: A shared entry that is overridden by one or more bundles → one
|
|
612
|
+
- code [ref=e508]: "[<bundle> override]"
|
|
613
|
+
- text: row per overriding bundle;
|
|
614
|
+
- strong [ref=e509]:
|
|
615
|
+
- text: no standalone
|
|
616
|
+
- code [ref=e510]: "[shared]"
|
|
617
|
+
- text: row
|
|
618
|
+
- text: .
|
|
619
|
+
- listitem [ref=e511]:
|
|
620
|
+
- text: A bundle-only entry (not in shared) →
|
|
621
|
+
- code [ref=e512]: "[<bundle>]"
|
|
622
|
+
- text: .
|
|
623
|
+
- heading "Comment toleranceDirect link to Comment tolerance" [level=3] [ref=e513]:
|
|
624
|
+
- text: Comment tolerance
|
|
625
|
+
- link "Direct link to Comment tolerance" [ref=e514] [cursor=pointer]:
|
|
626
|
+
- /url: "#comment-tolerance"
|
|
627
|
+
- text: "#"
|
|
628
|
+
- paragraph [ref=e515]:
|
|
629
|
+
- code [ref=e516]: connectors.json
|
|
630
|
+
- text: ","
|
|
631
|
+
- code [ref=e517]: manifest.json
|
|
632
|
+
- text: ", and the file headers they carry are parsed with tolerance for"
|
|
633
|
+
- code [ref=e518]: //
|
|
634
|
+
- text: line comments and
|
|
635
|
+
- code [ref=e519]: /* … */
|
|
636
|
+
- text: block comments, the same as
|
|
637
|
+
- code [ref=e520]: routing.json
|
|
638
|
+
- text: .
|
|
639
|
+
- heading "Error pathsDirect link to Error paths" [level=3] [ref=e521]:
|
|
640
|
+
- text: Error paths
|
|
641
|
+
- link "Direct link to Error paths" [ref=e522] [cursor=pointer]:
|
|
642
|
+
- /url: "#error-paths"
|
|
643
|
+
- text: "#"
|
|
644
|
+
- table [ref=e523]:
|
|
645
|
+
- rowgroup [ref=e524]:
|
|
646
|
+
- row "Input Behaviour" [ref=e525]:
|
|
647
|
+
- columnheader "Input" [ref=e526]
|
|
648
|
+
- columnheader "Behaviour" [ref=e527]
|
|
649
|
+
- rowgroup [ref=e528]:
|
|
650
|
+
- 'row "connector:list @unknown CmdHelper rejects: \"Project [unknown] not found in your projects list\" (exit 1)" [ref=e529]':
|
|
651
|
+
- cell "connector:list @unknown" [ref=e530]:
|
|
652
|
+
- code [ref=e531]: connector:list @unknown
|
|
653
|
+
- 'cell "CmdHelper rejects: \"Project [unknown] not found in your projects list\" (exit 1)" [ref=e532]'
|
|
654
|
+
- row "connector:list <bundle> (no @<project>) \"connector:list <bundle> requires @<project>\" (exit 1)" [ref=e533]:
|
|
655
|
+
- cell "connector:list <bundle> (no @<project>)" [ref=e534]:
|
|
656
|
+
- code [ref=e535]: connector:list <bundle>
|
|
657
|
+
- text: (no
|
|
658
|
+
- code [ref=e536]: "@<project>"
|
|
659
|
+
- text: )
|
|
660
|
+
- cell "\"connector:list <bundle> requires @<project>\" (exit 1)" [ref=e537]:
|
|
661
|
+
- text: "\""
|
|
662
|
+
- code [ref=e538]: connector:list <bundle>
|
|
663
|
+
- text: requires
|
|
664
|
+
- code [ref=e539]: "@<project>"
|
|
665
|
+
- text: "\" (exit 1)"
|
|
666
|
+
- row "connector:list bogus @<project> \"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e540]:
|
|
667
|
+
- cell "connector:list bogus @<project>" [ref=e541]:
|
|
668
|
+
- code [ref=e542]: connector:list bogus @<project>
|
|
669
|
+
- cell "\"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e543]:
|
|
670
|
+
- text: "\"Bundle [ bogus ] is not registered inside"
|
|
671
|
+
- code [ref=e544]: "@<project>"
|
|
672
|
+
- text: "\" (exit 1)"
|
|
673
|
+
- row "connectors.json malformed Treated as \"no connectors declared\" (silently skipped — use bundle:start for strict validation)" [ref=e545]:
|
|
674
|
+
- cell "connectors.json malformed" [ref=e546]:
|
|
675
|
+
- code [ref=e547]: connectors.json
|
|
676
|
+
- text: malformed
|
|
677
|
+
- cell "Treated as \"no connectors declared\" (silently skipped — use bundle:start for strict validation)" [ref=e548]:
|
|
678
|
+
- text: Treated as "no connectors declared" (silently skipped — use
|
|
679
|
+
- code [ref=e549]: bundle:start
|
|
680
|
+
- text: for strict validation)
|
|
681
|
+
- generic [ref=e550]:
|
|
682
|
+
- generic [ref=e551]:
|
|
683
|
+
- img [ref=e553]
|
|
684
|
+
- text: Version-pin warnings vs. install resolution
|
|
685
|
+
- paragraph [ref=e556]:
|
|
686
|
+
- text: npm resolves
|
|
687
|
+
- code [ref=e557]: node_modules/<driver>/
|
|
688
|
+
- text: to a single version per project. When two bundles declare the same driver with different
|
|
689
|
+
- code [ref=e558]: version
|
|
690
|
+
- text: pins, the first
|
|
691
|
+
- code [ref=e559]: npm install
|
|
692
|
+
- text: wins and the other bundle's pin is aspirational.
|
|
693
|
+
- code [ref=e560]: connector:list
|
|
694
|
+
- text: flags this with a trailing
|
|
695
|
+
- code [ref=e561]: "[ !! ] driver \\"
|
|
696
|
+
- text: "` has conflicting `version` pins: ...` line. The actual installed version still appears on the affected rows."
|
|
697
|
+
- separator [ref=e562]
|
|
698
|
+
- heading "connector:addDirect link to connectoradd" [level=2] [ref=e563]:
|
|
699
|
+
- code [ref=e564]: connector:add
|
|
700
|
+
- link "Direct link to connectoradd" [ref=e565] [cursor=pointer]:
|
|
701
|
+
- /url: "#connectoradd"
|
|
702
|
+
- text: "#"
|
|
703
|
+
- paragraph [ref=e566]:
|
|
704
|
+
- emphasis [ref=e567]: New in 0.3.7-alpha.2
|
|
705
|
+
- paragraph [ref=e568]:
|
|
706
|
+
- text: Add a connector entry to a project's
|
|
707
|
+
- code [ref=e569]: shared/config/connectors.json
|
|
708
|
+
- text: or a bundle-scoped
|
|
709
|
+
- code [ref=e570]: <bundle>/config/connectors.json
|
|
710
|
+
- text: . Preserves any
|
|
711
|
+
- code [ref=e571]: //
|
|
712
|
+
- text: /
|
|
713
|
+
- code [ref=e572]: /* */
|
|
714
|
+
- text: comment header above the first
|
|
715
|
+
- code [ref=e573]: "{"
|
|
716
|
+
- text: ", serialises the body with 4-space indentation, and pins"
|
|
717
|
+
- code [ref=e574]: $schema
|
|
718
|
+
- text: at the top.
|
|
719
|
+
- code [ref=e578]:
|
|
720
|
+
- generic [ref=e579]: "gina connector:add <name> @<project> # Writes to shared/config/connectors.json"
|
|
721
|
+
- generic [ref=e580]: "gina connector:add <name> <bundle> @<project> # Writes to <bundle-src>/config/connectors.json"
|
|
722
|
+
- paragraph [ref=e581]:
|
|
723
|
+
- text: After the write, the exact install command for the matching driver is printed — e.g.
|
|
724
|
+
- code [ref=e582]: npm install ioredis@">=5.0.0"
|
|
725
|
+
- text: .
|
|
726
|
+
- heading "FlagsDirect link to Flags" [level=3] [ref=e583]:
|
|
727
|
+
- text: Flags
|
|
728
|
+
- link "Direct link to Flags" [ref=e584] [cursor=pointer]:
|
|
729
|
+
- /url: "#flags"
|
|
730
|
+
- text: "#"
|
|
731
|
+
- table [ref=e585]:
|
|
732
|
+
- rowgroup [ref=e586]:
|
|
733
|
+
- row "Flag Description" [ref=e587]:
|
|
734
|
+
- columnheader "Flag" [ref=e588]
|
|
735
|
+
- columnheader "Description" [ref=e589]
|
|
736
|
+
- rowgroup [ref=e590]:
|
|
737
|
+
- 'row "--connector=<type> Driver type. One of: couchbase, mysql, postgresql, sqlite, redis, ai. Inferred from <name> when <name> matches one of those values." [ref=e591]':
|
|
738
|
+
- cell "--connector=<type>" [ref=e592]:
|
|
739
|
+
- code [ref=e593]: "--connector=<type>"
|
|
740
|
+
- 'cell "Driver type. One of: couchbase, mysql, postgresql, sqlite, redis, ai. Inferred from <name> when <name> matches one of those values." [ref=e594]':
|
|
741
|
+
- text: "Driver type. One of:"
|
|
742
|
+
- code [ref=e595]: couchbase
|
|
743
|
+
- text: ","
|
|
744
|
+
- code [ref=e596]: mysql
|
|
745
|
+
- text: ","
|
|
746
|
+
- code [ref=e597]: postgresql
|
|
747
|
+
- text: ","
|
|
748
|
+
- code [ref=e598]: sqlite
|
|
749
|
+
- text: ","
|
|
750
|
+
- code [ref=e599]: redis
|
|
751
|
+
- text: ","
|
|
752
|
+
- code [ref=e600]: ai
|
|
753
|
+
- text: . Inferred from
|
|
754
|
+
- code [ref=e601]: <name>
|
|
755
|
+
- text: when
|
|
756
|
+
- code [ref=e602]: <name>
|
|
757
|
+
- text: matches one of those values.
|
|
758
|
+
- row "--driver=<type> Synonym for --connector=." [ref=e603]:
|
|
759
|
+
- cell "--driver=<type>" [ref=e604]:
|
|
760
|
+
- code [ref=e605]: "--driver=<type>"
|
|
761
|
+
- cell "Synonym for --connector=." [ref=e606]:
|
|
762
|
+
- text: Synonym for
|
|
763
|
+
- code [ref=e607]: "--connector="
|
|
764
|
+
- text: .
|
|
765
|
+
- row "--protocol=<uri> Connection protocol URI scheme (couchbase://, anthropic://, etc). Required for ai connectors." [ref=e608]:
|
|
766
|
+
- cell "--protocol=<uri>" [ref=e609]:
|
|
767
|
+
- code [ref=e610]: "--protocol=<uri>"
|
|
768
|
+
- cell "Connection protocol URI scheme (couchbase://, anthropic://, etc). Required for ai connectors." [ref=e611]:
|
|
769
|
+
- text: Connection protocol URI scheme (
|
|
770
|
+
- code [ref=e612]: couchbase://
|
|
771
|
+
- text: ","
|
|
772
|
+
- code [ref=e613]: anthropic://
|
|
773
|
+
- text: ", etc). Required for"
|
|
774
|
+
- code [ref=e614]: ai
|
|
775
|
+
- text: connectors.
|
|
776
|
+
- row "--host=<host> Hostname or IP. Comma-separated for clusters (db1,db2)." [ref=e615]:
|
|
777
|
+
- cell "--host=<host>" [ref=e616]:
|
|
778
|
+
- code [ref=e617]: "--host=<host>"
|
|
779
|
+
- cell "Hostname or IP. Comma-separated for clusters (db1,db2)." [ref=e618]:
|
|
780
|
+
- text: Hostname or IP. Comma-separated for clusters (
|
|
781
|
+
- code [ref=e619]: db1,db2
|
|
782
|
+
- text: ).
|
|
783
|
+
- row "--connector-port=<port> Server port. Numeric when possible. Written to the entry under the port key. See the Reserved flag names note below." [ref=e620]:
|
|
784
|
+
- cell "--connector-port=<port>" [ref=e621]:
|
|
785
|
+
- code [ref=e622]: "--connector-port=<port>"
|
|
786
|
+
- cell "Server port. Numeric when possible. Written to the entry under the port key. See the Reserved flag names note below." [ref=e623]:
|
|
787
|
+
- text: Server port. Numeric when possible. Written to the entry under the
|
|
788
|
+
- code [ref=e624]: port
|
|
789
|
+
- text: key. See the
|
|
790
|
+
- strong [ref=e625]: Reserved flag names
|
|
791
|
+
- text: note below.
|
|
792
|
+
- row "--database=<name> Database, bucket, or keyspace name." [ref=e626]:
|
|
793
|
+
- cell "--database=<name>" [ref=e627]:
|
|
794
|
+
- code [ref=e628]: "--database=<name>"
|
|
795
|
+
- cell "Database, bucket, or keyspace name." [ref=e629]
|
|
796
|
+
- row "--username=<name> Authentication username." [ref=e630]:
|
|
797
|
+
- cell "--username=<name>" [ref=e631]:
|
|
798
|
+
- code [ref=e632]: "--username=<name>"
|
|
799
|
+
- cell "Authentication username." [ref=e633]
|
|
800
|
+
- 'row "--password=<value> Authentication password. Supports ${ENV_VAR} interpolation." [ref=e634]':
|
|
801
|
+
- cell "--password=<value>" [ref=e635]:
|
|
802
|
+
- code [ref=e636]: "--password=<value>"
|
|
803
|
+
- 'cell "Authentication password. Supports ${ENV_VAR} interpolation." [ref=e637]':
|
|
804
|
+
- text: Authentication password. Supports
|
|
805
|
+
- code [ref=e638]: "${ENV_VAR}"
|
|
806
|
+
- text: interpolation.
|
|
807
|
+
- 'row "--scope=<scope> Data isolation scope: local, beta, production, testing." [ref=e639]':
|
|
808
|
+
- cell "--scope=<scope>" [ref=e640]:
|
|
809
|
+
- code [ref=e641]: "--scope=<scope>"
|
|
810
|
+
- 'cell "Data isolation scope: local, beta, production, testing." [ref=e642]':
|
|
811
|
+
- text: "Data isolation scope:"
|
|
812
|
+
- code [ref=e643]: local
|
|
813
|
+
- text: ","
|
|
814
|
+
- code [ref=e644]: beta
|
|
815
|
+
- text: ","
|
|
816
|
+
- code [ref=e645]: production
|
|
817
|
+
- text: ","
|
|
818
|
+
- code [ref=e646]: testing
|
|
819
|
+
- text: .
|
|
820
|
+
- row "--model=<id> AI connector only. Default model id." [ref=e647]:
|
|
821
|
+
- cell "--model=<id>" [ref=e648]:
|
|
822
|
+
- code [ref=e649]: "--model=<id>"
|
|
823
|
+
- cell "AI connector only. Default model id." [ref=e650]
|
|
824
|
+
- 'row "--api-key=<value> AI connector only. API key. Supports ${ENV_VAR} interpolation." [ref=e651]':
|
|
825
|
+
- cell "--api-key=<value>" [ref=e652]:
|
|
826
|
+
- code [ref=e653]: "--api-key=<value>"
|
|
827
|
+
- 'cell "AI connector only. API key. Supports ${ENV_VAR} interpolation." [ref=e654]':
|
|
828
|
+
- text: AI connector only. API key. Supports
|
|
829
|
+
- code [ref=e655]: "${ENV_VAR}"
|
|
830
|
+
- text: interpolation.
|
|
831
|
+
- row "--base-url=<url> AI connector only. Override the provider base URL (OpenAI-compatible providers)." [ref=e656]:
|
|
832
|
+
- cell "--base-url=<url>" [ref=e657]:
|
|
833
|
+
- code [ref=e658]: "--base-url=<url>"
|
|
834
|
+
- cell "AI connector only. Override the provider base URL (OpenAI-compatible providers)." [ref=e659]
|
|
835
|
+
- row "--driver-version=<range> Optional semver range to pin the driver install (e.g. ^5.0.0, >=5.3.0 <6.0.0). Written to the entry under the version key. See the Reserved flag names note below." [ref=e660]:
|
|
836
|
+
- cell "--driver-version=<range>" [ref=e661]:
|
|
837
|
+
- code [ref=e662]: "--driver-version=<range>"
|
|
838
|
+
- cell "Optional semver range to pin the driver install (e.g. ^5.0.0, >=5.3.0 <6.0.0). Written to the entry under the version key. See the Reserved flag names note below." [ref=e663]:
|
|
839
|
+
- text: Optional semver range to pin the driver install (e.g.
|
|
840
|
+
- code [ref=e664]: ^5.0.0
|
|
841
|
+
- text: ","
|
|
842
|
+
- code [ref=e665]: ">=5.3.0 <6.0.0"
|
|
843
|
+
- text: ). Written to the entry under the
|
|
844
|
+
- code [ref=e666]: version
|
|
845
|
+
- text: key. See the
|
|
846
|
+
- strong [ref=e667]: Reserved flag names
|
|
847
|
+
- text: note below.
|
|
848
|
+
- row "--force Overwrite an existing entry with the same <name>." [ref=e668]:
|
|
849
|
+
- cell "--force" [ref=e669]:
|
|
850
|
+
- code [ref=e670]: "--force"
|
|
851
|
+
- cell "Overwrite an existing entry with the same <name>." [ref=e671]:
|
|
852
|
+
- text: Overwrite an existing entry with the same
|
|
853
|
+
- code [ref=e672]: <name>
|
|
854
|
+
- text: .
|
|
855
|
+
- row "--install After writing the entry, run the detected package manager's install command for the resolved driver + range. Opt-in; default behaviour is \"write entry, print hint\". See Driver install below." [ref=e673]:
|
|
856
|
+
- cell "--install" [ref=e674]:
|
|
857
|
+
- code [ref=e675]: "--install"
|
|
858
|
+
- cell "After writing the entry, run the detected package manager's install command for the resolved driver + range. Opt-in; default behaviour is \"write entry, print hint\". See Driver install below." [ref=e676]:
|
|
859
|
+
- text: After writing the entry, run the detected package manager's install command for the resolved driver + range. Opt-in; default behaviour is "write entry, print hint". See
|
|
860
|
+
- link "Driver install" [ref=e677] [cursor=pointer]:
|
|
861
|
+
- /url: "#driver-install-with---install"
|
|
862
|
+
- text: below.
|
|
863
|
+
- generic [ref=e678]:
|
|
864
|
+
- generic [ref=e679]:
|
|
865
|
+
- img [ref=e681]
|
|
866
|
+
- text: Reserved flag names
|
|
867
|
+
- generic [ref=e683]:
|
|
868
|
+
- paragraph [ref=e684]: "Two CLI flags use longer names than their schema property names:"
|
|
869
|
+
- list [ref=e685]:
|
|
870
|
+
- listitem [ref=e686]:
|
|
871
|
+
- strong [ref=e687]:
|
|
872
|
+
- code [ref=e688]: "--connector-port="
|
|
873
|
+
- text: (not
|
|
874
|
+
- code [ref=e689]: "--port="
|
|
875
|
+
- text: "):"
|
|
876
|
+
- code [ref=e690]: "--port="
|
|
877
|
+
- text: is reserved by the framework for its own socket port (8124 by default) and is intercepted by
|
|
878
|
+
- code [ref=e691]: bin/cli
|
|
879
|
+
- text: before the handler runs. The written JSON entry still uses the property name
|
|
880
|
+
- code [ref=e692]: port
|
|
881
|
+
- text: .
|
|
882
|
+
- listitem [ref=e693]:
|
|
883
|
+
- strong [ref=e694]:
|
|
884
|
+
- code [ref=e695]: "--driver-version="
|
|
885
|
+
- text: (not
|
|
886
|
+
- code [ref=e696]: "--version="
|
|
887
|
+
- text: "): the framework auto-converts any"
|
|
888
|
+
- code [ref=e697]: "--<key>=<value>"
|
|
889
|
+
- text: flag to a
|
|
890
|
+
- code [ref=e698]: GINA_<KEY>
|
|
891
|
+
- text: env var, so
|
|
892
|
+
- code [ref=e699]: "--version=^5.0.0"
|
|
893
|
+
- text: would set
|
|
894
|
+
- code [ref=e700]: GINA_VERSION=^5.0.0
|
|
895
|
+
- text: and trigger a framework version migration. The written JSON entry still uses the property name
|
|
896
|
+
- code [ref=e701]: version
|
|
897
|
+
- text: .
|
|
898
|
+
- paragraph [ref=e702]: These aliases exist to avoid collisions with framework-level flags; the on-disk JSON shape is unchanged.
|
|
899
|
+
- heading "ExamplesDirect link to Examples" [level=3] [ref=e703]:
|
|
900
|
+
- text: Examples
|
|
901
|
+
- link "Direct link to Examples" [ref=e704] [cursor=pointer]:
|
|
902
|
+
- /url: "#examples"
|
|
903
|
+
- text: "#"
|
|
904
|
+
- code [ref=e708]:
|
|
905
|
+
- generic [ref=e709]: "# Shared Redis, type inferred from name"
|
|
906
|
+
- generic [ref=e710]: gina connector:add redis @myproject --host=127.0.0.1 --connector-port=6379
|
|
907
|
+
- generic [ref=e711]: "# Shared Redis under a custom name"
|
|
908
|
+
- generic [ref=e712]: gina connector:add session @myproject --connector=redis --host=127.0.0.1 --connector-port=6379
|
|
909
|
+
- generic [ref=e713]: "# Bundle-scoped MySQL entry"
|
|
910
|
+
- generic [ref=e714]: gina connector:add mydb api @myproject --connector=mysql --database=mydb --username=root
|
|
911
|
+
- generic [ref=e715]: "# AI connector with env-var secret"
|
|
912
|
+
- generic [ref=e716]: "gina connector:add ai-bot @myproject --connector=ai --protocol=anthropic:// --api-key='${ANTHROPIC_API_KEY}'"
|
|
913
|
+
- generic [ref=e717]: "# Pin driver version, overwrite existing"
|
|
914
|
+
- generic [ref=e718]: gina connector:add session @myproject --connector=redis --driver-version=^5.0.0 --force
|
|
915
|
+
- generic [ref=e719]: "# Write entry AND run `npm install ioredis@<range>` (lockfile-detected PM)"
|
|
916
|
+
- generic [ref=e720]: gina connector:add redis @myproject --install
|
|
917
|
+
- heading "OutputDirect link to Output" [level=3] [ref=e721]:
|
|
918
|
+
- text: Output
|
|
919
|
+
- link "Direct link to Output" [ref=e722] [cursor=pointer]:
|
|
920
|
+
- /url: "#output-1"
|
|
921
|
+
- text: "#"
|
|
922
|
+
- code [ref=e726]:
|
|
923
|
+
- generic [ref=e727]: "Added connector `redis` (redis) in bundle `api` at /path/to/project/src/api/config/connectors.json"
|
|
924
|
+
- generic [ref=e728]: "Next: run `npm install ioredis@\">=5.0.0\"` inside your project root."
|
|
925
|
+
- paragraph [ref=e729]:
|
|
926
|
+
- text: When overwriting an existing entry with
|
|
927
|
+
- code [ref=e730]: "--force"
|
|
928
|
+
- text: ", the first line reads"
|
|
929
|
+
- code [ref=e731]: Updated connector ...
|
|
930
|
+
- text: instead of
|
|
931
|
+
- code [ref=e732]: Added connector ...
|
|
932
|
+
- text: .
|
|
933
|
+
- heading "Driver install with --installDirect link to driver-install-with---install" [level=3] [ref=e733]:
|
|
934
|
+
- text: Driver install with
|
|
935
|
+
- code [ref=e734]: "--install"
|
|
936
|
+
- link "Direct link to driver-install-with---install" [ref=e735] [cursor=pointer]:
|
|
937
|
+
- /url: "#driver-install-with---install"
|
|
938
|
+
- text: "#"
|
|
939
|
+
- paragraph [ref=e736]:
|
|
940
|
+
- text: By default,
|
|
941
|
+
- code [ref=e737]: connector:add
|
|
942
|
+
- text: writes the entry and prints the matching
|
|
943
|
+
- code [ref=e738]: npm install …
|
|
944
|
+
- text: hint — it does
|
|
945
|
+
- strong [ref=e739]: not
|
|
946
|
+
- text: run the install for you. Pass
|
|
947
|
+
- code [ref=e740]: "--install"
|
|
948
|
+
- text: to turn that hint into an actual call, using the package manager detected from the project's lockfile.
|
|
949
|
+
- code [ref=e744]:
|
|
950
|
+
- generic [ref=e745]: gina connector:add redis @myproject --install
|
|
951
|
+
- code [ref=e749]:
|
|
952
|
+
- generic [ref=e750]: "Added connector `redis` (redis) in shared scope at /path/to/project/shared/config/connectors.json"
|
|
953
|
+
- generic [ref=e751]: "[install] detected package manager: npm (package-lock.json)"
|
|
954
|
+
- generic [ref=e752]: "[install] resolving driver range: >=5.0.0 (source: framework)"
|
|
955
|
+
- generic [ref=e753]: "[npm] running: npm install ioredis@>=5.0.0 (cwd: /path/to/project)"
|
|
956
|
+
- generic [ref=e754]: …npm output…
|
|
957
|
+
- paragraph [ref=e755]:
|
|
958
|
+
- strong [ref=e756]: Package-manager detection (lockfile probe order)
|
|
959
|
+
- paragraph [ref=e757]: "The detector walks the project root looking for a lockfile, in this order:"
|
|
960
|
+
- table [ref=e758]:
|
|
961
|
+
- rowgroup [ref=e759]:
|
|
962
|
+
- row "Order Lockfile Package manager Install subcommand" [ref=e760]:
|
|
963
|
+
- columnheader "Order" [ref=e761]
|
|
964
|
+
- columnheader "Lockfile" [ref=e762]
|
|
965
|
+
- columnheader "Package manager" [ref=e763]
|
|
966
|
+
- columnheader "Install subcommand" [ref=e764]
|
|
967
|
+
- rowgroup [ref=e765]:
|
|
968
|
+
- row "1 bun.lockb bun bun add <pkg>@<range>" [ref=e766]:
|
|
969
|
+
- cell "1" [ref=e767]
|
|
970
|
+
- cell "bun.lockb" [ref=e768]:
|
|
971
|
+
- code [ref=e769]: bun.lockb
|
|
972
|
+
- cell "bun" [ref=e770]
|
|
973
|
+
- cell "bun add <pkg>@<range>" [ref=e771]:
|
|
974
|
+
- code [ref=e772]: bun add <pkg>@<range>
|
|
975
|
+
- row "2 pnpm-lock.yaml pnpm pnpm add <pkg>@<range>" [ref=e773]:
|
|
976
|
+
- cell "2" [ref=e774]
|
|
977
|
+
- cell "pnpm-lock.yaml" [ref=e775]:
|
|
978
|
+
- code [ref=e776]: pnpm-lock.yaml
|
|
979
|
+
- cell "pnpm" [ref=e777]
|
|
980
|
+
- cell "pnpm add <pkg>@<range>" [ref=e778]:
|
|
981
|
+
- code [ref=e779]: pnpm add <pkg>@<range>
|
|
982
|
+
- row "3 yarn.lock yarn yarn add <pkg>@<range>" [ref=e780]:
|
|
983
|
+
- cell "3" [ref=e781]
|
|
984
|
+
- cell "yarn.lock" [ref=e782]:
|
|
985
|
+
- code [ref=e783]: yarn.lock
|
|
986
|
+
- cell "yarn" [ref=e784]
|
|
987
|
+
- cell "yarn add <pkg>@<range>" [ref=e785]:
|
|
988
|
+
- code [ref=e786]: yarn add <pkg>@<range>
|
|
989
|
+
- row "4 package-lock.json npm npm install <pkg>@<range>" [ref=e787]:
|
|
990
|
+
- cell "4" [ref=e788]
|
|
991
|
+
- cell "package-lock.json" [ref=e789]:
|
|
992
|
+
- code [ref=e790]: package-lock.json
|
|
993
|
+
- cell "npm" [ref=e791]
|
|
994
|
+
- cell "npm install <pkg>@<range>" [ref=e792]:
|
|
995
|
+
- code [ref=e793]: npm install <pkg>@<range>
|
|
996
|
+
- row "— (no lockfile) npm (fallback) npm install <pkg>@<range>" [ref=e794]:
|
|
997
|
+
- cell "—" [ref=e795]
|
|
998
|
+
- cell "(no lockfile)" [ref=e796]:
|
|
999
|
+
- emphasis [ref=e797]: (no lockfile)
|
|
1000
|
+
- cell "npm (fallback)" [ref=e798]
|
|
1001
|
+
- cell "npm install <pkg>@<range>" [ref=e799]:
|
|
1002
|
+
- code [ref=e800]: npm install <pkg>@<range>
|
|
1003
|
+
- paragraph [ref=e801]:
|
|
1004
|
+
- text: The first match wins. When no lockfile is present, npm is the fallback — the detector logs
|
|
1005
|
+
- code [ref=e802]: (fallback — no lockfile found)
|
|
1006
|
+
- text: so it's visible in the output.
|
|
1007
|
+
- paragraph [ref=e803]:
|
|
1008
|
+
- strong [ref=e804]: Install-range resolution order
|
|
1009
|
+
- paragraph [ref=e805]:
|
|
1010
|
+
- text: The range that follows
|
|
1011
|
+
- code [ref=e806]: "@"
|
|
1012
|
+
- text: "in the install command is resolved in three tiers, first match wins:"
|
|
1013
|
+
- list [ref=e807]:
|
|
1014
|
+
- listitem [ref=e808]:
|
|
1015
|
+
- strong [ref=e809]:
|
|
1016
|
+
- code [ref=e810]: "--driver-version=<range>"
|
|
1017
|
+
- text: — the pin on the
|
|
1018
|
+
- code [ref=e811]: connector:add
|
|
1019
|
+
- text: call (if set). Also written to the entry under the
|
|
1020
|
+
- code [ref=e812]: version
|
|
1021
|
+
- text: key.
|
|
1022
|
+
- listitem [ref=e813]:
|
|
1023
|
+
- strong [ref=e814]:
|
|
1024
|
+
- text: Project
|
|
1025
|
+
- code [ref=e815]: package.json
|
|
1026
|
+
- text: —
|
|
1027
|
+
- code [ref=e816]: dependencies
|
|
1028
|
+
- text: first, then
|
|
1029
|
+
- code [ref=e817]: devDependencies
|
|
1030
|
+
- text: . If the driver is already declared there (from a previous install), that range is reused so
|
|
1031
|
+
- code [ref=e818]: npm install
|
|
1032
|
+
- text: doesn't churn the lockfile.
|
|
1033
|
+
- listitem [ref=e819]:
|
|
1034
|
+
- strong [ref=e820]:
|
|
1035
|
+
- text: Framework
|
|
1036
|
+
- code [ref=e821]: peerDependencies
|
|
1037
|
+
- text: — the range declared by gina itself (e.g.
|
|
1038
|
+
- code [ref=e822]: ioredis >=5.0.0
|
|
1039
|
+
- text: ","
|
|
1040
|
+
- code [ref=e823]: couchbase >=3.0.0
|
|
1041
|
+
- text: ).
|
|
1042
|
+
- paragraph [ref=e824]:
|
|
1043
|
+
- text: The resolved tier is logged as
|
|
1044
|
+
- code [ref=e825]: "(source: entry | project | framework)"
|
|
1045
|
+
- text: so you can see which rung fired.
|
|
1046
|
+
- paragraph [ref=e826]:
|
|
1047
|
+
- strong [ref=e827]:
|
|
1048
|
+
- code [ref=e828]: sqlite
|
|
1049
|
+
- text: and
|
|
1050
|
+
- code [ref=e829]: ai
|
|
1051
|
+
- text: behaviour
|
|
1052
|
+
- list [ref=e830]:
|
|
1053
|
+
- listitem [ref=e831]:
|
|
1054
|
+
- strong [ref=e832]:
|
|
1055
|
+
- code [ref=e833]: sqlite
|
|
1056
|
+
- text: — short-circuits. Node.js ≥ 22.5.0 ships
|
|
1057
|
+
- code [ref=e834]: node:sqlite
|
|
1058
|
+
- text: built in, so
|
|
1059
|
+
- code [ref=e835]: "--install"
|
|
1060
|
+
- text: logs
|
|
1061
|
+
- code [ref=e836]: "[install] no install needed — Node.js >= 22.5.0 built-in (node:sqlite)."
|
|
1062
|
+
- text: and exits
|
|
1063
|
+
- code [ref=e837]: "0"
|
|
1064
|
+
- text: without running anything.
|
|
1065
|
+
- listitem [ref=e838]:
|
|
1066
|
+
- strong [ref=e839]:
|
|
1067
|
+
- code [ref=e840]: ai
|
|
1068
|
+
- text: with a missing or unknown
|
|
1069
|
+
- code [ref=e841]: "--protocol="
|
|
1070
|
+
- text: — exits
|
|
1071
|
+
- code [ref=e842]: "1"
|
|
1072
|
+
- text: after writing the entry. The entry is still written to disk (you can fix the protocol and re-run
|
|
1073
|
+
- code [ref=e843]: "--install"
|
|
1074
|
+
- text: separately, or install by hand). The error names the supported schemes.
|
|
1075
|
+
- paragraph [ref=e844]:
|
|
1076
|
+
- strong [ref=e845]: Exit codes
|
|
1077
|
+
- table [ref=e846]:
|
|
1078
|
+
- rowgroup [ref=e847]:
|
|
1079
|
+
- row "Scenario Exit code" [ref=e848]:
|
|
1080
|
+
- columnheader "Scenario" [ref=e849]
|
|
1081
|
+
- columnheader "Exit code" [ref=e850]
|
|
1082
|
+
- rowgroup [ref=e851]:
|
|
1083
|
+
- row "Entry written, install ran, package manager exited 0 0" [ref=e852]:
|
|
1084
|
+
- cell "Entry written, install ran, package manager exited 0" [ref=e853]:
|
|
1085
|
+
- text: Entry written, install ran, package manager exited
|
|
1086
|
+
- code [ref=e854]: "0"
|
|
1087
|
+
- cell "0" [ref=e855]:
|
|
1088
|
+
- code [ref=e856]: "0"
|
|
1089
|
+
- row "Entry written, sqlite short-circuit 0" [ref=e857]:
|
|
1090
|
+
- cell "Entry written, sqlite short-circuit" [ref=e858]:
|
|
1091
|
+
- text: Entry written,
|
|
1092
|
+
- code [ref=e859]: sqlite
|
|
1093
|
+
- text: short-circuit
|
|
1094
|
+
- cell "0" [ref=e860]:
|
|
1095
|
+
- code [ref=e861]: "0"
|
|
1096
|
+
- row "Entry written, install ran, package manager exited non-zero whatever the PM returned" [ref=e862]:
|
|
1097
|
+
- cell "Entry written, install ran, package manager exited non-zero" [ref=e863]
|
|
1098
|
+
- cell "whatever the PM returned" [ref=e864]
|
|
1099
|
+
- row "Entry written, PM binary missing on PATH 127" [ref=e865]:
|
|
1100
|
+
- cell "Entry written, PM binary missing on PATH" [ref=e866]:
|
|
1101
|
+
- text: Entry written, PM binary missing on
|
|
1102
|
+
- code [ref=e867]: PATH
|
|
1103
|
+
- cell "127" [ref=e868]:
|
|
1104
|
+
- code [ref=e869]: "127"
|
|
1105
|
+
- row "Entry written, AI connector with missing/unknown protocol 1" [ref=e870]:
|
|
1106
|
+
- cell "Entry written, AI connector with missing/unknown protocol" [ref=e871]:
|
|
1107
|
+
- text: Entry written, AI connector with missing/unknown
|
|
1108
|
+
- code [ref=e872]: protocol
|
|
1109
|
+
- cell "1" [ref=e873]:
|
|
1110
|
+
- code [ref=e874]: "1"
|
|
1111
|
+
- row "Entry written, unknown connector type 1" [ref=e875]:
|
|
1112
|
+
- cell "Entry written, unknown connector type" [ref=e876]
|
|
1113
|
+
- cell "1" [ref=e877]:
|
|
1114
|
+
- code [ref=e878]: "1"
|
|
1115
|
+
- generic [ref=e879]:
|
|
1116
|
+
- generic [ref=e880]:
|
|
1117
|
+
- img [ref=e882]
|
|
1118
|
+
- text: Opt-in by design
|
|
1119
|
+
- paragraph [ref=e885]:
|
|
1120
|
+
- code [ref=e886]: "--install"
|
|
1121
|
+
- text: is never applied by default —
|
|
1122
|
+
- code [ref=e887]: connector:add
|
|
1123
|
+
- text: always writes the entry first, then honours the flag. There is no
|
|
1124
|
+
- code [ref=e888]: "--no-install"
|
|
1125
|
+
- text: /
|
|
1126
|
+
- code [ref=e889]: "--yes"
|
|
1127
|
+
- text: counterpart, and no configuration that silently turns install into the default. If a future session needs it, the flag can be added without changing the default.
|
|
1128
|
+
- heading "Version pin — where it appliesDirect link to Version pin — where it applies" [level=3] [ref=e890]:
|
|
1129
|
+
- text: Version pin — where it applies
|
|
1130
|
+
- link "Direct link to Version pin — where it applies" [ref=e891] [cursor=pointer]:
|
|
1131
|
+
- /url: "#version-pin--where-it-applies"
|
|
1132
|
+
- text: "#"
|
|
1133
|
+
- paragraph [ref=e892]:
|
|
1134
|
+
- text: The
|
|
1135
|
+
- code [ref=e893]: "--driver-version="
|
|
1136
|
+
- text: pin is written to the entry under the
|
|
1137
|
+
- code [ref=e894]: version
|
|
1138
|
+
- text: key. At install time, the printed install hint uses that pin (so
|
|
1139
|
+
- code [ref=e895]: "--driver-version=^5.0.0"
|
|
1140
|
+
- text: produces
|
|
1141
|
+
- code [ref=e896]: npm install ioredis@"^5.0.0"
|
|
1142
|
+
- text: ). When omitted, the hint falls back to the framework's
|
|
1143
|
+
- code [ref=e897]: peerDependencies
|
|
1144
|
+
- text: range.
|
|
1145
|
+
- paragraph [ref=e898]:
|
|
1146
|
+
- text: Since
|
|
1147
|
+
- code [ref=e899]: npm install
|
|
1148
|
+
- text: resolves a single version per project, a
|
|
1149
|
+
- code [ref=e900]: version
|
|
1150
|
+
- text: pin set on one bundle still affects every bundle that uses the same driver.
|
|
1151
|
+
- code [ref=e901]: connector:list
|
|
1152
|
+
- text: flags conflicting pins with a
|
|
1153
|
+
- code [ref=e902]: "[ !! ]"
|
|
1154
|
+
- text: warning — see the
|
|
1155
|
+
- link "version-pin warnings note" [ref=e903] [cursor=pointer]:
|
|
1156
|
+
- /url: "#connectorlist"
|
|
1157
|
+
- text: .
|
|
1158
|
+
- heading "Merge behaviourDirect link to Merge behaviour" [level=3] [ref=e904]:
|
|
1159
|
+
- text: Merge behaviour
|
|
1160
|
+
- link "Direct link to Merge behaviour" [ref=e905] [cursor=pointer]:
|
|
1161
|
+
- /url: "#merge-behaviour"
|
|
1162
|
+
- text: "#"
|
|
1163
|
+
- paragraph [ref=e906]: "The written file always has this order:"
|
|
1164
|
+
- list [ref=e907]:
|
|
1165
|
+
- listitem [ref=e908]:
|
|
1166
|
+
- code [ref=e909]: $schema
|
|
1167
|
+
- text: (always first; inserted with the canonical
|
|
1168
|
+
- code [ref=e910]: https://gina.io/schema/connectors.json
|
|
1169
|
+
- text: URL if none was present)
|
|
1170
|
+
- listitem [ref=e911]:
|
|
1171
|
+
- text: Existing entries — key order preserved verbatim; if
|
|
1172
|
+
- code [ref=e912]: <name>
|
|
1173
|
+
- text: already exists, it is replaced in place (not moved to the bottom)
|
|
1174
|
+
- listitem [ref=e913]:
|
|
1175
|
+
- text: The new entry — appended only when
|
|
1176
|
+
- code [ref=e914]: <name>
|
|
1177
|
+
- text: was not already present
|
|
1178
|
+
- paragraph [ref=e915]:
|
|
1179
|
+
- text: Any comment header above the first
|
|
1180
|
+
- code [ref=e916]: "{"
|
|
1181
|
+
- text: is preserved byte-for-byte. Mid-body
|
|
1182
|
+
- code [ref=e917]: //
|
|
1183
|
+
- text: or
|
|
1184
|
+
- code [ref=e918]: /* */
|
|
1185
|
+
- text: comments are
|
|
1186
|
+
- strong [ref=e919]: lost
|
|
1187
|
+
- text: on rewrite — the body is re-serialised from the parsed JSON.
|
|
1188
|
+
- heading "Error pathsDirect link to Error paths" [level=3] [ref=e920]:
|
|
1189
|
+
- text: Error paths
|
|
1190
|
+
- link "Direct link to Error paths" [ref=e921] [cursor=pointer]:
|
|
1191
|
+
- /url: "#error-paths-1"
|
|
1192
|
+
- text: "#"
|
|
1193
|
+
- table [ref=e922]:
|
|
1194
|
+
- rowgroup [ref=e923]:
|
|
1195
|
+
- row "Input Behaviour" [ref=e924]:
|
|
1196
|
+
- columnheader "Input" [ref=e925]
|
|
1197
|
+
- columnheader "Behaviour" [ref=e926]
|
|
1198
|
+
- rowgroup [ref=e927]:
|
|
1199
|
+
- row "connector:add with no <name> \"connector:add requires <name> and @<project>\" (exit 1)" [ref=e928]:
|
|
1200
|
+
- cell "connector:add with no <name>" [ref=e929]:
|
|
1201
|
+
- code [ref=e930]: connector:add
|
|
1202
|
+
- text: with no
|
|
1203
|
+
- code [ref=e931]: <name>
|
|
1204
|
+
- cell "\"connector:add requires <name> and @<project>\" (exit 1)" [ref=e932]:
|
|
1205
|
+
- text: "\""
|
|
1206
|
+
- code [ref=e933]: connector:add
|
|
1207
|
+
- text: requires
|
|
1208
|
+
- code [ref=e934]: <name>
|
|
1209
|
+
- text: and
|
|
1210
|
+
- code [ref=e935]: "@<project>"
|
|
1211
|
+
- text: "\" (exit 1)"
|
|
1212
|
+
- row "connector:add <name> (no @<project>) \"connector:add requires @<project>\" (exit 1)" [ref=e936]:
|
|
1213
|
+
- cell "connector:add <name> (no @<project>)" [ref=e937]:
|
|
1214
|
+
- code [ref=e938]: connector:add <name>
|
|
1215
|
+
- text: (no
|
|
1216
|
+
- code [ref=e939]: "@<project>"
|
|
1217
|
+
- text: )
|
|
1218
|
+
- cell "\"connector:add requires @<project>\" (exit 1)" [ref=e940]:
|
|
1219
|
+
- text: "\""
|
|
1220
|
+
- code [ref=e941]: connector:add
|
|
1221
|
+
- text: requires
|
|
1222
|
+
- code [ref=e942]: "@<project>"
|
|
1223
|
+
- text: "\" (exit 1)"
|
|
1224
|
+
- row "connector:add <name> bogus @<project> \"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e943]:
|
|
1225
|
+
- cell "connector:add <name> bogus @<project>" [ref=e944]:
|
|
1226
|
+
- code [ref=e945]: connector:add <name> bogus @<project>
|
|
1227
|
+
- cell "\"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e946]:
|
|
1228
|
+
- text: "\"Bundle [ bogus ] is not registered inside"
|
|
1229
|
+
- code [ref=e947]: "@<project>"
|
|
1230
|
+
- text: "\" (exit 1)"
|
|
1231
|
+
- 'row "connector:add mycache @<project> --connector=notathing \"Unknown connector type notathing. Allowed values: ...\" (exit 1)" [ref=e948]':
|
|
1232
|
+
- cell "connector:add mycache @<project> --connector=notathing" [ref=e949]:
|
|
1233
|
+
- code [ref=e950]: connector:add mycache @<project> --connector=notathing
|
|
1234
|
+
- 'cell "\"Unknown connector type notathing. Allowed values: ...\" (exit 1)" [ref=e951]':
|
|
1235
|
+
- text: "\"Unknown connector type"
|
|
1236
|
+
- code [ref=e952]: notathing
|
|
1237
|
+
- text: ". Allowed values: ...\" (exit 1)"
|
|
1238
|
+
- 'row "connector:add redis @<project> with no shared/ dir \"Config directory does not exist: ...\" (exit 1)" [ref=e953]':
|
|
1239
|
+
- cell "connector:add redis @<project> with no shared/ dir" [ref=e954]:
|
|
1240
|
+
- code [ref=e955]: connector:add redis @<project>
|
|
1241
|
+
- text: with no
|
|
1242
|
+
- code [ref=e956]: shared/
|
|
1243
|
+
- text: dir
|
|
1244
|
+
- 'cell "\"Config directory does not exist: ...\" (exit 1)" [ref=e957]'
|
|
1245
|
+
- 'row "Entry already exists, --force not passed \"Connector `` already exists in ... Re-run with --force to overwrite.\" (exit 1)" [ref=e958]':
|
|
1246
|
+
- cell "Entry already exists, --force not passed" [ref=e959]:
|
|
1247
|
+
- text: Entry already exists,
|
|
1248
|
+
- code [ref=e960]: "--force"
|
|
1249
|
+
- text: not passed
|
|
1250
|
+
- 'cell "\"Connector `` already exists in ... Re-run with --force to overwrite.\" (exit 1)" [ref=e961]'
|
|
1251
|
+
- 'row "--scope= is not one of local, beta, production, testing The framework''s scope validation rejects first (before the handler); if it passes, the handler falls back to \"Scope `` is not valid. Allowed: ...\"" [ref=e962]':
|
|
1252
|
+
- cell "--scope= is not one of local, beta, production, testing" [ref=e963]:
|
|
1253
|
+
- code [ref=e964]: "--scope="
|
|
1254
|
+
- text: is not one of
|
|
1255
|
+
- code [ref=e965]: local
|
|
1256
|
+
- text: ","
|
|
1257
|
+
- code [ref=e966]: beta
|
|
1258
|
+
- text: ","
|
|
1259
|
+
- code [ref=e967]: production
|
|
1260
|
+
- text: ","
|
|
1261
|
+
- code [ref=e968]: testing
|
|
1262
|
+
- 'cell "The framework''s scope validation rejects first (before the handler); if it passes, the handler falls back to \"Scope `` is not valid. Allowed: ...\"" [ref=e969]'
|
|
1263
|
+
- generic [ref=e970]:
|
|
1264
|
+
- generic [ref=e971]:
|
|
1265
|
+
- img [ref=e973]
|
|
1266
|
+
- text: Inferred type
|
|
1267
|
+
- generic [ref=e975]:
|
|
1268
|
+
- paragraph [ref=e976]:
|
|
1269
|
+
- text: If
|
|
1270
|
+
- code [ref=e977]: <name>
|
|
1271
|
+
- text: is one of the built-in connector types (
|
|
1272
|
+
- code [ref=e978]: couchbase
|
|
1273
|
+
- text: ","
|
|
1274
|
+
- code [ref=e979]: mysql
|
|
1275
|
+
- text: ","
|
|
1276
|
+
- code [ref=e980]: postgresql
|
|
1277
|
+
- text: ","
|
|
1278
|
+
- code [ref=e981]: sqlite
|
|
1279
|
+
- text: ","
|
|
1280
|
+
- code [ref=e982]: redis
|
|
1281
|
+
- text: ","
|
|
1282
|
+
- code [ref=e983]: ai
|
|
1283
|
+
- text: ), you can omit
|
|
1284
|
+
- code [ref=e984]: "--connector="
|
|
1285
|
+
- text: . In that case, the generated entry also omits the
|
|
1286
|
+
- code [ref=e985]: connector
|
|
1287
|
+
- text: field — the runtime uses the logical key name as the type.
|
|
1288
|
+
- paragraph [ref=e986]:
|
|
1289
|
+
- text: "Example:"
|
|
1290
|
+
- code [ref=e987]: gina connector:add redis @myproject --host=127.0.0.1 --connector-port=6379
|
|
1291
|
+
- text: "writes:"
|
|
1292
|
+
- code [ref=e991]:
|
|
1293
|
+
- generic [ref=e992]: "\"redis\": { \"host\": \"127.0.0.1\", \"port\": 6379 }"
|
|
1294
|
+
- separator [ref=e993]
|
|
1295
|
+
- heading "connector:rmDirect link to connectorrm" [level=2] [ref=e994]:
|
|
1296
|
+
- code [ref=e995]: connector:rm
|
|
1297
|
+
- link "Direct link to connectorrm" [ref=e996] [cursor=pointer]:
|
|
1298
|
+
- /url: "#connectorrm"
|
|
1299
|
+
- text: "#"
|
|
1300
|
+
- paragraph [ref=e997]:
|
|
1301
|
+
- emphasis [ref=e998]: New in 0.3.7-alpha.2
|
|
1302
|
+
- paragraph [ref=e999]:
|
|
1303
|
+
- text: Remove a connector entry from a project's
|
|
1304
|
+
- code [ref=e1000]: shared/config/connectors.json
|
|
1305
|
+
- text: or from a bundle-scoped
|
|
1306
|
+
- code [ref=e1001]: <bundle>/config/connectors.json
|
|
1307
|
+
- text: ". The scope is inferred from positional-absence: pass a"
|
|
1308
|
+
- code [ref=e1002]: <bundle>
|
|
1309
|
+
- text: to target that bundle, omit it to target shared.
|
|
1310
|
+
- code [ref=e1003]: remove
|
|
1311
|
+
- text: is accepted as an alias.
|
|
1312
|
+
- code [ref=e1007]:
|
|
1313
|
+
- generic [ref=e1008]: "gina connector:rm <name> @<project> # Removes from shared/config/connectors.json"
|
|
1314
|
+
- generic [ref=e1009]: "gina connector:rm <name> <bundle> @<project> # Removes from <bundle-src>/config/connectors.json"
|
|
1315
|
+
- generic [ref=e1010]: "gina connector:remove <name> @<project> # Alias for rm"
|
|
1316
|
+
- generic [ref=e1011]:
|
|
1317
|
+
- generic [ref=e1012]:
|
|
1318
|
+
- img [ref=e1014]
|
|
1319
|
+
- text: Never uninstalls the npm driver
|
|
1320
|
+
- paragraph [ref=e1017]:
|
|
1321
|
+
- code [ref=e1018]: connector:rm
|
|
1322
|
+
- text: removes the JSON entry only — it never runs
|
|
1323
|
+
- code [ref=e1019]: npm uninstall
|
|
1324
|
+
- text: . A driver removed from one bundle may still be needed by another bundle in the same project, and the project's
|
|
1325
|
+
- code [ref=e1020]: node_modules/
|
|
1326
|
+
- text: is shared across bundles. After removal, the command prints a retention hint listing any sibling bundles (or shared) that still reference the same driver.
|
|
1327
|
+
- heading "FlagsDirect link to Flags" [level=3] [ref=e1021]:
|
|
1328
|
+
- text: Flags
|
|
1329
|
+
- link "Direct link to Flags" [ref=e1022] [cursor=pointer]:
|
|
1330
|
+
- /url: "#flags-1"
|
|
1331
|
+
- text: "#"
|
|
1332
|
+
- table [ref=e1023]:
|
|
1333
|
+
- rowgroup [ref=e1024]:
|
|
1334
|
+
- row "Flag Description" [ref=e1025]:
|
|
1335
|
+
- columnheader "Flag" [ref=e1026]
|
|
1336
|
+
- columnheader "Description" [ref=e1027]
|
|
1337
|
+
- rowgroup [ref=e1028]:
|
|
1338
|
+
- row "--dry-run Print what would be removed without touching any file. Includes the sibling-usage hint." [ref=e1029]:
|
|
1339
|
+
- cell "--dry-run" [ref=e1030]:
|
|
1340
|
+
- code [ref=e1031]: "--dry-run"
|
|
1341
|
+
- cell "Print what would be removed without touching any file. Includes the sibling-usage hint." [ref=e1032]
|
|
1342
|
+
- row "--force Skip the project-level guard that refuses to remove a shared connector while other bundles still reference it. Bundle-level removals never consult this guard." [ref=e1033]:
|
|
1343
|
+
- cell "--force" [ref=e1034]:
|
|
1344
|
+
- code [ref=e1035]: "--force"
|
|
1345
|
+
- cell "Skip the project-level guard that refuses to remove a shared connector while other bundles still reference it. Bundle-level removals never consult this guard." [ref=e1036]
|
|
1346
|
+
- heading "Scoping rulesDirect link to Scoping rules" [level=3] [ref=e1037]:
|
|
1347
|
+
- text: Scoping rules
|
|
1348
|
+
- link "Direct link to Scoping rules" [ref=e1038] [cursor=pointer]:
|
|
1349
|
+
- /url: "#scoping-rules"
|
|
1350
|
+
- text: "#"
|
|
1351
|
+
- table [ref=e1039]:
|
|
1352
|
+
- rowgroup [ref=e1040]:
|
|
1353
|
+
- row "Command shape Target file Safety gate" [ref=e1041]:
|
|
1354
|
+
- columnheader "Command shape" [ref=e1042]
|
|
1355
|
+
- columnheader "Target file" [ref=e1043]
|
|
1356
|
+
- columnheader "Safety gate" [ref=e1044]
|
|
1357
|
+
- rowgroup [ref=e1045]:
|
|
1358
|
+
- row "connector:rm <name> @<project> shared/config/connectors.json Refuses if any bundle still declares <name> unless --force is passed" [ref=e1046]:
|
|
1359
|
+
- cell "connector:rm <name> @<project>" [ref=e1047]:
|
|
1360
|
+
- code [ref=e1048]: connector:rm <name> @<project>
|
|
1361
|
+
- cell "shared/config/connectors.json" [ref=e1049]:
|
|
1362
|
+
- code [ref=e1050]: shared/config/connectors.json
|
|
1363
|
+
- cell "Refuses if any bundle still declares <name> unless --force is passed" [ref=e1051]:
|
|
1364
|
+
- text: Refuses if any bundle still declares
|
|
1365
|
+
- code [ref=e1052]: <name>
|
|
1366
|
+
- text: unless
|
|
1367
|
+
- code [ref=e1053]: "--force"
|
|
1368
|
+
- text: is passed
|
|
1369
|
+
- row "connector:rm <name> <bundle> @<project> <bundle-src>/config/connectors.json Always proceeds. Leaves shared untouched." [ref=e1054]:
|
|
1370
|
+
- cell "connector:rm <name> <bundle> @<project>" [ref=e1055]:
|
|
1371
|
+
- code [ref=e1056]: connector:rm <name> <bundle> @<project>
|
|
1372
|
+
- cell "<bundle-src>/config/connectors.json" [ref=e1057]:
|
|
1373
|
+
- code [ref=e1058]: <bundle-src>/config/connectors.json
|
|
1374
|
+
- cell "Always proceeds. Leaves shared untouched." [ref=e1059]
|
|
1375
|
+
- heading "ExamplesDirect link to Examples" [level=3] [ref=e1060]:
|
|
1376
|
+
- text: Examples
|
|
1377
|
+
- link "Direct link to Examples" [ref=e1061] [cursor=pointer]:
|
|
1378
|
+
- /url: "#examples-1"
|
|
1379
|
+
- text: "#"
|
|
1380
|
+
- code [ref=e1065]:
|
|
1381
|
+
- generic [ref=e1066]: "# Remove shared entry (fails if any bundle still uses it)"
|
|
1382
|
+
- generic [ref=e1067]: gina connector:rm session @myproject
|
|
1383
|
+
- generic [ref=e1068]: "# Remove from one bundle only"
|
|
1384
|
+
- generic [ref=e1069]: gina connector:rm session api @myproject
|
|
1385
|
+
- generic [ref=e1070]: "# Preview removal with sibling warnings"
|
|
1386
|
+
- generic [ref=e1071]: gina connector:rm session @myproject --dry-run
|
|
1387
|
+
- generic [ref=e1072]: "# Remove shared entry even if bundles still use it"
|
|
1388
|
+
- generic [ref=e1073]: gina connector:rm session @myproject --force
|
|
1389
|
+
- heading "OutputDirect link to Output" [level=3] [ref=e1074]:
|
|
1390
|
+
- text: Output
|
|
1391
|
+
- link "Direct link to Output" [ref=e1075] [cursor=pointer]:
|
|
1392
|
+
- /url: "#output-2"
|
|
1393
|
+
- text: "#"
|
|
1394
|
+
- code [ref=e1079]:
|
|
1395
|
+
- generic [ref=e1080]: "Removed connector `session` from shared scope at /path/to/project/shared/config/connectors.json"
|
|
1396
|
+
- generic [ref=e1081]: "Note: gina does not uninstall npm packages. Driver `redis` is still referenced by: api (override), worker (session)."
|
|
1397
|
+
- paragraph [ref=e1082]: "When removing from a bundle:"
|
|
1398
|
+
- code [ref=e1086]:
|
|
1399
|
+
- generic [ref=e1087]: "Removed connector `session` from bundle `api` at /path/to/project/src/api/config/connectors.json"
|
|
1400
|
+
- generic [ref=e1088]: "Note: gina does not uninstall npm packages. Driver `redis` is still referenced by: shared, worker (session)."
|
|
1401
|
+
- paragraph [ref=e1089]:
|
|
1402
|
+
- text: When the removed driver is
|
|
1403
|
+
- code [ref=e1090]: sqlite
|
|
1404
|
+
- text: (Node-builtin), the retention note is omitted — there is no npm package to retain.
|
|
1405
|
+
- heading "Dry-runDirect link to Dry-run" [level=3] [ref=e1091]:
|
|
1406
|
+
- text: Dry-run
|
|
1407
|
+
- link "Direct link to Dry-run" [ref=e1092] [cursor=pointer]:
|
|
1408
|
+
- /url: "#dry-run"
|
|
1409
|
+
- text: "#"
|
|
1410
|
+
- code [ref=e1096]:
|
|
1411
|
+
- generic [ref=e1097]: gina connector:rm session @myproject --dry-run
|
|
1412
|
+
- code [ref=e1101]:
|
|
1413
|
+
- generic [ref=e1102]: "[dry-run] Would remove connector `session` from shared scope at /path/to/project/shared/config/connectors.json."
|
|
1414
|
+
- generic [ref=e1103]: "[dry-run] Current entry:"
|
|
1415
|
+
- generic [ref=e1104]: "{"
|
|
1416
|
+
- generic [ref=e1105]: "\"connector\": \"redis\","
|
|
1417
|
+
- generic [ref=e1106]: "\"host\": \"127.0.0.1\","
|
|
1418
|
+
- generic [ref=e1107]: "\"port\": 6379"
|
|
1419
|
+
- generic [ref=e1108]: "}"
|
|
1420
|
+
- generic [ref=e1109]: "[dry-run] Warning: 2 bundle(s) still reference `session`: api (override), worker. Re-run without --dry-run and with --force to proceed."
|
|
1421
|
+
- generic [ref=e1110]: "[dry-run] Note: gina does not uninstall npm packages. Driver `redis` is still referenced by: api (override), worker (session)."
|
|
1422
|
+
- paragraph [ref=e1111]:
|
|
1423
|
+
- text: Dry-run never writes to disk and always exits
|
|
1424
|
+
- code [ref=e1112]: "0"
|
|
1425
|
+
- text: ", even when the real command would refuse without"
|
|
1426
|
+
- code [ref=e1113]: "--force"
|
|
1427
|
+
- text: .
|
|
1428
|
+
- heading "Project-level guard (--force)Direct link to project-level-guard---force" [level=3] [ref=e1114]:
|
|
1429
|
+
- text: Project-level guard (
|
|
1430
|
+
- code [ref=e1115]: "--force"
|
|
1431
|
+
- text: )
|
|
1432
|
+
- link "Direct link to project-level-guard---force" [ref=e1116] [cursor=pointer]:
|
|
1433
|
+
- /url: "#project-level-guard---force"
|
|
1434
|
+
- text: "#"
|
|
1435
|
+
- paragraph [ref=e1117]: "By default, removing a shared connector requires that no bundle still declares the same logical name — this prevents a bundle that relies on overlay inheritance from breaking silently. The command prints the offending bundles:"
|
|
1436
|
+
- code [ref=e1121]:
|
|
1437
|
+
- generic [ref=e1122]: "[error] Removing shared connector `session` would break 2 bundle(s) that still reference it:"
|
|
1438
|
+
- generic [ref=e1123]: api (override), worker.
|
|
1439
|
+
- generic [ref=e1124]: Re-run with --force to remove anyway, or remove from each bundle first.
|
|
1440
|
+
- paragraph [ref=e1125]:
|
|
1441
|
+
- text: Pass
|
|
1442
|
+
- code [ref=e1126]: "--force"
|
|
1443
|
+
- text: to bypass the guard. Bundle-level removals never consult the guard — removing from
|
|
1444
|
+
- code [ref=e1127]: api
|
|
1445
|
+
- text: has no effect on
|
|
1446
|
+
- code [ref=e1128]: worker
|
|
1447
|
+
- text: or
|
|
1448
|
+
- code [ref=e1129]: shared
|
|
1449
|
+
- text: .
|
|
1450
|
+
- heading "Inherited-from-shared hintDirect link to Inherited-from-shared hint" [level=3] [ref=e1130]:
|
|
1451
|
+
- text: Inherited-from-shared hint
|
|
1452
|
+
- link "Direct link to Inherited-from-shared hint" [ref=e1131] [cursor=pointer]:
|
|
1453
|
+
- /url: "#inherited-from-shared-hint"
|
|
1454
|
+
- text: "#"
|
|
1455
|
+
- paragraph [ref=e1132]:
|
|
1456
|
+
- text: Attempting to remove a connector from a bundle when it is only declared in
|
|
1457
|
+
- code [ref=e1133]: shared
|
|
1458
|
+
- text: "prints a hint pointing at the right scope:"
|
|
1459
|
+
- code [ref=e1137]:
|
|
1460
|
+
- generic [ref=e1138]: "[error] Connector `session` is not declared in `api/config/connectors.json` — it is inherited from shared/config/connectors.json. Use `gina connector:rm session @myproject` to remove it from shared."
|
|
1461
|
+
- heading "Merge behaviourDirect link to Merge behaviour" [level=3] [ref=e1139]:
|
|
1462
|
+
- text: Merge behaviour
|
|
1463
|
+
- link "Direct link to Merge behaviour" [ref=e1140] [cursor=pointer]:
|
|
1464
|
+
- /url: "#merge-behaviour-1"
|
|
1465
|
+
- text: "#"
|
|
1466
|
+
- paragraph [ref=e1141]: "The written file preserves:"
|
|
1467
|
+
- list [ref=e1142]:
|
|
1468
|
+
- listitem [ref=e1143]:
|
|
1469
|
+
- code [ref=e1144]: $schema
|
|
1470
|
+
- text: (always first)
|
|
1471
|
+
- listitem [ref=e1145]: Existing entries in their original key order, minus the removed key
|
|
1472
|
+
- listitem [ref=e1146]:
|
|
1473
|
+
- text: Any comment header above the first
|
|
1474
|
+
- code [ref=e1147]: "{"
|
|
1475
|
+
- text: (byte-for-byte)
|
|
1476
|
+
- paragraph [ref=e1148]:
|
|
1477
|
+
- text: Mid-body
|
|
1478
|
+
- code [ref=e1149]: //
|
|
1479
|
+
- text: or
|
|
1480
|
+
- code [ref=e1150]: /* */
|
|
1481
|
+
- text: comments are
|
|
1482
|
+
- strong [ref=e1151]: lost
|
|
1483
|
+
- text: on rewrite — the body is re-serialised from the parsed JSON, same as
|
|
1484
|
+
- code [ref=e1152]: connector:add
|
|
1485
|
+
- text: .
|
|
1486
|
+
- heading "Error pathsDirect link to Error paths" [level=3] [ref=e1153]:
|
|
1487
|
+
- text: Error paths
|
|
1488
|
+
- link "Direct link to Error paths" [ref=e1154] [cursor=pointer]:
|
|
1489
|
+
- /url: "#error-paths-2"
|
|
1490
|
+
- text: "#"
|
|
1491
|
+
- table [ref=e1155]:
|
|
1492
|
+
- rowgroup [ref=e1156]:
|
|
1493
|
+
- row "Input Behaviour" [ref=e1157]:
|
|
1494
|
+
- columnheader "Input" [ref=e1158]
|
|
1495
|
+
- columnheader "Behaviour" [ref=e1159]
|
|
1496
|
+
- rowgroup [ref=e1160]:
|
|
1497
|
+
- row "connector:rm with no <name> \"connector:rm requires <name> and @<project>\" (exit 1)" [ref=e1161]:
|
|
1498
|
+
- cell "connector:rm with no <name>" [ref=e1162]:
|
|
1499
|
+
- code [ref=e1163]: connector:rm
|
|
1500
|
+
- text: with no
|
|
1501
|
+
- code [ref=e1164]: <name>
|
|
1502
|
+
- cell "\"connector:rm requires <name> and @<project>\" (exit 1)" [ref=e1165]:
|
|
1503
|
+
- text: "\""
|
|
1504
|
+
- code [ref=e1166]: connector:rm
|
|
1505
|
+
- text: requires
|
|
1506
|
+
- code [ref=e1167]: <name>
|
|
1507
|
+
- text: and
|
|
1508
|
+
- code [ref=e1168]: "@<project>"
|
|
1509
|
+
- text: "\" (exit 1)"
|
|
1510
|
+
- row "connector:rm <name> (no @<project>) \"connector:rm requires @<project>\" (exit 1)" [ref=e1169]:
|
|
1511
|
+
- cell "connector:rm <name> (no @<project>)" [ref=e1170]:
|
|
1512
|
+
- code [ref=e1171]: connector:rm <name>
|
|
1513
|
+
- text: (no
|
|
1514
|
+
- code [ref=e1172]: "@<project>"
|
|
1515
|
+
- text: )
|
|
1516
|
+
- cell "\"connector:rm requires @<project>\" (exit 1)" [ref=e1173]:
|
|
1517
|
+
- text: "\""
|
|
1518
|
+
- code [ref=e1174]: connector:rm
|
|
1519
|
+
- text: requires
|
|
1520
|
+
- code [ref=e1175]: "@<project>"
|
|
1521
|
+
- text: "\" (exit 1)"
|
|
1522
|
+
- row "connector:rm <name> bogus @<project> \"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e1176]:
|
|
1523
|
+
- cell "connector:rm <name> bogus @<project>" [ref=e1177]:
|
|
1524
|
+
- code [ref=e1178]: connector:rm <name> bogus @<project>
|
|
1525
|
+
- cell "\"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e1179]:
|
|
1526
|
+
- text: "\"Bundle [ bogus ] is not registered inside"
|
|
1527
|
+
- code [ref=e1180]: "@<project>"
|
|
1528
|
+
- text: "\" (exit 1)"
|
|
1529
|
+
- row "connector:rm unknown @<project> \"Connector unknown not found in /…/shared/config/connectors.json\" (exit 1)" [ref=e1181]:
|
|
1530
|
+
- cell "connector:rm unknown @<project>" [ref=e1182]:
|
|
1531
|
+
- code [ref=e1183]: connector:rm unknown @<project>
|
|
1532
|
+
- cell "\"Connector unknown not found in /…/shared/config/connectors.json\" (exit 1)" [ref=e1184]:
|
|
1533
|
+
- text: "\"Connector"
|
|
1534
|
+
- code [ref=e1185]: unknown
|
|
1535
|
+
- text: not found in /…/shared/config/connectors.json" (exit 1)
|
|
1536
|
+
- row "connector:rm session api @<project> (lives only in shared) Inherited-from-shared hint (exit 1)" [ref=e1186]:
|
|
1537
|
+
- cell "connector:rm session api @<project> (lives only in shared)" [ref=e1187]:
|
|
1538
|
+
- code [ref=e1188]: connector:rm session api @<project>
|
|
1539
|
+
- text: (lives only in shared)
|
|
1540
|
+
- cell "Inherited-from-shared hint (exit 1)" [ref=e1189]
|
|
1541
|
+
- 'row "connector:rm session @<project> (siblings still reference it) \"Removing shared connector would break N bundle(s): …\" (exit 1; pass --force to override)" [ref=e1190]':
|
|
1542
|
+
- cell "connector:rm session @<project> (siblings still reference it)" [ref=e1191]:
|
|
1543
|
+
- code [ref=e1192]: connector:rm session @<project>
|
|
1544
|
+
- text: (siblings still reference it)
|
|
1545
|
+
- 'cell "\"Removing shared connector would break N bundle(s): …\" (exit 1; pass --force to override)" [ref=e1193]':
|
|
1546
|
+
- text: "\"Removing shared connector would break N bundle(s): …\" (exit 1; pass"
|
|
1547
|
+
- code [ref=e1194]: "--force"
|
|
1548
|
+
- text: to override)
|
|
1549
|
+
- separator [ref=e1195]
|
|
1550
|
+
- heading "connector:migrateDirect link to connectormigrate" [level=2] [ref=e1196]:
|
|
1551
|
+
- code [ref=e1197]: connector:migrate
|
|
1552
|
+
- link "Direct link to connectormigrate" [ref=e1198] [cursor=pointer]:
|
|
1553
|
+
- /url: "#connectormigrate"
|
|
1554
|
+
- text: "#"
|
|
1555
|
+
- paragraph [ref=e1199]:
|
|
1556
|
+
- emphasis [ref=e1200]: New in 0.3.7-alpha.2
|
|
1557
|
+
- paragraph [ref=e1201]:
|
|
1558
|
+
- text: Lint every
|
|
1559
|
+
- code [ref=e1202]: connectors.json
|
|
1560
|
+
- text: in a project (or a single bundle's file) and optionally apply auto-fixable issues in place.
|
|
1561
|
+
- code [ref=e1203]: connector:migrate
|
|
1562
|
+
- text: is
|
|
1563
|
+
- strong [ref=e1204]: explicit and opt-in
|
|
1564
|
+
- text: — the framework never auto-migrates a
|
|
1565
|
+
- code [ref=e1205]: connectors.json
|
|
1566
|
+
- text: at bundle boot. Run it in CI or before committing.
|
|
1567
|
+
- code [ref=e1209]:
|
|
1568
|
+
- generic [ref=e1210]: "gina connector:migrate @<project> # Scan shared + every bundle"
|
|
1569
|
+
- generic [ref=e1211]: "gina connector:migrate <bundle> @<project> # Scan just the bundle's file"
|
|
1570
|
+
- generic [ref=e1212]: "gina connector:migrate @<project> --fix # Apply auto-fixable issues"
|
|
1571
|
+
- generic [ref=e1213]: "gina connector:migrate @<project> --format=json # Machine-readable report"
|
|
1572
|
+
- generic [ref=e1214]:
|
|
1573
|
+
- generic [ref=e1215]:
|
|
1574
|
+
- img [ref=e1217]
|
|
1575
|
+
- text: Dry run by default
|
|
1576
|
+
- paragraph [ref=e1220]:
|
|
1577
|
+
- text: Without
|
|
1578
|
+
- code [ref=e1221]: "--fix"
|
|
1579
|
+
- text: ","
|
|
1580
|
+
- code [ref=e1222]: connector:migrate
|
|
1581
|
+
- text: is a
|
|
1582
|
+
- strong [ref=e1223]: read-only dry run
|
|
1583
|
+
- text: — nothing is written. Pass
|
|
1584
|
+
- code [ref=e1224]: "--fix"
|
|
1585
|
+
- text: to apply the auto-fixable issues.
|
|
1586
|
+
- heading "FlagsDirect link to Flags" [level=3] [ref=e1225]:
|
|
1587
|
+
- text: Flags
|
|
1588
|
+
- link "Direct link to Flags" [ref=e1226] [cursor=pointer]:
|
|
1589
|
+
- /url: "#flags-2"
|
|
1590
|
+
- text: "#"
|
|
1591
|
+
- table [ref=e1227]:
|
|
1592
|
+
- rowgroup [ref=e1228]:
|
|
1593
|
+
- row "Flag Description" [ref=e1229]:
|
|
1594
|
+
- columnheader "Flag" [ref=e1230]
|
|
1595
|
+
- columnheader "Description" [ref=e1231]
|
|
1596
|
+
- rowgroup [ref=e1232]:
|
|
1597
|
+
- row "--fix Apply auto-fixable issues to disk. Without it, connector:migrate is a read-only dry run." [ref=e1233]:
|
|
1598
|
+
- cell "--fix" [ref=e1234]:
|
|
1599
|
+
- code [ref=e1235]: "--fix"
|
|
1600
|
+
- cell "Apply auto-fixable issues to disk. Without it, connector:migrate is a read-only dry run." [ref=e1236]:
|
|
1601
|
+
- text: Apply auto-fixable issues to disk. Without it,
|
|
1602
|
+
- code [ref=e1237]: connector:migrate
|
|
1603
|
+
- text: is a read-only dry run.
|
|
1604
|
+
- row "--format=json Emit a machine-readable JSON report instead of the human-readable text summary." [ref=e1238]:
|
|
1605
|
+
- cell "--format=json" [ref=e1239]:
|
|
1606
|
+
- code [ref=e1240]: "--format=json"
|
|
1607
|
+
- cell "Emit a machine-readable JSON report instead of the human-readable text summary." [ref=e1241]
|
|
1608
|
+
- heading "ChecksDirect link to Checks" [level=3] [ref=e1242]:
|
|
1609
|
+
- text: Checks
|
|
1610
|
+
- link "Direct link to Checks" [ref=e1243] [cursor=pointer]:
|
|
1611
|
+
- /url: "#checks"
|
|
1612
|
+
- text: "#"
|
|
1613
|
+
- table [ref=e1244]:
|
|
1614
|
+
- rowgroup [ref=e1245]:
|
|
1615
|
+
- row "Check Severity Auto-fixable Description" [ref=e1246]:
|
|
1616
|
+
- columnheader "Check" [ref=e1247]
|
|
1617
|
+
- columnheader "Severity" [ref=e1248]
|
|
1618
|
+
- columnheader "Auto-fixable" [ref=e1249]
|
|
1619
|
+
- columnheader "Description" [ref=e1250]
|
|
1620
|
+
- rowgroup [ref=e1251]:
|
|
1621
|
+
- 'row "missing-schema info yes Top-level $schema key is absent. --fix injects \"$schema\": \"https://gina.io/schema/connectors.json\" at the top of the object, preserving the leading comment header and existing key order." [ref=e1252]':
|
|
1622
|
+
- cell "missing-schema" [ref=e1253]:
|
|
1623
|
+
- code [ref=e1254]: missing-schema
|
|
1624
|
+
- cell "info" [ref=e1255]
|
|
1625
|
+
- cell "yes" [ref=e1256]
|
|
1626
|
+
- 'cell "Top-level $schema key is absent. --fix injects \"$schema\": \"https://gina.io/schema/connectors.json\" at the top of the object, preserving the leading comment header and existing key order." [ref=e1257]':
|
|
1627
|
+
- text: Top-level
|
|
1628
|
+
- code [ref=e1258]: $schema
|
|
1629
|
+
- text: key is absent.
|
|
1630
|
+
- code [ref=e1259]: "--fix"
|
|
1631
|
+
- text: injects
|
|
1632
|
+
- code [ref=e1260]: "\"$schema\": \"https://gina.io/schema/connectors.json\""
|
|
1633
|
+
- text: at the top of the object, preserving the leading comment header and existing key order.
|
|
1634
|
+
- row "bare-key-no-connector warn no An entry has no connector field and its key is not in the built-in enum (couchbase, mysql, postgresql, sqlite, redis, ai). The correct driver cannot be inferred from the key name, so re-declare the entry explicitly via gina connector:add <name> @<project> --connector=<type> --force." [ref=e1261]:
|
|
1635
|
+
- cell "bare-key-no-connector" [ref=e1262]:
|
|
1636
|
+
- code [ref=e1263]: bare-key-no-connector
|
|
1637
|
+
- cell "warn" [ref=e1264]
|
|
1638
|
+
- cell "no" [ref=e1265]
|
|
1639
|
+
- cell "An entry has no connector field and its key is not in the built-in enum (couchbase, mysql, postgresql, sqlite, redis, ai). The correct driver cannot be inferred from the key name, so re-declare the entry explicitly via gina connector:add <name> @<project> --connector=<type> --force." [ref=e1266]:
|
|
1640
|
+
- text: An entry has no
|
|
1641
|
+
- code [ref=e1267]: connector
|
|
1642
|
+
- text: field
|
|
1643
|
+
- strong [ref=e1268]: and
|
|
1644
|
+
- text: its key is not in the built-in enum (
|
|
1645
|
+
- code [ref=e1269]: couchbase
|
|
1646
|
+
- text: ","
|
|
1647
|
+
- code [ref=e1270]: mysql
|
|
1648
|
+
- text: ","
|
|
1649
|
+
- code [ref=e1271]: postgresql
|
|
1650
|
+
- text: ","
|
|
1651
|
+
- code [ref=e1272]: sqlite
|
|
1652
|
+
- text: ","
|
|
1653
|
+
- code [ref=e1273]: redis
|
|
1654
|
+
- text: ","
|
|
1655
|
+
- code [ref=e1274]: ai
|
|
1656
|
+
- text: ). The correct driver cannot be inferred from the key name, so re-declare the entry explicitly via
|
|
1657
|
+
- code [ref=e1275]: gina connector:add <name> @<project> --connector=<type> --force
|
|
1658
|
+
- text: .
|
|
1659
|
+
- heading "Example — dry runDirect link to Example — dry run" [level=3] [ref=e1276]:
|
|
1660
|
+
- text: Example — dry run
|
|
1661
|
+
- link "Direct link to Example — dry run" [ref=e1277] [cursor=pointer]:
|
|
1662
|
+
- /url: "#example--dry-run"
|
|
1663
|
+
- text: "#"
|
|
1664
|
+
- code [ref=e1281]:
|
|
1665
|
+
- generic [ref=e1282]: gina connector:migrate @myproject
|
|
1666
|
+
- code [ref=e1286]:
|
|
1667
|
+
- generic [ref=e1287]: "[dry-run] /.../shared/config/connectors.json (shared) — 2 connector(s), 1 issue(s) remaining"
|
|
1668
|
+
- generic [ref=e1288]: "INFO missing-schema — Top-level `$schema` key missing. Auto-fix adds `\"$schema\": \"https://gina.io/schema/connectors.json\"`."
|
|
1669
|
+
- generic [ref=e1289]: "[dry-run] /.../api/config/connectors.json (bundle `api`) — 1 connector(s), no issues"
|
|
1670
|
+
- generic [ref=e1290]: "[dry-run] /.../admin/config/connectors.json (bundle `admin`) — 2 connector(s), 2 issue(s) remaining"
|
|
1671
|
+
- generic [ref=e1291]: "INFO missing-schema — Top-level `$schema` key missing. Auto-fix adds `\"$schema\": \"https://gina.io/schema/connectors.json\"`."
|
|
1672
|
+
- generic [ref=e1292]: "WARN bare-key-no-connector — `mongodb` Entry `mongodb` has no `connector` field and key `mongodb` is not in the built-in enum (couchbase, mysql, postgresql, sqlite, redis, ai). Add `\"connector\": \"<type>\"` by hand, or re-declare via `gina connector:add mongodb @<project> --connector=<type> --force`."
|
|
1673
|
+
- generic [ref=e1293]: Re-run with --fix to apply 2 auto-fixable issue(s). 1 issue(s) need manual attention.
|
|
1674
|
+
- heading "Example — apply fixesDirect link to Example — apply fixes" [level=3] [ref=e1294]:
|
|
1675
|
+
- text: Example — apply fixes
|
|
1676
|
+
- link "Direct link to Example — apply fixes" [ref=e1295] [cursor=pointer]:
|
|
1677
|
+
- /url: "#example--apply-fixes"
|
|
1678
|
+
- text: "#"
|
|
1679
|
+
- code [ref=e1299]:
|
|
1680
|
+
- generic [ref=e1300]: gina connector:migrate @myproject --fix
|
|
1681
|
+
- code [ref=e1304]:
|
|
1682
|
+
- generic [ref=e1305]: "[fix] /.../shared/config/connectors.json (shared) — 2 connector(s), 1 fixed"
|
|
1683
|
+
- generic [ref=e1306]: "FIXED missing-schema — Top-level `$schema` key missing. Auto-fix adds `\"$schema\": \"https://gina.io/schema/connectors.json\"`."
|
|
1684
|
+
- generic [ref=e1307]: "[fix] /.../api/config/connectors.json (bundle `api`) — 1 connector(s), no issues"
|
|
1685
|
+
- generic [ref=e1308]: "[fix] /.../admin/config/connectors.json (bundle `admin`) — 2 connector(s), 1 fixed, 1 issue(s) remaining"
|
|
1686
|
+
- generic [ref=e1309]: "FIXED missing-schema — Top-level `$schema` key missing. Auto-fix adds `\"$schema\": \"https://gina.io/schema/connectors.json\"`."
|
|
1687
|
+
- generic [ref=e1310]: "WARN bare-key-no-connector — `mongodb` Entry `mongodb` has no `connector` field and key `mongodb` is not in the built-in enum (couchbase, mysql, postgresql, sqlite, redis, ai). Add `\"connector\": \"<type>\"` by hand, or re-declare via `gina connector:add mongodb @<project> --connector=<type> --force`."
|
|
1688
|
+
- generic [ref=e1311]: Applied 2 fix(es). 1 issue(s) still need manual attention.
|
|
1689
|
+
- paragraph [ref=e1312]:
|
|
1690
|
+
- text: Re-running after
|
|
1691
|
+
- code [ref=e1313]: "--fix"
|
|
1692
|
+
- text: is idempotent — the fixable issue no longer fires, and only the manual-attention warnings remain.
|
|
1693
|
+
- heading "JSON outputDirect link to JSON output" [level=3] [ref=e1314]:
|
|
1694
|
+
- text: JSON output
|
|
1695
|
+
- link "Direct link to JSON output" [ref=e1315] [cursor=pointer]:
|
|
1696
|
+
- /url: "#json-output-1"
|
|
1697
|
+
- text: "#"
|
|
1698
|
+
- code [ref=e1319]:
|
|
1699
|
+
- generic [ref=e1320]: gina connector:migrate @myproject --format=json
|
|
1700
|
+
- code [ref=e1324]:
|
|
1701
|
+
- generic [ref=e1325]: "{"
|
|
1702
|
+
- generic [ref=e1326]: "\"project\": \"myproject\","
|
|
1703
|
+
- generic [ref=e1327]: "\"scope\": \"project\","
|
|
1704
|
+
- generic [ref=e1328]: "\"bundle\": null,"
|
|
1705
|
+
- generic [ref=e1329]: "\"fixApplied\": false,"
|
|
1706
|
+
- generic [ref=e1330]: "\"files\": ["
|
|
1707
|
+
- generic [ref=e1331]: "{"
|
|
1708
|
+
- generic [ref=e1332]: "\"path\": \"/.../shared/config/connectors.json\","
|
|
1709
|
+
- generic [ref=e1333]: "\"bundle\": null,"
|
|
1710
|
+
- generic [ref=e1334]: "\"exists\": true,"
|
|
1711
|
+
- generic [ref=e1335]: "\"parseError\": null,"
|
|
1712
|
+
- generic [ref=e1336]: "\"connectorCount\": 2,"
|
|
1713
|
+
- generic [ref=e1337]: "\"fixed\": [],"
|
|
1714
|
+
- generic [ref=e1338]: "\"issues\": ["
|
|
1715
|
+
- generic [ref=e1339]: "{"
|
|
1716
|
+
- generic [ref=e1340]: "\"type\": \"missing-schema\","
|
|
1717
|
+
- generic [ref=e1341]: "\"severity\": \"info\","
|
|
1718
|
+
- generic [ref=e1342]: "\"fixable\": true,"
|
|
1719
|
+
- generic [ref=e1343]: "\"message\": \"Top-level `$schema` key missing. Auto-fix adds `\\\"$schema\\\": \\\"https://gina.io/schema/connectors.json\\\"`.\""
|
|
1720
|
+
- generic [ref=e1344]: "}"
|
|
1721
|
+
- generic [ref=e1345]: "]"
|
|
1722
|
+
- generic [ref=e1346]: "}"
|
|
1723
|
+
- generic [ref=e1347]: "]"
|
|
1724
|
+
- generic [ref=e1348]: "}"
|
|
1725
|
+
- table [ref=e1349]:
|
|
1726
|
+
- rowgroup [ref=e1350]:
|
|
1727
|
+
- row "Field Description" [ref=e1351]:
|
|
1728
|
+
- columnheader "Field" [ref=e1352]
|
|
1729
|
+
- columnheader "Description" [ref=e1353]
|
|
1730
|
+
- rowgroup [ref=e1354]:
|
|
1731
|
+
- row "project Project short-name (manifest name with the leading @ stripped)" [ref=e1355]:
|
|
1732
|
+
- cell "project" [ref=e1356]:
|
|
1733
|
+
- code [ref=e1357]: project
|
|
1734
|
+
- cell "Project short-name (manifest name with the leading @ stripped)" [ref=e1358]:
|
|
1735
|
+
- text: Project short-name (manifest
|
|
1736
|
+
- code [ref=e1359]: name
|
|
1737
|
+
- text: with the leading
|
|
1738
|
+
- code [ref=e1360]: "@"
|
|
1739
|
+
- text: stripped)
|
|
1740
|
+
- row "scope \"project\" when <bundle> is absent, \"bundle\" when present" [ref=e1361]:
|
|
1741
|
+
- cell "scope" [ref=e1362]:
|
|
1742
|
+
- code [ref=e1363]: scope
|
|
1743
|
+
- cell "\"project\" when <bundle> is absent, \"bundle\" when present" [ref=e1364]:
|
|
1744
|
+
- code [ref=e1365]: "\"project\""
|
|
1745
|
+
- text: when
|
|
1746
|
+
- code [ref=e1366]: <bundle>
|
|
1747
|
+
- text: is absent,
|
|
1748
|
+
- code [ref=e1367]: "\"bundle\""
|
|
1749
|
+
- text: when present
|
|
1750
|
+
- row "bundle Bundle name when scope is \"bundle\", otherwise null" [ref=e1368]:
|
|
1751
|
+
- cell "bundle" [ref=e1369]:
|
|
1752
|
+
- code [ref=e1370]: bundle
|
|
1753
|
+
- cell "Bundle name when scope is \"bundle\", otherwise null" [ref=e1371]:
|
|
1754
|
+
- text: Bundle name when scope is
|
|
1755
|
+
- code [ref=e1372]: "\"bundle\""
|
|
1756
|
+
- text: ", otherwise"
|
|
1757
|
+
- code [ref=e1373]: "null"
|
|
1758
|
+
- row "fixApplied true when --fix was passed (regardless of whether any fix ran)" [ref=e1374]:
|
|
1759
|
+
- cell "fixApplied" [ref=e1375]:
|
|
1760
|
+
- code [ref=e1376]: fixApplied
|
|
1761
|
+
- cell "true when --fix was passed (regardless of whether any fix ran)" [ref=e1377]:
|
|
1762
|
+
- code [ref=e1378]: "true"
|
|
1763
|
+
- text: when
|
|
1764
|
+
- code [ref=e1379]: "--fix"
|
|
1765
|
+
- text: was passed (regardless of whether any fix ran)
|
|
1766
|
+
- row "files[] One entry per scanned connectors.json file — path, owning bundle (null for shared), exists, parseError, connectorCount (excluding $schema), fixed[], issues[]" [ref=e1380]:
|
|
1767
|
+
- cell "files[]" [ref=e1381]:
|
|
1768
|
+
- code [ref=e1382]: files[]
|
|
1769
|
+
- cell "One entry per scanned connectors.json file — path, owning bundle (null for shared), exists, parseError, connectorCount (excluding $schema), fixed[], issues[]" [ref=e1383]:
|
|
1770
|
+
- text: One entry per scanned
|
|
1771
|
+
- code [ref=e1384]: connectors.json
|
|
1772
|
+
- text: file —
|
|
1773
|
+
- code [ref=e1385]: path
|
|
1774
|
+
- text: ", owning"
|
|
1775
|
+
- code [ref=e1386]: bundle
|
|
1776
|
+
- text: (null for shared),
|
|
1777
|
+
- code [ref=e1387]: exists
|
|
1778
|
+
- text: ","
|
|
1779
|
+
- code [ref=e1388]: parseError
|
|
1780
|
+
- text: ","
|
|
1781
|
+
- code [ref=e1389]: connectorCount
|
|
1782
|
+
- text: (excluding
|
|
1783
|
+
- code [ref=e1390]: $schema
|
|
1784
|
+
- text: ),
|
|
1785
|
+
- code [ref=e1391]: fixed[]
|
|
1786
|
+
- text: ","
|
|
1787
|
+
- code [ref=e1392]: issues[]
|
|
1788
|
+
- heading "Comment header preservationDirect link to Comment header preservation" [level=3] [ref=e1393]:
|
|
1789
|
+
- text: Comment header preservation
|
|
1790
|
+
- link "Direct link to Comment header preservation" [ref=e1394] [cursor=pointer]:
|
|
1791
|
+
- /url: "#comment-header-preservation"
|
|
1792
|
+
- text: "#"
|
|
1793
|
+
- paragraph [ref=e1395]:
|
|
1794
|
+
- text: The leading
|
|
1795
|
+
- code [ref=e1396]: //
|
|
1796
|
+
- text: or
|
|
1797
|
+
- code [ref=e1397]: /* */
|
|
1798
|
+
- text: comment header above the first
|
|
1799
|
+
- code [ref=e1398]: "{"
|
|
1800
|
+
- text: is preserved byte-for-byte when
|
|
1801
|
+
- code [ref=e1399]: "--fix"
|
|
1802
|
+
- text: rewrites the file. Mid-body comments are lost on rewrite (same convention as
|
|
1803
|
+
- code [ref=e1400]: connector:add
|
|
1804
|
+
- text: and
|
|
1805
|
+
- code [ref=e1401]: connector:rm
|
|
1806
|
+
- text: ).
|
|
1807
|
+
- heading "Why there is no auto-migrate hookDirect link to Why there is no auto-migrate hook" [level=3] [ref=e1402]:
|
|
1808
|
+
- text: Why there is no auto-migrate hook
|
|
1809
|
+
- link "Direct link to Why there is no auto-migrate hook" [ref=e1403] [cursor=pointer]:
|
|
1810
|
+
- /url: "#why-there-is-no-auto-migrate-hook"
|
|
1811
|
+
- text: "#"
|
|
1812
|
+
- paragraph [ref=e1404]:
|
|
1813
|
+
- code [ref=e1405]: connector:migrate
|
|
1814
|
+
- text: does
|
|
1815
|
+
- strong [ref=e1406]: not
|
|
1816
|
+
- text: run automatically at bundle boot —
|
|
1817
|
+
- code [ref=e1407]: core/config.js
|
|
1818
|
+
- text: is unchanged by this command. A runtime auto-migration hook is the right long-term design, but only when a concrete old-shape → new-shape delta exists to migrate. Today's schema has no such delta (the enum and field shapes are stable since 0.3.7), so a boot-path hook would be scaffolding around a non-existent problem. The real hook is deferred to
|
|
1819
|
+
- code [ref=e1408]: 0.4.0
|
|
1820
|
+
- text: alongside the Couchbase SDK v2 removal (
|
|
1821
|
+
- code [ref=e1409]: "#CN8"
|
|
1822
|
+
- text: ), when the migration will have a real before/after to act on.
|
|
1823
|
+
- heading "Error pathsDirect link to Error paths" [level=3] [ref=e1410]:
|
|
1824
|
+
- text: Error paths
|
|
1825
|
+
- link "Direct link to Error paths" [ref=e1411] [cursor=pointer]:
|
|
1826
|
+
- /url: "#error-paths-3"
|
|
1827
|
+
- text: "#"
|
|
1828
|
+
- table [ref=e1412]:
|
|
1829
|
+
- rowgroup [ref=e1413]:
|
|
1830
|
+
- row "Input Behaviour" [ref=e1414]:
|
|
1831
|
+
- columnheader "Input" [ref=e1415]
|
|
1832
|
+
- columnheader "Behaviour" [ref=e1416]
|
|
1833
|
+
- rowgroup [ref=e1417]:
|
|
1834
|
+
- row "connector:migrate with no @<project> \"connector:migrate requires @<project>\" (exit 1)" [ref=e1418]:
|
|
1835
|
+
- cell "connector:migrate with no @<project>" [ref=e1419]:
|
|
1836
|
+
- code [ref=e1420]: connector:migrate
|
|
1837
|
+
- text: with no
|
|
1838
|
+
- code [ref=e1421]: "@<project>"
|
|
1839
|
+
- cell "\"connector:migrate requires @<project>\" (exit 1)" [ref=e1422]:
|
|
1840
|
+
- text: "\""
|
|
1841
|
+
- code [ref=e1423]: connector:migrate
|
|
1842
|
+
- text: requires
|
|
1843
|
+
- code [ref=e1424]: "@<project>"
|
|
1844
|
+
- text: "\" (exit 1)"
|
|
1845
|
+
- row "connector:migrate @unknown \"Project [unknown] not found in your projects list\" (CmdHelper, exit 1)" [ref=e1425]:
|
|
1846
|
+
- cell "connector:migrate @unknown" [ref=e1426]:
|
|
1847
|
+
- code [ref=e1427]: connector:migrate @unknown
|
|
1848
|
+
- cell "\"Project [unknown] not found in your projects list\" (CmdHelper, exit 1)" [ref=e1428]
|
|
1849
|
+
- row "connector:migrate bogus @<project> \"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e1429]:
|
|
1850
|
+
- cell "connector:migrate bogus @<project>" [ref=e1430]:
|
|
1851
|
+
- code [ref=e1431]: connector:migrate bogus @<project>
|
|
1852
|
+
- cell "\"Bundle [ bogus ] is not registered inside @<project>\" (exit 1)" [ref=e1432]:
|
|
1853
|
+
- text: "\"Bundle [ bogus ] is not registered inside"
|
|
1854
|
+
- code [ref=e1433]: "@<project>"
|
|
1855
|
+
- text: "\" (exit 1)"
|
|
1856
|
+
- 'row "connector:migrate @<project> --format=xml \"Unknown --format value xml. Supported: json.\" (exit 1)" [ref=e1434]':
|
|
1857
|
+
- cell "connector:migrate @<project> --format=xml" [ref=e1435]:
|
|
1858
|
+
- code [ref=e1436]: connector:migrate @<project> --format=xml
|
|
1859
|
+
- 'cell "\"Unknown --format value xml. Supported: json.\" (exit 1)" [ref=e1437]':
|
|
1860
|
+
- text: "\"Unknown --format value"
|
|
1861
|
+
- code [ref=e1438]: xml
|
|
1862
|
+
- text: ". Supported: json.\" (exit 1)"
|
|
1863
|
+
- row "Target connectors.json missing Reported as \"missing (skipped)\" — not an error (exit 0)" [ref=e1439]:
|
|
1864
|
+
- cell "Target connectors.json missing" [ref=e1440]:
|
|
1865
|
+
- text: Target
|
|
1866
|
+
- code [ref=e1441]: connectors.json
|
|
1867
|
+
- text: missing
|
|
1868
|
+
- cell "Reported as \"missing (skipped)\" — not an error (exit 0)" [ref=e1442]
|
|
1869
|
+
- separator [ref=e1443]
|
|
1870
|
+
- heading "connector:helpDirect link to connectorhelp" [level=2] [ref=e1444]:
|
|
1871
|
+
- code [ref=e1445]: connector:help
|
|
1872
|
+
- link "Direct link to connectorhelp" [ref=e1446] [cursor=pointer]:
|
|
1873
|
+
- /url: "#connectorhelp"
|
|
1874
|
+
- text: "#"
|
|
1875
|
+
- paragraph [ref=e1447]:
|
|
1876
|
+
- text: Print the usage summary for the
|
|
1877
|
+
- code [ref=e1448]: connector
|
|
1878
|
+
- text: command group.
|
|
1879
|
+
- code [ref=e1452]:
|
|
1880
|
+
- generic [ref=e1453]: gina connector:help
|
|
1881
|
+
- code [ref=e1457]:
|
|
1882
|
+
- generic [ref=e1458]: gina connector
|
|
1883
|
+
- generic [ref=e1459]:
|
|
1884
|
+
- generic [ref=e1460]:
|
|
1885
|
+
- generic [ref=e1461]: Was this page helpful?
|
|
1886
|
+
- generic [ref=e1462]:
|
|
1887
|
+
- button "Yes, this was helpful" [ref=e1463] [cursor=pointer]:
|
|
1888
|
+
- generic [ref=e1464]: 👍
|
|
1889
|
+
- generic [ref=e1465]: –
|
|
1890
|
+
- button "No, this was not helpful" [ref=e1466] [cursor=pointer]:
|
|
1891
|
+
- generic [ref=e1467]: 👎
|
|
1892
|
+
- generic [ref=e1468]: –
|
|
1893
|
+
- link "Edit this page" [ref=e1472] [cursor=pointer]:
|
|
1894
|
+
- /url: https://github.com/gina-io/docs/tree/main/docs/cli/connector.md
|
|
1895
|
+
- img [ref=e1473]
|
|
1896
|
+
- text: Edit this page
|
|
1897
|
+
- navigation "Docs pages" [ref=e1477]:
|
|
1898
|
+
- link "Previous « service" [ref=e1478] [cursor=pointer]:
|
|
1899
|
+
- /url: /docs/cli/cli-service
|
|
1900
|
+
- generic [ref=e1479]: Previous
|
|
1901
|
+
- generic [ref=e1480]: « service
|
|
1902
|
+
- link "Next Overview »" [ref=e1481] [cursor=pointer]:
|
|
1903
|
+
- /url: /docs/reference/
|
|
1904
|
+
- generic [ref=e1482]: Next
|
|
1905
|
+
- generic [ref=e1483]: Overview »
|
|
1906
|
+
- list [ref=e1486]:
|
|
1907
|
+
- listitem [ref=e1487]:
|
|
1908
|
+
- link "connector:list" [ref=e1488] [cursor=pointer]:
|
|
1909
|
+
- /url: "#connectorlist"
|
|
1910
|
+
- code [ref=e1489]: connector:list
|
|
1911
|
+
- list [ref=e1490]:
|
|
1912
|
+
- listitem [ref=e1491]:
|
|
1913
|
+
- link "Output" [ref=e1492] [cursor=pointer]:
|
|
1914
|
+
- /url: "#output"
|
|
1915
|
+
- listitem [ref=e1493]:
|
|
1916
|
+
- link "JSON output" [ref=e1494] [cursor=pointer]:
|
|
1917
|
+
- /url: "#json-output"
|
|
1918
|
+
- listitem [ref=e1495]:
|
|
1919
|
+
- link "Driver resolution" [ref=e1496] [cursor=pointer]:
|
|
1920
|
+
- /url: "#driver-resolution"
|
|
1921
|
+
- listitem [ref=e1497]:
|
|
1922
|
+
- link "Overlay semantics" [ref=e1498] [cursor=pointer]:
|
|
1923
|
+
- /url: "#overlay-semantics"
|
|
1924
|
+
- listitem [ref=e1499]:
|
|
1925
|
+
- link "Comment tolerance" [ref=e1500] [cursor=pointer]:
|
|
1926
|
+
- /url: "#comment-tolerance"
|
|
1927
|
+
- listitem [ref=e1501]:
|
|
1928
|
+
- link "Error paths" [ref=e1502] [cursor=pointer]:
|
|
1929
|
+
- /url: "#error-paths"
|
|
1930
|
+
- listitem [ref=e1503]:
|
|
1931
|
+
- link "connector:add" [ref=e1504] [cursor=pointer]:
|
|
1932
|
+
- /url: "#connectoradd"
|
|
1933
|
+
- code [ref=e1505]: connector:add
|
|
1934
|
+
- list [ref=e1506]:
|
|
1935
|
+
- listitem [ref=e1507]:
|
|
1936
|
+
- link "Flags" [ref=e1508] [cursor=pointer]:
|
|
1937
|
+
- /url: "#flags"
|
|
1938
|
+
- listitem [ref=e1509]:
|
|
1939
|
+
- link "Examples" [ref=e1510] [cursor=pointer]:
|
|
1940
|
+
- /url: "#examples"
|
|
1941
|
+
- listitem [ref=e1511]:
|
|
1942
|
+
- link "Output" [ref=e1512] [cursor=pointer]:
|
|
1943
|
+
- /url: "#output-1"
|
|
1944
|
+
- listitem [ref=e1513]:
|
|
1945
|
+
- link "Driver install with --install" [ref=e1514] [cursor=pointer]:
|
|
1946
|
+
- /url: "#driver-install-with---install"
|
|
1947
|
+
- text: Driver install with
|
|
1948
|
+
- code [ref=e1515]: "--install"
|
|
1949
|
+
- listitem [ref=e1516]:
|
|
1950
|
+
- link "Version pin — where it applies" [ref=e1517] [cursor=pointer]:
|
|
1951
|
+
- /url: "#version-pin--where-it-applies"
|
|
1952
|
+
- listitem [ref=e1518]:
|
|
1953
|
+
- link "Merge behaviour" [ref=e1519] [cursor=pointer]:
|
|
1954
|
+
- /url: "#merge-behaviour"
|
|
1955
|
+
- listitem [ref=e1520]:
|
|
1956
|
+
- link "Error paths" [ref=e1521] [cursor=pointer]:
|
|
1957
|
+
- /url: "#error-paths-1"
|
|
1958
|
+
- listitem [ref=e1522]:
|
|
1959
|
+
- link "connector:rm" [ref=e1523] [cursor=pointer]:
|
|
1960
|
+
- /url: "#connectorrm"
|
|
1961
|
+
- code [ref=e1524]: connector:rm
|
|
1962
|
+
- list [ref=e1525]:
|
|
1963
|
+
- listitem [ref=e1526]:
|
|
1964
|
+
- link "Flags" [ref=e1527] [cursor=pointer]:
|
|
1965
|
+
- /url: "#flags-1"
|
|
1966
|
+
- listitem [ref=e1528]:
|
|
1967
|
+
- link "Scoping rules" [ref=e1529] [cursor=pointer]:
|
|
1968
|
+
- /url: "#scoping-rules"
|
|
1969
|
+
- listitem [ref=e1530]:
|
|
1970
|
+
- link "Examples" [ref=e1531] [cursor=pointer]:
|
|
1971
|
+
- /url: "#examples-1"
|
|
1972
|
+
- listitem [ref=e1532]:
|
|
1973
|
+
- link "Output" [ref=e1533] [cursor=pointer]:
|
|
1974
|
+
- /url: "#output-2"
|
|
1975
|
+
- listitem [ref=e1534]:
|
|
1976
|
+
- link "Dry-run" [ref=e1535] [cursor=pointer]:
|
|
1977
|
+
- /url: "#dry-run"
|
|
1978
|
+
- listitem [ref=e1536]:
|
|
1979
|
+
- link "Project-level guard (--force)" [ref=e1537] [cursor=pointer]:
|
|
1980
|
+
- /url: "#project-level-guard---force"
|
|
1981
|
+
- text: Project-level guard (
|
|
1982
|
+
- code [ref=e1538]: "--force"
|
|
1983
|
+
- text: )
|
|
1984
|
+
- listitem [ref=e1539]:
|
|
1985
|
+
- link "Inherited-from-shared hint" [ref=e1540] [cursor=pointer]:
|
|
1986
|
+
- /url: "#inherited-from-shared-hint"
|
|
1987
|
+
- listitem [ref=e1541]:
|
|
1988
|
+
- link "Merge behaviour" [ref=e1542] [cursor=pointer]:
|
|
1989
|
+
- /url: "#merge-behaviour-1"
|
|
1990
|
+
- listitem [ref=e1543]:
|
|
1991
|
+
- link "Error paths" [ref=e1544] [cursor=pointer]:
|
|
1992
|
+
- /url: "#error-paths-2"
|
|
1993
|
+
- listitem [ref=e1545]:
|
|
1994
|
+
- link "connector:migrate" [ref=e1546] [cursor=pointer]:
|
|
1995
|
+
- /url: "#connectormigrate"
|
|
1996
|
+
- code [ref=e1547]: connector:migrate
|
|
1997
|
+
- list [ref=e1548]:
|
|
1998
|
+
- listitem [ref=e1549]:
|
|
1999
|
+
- link "Flags" [ref=e1550] [cursor=pointer]:
|
|
2000
|
+
- /url: "#flags-2"
|
|
2001
|
+
- listitem [ref=e1551]:
|
|
2002
|
+
- link "Checks" [ref=e1552] [cursor=pointer]:
|
|
2003
|
+
- /url: "#checks"
|
|
2004
|
+
- listitem [ref=e1553]:
|
|
2005
|
+
- link "Example — dry run" [ref=e1554] [cursor=pointer]:
|
|
2006
|
+
- /url: "#example--dry-run"
|
|
2007
|
+
- listitem [ref=e1555]:
|
|
2008
|
+
- link "Example — apply fixes" [ref=e1556] [cursor=pointer]:
|
|
2009
|
+
- /url: "#example--apply-fixes"
|
|
2010
|
+
- listitem [ref=e1557]:
|
|
2011
|
+
- link "JSON output" [ref=e1558] [cursor=pointer]:
|
|
2012
|
+
- /url: "#json-output-1"
|
|
2013
|
+
- listitem [ref=e1559]:
|
|
2014
|
+
- link "Comment header preservation" [ref=e1560] [cursor=pointer]:
|
|
2015
|
+
- /url: "#comment-header-preservation"
|
|
2016
|
+
- listitem [ref=e1561]:
|
|
2017
|
+
- link "Why there is no auto-migrate hook" [ref=e1562] [cursor=pointer]:
|
|
2018
|
+
- /url: "#why-there-is-no-auto-migrate-hook"
|
|
2019
|
+
- listitem [ref=e1563]:
|
|
2020
|
+
- link "Error paths" [ref=e1564] [cursor=pointer]:
|
|
2021
|
+
- /url: "#error-paths-3"
|
|
2022
|
+
- listitem [ref=e1565]:
|
|
2023
|
+
- link "connector:help" [ref=e1566] [cursor=pointer]:
|
|
2024
|
+
- /url: "#connectorhelp"
|
|
2025
|
+
- code [ref=e1567]: connector:help
|
|
2026
|
+
- contentinfo [ref=e1568]:
|
|
2027
|
+
- generic [ref=e1569]:
|
|
2028
|
+
- generic [ref=e1570]:
|
|
2029
|
+
- generic [ref=e1571]:
|
|
2030
|
+
- generic [ref=e1572]: Docs
|
|
2031
|
+
- list [ref=e1573]:
|
|
2032
|
+
- listitem [ref=e1574]:
|
|
2033
|
+
- link "Getting Started" [ref=e1575] [cursor=pointer]:
|
|
2034
|
+
- /url: /docs/intro
|
|
2035
|
+
- generic [ref=e1576]:
|
|
2036
|
+
- generic [ref=e1577]: Community
|
|
2037
|
+
- list [ref=e1578]:
|
|
2038
|
+
- listitem [ref=e1579]:
|
|
2039
|
+
- link "GitHub Issues(opens in new tab)" [ref=e1580] [cursor=pointer]:
|
|
2040
|
+
- /url: https://github.com/gina-io/gina/issues
|
|
2041
|
+
- text: GitHub Issues
|
|
2042
|
+
- img "(opens in new tab)" [ref=e1581]
|
|
2043
|
+
- listitem [ref=e1583]:
|
|
2044
|
+
- link "GitHub Discussions(opens in new tab)" [ref=e1584] [cursor=pointer]:
|
|
2045
|
+
- /url: https://github.com/gina-io/gina/discussions
|
|
2046
|
+
- text: GitHub Discussions
|
|
2047
|
+
- img "(opens in new tab)" [ref=e1585]
|
|
2048
|
+
- listitem [ref=e1587]:
|
|
2049
|
+
- link "Support Gina" [ref=e1588] [cursor=pointer]:
|
|
2050
|
+
- /url: /docs/support
|
|
2051
|
+
- generic [ref=e1589]:
|
|
2052
|
+
- generic [ref=e1590]: More
|
|
2053
|
+
- list [ref=e1591]:
|
|
2054
|
+
- listitem [ref=e1592]:
|
|
2055
|
+
- link "npm(opens in new tab)" [ref=e1593] [cursor=pointer]:
|
|
2056
|
+
- /url: https://www.npmjs.com/package/gina
|
|
2057
|
+
- text: npm
|
|
2058
|
+
- img "(opens in new tab)" [ref=e1594]
|
|
2059
|
+
- generic [ref=e1597]: Copyright © 2009-2026 Gina I/O.
|
|
2060
|
+
- button "Collapse sidebar" [ref=e1599] [cursor=pointer]:
|
|
2061
|
+
- img [ref=e1600]
|