gina 0.3.11 → 0.3.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 (400) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +8 -1
  3. package/framework/v0.3.12/VERSION +1 -0
  4. package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.js +12 -1
  5. package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +187 -186
  6. package/framework/v0.3.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  7. package/framework/v0.3.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  8. package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-json.js +12 -3
  9. package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-nunjucks.js +68 -54
  10. package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-swig.js +173 -132
  11. package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/src/form-validator.js +12 -1
  12. package/framework/{v0.3.11 → v0.3.12}/core/server.isaac.js +10 -2
  13. package/framework/{v0.3.11 → v0.3.12}/core/server.js +3 -3
  14. package/framework/{v0.3.11 → v0.3.12}/package.json +2 -2
  15. package/gna.js +4 -4
  16. package/llms.txt +3 -1
  17. package/package.json +2 -2
  18. package/framework/v0.3.11/VERSION +0 -1
  19. package/framework/v0.3.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  20. package/framework/v0.3.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  21. /package/framework/{v0.3.11 → v0.3.12}/AUTHORS +0 -0
  22. /package/framework/{v0.3.11 → v0.3.12}/LICENSE +0 -0
  23. /package/framework/{v0.3.11 → v0.3.12}/core/asset/html/nolayout.html +0 -0
  24. /package/framework/{v0.3.11 → v0.3.12}/core/asset/html/static.html +0 -0
  25. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/android-chrome-192x192.png +0 -0
  26. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/android-chrome-512x512.png +0 -0
  27. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/apple-touch-icon.png +0 -0
  28. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/favicon-16x16.png +0 -0
  29. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/favicon-32x32.png +0 -0
  30. /package/framework/{v0.3.11 → v0.3.12}/core/asset/img/favicon.ico +0 -0
  31. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/README.md +0 -0
  32. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  33. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  34. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  35. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  36. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  37. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  38. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  39. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  40. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  41. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  42. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  43. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  44. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  45. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  46. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  47. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  48. /package/framework/{v0.3.11 → v0.3.12}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  49. /package/framework/{v0.3.11 → v0.3.12}/core/config.js +0 -0
  50. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/ai/index.js +0 -0
  51. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/ai/lib/connector.js +0 -0
  52. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/index.js +0 -0
  53. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.js +0 -0
  54. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  55. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  56. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  57. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/n1ql.js +0 -0
  58. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.js +0 -0
  59. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  60. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  61. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  62. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/index.js +0 -0
  63. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/lib/connector.js +0 -0
  64. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  65. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mongodb/lib/session-store.js +0 -0
  66. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mysql/index.js +0 -0
  67. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/mysql/lib/connector.js +0 -0
  68. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/postgresql/index.js +0 -0
  69. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/postgresql/lib/connector.js +0 -0
  70. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/redis/index.js +0 -0
  71. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/redis/lib/session-store.js +0 -0
  72. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/scylladb/index.js +0 -0
  73. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/scylladb/lib/connector.js +0 -0
  74. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/scylladb/lib/session-store.js +0 -0
  75. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sql-parser.js +0 -0
  76. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sqlite/index.js +0 -0
  77. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sqlite/lib/connector.js +0 -0
  78. /package/framework/{v0.3.11 → v0.3.12}/core/connectors/sqlite/lib/session-store.js +0 -0
  79. /package/framework/{v0.3.11 → v0.3.12}/core/content.encoding +0 -0
  80. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.framework.js +0 -0
  81. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.js +0 -0
  82. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-stream.js +0 -0
  83. /package/framework/{v0.3.11 → v0.3.12}/core/controller/controller.render-v1.js +0 -0
  84. /package/framework/{v0.3.11 → v0.3.12}/core/controller/index.js +0 -0
  85. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/LICENSE +0 -0
  86. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/README.md +0 -0
  87. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  88. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  89. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  90. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  91. /package/framework/{v0.3.11 → v0.3.12}/core/deps/busboy-1.6.0/package.json +0 -0
  92. /package/framework/{v0.3.11 → v0.3.12}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  93. /package/framework/{v0.3.11 → v0.3.12}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  94. /package/framework/{v0.3.11 → v0.3.12}/core/deps/streamsearch-1.1.0/package.json +0 -0
  95. /package/framework/{v0.3.11 → v0.3.12}/core/dev/index.js +0 -0
  96. /package/framework/{v0.3.11 → v0.3.12}/core/dev/lib/class.js +0 -0
  97. /package/framework/{v0.3.11 → v0.3.12}/core/dev/lib/factory.js +0 -0
  98. /package/framework/{v0.3.11 → v0.3.12}/core/dev/lib/tools.js +0 -0
  99. /package/framework/{v0.3.11 → v0.3.12}/core/gna.js +0 -0
  100. /package/framework/{v0.3.11 → v0.3.12}/core/locales/README.md +0 -0
  101. /package/framework/{v0.3.11 → v0.3.12}/core/locales/currency.json +0 -0
  102. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/language/en.json +0 -0
  103. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/language/fr.json +0 -0
  104. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/region/en.json +0 -0
  105. /package/framework/{v0.3.11 → v0.3.12}/core/locales/dist/region/fr.json +0 -0
  106. /package/framework/{v0.3.11 → v0.3.12}/core/locales/index.js +0 -0
  107. /package/framework/{v0.3.11 → v0.3.12}/core/mime.types +0 -0
  108. /package/framework/{v0.3.11 → v0.3.12}/core/model/entity.js +0 -0
  109. /package/framework/{v0.3.11 → v0.3.12}/core/model/index.js +0 -0
  110. /package/framework/{v0.3.11 → v0.3.12}/core/model/template/entityFactory.js +0 -0
  111. /package/framework/{v0.3.11 → v0.3.12}/core/model/template/index.js +0 -0
  112. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/README.md +0 -0
  113. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/index.js +0 -0
  114. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/csrf/README.md +0 -0
  115. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/csrf/package.json +0 -0
  116. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/csrf/src/main.js +0 -0
  117. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/file/README.md +0 -0
  118. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/file/build.json +0 -0
  119. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/file/package.json +0 -0
  120. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/README.md +0 -0
  121. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/build.json +0 -0
  122. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/package.json +0 -0
  123. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/intl/src/main.js +0 -0
  124. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/session/README.md +0 -0
  125. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/session/package.json +0 -0
  126. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/session/src/main.js +0 -0
  127. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/README.md +0 -0
  128. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/build.json +0 -0
  129. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/package.json +0 -0
  130. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/storage/src/main.js +0 -0
  131. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/README.md +0 -0
  132. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/build.json +0 -0
  133. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/package.json +0 -0
  134. /package/framework/{v0.3.11 → v0.3.12}/core/plugins/lib/validator/src/main.js +0 -0
  135. /package/framework/{v0.3.11 → v0.3.12}/core/router.js +0 -0
  136. /package/framework/{v0.3.11 → v0.3.12}/core/server.express.js +0 -0
  137. /package/framework/{v0.3.11 → v0.3.12}/core/status.codes +0 -0
  138. /package/framework/{v0.3.11 → v0.3.12}/core/template/_gitignore +0 -0
  139. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/app.json +0 -0
  140. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  141. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/routing.json +0 -0
  142. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/settings.json +0 -0
  143. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  144. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/templates.json +0 -0
  145. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  146. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  147. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  148. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  149. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/index.js +0 -0
  150. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle/locales/en.json +0 -0
  151. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  152. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  153. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  154. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  155. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  156. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  157. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_public/readme.md +0 -0
  158. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  159. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  160. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  161. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  162. /package/framework/{v0.3.11 → v0.3.12}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  163. /package/framework/{v0.3.11 → v0.3.12}/core/template/command/gina.bat.tpl +0 -0
  164. /package/framework/{v0.3.11 → v0.3.12}/core/template/command/gina.tpl +0 -0
  165. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/env.json +0 -0
  166. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/manifest.json +0 -0
  167. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/package.json +0 -0
  168. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/settings.json +0 -0
  169. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/statics.json +0 -0
  170. /package/framework/{v0.3.11 → v0.3.12}/core/template/conf/templates.json +0 -0
  171. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/client/json/401.json +0 -0
  172. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/client/json/403.json +0 -0
  173. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/client/json/404.json +0 -0
  174. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/server/html/50x.html +0 -0
  175. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/server/json/500.json +0 -0
  176. /package/framework/{v0.3.11 → v0.3.12}/core/template/error/server/json/503.json +0 -0
  177. /package/framework/{v0.3.11 → v0.3.12}/core/template/extensions/logger/config.json +0 -0
  178. /package/framework/{v0.3.11 → v0.3.12}/helpers/console.js +0 -0
  179. /package/framework/{v0.3.11 → v0.3.12}/helpers/context.js +0 -0
  180. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/LICENSE +0 -0
  181. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/README.md +0 -0
  182. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/package.json +0 -0
  183. /package/framework/{v0.3.11 → v0.3.12}/helpers/data/src/main.js +0 -0
  184. /package/framework/{v0.3.11 → v0.3.12}/helpers/dateFormat.js +0 -0
  185. /package/framework/{v0.3.11 → v0.3.12}/helpers/index.js +0 -0
  186. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/LICENSE +0 -0
  187. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/README.md +0 -0
  188. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/package.json +0 -0
  189. /package/framework/{v0.3.11 → v0.3.12}/helpers/json/src/main.js +0 -0
  190. /package/framework/{v0.3.11 → v0.3.12}/helpers/path.js +0 -0
  191. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/README.md +0 -0
  192. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/package.json +0 -0
  193. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/src/api-error.js +0 -0
  194. /package/framework/{v0.3.11 → v0.3.12}/helpers/plugins/src/main.js +0 -0
  195. /package/framework/{v0.3.11 → v0.3.12}/helpers/prototypes.js +0 -0
  196. /package/framework/{v0.3.11 → v0.3.12}/helpers/task.js +0 -0
  197. /package/framework/{v0.3.11 → v0.3.12}/helpers/text.js +0 -0
  198. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/README.md +0 -0
  199. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/build.json +0 -0
  200. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/package.json +0 -0
  201. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/src/dep/jszip.min.js +0 -0
  202. /package/framework/{v0.3.11 → v0.3.12}/lib/archiver/src/main.js +0 -0
  203. /package/framework/{v0.3.11 → v0.3.12}/lib/async/package.json +0 -0
  204. /package/framework/{v0.3.11 → v0.3.12}/lib/async/src/main.js +0 -0
  205. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/README.md +0 -0
  206. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/build.json +0 -0
  207. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/package.json +0 -0
  208. /package/framework/{v0.3.11 → v0.3.12}/lib/cache/src/main.js +0 -0
  209. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/aliases.json +0 -0
  210. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/add.js +0 -0
  211. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/arguments.json +0 -0
  212. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/build.js +0 -0
  213. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/copy.js +0 -0
  214. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/cp.js +0 -0
  215. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/help.js +0 -0
  216. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/help.txt +0 -0
  217. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/list.js +0 -0
  218. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/mcp-start.js +0 -0
  219. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/mcp.js +0 -0
  220. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/oas.js +0 -0
  221. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/openapi.js +0 -0
  222. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/remove.js +0 -0
  223. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/rename.js +0 -0
  224. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/restart.js +0 -0
  225. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/rm.js +0 -0
  226. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/start.js +0 -0
  227. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/status.js +0 -0
  228. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/bundle/stop.js +0 -0
  229. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/cache/stats.js +0 -0
  230. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/add.js +0 -0
  231. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/arguments.json +0 -0
  232. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/help.js +0 -0
  233. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/help.txt +0 -0
  234. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/list.js +0 -0
  235. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/migrate.js +0 -0
  236. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/remove.js +0 -0
  237. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/connector/rm.js +0 -0
  238. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/add.js +0 -0
  239. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/get.js +0 -0
  240. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/help.js +0 -0
  241. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/help.txt +0 -0
  242. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/link-dev.js +0 -0
  243. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/list.js +0 -0
  244. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/remove.js +0 -0
  245. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/rm.js +0 -0
  246. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/set.js +0 -0
  247. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/unset.js +0 -0
  248. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/env/use.js +0 -0
  249. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/arguments.json +0 -0
  250. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/build.js +0 -0
  251. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/dot.js +0 -0
  252. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/get.js +0 -0
  253. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/help.js +0 -0
  254. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/help.txt +0 -0
  255. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/init.js +0 -0
  256. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/link-node-modules.js +0 -0
  257. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/link.js +0 -0
  258. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/msg.json +0 -0
  259. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/open.js +0 -0
  260. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/restart.js +0 -0
  261. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/set.js +0 -0
  262. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/start.js +0 -0
  263. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/status.js +0 -0
  264. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/stop.js +0 -0
  265. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/tail.js +0 -0
  266. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/update.js +0 -0
  267. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/framework/version.js +0 -0
  268. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/gina-dev.1.md +0 -0
  269. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/gina-framework.1.md +0 -0
  270. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/gina.1.md +0 -0
  271. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/helper.js +0 -0
  272. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/add.js +0 -0
  273. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/arguments.json +0 -0
  274. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/export.js +0 -0
  275. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/help.js +0 -0
  276. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/help.txt +0 -0
  277. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/import.js +0 -0
  278. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/i18n/scan.js +0 -0
  279. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/index.js +0 -0
  280. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/inspector/help.js +0 -0
  281. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/inspector/help.txt +0 -0
  282. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/inspector/open.js +0 -0
  283. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/minion/help.js +0 -0
  284. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/minion/help.txt +0 -0
  285. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/msg.json +0 -0
  286. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/help.js +0 -0
  287. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/help.txt +0 -0
  288. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/inc/scan.js +0 -0
  289. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/list.js +0 -0
  290. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/reset.js +0 -0
  291. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/port/set.js +0 -0
  292. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/add.js +0 -0
  293. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/arguments.json +0 -0
  294. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/build.js +0 -0
  295. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/help.js +0 -0
  296. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/help.txt +0 -0
  297. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/import.js +0 -0
  298. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/list.js +0 -0
  299. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/move.js +0 -0
  300. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/remove.js +0 -0
  301. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/rename.js +0 -0
  302. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/restart.js +0 -0
  303. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/rm.js +0 -0
  304. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/start.js +0 -0
  305. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/status.js +0 -0
  306. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/project/stop.js +0 -0
  307. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/help.js +0 -0
  308. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/help.txt +0 -0
  309. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/list.js +0 -0
  310. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/protocol/set.js +0 -0
  311. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/add.js +0 -0
  312. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/help.js +0 -0
  313. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/help.txt +0 -0
  314. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/link-local.js +0 -0
  315. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/link-production.js +0 -0
  316. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/list.js +0 -0
  317. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/remove.js +0 -0
  318. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/rm.js +0 -0
  319. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/scope/use.js +0 -0
  320. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/service/help.js +0 -0
  321. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/service/help.txt +0 -0
  322. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/service/list.js +0 -0
  323. /package/framework/{v0.3.11 → v0.3.12}/lib/cmd/view/add.js +0 -0
  324. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/README.md +0 -0
  325. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/build.json +0 -0
  326. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/package.json +0 -0
  327. /package/framework/{v0.3.11 → v0.3.12}/lib/collection/src/main.js +0 -0
  328. /package/framework/{v0.3.11 → v0.3.12}/lib/config.js +0 -0
  329. /package/framework/{v0.3.11 → v0.3.12}/lib/connector-registry/package.json +0 -0
  330. /package/framework/{v0.3.11 → v0.3.12}/lib/connector-registry/src/main.js +0 -0
  331. /package/framework/{v0.3.11 → v0.3.12}/lib/cron/README.md +0 -0
  332. /package/framework/{v0.3.11 → v0.3.12}/lib/cron/package.json +0 -0
  333. /package/framework/{v0.3.11 → v0.3.12}/lib/cron/src/main.js +0 -0
  334. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/LICENSE +0 -0
  335. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/README.md +0 -0
  336. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/package.json +0 -0
  337. /package/framework/{v0.3.11 → v0.3.12}/lib/domain/src/main.js +0 -0
  338. /package/framework/{v0.3.11 → v0.3.12}/lib/generator/index.js +0 -0
  339. /package/framework/{v0.3.11 → v0.3.12}/lib/i18n/package.json +0 -0
  340. /package/framework/{v0.3.11 → v0.3.12}/lib/i18n/src/main.js +0 -0
  341. /package/framework/{v0.3.11 → v0.3.12}/lib/index.js +0 -0
  342. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/LICENSE +0 -0
  343. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/README.md +0 -0
  344. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/package.json +0 -0
  345. /package/framework/{v0.3.11 → v0.3.12}/lib/inherits/src/main.js +0 -0
  346. /package/framework/{v0.3.11 → v0.3.12}/lib/inspector-redact/package.json +0 -0
  347. /package/framework/{v0.3.11 → v0.3.12}/lib/inspector-redact/src/main.js +0 -0
  348. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/README.md +0 -0
  349. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/package.json +0 -0
  350. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/default/index.js +0 -0
  351. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/file/index.js +0 -0
  352. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  353. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  354. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/mq/index.js +0 -0
  355. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/mq/listener.js +0 -0
  356. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/containers/mq/speaker.js +0 -0
  357. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/helper.js +0 -0
  358. /package/framework/{v0.3.11 → v0.3.12}/lib/logger/src/main.js +0 -0
  359. /package/framework/{v0.3.11 → v0.3.12}/lib/math/index.js +0 -0
  360. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-dispatch/package.json +0 -0
  361. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-dispatch/src/main.js +0 -0
  362. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-http/package.json +0 -0
  363. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-http/src/main.js +0 -0
  364. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-server/package.json +0 -0
  365. /package/framework/{v0.3.11 → v0.3.12}/lib/mcp-server/src/main.js +0 -0
  366. /package/framework/{v0.3.11 → v0.3.12}/lib/merge/README.md +0 -0
  367. /package/framework/{v0.3.11 → v0.3.12}/lib/merge/package.json +0 -0
  368. /package/framework/{v0.3.11 → v0.3.12}/lib/merge/src/main.js +0 -0
  369. /package/framework/{v0.3.11 → v0.3.12}/lib/metrics/package.json +0 -0
  370. /package/framework/{v0.3.11 → v0.3.12}/lib/metrics/src/main.js +0 -0
  371. /package/framework/{v0.3.11 → v0.3.12}/lib/model.js +0 -0
  372. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-filters/README.md +0 -0
  373. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-filters/package.json +0 -0
  374. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-filters/src/main.js +0 -0
  375. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-resolver/package.json +0 -0
  376. /package/framework/{v0.3.11 → v0.3.12}/lib/nunjucks-resolver/src/main.js +0 -0
  377. /package/framework/{v0.3.11 → v0.3.12}/lib/proc.js +0 -0
  378. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/README.md +0 -0
  379. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/build.json +0 -0
  380. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/package.json +0 -0
  381. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/src/main.js +0 -0
  382. /package/framework/{v0.3.11 → v0.3.12}/lib/routing/src/radix.js +0 -0
  383. /package/framework/{v0.3.11 → v0.3.12}/lib/routing-introspect/package.json +0 -0
  384. /package/framework/{v0.3.11 → v0.3.12}/lib/routing-introspect/src/main.js +0 -0
  385. /package/framework/{v0.3.11 → v0.3.12}/lib/session-store.js +0 -0
  386. /package/framework/{v0.3.11 → v0.3.12}/lib/shell.js +0 -0
  387. /package/framework/{v0.3.11 → v0.3.12}/lib/state.js +0 -0
  388. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-filters/README.md +0 -0
  389. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-filters/package.json +0 -0
  390. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-filters/src/main.js +0 -0
  391. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-resolver/package.json +0 -0
  392. /package/framework/{v0.3.11 → v0.3.12}/lib/swig-resolver/src/main.js +0 -0
  393. /package/framework/{v0.3.11 → v0.3.12}/lib/url/README.md +0 -0
  394. /package/framework/{v0.3.11 → v0.3.12}/lib/url/index.js +0 -0
  395. /package/framework/{v0.3.11 → v0.3.12}/lib/url/routing.json +0 -0
  396. /package/framework/{v0.3.11 → v0.3.12}/lib/uuid/package.json +0 -0
  397. /package/framework/{v0.3.11 → v0.3.12}/lib/uuid/src/main.js +0 -0
  398. /package/framework/{v0.3.11 → v0.3.12}/lib/validator.js +0 -0
  399. /package/framework/{v0.3.11 → v0.3.12}/lib/watcher/package.json +0 -0
  400. /package/framework/{v0.3.11 → v0.3.12}/lib/watcher/src/main.js +0 -0
@@ -1547,7 +1547,18 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
1547
1547
  && typeof(this.target.type) != 'undefined'
1548
1548
  && this.target.type == 'radio'
1549
1549
  ) {
1550
- var radios = document.getElementsByName(this.name);
1550
+ // [HTML5 form-reassociation] Scope the radio group by form-owner per
1551
+ // HTML5 spec. `getElementsByName` returns same-name radios across the
1552
+ // whole document regardless of owner — without this filter, the
1553
+ // first-checked pick cross-fires into sibling forms whose radios
1554
+ // happen to share the name (the multi-entry layout where each entry
1555
+ // has its own reassociated form). Mirrors the equivalent filter in
1556
+ // main.js's updateRadio.
1557
+ var $target = this.target;
1558
+ var rawRadios = document.getElementsByName(this.name);
1559
+ var radios = Array.prototype.filter.call(rawRadios, function (_r) {
1560
+ return _r.form === $target.form;
1561
+ });
1551
1562
  for (var i = 0, len = radios.length; i < len; ++i) {
1552
1563
  if (radios[i].checked) {
1553
1564
  if ( /true|false/.test(radios[i].value) ) {
@@ -1263,8 +1263,11 @@ function ServerEngineClass(options) {
1263
1263
  var _aLower = a[1] && a[1].toLowerCase();
1264
1264
  if ( _aLower === 'false' || _aLower === 'true' || _aLower === 'on' )
1265
1265
  a[1] = ( _aLower === 'true' || _aLower === 'on' ) ? true : false;
1266
- else if (a[1] && a[1].indexOf('%') > -1)
1267
- a[1] = decodeURIComponent(a[1]);
1266
+ else if (a[1] && (a[1].indexOf('+') > -1 || a[1].indexOf('%') > -1)) {
1267
+ // #B17: '+' → space per WHATWG URL form-urlencoded parser; must run before decodeURIComponent (which does NOT decode '+').
1268
+ if (a[1].indexOf('+') > -1) a[1] = a[1].replace(/\+/g, ' ');
1269
+ if (a[1].indexOf('%') > -1) a[1] = decodeURIComponent(a[1]);
1270
+ }
1268
1271
 
1269
1272
  if (a[1] && typeof a[1] === 'string' && (a[1].charAt(0) === '{' || a[1].charAt(0) === '[') ) {
1270
1273
  try {
@@ -1284,6 +1287,11 @@ function ServerEngineClass(options) {
1284
1287
  var _aLower2 = a[1] && a[1].toLowerCase();
1285
1288
  if ( _aLower2 === 'false' || _aLower2 === 'true' || _aLower2 === 'on' )
1286
1289
  a[1] = ( _aLower2 === 'true' || _aLower2 === 'on' ) ? true : false;
1290
+ else if (a[1] && (a[1].indexOf('+') > -1 || a[1].indexOf('%') > -1)) {
1291
+ // #B17: '+' → space per WHATWG URL form-urlencoded parser; must run before decodeURIComponent (which does NOT decode '+').
1292
+ if (a[1].indexOf('+') > -1) a[1] = a[1].replace(/\+/g, ' ');
1293
+ if (a[1].indexOf('%') > -1) a[1] = decodeURIComponent(a[1]);
1294
+ }
1287
1295
 
1288
1296
  request.query[ a[0] ] = a[1]
1289
1297
  } else { // for redirection purposes or when passing `?encodedJsonObject`
@@ -3161,7 +3161,7 @@ function Server(options) {
3161
3161
  // get rid of encoding issues
3162
3162
  try {
3163
3163
  if ( !/multipart\/form-data;/.test(request.headers['content-type']) ) {
3164
- if ( !/application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) && /\+/.test(request.body) ) {
3164
+ if ( /application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) && /\+/.test(request.body) ) {
3165
3165
  request.body = request.body.replace(/\+/g, ' ');
3166
3166
  }
3167
3167
 
@@ -3313,7 +3313,7 @@ function Server(options) {
3313
3313
  // get rid of encoding issues
3314
3314
  try {
3315
3315
  if ( !/multipart\/form-data;/.test(request.headers['content-type']) ) {
3316
- if ( !/application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) ) {
3316
+ if ( /application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) ) {
3317
3317
  request.body = request.body.replace(/\+/g, ' ');
3318
3318
  }
3319
3319
 
@@ -3403,7 +3403,7 @@ function Server(options) {
3403
3403
  if ( typeof(request.body) == 'string' ) {
3404
3404
  try {
3405
3405
  if ( !/multipart\/form-data;/.test(request.headers['content-type']) ) {
3406
- if ( !/application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) && /\+/.test(request.body) ) {
3406
+ if ( /application\/x\-www\-form\-urlencoded/.test(request.headers['content-type']) && /\+/.test(request.body) ) {
3407
3407
  request.body = request.body.replace(/\+/g, ' ');
3408
3408
  }
3409
3409
  if ( request.body.substring(0,1) == '?' )
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "gina-framework",
3
- "version": "0.3.11-alpha.2",
3
+ "version": "0.3.12",
4
4
  "dependencies": {
5
- "@rhinostone/swig": "^2.0.1",
5
+ "@rhinostone/swig": "^2.2.0",
6
6
  "intl-messageformat": "^11.2.4",
7
7
  "psl": "^1.15.0"
8
8
  }
package/gna.js CHANGED
@@ -15,14 +15,14 @@
15
15
  'use strict';
16
16
 
17
17
  // Framework core — the main gna module (lifecycle hooks, lib, etc.)
18
- var _gna = require('./framework/v0.3.11/core/gna');
18
+ var _gna = require('./framework/v0.3.12/core/gna');
19
19
 
20
20
  // SuperController and EntitySuper — loaded from their source modules
21
- var SuperController = require('./framework/v0.3.11/core/controller');
22
- var EntitySuper = require('./framework/v0.3.11/core/model/entity');
21
+ var SuperController = require('./framework/v0.3.12/core/controller');
22
+ var EntitySuper = require('./framework/v0.3.12/core/model/entity');
23
23
 
24
24
  // uuid — from the lib registry
25
- var uuid = require('./framework/v0.3.11/lib/uuid');
25
+ var uuid = require('./framework/v0.3.12/lib/uuid');
26
26
 
27
27
  module.exports = {
28
28
 
package/llms.txt CHANGED
@@ -51,7 +51,7 @@ framework/v${version}/
51
51
 
52
52
  ### Swig — `@rhinostone/swig` (npm dependency)
53
53
 
54
- Maintained fork of the abandoned swig 1.4.2 template engine. Published to npm as `@rhinostone/swig@2.0.1` (npm org: `rhinostone`, maintainer: `beemaster`). Repo: `https://github.com/gina-io/swig`. Declared in `framework/v*/package.json` — installed via `npm install` inside the framework directory. Requires `npm install` after clone, merge, or worktree switch (the framework `node_modules/` is gitignored).
54
+ Maintained fork of the abandoned swig 1.4.2 template engine. Published to npm as `@rhinostone/swig@2.2.0` (npm org: `rhinostone`, maintainer: `beemaster`). Repo: `https://github.com/gina-io/swig`. Declared in `framework/v*/package.json` — installed via `npm install` inside the framework directory. Requires `npm install` after clone, merge, or worktree switch (the framework `node_modules/` is gitignored).
55
55
 
56
56
  Previously vendored at `core/deps/swig-1.4.2/` — removed in the migration to the npm dep. CVE-2023-25345 parse-time blocklist (`__proto__`/`constructor`/`prototype`) is patched in the fork's `parser.js` and `tags/set.js`. The path traversal boundary check in `controller.render-swig.js` is Gina's own code and is unaffected by this migration.
57
57
 
@@ -824,3 +824,5 @@ Dev-mode query instrumentation captures every database query tied to the current
824
824
 
825
825
  95. **MongoDB connector — `mongodb` (official driver) wrapper + JSON `pipelines/` files + TTL-index session store** — Document store connector targeting `mongodb >=7.0.0` (current GA). The pre-existing `lib/connector-registry/src/main.js:68` entry pinned an abandoned `>=5.0.0` from the #CN9 placeholder; #CN6 bumped to `>=7.0.0` (latest mongodb is `7.1.1` released March 2026 — three majors past `5.0.0`). Same `npm view <pkg> version` discipline as #CN5's stale-pin trap (#94). **JSON pipeline files at `models/<db>/pipelines/<Entity>/*.json`** describe one Mongo operation each (op + filter / pipeline / doc / etc.) with optional leading JSDoc header carrying `@param {<bson-type>}` and `@return` annotations. Argument placeholders use `{"$arg": N}` (positional, EJSON-like); ObjectId literals use `{"$oid": "<hex>"}`; the literal string `"$scope"` is substituted at load time with the bundle's data isolation scope (`substituteScope` tree-walk in `pipeline-loader.js`). Supported ops: `findOne | find | aggregate | countDocuments | insertOne | insertMany | updateOne | updateMany | replaceOne | deleteOne | deleteMany`. **`castParam`** handles BSON shapes: `objectid` (wraps via `new ObjectId(value)`), `int/int32`, `long/int64` (preserves bigint), `double/number` (parses comma decimal), `boolean` (`/^true$/i`), `string/text`, `date/timestamp`. `Decimal128` and `Binary` deferred to a follow-up. **Session store** auto-creates `createIndex({expiresAt: 1}, {expireAfterSeconds: 0, name: 'sessionsExpiresTTL'})` on first `set()` with `_ttlReady` one-shot guard plus `_ttlPromise` dedupe for concurrent first calls. `IndexOptionsConflict` warn-and-continue (operator intent wins). Document shape `{_id: sid, sess: <JSON string>, expiresAt: Date}`. `get()`, `length()`, and `all()` filter `{expiresAt: {$gt: new Date()}}` to protect against MongoDB's TTL monitor 60-second interval — substantive divergence from ScyllaDB where CQL `USING TTL` reaps server-side and "expired" rows literally don't exist (same intent: return active sessions only, different mechanism). Self-contained — builds its own `MongoClient` (does NOT reuse the `MongodbConnector` entity manager), matching every other gina session store (scylladb / sqlite / redis / couchbase). Promise → callback safety mirrors §13.6 / #CB-BUG-4: every write method calls `fn(null)` explicitly inside `.then()`, never `.then(fn)` directly. Established 2026-05-09 (#CN6).
826
826
 
827
+ 96. **Layout cache concurrent-render ENOENT race — atomic temp+rename closes the gap window between `rmSync` and the post-priming read.** `controller.render-swig.js` primes a per-template layout cache file at `<cachePath>/<bundle>/swig/<subFolder>/layout.html` from the `{% extends "..." %}` directive, then reads it back ~340 sync-code lines below to inline assets. In dev mode (`_cacheIsEnabled !== 'true'`) the priming block USED to delete-then-rewrite (`fs.rmSync(newLayoutFilename)` followed by `await fs.promises.writeFile(newLayoutFilename, buffer)`), which opened a gap window: a concurrent render of the same URL could `rmSync` the file AFTER the first render's `writeFile` completed but BEFORE its later `readFile` syscall opened the file, leaving the first render with `Error: ENOENT: no such file or directory, open '<cache>/<bundle>/swig/.../layout.html'`. Symptom shape: intermittent 500s on parallel POST/GET bursts to the same URL in dev mode (production unaffected — cached mode skips the rmSync entirely). **Fix** — collapse `rmSync + writeFile(target)` into `writeFile(temp) + rename(temp → target)` at BOTH cache-write sites (the priming block AT THE TOP and the post-asset-injection rewrite ~640 lines below). POSIX `rename(2)` is atomic on the same filesystem, so concurrent readers always observe either the prior content or the new content, never an absent file. Per-process unique temp names (`<target>.tmp.<pid>.<Date.now()>.<random>`) avoid TOCTOU on the temp itself. The CVE-2023-25345 `{% extends %}` path-traversal boundary check at the priming block is preserved verbatim. **Reproduction** — a tight in-process Promise.all(50) misses the race because all attempts march in lockstep through awaits; the natural staggering needed for the race to fire comes from the pre-block request-lifecycle awaits in a real HTTP server (routing/middleware/controller setup). A unit-level harness can amplify the race by adding `for (k=0; k<5; k++) await Promise.resolve()` BEFORE the racy block plus a ~10ms sync CPU sink between writeFile and readFile and 0-50ms setTimeout stagger across attempts — that recipe surfaced 205/1000 ENOENT failures pre-fix, 0/1000 post-fix. **Test surface** — `test/core/render-swig.test.js` § 11: four source pins (rmSync removed, writeFile+rename pair at both cache-write sites, temp name embeds pid/time/random) + CVE-2023-25345 preservation pin + a behavior test that exercises 200 concurrent atomic writes and asserts 0 ENOENT. Generalises to any "delete then rewrite a shared file under concurrent renders" pattern — atomic temp+rename is the canonical resolution wherever the read window can outlive the rewrite cycle. Established 2026-05-11.
828
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gina",
3
- "version": "0.3.11",
3
+ "version": "0.3.12",
4
4
  "description": "Node.js MVC framework with built-in HTTP/2, multi-bundle architecture, and scope-based data isolation — no Express dependency",
5
5
  "keywords": [
6
6
  "nodejs",
@@ -56,7 +56,7 @@
56
56
  "gina-container": "bin/gina-container",
57
57
  "gina-init": "bin/gina-init"
58
58
  },
59
- "main": "./framework/v0.3.11/core/gna",
59
+ "main": "./framework/v0.3.12/core/gna",
60
60
  "types": "./types/index.d.ts",
61
61
  "typesVersions": {
62
62
  "*": {
@@ -1 +0,0 @@
1
- 0.3.11
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes