gina 0.6.16 → 0.6.17
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 +6 -0
- package/README.md +18 -19
- package/ROADMAP.md +1 -0
- package/framework/v0.6.17/VERSION +1 -0
- package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/js/gina.js +79 -10
- package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +269 -268
- package/framework/v0.6.17/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.6.17/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.js +17 -2
- package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/validator/src/form-validator.js +79 -10
- package/framework/{v0.6.16 → v0.6.17}/core/router.js +10 -0
- package/framework/{v0.6.16 → v0.6.17}/core/server.js +47 -2
- package/framework/{v0.6.16 → v0.6.17}/lib/dto/src/main.js +3 -2
- package/framework/{v0.6.16 → v0.6.17}/package.json +1 -1
- package/gna.js +4 -4
- package/llms.txt +6 -5
- package/package.json +3 -3
- package/framework/v0.6.16/VERSION +0 -1
- package/framework/v0.6.16/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.6.16/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/AUTHORS +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/LICENSE +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/html/static.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/config.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/couchbase/lib/storage-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/duckdb/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/duckdb/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/mongodb/lib/job-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/param-redact.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/redis/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/redis/lib/job-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/redis/lib/kv-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/redis/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/sqlite/lib/job-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/sqlite/lib/kv-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/content.encoding +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/controller/release-banner.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/dev/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/gna.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/locales/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/locales/currency.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/locales/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/mime.types +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/model/entity.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/model/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/model/template/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/plugins/lib/validator/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/server.express.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/server.isaac.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/status.codes +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/_gitignore +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/conf/env.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/conf/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/console.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/context.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/data/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/data/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/json/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/json/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/path.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/prototypes.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/task.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/helpers/text.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/admin/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/admin/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/archiver/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/archiver/build.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/archiver/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/async/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/async/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/audit/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/audit/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/audit-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/authn/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/authn/src/lockout.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/authn/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/authn/src/totp.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/authz-gate/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/authz-gate/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cache/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cache/build.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cache/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/audit/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/audit/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/audit/verify.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/man.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/bundle/types.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/cache/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/cache/clear.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/cache/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/infer.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/models.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/connector/test.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/container/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/container/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/container/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/container/man.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/container/ps.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/container/stop.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/inc/args.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/inc/namespace.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/inc/reference-scan.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/inc/scaffold.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/rename.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/controller/rm.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/man.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/reset.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/_host.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/build.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/man.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/rm.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/image/run.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/man-render.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/backup.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/man.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/restore.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/service/man.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/storage/arguments.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/storage/gc.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/storage/help.txt +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/storage/stats.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/storage/verify.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/collection/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/collection/build.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/collection/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/config.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/connector-config/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/connector-config/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/connector-error/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/connector-error/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cron/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cron/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/domain/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/domain/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/dto/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/dto-pipe/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/dto-pipe/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/dto-types/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/dto-types/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/generator/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/i18n/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/image-build/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/image-build/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inherits/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inherits/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inspector-events/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inspector-events/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/instrument/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/job/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/job/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/job-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/json-config-header/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/json-config-header/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/kv/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/kv/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/kv-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/loading-state/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/loading-state/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/maintenance/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/maintenance/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/math/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/merge/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/merge/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/metrics/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/model.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/net-locality/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/net-locality/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/proc.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/push/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/push/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/rate-limit/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/rate-limit/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/release-watch/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/release-watch/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/render-cache/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/render-cache/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/routing/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/routing/build.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/routing/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/src/backends/exec.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/src/backends/file.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/src/declaration.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/src/env-file.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/secrets/src/sources.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/session-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/shell.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/sqlite-driver.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/state.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/src/local-cas.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/src/local-stream.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/src/local.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/src/meta-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/src/s3.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage/src/util.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/storage-store.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/url/README.md +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/url/index.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/url/routing.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/uuid/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/validator.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/watcher/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/ws-query/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/ws-query/src/main.js +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.6.16 → v0.6.17}/lib/ws-session/src/main.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|
|
6
6
|
and is generated by [Changie](https://github.com/miniscruff/changie).
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## 0.6.17 - 2026-08-26
|
|
10
|
+
### Fixed
|
|
11
|
+
* #B422 — a route whose URL structurally matches but whose `requirements` REJECT the request no longer drops the connection once the route cache is warm. The route cache is keyed `method:pathname` and (on the isaac engine) the query string is stripped before dispatch, so every query variant of one pathname shares one cache entry; the warm path re-evaluated `requirements` on each hit but discarded the verdict, force-matching the rejected request and dispatching it with no routing description — an unhandled promise rejection at the dispatch target deref, the connection dropped with no HTTP response at all. The warm path now honors the verdict: a rejecting (or throwing) requirement evaluation is treated as a cache miss and falls through to the routing scan, which answers correctly — 404 when nothing matches, the sibling rule when one does, or a 500 naming the rule when a `validator::` requirement throws (previously also a dropped connection). The cache entry is kept — variants the requirements accept stay warm. Defence in depth: the router now answers a named 500 instead of throwing when dispatched without a resolved `param.control`. Server-side only — pickup is a bundle restart, no re-bake.
|
|
12
|
+
* #B423 — a bundle declaring a `redirect` route no longer floods its log with `JSON.clone(...) possible error detected: source[host] is undefined` warnings. Redirect rules are deliberately excluded from the per-rule host/hostname defaulting, so those keys are absent on them — but the per-request routing copy in the controller assigned them unconditionally, which CREATED properties holding `undefined` on the cached routing clone. Because that clone is kept for the lifetime of the process, every later no-arg `getConfig()` then emitted one `host` and one `hostname` warning per redirect rule, indefinitely — measured by a consumer as roughly three quarters of that log line total volume, drowning the genuine warnings it exists to surface. The copy is now existence-guarded: an absent key stays absent, and rules that do carry a host or hostname are copied exactly as before. Behaviour is otherwise unchanged (the clone had been substituting `null`, which every reader already treated the same as absent) — this removes log noise, not a functional defect. Reached only from template/view routes, so API-only bundles were never affected. Server-side only — pickup is a bundle restart, no re-bake.
|
|
13
|
+
* Validator rules `toFloat`, `set` and `format` are now context-safe (#B398). `toFloat` no longer throws server-side — it reads the live DOM value only when one is reachable and otherwise uses the submitted value, so server-side rule sets can coerce floats (the missing comma that leaked `isFloatingWithCommas` as an implicit global is fixed with it). `set` assigns the field value in both contexts and reflects it onto the DOM element only in the browser. `format` — which already worked in both contexts after `isDate` — now reports a non-Date value as a named rule-authoring error pointing at the missing `isDate`, instead of the opaque `val.format is not a function`.
|
|
14
|
+
|
|
9
15
|
## 0.6.16 - 2026-08-25
|
|
10
16
|
### Fixed
|
|
11
17
|
* Fixed #B418 — calling the public link API for a registered url whose anchor is no longer in the DOM threw a bare TypeError. It now throws a named error identifying the link id, the url and the cause: there is no deregistration path, so a registration outlives its element, and a page that re-renders its anchors after binding hits exactly this. The miss is detected beside the unregistered-url guard, before the supersede step, so it never aborts a request already in flight nor invalidates that request's response handling. Click-driven links cannot reach this case.
|
package/README.md
CHANGED
|
@@ -62,31 +62,30 @@ open https://localhost:3100
|
|
|
62
62
|
|
|
63
63
|
> **npm 12+** blocks install scripts by default, and gina's post-install bootstraps `~/.gina` and the framework dependencies. Install with `npm install -g gina@latest --allow-scripts=gina`, or allow it once for all global installs with `npm config set allow-scripts=gina --location=user`. (Not needed on npm ≤ 11.)
|
|
64
64
|
|
|
65
|
-
## What's in 0.6.
|
|
65
|
+
## What's in 0.6.17
|
|
66
66
|
|
|
67
67
|
> **Restart your bundles AND rebuild them.** This release changes the browser
|
|
68
|
-
> bundle: `gina.min.js` differs from `0.6.
|
|
68
|
+
> bundle: `gina.min.js` differs from `0.6.16` (`gina.min.css` and
|
|
69
69
|
> `gina.onload.min.js` are unchanged). A restart alone updates the server half
|
|
70
|
-
> only — each bundle bakes its own copy of the client assets, so the
|
|
71
|
-
> below would not reach a browser at all.
|
|
70
|
+
> only — each bundle bakes its own copy of the client assets, so the validator
|
|
71
|
+
> fix below would not reach a browser at all.
|
|
72
72
|
|
|
73
|
-
> **No settings reset.** `0.6.
|
|
73
|
+
> **No settings reset.** `0.6.17` is a patch — the `shortVersion` stays `0.6`, so
|
|
74
74
|
> your `~/.gina/0.6/settings.json` is untouched. (`0.6.0` was the reset.)
|
|
75
75
|
|
|
76
|
-
**A
|
|
77
|
-
The headline is
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
- **
|
|
87
|
-
- **Fixed — the
|
|
88
|
-
- **Fixed —
|
|
89
|
-
- **Fixed — the link API names its error when the anchor has left the DOM (#B418).** Calling the public link API for a registered url whose anchor is no longer in the document dereferenced the null lookup and threw a bare `TypeError`. There is no deregistration path, so a registration outlives its element — a page that re-renders its anchors after binding hits exactly this. It now throws a named error identifying the link id, the url and the cause, and the miss is detected beside the unregistered-url guard **before** the supersede step, so it no longer aborts a request already in flight nor invalidates that request's response handling. Click-driven links cannot reach this case: both click paths resolve on the element just operated.
|
|
76
|
+
**A dropped-connection routing defect, and three validator rules that could not
|
|
77
|
+
run on the server.** The headline is an availability fix: once a route cache was
|
|
78
|
+
warm, a request rejected by a route's `requirements` was dispatched anyway and the
|
|
79
|
+
connection was dropped with no HTTP response at all — no status, no body. Alongside
|
|
80
|
+
it, three documented validator rules threw on every server-side call, and a
|
|
81
|
+
redirect-route log flood that could account for most of a bundle's warning volume
|
|
82
|
+
is gone. **No action is required for any of the three** — each is a strict
|
|
83
|
+
improvement over behaviour that previously failed; details in the
|
|
84
|
+
[migration guide](https://gina.io/docs/migration).
|
|
85
|
+
|
|
86
|
+
- **Fixed — a rejected route no longer drops the connection once the cache is warm (#B422).** The route cache is keyed `method:pathname`, and on the isaac engine the query string is stripped before dispatch, so every query variant of one pathname shares a single cache entry. The warm path re-evaluated the route's `requirements` on each hit and then discarded the verdict, force-matching a request the requirements had just rejected and dispatching it with no routing description — an unhandled promise rejection at the dispatch target deref, and the connection closed with no HTTP response at all. The warm path now honours the verdict: a rejecting or throwing requirement evaluation is treated as a cache miss and falls through to the routing scan, which answers correctly — `404` when nothing matches, the sibling rule when one does, or a `500` naming the rule when a `validator::` requirement throws (previously also a dropped connection). The cache entry is kept, so variants the requirements accept stay warm. Defence in depth: the router now answers a named `500` instead of throwing when dispatched without a resolved `param.control`.
|
|
87
|
+
- **Fixed — the `toFloat`, `set` and `format` validator rules are context-safe (#B398).** All three are documented rules that threw on every server-side call. `toFloat` opened by reading the live DOM element unguarded, so server-side rule sets could not coerce a float at all; it now reads the live value only when one is reachable and otherwise uses the submitted value — which on the server *is* the raw value — so it works in both contexts (a missing comma in the same statement, which leaked `isFloatingWithCommas` as an implicit global into every page, is fixed with it). `set` assigns the field value in both contexts and reflects it onto the DOM element only in the browser, where an element exists. `format` — which already worked in both contexts when chained after `isDate`, as its documentation shows — now reports a non-`Date` value as a named rule-authoring error pointing at the missing `isDate`, instead of the opaque `val.format is not a function`. The guide's [middleware page](https://gina.io/docs/guides/middleware) also gained a section on reading configuration efficiently.
|
|
88
|
+
- **Fixed — a redirect route no longer floods the log with `source[host] is undefined` warnings (#B423).** Redirect rules are deliberately excluded from the per-rule host/hostname defaulting, so those keys are absent on them — but the per-request routing copy assigned them unconditionally, creating properties holding `undefined` on the cached routing clone. Because that clone lives for the process lifetime, every later no-arg `getConfig()` emitted one `host` and one `hostname` warning per redirect rule, indefinitely; measured by a consumer at roughly three quarters of that log line's total volume, drowning the genuine warnings it exists to surface. The copy is now existence-guarded: an absent key stays absent, and rules that do carry a host or hostname are copied exactly as before. This removes log noise rather than a functional defect — the clone had been substituting `null`, which every reader already treated the same as absent. Reached only from template and view routes, so API-only bundles were never affected.
|
|
90
89
|
|
|
91
90
|
## Documentation
|
|
92
91
|
|
package/ROADMAP.md
CHANGED
|
@@ -68,6 +68,7 @@ This roadmap covers planned features, architectural improvements, new connectors
|
|
|
68
68
|
| **Q4 2026** | `0.6.14` ✅ | **Added**: network-backed secrets without a vendor SDK or a hung boot — a bundle may declare one operator-supplied fetch command under `settings.secrets.exec` (argv form, no shell) whose stdout must be a single flat JSON object of string values, layered underneath the environment exactly like the existing file tier and mutually exclusive with it, a bundle inheriting a project-wide file chain opting out with `"file": null` beside its own block. It runs once per bundle per config-load cycle, at boot only, and a failing fetch is always a fast, named per-bundle boot refusal rather than a hang: the child is bounded by its own timeout and killed with SIGKILL on expiry, so a wedged secrets endpoint costs a failed boot instead of a process that never comes up. The fetched output is never echoed into any error, log or report, and `gina secrets:check` validates *and runs* the same command through the same code, so the CI gate's verdict matches the boot's by construction; recipes for vault, kubectl and sops ship with the guide, and decrypting at the container entrypoint remains the better pattern wherever the entrypoint can be controlled. `settings.secrets` is also stricter, deliberately: unknown keys and non-object values now refuse the boot instead of silently degrading to environment-only resolution. **Fixed**: a correctness pass over how `self.query()` hands results back to application code. An exception in an `async` query callback could vanish — every app-callback delivery (the Node-style callback form and the `{onComplete}` facade, on both transports) invoked the callback bare, so an asynchronous rejection was unowned and the request hung to client or proxy timeout; rejections now answer 500 with the correlation ref. A synchronous throw inside a callback invoked on a transport-error delivery escaped to the process handler on the event- and timer-frame sites, killing the whole bundle on both engines, and re-invoked the callback with its own exception on the caller-frame sites; all fourteen error-path deliveries are now guarded. An HTTP/2 transport failure was answered twice, the session-level error handler racing the stream-level delivery — and on a reused session answering with the *creating* request's context, since session listeners bind once at connect; notification is now owned solely by the stream-level terminals. Handle-mode error deliveries never reached the app's `onComplete` listener, because both facades dereferenced `data.status` on a single-argument error emit and crashed into a 500 that misattributed the failure to the app callback; the listener is now invoked with the error, and owns the outcome as the callback form does. And HTTP/2 callback mode never delivered a non-5xx error status at all, so graceful degradation was impossible for something as ordinary as a 404 from an HTTP/2 upstream and the documented promisify idiom never settled on one — every body-announced non-2xx now reaches the callback on both transports. `self.query()`'s JSDoc no longer claims the no-callback form returns a Promise: it returns a handle exposing `.onComplete(cb)`, which is not a thenable, so `await self.query({...})` resolved immediately with the handle and silently dropped the result — the real contract and the supported `await` idiom are documented with their rejection shapes, each verified against the runtime. A crash during bundle bootstrap now aborts loudly instead of hanging silently — the async boot frame turned a synchronous throw into a rejection logged at error level with no emergency marker and no exit, so `gina bundle:start` sat on its startup timer and reported a timeout with no cause attached. GET and HEAD query parameters keep their backslash-escaped characters: the pipeline stripped every backslash from the whole serialized document, so a newline degraded to the letter `n`, a backslash vanished, and a double quote or JSON-array value produced invalid JSON that silently dropped every parameter on the request. And `gina secrets:check` now agrees with the boot — its hand-kept mirror of the `settings.secrets.file` declaration guards had drifted permissively twice, reporting green on configurations the bundle refuses to start on, and the command now exits non-zero when a declaration is itself invalid or unreachable rather than only when a required key is unset. **Changed**: the config-source walk behind `secrets:scan` and `secrets:check` now lives in `lib.secrets`, so the two commands enumerate the same config sources by construction and cannot drift apart; CLI behaviour and report output are unchanged. Pickup: restart your bundles — no rebuild needed, the browser bundle's executable content is byte-identical to `0.6.13`. |
|
|
69
69
|
| **Q4 2026** | `0.6.15` ✅ | **Fixed**: client-side handler release now awaits the routing table — the table arrives only by async fetch (the page deliberately whispers an empty stub rather than inlining it) yet `gina.ready` handlers and the auto-boot validator released at `DOMContentLoaded`, so anything calling `getRoute()`/`toUrl()` during handler or form-bind initialisation ran against an empty table; loopback wins that race by single-digit milliseconds, which is why development and the local suites never see it, while a real deployment loses it by 150ms or more on every load, deterministically — a validator form rule naming a route then threw inside the init listener, the event dispatch swallowed the throw, and the instance's `ready` never fired, silently. All three release paths now gate on the dependency settling (the ready-list scheduler, the validator auto-boot poll, and the late-registration path that previously bypassed the scheduler entirely and fired immediately), settled deliberately meaning loaded **or** failed so a broken endpoint still releases handlers rather than hanging the page, with a parse-time 5-second fallback force-settling in degenerate shapes where no fetch is ever issued (ACTION REQUIRED only in the sense of timing: on deployed tiers handlers now fire 150ms–1.3s later than before, when routing is actually available). Alongside it, client `getRoute()` no longer crashes with a context-free TypeError when a bundle's routing table is absent — the client `getRouting()` returns null by design, and the bare dereference of that null sat one line above the very diagnostic built for the degraded-table case, so the case it existed for was exactly the one it could never report — and a failed routing fetch now leaves console evidence instead of booting the framework permanently degraded in silence. The couchbase connector no longer hangs a request when a `@return {number}` COUNT query does not match its alias parser: the branch dereferenced an unguarded regex match, so `SELECT COUNT(DISTINCT a.b) AS n` and an unaliased `SELECT COUNT(*)` both threw inside the connector's own result callback — no 5xx was ever produced, a promisified caller never settled, and the request hung until the client or proxy timed out, a stall then retried behind an HTTP/2 inter-bundle client; it was dev-invisible too, since the dev path strips only the first comment block, so a commented-out parsable COUNT elsewhere in the file kept the regex satisfied locally while production threw on the identical file. The branch now derives the count from the first projected column with no regex at all, guarded against empty result sets, empty rows and null payloads, exactly as mysql, postgresql, scylladb and sqlite already did (ACTION REQUIRED if a multi-column projection puts its COUNT anywhere but first: the returned value is now the first column rather than the aliased one, consistent with every other connector). The same connector now trims and lowercases the types it reads from `@return` and `@param`, and bounds both captures to the first brace pair — the extracted types feed exact-match comparisons whose arms are all lowercase, so `{Number}` or `{ number }` matched nothing and was silently skipped, handing back the raw row array instead of the declared shape and leaving the parameter uncast, while a second brace pair on the same line bled into the greedy capture (ACTION REQUIRED: annotations that previously fell through silently now reach their branch, so a query declaring `@return {Number}` begins returning the declared shape; `@options` deliberately keeps its greedy capture, holding a nestable object literal rather than a single type token). Two client plugins stop leaking behaviour onto pages that never asked for it: the public link API throws a named error identifying the url and the likely cause instead of a bare TypeError, and detects the miss before the supersede step so a mistyped url no longer aborts a legitimate request still in flight; and the popin stylesheet's `::backdrop` rule is scoped to gina's own popin dialogs rather than every `<dialog>` on the page (ACTION REQUIRED if a page relied on the unscoped rule to style its own dialogs, or supplies a popin dialog element from its own markup — that element needs the `gina-popin-container` class to keep gina's backdrop). **Changed**: a changelog fragment whose filename names a tracker id must now cite that id in its body, since only the body renders into `CHANGELOG.md` and the published tarball — an id carried by filename and commit message alone ships an unnumbered entry and anyone triaging by id gets a false zero (roughly 60 of 937 historical fragments shipped that way); recognised id families are an explicit allowlist rather than a generic pattern, because the generic form false-positives on real filenames and a false positive would block a commit. Pickup: restart **and** rebuild your bundles (the browser bundle changed — both `gina.min.js` and `gina.min.css` differ from `0.6.14`). |
|
|
70
70
|
| **Q4 2026** | `0.6.16` ✅ | **Security**: concurrent uploads of the same filename no longer corrupt one another — the multipart parser wrote every incoming file to `<upload dir>/<the filename the client sent>` with nothing in the path distinguishing one part or one request from another, so two uploads sharing a filename opened two write streams on a single path and interleaved their bytes into one hybrid matching neither upload, while the framework reported success to both callers; measured on a live bundle before the fix, twelve concurrent uploads of one filename left ONE corrupted file where twelve intact ones were sent, and a single request carrying two same-named parts produced one file mixing both. The parse runs before routing and before any middleware, so reaching it needed neither authentication nor a valid route — a POST to an unknown url answers 404 to the client and still writes the file to disk — and no application configuration could avoid it; uploads now stage under a server-generated random name, 32 hex characters plus a `.part` suffix, as multer and formidable have always done, which also keeps client-controlled bytes off the filesystem and cannot overflow the operating system filename limit (ACTION REQUIRED only where your own code derives a display name or a public URL from the basename of `req.files[].path`: read `req.files[].originalFilename` instead, which is unchanged and is still the name `self.store()` publishes the file under). **Fixed**: the documented fluent `store(target).onComplete(cb)` form works again — `store()` was accidentally declared `async`, so the deliberate `{ onComplete }` facade came back wrapped in a Promise carrying no `onComplete`, leaving the upload guide's first worked example dead code on every stable from `0.6.0` through `0.6.15`; the body contains no `await` and nothing anywhere awaits the call, so dropping the keyword changed no behaviour, the facade returns synchronously as documented, the three-argument callback form is byte-unchanged, and the TypeScript declaration now describes the fluent return shape instead of `Promise<void>`. The page whisper no longer exports the forms mocks group — the RFC5987-encoded `page.environment.forms` export shipped the entire bundle forms catalog into every page in every environment, mocks included, while the routing exports one line above it were deliberately stubbed to `{}` for page weight; mocks are now excluded in every environment rather than outside development only, deliberately, since an env-divergent `gina.forms` shape is the works-in-dev-fails-in-prod class, and rules, custom validators and every server-side surface keep the complete catalog (ACTION REQUIRED only for client code that read `gina.forms.mocks`, which the framework's own client bundle never consumed). And the link API names its error when the anchor has left the DOM: there is no deregistration path, so a registration outlives its element and a page that re-renders its anchors after binding dereferenced the null lookup and threw a bare TypeError — it now throws a named error identifying the link id, the url and the cause, detected beside the unregistered-url guard before the supersede step so it no longer aborts a request already in flight nor invalidates that request's response handling. Pickup: restart **and** rebuild your bundles (the browser bundle changed — `gina.min.js` differs from `0.6.15`; `gina.min.css` and `gina.onload.min.js` are unchanged). |
|
|
71
|
+
| **Q4 2026** | `0.6.17` ✅ | **Fixed**: a route whose URL structurally matches but whose `requirements` reject the request no longer drops the connection once the route cache is warm — the cache is keyed on method and pathname with the query string stripped before dispatch, so every query variant of one pathname shares a single entry, and the warm path re-evaluated the requirements on each hit and then discarded the verdict, force-matching a request that had just been rejected and dispatching it with no routing description, which closed the connection with no HTTP response at all — no status and no body; the warm path now honours the verdict, treating a rejecting or throwing evaluation as a cache miss that falls through to the routing scan and answers correctly (404 when nothing matches, the sibling rule when one does, or a 500 naming the rule when a `validator::` requirement throws, which was previously also a dropped connection), while the cache entry is kept so the variants the requirements accept stay warm. **Fixed**: the `toFloat`, `set` and `format` validator rules are context-safe — all three are documented rules that threw on every server-side call, with `toFloat` opening by reading the live DOM element unguarded so server-side rule sets could not coerce a float at all (it now reads the live value only when one is reachable and otherwise uses the submitted value, which on the server is the raw value, and a missing comma in the same statement that leaked `isFloatingWithCommas` as an implicit global into every page is fixed with it), `set` now assigning the field value in both contexts while reflecting it onto the DOM element only in the browser where an element exists, and `format` — which already worked in both contexts when chained after `isDate`, as its documentation shows — now reporting a non-`Date` value as a named rule-authoring error pointing at the missing `isDate` instead of the opaque `val.format is not a function`. **Fixed**: a bundle declaring a redirect route no longer floods its log with `source[host] is undefined` warnings — redirect rules are deliberately excluded from the per-rule host and hostname defaulting so those keys are absent on them, but the per-request routing copy assigned them unconditionally, creating properties holding `undefined` on a clone kept for the lifetime of the process, so every later no-arg `getConfig()` emitted one `host` and one `hostname` warning per redirect rule indefinitely, measured by a consumer at roughly three quarters of that log line's total volume and drowning the genuine warnings it exists to surface; the copy is now existence-guarded, so an absent key stays absent and rules that do carry a host are copied exactly as before, which removes log noise rather than a functional defect, and only template and view routes reach it so API-only bundles were never affected. Pickup: restart **and** rebuild your bundles (the browser bundle changed — `gina.min.js` differs from `0.6.16`; `gina.min.css` and `gina.onload.min.js` are unchanged). |
|
|
71
72
|
| **Q1 2027** | `0.6.x` | HTTP/2 priorities (blocked on Node scheduler hooks) · Beemaster admin + visual translation editor |
|
|
72
73
|
| **2027** | `0.7.0` | Performance — remaining measure-gated candidates: multipart & WebSocket fast paths, render/log cleanups, SIMD scanner (the render-path deep-clone & id-mint reduction shipped early in `0.6.2` with a measured 4.4× render-throughput gain; the profiling baseline itself also shipped in `0.6.2`) |
|
|
73
74
|
| **2027** | `0.8.0` | Financial-messaging foundations — XML request/response handling · pluggable message-schema validation · IBAN/BIC validation rules · money & ISO 4217 minor-unit utilities · idempotency keys · sequence primitive · OAuth2 client-credentials egress |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.6.17
|
|
@@ -4303,10 +4303,29 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4303
4303
|
return self[this.name]
|
|
4304
4304
|
}
|
|
4305
4305
|
|
|
4306
|
+
/**
|
|
4307
|
+
* Set the field value — downstream rules and the validated payload both
|
|
4308
|
+
* consume it — and reflect it onto the live element when one exists.
|
|
4309
|
+
*
|
|
4310
|
+
* Context-safe (#B398): the DOM reflection is browser-only. `target` is
|
|
4311
|
+
* null server-side by construction, where the value assignment alone is
|
|
4312
|
+
* the whole effect; pre-fix, the unguarded `setAttribute` made every
|
|
4313
|
+
* server-side call throw.
|
|
4314
|
+
*
|
|
4315
|
+
* @param {string|number|boolean} value - value to assign
|
|
4316
|
+
*
|
|
4317
|
+
* @returns {object} field object (chainable)
|
|
4318
|
+
*
|
|
4319
|
+
* @example
|
|
4320
|
+
* // rule file
|
|
4321
|
+
* "status": { "set": "pending" }
|
|
4322
|
+
* */
|
|
4306
4323
|
self[el]['set'] = function(value) {
|
|
4307
4324
|
this.value = local['data'][this.name] = value;
|
|
4308
|
-
// html
|
|
4309
|
-
this.target
|
|
4325
|
+
// html reflection (browser only) — #B398: `target` is null server-side
|
|
4326
|
+
if ( isGFFCtx && this.target ) {
|
|
4327
|
+
this.target.setAttribute('value', value);
|
|
4328
|
+
}
|
|
4310
4329
|
// Todo : select and radio case to apply change
|
|
4311
4330
|
|
|
4312
4331
|
return self[this.name]
|
|
@@ -4680,12 +4699,47 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4680
4699
|
}
|
|
4681
4700
|
|
|
4682
4701
|
|
|
4702
|
+
/**
|
|
4703
|
+
* Coerce the field value to a float (`decimals` places, default 2),
|
|
4704
|
+
* normalizing spaces and thousand/decimal separators (`,` vs `.`).
|
|
4705
|
+
*
|
|
4706
|
+
* Context-safe (#B398): in the browser the live DOM value is preferred
|
|
4707
|
+
* when one is reachable — the rendered input may carry a display-filtered
|
|
4708
|
+
* value (swig::formatNumber()) that differs from the snapshot. Server-side
|
|
4709
|
+
* — and whenever no live element is reachable (null `target`, detached
|
|
4710
|
+
* node) — the submitted `this.value` IS the raw value and is used
|
|
4711
|
+
* directly. Pre-fix, an unguarded `document` read here made every
|
|
4712
|
+
* server-side call throw, valid inputs included; the same statement was
|
|
4713
|
+
* missing a comma, leaking `isFloatingWithCommas` as an implicit global.
|
|
4714
|
+
*
|
|
4715
|
+
* @param {number} [decimals=2] - decimal places kept on the coerced value
|
|
4716
|
+
*
|
|
4717
|
+
* @returns {object} field object (chainable)
|
|
4718
|
+
*
|
|
4719
|
+
* @example
|
|
4720
|
+
* // rule file
|
|
4721
|
+
* "price": { "toFloat": 2, "isFloat": true }
|
|
4722
|
+
* */
|
|
4683
4723
|
self[el]['toFloat'] = function(decimals) {
|
|
4684
4724
|
// Fixed on 2025-03-12
|
|
4685
|
-
// In case we are dealing with a filtered value (swig::formatNumber())
|
|
4686
|
-
|
|
4687
|
-
|
|
4725
|
+
// In case we are dealing with a filtered value (swig::formatNumber()),
|
|
4726
|
+
// prefer the live DOM value when one is reachable. #B398 — guarded:
|
|
4727
|
+
// `target` is null server-side (see the field construction) and
|
|
4728
|
+
// `document` only exists in a browser(-like) context.
|
|
4729
|
+
// was: var val = document.getElementById(this.target.getAttribute('id')).value || this.value
|
|
4730
|
+
// isFloatingWithCommas = false // <- missing comma: implicit global
|
|
4731
|
+
var $liveElement = null
|
|
4732
|
+
, val = null
|
|
4733
|
+
, isFloatingWithCommas = false
|
|
4688
4734
|
;
|
|
4735
|
+
if (
|
|
4736
|
+
this.target
|
|
4737
|
+
&& typeof(document) !== 'undefined' && document
|
|
4738
|
+
&& typeof(document.getElementById) === 'function'
|
|
4739
|
+
) {
|
|
4740
|
+
$liveElement = document.getElementById(this.target.getAttribute('id'));
|
|
4741
|
+
}
|
|
4742
|
+
val = ( $liveElement && typeof($liveElement.value) != 'undefined' ) ? ($liveElement.value || this.value) : this.value;
|
|
4689
4743
|
if ( typeof(val) == 'string' ) {
|
|
4690
4744
|
val = val.replace(/\s+/g, '');
|
|
4691
4745
|
// Fixed on 2025-03-12
|
|
@@ -5181,19 +5235,34 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
5181
5235
|
}
|
|
5182
5236
|
|
|
5183
5237
|
/**
|
|
5184
|
-
* Formating date using DateFormatHelper
|
|
5238
|
+
* Formating date using DateFormatHelper.
|
|
5185
5239
|
* Check out documentation in the helper source: `lib/helpers/dateFormat.js`
|
|
5186
|
-
*
|
|
5240
|
+
*
|
|
5241
|
+
* Designed to follow `isDate`, which leaves the parsed `Date` on the
|
|
5242
|
+
* field's `.value`. Works in BOTH contexts — `Date.prototype.format` is
|
|
5243
|
+
* installed server-side too (helpers/prototypes). Returns the formatted
|
|
5244
|
+
* STRING by design: terminal, do not chain another rule after it.
|
|
5245
|
+
*
|
|
5246
|
+
* #B398: a non-`Date` value here means `isDate` was not applied first —
|
|
5247
|
+
* a rule-authoring error, reported as a named throw instead of the
|
|
5248
|
+
* opaque `val.format is not a function`.
|
|
5249
|
+
*
|
|
5250
|
+
* @param {string} mask - DateFormatHelper mask (e.g. `isoDateTime`)
|
|
5251
|
+
* @param {boolean} [utc] - render in UTC
|
|
5252
|
+
*
|
|
5253
|
+
* @returns {string} formatted date (terminal — not chainable)
|
|
5254
|
+
*
|
|
5255
|
+
* @example
|
|
5187
5256
|
* d.start
|
|
5188
5257
|
* .isDate('dd/mm/yyyy')
|
|
5189
5258
|
* .format('isoDateTime');
|
|
5190
|
-
*
|
|
5191
|
-
*
|
|
5192
5259
|
* */
|
|
5193
5260
|
self[el]['format'] = function(mask, utc) {
|
|
5194
5261
|
var val = this.value;
|
|
5195
5262
|
if (!val) return self[this.name];
|
|
5196
|
-
|
|
5263
|
+
if ( typeof(val.format) !== 'function' ) {
|
|
5264
|
+
throw new Error('[FormValidator::format] field `'+ this.name +'`: value is not a Date - apply isDate(mask) before format(mask)');
|
|
5265
|
+
}
|
|
5197
5266
|
return val.format(mask, utc)
|
|
5198
5267
|
};
|
|
5199
5268
|
|