gina 0.6.2 → 0.6.3
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 +57 -0
- package/README.md +41 -12
- package/ROADMAP.md +3 -2
- package/bin/cli +19 -2
- package/framework/v0.6.3/VERSION +1 -0
- package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +6 -0
- package/framework/v0.6.3/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- package/framework/v0.6.3/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/inspector/index.html +1 -0
- package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +50 -1
- package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +457 -57
- package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/js/gina.js +1457 -58
- package/framework/v0.6.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js +625 -0
- package/framework/v0.6.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.6.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/index.js +114 -0
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/lib/connector.js +14 -3
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/lib/session-store.js +14 -3
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/lib/session-store.v3.js +29 -2
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/lib/session-store.v4.js +29 -2
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/mongodb/lib/session-store.js +24 -2
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/redis/lib/session-store.js +33 -9
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/scylladb/lib/session-store.js +25 -2
- package/framework/{v0.6.2 → v0.6.3}/core/connectors/sqlite/lib/session-store.js +26 -2
- package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.js +201 -21
- package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.render-nunjucks.js +8 -0
- package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.render-swig.js +85 -4
- package/framework/{v0.6.2 → v0.6.3}/core/gna.js +23 -1
- package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/csrf/src/main.js +9 -5
- package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/hide-powered-by/README.md +20 -0
- package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/validator/src/form-validator.js +119 -43
- package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/validator/src/main.js +451 -9
- package/framework/{v0.6.2 → v0.6.3}/core/server.isaac.js +50 -54
- package/framework/{v0.6.2 → v0.6.3}/core/server.js +240 -3
- package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/index.js +6 -4
- package/framework/{v0.6.2 → v0.6.3}/core/template/conf/settings.json +10 -0
- package/framework/{v0.6.2 → v0.6.3}/lib/cache/README.md +9 -1
- package/framework/{v0.6.2 → v0.6.3}/lib/cmd/audit/verify.js +11 -9
- package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/mcp-start.js +21 -12
- package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/help.txt +1 -1
- package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/init.js +13 -1
- package/framework/{v0.6.2 → v0.6.3}/lib/dto/src/main.js +18 -11
- package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/containers/file/index.js +29 -1
- package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/containers/mq/speaker.js +30 -1
- package/framework/{v0.6.2 → v0.6.3}/lib/math/index.js +57 -6
- package/framework/{v0.6.2 → v0.6.3}/lib/merge/src/main.js +34 -5
- package/framework/{v0.6.2 → v0.6.3}/lib/render-cache/src/main.js +77 -4
- package/framework/{v0.6.2 → v0.6.3}/lib/routing/src/main.js +13 -1
- package/framework/{v0.6.2 → v0.6.3}/lib/routing-introspect/src/main.js +64 -2
- package/framework/v0.6.3/lib/secrets/src/backends/env.js +75 -0
- package/framework/{v0.6.2 → v0.6.3}/package.json +1 -1
- package/gna.js +5 -4
- package/llms.txt +19 -17
- package/package.json +5 -4
- package/schema/connectors.json +2 -2
- package/schema/routing.json +5 -0
- package/schema/settings.json +6 -1
- package/script/generate_gna_types.js +1 -1
- package/script/soak/couchbase-soak.js +1316 -0
- package/types/globals.d.ts +2 -0
- package/types/gna.d.ts +5 -0
- package/types/index.d.ts +1 -0
- package/utils/helper.js +38 -7
- package/framework/v0.6.2/VERSION +0 -1
- package/framework/v0.6.2/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- package/framework/v0.6.2/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- package/framework/v0.6.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -603
- package/framework/v0.6.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.6.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/v0.6.2/lib/secrets/src/backends/env.js +0 -60
- /package/framework/{v0.6.2 → v0.6.3}/AUTHORS +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/LICENSE +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/html/static.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/config.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/duckdb/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/duckdb/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/mongodb/lib/job-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/redis/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/redis/lib/job-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/redis/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/connectors/sqlite/lib/job-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/content.encoding +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/controller/release-banner.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/dev/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/locales/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/locales/currency.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/locales/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/mime.types +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/model/entity.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/model/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/model/template/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/router.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/server.express.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/status.codes +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/_gitignore +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/conf/env.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/conf/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/console.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/context.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/data/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/data/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/json/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/json/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/path.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/prototypes.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/task.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/helpers/text.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/admin/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/admin/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/archiver/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/archiver/build.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/archiver/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/async/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/async/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/audit/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/audit/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/audit-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/authn/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/authn/src/lockout.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/authn/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/authn/src/totp.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/authz-gate/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/authz-gate/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cache/build.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cache/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/audit/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/audit/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/man.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/bundle/types.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/cache/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/cache/clear.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/cache/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/infer.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/models.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/connector/test.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/container/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/container/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/container/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/container/man.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/container/ps.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/container/stop.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/inc/args.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/inc/namespace.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/inc/reference-scan.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/inc/scaffold.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/rename.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/controller/rm.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/man.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/reset.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/_host.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/build.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/man.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/rm.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/image/run.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/man-render.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/backup.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/man.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/restore.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/service/man.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/collection/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/collection/build.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/collection/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/config.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/connector-config/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/connector-config/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/connector-error/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/connector-error/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cron/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cron/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/domain/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/domain/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/dto/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/dto-pipe/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/dto-pipe/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/dto-types/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/dto-types/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/generator/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/i18n/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/image-build/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/image-build/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inherits/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inherits/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inspector-events/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inspector-events/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/instrument/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/job/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/job/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/job-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/json-config-header/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/json-config-header/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/merge/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/merge/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/metrics/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/model.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/net-locality/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/net-locality/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/proc.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/release-watch/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/release-watch/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/render-cache/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/render-cache-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/routing/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/routing/build.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/routing/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/secrets/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/session-store.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/shell.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/sqlite-driver.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/state.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/url/README.md +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/url/index.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/url/routing.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/uuid/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/validator.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/watcher/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/ws-query/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/ws-query/src/main.js +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.6.2 → v0.6.3}/lib/ws-session/src/main.js +0 -0
package/framework/{v0.6.2 → v0.6.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js
RENAMED
|
@@ -62,6 +62,14 @@
|
|
|
62
62
|
// ── Constants ──────────────────────────────────────────────────────────
|
|
63
63
|
/** @type {number} Data poll interval in ms — adjustable via Settings panel */
|
|
64
64
|
var pollDataMs = 2000;
|
|
65
|
+
/** @constant {number} Liveness-handshake window in ms for an ADOPTED bound
|
|
66
|
+
* channel (#B231): after `_adoptAdvertisedChannel()` binds the
|
|
67
|
+
* statusbar-advertised tab channel (which posts `{type:'request'}` on bind),
|
|
68
|
+
* a `{type:'data'}` reply must land within this window — a stale advert
|
|
69
|
+
* (its tab closed; localStorage outlives tabs) would otherwise strand the
|
|
70
|
+
* window on a silent channel. On expiry the adopt path tears down and hands
|
|
71
|
+
* over to the legacy bundle-global acquisition. */
|
|
72
|
+
var ADOPT_HANDSHAKE_MS = 1500;
|
|
65
73
|
/** @constant {number} Log poll interval in ms */
|
|
66
74
|
var POLL_LOGS_MS = 1000;
|
|
67
75
|
/** @constant {number} Maximum retained log entries before oldest are dropped */
|
|
@@ -199,6 +207,20 @@
|
|
|
199
207
|
* rendered before a bundle restart) cannot override live data. Null in pure
|
|
200
208
|
* opener/localStorage mode, which leaves the guard inert. */
|
|
201
209
|
var _livePid = null;
|
|
210
|
+
/** @type {?string} Normalised webroot of the bundle that established {@link _livePid}
|
|
211
|
+
* (recorded by {@link _noteLivePid}). Lets {@link _isStaleSource} tell a stale
|
|
212
|
+
* same-bundle snapshot (same webroot, older pid) from a payload of a DIFFERENT
|
|
213
|
+
* bundle of a proxy-routed multi-bundle project (different webroot — the monitored
|
|
214
|
+
* tab legitimately crossed a bundle boundary, not staleness). Null until known. (#B205) */
|
|
215
|
+
var _livePidWebroot = null;
|
|
216
|
+
/** @type {?EventSource} Live `/_gina/logs` SSE stream — kept module-level so
|
|
217
|
+
* {@link _followBundleChannels} can close and re-open it against another bundle's
|
|
218
|
+
* base when the monitored tab navigates across bundles. (#B205) */
|
|
219
|
+
var _serverLogsEs = null;
|
|
220
|
+
/** @type {?string} Normalised base path the server-side channels (`/_gina/logs` and
|
|
221
|
+
* the passive `/_gina/agent` stream) are currently pointed at. Compared against each
|
|
222
|
+
* applied payload's webroot by {@link _followBundleChannels}. (#B205) */
|
|
223
|
+
var _channelBase = null;
|
|
202
224
|
/** @type {boolean} When true, Data tab renders raw JSON instead of a tree */
|
|
203
225
|
var rawMode = false;
|
|
204
226
|
/** @type {string} Highest severity level received since last clear (drives log-dot) */
|
|
@@ -1568,8 +1590,12 @@
|
|
|
1568
1590
|
var raw = localStorage.getItem(CUSTOM_ORDER_KEY);
|
|
1569
1591
|
if (raw) {
|
|
1570
1592
|
var arr = JSON.parse(raw);
|
|
1571
|
-
// Accept
|
|
1572
|
-
|
|
1593
|
+
// Accept 1..N tab names where N is the full preset roster
|
|
1594
|
+
// (tabs may be hidden, so shorter is fine). #B194 — this bound
|
|
1595
|
+
// was a stale literal 6: once the roster grew to 8 tabs, a
|
|
1596
|
+
// custom order saved with 7-8 visible tabs was rejected here
|
|
1597
|
+
// on every read and never survived a reload.
|
|
1598
|
+
if (Array.isArray(arr) && arr.length >= 1 && arr.length <= TAB_LAYOUTS.balanced.length) return arr;
|
|
1573
1599
|
}
|
|
1574
1600
|
} catch (e) {}
|
|
1575
1601
|
return null;
|
|
@@ -1654,6 +1680,45 @@
|
|
|
1654
1680
|
}
|
|
1655
1681
|
}
|
|
1656
1682
|
|
|
1683
|
+
/**
|
|
1684
|
+
* Restore a single hidden tab in custom layout mode — the per-tab
|
|
1685
|
+
* inverse of {@link hideTab}, wired to the dimmed preview pills (see
|
|
1686
|
+
* {@link renderLayoutPreview}): the struck-through pill is the removed
|
|
1687
|
+
* tab's only remaining representative, so clicking it brings the tab
|
|
1688
|
+
* back without touching the others (Reset stays the bulk path).
|
|
1689
|
+
*
|
|
1690
|
+
* Removes the tab from the hidden list, shows its button again at the
|
|
1691
|
+
* END of the visible tabs — hiding dropped it from the saved custom
|
|
1692
|
+
* order and applyTabLayout parks hidden buttons at the FRONT of the
|
|
1693
|
+
* nav (only ordered visible tabs are appended), so the explicit
|
|
1694
|
+
* appendChild is what makes the landing spot deterministic; drag-mode
|
|
1695
|
+
* is active right there for repositioning — then persists the new
|
|
1696
|
+
* order and re-renders the preview.
|
|
1697
|
+
*
|
|
1698
|
+
* Deliberately does NOT activate the restored tab: the user is
|
|
1699
|
+
* mid-layout-editing, so the tab reappearing in the bar and its pill
|
|
1700
|
+
* un-dimming is the whole feedback — no panel switch.
|
|
1701
|
+
*
|
|
1702
|
+
* @inner
|
|
1703
|
+
* @param {string} tabName - Tab name to restore (e.g. 'view', 'forms')
|
|
1704
|
+
*/
|
|
1705
|
+
function restoreTab(tabName) {
|
|
1706
|
+
var hidden = getHiddenTabs();
|
|
1707
|
+
var idx = hidden.indexOf(tabName);
|
|
1708
|
+
if (idx === -1) return;
|
|
1709
|
+
hidden.splice(idx, 1);
|
|
1710
|
+
saveHiddenTabs(hidden);
|
|
1711
|
+
|
|
1712
|
+
var btn = qs('.bm-tab[data-tab="' + tabName + '"]');
|
|
1713
|
+
var nav = qs('.bm-tabs');
|
|
1714
|
+
if (btn) {
|
|
1715
|
+
btn.style.display = '';
|
|
1716
|
+
if (nav) nav.appendChild(btn);
|
|
1717
|
+
}
|
|
1718
|
+
saveCustomOrder();
|
|
1719
|
+
renderLayoutPreview('custom');
|
|
1720
|
+
}
|
|
1721
|
+
|
|
1657
1722
|
/**
|
|
1658
1723
|
* Restore all hidden tabs in custom layout mode. Shows all tab buttons,
|
|
1659
1724
|
* clears the hidden list from localStorage, and rebuilds the custom order
|
|
@@ -1727,7 +1792,9 @@
|
|
|
1727
1792
|
logs: 'var(--text-dim)',
|
|
1728
1793
|
forms: 'var(--warn)',
|
|
1729
1794
|
query: 'var(--num)',
|
|
1730
|
-
flow: 'var(--accent)'
|
|
1795
|
+
flow: 'var(--accent)',
|
|
1796
|
+
stream: 'var(--str)',
|
|
1797
|
+
events: 'var(--warn)'
|
|
1731
1798
|
};
|
|
1732
1799
|
|
|
1733
1800
|
/**
|
|
@@ -1737,9 +1804,37 @@
|
|
|
1737
1804
|
*/
|
|
1738
1805
|
var TAB_PREVIEW_LABELS = {
|
|
1739
1806
|
data: 'Data', view: 'View', logs: 'Logs',
|
|
1740
|
-
forms: 'Forms', query: 'Query', flow: 'Flow'
|
|
1807
|
+
forms: 'Forms', query: 'Query', flow: 'Flow',
|
|
1808
|
+
stream: 'Stream', events: 'Events'
|
|
1741
1809
|
};
|
|
1742
1810
|
|
|
1811
|
+
/**
|
|
1812
|
+
* Resolve a tab's preview-pill label. #B194 — the two newer tabs (stream,
|
|
1813
|
+
* events) were added to every TAB_LAYOUTS preset but not to the preview
|
|
1814
|
+
* maps, so their pills rendered the literal string "undefined". The maps
|
|
1815
|
+
* now carry them, and this fallback humanizes any FUTURE tab that misses
|
|
1816
|
+
* the map (capitalized tab name), so the class cannot fire again.
|
|
1817
|
+
*
|
|
1818
|
+
* @inner
|
|
1819
|
+
* @param {string} tab - Tab name (e.g. 'query')
|
|
1820
|
+
* @returns {string} Display label for the preview pill
|
|
1821
|
+
*/
|
|
1822
|
+
function pillLabel(tab) {
|
|
1823
|
+
return TAB_PREVIEW_LABELS[tab] || (tab.charAt(0).toUpperCase() + tab.slice(1));
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1826
|
+
/**
|
|
1827
|
+
* Resolve a tab's preview-pill color, falling back to the neutral dim
|
|
1828
|
+
* color for a tab absent from the map (see {@link pillLabel} — #B194).
|
|
1829
|
+
*
|
|
1830
|
+
* @inner
|
|
1831
|
+
* @param {string} tab - Tab name
|
|
1832
|
+
* @returns {string} CSS color value for the pill's --pill-color
|
|
1833
|
+
*/
|
|
1834
|
+
function pillColor(tab) {
|
|
1835
|
+
return TAB_PREVIEW_COLORS[tab] || 'var(--text-dim)';
|
|
1836
|
+
}
|
|
1837
|
+
|
|
1743
1838
|
/**
|
|
1744
1839
|
* Render a row of tiny colored pills into `#bm-layout-preview` showing
|
|
1745
1840
|
* the tab order for the given layout preset. Each pill is color-coded
|
|
@@ -1766,16 +1861,22 @@
|
|
|
1766
1861
|
var isHidden = hidden.indexOf(tab) !== -1;
|
|
1767
1862
|
if (!isHidden) {
|
|
1768
1863
|
if (!visibleFirst) html += '<span class="bm-lp-arrow">\u203A</span>';
|
|
1769
|
-
html += '<span class="bm-lp-pill" style="--pill-color:' +
|
|
1770
|
-
+
|
|
1864
|
+
html += '<span class="bm-lp-pill" style="--pill-color:' + pillColor(tab) + '">'
|
|
1865
|
+
+ pillLabel(tab) + '</span>';
|
|
1771
1866
|
visibleFirst = false;
|
|
1772
1867
|
}
|
|
1773
1868
|
}
|
|
1774
|
-
// Append hidden tabs as dimmed pills
|
|
1869
|
+
// Append hidden tabs as dimmed pills \u2014 each is a click-to-restore
|
|
1870
|
+
// control (delegated on #bm-layout-preview): it carries data-tab for
|
|
1871
|
+
// the handler, a native Restore tooltip, and a leading + glyph as
|
|
1872
|
+
// the visible affordance. Visible pills stay a passive readout.
|
|
1775
1873
|
for (var h = 0; h < hidden.length; h++) {
|
|
1776
1874
|
if (!visibleFirst) html += '<span class="bm-lp-arrow bm-lp-arrow-dim">\u203A</span>';
|
|
1777
|
-
html += '<span class="bm-lp-pill bm-lp-pill-hidden"
|
|
1778
|
-
+
|
|
1875
|
+
html += '<span class="bm-lp-pill bm-lp-pill-hidden" data-tab="' + hidden[h] + '"'
|
|
1876
|
+
+ ' title="Restore ' + pillLabel(hidden[h]) + ' tab"'
|
|
1877
|
+
+ ' style="--pill-color:' + pillColor(hidden[h]) + '">'
|
|
1878
|
+
+ '<span class="bm-lp-pill-add">+</span>'
|
|
1879
|
+
+ pillLabel(hidden[h]) + '</span>';
|
|
1779
1880
|
visibleFirst = false;
|
|
1780
1881
|
}
|
|
1781
1882
|
el.innerHTML = html;
|
|
@@ -2221,7 +2322,12 @@
|
|
|
2221
2322
|
/**
|
|
2222
2323
|
* #QI2 — Fetch live index data from the /_gina/indexes endpoint.
|
|
2223
2324
|
* Called when the Query tab renders queries with N/A index badges.
|
|
2224
|
-
* On success, caches the result and re-renders the Query tab
|
|
2325
|
+
* On success, caches the result and re-renders the Query tab's tree
|
|
2326
|
+
* root (`#tree-query`) — the container {@link renderTab} owns. It must
|
|
2327
|
+
* never replace the scroll wrapper's children instead: `#tree-query`
|
|
2328
|
+
* lives INSIDE the wrapper, so a wrapper-level write destroys it and
|
|
2329
|
+
* every later `renderTab('query')` bails on the missing container —
|
|
2330
|
+
* freezing the Query pane and badge until the Inspector reloads (#B222).
|
|
2225
2331
|
*
|
|
2226
2332
|
* @inner
|
|
2227
2333
|
*/
|
|
@@ -2241,13 +2347,27 @@
|
|
|
2241
2347
|
if (xhr.status === 200) {
|
|
2242
2348
|
try {
|
|
2243
2349
|
_liveIndexes = JSON.parse(xhr.responseText);
|
|
2244
|
-
// Re-render query tab if we have queries
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2350
|
+
// Re-render query tab if we have queries — into
|
|
2351
|
+
// #tree-query, the container renderTab() owns (#B222).
|
|
2352
|
+
// Writing the scroll wrapper here instead destroyed
|
|
2353
|
+
// #tree-query (a child of the wrapper), after which
|
|
2354
|
+
// every later renderTab('query') bailed on the missing
|
|
2355
|
+
// container and the Query pane froze until reload.
|
|
2356
|
+
// #B225 — the queries derive from the live payload
|
|
2357
|
+
// exactly as renderTab('query') does (reveal swap
|
|
2358
|
+
// included), never from the module query cache: the
|
|
2359
|
+
// cache survives overlay eras that ended while the
|
|
2360
|
+
// Query tab was inactive, so a cached repaint after
|
|
2361
|
+
// the forced refetch resurrected dead queries and
|
|
2362
|
+
// rewrote the badge over the truthful one.
|
|
2363
|
+
var src = (_revealActive && _revealedData) ? _revealedData : ginaData;
|
|
2364
|
+
var u = (src && src.user) || {};
|
|
2365
|
+
var hasXhr = typeof u['data-xhr'] !== 'undefined';
|
|
2366
|
+
var queryData = hasXhr && u['data-xhr'] && u['data-xhr'].queries
|
|
2367
|
+
? u['data-xhr'].queries : u.queries;
|
|
2368
|
+
if (queryData && queryData.length) {
|
|
2369
|
+
var panel = qs('#tree-query');
|
|
2370
|
+
if (panel) panel.innerHTML = renderQueryContent(queryData);
|
|
2251
2371
|
}
|
|
2252
2372
|
} catch (e) { _liveIndexes = { connectors: {} }; }
|
|
2253
2373
|
}
|
|
@@ -3573,6 +3693,101 @@
|
|
|
3573
3693
|
return true;
|
|
3574
3694
|
}
|
|
3575
3695
|
|
|
3696
|
+
/**
|
|
3697
|
+
* Adopt the statusbar-advertised tab channel when no usable `?ch=` was
|
|
3698
|
+
* given (#B231).
|
|
3699
|
+
*
|
|
3700
|
+
* Every dev page's statusbar advertises its per-tab channel id in
|
|
3701
|
+
* `localStorage['__gina_last_tab_ch']` on each publish, so an embedded
|
|
3702
|
+
* Inspector opened WITHOUT `?ch=` (direct URL, bookmark, a window predating
|
|
3703
|
+
* bound mode) can still bind to the most-recently-published tab instead of
|
|
3704
|
+
* falling back to the bundle-global channels (opener/localStorage polling +
|
|
3705
|
+
* the passive `/_gina/agent` SSE), where ANY background request to the
|
|
3706
|
+
* bundle overwrites the page-scoped popin/XHR overlay within seconds.
|
|
3707
|
+
*
|
|
3708
|
+
* A liveness handshake guards the adopt: `setupBoundChannel()` posts
|
|
3709
|
+
* `{type:'request'}` on bind; if no `{type:'data'}` reply lands within
|
|
3710
|
+
* {@link ADOPT_HANDSHAKE_MS} (stale advert — its tab is closed, and
|
|
3711
|
+
* localStorage outlives tabs), the bound channel AND the `/_gina/logs`
|
|
3712
|
+
* stream the caller opened alongside it are torn down, and `onDead` runs
|
|
3713
|
+
* the legacy acquisition (leaving the logs stream open would double-deliver
|
|
3714
|
+
* log entries once the legacy path's passive agent stream attaches).
|
|
3715
|
+
*
|
|
3716
|
+
* Multi-tab semantics: adopts the LAST tab that published (last-writer-wins
|
|
3717
|
+
* on the advert) — a deliberate approximation of "the tab the user is on",
|
|
3718
|
+
* strictly narrower than the bundle-global fallback it replaces.
|
|
3719
|
+
*
|
|
3720
|
+
* @inner
|
|
3721
|
+
* @param {function} onDead - Legacy acquisition to run when the adopted
|
|
3722
|
+
* channel never delivers (the init's `_startLegacyAcquisition`).
|
|
3723
|
+
* @returns {boolean} `true` when an advertised channel was adopted (bound
|
|
3724
|
+
* mode claimed; the handshake timer is armed).
|
|
3725
|
+
*/
|
|
3726
|
+
function _adoptAdvertisedChannel(onDead) {
|
|
3727
|
+
var ad = null;
|
|
3728
|
+
try { ad = localStorage.getItem('__gina_last_tab_ch'); } catch (e) { ad = null; }
|
|
3729
|
+
if (!ad || !setupBoundChannel(ad)) return false;
|
|
3730
|
+
setTimeout(function () {
|
|
3731
|
+
// Proven live (a data frame arrived) or re-claimed by another mode.
|
|
3732
|
+
if (source !== 'broadcast' || _bcLatest !== null) return;
|
|
3733
|
+
try { if (_boundChannel) _boundChannel.close(); } catch (e) {}
|
|
3734
|
+
_boundChannel = null;
|
|
3735
|
+
if (_serverLogsEs) {
|
|
3736
|
+
try { _serverLogsEs.close(); } catch (e) {}
|
|
3737
|
+
_serverLogsEs = null;
|
|
3738
|
+
}
|
|
3739
|
+
source = null;
|
|
3740
|
+
if (typeof onDead === 'function') onDead();
|
|
3741
|
+
}, ADOPT_HANDSHAKE_MS);
|
|
3742
|
+
return true;
|
|
3743
|
+
}
|
|
3744
|
+
|
|
3745
|
+
/**
|
|
3746
|
+
* Render the footer data-source mode badge (#B231).
|
|
3747
|
+
*
|
|
3748
|
+
* Surfaces WHICH kind of channel feeds the data tabs, so a degraded mode
|
|
3749
|
+
* is visible instead of silent:
|
|
3750
|
+
* - `bound` — per-tab statusbar channel (#INS15): page-scoped, immune to
|
|
3751
|
+
* other tabs' / background renders.
|
|
3752
|
+
* - `agent` — explicit `?target=` bundle stream (standalone mode).
|
|
3753
|
+
* - `global` — legacy fallback (opener/localStorage polling + the passive
|
|
3754
|
+
* bundle-wide `/_gina/agent` SSE): ANY request to the bundle can
|
|
3755
|
+
* overwrite the data tabs — warn-tinted, and the tooltip points at the
|
|
3756
|
+
* statusbar link that yields bound mode.
|
|
3757
|
+
*
|
|
3758
|
+
* Called from `pollData()` (every tick + every bound-channel apply) and at
|
|
3759
|
+
* the end of the init acquisition, so a mode transition (e.g. an adopted
|
|
3760
|
+
* channel handing over to the legacy fallback) surfaces within one tick.
|
|
3761
|
+
*
|
|
3762
|
+
* @inner
|
|
3763
|
+
*/
|
|
3764
|
+
function updateSourceModeBadge() {
|
|
3765
|
+
var el = qs('#bm-source-mode');
|
|
3766
|
+
if (!el) return;
|
|
3767
|
+
var mode = null;
|
|
3768
|
+
var cls = 'bm-source-mode';
|
|
3769
|
+
var tip = '';
|
|
3770
|
+
if (source === 'agent') {
|
|
3771
|
+
mode = 'agent';
|
|
3772
|
+
tip = 'Data from the ?target= bundle stream (/_gina/agent).';
|
|
3773
|
+
} else if (source === 'broadcast') {
|
|
3774
|
+
mode = 'bound';
|
|
3775
|
+
tip = 'Data bound to one page tab (statusbar channel). Other tabs and background requests cannot overwrite it.';
|
|
3776
|
+
} else if (source === 'localStorage' || (source && typeof source === 'object')) {
|
|
3777
|
+
mode = 'global';
|
|
3778
|
+
cls += ' bm-source-mode-warn';
|
|
3779
|
+
tip = 'Bundle-global fallback: any tab or background request to this bundle can overwrite the data tabs. Open the Inspector from the page statusbar link to get bound (per-tab) mode.';
|
|
3780
|
+
}
|
|
3781
|
+
if (mode === null) {
|
|
3782
|
+
el.hidden = true;
|
|
3783
|
+
return;
|
|
3784
|
+
}
|
|
3785
|
+
el.hidden = false;
|
|
3786
|
+
el.textContent = mode;
|
|
3787
|
+
el.className = cls;
|
|
3788
|
+
el.title = tip;
|
|
3789
|
+
}
|
|
3790
|
+
|
|
3576
3791
|
// ── Settings — environment info + memory gauge ────────────────────────
|
|
3577
3792
|
|
|
3578
3793
|
/**
|
|
@@ -3648,17 +3863,53 @@
|
|
|
3648
3863
|
} catch (e) { return null; }
|
|
3649
3864
|
}
|
|
3650
3865
|
|
|
3866
|
+
/**
|
|
3867
|
+
* Extract the bundle webroot from a `__ginaData` payload, reading
|
|
3868
|
+
* `gina.environment` first then falling back to `user.environment`
|
|
3869
|
+
* (mirrors {@link _gdPid}). Both render delegates emit it.
|
|
3870
|
+
*
|
|
3871
|
+
* @inner
|
|
3872
|
+
* @param {?Object} gd A parsed `__ginaData` payload.
|
|
3873
|
+
* @returns {?string} The webroot (e.g. `'/'` or `'/admin'`), or null when absent.
|
|
3874
|
+
*/
|
|
3875
|
+
function _gdWebroot(gd) {
|
|
3876
|
+
try {
|
|
3877
|
+
var e = (gd && gd.gina && gd.gina.environment)
|
|
3878
|
+
|| (gd && gd.user && gd.user.environment) || null;
|
|
3879
|
+
var w = e ? e.webroot : null;
|
|
3880
|
+
return (typeof w === 'string') ? w : null;
|
|
3881
|
+
} catch (e) { return null; }
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3884
|
+
/**
|
|
3885
|
+
* Normalise a webroot/base path for comparison and URL building: strip
|
|
3886
|
+
* every trailing slash so `'/'` and `''` both mean the root and
|
|
3887
|
+
* `'/admin/'` equals `'/admin'`. Non-strings normalise to null (unknown).
|
|
3888
|
+
*
|
|
3889
|
+
* @inner
|
|
3890
|
+
* @param {?string} w A webroot or base path.
|
|
3891
|
+
* @returns {?string} The normalised base (`''` for the root), or null.
|
|
3892
|
+
*/
|
|
3893
|
+
function _normWebroot(w) {
|
|
3894
|
+
return (typeof w === 'string') ? w.replace(/\/+$/, '') : null;
|
|
3895
|
+
}
|
|
3896
|
+
|
|
3651
3897
|
/**
|
|
3652
3898
|
* Record the live bundle pid from an agent-delivered payload. The agent
|
|
3653
3899
|
* (SSE/WS) channel always reflects the running process, so its pid is the
|
|
3654
3900
|
* freshness reference {@link _isStaleSource} compares polled snapshots against.
|
|
3901
|
+
* Also records which bundle the pid belongs to ({@link _livePidWebroot}) so
|
|
3902
|
+
* the guard can tell a restart from a bundle crossing (#B205).
|
|
3655
3903
|
*
|
|
3656
3904
|
* @inner
|
|
3657
3905
|
* @param {?Object} gd A parsed `__ginaData` payload from the agent channel.
|
|
3658
3906
|
*/
|
|
3659
3907
|
function _noteLivePid(gd) {
|
|
3660
3908
|
var p = _gdPid(gd);
|
|
3661
|
-
if (p)
|
|
3909
|
+
if (p) {
|
|
3910
|
+
_livePid = p;
|
|
3911
|
+
_livePidWebroot = _normWebroot(_gdWebroot(gd));
|
|
3912
|
+
}
|
|
3662
3913
|
}
|
|
3663
3914
|
|
|
3664
3915
|
/**
|
|
@@ -3671,6 +3922,13 @@
|
|
|
3671
3922
|
* Inert (returns false) until an agent pid is known, preserving the pure
|
|
3672
3923
|
* opener/localStorage behaviour.
|
|
3673
3924
|
*
|
|
3925
|
+
* A pid mismatch only means "stale" WITHIN one bundle: in a proxy-routed
|
|
3926
|
+
* multi-bundle project, a payload from another bundle (different webroot,
|
|
3927
|
+
* necessarily a different process/pid) is the monitored tab legitimately
|
|
3928
|
+
* crossing a bundle boundary — it must pass so the Inspector can follow
|
|
3929
|
+
* ({@link _followBundleChannels}). Only same-webroot pid mismatches are
|
|
3930
|
+
* treated as stale (#B205).
|
|
3931
|
+
*
|
|
3674
3932
|
* @inner
|
|
3675
3933
|
* @param {?Object} gd The polled `__ginaData` payload.
|
|
3676
3934
|
* @returns {boolean} True when `gd` belongs to a different (stale) process.
|
|
@@ -3678,7 +3936,12 @@
|
|
|
3678
3936
|
function _isStaleSource(gd) {
|
|
3679
3937
|
if (!_livePid) return false;
|
|
3680
3938
|
var p = _gdPid(gd);
|
|
3681
|
-
|
|
3939
|
+
if (!p || p === _livePid) return false;
|
|
3940
|
+
// #B205 — a different pid under a DIFFERENT webroot is another bundle,
|
|
3941
|
+
// not a stale snapshot of this one: let it through.
|
|
3942
|
+
var wr = _normWebroot(_gdWebroot(gd));
|
|
3943
|
+
if (wr !== null && _livePidWebroot !== null && wr !== _livePidWebroot) return false;
|
|
3944
|
+
return true;
|
|
3682
3945
|
}
|
|
3683
3946
|
|
|
3684
3947
|
/**
|
|
@@ -3693,10 +3956,15 @@
|
|
|
3693
3956
|
* If the source is lost (e.g. bundle restart killed the opener page),
|
|
3694
3957
|
* attempts to re-acquire it via {@link tryOpener} or {@link tryLocalStorage}.
|
|
3695
3958
|
*
|
|
3959
|
+
* Each applied payload also drives {@link _followBundleChannels}, which
|
|
3960
|
+
* re-points the server-side SSE channels when the monitored tab crossed
|
|
3961
|
+
* onto another bundle of the project (#B205).
|
|
3962
|
+
*
|
|
3696
3963
|
* @inner
|
|
3697
3964
|
*/
|
|
3698
3965
|
function pollData() {
|
|
3699
3966
|
try {
|
|
3967
|
+
updateSourceModeBadge();
|
|
3700
3968
|
var gd;
|
|
3701
3969
|
if (source === 'agent') {
|
|
3702
3970
|
// Agent mode — data is pushed via SSE; nothing to poll.
|
|
@@ -3740,6 +4008,12 @@
|
|
|
3740
4008
|
lastGdStr = str;
|
|
3741
4009
|
ginaData = gd;
|
|
3742
4010
|
var env = (gd.user && gd.user.environment) || {};
|
|
4011
|
+
// #B205 — follow the monitored tab across bundles: when this payload
|
|
4012
|
+
// belongs to another bundle (different webroot), re-point the
|
|
4013
|
+
// server-side channels at it. Hitting its Inspector endpoints also
|
|
4014
|
+
// activates that bundle's dev capture, so Flow/Query data starts
|
|
4015
|
+
// flowing for its pages.
|
|
4016
|
+
_followBundleChannels(gd);
|
|
3743
4017
|
qs('#bm-label').textContent = (env.bundle || '?') + '@' + (env.env || '?');
|
|
3744
4018
|
qs('#bm-dot').className = 'bm-dot ok';
|
|
3745
4019
|
// Update window title with the inspected page URL
|
|
@@ -4141,20 +4415,36 @@
|
|
|
4141
4415
|
* log entries from the bundle process. Entries are merged into the same logs[]
|
|
4142
4416
|
* array used by client-side console capture and engine.io push.
|
|
4143
4417
|
*
|
|
4418
|
+
* At most one stream is live: a re-point ({@link _followBundleChannels})
|
|
4419
|
+
* closes the previous stream before connecting to the new bundle (#B205).
|
|
4420
|
+
*
|
|
4144
4421
|
* @inner
|
|
4145
4422
|
* @private
|
|
4423
|
+
* @param {string} [baseOverride] Explicit bundle base to connect to —
|
|
4424
|
+
* passed by the bundle-follow re-point; omitted at init, where the
|
|
4425
|
+
* shared resolver derives the base.
|
|
4146
4426
|
*/
|
|
4147
|
-
function tryServerLogs() {
|
|
4427
|
+
function tryServerLogs(baseOverride) {
|
|
4148
4428
|
if (typeof EventSource === 'undefined') return;
|
|
4149
4429
|
|
|
4150
4430
|
// Derive the SSE URL via the shared 3-fallback resolver so /_gina/logs
|
|
4151
4431
|
// reaches the monitored bundle in proxy-routed multi-bundle setups (was a
|
|
4152
4432
|
// bare pathname strip that misrouted to the proxy's default bundle).
|
|
4153
4433
|
var base = resolveBundleBase();
|
|
4434
|
+
// #B205 — bundle-follow re-points pass the target base explicitly.
|
|
4435
|
+
if (typeof baseOverride === 'string') base = baseOverride;
|
|
4154
4436
|
var url = base + '/_gina/logs';
|
|
4155
4437
|
|
|
4438
|
+
// #B205 — single live stream: close the previous one on re-point.
|
|
4439
|
+
if (_serverLogsEs) {
|
|
4440
|
+
try { _serverLogsEs.close(); } catch (e) {}
|
|
4441
|
+
_serverLogsEs = null;
|
|
4442
|
+
}
|
|
4443
|
+
|
|
4156
4444
|
try {
|
|
4157
4445
|
var es = new EventSource(url);
|
|
4446
|
+
_serverLogsEs = es;
|
|
4447
|
+
_channelBase = base;
|
|
4158
4448
|
es.onmessage = function (ev) {
|
|
4159
4449
|
if (paused) return;
|
|
4160
4450
|
try {
|
|
@@ -4172,6 +4462,46 @@
|
|
|
4172
4462
|
} catch (e) {}
|
|
4173
4463
|
}
|
|
4174
4464
|
|
|
4465
|
+
// ── Bundle-follow: re-point server channels on bundle crossing (#B205) ──
|
|
4466
|
+
|
|
4467
|
+
/**
|
|
4468
|
+
* Follow the monitored tab across the bundles of a proxy-routed
|
|
4469
|
+
* multi-bundle project. Every applied `__ginaData` payload names its
|
|
4470
|
+
* bundle's webroot; when it differs from the base the server-side channels
|
|
4471
|
+
* are pointed at ({@link _channelBase}), the live `/_gina/logs` SSE and/or
|
|
4472
|
+
* the passive `/_gina/agent` SSE are closed and re-opened against the new
|
|
4473
|
+
* bundle's base, so that:
|
|
4474
|
+
*
|
|
4475
|
+
* - server logs stream from the bundle actually serving the monitored
|
|
4476
|
+
* page (they previously stayed pinned to the open-time bundle), and
|
|
4477
|
+
* - the new bundle's dev capture activates: its Inspector endpoints latch
|
|
4478
|
+
* the per-process activation flag that gates the request timeline
|
|
4479
|
+
* (Flow tab) and the query log (Query tab). Without the re-point, a
|
|
4480
|
+
* bundle the Inspector was never opened from kept rendering with no
|
|
4481
|
+
* flow/queries — the Flow tab showed "No timeline data for this
|
|
4482
|
+
* request." for every page that bundle served.
|
|
4483
|
+
*
|
|
4484
|
+
* The page that evidences the crossing rendered BEFORE the new bundle's
|
|
4485
|
+
* capture activated, so its own timeline is unavoidably absent — Flow and
|
|
4486
|
+
* Query data appear from the next render on. Agent mode (`?target=`) is an
|
|
4487
|
+
* explicit binding and is never re-pointed.
|
|
4488
|
+
*
|
|
4489
|
+
* @inner
|
|
4490
|
+
* @param {?Object} gd The just-applied `__ginaData` payload.
|
|
4491
|
+
*/
|
|
4492
|
+
function _followBundleChannels(gd) {
|
|
4493
|
+
if (source === 'agent') return;
|
|
4494
|
+
var wr = _normWebroot(_gdWebroot(gd));
|
|
4495
|
+
if (wr === null || wr === _channelBase) return;
|
|
4496
|
+
var hadPassive = !!_passiveAgentEs;
|
|
4497
|
+
var hadLogs = !!_serverLogsEs;
|
|
4498
|
+
// Adopt the new base even when no channel is open (e.g. EventSource
|
|
4499
|
+
// unsupported), so the comparison above stays meaningful.
|
|
4500
|
+
_channelBase = wr;
|
|
4501
|
+
if (hadPassive) tryAgentPassive(wr);
|
|
4502
|
+
if (hadLogs) tryServerLogs(wr);
|
|
4503
|
+
}
|
|
4504
|
+
|
|
4175
4505
|
// ── Remote data source via /_gina/agent SSE ─────────────────────────
|
|
4176
4506
|
|
|
4177
4507
|
/**
|
|
@@ -4444,10 +4774,13 @@
|
|
|
4444
4774
|
* passive mode succeeds `tryServerLogs()` is skipped to avoid duplicates.
|
|
4445
4775
|
*
|
|
4446
4776
|
* @inner
|
|
4777
|
+
* @param {string} [baseOverride] Explicit bundle base to connect to —
|
|
4778
|
+
* passed by the bundle-follow re-point ({@link _followBundleChannels})
|
|
4779
|
+
* and the refresh-button reopen; omitted at init.
|
|
4447
4780
|
* @returns {boolean} `true` when a subscription was opened, `false` when
|
|
4448
4781
|
* the environment is unsupported or the URL cannot be derived.
|
|
4449
4782
|
*/
|
|
4450
|
-
function tryAgentPassive() {
|
|
4783
|
+
function tryAgentPassive(baseOverride) {
|
|
4451
4784
|
if (typeof EventSource === 'undefined') return false;
|
|
4452
4785
|
// Agent mode already covers data + logs via the primary tryAgent stream.
|
|
4453
4786
|
if (source === 'agent') return false;
|
|
@@ -4457,11 +4790,20 @@
|
|
|
4457
4790
|
// tryAgentPassive only runs when source !== 'agent' (i.e. no ?target=),
|
|
4458
4791
|
// so this falls through to the opener-pathname fallback as before.
|
|
4459
4792
|
var base = resolveBundleBase();
|
|
4793
|
+
// #B205 — bundle-follow re-points pass the target base explicitly.
|
|
4794
|
+
if (typeof baseOverride === 'string') base = baseOverride;
|
|
4460
4795
|
var url = base + '/_gina/agent';
|
|
4461
4796
|
|
|
4797
|
+
// #B205 — single live stream: close the previous one on re-point.
|
|
4798
|
+
if (_passiveAgentEs) {
|
|
4799
|
+
try { _passiveAgentEs.close(); } catch (e) {}
|
|
4800
|
+
_passiveAgentEs = null;
|
|
4801
|
+
}
|
|
4802
|
+
|
|
4462
4803
|
try {
|
|
4463
4804
|
var es = new EventSource(url);
|
|
4464
4805
|
_passiveAgentEs = es;
|
|
4806
|
+
_channelBase = base;
|
|
4465
4807
|
|
|
4466
4808
|
es.addEventListener('data', function (ev) {
|
|
4467
4809
|
try {
|
|
@@ -4708,6 +5050,20 @@
|
|
|
4708
5050
|
resetBtn.addEventListener('click', function () { restoreAllTabs(); });
|
|
4709
5051
|
}
|
|
4710
5052
|
|
|
5053
|
+
// Per-tab restore — clicking a dimmed (hidden) preview pill restores
|
|
5054
|
+
// just that tab. Delegated on the container: the pill row is rebuilt
|
|
5055
|
+
// via innerHTML on every renderLayoutPreview(), so per-pill listeners
|
|
5056
|
+
// would not survive; the container does.
|
|
5057
|
+
var previewEl = qs('#bm-layout-preview');
|
|
5058
|
+
if (previewEl) {
|
|
5059
|
+
previewEl.addEventListener('click', function (e) {
|
|
5060
|
+
var pill = e.target && e.target.closest ? e.target.closest('.bm-lp-pill-hidden') : null;
|
|
5061
|
+
if (!pill) return;
|
|
5062
|
+
var name = pill.getAttribute('data-tab');
|
|
5063
|
+
if (name) restoreTab(name);
|
|
5064
|
+
});
|
|
5065
|
+
}
|
|
5066
|
+
|
|
4711
5067
|
// ── Tab drag-to-reorder (custom layout mode) ──────────────────────
|
|
4712
5068
|
setupTabDrag();
|
|
4713
5069
|
}
|
|
@@ -5293,10 +5649,20 @@
|
|
|
5293
5649
|
|
|
5294
5650
|
// Query tab toolbar — filter and search handlers
|
|
5295
5651
|
function rerenderQueries() {
|
|
5296
|
-
|
|
5652
|
+
// #B225 — derive from the live payload exactly as renderTab('query')
|
|
5653
|
+
// does (reveal swap included), never from the module query cache:
|
|
5654
|
+
// the cache survives overlay eras that ended while the Query tab
|
|
5655
|
+
// was inactive, so a cached repaint resurrects dead queries and
|
|
5656
|
+
// rewrites the badge over the truthful one.
|
|
5657
|
+
var src = (_revealActive && _revealedData) ? _revealedData : ginaData;
|
|
5658
|
+
var u = (src && src.user) || {};
|
|
5659
|
+
var hasXhr = typeof u['data-xhr'] !== 'undefined';
|
|
5660
|
+
var queryData = hasXhr && u['data-xhr'] && u['data-xhr'].queries
|
|
5661
|
+
? u['data-xhr'].queries : u.queries;
|
|
5662
|
+
if (!queryData || !queryData.length) return;
|
|
5297
5663
|
var panel = qs('#tree-query');
|
|
5298
5664
|
if (panel) {
|
|
5299
|
-
panel.innerHTML = renderQueryContent(
|
|
5665
|
+
panel.innerHTML = renderQueryContent(queryData);
|
|
5300
5666
|
}
|
|
5301
5667
|
}
|
|
5302
5668
|
|
|
@@ -5441,11 +5807,19 @@
|
|
|
5441
5807
|
}
|
|
5442
5808
|
|
|
5443
5809
|
// Reopen the passive /_gina/agent stream if it has closed.
|
|
5444
|
-
|
|
5810
|
+
// #B225 — never in bound mode: a broadcast-driven window takes
|
|
5811
|
+
// its data from the statusbar publisher (#INS15), and a passive
|
|
5812
|
+
// stream opened here applies bundle-wide payloads over the
|
|
5813
|
+
// page-scoped ones (the measured badge blink at every later XHR
|
|
5814
|
+
// overlay); a later _noteLivePid could also retro-arm the leak
|
|
5815
|
+
// on bound applies.
|
|
5816
|
+
if (source !== 'agent' && source !== 'broadcast'
|
|
5445
5817
|
&& (!_passiveAgentEs || _passiveAgentEs.readyState === 2)) {
|
|
5446
5818
|
try { if (_passiveAgentEs) _passiveAgentEs.close(); } catch (e) {}
|
|
5447
5819
|
_passiveAgentEs = null;
|
|
5448
|
-
|
|
5820
|
+
// #B205 — keep the re-opened stream on the currently-followed
|
|
5821
|
+
// bundle instead of re-deriving from the opener's deep path.
|
|
5822
|
+
tryAgentPassive(_channelBase !== null ? _channelBase : undefined);
|
|
5449
5823
|
}
|
|
5450
5824
|
|
|
5451
5825
|
if (ev.shiftKey) {
|
|
@@ -5487,10 +5861,31 @@
|
|
|
5487
5861
|
// it severs window.opener). Server logs still arrive via the SSE.
|
|
5488
5862
|
var _boundCh = (typeof URLSearchParams !== 'undefined')
|
|
5489
5863
|
? new URLSearchParams(window.location.search).get('ch') : null;
|
|
5490
|
-
if (setupBoundChannel(_boundCh)
|
|
5864
|
+
if (setupBoundChannel(_boundCh)
|
|
5865
|
+
// #B231 — no usable ?ch=: adopt the statusbar's advertised tab
|
|
5866
|
+
// channel (bound mode) instead of the bundle-global fallback; a
|
|
5867
|
+
// dead advert hands over to _startLegacyAcquisition via the
|
|
5868
|
+
// liveness-handshake timer inside _adoptAdvertisedChannel().
|
|
5869
|
+
|| _adoptAdvertisedChannel(_startLegacyAcquisition)) {
|
|
5491
5870
|
qs('#bm-no-source').classList.add('hidden');
|
|
5492
5871
|
tryServerLogs(); // server logs only; data via the bound channel
|
|
5493
5872
|
} else {
|
|
5873
|
+
_startLegacyAcquisition();
|
|
5874
|
+
}
|
|
5875
|
+
updateSourceModeBadge();
|
|
5876
|
+
|
|
5877
|
+
/**
|
|
5878
|
+
* Legacy bundle-global acquisition — opener/localStorage polling +
|
|
5879
|
+
* the passive `/_gina/agent` SSE (+ engine.io + the "No source"
|
|
5880
|
+
* connect form). Runs when neither an explicit `?ch=` nor an
|
|
5881
|
+
* adopted advertised channel yields bound mode — and again from
|
|
5882
|
+
* `_adoptAdvertisedChannel`'s handshake timer when an adopted
|
|
5883
|
+
* channel turns out dead (#B231). Body unchanged from the
|
|
5884
|
+
* pre-#B231 inline `else` block; only the connect-form wiring
|
|
5885
|
+
* moved into the nested `_wireConnectForm()` below.
|
|
5886
|
+
* @inner
|
|
5887
|
+
*/
|
|
5888
|
+
function _startLegacyAcquisition() {
|
|
5494
5889
|
var ok = tryOpener() || tryLocalStorage();
|
|
5495
5890
|
if (!ok) {
|
|
5496
5891
|
hideLoader();
|
|
@@ -5499,6 +5894,18 @@
|
|
|
5499
5894
|
qs('#bm-label').textContent = 'No source';
|
|
5500
5895
|
}
|
|
5501
5896
|
|
|
5897
|
+
_wireConnectForm();
|
|
5898
|
+
|
|
5899
|
+
tryEngineIO();
|
|
5900
|
+
// Subscribe to /_gina/agent in parallel with opener polling. Opener
|
|
5901
|
+
// polling alone misses SPA (pushState) and XHR renders because
|
|
5902
|
+
// those paths never rewrite window.__ginaData. The passive agent
|
|
5903
|
+
// stream delivers pushed data + log frames from those renders.
|
|
5904
|
+
// It also supersedes tryServerLogs() (same `event: log` frames).
|
|
5905
|
+
var _passiveAgentActive = tryAgentPassive();
|
|
5906
|
+
if (!_passiveAgentActive) tryServerLogs();
|
|
5907
|
+
updateSourceModeBadge();
|
|
5908
|
+
|
|
5502
5909
|
/**
|
|
5503
5910
|
* Manual connect form on the "No source" overlay.
|
|
5504
5911
|
*
|
|
@@ -5512,38 +5919,31 @@
|
|
|
5512
5919
|
*
|
|
5513
5920
|
* @inner
|
|
5514
5921
|
*/
|
|
5515
|
-
|
|
5516
|
-
|
|
5517
|
-
|
|
5518
|
-
|
|
5519
|
-
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5525
|
-
|
|
5526
|
-
|
|
5527
|
-
|
|
5528
|
-
|
|
5529
|
-
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
|
|
5535
|
-
|
|
5536
|
-
|
|
5922
|
+
function _wireConnectForm() {
|
|
5923
|
+
var connectForm = qs('#bm-connect-form');
|
|
5924
|
+
if (connectForm) {
|
|
5925
|
+
connectForm.addEventListener('submit', function (ev) {
|
|
5926
|
+
ev.preventDefault();
|
|
5927
|
+
var urlInput = qs('#bm-connect-url');
|
|
5928
|
+
var raw = (urlInput.value || '').trim();
|
|
5929
|
+
if (!raw) return;
|
|
5930
|
+
// Normalise: add scheme if missing, strip trailing slash
|
|
5931
|
+
if (!/^https?:\/\//i.test(raw)) raw = 'http://' + raw;
|
|
5932
|
+
raw = raw.replace(/\/+$/, '');
|
|
5933
|
+
// Navigate with ?target= to activate agent mode
|
|
5934
|
+
var loc = window.location.pathname + '?target=' + encodeURIComponent(raw);
|
|
5935
|
+
// #INS9b — append the optional inspector key (?key=) for an
|
|
5936
|
+
// auth-gated agent endpoint. Kept in the URL only (ephemeral);
|
|
5937
|
+
// never persisted to localStorage.
|
|
5938
|
+
var keyInput = qs('#bm-connect-key');
|
|
5939
|
+
var keyRaw = keyInput ? (keyInput.value || '').trim() : '';
|
|
5940
|
+
if (keyRaw) {
|
|
5941
|
+
loc += '&key=' + encodeURIComponent(keyRaw);
|
|
5942
|
+
}
|
|
5943
|
+
window.location.href = loc;
|
|
5944
|
+
});
|
|
5945
|
+
}
|
|
5537
5946
|
}
|
|
5538
|
-
|
|
5539
|
-
tryEngineIO();
|
|
5540
|
-
// Subscribe to /_gina/agent in parallel with opener polling. Opener
|
|
5541
|
-
// polling alone misses SPA (pushState) and XHR renders because
|
|
5542
|
-
// those paths never rewrite window.__ginaData. The passive agent
|
|
5543
|
-
// stream delivers pushed data + log frames from those renders.
|
|
5544
|
-
// It also supersedes tryServerLogs() (same `event: log` frames).
|
|
5545
|
-
var _passiveAgentActive = tryAgentPassive();
|
|
5546
|
-
if (!_passiveAgentActive) tryServerLogs();
|
|
5547
5947
|
}
|
|
5548
5948
|
}
|
|
5549
5949
|
|