gina 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +24 -31
- package/ROADMAP.md +2 -1
- package/context7.json +43 -0
- package/framework/v0.6.1/VERSION +1 -0
- package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/js/gina.js +200 -30
- package/framework/v0.6.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js +603 -0
- package/framework/v0.6.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.6.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/index.js +15 -0
- package/framework/v0.6.1/core/connectors/duckdb/index.js +478 -0
- package/framework/v0.6.1/core/connectors/duckdb/lib/connector.js +125 -0
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/mongodb/index.js +9 -1
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/mysql/index.js +9 -1
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/postgresql/index.js +9 -1
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/scylladb/index.js +9 -1
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/sqlite/index.js +9 -1
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/sqlite/lib/connector.js +4 -6
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/sqlite/lib/job-store.js +5 -7
- package/framework/{v0.6.0 → v0.6.1}/core/connectors/sqlite/lib/session-store.js +5 -7
- package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.render-json.js +17 -1
- package/framework/{v0.6.0 → v0.6.1}/core/model/entity.js +8 -3
- package/framework/{v0.6.0 → v0.6.1}/core/model/template/index.js +1 -1
- package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/validator/src/form-validator.js +71 -4
- package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/validator/src/main.js +129 -26
- package/framework/{v0.6.0 → v0.6.1}/core/server.isaac.js +47 -1
- package/framework/{v0.6.0 → v0.6.1}/core/server.js +10 -2
- package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/add.js +1 -1
- package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/help.txt +1 -0
- package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/migrate.js +1 -1
- package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/remove.js +1 -1
- package/framework/{v0.6.0 → v0.6.1}/lib/connector-registry/src/main.js +6 -1
- package/framework/{v0.6.0 → v0.6.1}/lib/model.js +2 -2
- package/framework/v0.6.1/lib/sqlite-driver.js +217 -0
- package/framework/{v0.6.0 → v0.6.1}/lib/state.js +5 -4
- package/framework/{v0.6.0 → v0.6.1}/package.json +1 -1
- package/gna.js +4 -4
- package/llms.txt +15 -4
- package/package.json +5 -5
- package/schema/connectors.json +9 -4
- package/script/smoke_in_container.js +401 -8
- package/types/index.d.ts +1 -1
- package/framework/v0.6.0/VERSION +0 -1
- package/framework/v0.6.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -601
- package/framework/v0.6.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.6.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/AUTHORS +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/LICENSE +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/html/static.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/config.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/mongodb/lib/job-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/redis/lib/connector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/redis/lib/job-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/redis/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/content.encoding +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/controller/release-banner.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/dev/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/gna.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/locales/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/locales/currency.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/locales/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/mime.types +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/model/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/router.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/server.express.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/status.codes +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/_gitignore +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/conf/env.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/conf/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/console.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/context.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/data/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/data/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/json/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/json/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/path.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/prototypes.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/task.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/helpers/text.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/admin/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/admin/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/archiver/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/archiver/build.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/archiver/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/async/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/async/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/audit/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/audit/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/audit-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/authn/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/authn/src/lockout.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/authn/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/authn/src/totp.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/authz-gate/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/authz-gate/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cache/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cache/build.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cache/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/audit/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/audit/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/audit/verify.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/man.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/bundle/types.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/cache/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/cache/clear.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/cache/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/infer.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/models.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/connector/test.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/container/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/container/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/container/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/container/man.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/container/ps.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/container/stop.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/inc/args.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/inc/namespace.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/inc/reference-scan.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/inc/scaffold.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/remove.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/rename.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/controller/rm.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/man.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/remove.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/reset.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/_host.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/build.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/man.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/rm.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/image/run.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/man-render.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/backup.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/man.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/restore.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/service/man.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/collection/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/collection/build.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/collection/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/config.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/connector-config/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/connector-config/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/connector-error/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/connector-error/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cron/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cron/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/domain/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/domain/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/dto/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/dto/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/dto-pipe/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/dto-pipe/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/dto-types/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/dto-types/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/generator/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/i18n/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/image-build/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/image-build/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inherits/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inherits/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inspector-events/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inspector-events/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/instrument/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/job/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/job/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/job-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/json-config-header/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/json-config-header/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/math/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/merge/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/merge/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/metrics/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/net-locality/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/net-locality/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/proc.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/release-watch/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/release-watch/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/render-cache/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/render-cache/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/routing/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/routing/build.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/routing/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/secrets/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/session-store.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/shell.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/url/README.md +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/url/index.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/url/routing.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/uuid/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/validator.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/watcher/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/ws-query/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/ws-query/src/main.js +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.6.0 → v0.6.1}/lib/ws-session/src/main.js +0 -0
|
@@ -29,10 +29,21 @@
|
|
|
29
29
|
* the v0.3.8 "broken global install" regression class).
|
|
30
30
|
* 2. `gina version` runs and prints a version.
|
|
31
31
|
* 3. `gina project:add` scaffolds a project.
|
|
32
|
-
* 4. `gina bundle:add api` + `
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
32
|
+
* 4. `gina bundle:add api` + `frontend` + `db` scaffold three bundles.
|
|
33
|
+
* 4b. The `db` bundle gets a SQLite connector fixture (connectors.json entry +
|
|
34
|
+
* entity + SQL files + a probe route) — see `sqliteFixtureFiles()`.
|
|
35
|
+
* 5. All three bundles BOOT to a listening HTTP server via the daemonless
|
|
36
|
+
* launcher `gina-container` (no framework socket / port-8124 daemon needed)
|
|
37
|
+
* and answer HTTP 200 with the boilerplate greeting.
|
|
38
|
+
* 6. The `db` bundle round-trips a real SQLite CREATE → INSERT → SELECT through
|
|
39
|
+
* the shipped ORM connector and reports the resolved driver.
|
|
40
|
+
*
|
|
41
|
+
* Why the SQLite leg exists (the connector coverage boundary, measured 2026-07-28):
|
|
42
|
+
* no CI leg — Node or Bun — exercised ANY connector, so "Bun is a supported,
|
|
43
|
+
* CI-gated runtime" only ever meant install → boot → HTTP 200 on a CONNECTOR-FREE
|
|
44
|
+
* scaffold. SQLite is the one connector that needs zero npm install (it resolves
|
|
45
|
+
* through `lib/sqlite-driver`: `node:sqlite` on Node, a `bun:sqlite` adapter on
|
|
46
|
+
* Bun), so it is the cheapest possible guard for that whole surface.
|
|
36
47
|
*
|
|
37
48
|
* Exit codes: 0 — all checks passed; 1 — a check failed (the orchestrator turns
|
|
38
49
|
* a non-zero exit into a loud red "DO NOT PUBLISH").
|
|
@@ -66,13 +77,32 @@ var TARBALL = process.env.GINA_SMOKE_TARBALL || '/tmp/gina.tgz';
|
|
|
66
77
|
var EXPECTED_VERSION = process.env.GINA_SMOKE_VERSION || '';
|
|
67
78
|
var PROJECT = 'smoke';
|
|
68
79
|
var PROJECT_DIR = path.join(os.tmpdir(), 'gina-smoke-project');
|
|
69
|
-
var BUNDLES = ['api', 'frontend']; // added in this order;
|
|
70
|
-
var PORT_BASE = 9700; // api 9700, frontend 9800 (hints; resolved from state)
|
|
80
|
+
var BUNDLES = ['api', 'frontend', 'db']; // added in this order; each gets its own webroot
|
|
81
|
+
var PORT_BASE = 9700; // api 9700, frontend 9800, db 9900 (hints; resolved from state)
|
|
71
82
|
var GREETING = 'Hello World'; // boilerplate config/app.json greeting
|
|
72
83
|
var GINA_HOME = path.join(os.homedir(), '.gina');
|
|
73
84
|
var BOOT_TIMEOUT_MS = 40000; // a cold container boot is slower than a warm host
|
|
74
85
|
var POLL_INTERVAL_MS = 300;
|
|
75
86
|
|
|
87
|
+
// -- SQLite connector leg -----------------------------------------------------
|
|
88
|
+
// Carried by its OWN bundle so `api` + `frontend` stay pristine: their
|
|
89
|
+
// "a plain scaffold boots and serves" assertion remains an untouched control, and
|
|
90
|
+
// a SQLite regression fails exactly one bundle instead of tainting all three.
|
|
91
|
+
var DB_BUNDLE = 'db'; // bundle carrying the fixture
|
|
92
|
+
var DB_ENTRY = 'smokedb'; // connectors.json key — MUST equal `database`
|
|
93
|
+
var DB_FILE = path.join(os.tmpdir(), 'gina-smoke-smokedb.sqlite'); // explicit `file`, asserted verbatim
|
|
94
|
+
var DB_NS = 'probe'; // routing namespace → controller.probe.js
|
|
95
|
+
var DB_ENTITY = 'probe'; // entities/probe.js → sql/probe/
|
|
96
|
+
var DB_ROUTE = 'sqlite-probe'; // routing.json rule name + url segment
|
|
97
|
+
var DB_ACTION = 'sqliteProbe'; // param.control
|
|
98
|
+
var DB_TABLE = 'smoke_probe';
|
|
99
|
+
// The resolved driver constructor. `DatabaseSync` is node:sqlite's native class;
|
|
100
|
+
// `BunDatabaseSync` is the bun:sqlite adapter (lib/sqlite-driver.js). Both are
|
|
101
|
+
// accepted on purpose — the adapter SELF-RETIRES if Bun ever ships node:sqlite
|
|
102
|
+
// (oven-sh/bun#20412), and pinning the Bun leg to the adapter name would then go
|
|
103
|
+
// red exactly when the good thing happens.
|
|
104
|
+
var DB_DRIVERS = ['DatabaseSync', 'BunDatabaseSync'];
|
|
105
|
+
|
|
76
106
|
var booted = []; // [{ name, proc, stdout, stderr, exit }] — SIGKILLed on shutdown
|
|
77
107
|
|
|
78
108
|
// Runtime. The orchestrator launches this script with `node` or `bun` as the
|
|
@@ -142,6 +172,211 @@ function httpGet(useScheme, port, reqPath) {
|
|
|
142
172
|
|
|
143
173
|
function readJSON(file) { return JSON.parse(fs.readFileSync(file, 'utf8')); }
|
|
144
174
|
|
|
175
|
+
/**
|
|
176
|
+
* Reads a scaffolded bundle CONFIG json. Unlike {@link readJSON} this tolerates
|
|
177
|
+
* the leading `// bundle needs to be restarted on changes !!` line the boilerplate
|
|
178
|
+
* ships — plain `JSON.parse` throws on it. Only FULL-LINE `//` comments are
|
|
179
|
+
* stripped, so the `https://` inside `$schema` survives.
|
|
180
|
+
*
|
|
181
|
+
* Mirrors `parseConfigJSON` in test/integration/container-boot.test.js.
|
|
182
|
+
*
|
|
183
|
+
* @param {string} file Absolute path to the config json.
|
|
184
|
+
* @returns {object} The parsed config.
|
|
185
|
+
*/
|
|
186
|
+
function readConfigJSON(file) {
|
|
187
|
+
var src = fs.readFileSync(file, 'utf8')
|
|
188
|
+
.split('\n')
|
|
189
|
+
.filter(function (line) { return !/^\s*\/\//.test(line); })
|
|
190
|
+
.join('\n');
|
|
191
|
+
return JSON.parse(src);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// ---------------------------------------------------------------------------
|
|
195
|
+
// SQLite connector fixture
|
|
196
|
+
// ---------------------------------------------------------------------------
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Builds the SQLite fixture written into the `db` bundle after `bundle:add`.
|
|
200
|
+
*
|
|
201
|
+
* Pure — returns `bundle-relative path → file content` and touches no disk, so
|
|
202
|
+
* the shape is unit-testable without a container (test/lib/smoke-in-container-fixture.test.js).
|
|
203
|
+
*
|
|
204
|
+
* The layout is the one the shipped docs teach (the link-shortener tutorial):
|
|
205
|
+
* a connectors.json entry, an entity class whose body stays empty, and one `.sql`
|
|
206
|
+
* file per method. The SQLite connector discovers every method from the `.sql`
|
|
207
|
+
* filenames at boot and attaches it to the entity prototype
|
|
208
|
+
* (`core/connectors/sqlite/index.js`).
|
|
209
|
+
*
|
|
210
|
+
* `database` deliberately equals the entry key: two independent code paths
|
|
211
|
+
* auto-create the models dir — one from the entry key (`core/model/index.js`),
|
|
212
|
+
* one from `database` (`core/connectors/sqlite/index.js`) — so a mismatch
|
|
213
|
+
* silently creates two directories and the SQL is loaded into neither.
|
|
214
|
+
*
|
|
215
|
+
* `file` is set explicitly rather than left to default (`~/.gina/<v>/<database>.sqlite`)
|
|
216
|
+
* for three reasons: it exercises the `conf.file` branch a real deployment uses,
|
|
217
|
+
* it keeps the probe DB out of `~/.gina`, and it makes the path assertable verbatim.
|
|
218
|
+
* A real file (not `:memory:`) is used so the connector's WAL/synchronous pragmas
|
|
219
|
+
* actually engage against a disk-backed database.
|
|
220
|
+
*
|
|
221
|
+
* @returns {Object<string, string>} Bundle-relative path → file content.
|
|
222
|
+
*/
|
|
223
|
+
function sqliteFixtureFiles() {
|
|
224
|
+
var modelDir = 'models/' + DB_ENTRY;
|
|
225
|
+
var files = {};
|
|
226
|
+
|
|
227
|
+
// Replaces the `$schema`-only scaffold stub. NOTE a connectors.json with no
|
|
228
|
+
// object-valued keys boots green and silent (the #B29 guard short-circuits),
|
|
229
|
+
// so a typo here would NOT fail the boot — which is exactly why the gate
|
|
230
|
+
// asserts on the HTTP response body rather than on "the bundle started".
|
|
231
|
+
var connectors = { '$schema': 'https://gina.io/schema/connectors.json' };
|
|
232
|
+
connectors[DB_ENTRY] = {
|
|
233
|
+
connector : 'sqlite',
|
|
234
|
+
database : DB_ENTRY,
|
|
235
|
+
file : DB_FILE
|
|
236
|
+
};
|
|
237
|
+
files['config/connectors.json'] = JSON.stringify(connectors, null, 2) + '\n';
|
|
238
|
+
|
|
239
|
+
// The class body stays empty on purpose — every method comes from the .sql
|
|
240
|
+
// files below. The entity CLASS name is derived from this FILENAME by the
|
|
241
|
+
// connector (probe.js → Probe), not from the exported function's name.
|
|
242
|
+
files[modelDir + '/entities/' + DB_ENTITY + '.js'] = [
|
|
243
|
+
'/**',
|
|
244
|
+
' * Probe entity — SQL methods are attached from ' + modelDir + '/sql/' + DB_ENTITY + '/',
|
|
245
|
+
' * at boot by the SQLite connector. Written by script/smoke_in_container.js.',
|
|
246
|
+
' */',
|
|
247
|
+
'function ProbeEntity() {}',
|
|
248
|
+
'',
|
|
249
|
+
'module.exports = ProbeEntity;',
|
|
250
|
+
''
|
|
251
|
+
].join('\n');
|
|
252
|
+
|
|
253
|
+
files[modelDir + '/sql/' + DB_ENTITY + '/insert.sql'] = [
|
|
254
|
+
'/*',
|
|
255
|
+
' * @param {string} ?',
|
|
256
|
+
' */',
|
|
257
|
+
'INSERT INTO ' + DB_TABLE + ' (token) VALUES (?)',
|
|
258
|
+
''
|
|
259
|
+
].join('\n');
|
|
260
|
+
|
|
261
|
+
// `@return {object}` selects stmt.get() — the first row, or null.
|
|
262
|
+
files[modelDir + '/sql/' + DB_ENTITY + '/findByToken.sql'] = [
|
|
263
|
+
'/*',
|
|
264
|
+
' * @param {string} ?',
|
|
265
|
+
' * @return {object}',
|
|
266
|
+
' */',
|
|
267
|
+
'SELECT token FROM ' + DB_TABLE + ' WHERE token = ?',
|
|
268
|
+
''
|
|
269
|
+
].join('\n');
|
|
270
|
+
|
|
271
|
+
// A namespaced controller is required: without `namespace` the router loads
|
|
272
|
+
// controllers/controller.js, whose scaffold declares no actions at all.
|
|
273
|
+
files['controllers/controller.' + DB_NS + '.js'] = sqliteProbeController();
|
|
274
|
+
|
|
275
|
+
return files;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* The probe table's DDL. Owned by the HARNESS, not by a `.sql` fixture file.
|
|
280
|
+
*
|
|
281
|
+
* MEASURED 2026-07-29 (node:24 container): the SQLite connector PRE-COMPILES every
|
|
282
|
+
* `.sql` file at boot (`core/connectors/sqlite/index.js` → `readSQL`), so a
|
|
283
|
+
* statement naming a table that does not exist yet fails `conn.prepare()` and its
|
|
284
|
+
* error is LATCHED in `stmtError` for the whole process lifetime — a `setup.sql`
|
|
285
|
+
* invoked later from an action creates the table but cannot rescue the already
|
|
286
|
+
* failed statements. Real deployments migrate before the app starts; seeding here
|
|
287
|
+
* mirrors that and keeps the fixture's SQL realistic.
|
|
288
|
+
*
|
|
289
|
+
* @returns {string} `CREATE TABLE IF NOT EXISTS` for the probe table.
|
|
290
|
+
*/
|
|
291
|
+
function sqliteSchemaSql() {
|
|
292
|
+
return [
|
|
293
|
+
'CREATE TABLE IF NOT EXISTS ' + DB_TABLE + ' (',
|
|
294
|
+
' id INTEGER PRIMARY KEY AUTOINCREMENT,',
|
|
295
|
+
' token TEXT NOT NULL UNIQUE',
|
|
296
|
+
')'
|
|
297
|
+
].join('\n');
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Source of the probe controller written into the `db` bundle.
|
|
302
|
+
*
|
|
303
|
+
* The action drives the full ORM path (CREATE → INSERT → SELECT) and additionally
|
|
304
|
+
* reports the live connection's identity, so the gate has POSITIVE evidence the
|
|
305
|
+
* expected driver is engaged rather than merely "nothing threw".
|
|
306
|
+
*
|
|
307
|
+
* The failure branch dumps `Object.keys(db)` because the entity key is registered
|
|
308
|
+
* at runtime (`lib/model.js` `updateModel`) — if that contract ever moves, the
|
|
309
|
+
* smoke says which keys DO exist instead of just reporting a TypeError.
|
|
310
|
+
*
|
|
311
|
+
* @returns {string} JavaScript source for `controllers/controller.<DB_NS>.js`.
|
|
312
|
+
*/
|
|
313
|
+
function sqliteProbeController() {
|
|
314
|
+
return [
|
|
315
|
+
'/**',
|
|
316
|
+
' * DbProbeController — the SQLite connector leg of the container smoke.',
|
|
317
|
+
' * Written by script/smoke_in_container.js; not part of the scaffold.',
|
|
318
|
+
' */',
|
|
319
|
+
'function DbProbeController() {',
|
|
320
|
+
' var self = this;',
|
|
321
|
+
'',
|
|
322
|
+
' this.' + DB_ACTION + ' = async function(req, res) {',
|
|
323
|
+
' var db = null;',
|
|
324
|
+
' try {',
|
|
325
|
+
' db = getModel(\'' + DB_ENTRY + '\');',
|
|
326
|
+
' var token = \'tok-\' + Date.now() + \'-\' + process.pid;',
|
|
327
|
+
'',
|
|
328
|
+
' await db.' + DB_ENTITY + '.insert(token);',
|
|
329
|
+
' var row = await db.' + DB_ENTITY + '.findByToken(token);',
|
|
330
|
+
' var conn = db.getConnection();',
|
|
331
|
+
'',
|
|
332
|
+
' self.renderJSON({',
|
|
333
|
+
' sqlite : \'ok\',',
|
|
334
|
+
' written : token,',
|
|
335
|
+
' readBack : (row && row.token) || null,',
|
|
336
|
+
' driver : (conn && conn.constructor) ? conn.constructor.name : null,',
|
|
337
|
+
' file : (conn && conn._file) || null,',
|
|
338
|
+
' runtime : (process.versions && process.versions.bun)',
|
|
339
|
+
' ? (\'bun \' + process.versions.bun)',
|
|
340
|
+
' : (\'node \' + process.version)',
|
|
341
|
+
' });',
|
|
342
|
+
' } catch (e) {',
|
|
343
|
+
' // renderJSON() takes ONE argument — there is no status-code',
|
|
344
|
+
' // parameter (core/controller/controller.js), so this stays 200',
|
|
345
|
+
' // on purpose and the gate asserts on the BODY.',
|
|
346
|
+
' self.renderJSON({',
|
|
347
|
+
' sqlite : \'error\',',
|
|
348
|
+
' error : (e && e.message) || String(e),',
|
|
349
|
+
' modelKeys : db ? Object.keys(db) : null',
|
|
350
|
+
' });',
|
|
351
|
+
' }',
|
|
352
|
+
' };',
|
|
353
|
+
'}',
|
|
354
|
+
'',
|
|
355
|
+
'module.exports = DbProbeController;',
|
|
356
|
+
''
|
|
357
|
+
].join('\n');
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* The routing rule MERGED into the `db` bundle's scaffolded routing.json.
|
|
362
|
+
*
|
|
363
|
+
* Merged rather than overwritten so the scaffold's own `homepage` rule survives —
|
|
364
|
+
* the greeting assertion for this bundle must keep testing the SCAFFOLD's route,
|
|
365
|
+
* not one this script wrote.
|
|
366
|
+
*
|
|
367
|
+
* @returns {object} `{ '<DB_ROUTE>': { namespace, url, method, param } }`
|
|
368
|
+
*/
|
|
369
|
+
function sqliteRoutingRule() {
|
|
370
|
+
var rule = {};
|
|
371
|
+
rule[DB_ROUTE] = {
|
|
372
|
+
namespace : DB_NS,
|
|
373
|
+
url : '/' + DB_ROUTE,
|
|
374
|
+
method : 'GET',
|
|
375
|
+
param : { control: DB_ACTION }
|
|
376
|
+
};
|
|
377
|
+
return rule;
|
|
378
|
+
}
|
|
379
|
+
|
|
145
380
|
/**
|
|
146
381
|
* Runs a gina CLI command. The exit status is informational ONLY — callers
|
|
147
382
|
* verify success via the on-disk state files, because the first-run home
|
|
@@ -203,6 +438,62 @@ function diagnostics(rec) {
|
|
|
203
438
|
'stderr (' + rec.stderr.length + 'b):\n' + (rec.stderr || '(empty)');
|
|
204
439
|
}
|
|
205
440
|
|
|
441
|
+
/**
|
|
442
|
+
* Dumps a booted bundle's captured streams WITHOUT {@link diagnostics}'s boot
|
|
443
|
+
* verdict — that verdict ("still running at deadline — a stalled boot") is
|
|
444
|
+
* correct only before a bundle binds, and actively misleading for a failure
|
|
445
|
+
* observed AFTER it is already serving.
|
|
446
|
+
*
|
|
447
|
+
* @inner
|
|
448
|
+
* @param {object} rec A {@link bootBundle} record.
|
|
449
|
+
* @returns {string}
|
|
450
|
+
*/
|
|
451
|
+
function streams(rec) {
|
|
452
|
+
return 'stdout (' + rec.stdout.length + 'b):\n' + (rec.stdout || '(empty)') + '\n---\n' +
|
|
453
|
+
'stderr (' + rec.stderr.length + 'b):\n' + (rec.stderr || '(empty)');
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* Creates the probe table in {@link DB_FILE} before any bundle boots — see
|
|
458
|
+
* {@link sqliteSchemaSql} for why the harness owns the schema.
|
|
459
|
+
*
|
|
460
|
+
* Driver resolution mirrors `lib/sqlite-driver.js` (node:sqlite first, bun:sqlite
|
|
461
|
+
* under Bun) but is deliberately LOCAL and independent: the harness must not have
|
|
462
|
+
* to locate the installed framework tree, and keeping the two resolutions separate
|
|
463
|
+
* means the bundle's own resolution stays the thing actually under measurement.
|
|
464
|
+
*
|
|
465
|
+
* @inner
|
|
466
|
+
* @returns {{ok: boolean, kind: (string|undefined), error: (string|undefined)}}
|
|
467
|
+
*/
|
|
468
|
+
function seedSqliteSchema() {
|
|
469
|
+
var Database = null;
|
|
470
|
+
var kind = null;
|
|
471
|
+
var nodeErr = null;
|
|
472
|
+
|
|
473
|
+
try {
|
|
474
|
+
Database = require('node:sqlite').DatabaseSync;
|
|
475
|
+
kind = 'node:sqlite';
|
|
476
|
+
} catch (e) {
|
|
477
|
+
nodeErr = e;
|
|
478
|
+
try {
|
|
479
|
+
Database = require('bun:sqlite').Database;
|
|
480
|
+
kind = 'bun:sqlite';
|
|
481
|
+
} catch (e2) {
|
|
482
|
+
return { ok: false, error: 'no synchronous SQLite driver in this runtime — ' +
|
|
483
|
+
'node:sqlite: ' + nodeErr.message + ' | bun:sqlite: ' + e2.message };
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
try {
|
|
488
|
+
var db = new Database(DB_FILE);
|
|
489
|
+
db.exec(sqliteSchemaSql());
|
|
490
|
+
db.close();
|
|
491
|
+
return { ok: true, kind: kind };
|
|
492
|
+
} catch (e) {
|
|
493
|
+
return { ok: false, error: 'could not seed ' + DB_FILE + ' via ' + kind + ': ' + e.message };
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
206
497
|
function shutdown() {
|
|
207
498
|
booted.forEach(function (b) {
|
|
208
499
|
try { if (b.proc && b.proc.exitCode === null) b.proc.kill('SIGKILL'); } catch (e) { /* ignore */ }
|
|
@@ -286,6 +577,37 @@ async function main() {
|
|
|
286
577
|
ok('bundle ' + b + ' scaffolded');
|
|
287
578
|
}
|
|
288
579
|
|
|
580
|
+
// 4b. Write the SQLite connector fixture into the `db` bundle.
|
|
581
|
+
// Done AFTER bundle:add and BEFORE any boot: connectors.json and
|
|
582
|
+
// routing.json are read once at boot and are NOT hot-reloaded, so writing
|
|
583
|
+
// them now sidesteps the restart the scaffold's own header warns about.
|
|
584
|
+
var dbDir = path.join(PROJECT_DIR, 'src', DB_BUNDLE);
|
|
585
|
+
var fixture = sqliteFixtureFiles();
|
|
586
|
+
var relPaths = Object.keys(fixture);
|
|
587
|
+
for (var fx = 0; fx < relPaths.length; fx++) {
|
|
588
|
+
var target = path.join(dbDir, relPaths[fx]);
|
|
589
|
+
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
590
|
+
fs.writeFileSync(target, fixture[relPaths[fx]]);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
// routing.json is MERGED, never clobbered — the scaffold's `homepage` rule is
|
|
594
|
+
// what the greeting assertion below tests for this bundle.
|
|
595
|
+
var dbRoutingPath = path.join(dbDir, 'config', 'routing.json');
|
|
596
|
+
var dbRouting = readConfigJSON(dbRoutingPath);
|
|
597
|
+
var probeRule = sqliteRoutingRule();
|
|
598
|
+
var ruleNames = Object.keys(probeRule);
|
|
599
|
+
for (var rn = 0; rn < ruleNames.length; rn++) {
|
|
600
|
+
dbRouting[ruleNames[rn]] = probeRule[ruleNames[rn]];
|
|
601
|
+
}
|
|
602
|
+
fs.writeFileSync(dbRoutingPath, JSON.stringify(dbRouting, null, 2) + '\n');
|
|
603
|
+
ok('sqlite fixture written into the ' + DB_BUNDLE + ' bundle (' + (relPaths.length + 1) + ' files, db=' + DB_FILE + ')');
|
|
604
|
+
|
|
605
|
+
// 4c. Seed the schema BEFORE the boot — the connector pre-compiles every .sql
|
|
606
|
+
// file at boot, so the tables its statements name must already exist.
|
|
607
|
+
var seeded = seedSqliteSchema();
|
|
608
|
+
if (!seeded.ok) { fail('could not prepare the sqlite fixture database: ' + seeded.error); return die(1); }
|
|
609
|
+
ok('sqlite schema seeded via ' + seeded.kind + ' at ' + DB_FILE);
|
|
610
|
+
|
|
289
611
|
// 5. Boot each bundle and verify it serves — SEQUENTIALLY, one at a time.
|
|
290
612
|
// gina-container is one-bundle-per-container by design (the k8s model).
|
|
291
613
|
// Booting two bundles of the same project CONCURRENTLY races on the shared
|
|
@@ -333,10 +655,81 @@ async function main() {
|
|
|
333
655
|
return die(1);
|
|
334
656
|
}
|
|
335
657
|
ok(name + ' serving HTTP 200 with greeting at ' + scheme + '://127.0.0.1:' + port + webroot);
|
|
658
|
+
|
|
659
|
+
// 6. SQLite connector round-trip — the connector coverage gate.
|
|
660
|
+
// `webroot` is already normalised with a trailing slash and config.js
|
|
661
|
+
// prefixes every route url with it, so never hardcode the path here.
|
|
662
|
+
if (name === DB_BUNDLE) {
|
|
663
|
+
var probeUrl = webroot + DB_ROUTE;
|
|
664
|
+
var probeRes = await httpGet(scheme, port, probeUrl);
|
|
665
|
+
if (probeRes.status !== 200) {
|
|
666
|
+
fail('GET ' + scheme + '://127.0.0.1:' + port + probeUrl + ' returned ' + probeRes.status +
|
|
667
|
+
(probeRes.err ? ' (' + probeRes.err + ')' : '') +
|
|
668
|
+
'\nbody: ' + (probeRes.body || '(empty)').substring(0, 600) + '\n' + streams(rec));
|
|
669
|
+
return die(1);
|
|
670
|
+
}
|
|
671
|
+
var probeBody;
|
|
672
|
+
try { probeBody = JSON.parse(probeRes.body); }
|
|
673
|
+
catch (e) {
|
|
674
|
+
fail('sqlite probe did not return JSON.\nbody: ' + (probeRes.body || '(empty)').substring(0, 600));
|
|
675
|
+
return die(1);
|
|
676
|
+
}
|
|
677
|
+
if (probeBody.sqlite !== 'ok') {
|
|
678
|
+
fail('sqlite probe reported failure: ' + JSON.stringify(probeBody) + '\n' + streams(rec));
|
|
679
|
+
return die(1);
|
|
680
|
+
}
|
|
681
|
+
// Positive evidence, not absence-of-error: the value written must come
|
|
682
|
+
// back out of the database, so a stubbed/no-op query cannot pass.
|
|
683
|
+
if (!probeBody.written || probeBody.readBack !== probeBody.written) {
|
|
684
|
+
fail('sqlite round-trip mismatch — wrote ' + JSON.stringify(probeBody.written) +
|
|
685
|
+
' but read back ' + JSON.stringify(probeBody.readBack));
|
|
686
|
+
return die(1);
|
|
687
|
+
}
|
|
688
|
+
if (DB_DRIVERS.indexOf(probeBody.driver) < 0) {
|
|
689
|
+
fail('unexpected SQLite driver ' + JSON.stringify(probeBody.driver) +
|
|
690
|
+
' — expected one of ' + DB_DRIVERS.join(' | ') + '.\n' +
|
|
691
|
+
'Under Bun this should be the bun:sqlite adapter unless Bun has shipped node:sqlite.');
|
|
692
|
+
return die(1);
|
|
693
|
+
}
|
|
694
|
+
// Proves the CONFIGURED entry was used and not a defaulted path.
|
|
695
|
+
if (probeBody.file !== DB_FILE) {
|
|
696
|
+
fail('sqlite connector opened ' + JSON.stringify(probeBody.file) +
|
|
697
|
+
' but connectors.json configured ' + JSON.stringify(DB_FILE));
|
|
698
|
+
return die(1);
|
|
699
|
+
}
|
|
700
|
+
ok('sqlite connector round-trip OK — driver ' + probeBody.driver +
|
|
701
|
+
', db ' + probeBody.file + ' (' + probeBody.runtime + ')');
|
|
702
|
+
}
|
|
336
703
|
}
|
|
337
704
|
|
|
338
|
-
log('ALL CHECKS PASSED on node ' + process.version);
|
|
705
|
+
log('ALL CHECKS PASSED on ' + (IS_BUN ? ('bun ' + (process.versions.bun || '')) : ('node ' + process.version)));
|
|
339
706
|
return die(0);
|
|
340
707
|
}
|
|
341
708
|
|
|
342
|
-
|
|
709
|
+
// Guarded so the fixture builders above can be required by
|
|
710
|
+
// test/lib/smoke-in-container-fixture.test.js without booting the smoke.
|
|
711
|
+
// MEASURED both directions before relying on it: `require.main === module` is
|
|
712
|
+
// true when run directly under BOTH node:24 and oven/bun:1.3.14, and false when
|
|
713
|
+
// required from node:test — so this can neither skip the smoke in a container nor
|
|
714
|
+
// run it inside the suite.
|
|
715
|
+
if (require.main === module) {
|
|
716
|
+
main().catch(function (e) { fail('unexpected error: ' + (e && e.stack ? e.stack : e)); die(1); });
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
module.exports = {
|
|
720
|
+
sqliteFixtureFiles : sqliteFixtureFiles,
|
|
721
|
+
sqliteProbeController: sqliteProbeController,
|
|
722
|
+
sqliteRoutingRule : sqliteRoutingRule,
|
|
723
|
+
sqliteSchemaSql : sqliteSchemaSql,
|
|
724
|
+
readConfigJSON : readConfigJSON,
|
|
725
|
+
BUNDLES : BUNDLES,
|
|
726
|
+
DB_BUNDLE : DB_BUNDLE,
|
|
727
|
+
DB_ENTRY : DB_ENTRY,
|
|
728
|
+
DB_FILE : DB_FILE,
|
|
729
|
+
DB_NS : DB_NS,
|
|
730
|
+
DB_ENTITY : DB_ENTITY,
|
|
731
|
+
DB_ROUTE : DB_ROUTE,
|
|
732
|
+
DB_ACTION : DB_ACTION,
|
|
733
|
+
DB_TABLE : DB_TABLE,
|
|
734
|
+
DB_DRIVERS : DB_DRIVERS
|
|
735
|
+
};
|
package/types/index.d.ts
CHANGED
|
@@ -630,7 +630,7 @@ declare namespace gina {
|
|
|
630
630
|
|
|
631
631
|
/** A single connector entry in `connectors.json` */
|
|
632
632
|
interface ConnectorEntry {
|
|
633
|
-
connector?: 'couchbase' | 'mongodb' | 'scylladb' | 'mysql' | 'postgresql' | 'sqlite' | 'redis' | 'ai';
|
|
633
|
+
connector?: 'couchbase' | 'mongodb' | 'scylladb' | 'mysql' | 'postgresql' | 'sqlite' | 'duckdb' | 'redis' | 'ai';
|
|
634
634
|
protocol?: string;
|
|
635
635
|
host?: string;
|
|
636
636
|
port?: number;
|
package/framework/v0.6.0/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.6.0
|