gina 0.6.6 → 0.6.7

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.
Files changed (580) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +26 -23
  3. package/ROADMAP.md +2 -0
  4. package/bin/cli +1 -0
  5. package/framework/v0.6.7/VERSION +1 -0
  6. package/framework/v0.6.7/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  7. package/framework/v0.6.7/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  8. package/framework/v0.6.7/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  9. package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +27 -0
  10. package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +93 -8
  11. package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/js/gina.js +443 -28
  12. package/framework/v0.6.7/core/asset/plugin/dist/vendor/gina/js/gina.min.js +647 -0
  13. package/framework/v0.6.7/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  14. package/framework/v0.6.7/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  15. package/framework/{v0.6.6 → v0.6.7}/core/config.js +22 -0
  16. package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/index.js +16 -4
  17. package/framework/{v0.6.6 → v0.6.7}/core/connectors/duckdb/index.js +5 -2
  18. package/framework/{v0.6.6 → v0.6.7}/core/connectors/mongodb/index.js +8 -3
  19. package/framework/{v0.6.6 → v0.6.7}/core/connectors/mysql/index.js +5 -2
  20. package/framework/v0.6.7/core/connectors/param-redact.js +177 -0
  21. package/framework/{v0.6.6 → v0.6.7}/core/connectors/postgresql/index.js +5 -2
  22. package/framework/{v0.6.6 → v0.6.7}/core/connectors/scylladb/index.js +5 -2
  23. package/framework/{v0.6.6 → v0.6.7}/core/connectors/sqlite/index.js +5 -2
  24. package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.js +190 -23
  25. package/framework/{v0.6.6 → v0.6.7}/core/gna.js +186 -0
  26. package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/validator/src/form-validator.js +91 -7
  27. package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/validator/src/main.js +352 -21
  28. package/framework/{v0.6.6 → v0.6.7}/core/server.js +190 -1
  29. package/framework/{v0.6.6 → v0.6.7}/core/template/conf/settings.json +7 -8
  30. package/framework/v0.6.7/lib/cmd/storage/arguments.json +6 -0
  31. package/framework/v0.6.7/lib/cmd/storage/gc.js +418 -0
  32. package/framework/v0.6.7/lib/cmd/storage/help.txt +63 -0
  33. package/framework/v0.6.7/lib/cmd/storage/stats.js +396 -0
  34. package/framework/v0.6.7/lib/cmd/storage/verify.js +413 -0
  35. package/framework/{v0.6.6 → v0.6.7}/lib/index.js +14 -0
  36. package/framework/{v0.6.6 → v0.6.7}/lib/secrets/src/main.js +13 -6
  37. package/framework/v0.6.7/lib/storage/package.json +7 -0
  38. package/framework/v0.6.7/lib/storage/src/local-cas.js +1186 -0
  39. package/framework/v0.6.7/lib/storage/src/local.js +599 -0
  40. package/framework/v0.6.7/lib/storage/src/main.js +890 -0
  41. package/framework/v0.6.7/lib/storage/src/meta-store.js +506 -0
  42. package/framework/v0.6.7/lib/storage/src/util.js +336 -0
  43. package/framework/v0.6.7/lib/storage-store.js +110 -0
  44. package/framework/{v0.6.6 → v0.6.7}/package.json +1 -1
  45. package/gna.js +4 -4
  46. package/llms.txt +10 -9
  47. package/package.json +3 -3
  48. package/schema/settings.json +142 -2
  49. package/types/index.d.ts +7 -0
  50. package/framework/v0.6.6/VERSION +0 -1
  51. package/framework/v0.6.6/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -1
  52. package/framework/v0.6.6/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  53. package/framework/v0.6.6/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  54. package/framework/v0.6.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -643
  55. package/framework/v0.6.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  56. package/framework/v0.6.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  57. /package/framework/{v0.6.6 → v0.6.7}/AUTHORS +0 -0
  58. /package/framework/{v0.6.6 → v0.6.7}/LICENSE +0 -0
  59. /package/framework/{v0.6.6 → v0.6.7}/core/asset/html/nolayout.html +0 -0
  60. /package/framework/{v0.6.6 → v0.6.7}/core/asset/html/static.html +0 -0
  61. /package/framework/{v0.6.6 → v0.6.7}/core/asset/img/android-chrome-192x192.png +0 -0
  62. /package/framework/{v0.6.6 → v0.6.7}/core/asset/img/android-chrome-512x512.png +0 -0
  63. /package/framework/{v0.6.6 → v0.6.7}/core/asset/img/apple-touch-icon.png +0 -0
  64. /package/framework/{v0.6.6 → v0.6.7}/core/asset/img/favicon-16x16.png +0 -0
  65. /package/framework/{v0.6.6 → v0.6.7}/core/asset/img/favicon-32x32.png +0 -0
  66. /package/framework/{v0.6.6 → v0.6.7}/core/asset/img/favicon.ico +0 -0
  67. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/README.md +0 -0
  68. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  69. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  70. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  71. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  72. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  73. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  74. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  75. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  76. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  77. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  78. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  79. /package/framework/{v0.6.6 → v0.6.7}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  80. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/ai/index.js +0 -0
  81. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/ai/lib/connector.js +0 -0
  82. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/lib/connector.js +0 -0
  83. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  84. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  85. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/lib/n1ql.js +0 -0
  86. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/lib/session-store.js +0 -0
  87. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  88. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  89. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/duckdb/lib/connector.js +0 -0
  90. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/mongodb/lib/connector.js +0 -0
  91. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/mongodb/lib/job-store.js +0 -0
  92. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  93. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/mongodb/lib/session-store.js +0 -0
  94. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/mysql/lib/connector.js +0 -0
  95. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/postgresql/lib/connector.js +0 -0
  96. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/redis/index.js +0 -0
  97. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/redis/lib/connector.js +0 -0
  98. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/redis/lib/job-store.js +0 -0
  99. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/redis/lib/render-cache-store.js +0 -0
  100. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/redis/lib/session-store.js +0 -0
  101. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/scylladb/lib/connector.js +0 -0
  102. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/scylladb/lib/session-store.js +0 -0
  103. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/sql-parser.js +0 -0
  104. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/sqlite/lib/connector.js +0 -0
  105. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/sqlite/lib/job-store.js +0 -0
  106. /package/framework/{v0.6.6 → v0.6.7}/core/connectors/sqlite/lib/session-store.js +0 -0
  107. /package/framework/{v0.6.6 → v0.6.7}/core/content.encoding +0 -0
  108. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.framework.js +0 -0
  109. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.render-json.js +0 -0
  110. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.render-nunjucks-async.js +0 -0
  111. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.render-nunjucks.js +0 -0
  112. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.render-stream.js +0 -0
  113. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.render-swig-async.js +0 -0
  114. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.render-swig.js +0 -0
  115. /package/framework/{v0.6.6 → v0.6.7}/core/controller/controller.render-v1.js +0 -0
  116. /package/framework/{v0.6.6 → v0.6.7}/core/controller/index.js +0 -0
  117. /package/framework/{v0.6.6 → v0.6.7}/core/controller/inspector-window-emit.js +0 -0
  118. /package/framework/{v0.6.6 → v0.6.7}/core/controller/release-banner.js +0 -0
  119. /package/framework/{v0.6.6 → v0.6.7}/core/dev/index.js +0 -0
  120. /package/framework/{v0.6.6 → v0.6.7}/core/dev/lib/class.js +0 -0
  121. /package/framework/{v0.6.6 → v0.6.7}/core/dev/lib/factory.js +0 -0
  122. /package/framework/{v0.6.6 → v0.6.7}/core/dev/lib/tools.js +0 -0
  123. /package/framework/{v0.6.6 → v0.6.7}/core/locales/README.md +0 -0
  124. /package/framework/{v0.6.6 → v0.6.7}/core/locales/currency.json +0 -0
  125. /package/framework/{v0.6.6 → v0.6.7}/core/locales/dist/language/en.json +0 -0
  126. /package/framework/{v0.6.6 → v0.6.7}/core/locales/dist/language/fr.json +0 -0
  127. /package/framework/{v0.6.6 → v0.6.7}/core/locales/dist/region/en.json +0 -0
  128. /package/framework/{v0.6.6 → v0.6.7}/core/locales/dist/region/fr.json +0 -0
  129. /package/framework/{v0.6.6 → v0.6.7}/core/locales/index.js +0 -0
  130. /package/framework/{v0.6.6 → v0.6.7}/core/mime.types +0 -0
  131. /package/framework/{v0.6.6 → v0.6.7}/core/model/entity.js +0 -0
  132. /package/framework/{v0.6.6 → v0.6.7}/core/model/index.js +0 -0
  133. /package/framework/{v0.6.6 → v0.6.7}/core/model/template/entityFactory.js +0 -0
  134. /package/framework/{v0.6.6 → v0.6.7}/core/model/template/index.js +0 -0
  135. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/README.md +0 -0
  136. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/index.js +0 -0
  137. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/csrf/README.md +0 -0
  138. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/csrf/package.json +0 -0
  139. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/csrf/src/main.js +0 -0
  140. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/README.md +0 -0
  141. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/coep/README.md +0 -0
  142. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/coep/package.json +0 -0
  143. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  144. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/coop/README.md +0 -0
  145. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/coop/package.json +0 -0
  146. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  147. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/corp/README.md +0 -0
  148. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/corp/package.json +0 -0
  149. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  150. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/csp/README.md +0 -0
  151. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/csp/package.json +0 -0
  152. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  153. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  154. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  155. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  156. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  157. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  158. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  159. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  160. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  161. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  162. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/package.json +0 -0
  163. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  164. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  165. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  166. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/src/main.js +0 -0
  167. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  168. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  169. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  170. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  171. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  172. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  173. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  174. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  175. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  176. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  177. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  178. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  179. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  180. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  181. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  182. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  183. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  184. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  185. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/session/README.md +0 -0
  186. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/session/package.json +0 -0
  187. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/session/src/main.js +0 -0
  188. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/storage/README.md +0 -0
  189. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/storage/build.json +0 -0
  190. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/storage/package.json +0 -0
  191. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/storage/src/main.js +0 -0
  192. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/validator/README.md +0 -0
  193. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/validator/build.json +0 -0
  194. /package/framework/{v0.6.6 → v0.6.7}/core/plugins/lib/validator/package.json +0 -0
  195. /package/framework/{v0.6.6 → v0.6.7}/core/router.js +0 -0
  196. /package/framework/{v0.6.6 → v0.6.7}/core/server.express.js +0 -0
  197. /package/framework/{v0.6.6 → v0.6.7}/core/server.isaac.js +0 -0
  198. /package/framework/{v0.6.6 → v0.6.7}/core/status.codes +0 -0
  199. /package/framework/{v0.6.6 → v0.6.7}/core/template/_gitignore +0 -0
  200. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/config/app.json +0 -0
  201. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  202. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/config/routing.json +0 -0
  203. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/config/settings.json +0 -0
  204. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  205. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/config/templates.json +0 -0
  206. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  207. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  208. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  209. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  210. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/index.js +0 -0
  211. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle/locales/en.json +0 -0
  212. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  213. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  214. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  215. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  216. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  217. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
  218. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  219. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  220. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/readme.md +0 -0
  221. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_public/sw.js +0 -0
  222. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  223. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  224. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  225. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  226. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
  227. /package/framework/{v0.6.6 → v0.6.7}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  228. /package/framework/{v0.6.6 → v0.6.7}/core/template/command/gina.bat.tpl +0 -0
  229. /package/framework/{v0.6.6 → v0.6.7}/core/template/command/gina.tpl +0 -0
  230. /package/framework/{v0.6.6 → v0.6.7}/core/template/conf/env.json +0 -0
  231. /package/framework/{v0.6.6 → v0.6.7}/core/template/conf/manifest.json +0 -0
  232. /package/framework/{v0.6.6 → v0.6.7}/core/template/conf/package.json +0 -0
  233. /package/framework/{v0.6.6 → v0.6.7}/core/template/conf/statics.json +0 -0
  234. /package/framework/{v0.6.6 → v0.6.7}/core/template/conf/templates.json +0 -0
  235. /package/framework/{v0.6.6 → v0.6.7}/core/template/error/client/json/401.json +0 -0
  236. /package/framework/{v0.6.6 → v0.6.7}/core/template/error/client/json/403.json +0 -0
  237. /package/framework/{v0.6.6 → v0.6.7}/core/template/error/client/json/404.json +0 -0
  238. /package/framework/{v0.6.6 → v0.6.7}/core/template/error/server/html/50x.html +0 -0
  239. /package/framework/{v0.6.6 → v0.6.7}/core/template/error/server/json/500.json +0 -0
  240. /package/framework/{v0.6.6 → v0.6.7}/core/template/error/server/json/503.json +0 -0
  241. /package/framework/{v0.6.6 → v0.6.7}/core/template/extensions/logger/config.json +0 -0
  242. /package/framework/{v0.6.6 → v0.6.7}/helpers/console.js +0 -0
  243. /package/framework/{v0.6.6 → v0.6.7}/helpers/context.js +0 -0
  244. /package/framework/{v0.6.6 → v0.6.7}/helpers/data/LICENSE +0 -0
  245. /package/framework/{v0.6.6 → v0.6.7}/helpers/data/README.md +0 -0
  246. /package/framework/{v0.6.6 → v0.6.7}/helpers/data/package.json +0 -0
  247. /package/framework/{v0.6.6 → v0.6.7}/helpers/data/src/main.js +0 -0
  248. /package/framework/{v0.6.6 → v0.6.7}/helpers/dateFormat.js +0 -0
  249. /package/framework/{v0.6.6 → v0.6.7}/helpers/index.js +0 -0
  250. /package/framework/{v0.6.6 → v0.6.7}/helpers/json/LICENSE +0 -0
  251. /package/framework/{v0.6.6 → v0.6.7}/helpers/json/README.md +0 -0
  252. /package/framework/{v0.6.6 → v0.6.7}/helpers/json/package.json +0 -0
  253. /package/framework/{v0.6.6 → v0.6.7}/helpers/json/src/main.js +0 -0
  254. /package/framework/{v0.6.6 → v0.6.7}/helpers/path.js +0 -0
  255. /package/framework/{v0.6.6 → v0.6.7}/helpers/plugins/README.md +0 -0
  256. /package/framework/{v0.6.6 → v0.6.7}/helpers/plugins/package.json +0 -0
  257. /package/framework/{v0.6.6 → v0.6.7}/helpers/plugins/src/api-error.js +0 -0
  258. /package/framework/{v0.6.6 → v0.6.7}/helpers/plugins/src/main.js +0 -0
  259. /package/framework/{v0.6.6 → v0.6.7}/helpers/prototypes.js +0 -0
  260. /package/framework/{v0.6.6 → v0.6.7}/helpers/task.js +0 -0
  261. /package/framework/{v0.6.6 → v0.6.7}/helpers/text.js +0 -0
  262. /package/framework/{v0.6.6 → v0.6.7}/lib/admin/package.json +0 -0
  263. /package/framework/{v0.6.6 → v0.6.7}/lib/admin/src/main.js +0 -0
  264. /package/framework/{v0.6.6 → v0.6.7}/lib/archiver/README.md +0 -0
  265. /package/framework/{v0.6.6 → v0.6.7}/lib/archiver/build.json +0 -0
  266. /package/framework/{v0.6.6 → v0.6.7}/lib/archiver/package.json +0 -0
  267. /package/framework/{v0.6.6 → v0.6.7}/lib/archiver/src/dep/jszip.min.js +0 -0
  268. /package/framework/{v0.6.6 → v0.6.7}/lib/archiver/src/main.js +0 -0
  269. /package/framework/{v0.6.6 → v0.6.7}/lib/async/package.json +0 -0
  270. /package/framework/{v0.6.6 → v0.6.7}/lib/async/src/main.js +0 -0
  271. /package/framework/{v0.6.6 → v0.6.7}/lib/audit/package.json +0 -0
  272. /package/framework/{v0.6.6 → v0.6.7}/lib/audit/src/main.js +0 -0
  273. /package/framework/{v0.6.6 → v0.6.7}/lib/audit-store.js +0 -0
  274. /package/framework/{v0.6.6 → v0.6.7}/lib/authn/package.json +0 -0
  275. /package/framework/{v0.6.6 → v0.6.7}/lib/authn/src/lockout.js +0 -0
  276. /package/framework/{v0.6.6 → v0.6.7}/lib/authn/src/main.js +0 -0
  277. /package/framework/{v0.6.6 → v0.6.7}/lib/authn/src/totp.js +0 -0
  278. /package/framework/{v0.6.6 → v0.6.7}/lib/authz-gate/package.json +0 -0
  279. /package/framework/{v0.6.6 → v0.6.7}/lib/authz-gate/src/main.js +0 -0
  280. /package/framework/{v0.6.6 → v0.6.7}/lib/cache/README.md +0 -0
  281. /package/framework/{v0.6.6 → v0.6.7}/lib/cache/build.json +0 -0
  282. /package/framework/{v0.6.6 → v0.6.7}/lib/cache/package.json +0 -0
  283. /package/framework/{v0.6.6 → v0.6.7}/lib/cache/src/main.js +0 -0
  284. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/aliases.json +0 -0
  285. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/audit/arguments.json +0 -0
  286. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/audit/help.txt +0 -0
  287. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/audit/verify.js +0 -0
  288. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/add.js +0 -0
  289. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/arguments.json +0 -0
  290. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/build.js +0 -0
  291. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/copy.js +0 -0
  292. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/cp.js +0 -0
  293. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/help.js +0 -0
  294. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/help.txt +0 -0
  295. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  296. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/list.js +0 -0
  297. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/man.js +0 -0
  298. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/mcp-start.js +0 -0
  299. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/mcp.js +0 -0
  300. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/oas.js +0 -0
  301. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/openapi.js +0 -0
  302. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/remove.js +0 -0
  303. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/rename.js +0 -0
  304. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/restart.js +0 -0
  305. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/rm.js +0 -0
  306. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/start.js +0 -0
  307. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/status.js +0 -0
  308. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/stop.js +0 -0
  309. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/bundle/types.js +0 -0
  310. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/cache/arguments.json +0 -0
  311. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/cache/clear.js +0 -0
  312. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/cache/help.txt +0 -0
  313. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/cache/stats.js +0 -0
  314. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/add.js +0 -0
  315. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/arguments.json +0 -0
  316. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/help.js +0 -0
  317. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/help.txt +0 -0
  318. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/infer.js +0 -0
  319. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/list.js +0 -0
  320. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/migrate.js +0 -0
  321. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/models.js +0 -0
  322. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/remove.js +0 -0
  323. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/rm.js +0 -0
  324. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/connector/test.js +0 -0
  325. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/container/arguments.json +0 -0
  326. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/container/help.js +0 -0
  327. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/container/help.txt +0 -0
  328. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/container/man.js +0 -0
  329. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/container/ps.js +0 -0
  330. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/container/stop.js +0 -0
  331. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/add.js +0 -0
  332. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/arguments.json +0 -0
  333. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/help.txt +0 -0
  334. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/inc/args.js +0 -0
  335. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/inc/namespace.js +0 -0
  336. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
  337. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/inc/reference-scan.js +0 -0
  338. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/inc/scaffold.js +0 -0
  339. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/remove.js +0 -0
  340. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/rename.js +0 -0
  341. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/controller/rm.js +0 -0
  342. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/add.js +0 -0
  343. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/get.js +0 -0
  344. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/help.js +0 -0
  345. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/help.txt +0 -0
  346. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/link-dev.js +0 -0
  347. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/list.js +0 -0
  348. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/remove.js +0 -0
  349. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/rm.js +0 -0
  350. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/set.js +0 -0
  351. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/unset.js +0 -0
  352. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/env/use.js +0 -0
  353. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/add.js +0 -0
  354. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/arguments.json +0 -0
  355. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/build.js +0 -0
  356. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/dot.js +0 -0
  357. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/get.js +0 -0
  358. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/help.js +0 -0
  359. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/help.txt +0 -0
  360. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/init.js +0 -0
  361. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/link-node-modules.js +0 -0
  362. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/link.js +0 -0
  363. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/list.js +0 -0
  364. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/man.js +0 -0
  365. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/msg.json +0 -0
  366. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/open.js +0 -0
  367. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/remove.js +0 -0
  368. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/reset.js +0 -0
  369. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/restart.js +0 -0
  370. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/set.js +0 -0
  371. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/start.js +0 -0
  372. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/status.js +0 -0
  373. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/stop.js +0 -0
  374. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/tail.js +0 -0
  375. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/update.js +0 -0
  376. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/framework/version.js +0 -0
  377. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/gina-dev.1.md +0 -0
  378. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/gina-framework.1.md +0 -0
  379. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/gina.1.md +0 -0
  380. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/helper.js +0 -0
  381. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/i18n/add.js +0 -0
  382. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/i18n/arguments.json +0 -0
  383. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/i18n/export.js +0 -0
  384. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/i18n/help.js +0 -0
  385. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/i18n/help.txt +0 -0
  386. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/i18n/import.js +0 -0
  387. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/i18n/scan.js +0 -0
  388. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/_host.js +0 -0
  389. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/arguments.json +0 -0
  390. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/build.js +0 -0
  391. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/help.js +0 -0
  392. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/help.txt +0 -0
  393. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/list.js +0 -0
  394. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/man.js +0 -0
  395. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/rm.js +0 -0
  396. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/image/run.js +0 -0
  397. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/index.js +0 -0
  398. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/inspector/help.js +0 -0
  399. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/inspector/help.txt +0 -0
  400. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/inspector/open.js +0 -0
  401. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/man-render.js +0 -0
  402. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/minion/arguments.json +0 -0
  403. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/minion/help.js +0 -0
  404. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/minion/help.txt +0 -0
  405. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/minion/kill.js +0 -0
  406. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/minion/list.js +0 -0
  407. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/msg.json +0 -0
  408. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/port/help.js +0 -0
  409. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/port/help.txt +0 -0
  410. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/port/inc/scan.js +0 -0
  411. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/port/list.js +0 -0
  412. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/port/reset.js +0 -0
  413. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/port/set.js +0 -0
  414. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/add.js +0 -0
  415. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/arguments.json +0 -0
  416. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/backup.js +0 -0
  417. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/build.js +0 -0
  418. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/help.js +0 -0
  419. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/help.txt +0 -0
  420. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/import.js +0 -0
  421. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/list.js +0 -0
  422. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/man.js +0 -0
  423. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/move.js +0 -0
  424. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/remove.js +0 -0
  425. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/rename.js +0 -0
  426. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/restart.js +0 -0
  427. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/restore.js +0 -0
  428. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/rm.js +0 -0
  429. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/start.js +0 -0
  430. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/status.js +0 -0
  431. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/project/stop.js +0 -0
  432. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/protocol/arguments.json +0 -0
  433. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/protocol/help.js +0 -0
  434. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/protocol/help.txt +0 -0
  435. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/protocol/list.js +0 -0
  436. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/protocol/remove.js +0 -0
  437. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/protocol/set.js +0 -0
  438. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/add.js +0 -0
  439. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/help.js +0 -0
  440. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/help.txt +0 -0
  441. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/link-local.js +0 -0
  442. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/link-production.js +0 -0
  443. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/list.js +0 -0
  444. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/remove.js +0 -0
  445. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/rm.js +0 -0
  446. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/scope/use.js +0 -0
  447. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/secrets/arguments.json +0 -0
  448. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/secrets/check.js +0 -0
  449. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/secrets/help.js +0 -0
  450. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/secrets/help.txt +0 -0
  451. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/secrets/scan.js +0 -0
  452. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/service/help.js +0 -0
  453. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/service/help.txt +0 -0
  454. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/service/list.js +0 -0
  455. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/service/man.js +0 -0
  456. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/service/start.js +0 -0
  457. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd/view/add.js +0 -0
  458. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd-status-format/package.json +0 -0
  459. /package/framework/{v0.6.6 → v0.6.7}/lib/cmd-status-format/src/main.js +0 -0
  460. /package/framework/{v0.6.6 → v0.6.7}/lib/collection/README.md +0 -0
  461. /package/framework/{v0.6.6 → v0.6.7}/lib/collection/build.json +0 -0
  462. /package/framework/{v0.6.6 → v0.6.7}/lib/collection/package.json +0 -0
  463. /package/framework/{v0.6.6 → v0.6.7}/lib/collection/src/main.js +0 -0
  464. /package/framework/{v0.6.6 → v0.6.7}/lib/config.js +0 -0
  465. /package/framework/{v0.6.6 → v0.6.7}/lib/connector-config/package.json +0 -0
  466. /package/framework/{v0.6.6 → v0.6.7}/lib/connector-config/src/main.js +0 -0
  467. /package/framework/{v0.6.6 → v0.6.7}/lib/connector-error/package.json +0 -0
  468. /package/framework/{v0.6.6 → v0.6.7}/lib/connector-error/src/main.js +0 -0
  469. /package/framework/{v0.6.6 → v0.6.7}/lib/connector-registry/package.json +0 -0
  470. /package/framework/{v0.6.6 → v0.6.7}/lib/connector-registry/src/main.js +0 -0
  471. /package/framework/{v0.6.6 → v0.6.7}/lib/cron/README.md +0 -0
  472. /package/framework/{v0.6.6 → v0.6.7}/lib/cron/package.json +0 -0
  473. /package/framework/{v0.6.6 → v0.6.7}/lib/cron/src/main.js +0 -0
  474. /package/framework/{v0.6.6 → v0.6.7}/lib/domain/LICENSE +0 -0
  475. /package/framework/{v0.6.6 → v0.6.7}/lib/domain/README.md +0 -0
  476. /package/framework/{v0.6.6 → v0.6.7}/lib/domain/package.json +0 -0
  477. /package/framework/{v0.6.6 → v0.6.7}/lib/domain/src/main.js +0 -0
  478. /package/framework/{v0.6.6 → v0.6.7}/lib/dto/package.json +0 -0
  479. /package/framework/{v0.6.6 → v0.6.7}/lib/dto/src/main.js +0 -0
  480. /package/framework/{v0.6.6 → v0.6.7}/lib/dto-pipe/package.json +0 -0
  481. /package/framework/{v0.6.6 → v0.6.7}/lib/dto-pipe/src/main.js +0 -0
  482. /package/framework/{v0.6.6 → v0.6.7}/lib/dto-types/package.json +0 -0
  483. /package/framework/{v0.6.6 → v0.6.7}/lib/dto-types/src/main.js +0 -0
  484. /package/framework/{v0.6.6 → v0.6.7}/lib/generator/index.js +0 -0
  485. /package/framework/{v0.6.6 → v0.6.7}/lib/i18n/package.json +0 -0
  486. /package/framework/{v0.6.6 → v0.6.7}/lib/i18n/src/main.js +0 -0
  487. /package/framework/{v0.6.6 → v0.6.7}/lib/image-build/package.json +0 -0
  488. /package/framework/{v0.6.6 → v0.6.7}/lib/image-build/src/main.js +0 -0
  489. /package/framework/{v0.6.6 → v0.6.7}/lib/inherits/LICENSE +0 -0
  490. /package/framework/{v0.6.6 → v0.6.7}/lib/inherits/README.md +0 -0
  491. /package/framework/{v0.6.6 → v0.6.7}/lib/inherits/package.json +0 -0
  492. /package/framework/{v0.6.6 → v0.6.7}/lib/inherits/src/main.js +0 -0
  493. /package/framework/{v0.6.6 → v0.6.7}/lib/inspector-events/package.json +0 -0
  494. /package/framework/{v0.6.6 → v0.6.7}/lib/inspector-events/src/main.js +0 -0
  495. /package/framework/{v0.6.6 → v0.6.7}/lib/inspector-redact/package.json +0 -0
  496. /package/framework/{v0.6.6 → v0.6.7}/lib/inspector-redact/src/main.js +0 -0
  497. /package/framework/{v0.6.6 → v0.6.7}/lib/instrument/package.json +0 -0
  498. /package/framework/{v0.6.6 → v0.6.7}/lib/instrument/src/main.js +0 -0
  499. /package/framework/{v0.6.6 → v0.6.7}/lib/job/package.json +0 -0
  500. /package/framework/{v0.6.6 → v0.6.7}/lib/job/src/main.js +0 -0
  501. /package/framework/{v0.6.6 → v0.6.7}/lib/job-store.js +0 -0
  502. /package/framework/{v0.6.6 → v0.6.7}/lib/json-config-header/package.json +0 -0
  503. /package/framework/{v0.6.6 → v0.6.7}/lib/json-config-header/src/main.js +0 -0
  504. /package/framework/{v0.6.6 → v0.6.7}/lib/loading-state/package.json +0 -0
  505. /package/framework/{v0.6.6 → v0.6.7}/lib/loading-state/src/main.js +0 -0
  506. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/README.md +0 -0
  507. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/package.json +0 -0
  508. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/containers/default/index.js +0 -0
  509. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/containers/file/index.js +0 -0
  510. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  511. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  512. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/containers/mq/index.js +0 -0
  513. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/containers/mq/listener.js +0 -0
  514. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/containers/mq/speaker.js +0 -0
  515. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/helper.js +0 -0
  516. /package/framework/{v0.6.6 → v0.6.7}/lib/logger/src/main.js +0 -0
  517. /package/framework/{v0.6.6 → v0.6.7}/lib/math/index.js +0 -0
  518. /package/framework/{v0.6.6 → v0.6.7}/lib/mcp-dispatch/package.json +0 -0
  519. /package/framework/{v0.6.6 → v0.6.7}/lib/mcp-dispatch/src/main.js +0 -0
  520. /package/framework/{v0.6.6 → v0.6.7}/lib/mcp-http/package.json +0 -0
  521. /package/framework/{v0.6.6 → v0.6.7}/lib/mcp-http/src/main.js +0 -0
  522. /package/framework/{v0.6.6 → v0.6.7}/lib/mcp-server/package.json +0 -0
  523. /package/framework/{v0.6.6 → v0.6.7}/lib/mcp-server/src/main.js +0 -0
  524. /package/framework/{v0.6.6 → v0.6.7}/lib/merge/README.md +0 -0
  525. /package/framework/{v0.6.6 → v0.6.7}/lib/merge/package.json +0 -0
  526. /package/framework/{v0.6.6 → v0.6.7}/lib/merge/src/main.js +0 -0
  527. /package/framework/{v0.6.6 → v0.6.7}/lib/metrics/package.json +0 -0
  528. /package/framework/{v0.6.6 → v0.6.7}/lib/metrics/src/main.js +0 -0
  529. /package/framework/{v0.6.6 → v0.6.7}/lib/model.js +0 -0
  530. /package/framework/{v0.6.6 → v0.6.7}/lib/net-locality/package.json +0 -0
  531. /package/framework/{v0.6.6 → v0.6.7}/lib/net-locality/src/main.js +0 -0
  532. /package/framework/{v0.6.6 → v0.6.7}/lib/nunjucks-filters/README.md +0 -0
  533. /package/framework/{v0.6.6 → v0.6.7}/lib/nunjucks-filters/package.json +0 -0
  534. /package/framework/{v0.6.6 → v0.6.7}/lib/nunjucks-filters/src/main.js +0 -0
  535. /package/framework/{v0.6.6 → v0.6.7}/lib/nunjucks-resolver/package.json +0 -0
  536. /package/framework/{v0.6.6 → v0.6.7}/lib/nunjucks-resolver/src/main.js +0 -0
  537. /package/framework/{v0.6.6 → v0.6.7}/lib/proc.js +0 -0
  538. /package/framework/{v0.6.6 → v0.6.7}/lib/release-watch/package.json +0 -0
  539. /package/framework/{v0.6.6 → v0.6.7}/lib/release-watch/src/main.js +0 -0
  540. /package/framework/{v0.6.6 → v0.6.7}/lib/render-cache/package.json +0 -0
  541. /package/framework/{v0.6.6 → v0.6.7}/lib/render-cache/src/main.js +0 -0
  542. /package/framework/{v0.6.6 → v0.6.7}/lib/render-cache-store.js +0 -0
  543. /package/framework/{v0.6.6 → v0.6.7}/lib/routing/README.md +0 -0
  544. /package/framework/{v0.6.6 → v0.6.7}/lib/routing/build.json +0 -0
  545. /package/framework/{v0.6.6 → v0.6.7}/lib/routing/package.json +0 -0
  546. /package/framework/{v0.6.6 → v0.6.7}/lib/routing/src/main.js +0 -0
  547. /package/framework/{v0.6.6 → v0.6.7}/lib/routing/src/radix.js +0 -0
  548. /package/framework/{v0.6.6 → v0.6.7}/lib/routing-introspect/package.json +0 -0
  549. /package/framework/{v0.6.6 → v0.6.7}/lib/routing-introspect/src/main.js +0 -0
  550. /package/framework/{v0.6.6 → v0.6.7}/lib/secrets/package.json +0 -0
  551. /package/framework/{v0.6.6 → v0.6.7}/lib/secrets/src/backends/env.js +0 -0
  552. /package/framework/{v0.6.6 → v0.6.7}/lib/secrets/src/backends/file.js +0 -0
  553. /package/framework/{v0.6.6 → v0.6.7}/lib/secrets/src/env-file.js +0 -0
  554. /package/framework/{v0.6.6 → v0.6.7}/lib/session-store.js +0 -0
  555. /package/framework/{v0.6.6 → v0.6.7}/lib/shell.js +0 -0
  556. /package/framework/{v0.6.6 → v0.6.7}/lib/sqlite-driver.js +0 -0
  557. /package/framework/{v0.6.6 → v0.6.7}/lib/state.js +0 -0
  558. /package/framework/{v0.6.6 → v0.6.7}/lib/swig-filters/README.md +0 -0
  559. /package/framework/{v0.6.6 → v0.6.7}/lib/swig-filters/package.json +0 -0
  560. /package/framework/{v0.6.6 → v0.6.7}/lib/swig-filters/src/main.js +0 -0
  561. /package/framework/{v0.6.6 → v0.6.7}/lib/swig-resolver/package.json +0 -0
  562. /package/framework/{v0.6.6 → v0.6.7}/lib/swig-resolver/src/main.js +0 -0
  563. /package/framework/{v0.6.6 → v0.6.7}/lib/template-loaders/package.json +0 -0
  564. /package/framework/{v0.6.6 → v0.6.7}/lib/template-loaders/src/loaders/http.js +0 -0
  565. /package/framework/{v0.6.6 → v0.6.7}/lib/template-loaders/src/loaders/memory.js +0 -0
  566. /package/framework/{v0.6.6 → v0.6.7}/lib/template-loaders/src/main.js +0 -0
  567. /package/framework/{v0.6.6 → v0.6.7}/lib/url/README.md +0 -0
  568. /package/framework/{v0.6.6 → v0.6.7}/lib/url/index.js +0 -0
  569. /package/framework/{v0.6.6 → v0.6.7}/lib/url/routing.json +0 -0
  570. /package/framework/{v0.6.6 → v0.6.7}/lib/uuid/package.json +0 -0
  571. /package/framework/{v0.6.6 → v0.6.7}/lib/uuid/src/main.js +0 -0
  572. /package/framework/{v0.6.6 → v0.6.7}/lib/validator.js +0 -0
  573. /package/framework/{v0.6.6 → v0.6.7}/lib/watcher/package.json +0 -0
  574. /package/framework/{v0.6.6 → v0.6.7}/lib/watcher/src/main.js +0 -0
  575. /package/framework/{v0.6.6 → v0.6.7}/lib/ws-framing/package.json +0 -0
  576. /package/framework/{v0.6.6 → v0.6.7}/lib/ws-framing/src/main.js +0 -0
  577. /package/framework/{v0.6.6 → v0.6.7}/lib/ws-query/package.json +0 -0
  578. /package/framework/{v0.6.6 → v0.6.7}/lib/ws-query/src/main.js +0 -0
  579. /package/framework/{v0.6.6 → v0.6.7}/lib/ws-session/package.json +0 -0
  580. /package/framework/{v0.6.6 → v0.6.7}/lib/ws-session/src/main.js +0 -0
@@ -6415,21 +6415,28 @@ function ValidatorPlugin(rules, data, formId, culture) {
6415
6415
  // filter also excludes in-tree descendants whose `form="..."` points at a different
6416
6416
  // form (parent-form contamination guard).
6417
6417
  var getOwnedElements = function($form, tag) {
6418
+ // #B333 — dedup by NODE IDENTITY, not by id. The old `seen` table was
6419
+ // id-keyed, so an ID-LESS control already collected from `$form.elements`
6420
+ // was pushed a second time by the in-tree sweep (`!$el.id` passed the old
6421
+ // condition unconditionally). For an id-less `<button type=submit>` —
6422
+ // gina auto-assigns its id only later, in the submit-binding loop — the
6423
+ // double entry meant `bindSubmitEl` ran twice and every click executed
6424
+ // TWO full validate()+send() cycles. `arr.indexOf($el)` is an identity
6425
+ // test, so the same node can never enter twice regardless of id state.
6418
6426
  var arr = []
6419
- , seen = {}
6420
6427
  , tagUpper = tag.toUpperCase()
6421
6428
  ;
6422
6429
  for (let i = 0, len = $form.elements.length; i < len; i++) {
6423
6430
  let $el = $form.elements[i];
6424
6431
  if ($el.tagName === tagUpper) {
6425
6432
  arr.push($el);
6426
- if ($el.id) seen[$el.id] = true;
6427
6433
  }
6428
6434
  }
6429
6435
  var inTree = $form.getElementsByTagName(tag);
6430
6436
  for (let i = 0, len = inTree.length; i < len; i++) {
6431
6437
  let $el = inTree[i];
6432
- if ($el.form === $form && (!$el.id || !seen[$el.id])) {
6438
+ // was: if ($el.form === $form && (!$el.id || !seen[$el.id])) {
6439
+ if ($el.form === $form && arr.indexOf($el) === -1) {
6433
6440
  arr.push($el);
6434
6441
  }
6435
6442
  }
@@ -8051,7 +8058,18 @@ function ValidatorPlugin(rules, data, formId, culture) {
8051
8058
  // (which is what the operable-trigger design was bought for).
8052
8059
  // Checked on the CLICKED element, not `$formInstance.submitTrigger`:
8053
8060
  // a form may carry several submit buttons and only one registers.
8054
- if ( /^submit\./i.test(_evt) && isTriggerDisabled($el) ) {
8061
+ //
8062
+ // #B346 carve-out — when the gate's ONLY reason is a `query` verdict
8063
+ // still on the wire (framework gated mark alone, no committed errors,
8064
+ // in-flight marker present), the reveal has NOTHING to reveal and the
8065
+ // refusal ate the click silently. Let that one state through: the
8066
+ // normal submit cycle latches, arms its waiter, and the pending
8067
+ // settle completes it (#B342) — valid ⇒ send, invalid ⇒ render +
8068
+ // release. Every other refusal shape is unchanged.
8069
+ if (
8070
+ /^submit\./i.test(_evt) && isTriggerDisabled($el)
8071
+ && !isAwaitingQueryVerdictOnly($el, $target, instance.$forms[$form.id] || $form)
8072
+ ) {
8055
8073
  cancelEvent(event);
8056
8074
  revealValidationState( instance.$forms[$form.id] || $form );
8057
8075
  return false;
@@ -8306,6 +8324,21 @@ function ValidatorPlugin(rules, data, formId, culture) {
8306
8324
  // start validation
8307
8325
  cancelEvent(event);
8308
8326
 
8327
+ // #B332 belt — one submit cycle at a time per form. `isSubmitting`
8328
+ // latches below (before validate()) and is released on the XHR settle
8329
+ // AND on the rejected-validation branch (#B192), so a truthy read here
8330
+ // means a full cycle is still between click and settle: refuse the
8331
+ // re-entry (a re-click while a query rule's XHR is in flight, or a
8332
+ // residual duplicate listener on an older bundle) instead of racing
8333
+ // two concurrent cycles against the same form state.
8334
+ var _latchFormId = $target.getAttribute('id');
8335
+ if (
8336
+ typeof(instance.$forms[_latchFormId]) != 'undefined'
8337
+ && /^true$/i.test(instance.$forms[_latchFormId].isSubmitting)
8338
+ ) {
8339
+ return;
8340
+ }
8341
+
8309
8342
  // getting fields & values
8310
8343
  var $fields = {}
8311
8344
  , fields = { '_length': 0 }
@@ -8472,7 +8505,20 @@ function ValidatorPlugin(rules, data, formId, culture) {
8472
8505
  evt = $submit['id'];
8473
8506
  }
8474
8507
 
8475
- if ( typeof(gina.events[evt]) == 'undefined' || gina.events[evt] != $submit.id ) {
8508
+ // #B333 — the guard used to test `gina.events[evt]` where `evt` is the
8509
+ // BUTTON id (`click.<uuid>`), a key nothing ever writes: `bindSubmitEl`
8510
+ // registers under the NAMESPACED name (`submit.<id>`). The test was
8511
+ // therefore always true and every extra pass over the same button (the
8512
+ // id-less double-collection fixed in `getOwnedElements`, a re-bind path)
8513
+ // stacked one more live listener -> one more full validate()+send() cycle
8514
+ // per click. Test the key that actually gets registered, against the id
8515
+ // the registry stores. (A trigger REPLACED in the DOM keeps the registry
8516
+ // key but loses the expando marker — the #B294 click-time gate re-binds
8517
+ // that case; this guard only has to stop same-node re-binds.)
8518
+ // was:
8519
+ // if ( typeof(gina.events[evt]) == 'undefined' || gina.events[evt] != $submit.id ) {
8520
+ var _submitEvt = ( /^submit\./i.test(evt) ) ? evt : 'submit.'+ evt;
8521
+ if ( typeof(gina.events[_submitEvt]) == 'undefined' || gina.events[_submitEvt] != $submit.id ) {
8476
8522
  bindSubmitEl(evt, $submit);
8477
8523
  }
8478
8524
 
@@ -8517,7 +8563,15 @@ function ValidatorPlugin(rules, data, formId, culture) {
8517
8563
  // }
8518
8564
  if ($formInstance && e.isTrusted) {
8519
8565
  var $registeredTrigger = document.getElementById($formInstance.submitTrigger) || null;
8520
- if ( isTriggerDisabled($registeredTrigger) ) {
8566
+ // #B346 — same carve-out as the click proxy's gate: when the ONLY
8567
+ // refusal reason is a query verdict still on the wire, refusing
8568
+ // here ate Enter-key and wrapped-label submits silently (nothing
8569
+ // committed to reveal). Let the pass run and wait for the settle;
8570
+ // every other refusal shape is unchanged.
8571
+ if (
8572
+ isTriggerDisabled($registeredTrigger)
8573
+ && !isAwaitingQueryVerdictOnly($registeredTrigger, $target, $formInstance)
8574
+ ) {
8521
8575
  cancelEvent(e);
8522
8576
  revealValidationState($formInstance);
8523
8577
  return false;
@@ -8538,12 +8592,19 @@ function ValidatorPlugin(rules, data, formId, culture) {
8538
8592
  // so the registered trigger is the best and only referent. Placed after the
8539
8593
  // disabled + defaultPrevented guards above, which both return first.
8540
8594
  // NB. the #B308 gesture gate above already cancelled any TRUSTED submit on
8541
- // a marked trigger, so this skip now guards the UNTRUSTED path: a
8542
- // programmatic submit on a marked form runs the fresh validate pass below
8543
- // and must not flash the trigger armed for the length of that pass.
8595
+ // a marked trigger (#B346 excepted: a pending-verdict-only refusal now
8596
+ // proceeds, and the arm below covers it via the same carve-out), so this
8597
+ // skip otherwise guards the UNTRUSTED path: a programmatic submit on a
8598
+ // marked form runs the fresh validate pass below and must not flash the
8599
+ // trigger armed for the length of that pass.
8544
8600
  if ($formInstance) {
8545
8601
  var $loadingTrigger = document.getElementById($formInstance.submitTrigger);
8546
- if ( !isTriggerDisabled($loadingTrigger) ) {
8602
+ // #B346 — a pending-verdict bypass proceeds to a real cycle, so it
8603
+ // gets the loading state too (#B247 parity with the click proxy).
8604
+ if (
8605
+ !isTriggerDisabled($loadingTrigger)
8606
+ || isAwaitingQueryVerdictOnly($loadingTrigger, $target, $formInstance)
8607
+ ) {
8547
8608
  armSubmitLoading($formInstance, $loadingTrigger);
8548
8609
  }
8549
8610
  }
@@ -8653,6 +8714,36 @@ function ValidatorPlugin(rules, data, formId, culture) {
8653
8714
  } else {
8654
8715
  rule = getRuleObjByName(id.replace(/\-/g, '.'))
8655
8716
  }
8717
+ // #B346 — this pass may proceed while an async query verdict is
8718
+ // still on the wire: the pending-aware gate above lets a trusted
8719
+ // gesture through, and a programmatic submit() never consulted
8720
+ // the gate at all. An un-latched async pass STARVES — with the
8721
+ // query field not declared last, its waiter's completion resolves
8722
+ // to the needsGlobalReValidation display-only work and never runs
8723
+ // this callback. Latch exactly as bindSubmitEl does, so the
8724
+ // latched completion dispatches (#B342) — and mirror the #B332
8725
+ // belt for the window this pass now enters: one cycle at a time.
8726
+ // The owned-field scan mirrors isAwaitingQueryVerdictOnly's
8727
+ // (kept inline THERE — its body literals are pinned); trigger
8728
+ // marks and recorded errors are deliberately not consulted here,
8729
+ // because they do not affect LATCH soundness: an invalid pass
8730
+ // completes through the errors branch and releases via the
8731
+ // rejected-validation release, a clean pass through the latched
8732
+ // dispatch and the send release.
8733
+ var _pendingSel = '[data-gina-form-validator-query-pending]';
8734
+ var _formDomId = $target.id || ( typeof($target.getAttribute) == 'function' ? $target.getAttribute('id') : null );
8735
+ var _safeFormDomId = ( _formDomId && typeof(CSS) != 'undefined' && typeof(CSS.escape) == 'function' ) ? CSS.escape(_formDomId) : _formDomId;
8736
+ var _awaitsQueryVerdict = (
8737
+ typeof($target.querySelector) == 'function' && $target.querySelector(_pendingSel)
8738
+ || _safeFormDomId && document.querySelector('[form="'+ _safeFormDomId +'"]'+ _pendingSel)
8739
+ ) ? true : false;
8740
+ if (_awaitsQueryVerdict) {
8741
+ if ( /^true$/i.test(instance.$forms[id].isSubmitting) ) {
8742
+ return false;
8743
+ }
8744
+ instance.$forms[id].isSubmitting = true;
8745
+ instance.$forms[id].isSending = false;
8746
+ }
8656
8747
  instance.$forms[id].isValidating = true;
8657
8748
  validate($target, fields, $fields, rule, function onSubmitValidation(result){
8658
8749
  instance.$forms[id].isValidating = false;
@@ -8663,6 +8754,12 @@ function ValidatorPlugin(rules, data, formId, culture) {
8663
8754
  // } else {
8664
8755
  // handleErrorsDisplay($target, result.error, result.data);
8665
8756
  if ( typeof(gina.events['submit.' + id]) != 'undefined' ) { // if `on('submit', cb)` is binded
8757
+ // #B346 — a consumer's own `on('submit')` handler owns
8758
+ // the rest of the cycle and may never reach send():
8759
+ // the latch cannot ride this dispatch (a stopping
8760
+ // handler would strand it — the #B342 lockout shape).
8761
+ // False -> false when this pass never latched.
8762
+ instance.$forms[id].isSubmitting = false;
8666
8763
  triggerEvent(gina, $target, 'submit.' + id, result);
8667
8764
  } else {
8668
8765
  triggerEvent(gina, $target, 'validate.' + id, result);
@@ -8726,8 +8823,10 @@ function ValidatorPlugin(rules, data, formId, culture) {
8726
8823
  * marks are removed the moment the form validates. The marker is the
8727
8824
  * framework's OWN channel — the trigger carries no ARIA disabled claim,
8728
8825
  * because it stays genuinely operable: a click on a gated trigger is
8729
- * answered by the display-only reveal (#B246), and `isValid()` remains the
8730
- * real send gate.
8826
+ * answered by the display-only reveal (#B246) — or, when the only blocker
8827
+ * is a query verdict still on the wire, proceeds into a submit pass that
8828
+ * waits for the settle (#B346) — and `isValid()` remains the real send
8829
+ * gate.
8731
8830
  *
8732
8831
  * `aria-disabled` is deliberately neither written nor cleared here: an
8733
8832
  * authored mark belongs to the author (the gates enforce it, and nothing
@@ -8861,6 +8960,122 @@ function ValidatorPlugin(rules, data, formId, culture) {
8861
8960
  );
8862
8961
  };
8863
8962
 
8963
+ /**
8964
+ * isAwaitingQueryVerdictOnly
8965
+ *
8966
+ * Tells whether a refused submit trigger is refused ONLY because a `query`
8967
+ * verdict is still pending — the one state the #B246 gate misclassifies.
8968
+ *
8969
+ * #B346 — `updateSubmitTriggerState()` gates on a boolean (`isFormValid`)
8970
+ * over a state that is really tri-valued: valid, invalid with COMMITTED
8971
+ * errors, and VERDICT-PENDING (an async `query` XHR on the wire, so the
8972
+ * form has no verdict yet). The #B246 refuse-and-reveal answer is only
8973
+ * coherent for the middle state — with nothing committed there is nothing
8974
+ * to reveal, and the click died silently (measured: wake path fully
8975
+ * healthy, `isSubmitting` never latched, zero sends inside the round-trip
8976
+ * window; the window scales with query LATENCY, not typing speed). When
8977
+ * this returns true the proxy lets the click run the normal submit cycle:
8978
+ * the pass latches and arms its waiter, the engine's in-flight branch
8979
+ * declines to duplicate the XHR, the pending settle wakes the waiter, and
8980
+ * the latched completion dispatches (#B342) — the exact flow live-check-off
8981
+ * forms already run.
8982
+ *
8983
+ * Deliberately NARROW — every arm fails toward the shipped refusal:
8984
+ * - the framework's own gated mark must be the ONLY refusal reason; an
8985
+ * AUTHORED `aria-disabled="true"` or a (non-IDL) native `disabled`
8986
+ * keeps refusing (#B312 — an author's claim is enforced, not
8987
+ * second-guessed);
8988
+ * - any COMMITTED error keeps refusing — refuse-and-reveal stays coherent
8989
+ * when there is something to reveal. Committed means a SETTLED field's:
8990
+ * the pending field itself may carry a provisional `query` entry staged
8991
+ * by the same-value fast path while its verdict is on the wire, and a
8992
+ * provisional entry is not a verdict (measured — counting it refused
8993
+ * every window this helper exists to recognize);
8994
+ * - an owned field must actually carry the in-flight query marker
8995
+ * (`data-gina-form-validator-query-pending`, set by the engine right
8996
+ * before `xhr.send()` and cleared at both settle chokepoints), looked up
8997
+ * inside the form AND among form-reassociated controls (`form="<id>"`).
8998
+ *
8999
+ * @param {object} $el - the clicked submit trigger (DOMObject)
9000
+ * @param {object} $formDom - the owning form element (DOMObject)
9001
+ * @param {object} [$formRecord] - the validator record (`instance.$forms[id]`)
9002
+ *
9003
+ * @returns {boolean} true when the only thing standing between the click
9004
+ * and a verdict is a query still on the wire
9005
+ *
9006
+ * @example
9007
+ * // gated trigger, clean form, uniqueness query in flight -> the click waits for the verdict
9008
+ * isAwaitingQueryVerdictOnly($button, $form, instance.$forms[$form.id]); // true
9009
+ *
9010
+ * @example
9011
+ * // same window but a sibling field has a committed error -> shipped refuse-and-reveal stands
9012
+ * isAwaitingQueryVerdictOnly($button, $form, instance.$forms[$form.id]); // false
9013
+ *
9014
+ * @inner
9015
+ */
9016
+ var isAwaitingQueryVerdictOnly = function($el, $formDom, $formRecord) {
9017
+ if ( !$el || typeof($el.getAttribute) != 'function' || !$formDom || typeof($formDom.querySelector) != 'function' ) {
9018
+ return false;
9019
+ }
9020
+ // the gated mark must be present, and be the ONLY firing arm
9021
+ if ( $el.getAttribute('data-gina-form-submit-gated') != 'true' ) {
9022
+ return false;
9023
+ }
9024
+ var nativeCounts = !('disabled' in $el);
9025
+ if (
9026
+ nativeCounts
9027
+ && $el.getAttribute('disabled') != null && $el.getAttribute('disabled') != 'false'
9028
+ ||
9029
+ $el.getAttribute('aria-disabled') == 'true'
9030
+ ) {
9031
+ return false;
9032
+ }
9033
+ // a query verdict must actually be pending for an owned field — inside
9034
+ // the form, or a form-reassociated control (`form="<id>"`)
9035
+ var pendingSel = '[data-gina-form-validator-query-pending]';
9036
+ var _id = $formDom.id || ( typeof($formDom.getAttribute) == 'function' ? $formDom.getAttribute('id') : null );
9037
+ var _safeId = ( _id && typeof(CSS) != 'undefined' && typeof(CSS.escape) == 'function' ) ? CSS.escape(_id) : _id;
9038
+ var hasPending = (
9039
+ $formDom.querySelector(pendingSel)
9040
+ || _safeId && document.querySelector('[form="'+ _safeId +'"]'+ pendingSel)
9041
+ ) ? true : false;
9042
+ if (!hasPending) {
9043
+ return false;
9044
+ }
9045
+ // COMMITTED errors keep the shipped refuse-and-reveal — but committed
9046
+ // means a SETTLED field's verdict. Measured (#B346): while a query is
9047
+ // on the wire, the same-value fast path stages a provisional `query`
9048
+ // entry under the PENDING field's own key in `$formRecord.errors`, so
9049
+ // a bare `errors.count() > 0` reads the very state this helper exists
9050
+ // to recognize as "no verdict yet" and refuses every window. Count an
9051
+ // erroring field only when it is NOT itself awaiting the verdict.
9052
+ if ( $formRecord && typeof($formRecord.errors) != 'undefined' && $formRecord.errors ) {
9053
+ for (var _fieldName in $formRecord.errors) {
9054
+ if ( !$formRecord.errors.hasOwnProperty(_fieldName) ) {
9055
+ continue;
9056
+ }
9057
+ var _fieldErrors = $formRecord.errors[_fieldName];
9058
+ var _isErroring = ( _fieldErrors && typeof(_fieldErrors.count) == 'function' )
9059
+ ? _fieldErrors.count() > 0
9060
+ : !!_fieldErrors;
9061
+ if (!_isErroring) {
9062
+ continue;
9063
+ }
9064
+ var _safeName = ( typeof(CSS) != 'undefined' && typeof(CSS.escape) == 'function' ) ? CSS.escape(_fieldName) : _fieldName;
9065
+ var _erroringIsPending = (
9066
+ $formDom.querySelector('[name="'+ _safeName +'"]'+ pendingSel)
9067
+ || _safeId && document.querySelector('[form="'+ _safeId +'"][name="'+ _safeName +'"]'+ pendingSel)
9068
+ ) ? true : false;
9069
+ if (!_erroringIsPending) {
9070
+ // a settled field carries a real verdict — there IS
9071
+ // something to reveal, the shipped refusal stands
9072
+ return false;
9073
+ }
9074
+ }
9075
+ }
9076
+ return true;
9077
+ };
9078
+
8864
9079
  /**
8865
9080
  * focusFirstInvalidField
8866
9081
  *
@@ -9391,6 +9606,14 @@ function ValidatorPlugin(rules, data, formId, culture) {
9391
9606
  , $asyncFieldId = null
9392
9607
  , asyncEvt = null
9393
9608
  , asyncCount = 0
9609
+ // #B332 — fields THIS pass armed an `asyncCompleted.<id>` waiter for.
9610
+ // The arm guard used to consult the global `gina.events` registry, which
9611
+ // cannot tell "this pass already armed it" (legitimate skip — a rules
9612
+ // re-application within one pass) from "a CONCURRENT pass armed it"
9613
+ // (must NOT skip: zeroing `asyncCount` there made this pass complete on
9614
+ // a sync-only verdict and send() fired while the query XHR was in
9615
+ // flight). Pass-local by construction, so only the first case matches.
9616
+ , armedAsyncFields = {}
9394
9617
  ;
9395
9618
 
9396
9619
 
@@ -9541,15 +9764,42 @@ function ValidatorPlugin(rules, data, formId, culture) {
9541
9764
  asyncEvt = 'asyncCompleted.'+ $asyncFieldId;
9542
9765
 
9543
9766
  var triggeredCount = 0, eventTriggered = false;
9544
- if ( typeof(gina.events[asyncEvt]) != 'undefined' ) {
9545
- console.debug('event `'+ asyncEvt +'` already added');
9546
- asyncCount = 0;
9547
- return;
9767
+ // #B332 — the arm guard is PASS-LOCAL now (see `armedAsyncFields`
9768
+ // at the declaration block). The old registry test saw only that
9769
+ // SOME pass had armed the field: when that pass was a concurrent
9770
+ // one (a duplicate submit listener — #B333, a re-click while the
9771
+ // query XHR was in flight, a live-check cycle beside a submit),
9772
+ // this pass zeroed ITS OWN pending-async counter and returned —
9773
+ // so its terminal block completed on the sync-only verdict, the
9774
+ // `validate.<id>` valid branch ran, and `send()` fired ~200ms
9775
+ // BEFORE the query answered (the "email already registered" error
9776
+ // rendered after the POST had already left). A foreign waiter must
9777
+ // not starve this pass of its own wake-up: waiters stack per pass
9778
+ // (each self-detaches on first fire below) and the ENGINE dedups
9779
+ // the wire via `ginaFormValidatorQueryPending` — no duplicate XHR.
9780
+ // was:
9781
+ // if ( typeof(gina.events[asyncEvt]) != 'undefined' ) {
9782
+ // console.debug('event `'+ asyncEvt +'` already added');
9783
+ // asyncCount = 0;
9784
+ // return;
9785
+ // }
9786
+ if ( typeof(armedAsyncFields[$asyncFieldId]) != 'undefined' ) {
9787
+ console.debug('event `'+ asyncEvt +'` already armed by this pass');
9788
+ continue;
9548
9789
  }
9790
+ armedAsyncFields[$asyncFieldId] = true;
9549
9791
  ++asyncCount;
9550
9792
  //console.debug('Adding listner '+asyncEvt);
9551
9793
  addListener(gina, $asyncField, asyncEvt, function onasyncCompleted(event) {
9552
9794
  event.preventDefault();
9795
+ // #B332/#B334 — one settle per waiter. Waiters stack per pass
9796
+ // now, so each must consume exactly one wake-up and leave the
9797
+ // node: the registry-only `removeListener` in the completion
9798
+ // block below carries no fn ref (a DOM no-op — it only deletes
9799
+ // the `gina.events` key), and a stale un-latched waiter used to
9800
+ // re-enter on every later settle of the same field, replaying a
9801
+ // finished pass's completion against a live one.
9802
+ event.currentTarget.removeEventListener(event.type, onasyncCompleted, false);
9553
9803
 
9554
9804
  triggeredCount++;
9555
9805
  --asyncCount;
@@ -9587,7 +9837,23 @@ function ValidatorPlugin(rules, data, formId, culture) {
9587
9837
  removeListener(gina, event.target, _asyncEvt);
9588
9838
 
9589
9839
  cb._data = d['toData']();
9590
- cb._errors = d['getErrors'](field);
9840
+ // #B337 — the completion payload must carry the WHOLE pass's
9841
+ // verdict, not the query field's slice. On a full-form submit
9842
+ // pass `d` holds every field, and scoping to `field` starved
9843
+ // the `validate.<id>` handler of every OTHER invalid field:
9844
+ // their errors were adjudicated (DOM attributes set) but never
9845
+ // rendered on the submit path, and the #A11Y1 first-invalid
9846
+ // focus loop could only ever land on the query field. It also
9847
+ // inverted the query-passes-but-another-field-invalid scene:
9848
+ // the scoped set read empty, the early-return branch was
9849
+ // skipped, and the validated dispatch went out with NO errors
9850
+ // at all. On a single-element live-check pass `d` holds one
9851
+ // field, so the no-arg call is byte-equivalent there — the
9852
+ // touched-field-only DISPLAY below keeps its `field` argument,
9853
+ // which is the live-check contract (§4c). The validated
9854
+ // listener's own fallback was already `d.getErrors()` no-arg.
9855
+ // was: cb._errors = d['getErrors'](field);
9856
+ cb._errors = d['getErrors']();
9591
9857
  // console.debug('query callbakc triggered ', cb._errors, '\nisValidating: ', instance.$forms[formId].isValidating);
9592
9858
  // update instance form errors
9593
9859
  if ( cb._errors && cb._errors.count() > 0) {
@@ -9624,11 +9890,51 @@ function ValidatorPlugin(rules, data, formId, culture) {
9624
9890
  }
9625
9891
 
9626
9892
 
9627
- triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
9893
+ // #B334 — dispatch where THIS pass's listener actually
9894
+ // sits: $formOrElement (the form on a full-form pass —
9895
+ // identical to $currentForm there — but the ELEMENT on
9896
+ // a single-element pass, whose listener could never
9897
+ // hear a form-dispatched event: bubbling goes up, not
9898
+ // down; it still bubbles up THROUGH the form so
9899
+ // consumer `on('validated')` bindings keep hearing it).
9900
+ // was: triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
9901
+ triggerEvent(gina, $formOrElement, 'validated.' + formId, cb);
9628
9902
  return;
9629
9903
  }
9630
9904
  }
9631
9905
 
9906
+ // #B342 — a SUBMIT pass has exactly ONE legitimate completer: this
9907
+ // waiter (post-#B338 the terminal block runs while asyncCount is
9908
+ // still > 0, so it can never dispatch for an async pass). On a
9909
+ // CLEAN pass the errors>0 branch above is skipped, and both
9910
+ // branches below are conditional — last-field matches only when
9911
+ // the query field happens to be declared last in the rule set
9912
+ // (minus `exclude:true` splices), and the live-check branch needs
9913
+ // `isValidating`, which a submit pass does not set. A clean submit
9914
+ // whose query field was NOT last exited this block having
9915
+ // dispatched NOTHING: `cb` starved, `validate.<id>` never fired,
9916
+ // no send ever left, and the #B332 `isSubmitting` latch stranded —
9917
+ // gating every later click until reload (measured live on a
9918
+ // consumer login form: value present, every field clean, click
9919
+ // swallowed). Pre-arc this hole was MASKED by the very bugs
9920
+ // #B332/#B333 removed: the duplicate pass's premature sync-only
9921
+ // completion was the accidental completer. A latched form means
9922
+ // this completion belongs to the submit cycle (live-check passes
9923
+ // hard-return while the latch is held), so dispatch it — display
9924
+ // work belongs to the `validate.<id>` handler's send/reject
9925
+ // branches, same as the errors>0 dispatch above.
9926
+ // #B346 note: waiters ARMED before the latch — live-check
9927
+ // passes mid-window, the reveal's own pass — also wake through
9928
+ // this branch once a pending-window gesture latches; each such
9929
+ // dispatch carries THAT waiter's own pass cb, and the #B334
9930
+ // own-pass listener filtering keeps every completion with its
9931
+ // own pass. NEW live-check passes still hard-return on the
9932
+ // latch.
9933
+ if ( /^true$/i.test(instance.$forms[formId].isSubmitting) ) {
9934
+ triggerEvent(gina, $formOrElement, 'validated.' + formId, cb);
9935
+ return;
9936
+ }
9937
+
9632
9938
  // is this the last or the only field to be validated ?
9633
9939
  var needsGlobalReValidation = false;
9634
9940
  if ( listedFields.length == 1 || listedFields[listedFields.length-1] == field) {
@@ -9663,7 +9969,9 @@ function ValidatorPlugin(rules, data, formId, culture) {
9663
9969
  handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
9664
9970
  updateSubmitTriggerState( $currentForm, isFormValid);
9665
9971
  }
9666
- triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
9972
+ // #B334 — same retarget as the completion branch above.
9973
+ // was: triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
9974
+ triggerEvent(gina, $formOrElement, 'validated.' + formId, cb);
9667
9975
  }
9668
9976
  // just update warning state
9669
9977
  else if (/^true$/i.test(instance.$forms[formId].isValidating) && listedFields.length > 1 && listedFields[listedFields.length-1] != field ) {
@@ -10437,10 +10745,33 @@ function ValidatorPlugin(rules, data, formId, culture) {
10437
10745
  }
10438
10746
 
10439
10747
 
10440
- if (isGFFCtx) {
10441
- addListener(gina, $formOrElement, evt, function(event) {
10748
+ // #B334 — three defects lived in this one registration:
10749
+ // (a) it registered for EVERY pass, but a cb-less pass never dispatches
10750
+ // `validated.<id>` (the terminal block returns the result object
10751
+ // instead) — its listener was pure accumulation;
10752
+ // (b) `event.detail` IS the DISPATCHING pass's callback, and the body ran
10753
+ // it unconditionally — so every stale listener replayed the dispatcher's
10754
+ // callback once (measured: two listeners -> one dispatch -> two
10755
+ // `validate.<id>` dispatches -> two send() calls for one click);
10756
+ // (c) the `removeListener` call in the body carries no fn ref, and
10757
+ // events.js then only deletes the registry key —
10758
+ // `removeEventListener(name, undefined)` detaches nothing, so every
10759
+ // pass's listener stayed on the node for the page's lifetime.
10760
+ // The listener now registers only when a callback exists, consumes ONLY its
10761
+ // own pass's dispatch (detail identity), and detaches itself on consumption
10762
+ // (a mid-dispatch removal also stops a not-yet-run duplicate per DOM spec).
10763
+ // was: if (isGFFCtx) {
10764
+ // addListener(gina, $formOrElement, evt, function(event) {
10765
+ if ( isGFFCtx && typeof(cb) === 'function' ) {
10766
+ addListener(gina, $formOrElement, evt, function onValidatedOwnPass(event) {
10442
10767
  event.preventDefault();
10443
10768
 
10769
+ if ( event.detail !== cb ) {
10770
+ // another pass's completion — not ours to consume
10771
+ return;
10772
+ }
10773
+ event.currentTarget.removeEventListener(event.type, onValidatedOwnPass, false);
10774
+
10444
10775
  if (!hasBeenValidated) {
10445
10776
  hasBeenValidated = true;
10446
10777
  hasParsedAllRules = false;