gina 0.5.11 → 0.5.12

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 (513) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +9 -0
  3. package/ROADMAP.md +1 -0
  4. package/bin/cli +2 -2
  5. package/framework/v0.5.12/VERSION +1 -0
  6. package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/js/gina.js +279 -59
  7. package/framework/v0.5.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js +577 -0
  8. package/framework/v0.5.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  9. package/framework/v0.5.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  10. package/framework/v0.5.12/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +9 -0
  11. package/framework/v0.5.12/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  12. package/framework/v0.5.12/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  13. package/framework/{v0.5.11 → v0.5.12}/core/config.js +20 -0
  14. package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.js +81 -11
  15. package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/validator/src/form-validator.js +130 -36
  16. package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/validator/src/main.js +91 -16
  17. package/framework/{v0.5.11 → v0.5.12}/core/server.js +67 -29
  18. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/restart.js +20 -11
  19. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/start.js +6 -0
  20. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/stop.js +5 -0
  21. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/restart.js +10 -3
  22. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/stop.js +7 -2
  23. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/helper.js +20 -2
  24. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/i18n/add.js +2 -2
  25. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/index.js +24 -5
  26. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/add.js +44 -10
  27. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/restart.js +4 -1
  28. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/start.js +4 -1
  29. package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/stop.js +4 -1
  30. package/framework/{v0.5.11 → v0.5.12}/lib/i18n/src/main.js +11 -4
  31. package/framework/{v0.5.11 → v0.5.12}/lib/nunjucks-filters/src/main.js +2 -2
  32. package/framework/{v0.5.11 → v0.5.12}/lib/shell.js +7 -4
  33. package/framework/{v0.5.11 → v0.5.12}/lib/swig-filters/src/main.js +2 -2
  34. package/framework/{v0.5.11 → v0.5.12}/package.json +1 -1
  35. package/gna.js +4 -4
  36. package/llms.txt +88 -103
  37. package/package.json +3 -3
  38. package/test-results/popin-dialog.runtime-data--0edb7--never-injects-the-raw-JSON-chromium/error-context.md +24 -0
  39. package/framework/v0.5.11/VERSION +0 -1
  40. package/framework/v0.5.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -573
  41. package/framework/v0.5.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  42. package/framework/v0.5.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  43. package/framework/v0.5.11/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -8
  44. package/framework/v0.5.11/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  45. package/framework/v0.5.11/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  46. /package/framework/{v0.5.11 → v0.5.12}/AUTHORS +0 -0
  47. /package/framework/{v0.5.11 → v0.5.12}/LICENSE +0 -0
  48. /package/framework/{v0.5.11 → v0.5.12}/core/asset/html/nolayout.html +0 -0
  49. /package/framework/{v0.5.11 → v0.5.12}/core/asset/html/static.html +0 -0
  50. /package/framework/{v0.5.11 → v0.5.12}/core/asset/img/android-chrome-192x192.png +0 -0
  51. /package/framework/{v0.5.11 → v0.5.12}/core/asset/img/android-chrome-512x512.png +0 -0
  52. /package/framework/{v0.5.11 → v0.5.12}/core/asset/img/apple-touch-icon.png +0 -0
  53. /package/framework/{v0.5.11 → v0.5.12}/core/asset/img/favicon-16x16.png +0 -0
  54. /package/framework/{v0.5.11 → v0.5.12}/core/asset/img/favicon-32x32.png +0 -0
  55. /package/framework/{v0.5.11 → v0.5.12}/core/asset/img/favicon.ico +0 -0
  56. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/README.md +0 -0
  57. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  58. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  59. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  60. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  61. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  62. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  63. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  64. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  65. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  66. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  67. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  68. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  69. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  70. /package/framework/{v0.5.11 → v0.5.12}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  71. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/ai/index.js +0 -0
  72. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/ai/lib/connector.js +0 -0
  73. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/index.js +0 -0
  74. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/lib/connector.js +0 -0
  75. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  76. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  77. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/lib/n1ql.js +0 -0
  78. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/lib/session-store.js +0 -0
  79. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  80. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  81. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/mongodb/index.js +0 -0
  82. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/mongodb/lib/connector.js +0 -0
  83. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/mongodb/lib/job-store.js +0 -0
  84. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  85. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/mongodb/lib/session-store.js +0 -0
  86. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/mysql/index.js +0 -0
  87. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/mysql/lib/connector.js +0 -0
  88. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/postgresql/index.js +0 -0
  89. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/postgresql/lib/connector.js +0 -0
  90. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/redis/index.js +0 -0
  91. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/redis/lib/connector.js +0 -0
  92. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/redis/lib/job-store.js +0 -0
  93. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/redis/lib/session-store.js +0 -0
  94. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/scylladb/index.js +0 -0
  95. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/scylladb/lib/connector.js +0 -0
  96. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/scylladb/lib/session-store.js +0 -0
  97. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/sql-parser.js +0 -0
  98. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/sqlite/index.js +0 -0
  99. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/sqlite/lib/connector.js +0 -0
  100. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/sqlite/lib/job-store.js +0 -0
  101. /package/framework/{v0.5.11 → v0.5.12}/core/connectors/sqlite/lib/session-store.js +0 -0
  102. /package/framework/{v0.5.11 → v0.5.12}/core/content.encoding +0 -0
  103. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.framework.js +0 -0
  104. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.render-json.js +0 -0
  105. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.render-nunjucks-async.js +0 -0
  106. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.render-nunjucks.js +0 -0
  107. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.render-stream.js +0 -0
  108. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.render-swig-async.js +0 -0
  109. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.render-swig.js +0 -0
  110. /package/framework/{v0.5.11 → v0.5.12}/core/controller/controller.render-v1.js +0 -0
  111. /package/framework/{v0.5.11 → v0.5.12}/core/controller/index.js +0 -0
  112. /package/framework/{v0.5.11 → v0.5.12}/core/controller/inspector-window-emit.js +0 -0
  113. /package/framework/{v0.5.11 → v0.5.12}/core/deps/busboy-1.6.0/LICENSE +0 -0
  114. /package/framework/{v0.5.11 → v0.5.12}/core/deps/busboy-1.6.0/README.md +0 -0
  115. /package/framework/{v0.5.11 → v0.5.12}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  116. /package/framework/{v0.5.11 → v0.5.12}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  117. /package/framework/{v0.5.11 → v0.5.12}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  118. /package/framework/{v0.5.11 → v0.5.12}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  119. /package/framework/{v0.5.11 → v0.5.12}/core/deps/busboy-1.6.0/package.json +0 -0
  120. /package/framework/{v0.5.11 → v0.5.12}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  121. /package/framework/{v0.5.11 → v0.5.12}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  122. /package/framework/{v0.5.11 → v0.5.12}/core/deps/streamsearch-1.1.0/package.json +0 -0
  123. /package/framework/{v0.5.11 → v0.5.12}/core/dev/index.js +0 -0
  124. /package/framework/{v0.5.11 → v0.5.12}/core/dev/lib/class.js +0 -0
  125. /package/framework/{v0.5.11 → v0.5.12}/core/dev/lib/factory.js +0 -0
  126. /package/framework/{v0.5.11 → v0.5.12}/core/dev/lib/tools.js +0 -0
  127. /package/framework/{v0.5.11 → v0.5.12}/core/gna.js +0 -0
  128. /package/framework/{v0.5.11 → v0.5.12}/core/locales/README.md +0 -0
  129. /package/framework/{v0.5.11 → v0.5.12}/core/locales/currency.json +0 -0
  130. /package/framework/{v0.5.11 → v0.5.12}/core/locales/dist/language/en.json +0 -0
  131. /package/framework/{v0.5.11 → v0.5.12}/core/locales/dist/language/fr.json +0 -0
  132. /package/framework/{v0.5.11 → v0.5.12}/core/locales/dist/region/en.json +0 -0
  133. /package/framework/{v0.5.11 → v0.5.12}/core/locales/dist/region/fr.json +0 -0
  134. /package/framework/{v0.5.11 → v0.5.12}/core/locales/index.js +0 -0
  135. /package/framework/{v0.5.11 → v0.5.12}/core/mime.types +0 -0
  136. /package/framework/{v0.5.11 → v0.5.12}/core/model/entity.js +0 -0
  137. /package/framework/{v0.5.11 → v0.5.12}/core/model/index.js +0 -0
  138. /package/framework/{v0.5.11 → v0.5.12}/core/model/template/entityFactory.js +0 -0
  139. /package/framework/{v0.5.11 → v0.5.12}/core/model/template/index.js +0 -0
  140. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/README.md +0 -0
  141. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/index.js +0 -0
  142. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/csrf/README.md +0 -0
  143. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/csrf/package.json +0 -0
  144. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/csrf/src/main.js +0 -0
  145. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/README.md +0 -0
  146. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/coep/README.md +0 -0
  147. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/coep/package.json +0 -0
  148. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  149. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/coop/README.md +0 -0
  150. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/coop/package.json +0 -0
  151. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  152. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/corp/README.md +0 -0
  153. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/corp/package.json +0 -0
  154. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  155. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/csp/README.md +0 -0
  156. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/csp/package.json +0 -0
  157. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  158. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  159. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  160. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  161. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  162. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  163. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  164. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  165. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  166. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  167. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/package.json +0 -0
  168. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  169. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  170. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  171. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/src/main.js +0 -0
  172. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  173. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  174. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  175. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  176. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  177. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  178. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  179. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  180. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  181. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  182. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  183. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  184. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  185. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  186. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  187. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  188. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  189. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  190. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/session/README.md +0 -0
  191. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/session/package.json +0 -0
  192. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/session/src/main.js +0 -0
  193. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/storage/README.md +0 -0
  194. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/storage/build.json +0 -0
  195. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/storage/package.json +0 -0
  196. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/storage/src/main.js +0 -0
  197. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/validator/README.md +0 -0
  198. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/validator/build.json +0 -0
  199. /package/framework/{v0.5.11 → v0.5.12}/core/plugins/lib/validator/package.json +0 -0
  200. /package/framework/{v0.5.11 → v0.5.12}/core/router.js +0 -0
  201. /package/framework/{v0.5.11 → v0.5.12}/core/server.express.js +0 -0
  202. /package/framework/{v0.5.11 → v0.5.12}/core/server.isaac.js +0 -0
  203. /package/framework/{v0.5.11 → v0.5.12}/core/status.codes +0 -0
  204. /package/framework/{v0.5.11 → v0.5.12}/core/template/_gitignore +0 -0
  205. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/config/app.json +0 -0
  206. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  207. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/config/routing.json +0 -0
  208. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/config/settings.json +0 -0
  209. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  210. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/config/templates.json +0 -0
  211. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  212. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  213. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  214. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  215. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/index.js +0 -0
  216. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle/locales/en.json +0 -0
  217. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  218. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  219. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  220. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  221. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  222. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  223. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  224. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/readme.md +0 -0
  225. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_public/sw.js +0 -0
  226. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  227. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  228. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  229. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  230. /package/framework/{v0.5.11 → v0.5.12}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  231. /package/framework/{v0.5.11 → v0.5.12}/core/template/command/gina.bat.tpl +0 -0
  232. /package/framework/{v0.5.11 → v0.5.12}/core/template/command/gina.tpl +0 -0
  233. /package/framework/{v0.5.11 → v0.5.12}/core/template/conf/env.json +0 -0
  234. /package/framework/{v0.5.11 → v0.5.12}/core/template/conf/manifest.json +0 -0
  235. /package/framework/{v0.5.11 → v0.5.12}/core/template/conf/package.json +0 -0
  236. /package/framework/{v0.5.11 → v0.5.12}/core/template/conf/settings.json +0 -0
  237. /package/framework/{v0.5.11 → v0.5.12}/core/template/conf/statics.json +0 -0
  238. /package/framework/{v0.5.11 → v0.5.12}/core/template/conf/templates.json +0 -0
  239. /package/framework/{v0.5.11 → v0.5.12}/core/template/error/client/json/401.json +0 -0
  240. /package/framework/{v0.5.11 → v0.5.12}/core/template/error/client/json/403.json +0 -0
  241. /package/framework/{v0.5.11 → v0.5.12}/core/template/error/client/json/404.json +0 -0
  242. /package/framework/{v0.5.11 → v0.5.12}/core/template/error/server/html/50x.html +0 -0
  243. /package/framework/{v0.5.11 → v0.5.12}/core/template/error/server/json/500.json +0 -0
  244. /package/framework/{v0.5.11 → v0.5.12}/core/template/error/server/json/503.json +0 -0
  245. /package/framework/{v0.5.11 → v0.5.12}/core/template/extensions/logger/config.json +0 -0
  246. /package/framework/{v0.5.11 → v0.5.12}/helpers/console.js +0 -0
  247. /package/framework/{v0.5.11 → v0.5.12}/helpers/context.js +0 -0
  248. /package/framework/{v0.5.11 → v0.5.12}/helpers/data/LICENSE +0 -0
  249. /package/framework/{v0.5.11 → v0.5.12}/helpers/data/README.md +0 -0
  250. /package/framework/{v0.5.11 → v0.5.12}/helpers/data/package.json +0 -0
  251. /package/framework/{v0.5.11 → v0.5.12}/helpers/data/src/main.js +0 -0
  252. /package/framework/{v0.5.11 → v0.5.12}/helpers/dateFormat.js +0 -0
  253. /package/framework/{v0.5.11 → v0.5.12}/helpers/index.js +0 -0
  254. /package/framework/{v0.5.11 → v0.5.12}/helpers/json/LICENSE +0 -0
  255. /package/framework/{v0.5.11 → v0.5.12}/helpers/json/README.md +0 -0
  256. /package/framework/{v0.5.11 → v0.5.12}/helpers/json/package.json +0 -0
  257. /package/framework/{v0.5.11 → v0.5.12}/helpers/json/src/main.js +0 -0
  258. /package/framework/{v0.5.11 → v0.5.12}/helpers/path.js +0 -0
  259. /package/framework/{v0.5.11 → v0.5.12}/helpers/plugins/README.md +0 -0
  260. /package/framework/{v0.5.11 → v0.5.12}/helpers/plugins/package.json +0 -0
  261. /package/framework/{v0.5.11 → v0.5.12}/helpers/plugins/src/api-error.js +0 -0
  262. /package/framework/{v0.5.11 → v0.5.12}/helpers/plugins/src/main.js +0 -0
  263. /package/framework/{v0.5.11 → v0.5.12}/helpers/prototypes.js +0 -0
  264. /package/framework/{v0.5.11 → v0.5.12}/helpers/task.js +0 -0
  265. /package/framework/{v0.5.11 → v0.5.12}/helpers/text.js +0 -0
  266. /package/framework/{v0.5.11 → v0.5.12}/lib/admin/package.json +0 -0
  267. /package/framework/{v0.5.11 → v0.5.12}/lib/admin/src/main.js +0 -0
  268. /package/framework/{v0.5.11 → v0.5.12}/lib/archiver/README.md +0 -0
  269. /package/framework/{v0.5.11 → v0.5.12}/lib/archiver/build.json +0 -0
  270. /package/framework/{v0.5.11 → v0.5.12}/lib/archiver/package.json +0 -0
  271. /package/framework/{v0.5.11 → v0.5.12}/lib/archiver/src/dep/jszip.min.js +0 -0
  272. /package/framework/{v0.5.11 → v0.5.12}/lib/archiver/src/main.js +0 -0
  273. /package/framework/{v0.5.11 → v0.5.12}/lib/async/package.json +0 -0
  274. /package/framework/{v0.5.11 → v0.5.12}/lib/async/src/main.js +0 -0
  275. /package/framework/{v0.5.11 → v0.5.12}/lib/cache/README.md +0 -0
  276. /package/framework/{v0.5.11 → v0.5.12}/lib/cache/build.json +0 -0
  277. /package/framework/{v0.5.11 → v0.5.12}/lib/cache/package.json +0 -0
  278. /package/framework/{v0.5.11 → v0.5.12}/lib/cache/src/main.js +0 -0
  279. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/aliases.json +0 -0
  280. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/add.js +0 -0
  281. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/arguments.json +0 -0
  282. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/build.js +0 -0
  283. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/copy.js +0 -0
  284. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/cp.js +0 -0
  285. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/help.js +0 -0
  286. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/help.txt +0 -0
  287. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  288. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/list.js +0 -0
  289. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/man.js +0 -0
  290. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/mcp-start.js +0 -0
  291. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/mcp.js +0 -0
  292. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/oas.js +0 -0
  293. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/openapi.js +0 -0
  294. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/remove.js +0 -0
  295. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/rename.js +0 -0
  296. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/rm.js +0 -0
  297. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/bundle/status.js +0 -0
  298. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/cache/stats.js +0 -0
  299. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/add.js +0 -0
  300. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/arguments.json +0 -0
  301. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/help.js +0 -0
  302. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/help.txt +0 -0
  303. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/infer.js +0 -0
  304. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/list.js +0 -0
  305. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/migrate.js +0 -0
  306. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/models.js +0 -0
  307. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/remove.js +0 -0
  308. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/rm.js +0 -0
  309. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/connector/test.js +0 -0
  310. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/add.js +0 -0
  311. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/get.js +0 -0
  312. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/help.js +0 -0
  313. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/help.txt +0 -0
  314. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/link-dev.js +0 -0
  315. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/list.js +0 -0
  316. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/remove.js +0 -0
  317. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/rm.js +0 -0
  318. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/set.js +0 -0
  319. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/unset.js +0 -0
  320. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/env/use.js +0 -0
  321. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/add.js +0 -0
  322. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/arguments.json +0 -0
  323. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/build.js +0 -0
  324. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/dot.js +0 -0
  325. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/get.js +0 -0
  326. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/help.js +0 -0
  327. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/help.txt +0 -0
  328. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/init.js +0 -0
  329. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/link-node-modules.js +0 -0
  330. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/link.js +0 -0
  331. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/list.js +0 -0
  332. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/man.js +0 -0
  333. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/msg.json +0 -0
  334. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/open.js +0 -0
  335. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/remove.js +0 -0
  336. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/reset.js +0 -0
  337. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/set.js +0 -0
  338. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/start.js +0 -0
  339. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/status.js +0 -0
  340. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/tail.js +0 -0
  341. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/update.js +0 -0
  342. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/framework/version.js +0 -0
  343. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/gina-dev.1.md +0 -0
  344. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/gina-framework.1.md +0 -0
  345. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/gina.1.md +0 -0
  346. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/i18n/arguments.json +0 -0
  347. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/i18n/export.js +0 -0
  348. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/i18n/help.js +0 -0
  349. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/i18n/help.txt +0 -0
  350. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/i18n/import.js +0 -0
  351. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/i18n/scan.js +0 -0
  352. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/image/arguments.json +0 -0
  353. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/image/build.js +0 -0
  354. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/image/help.js +0 -0
  355. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/image/help.txt +0 -0
  356. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/image/man.js +0 -0
  357. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/inspector/help.js +0 -0
  358. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/inspector/help.txt +0 -0
  359. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/inspector/open.js +0 -0
  360. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/man-render.js +0 -0
  361. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/minion/arguments.json +0 -0
  362. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/minion/help.js +0 -0
  363. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/minion/help.txt +0 -0
  364. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/minion/kill.js +0 -0
  365. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/minion/list.js +0 -0
  366. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/msg.json +0 -0
  367. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/port/help.js +0 -0
  368. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/port/help.txt +0 -0
  369. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/port/inc/scan.js +0 -0
  370. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/port/list.js +0 -0
  371. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/port/reset.js +0 -0
  372. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/port/set.js +0 -0
  373. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/arguments.json +0 -0
  374. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/backup.js +0 -0
  375. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/build.js +0 -0
  376. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/help.js +0 -0
  377. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/help.txt +0 -0
  378. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/import.js +0 -0
  379. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/list.js +0 -0
  380. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/man.js +0 -0
  381. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/move.js +0 -0
  382. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/remove.js +0 -0
  383. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/rename.js +0 -0
  384. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/restore.js +0 -0
  385. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/rm.js +0 -0
  386. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/project/status.js +0 -0
  387. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/protocol/arguments.json +0 -0
  388. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/protocol/help.js +0 -0
  389. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/protocol/help.txt +0 -0
  390. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/protocol/list.js +0 -0
  391. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/protocol/remove.js +0 -0
  392. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/protocol/set.js +0 -0
  393. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/add.js +0 -0
  394. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/help.js +0 -0
  395. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/help.txt +0 -0
  396. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/link-local.js +0 -0
  397. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/link-production.js +0 -0
  398. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/list.js +0 -0
  399. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/remove.js +0 -0
  400. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/rm.js +0 -0
  401. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/scope/use.js +0 -0
  402. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/secrets/arguments.json +0 -0
  403. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/secrets/check.js +0 -0
  404. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/secrets/help.js +0 -0
  405. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/secrets/help.txt +0 -0
  406. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/secrets/scan.js +0 -0
  407. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/service/help.js +0 -0
  408. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/service/help.txt +0 -0
  409. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/service/list.js +0 -0
  410. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/service/man.js +0 -0
  411. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/service/start.js +0 -0
  412. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd/view/add.js +0 -0
  413. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd-status-format/package.json +0 -0
  414. /package/framework/{v0.5.11 → v0.5.12}/lib/cmd-status-format/src/main.js +0 -0
  415. /package/framework/{v0.5.11 → v0.5.12}/lib/collection/README.md +0 -0
  416. /package/framework/{v0.5.11 → v0.5.12}/lib/collection/build.json +0 -0
  417. /package/framework/{v0.5.11 → v0.5.12}/lib/collection/package.json +0 -0
  418. /package/framework/{v0.5.11 → v0.5.12}/lib/collection/src/main.js +0 -0
  419. /package/framework/{v0.5.11 → v0.5.12}/lib/config.js +0 -0
  420. /package/framework/{v0.5.11 → v0.5.12}/lib/connector-config/package.json +0 -0
  421. /package/framework/{v0.5.11 → v0.5.12}/lib/connector-config/src/main.js +0 -0
  422. /package/framework/{v0.5.11 → v0.5.12}/lib/connector-registry/package.json +0 -0
  423. /package/framework/{v0.5.11 → v0.5.12}/lib/connector-registry/src/main.js +0 -0
  424. /package/framework/{v0.5.11 → v0.5.12}/lib/cron/README.md +0 -0
  425. /package/framework/{v0.5.11 → v0.5.12}/lib/cron/package.json +0 -0
  426. /package/framework/{v0.5.11 → v0.5.12}/lib/cron/src/main.js +0 -0
  427. /package/framework/{v0.5.11 → v0.5.12}/lib/domain/LICENSE +0 -0
  428. /package/framework/{v0.5.11 → v0.5.12}/lib/domain/README.md +0 -0
  429. /package/framework/{v0.5.11 → v0.5.12}/lib/domain/package.json +0 -0
  430. /package/framework/{v0.5.11 → v0.5.12}/lib/domain/src/main.js +0 -0
  431. /package/framework/{v0.5.11 → v0.5.12}/lib/generator/index.js +0 -0
  432. /package/framework/{v0.5.11 → v0.5.12}/lib/i18n/package.json +0 -0
  433. /package/framework/{v0.5.11 → v0.5.12}/lib/image-build/package.json +0 -0
  434. /package/framework/{v0.5.11 → v0.5.12}/lib/image-build/src/main.js +0 -0
  435. /package/framework/{v0.5.11 → v0.5.12}/lib/index.js +0 -0
  436. /package/framework/{v0.5.11 → v0.5.12}/lib/inherits/LICENSE +0 -0
  437. /package/framework/{v0.5.11 → v0.5.12}/lib/inherits/README.md +0 -0
  438. /package/framework/{v0.5.11 → v0.5.12}/lib/inherits/package.json +0 -0
  439. /package/framework/{v0.5.11 → v0.5.12}/lib/inherits/src/main.js +0 -0
  440. /package/framework/{v0.5.11 → v0.5.12}/lib/inspector-events/package.json +0 -0
  441. /package/framework/{v0.5.11 → v0.5.12}/lib/inspector-events/src/main.js +0 -0
  442. /package/framework/{v0.5.11 → v0.5.12}/lib/inspector-redact/package.json +0 -0
  443. /package/framework/{v0.5.11 → v0.5.12}/lib/inspector-redact/src/main.js +0 -0
  444. /package/framework/{v0.5.11 → v0.5.12}/lib/instrument/package.json +0 -0
  445. /package/framework/{v0.5.11 → v0.5.12}/lib/instrument/src/main.js +0 -0
  446. /package/framework/{v0.5.11 → v0.5.12}/lib/job/package.json +0 -0
  447. /package/framework/{v0.5.11 → v0.5.12}/lib/job/src/main.js +0 -0
  448. /package/framework/{v0.5.11 → v0.5.12}/lib/job-store.js +0 -0
  449. /package/framework/{v0.5.11 → v0.5.12}/lib/json-config-header/package.json +0 -0
  450. /package/framework/{v0.5.11 → v0.5.12}/lib/json-config-header/src/main.js +0 -0
  451. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/README.md +0 -0
  452. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/package.json +0 -0
  453. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/containers/default/index.js +0 -0
  454. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/containers/file/index.js +0 -0
  455. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  456. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  457. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/containers/mq/index.js +0 -0
  458. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/containers/mq/listener.js +0 -0
  459. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/containers/mq/speaker.js +0 -0
  460. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/helper.js +0 -0
  461. /package/framework/{v0.5.11 → v0.5.12}/lib/logger/src/main.js +0 -0
  462. /package/framework/{v0.5.11 → v0.5.12}/lib/math/index.js +0 -0
  463. /package/framework/{v0.5.11 → v0.5.12}/lib/mcp-dispatch/package.json +0 -0
  464. /package/framework/{v0.5.11 → v0.5.12}/lib/mcp-dispatch/src/main.js +0 -0
  465. /package/framework/{v0.5.11 → v0.5.12}/lib/mcp-http/package.json +0 -0
  466. /package/framework/{v0.5.11 → v0.5.12}/lib/mcp-http/src/main.js +0 -0
  467. /package/framework/{v0.5.11 → v0.5.12}/lib/mcp-server/package.json +0 -0
  468. /package/framework/{v0.5.11 → v0.5.12}/lib/mcp-server/src/main.js +0 -0
  469. /package/framework/{v0.5.11 → v0.5.12}/lib/merge/README.md +0 -0
  470. /package/framework/{v0.5.11 → v0.5.12}/lib/merge/package.json +0 -0
  471. /package/framework/{v0.5.11 → v0.5.12}/lib/merge/src/main.js +0 -0
  472. /package/framework/{v0.5.11 → v0.5.12}/lib/metrics/package.json +0 -0
  473. /package/framework/{v0.5.11 → v0.5.12}/lib/metrics/src/main.js +0 -0
  474. /package/framework/{v0.5.11 → v0.5.12}/lib/model.js +0 -0
  475. /package/framework/{v0.5.11 → v0.5.12}/lib/nunjucks-filters/README.md +0 -0
  476. /package/framework/{v0.5.11 → v0.5.12}/lib/nunjucks-filters/package.json +0 -0
  477. /package/framework/{v0.5.11 → v0.5.12}/lib/nunjucks-resolver/package.json +0 -0
  478. /package/framework/{v0.5.11 → v0.5.12}/lib/nunjucks-resolver/src/main.js +0 -0
  479. /package/framework/{v0.5.11 → v0.5.12}/lib/proc.js +0 -0
  480. /package/framework/{v0.5.11 → v0.5.12}/lib/routing/README.md +0 -0
  481. /package/framework/{v0.5.11 → v0.5.12}/lib/routing/build.json +0 -0
  482. /package/framework/{v0.5.11 → v0.5.12}/lib/routing/package.json +0 -0
  483. /package/framework/{v0.5.11 → v0.5.12}/lib/routing/src/main.js +0 -0
  484. /package/framework/{v0.5.11 → v0.5.12}/lib/routing/src/radix.js +0 -0
  485. /package/framework/{v0.5.11 → v0.5.12}/lib/routing-introspect/package.json +0 -0
  486. /package/framework/{v0.5.11 → v0.5.12}/lib/routing-introspect/src/main.js +0 -0
  487. /package/framework/{v0.5.11 → v0.5.12}/lib/secrets/package.json +0 -0
  488. /package/framework/{v0.5.11 → v0.5.12}/lib/secrets/src/backends/env.js +0 -0
  489. /package/framework/{v0.5.11 → v0.5.12}/lib/secrets/src/main.js +0 -0
  490. /package/framework/{v0.5.11 → v0.5.12}/lib/session-store.js +0 -0
  491. /package/framework/{v0.5.11 → v0.5.12}/lib/state.js +0 -0
  492. /package/framework/{v0.5.11 → v0.5.12}/lib/swig-filters/README.md +0 -0
  493. /package/framework/{v0.5.11 → v0.5.12}/lib/swig-filters/package.json +0 -0
  494. /package/framework/{v0.5.11 → v0.5.12}/lib/swig-resolver/package.json +0 -0
  495. /package/framework/{v0.5.11 → v0.5.12}/lib/swig-resolver/src/main.js +0 -0
  496. /package/framework/{v0.5.11 → v0.5.12}/lib/template-loaders/package.json +0 -0
  497. /package/framework/{v0.5.11 → v0.5.12}/lib/template-loaders/src/loaders/http.js +0 -0
  498. /package/framework/{v0.5.11 → v0.5.12}/lib/template-loaders/src/loaders/memory.js +0 -0
  499. /package/framework/{v0.5.11 → v0.5.12}/lib/template-loaders/src/main.js +0 -0
  500. /package/framework/{v0.5.11 → v0.5.12}/lib/url/README.md +0 -0
  501. /package/framework/{v0.5.11 → v0.5.12}/lib/url/index.js +0 -0
  502. /package/framework/{v0.5.11 → v0.5.12}/lib/url/routing.json +0 -0
  503. /package/framework/{v0.5.11 → v0.5.12}/lib/uuid/package.json +0 -0
  504. /package/framework/{v0.5.11 → v0.5.12}/lib/uuid/src/main.js +0 -0
  505. /package/framework/{v0.5.11 → v0.5.12}/lib/validator.js +0 -0
  506. /package/framework/{v0.5.11 → v0.5.12}/lib/watcher/package.json +0 -0
  507. /package/framework/{v0.5.11 → v0.5.12}/lib/watcher/src/main.js +0 -0
  508. /package/framework/{v0.5.11 → v0.5.12}/lib/ws-framing/package.json +0 -0
  509. /package/framework/{v0.5.11 → v0.5.12}/lib/ws-framing/src/main.js +0 -0
  510. /package/framework/{v0.5.11 → v0.5.12}/lib/ws-query/package.json +0 -0
  511. /package/framework/{v0.5.11 → v0.5.12}/lib/ws-query/src/main.js +0 -0
  512. /package/framework/{v0.5.11 → v0.5.12}/lib/ws-session/package.json +0 -0
  513. /package/framework/{v0.5.11 → v0.5.12}/lib/ws-session/src/main.js +0 -0
@@ -2854,8 +2854,12 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
2854
2854
  * @param {object} [ $fields ] - isGFFCtx only
2855
2855
  * @param {object} [ xhrOptions ] - isGFFCtx only
2856
2856
  * @param {object} [ fieldsSet ] - isGFFCtx only; required for when ginaFormLiveCheckEnabled
2857
+ * @param {string} [ culture ] - !isGFFCtx (server) only; per-request culture (e.g. "fr_FR").
2858
+ * When a string, built-in rule labels resolve from the bundle catalog's
2859
+ * `_validator.<rule>` namespace (catalog wins per key, English defaults fill).
2860
+ * A non-string (e.g. the routing-mode rule object) is ignored by the overlay guard.
2857
2861
  * */
2858
- function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
2862
+ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
2859
2863
 
2860
2864
  var isGFFCtx = ( ( typeof(module) !== 'undefined' ) && module.exports ) ? false : true;
2861
2865
 
@@ -2866,6 +2870,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
2866
2870
  var helpers = (isGFFCtx) ? {} : require('../../../../../helpers');
2867
2871
  var dateFormat = (isGFFCtx) ? require('helpers/dateFormat') : helpers.dateFormat;
2868
2872
  var routing = (isGFFCtx) ? require('lib/routing') : require('../../../../../lib/routing');
2873
+ // #i18n (server only) - bundle catalog access for built-in-label localization.
2874
+ var i18n = (isGFFCtx) ? null : require('../../../../../lib/i18n');
2869
2875
 
2870
2876
  /**
2871
2877
  * #CSRF2 follow-up — read the gina-csrf-token cookie set by the Csrf plugin.
@@ -2957,7 +2963,15 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
2957
2963
  'excluded': []
2958
2964
  };
2959
2965
 
2960
- local.errorLabels = {
2966
+ // Built-in rule labels default to English. When the browser has a negotiated
2967
+ // culture on `gina.config.culture` AND the app registered per-culture overrides
2968
+ // via `gina.validator.setErrorLabels()`, overlay that culture's labels over the
2969
+ // English defaults (app label wins per key, English fills gaps — same merge
2970
+ // direction as `setErrorLabels()` below). Fallback: exact culture (`fr_FR`) ->
2971
+ // base language (`fr`) -> English. Server-side (`!isGFFCtx`) and when nothing is
2972
+ // registered, English is used verbatim. A per-field/rule `error` still wins over
2973
+ // all of this (see `this.error || local.errorLabels[...]` at each rule).
2974
+ var _defaultErrorLabels = {
2961
2975
  'is': 'Condition not satisfied',
2962
2976
  'isEmail': 'A valid email is required',
2963
2977
  'isRequired': 'Cannot be left empty',
@@ -2985,6 +2999,63 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
2985
2999
  'isApiError': 'Condition not satisfied',
2986
3000
  'isInList': 'Must be one of: %s'
2987
3001
  };
3002
+ local.errorLabels = _defaultErrorLabels;
3003
+ // #i18n (server) — resolve built-in rule labels from the bundle catalog's
3004
+ // `_validator.<rule>` namespace for the negotiated `culture`. Mirrors the client
3005
+ // overlay below (catalog wins per key, English defaults fill gaps — target-wins
3006
+ // merge). Existence-guarded via i18n.resolveKey (undefined on miss, never `t()`
3007
+ // which echoes the raw key). A per-field/rule `error` still wins (see
3008
+ // `this.error || local.errorLabels[...]` at each rule).
3009
+ if ( !isGFFCtx && i18n && typeof(culture) === 'string' && culture ) {
3010
+ var _vBundle = getContext('bundle');
3011
+ if (_vBundle) {
3012
+ var _vChain = i18n.walkFallback(culture), _vNode = null;
3013
+ for (var _vi = 0; _vi < _vChain.length; _vi++) {
3014
+ var _vCat = i18n.getCatalog(_vBundle, _vChain[_vi]);
3015
+ if (_vCat) {
3016
+ var _vFound = i18n.resolveKey(_vCat, '_validator');
3017
+ if (_vFound && typeof(_vFound) === 'object') { _vNode = _vFound; break; }
3018
+ }
3019
+ }
3020
+ if (_vNode) { local.errorLabels = merge(JSON.clone(_vNode), _defaultErrorLabels); }
3021
+ }
3022
+ }
3023
+ // #i18n (client) — overlay built-in rule labels for the negotiated culture.
3024
+ // Precedence (highest first): app `setErrorLabels()` overrides
3025
+ // (`gina.validator._errorLabelsByCulture[<culture>]`) > server-whispered bundle
3026
+ // catalog subset (`gina.config.validatorLabels`, resolved server-side for
3027
+ // `gina.config.culture`) > English defaults. Each layer is applied by a
3028
+ // target-wins/source-fills merge over the running `local.errorLabels`, so a
3029
+ // higher layer wins per key and lower layers fill gaps. Client only (isGFFCtx);
3030
+ // a per-field/rule `error` still wins over all of this.
3031
+ if (
3032
+ isGFFCtx
3033
+ && typeof(gina) != 'undefined'
3034
+ && typeof(gina.config) != 'undefined'
3035
+ ) {
3036
+ var _culture = gina.config.culture;
3037
+ var _baseLang = ( _culture && _culture.indexOf('_') > 0 ) ? _culture.substr(0, _culture.indexOf('_')) : _culture;
3038
+ // layer 3 (highest) — app-registered per-culture overrides (setErrorLabels)
3039
+ var _cultureLabels = ( typeof(gina.validator) != 'undefined' && gina.validator._errorLabelsByCulture && _culture )
3040
+ ? ( gina.validator._errorLabelsByCulture[_culture]
3041
+ || ( _baseLang ? gina.validator._errorLabelsByCulture[_baseLang] : null )
3042
+ || null )
3043
+ : null;
3044
+ // layer 2 — server-whispered bundle catalog subset (culture-resolved server-side)
3045
+ var _catalogLabels = null;
3046
+ if ( gina.config.validatorLabels && typeof(gina.config.validatorLabels) == 'object' ) {
3047
+ for (var _clk in gina.config.validatorLabels) {
3048
+ if ( gina.config.validatorLabels.hasOwnProperty(_clk) ) { _catalogLabels = gina.config.validatorLabels; break; }
3049
+ }
3050
+ }
3051
+ // apply lowest-precedence layer first, then let each higher layer win per key
3052
+ if (_catalogLabels) {
3053
+ local.errorLabels = merge(JSON.clone(_catalogLabels), local.errorLabels);
3054
+ }
3055
+ if (_cultureLabels) {
3056
+ local.errorLabels = merge(JSON.clone(_cultureLabels), local.errorLabels);
3057
+ }
3058
+ }
2988
3059
  var self = null;
2989
3060
  if (!data) {
2990
3061
  throw new Error('missing data param')
@@ -3864,31 +3935,42 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
3864
3935
  var _SCS_BINARY_RE = /^\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*(===|!==|<=|>=|==|!=|<|>)\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*$/;
3865
3936
  var _scsBinMatch = (typeof(compiledCondition) == 'string') ? compiledCondition.match(_SCS_BINARY_RE) : null;
3866
3937
  if (!_scsBinMatch) {
3867
- throw new Error('Could not evaluate condition `' + compiledCondition + '`.\n(grammar: <operand><op><operand>; operand ∈ number | "string" | true | false | null | undefined; op ∈ === !== == != < > <= >=)');
3868
- }
3869
- var _scsParseOperand = function(s) {
3870
- var _t = s.replace(/^\s+|\s+$/g, '');
3871
- if (_t === 'null') return null;
3872
- if (_t === 'undefined') return undefined;
3873
- if (_t === 'true') return true;
3874
- if (_t === 'false') return false;
3875
- if (/^"[^"]*"$/.test(_t)) return _t.slice(1, -1);
3876
- var _n = Number(_t);
3877
- if (!isNaN(_n) && _t !== '') return _n;
3878
- throw new Error('Invalid operand: `' + s + '`');
3879
- };
3880
- var _scsLeft = _scsParseOperand(_scsBinMatch[1]);
3881
- var _scsOp = _scsBinMatch[2];
3882
- var _scsRight = _scsParseOperand(_scsBinMatch[3]);
3883
- switch (_scsOp) {
3884
- case '===': isValid = _scsLeft === _scsRight; break;
3885
- case '!==': isValid = _scsLeft !== _scsRight; break;
3886
- case '==': isValid = _scsLeft == _scsRight; break;
3887
- case '!=': isValid = _scsLeft != _scsRight; break;
3888
- case '<': isValid = _scsLeft < _scsRight; break;
3889
- case '>': isValid = _scsLeft > _scsRight; break;
3890
- case '<=': isValid = _scsLeft <= _scsRight; break;
3891
- case '>=': isValid = _scsLeft >= _scsRight; break;
3938
+ // A condition that doesn't fit the grammar (e.g. a dangling
3939
+ // operator left by an empty cross-field reference) must FAIL
3940
+ // THE FIELD, not throw: is() runs on every keystroke during
3941
+ // live-check, and an uncaught throw propagates out of the
3942
+ // whole-form validity pass (main.js checkFieldAgainstRules
3943
+ // re-wraps + re-throws it), leaving the submit trigger ungated.
3944
+ // A genuine authoring typo stays visible via the warning
3945
+ // without killing live validation. Fail-closed: the field is
3946
+ // treated as invalid on both the client and the server.
3947
+ console.warn('[FormValidator] Could not evaluate condition `' + compiledCondition + '` - treating field as invalid.\n(grammar: <operand><op><operand>; operand ∈ number | "string" | true | false | null | undefined; op ∈ === !== == != < > <= >=)');
3948
+ isValid = false;
3949
+ } else {
3950
+ var _scsParseOperand = function(s) {
3951
+ var _t = s.replace(/^\s+|\s+$/g, '');
3952
+ if (_t === 'null') return null;
3953
+ if (_t === 'undefined') return undefined;
3954
+ if (_t === 'true') return true;
3955
+ if (_t === 'false') return false;
3956
+ if (/^"[^"]*"$/.test(_t)) return _t.slice(1, -1);
3957
+ var _n = Number(_t);
3958
+ if (!isNaN(_n) && _t !== '') return _n;
3959
+ throw new Error('Invalid operand: `' + s + '`');
3960
+ };
3961
+ var _scsLeft = _scsParseOperand(_scsBinMatch[1]);
3962
+ var _scsOp = _scsBinMatch[2];
3963
+ var _scsRight = _scsParseOperand(_scsBinMatch[3]);
3964
+ switch (_scsOp) {
3965
+ case '===': isValid = _scsLeft === _scsRight; break;
3966
+ case '!==': isValid = _scsLeft !== _scsRight; break;
3967
+ case '==': isValid = _scsLeft == _scsRight; break;
3968
+ case '!=': isValid = _scsLeft != _scsRight; break;
3969
+ case '<': isValid = _scsLeft < _scsRight; break;
3970
+ case '>': isValid = _scsLeft > _scsRight; break;
3971
+ case '<=': isValid = _scsLeft <= _scsRight; break;
3972
+ case '>=': isValid = _scsLeft >= _scsRight; break;
3973
+ }
3892
3974
  }
3893
3975
  }
3894
3976
 
@@ -3971,7 +4053,9 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
3971
4053
  var isValid = rgx.test(this['value']) ? true : false;
3972
4054
  var errors = self[this['name']]['errors'] || {};
3973
4055
 
3974
- if ( !errors['isRequired'] && this.value == '' ) {
4056
+ // #B78 - an empty value is adjudicated by isRequired alone: bypass on empty so a
4057
+ // required+empty field records only isRequired, not a second 'invalid' message.
4058
+ if ( this.value == '' ) {
3975
4059
  isValid = true;
3976
4060
  }
3977
4061
 
@@ -3984,7 +4068,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
3984
4068
  //delete errors['stack'];
3985
4069
  }
3986
4070
 
3987
- this.valid = isValid;
4071
+ // #B78 - keep .valid consistent with a surviving isRequired error.
4072
+ this.valid = isValid && !errors['isRequired'];
3988
4073
 
3989
4074
  if ( errors.count() > 0 )
3990
4075
  this['errors'] = errors;
@@ -4010,7 +4095,9 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
4010
4095
  var isValid = rgx.test(this['value']) ? true : false;
4011
4096
  var errors = self[this['name']]['errors'] || {};
4012
4097
 
4013
- if ( !errors['isRequired'] && this.value == '' ) {
4098
+ // #B78 - an empty value is adjudicated by isRequired alone: bypass on empty so a
4099
+ // required+empty field records only isRequired, not a second 'invalid' message.
4100
+ if ( this.value == '' ) {
4014
4101
  isValid = true;
4015
4102
  }
4016
4103
 
@@ -4023,7 +4110,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
4023
4110
  //delete errors['stack'];
4024
4111
  }
4025
4112
 
4026
- this.valid = isValid;
4113
+ // #B78 - keep .valid consistent with a surviving isRequired error.
4114
+ this.valid = isValid && !errors['isRequired'];
4027
4115
 
4028
4116
  if ( errors.count() > 0 )
4029
4117
  this['errors'] = errors;
@@ -4369,7 +4457,9 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
4369
4457
  isValid = false
4370
4458
  }
4371
4459
 
4372
- if ( !errors['isRequired'] && this.value == '' ) {
4460
+ // #B78 - an empty value is adjudicated by isRequired alone: bypass on empty so a
4461
+ // required+empty field records only isRequired, not a second 'invalid' message.
4462
+ if ( this.value == '' ) {
4373
4463
  isValid = true
4374
4464
  }
4375
4465
 
@@ -4377,7 +4467,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
4377
4467
  errors['isFloat'] = replace(this.error || local.errorLabels['isFloat'], this)
4378
4468
  }
4379
4469
 
4380
- this.valid = isValid;
4470
+ // #B78 - keep .valid consistent with a surviving isRequired error.
4471
+ this.valid = isValid && !errors['isRequired'];
4381
4472
  if ( errors.count() > 0 )
4382
4473
  this['errors'] = errors;
4383
4474
 
@@ -4513,7 +4604,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
4513
4604
 
4514
4605
  if (!isValid && errors['isRequired'] && val == '') {
4515
4606
  isValid = false;
4516
- errors['isString'] = replace(this['error'] || local.errorLabels['isString'], this);
4607
+ // #B78 - required+empty is adjudicated by isRequired alone; keep the field
4608
+ // invalid (isValid stays false) but do NOT pile on a second 'must be a string' message.
4517
4609
  } else if (!isValid && !errors['isRequired']) {
4518
4610
  isValid = true;
4519
4611
  }
@@ -4703,7 +4795,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
4703
4795
  var val = local.data[this.name] = this.value;
4704
4796
  var isValid = false;
4705
4797
 
4706
- if ( !errors['isRequired'] && (val === '' || val == null) ) {
4798
+ // #B78 - an empty/null value is adjudicated by isRequired alone.
4799
+ if ( (val === '' || val == null) ) {
4707
4800
  isValid = true;
4708
4801
  } else if ( allowedValues.indexOf(val) > -1 ) {
4709
4802
  isValid = true;
@@ -4716,7 +4809,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
4716
4809
  delete errors['isInList'];
4717
4810
  }
4718
4811
 
4719
- this.valid = isValid;
4812
+ // #B78 - keep .valid consistent with a surviving isRequired error.
4813
+ this.valid = isValid && !errors['isRequired'];
4720
4814
  if ( errors.count() > 0 ) {
4721
4815
  this['errors'] = errors;
4722
4816
  }
@@ -9727,8 +9821,15 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
9727
9821
  * @param {object} rule
9728
9822
  * @param {object} [ data ] // from request
9729
9823
  * @param {string} [ formId ]
9824
+ * @param {string} [ culture ] // #i18n — per-request culture (e.g. "fr_FR"). On the
9825
+ * server (`!isGFFCtx`) form-body path it is threaded to FormValidator so built-in
9826
+ * rule labels resolve from the bundle catalog's `_validator.<rule>` namespace.
9827
+ * The routing-mode call (`new Validator('routing', _data, null, _rule)`) lands its
9828
+ * inert rule object in this slot; the overlay's `typeof culture === 'string'` guard
9829
+ * ignores non-strings, and route-matching runs before culture negotiation, so
9830
+ * routing-requirement labels stay English by design.
9730
9831
  * */
9731
- function ValidatorPlugin(rules, data, formId) {
9832
+ function ValidatorPlugin(rules, data, formId, culture) {
9732
9833
 
9733
9834
  this.plugin = 'validator';
9734
9835
 
@@ -9827,7 +9928,9 @@ function ValidatorPlugin(rules, data, formId) {
9827
9928
  'validateFormById' : null,
9828
9929
  'setOptions' : null,
9829
9930
  'resetErrorsDisplay': null,
9830
- 'resetFields' : null
9931
+ 'resetFields' : null,
9932
+ 'setErrorLabels' : null,
9933
+ '_errorLabelsByCulture' : {}
9831
9934
  };
9832
9935
 
9833
9936
  // validator proto
@@ -9972,7 +10075,7 @@ function ValidatorPlugin(rules, data, formId) {
9972
10075
  * @param {object} rules
9973
10076
  * @param {object} [customRule]
9974
10077
  * */
9975
- var backendInit = function (rules, data, formId) {
10078
+ var backendInit = function (rules, data, formId, culture) {
9976
10079
 
9977
10080
  var $form = ( typeof(formId) != 'undefined' ) ? { 'id': formId } : null;
9978
10081
  var fields = {};
@@ -9994,11 +10097,11 @@ function ValidatorPlugin(rules, data, formId) {
9994
10097
 
9995
10098
  backendProto.rules = instance.rules;
9996
10099
 
9997
- return validate($form, fields, null, instance.rules)
10100
+ return validate($form, fields, null, instance.rules, null, culture)
9998
10101
 
9999
10102
  } else {
10000
10103
  // without rules - by hand
10001
- return new FormValidator(fields)
10104
+ return new FormValidator(fields, undefined, undefined, undefined, culture)
10002
10105
  }
10003
10106
  }
10004
10107
 
@@ -16227,14 +16330,31 @@ function ValidatorPlugin(rules, data, formId) {
16227
16330
  ) {
16228
16331
  console.warn('This might be normal, so do not worry if this form is handled by your javascript: `'+ $formInstance.id +'`\nGina could not complete `updateSubmitTriggerState()`: `submitTrigger` might not be attached to form instance `'+ $formInstance.id +'`\nTo disable this warning, You just need to disable `Form Live Checking on your form by adding to your <form>: `data-gina-form-live-check-enabled=false``')
16229
16332
  } else if ( document.getElementById($formInstance.submitTrigger) ) {
16333
+ // Represent the "invalid + live-check-on" state with aria-disabled + a class
16334
+ // INSTEAD of the native `disabled` property. A natively-disabled <button>
16335
+ // emits no click event, so the form-level click -> validate -> show-all-errors
16336
+ // -> focus-first guard (the `validate.<id>` listener) never fires: the button
16337
+ // looks dead and gives zero feedback. aria-disabled keeps the trigger operable,
16338
+ // so the click still runs validation (revealing every invalid field + focusing
16339
+ // the first) while `isValid()` (the real gate) still blocks the send. Mirrors
16340
+ // gina's own <a>-tag submit-trigger handling, which already uses aria-disabled
16341
+ // in-flight. The show branch KEEPS clearing native `disabled` so a trigger
16342
+ // rendered `disabled` in markup still enables on valid / when live-check is off.
16343
+ // Tag-agnostic: setAttribute/classList work for both <button> and <a> submit
16344
+ // triggers. Consumers must style the [aria-disabled="true"] /
16345
+ // .gina-form-submit-disabled state (the framework ships no button CSS).
16346
+ var $submitTrigger = document.getElementById($formInstance.submitTrigger);
16230
16347
  if (
16231
16348
  /^true$/i.test(isFormValid)
16232
16349
  ||
16233
16350
  !/^(true)$/i.test($formInstance.target.dataset.ginaFormLiveCheckEnabled)
16234
- ) { // show submitTrigge
16235
- document.getElementById($formInstance.submitTrigger).disabled = false;
16236
- } else { // hide submitTrigger
16237
- document.getElementById($formInstance.submitTrigger).disabled = true;
16351
+ ) { // show submitTrigger
16352
+ $submitTrigger.disabled = false;
16353
+ $submitTrigger.removeAttribute('aria-disabled');
16354
+ $submitTrigger.classList.remove('gina-form-submit-disabled');
16355
+ } else { // hide submitTrigger (perceivable but not operable, NOT native-disabled)
16356
+ $submitTrigger.setAttribute('aria-disabled', 'true');
16357
+ $submitTrigger.classList.add('gina-form-submit-disabled');
16238
16358
  }
16239
16359
  }
16240
16360
  }
@@ -16405,12 +16525,28 @@ function ValidatorPlugin(rules, data, formId) {
16405
16525
 
16406
16526
  var getCastedValue = function(ruleObj, fields, fieldName, isOnDynamisedRulesMode) {
16407
16527
 
16528
+ var isOnDynamisedRules = (
16529
+ typeof(isOnDynamisedRulesMode) != 'undefined'
16530
+ && /^true$/i.test(isOnDynamisedRulesMode)
16531
+ );
16532
+
16408
16533
  if (
16409
16534
  // do not cast if no rule linked to the field
16410
16535
  typeof(ruleObj[fieldName]) == 'undefined'
16411
16536
  // do not cast if not defined or on error
16412
16537
  || /^(null|NaN|undefined|\s*)$/i.test(fields[fieldName])
16413
16538
  ) {
16539
+ // In dynamised-rules mode this value is spliced verbatim into a stringified
16540
+ // condition (e.g. `$a === $b`). An empty/whitespace value MUST become a quoted
16541
+ // empty string ("") so the condition stays a parseable binary comparison —
16542
+ // returning the raw empty value leaves a DANGLING operator (`"x" === `) that
16543
+ // `is()` then rejects, and the resulting throw aborts the whole-form validity
16544
+ // pass so the submit trigger never gets gated. Mirrors the sibling substitution
16545
+ // default in getDynamisedRules (`... : '\\"\\"'`). `null`/`undefined` stay raw:
16546
+ // they are already valid grammar operands, so only empty/whitespace needs quoting.
16547
+ if ( isOnDynamisedRules && /^\s*$/.test(fields[fieldName]) ) {
16548
+ return '\\"\\"';
16549
+ }
16414
16550
  return fields[fieldName]
16415
16551
  }
16416
16552
 
@@ -16435,10 +16571,7 @@ function ValidatorPlugin(rules, data, formId) {
16435
16571
  return (/^true$/i.test(fields[fieldName])) ? true : false;
16436
16572
  }
16437
16573
 
16438
- return (
16439
- typeof(isOnDynamisedRulesMode) != 'undefined'
16440
- && /^true$/i.test(isOnDynamisedRulesMode)
16441
- ) ? '\\"'+ fields[fieldName] +'\\"' : fields[fieldName];
16574
+ return isOnDynamisedRules ? '\\"'+ fields[fieldName] +'\\"' : fields[fieldName];
16442
16575
  }
16443
16576
 
16444
16577
  /**
@@ -16534,8 +16667,9 @@ function ValidatorPlugin(rules, data, formId) {
16534
16667
  * @param {object} $fields
16535
16668
  * @param {object} rules
16536
16669
  * @param {callback} cb
16670
+ * @param {string} [culture] // #i18n — server form-body path only; forwarded to FormValidator
16537
16671
  */
16538
- var validate = function($formOrElement, fields, $fields, rules, cb) {
16672
+ var validate = function($formOrElement, fields, $fields, rules, cb, culture) {
16539
16673
 
16540
16674
  delete fields['_length']; //cleaning
16541
16675
 
@@ -16824,7 +16958,7 @@ function ValidatorPlugin(rules, data, formId) {
16824
16958
  d = new FormValidator(fields, $fields, xhrOptions, instance.$forms[id].fieldsSet);
16825
16959
  }
16826
16960
  } else {
16827
- d = new FormValidator(fields, null, xhrOptions);
16961
+ d = new FormValidator(fields, null, xhrOptions, undefined, culture);
16828
16962
  }
16829
16963
 
16830
16964
 
@@ -17470,6 +17604,40 @@ function ValidatorPlugin(rules, data, formId) {
17470
17604
  return forEachField($formOrElement, allFields, allRules, fields, $fields, rules, cb, 0);
17471
17605
  }
17472
17606
 
17607
+ /**
17608
+ * setErrorLabels — register per-culture overrides for gina's built-in rule
17609
+ * error labels (browser only). Global to the validator: all bound forms share
17610
+ * the built-in label catalog. Call once, typically keyed off gina.config.culture
17611
+ * (whispered from the request's negotiated culture):
17612
+ * gina.validator.setErrorLabels({ isRequired: '...' }); // current culture
17613
+ * gina.validator.setErrorLabels({ isRequired: '...' }, 'fr_FR'); // explicit culture
17614
+ * English defaults fill any rule the app does not translate; a per-field/rule
17615
+ * `error` string still wins. Custom user-defined rules already carry app messages
17616
+ * and are untouched.
17617
+ *
17618
+ * @param {object} labels - { ruleName: message } for one culture.
17619
+ * @param {string} [culture] - Target culture; defaults to gina.config.culture.
17620
+ * @returns {object} the validator instance (chainable).
17621
+ * */
17622
+ var setErrorLabels = function (labels, culture) {
17623
+ if ( !labels || typeof(labels) != 'object' ) {
17624
+ return instance;
17625
+ }
17626
+ if ( !culture ) {
17627
+ culture = ( typeof(gina) != 'undefined' && gina.config && gina.config.culture )
17628
+ ? gina.config.culture
17629
+ : 'en';
17630
+ }
17631
+ if ( !instance._errorLabelsByCulture ) {
17632
+ instance._errorLabelsByCulture = {};
17633
+ }
17634
+ instance._errorLabelsByCulture[culture] = merge(
17635
+ JSON.clone(labels),
17636
+ instance._errorLabelsByCulture[culture] || {}
17637
+ );
17638
+ return instance;
17639
+ };
17640
+
17473
17641
  var setupInstanceProto = function() {
17474
17642
 
17475
17643
  instance.target = document;
@@ -17480,13 +17648,14 @@ function ValidatorPlugin(rules, data, formId) {
17480
17648
  instance.resetFields = resetFields;
17481
17649
  instance.handleErrorsDisplay = handleErrorsDisplay;
17482
17650
  instance.send = send;
17651
+ instance.setErrorLabels = setErrorLabels;
17483
17652
  //instance.handleXhrResponse = handleXhrResponse;
17484
17653
  }
17485
17654
 
17486
17655
  if (isGFFCtx) {
17487
17656
  return init(rules)
17488
17657
  } else {
17489
- return backendInit(rules, data, formId)
17658
+ return backendInit(rules, data, formId, culture)
17490
17659
  }
17491
17660
 
17492
17661
  };
@@ -18052,7 +18221,13 @@ define('gina/popin', [ 'require', 'lib/domain', 'lib/merge', 'utils/events' ], f
18052
18221
  // firing its own duplicate GET (see consumePreload).
18053
18222
  var _waiters = preloadWaiters[url] || [];
18054
18223
  delete preloadWaiters[url];
18055
- if ( /^2/.test(xhrPreload.status) ) {
18224
+ // #B80 — only cache a genuinely HTML fragment. A JSON response (an
18225
+ // isXhrRedirect / reload / data payload) must NOT be injected as popin
18226
+ // content: defer it to the click-time popinLoad, whose completion tail
18227
+ // handles isXhrRedirect/reload/JSON exactly as a non-preloaded click.
18228
+ // Mirrors popinLoad's own detection (`/application\/json/.test(Content-Type)`).
18229
+ var _ct = xhrPreload.getResponseHeader('Content-Type');
18230
+ if ( /^2/.test(xhrPreload.status) && !/application\/json/.test(_ct || '') ) {
18056
18231
  preloadCache[url] = xhrPreload.responseText;
18057
18232
  for ( var _w = 0; _w < _waiters.length; ++_w ) { _waiters[_w](xhrPreload.responseText); }
18058
18233
  } else {
@@ -19404,14 +19579,15 @@ define('gina/popin', [ 'require', 'lib/domain', 'lib/merge', 'utils/events' ], f
19404
19579
  popinUrl = result.location;
19405
19580
  }
19406
19581
 
19582
+ // was: a blind 50 ms timer that force-opened the popin if it
19583
+ // wasn't open yet. Vestigial (v0.1.0, 2021, 4d85d084) race-inducer:
19584
+ // a follow-up load slower than 50 ms let the timer open() against
19585
+ // a not-yet-injected (skeleton/empty) target. The already-armed
19586
+ // `loaded.<id>` listener opens content-first (injects the body,
19587
+ // then popinOpen), so the load alone suffices — no blind open.
19407
19588
  $popin
19408
19589
  .load( $popin.name, popinUrl, $popin.options );
19409
- return setTimeout( function onPopinredirect($popin){
19410
- if (!$popin.isOpen) {
19411
- $popin.open();
19412
- return;
19413
- }
19414
- }, 50, $popin);
19590
+ return;
19415
19591
  }
19416
19592
 
19417
19593
 
@@ -22716,6 +22892,50 @@ require([
22716
22892
  }
22717
22893
  };
22718
22894
  bootPopinHandler();
22895
+
22896
+ // Boot the validator at page load so the declarative `data-gina-form-rule` API is
22897
+ // active WITHOUT bundle code calling `new gina.validator()` — the sibling of the
22898
+ // popin boot above. Constructing the validator scans every `<form>`, binds the ones
22899
+ // matching a `gina.forms.rules` entry (live-checking + always-XHR submit), and the
22900
+ // `.on('ready')` registration triggers the validator `init` self-fire so
22901
+ // `gina.validator` / `gina.hasValidator` are set. Idempotent: a later explicit
22902
+ // `new gina.validator()` (a bundle's `handlers/*.js`) takes the `gina.hasValidator`
22903
+ // merge path and its own `.on('ready', …)` handler still fires — the same
22904
+ // re-construction path bundle code already relies on when it constructs the
22905
+ // validator more than once (a bundle `main.js` PLUS a per-page handler). Gated on a
22906
+ // NON-EMPTY `gina.forms.rules` so pages with no rules stay byte-identical (no form
22907
+ // scan, no `gina.validator` publish). `gina.forms` is whispered by `onGinaLoaded`,
22908
+ // which sets `isFrameworkLoaded` (synchronously) BEFORE `gina.forms`, so a truthy
22909
+ // `isFrameworkLoaded` observed from the bounded poll guarantees `gina.forms` is
22910
+ // already populated (run-to-completion — no yield splits the whisper).
22911
+ var _validatorBootTries = 0;
22912
+ var bootValidator = function () {
22913
+ try {
22914
+ if ( !window['gina'] || !window['gina']['isFrameworkLoaded'] ) {
22915
+ if ( _validatorBootTries++ < 100 ) {
22916
+ (window['setTimeout'] || function (fn) { fn(); })(bootValidator, 50);
22917
+ }
22918
+ return;
22919
+ }
22920
+ if ( window['gina']['hasValidator'] ) {
22921
+ return;
22922
+ }
22923
+ var _forms = window['gina']['forms'];
22924
+ var _rules = ( _forms && _forms['rules'] ) ? _forms['rules'] : null;
22925
+ if ( !_rules || !Object.keys(_rules).length ) {
22926
+ return;
22927
+ }
22928
+ var Validator = require('gina/validator');
22929
+ if ( typeof(Validator) == 'function' ) {
22930
+ new Validator(_rules).on('ready', function () {});
22931
+ }
22932
+ } catch (validatorBootErr) {
22933
+ if ( typeof(console) != 'undefined' && console.error ) {
22934
+ console.error('[gina] validator boot failed', validatorBootErr.stack || validatorBootErr);
22935
+ }
22936
+ }
22937
+ };
22938
+ bootValidator();
22719
22939
  });
22720
22940
 
22721
22941
  function getDependencies(gina, cb) {