gina 0.4.2-alpha.1 → 0.4.2

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 (458) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +3 -4
  3. package/ROADMAP.md +1 -1
  4. package/framework/v0.4.2/VERSION +1 -0
  5. package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -2
  6. package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/controller.js +4 -2
  7. package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/controller.render-swig.js +22 -6
  8. package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/server.js +21 -0
  9. package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/config/settings.server.json +10 -0
  10. package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/conf/settings.json +8 -0
  11. package/framework/{v0.4.2-alpha.1 → v0.4.2}/package.json +1 -1
  12. package/gna.js +4 -4
  13. package/llms.txt +4 -0
  14. package/package.json +2 -2
  15. package/framework/v0.4.2-alpha.1/VERSION +0 -1
  16. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/AUTHORS +0 -0
  17. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/LICENSE +0 -0
  18. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/html/nolayout.html +0 -0
  19. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/html/static.html +0 -0
  20. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/img/android-chrome-192x192.png +0 -0
  21. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/img/android-chrome-512x512.png +0 -0
  22. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/img/apple-touch-icon.png +0 -0
  23. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/img/favicon-16x16.png +0 -0
  24. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/img/favicon-32x32.png +0 -0
  25. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/img/favicon.ico +0 -0
  26. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/README.md +0 -0
  27. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  28. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  29. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  30. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  31. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  32. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  33. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  34. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  35. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  36. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  37. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  38. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  39. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  40. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/js/gina.js +0 -0
  41. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -0
  42. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  43. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  44. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  45. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  46. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  47. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/config.js +0 -0
  48. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/ai/index.js +0 -0
  49. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/ai/lib/connector.js +0 -0
  50. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/index.js +0 -0
  51. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/lib/connector.js +0 -0
  52. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  53. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  54. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/lib/n1ql.js +0 -0
  55. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/lib/session-store.js +0 -0
  56. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  57. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  58. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/mongodb/index.js +0 -0
  59. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/mongodb/lib/connector.js +0 -0
  60. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  61. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/mongodb/lib/session-store.js +0 -0
  62. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/mysql/index.js +0 -0
  63. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/mysql/lib/connector.js +0 -0
  64. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/postgresql/index.js +0 -0
  65. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/postgresql/lib/connector.js +0 -0
  66. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/redis/index.js +0 -0
  67. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/redis/lib/session-store.js +0 -0
  68. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/scylladb/index.js +0 -0
  69. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/scylladb/lib/connector.js +0 -0
  70. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/scylladb/lib/session-store.js +0 -0
  71. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/sql-parser.js +0 -0
  72. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/sqlite/index.js +0 -0
  73. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/sqlite/lib/connector.js +0 -0
  74. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/connectors/sqlite/lib/session-store.js +0 -0
  75. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/content.encoding +0 -0
  76. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/controller.framework.js +0 -0
  77. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/controller.render-json.js +0 -0
  78. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/controller.render-nunjucks.js +0 -0
  79. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/controller.render-stream.js +0 -0
  80. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/controller.render-v1.js +0 -0
  81. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/index.js +0 -0
  82. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/controller/inspector-window-emit.js +0 -0
  83. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/busboy-1.6.0/LICENSE +0 -0
  84. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/busboy-1.6.0/README.md +0 -0
  85. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  86. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  87. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  88. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  89. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/busboy-1.6.0/package.json +0 -0
  90. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  91. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  92. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/deps/streamsearch-1.1.0/package.json +0 -0
  93. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/dev/index.js +0 -0
  94. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/dev/lib/class.js +0 -0
  95. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/dev/lib/factory.js +0 -0
  96. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/dev/lib/tools.js +0 -0
  97. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/gna.js +0 -0
  98. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/locales/README.md +0 -0
  99. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/locales/currency.json +0 -0
  100. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/locales/dist/language/en.json +0 -0
  101. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/locales/dist/language/fr.json +0 -0
  102. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/locales/dist/region/en.json +0 -0
  103. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/locales/dist/region/fr.json +0 -0
  104. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/locales/index.js +0 -0
  105. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/mime.types +0 -0
  106. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/model/entity.js +0 -0
  107. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/model/index.js +0 -0
  108. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/model/template/entityFactory.js +0 -0
  109. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/model/template/index.js +0 -0
  110. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/README.md +0 -0
  111. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/index.js +0 -0
  112. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/csrf/README.md +0 -0
  113. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/csrf/package.json +0 -0
  114. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/csrf/src/main.js +0 -0
  115. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/README.md +0 -0
  116. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/coep/README.md +0 -0
  117. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/coep/package.json +0 -0
  118. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  119. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/coop/README.md +0 -0
  120. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/coop/package.json +0 -0
  121. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  122. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/corp/README.md +0 -0
  123. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/corp/package.json +0 -0
  124. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  125. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/csp/README.md +0 -0
  126. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/csp/package.json +0 -0
  127. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  128. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  129. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  130. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  131. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  132. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  133. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  134. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  135. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  136. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  137. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/package.json +0 -0
  138. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  139. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  140. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  141. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/src/main.js +0 -0
  142. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  143. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  144. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  145. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  146. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  147. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  148. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  149. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  150. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  151. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  152. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  153. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  154. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  155. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  156. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  157. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  158. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  159. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  160. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/session/README.md +0 -0
  161. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/session/package.json +0 -0
  162. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/session/src/main.js +0 -0
  163. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/storage/README.md +0 -0
  164. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/storage/build.json +0 -0
  165. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/storage/package.json +0 -0
  166. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/storage/src/main.js +0 -0
  167. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/validator/README.md +0 -0
  168. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/validator/build.json +0 -0
  169. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/validator/package.json +0 -0
  170. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/validator/src/form-validator.js +0 -0
  171. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/plugins/lib/validator/src/main.js +0 -0
  172. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/router.js +0 -0
  173. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/server.express.js +0 -0
  174. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/server.isaac.js +0 -0
  175. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/status.codes +0 -0
  176. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/_gitignore +0 -0
  177. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/config/app.json +0 -0
  178. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  179. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/config/routing.json +0 -0
  180. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/config/settings.json +0 -0
  181. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/config/templates.json +0 -0
  182. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  183. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  184. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  185. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  186. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/index.js +0 -0
  187. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle/locales/en.json +0 -0
  188. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  189. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  190. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  191. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  192. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  193. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  194. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  195. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/readme.md +0 -0
  196. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_public/sw.js +0 -0
  197. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  198. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  199. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  200. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  201. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  202. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/command/gina.bat.tpl +0 -0
  203. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/command/gina.tpl +0 -0
  204. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/conf/env.json +0 -0
  205. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/conf/manifest.json +0 -0
  206. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/conf/package.json +0 -0
  207. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/conf/statics.json +0 -0
  208. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/conf/templates.json +0 -0
  209. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/error/client/json/401.json +0 -0
  210. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/error/client/json/403.json +0 -0
  211. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/error/client/json/404.json +0 -0
  212. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/error/server/html/50x.html +0 -0
  213. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/error/server/json/500.json +0 -0
  214. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/error/server/json/503.json +0 -0
  215. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/core/template/extensions/logger/config.json +0 -0
  216. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/console.js +0 -0
  217. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/context.js +0 -0
  218. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/data/LICENSE +0 -0
  219. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/data/README.md +0 -0
  220. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/data/package.json +0 -0
  221. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/data/src/main.js +0 -0
  222. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/dateFormat.js +0 -0
  223. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/index.js +0 -0
  224. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/json/LICENSE +0 -0
  225. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/json/README.md +0 -0
  226. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/json/package.json +0 -0
  227. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/json/src/main.js +0 -0
  228. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/path.js +0 -0
  229. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/plugins/README.md +0 -0
  230. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/plugins/package.json +0 -0
  231. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/plugins/src/api-error.js +0 -0
  232. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/plugins/src/main.js +0 -0
  233. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/prototypes.js +0 -0
  234. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/task.js +0 -0
  235. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/helpers/text.js +0 -0
  236. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/archiver/README.md +0 -0
  237. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/archiver/build.json +0 -0
  238. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/archiver/package.json +0 -0
  239. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/archiver/src/dep/jszip.min.js +0 -0
  240. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/archiver/src/main.js +0 -0
  241. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/async/package.json +0 -0
  242. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/async/src/main.js +0 -0
  243. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cache/README.md +0 -0
  244. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cache/build.json +0 -0
  245. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cache/package.json +0 -0
  246. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cache/src/main.js +0 -0
  247. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/aliases.json +0 -0
  248. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/add.js +0 -0
  249. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/arguments.json +0 -0
  250. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/build.js +0 -0
  251. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/copy.js +0 -0
  252. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/cp.js +0 -0
  253. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/help.js +0 -0
  254. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/help.txt +0 -0
  255. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  256. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/list.js +0 -0
  257. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/mcp-start.js +0 -0
  258. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/mcp.js +0 -0
  259. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/oas.js +0 -0
  260. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/openapi.js +0 -0
  261. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/remove.js +0 -0
  262. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/rename.js +0 -0
  263. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/restart.js +0 -0
  264. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/rm.js +0 -0
  265. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/start.js +0 -0
  266. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/status.js +0 -0
  267. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/bundle/stop.js +0 -0
  268. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/cache/stats.js +0 -0
  269. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/add.js +0 -0
  270. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/arguments.json +0 -0
  271. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/help.js +0 -0
  272. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/help.txt +0 -0
  273. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/list.js +0 -0
  274. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/migrate.js +0 -0
  275. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/remove.js +0 -0
  276. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/connector/rm.js +0 -0
  277. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/add.js +0 -0
  278. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/get.js +0 -0
  279. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/help.js +0 -0
  280. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/help.txt +0 -0
  281. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/link-dev.js +0 -0
  282. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/list.js +0 -0
  283. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/remove.js +0 -0
  284. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/rm.js +0 -0
  285. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/set.js +0 -0
  286. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/unset.js +0 -0
  287. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/env/use.js +0 -0
  288. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/arguments.json +0 -0
  289. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/build.js +0 -0
  290. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/dot.js +0 -0
  291. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/get.js +0 -0
  292. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/help.js +0 -0
  293. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/help.txt +0 -0
  294. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/init.js +0 -0
  295. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/link-node-modules.js +0 -0
  296. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/link.js +0 -0
  297. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/msg.json +0 -0
  298. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/open.js +0 -0
  299. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/restart.js +0 -0
  300. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/set.js +0 -0
  301. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/start.js +0 -0
  302. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/status.js +0 -0
  303. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/stop.js +0 -0
  304. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/tail.js +0 -0
  305. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/update.js +0 -0
  306. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/framework/version.js +0 -0
  307. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/gina-dev.1.md +0 -0
  308. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/gina-framework.1.md +0 -0
  309. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/gina.1.md +0 -0
  310. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/helper.js +0 -0
  311. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/i18n/add.js +0 -0
  312. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/i18n/arguments.json +0 -0
  313. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/i18n/export.js +0 -0
  314. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/i18n/help.js +0 -0
  315. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/i18n/help.txt +0 -0
  316. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/i18n/import.js +0 -0
  317. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/i18n/scan.js +0 -0
  318. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/index.js +0 -0
  319. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/inspector/help.js +0 -0
  320. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/inspector/help.txt +0 -0
  321. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/inspector/open.js +0 -0
  322. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/minion/arguments.json +0 -0
  323. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/minion/help.js +0 -0
  324. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/minion/help.txt +0 -0
  325. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/minion/kill.js +0 -0
  326. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/minion/list.js +0 -0
  327. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/msg.json +0 -0
  328. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/port/help.js +0 -0
  329. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/port/help.txt +0 -0
  330. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/port/inc/scan.js +0 -0
  331. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/port/list.js +0 -0
  332. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/port/reset.js +0 -0
  333. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/port/set.js +0 -0
  334. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/add.js +0 -0
  335. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/arguments.json +0 -0
  336. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/build.js +0 -0
  337. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/help.js +0 -0
  338. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/help.txt +0 -0
  339. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/import.js +0 -0
  340. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/list.js +0 -0
  341. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/move.js +0 -0
  342. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/remove.js +0 -0
  343. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/rename.js +0 -0
  344. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/restart.js +0 -0
  345. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/rm.js +0 -0
  346. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/start.js +0 -0
  347. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/status.js +0 -0
  348. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/project/stop.js +0 -0
  349. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/protocol/arguments.json +0 -0
  350. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/protocol/help.js +0 -0
  351. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/protocol/help.txt +0 -0
  352. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/protocol/list.js +0 -0
  353. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/protocol/remove.js +0 -0
  354. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/protocol/set.js +0 -0
  355. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/add.js +0 -0
  356. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/help.js +0 -0
  357. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/help.txt +0 -0
  358. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/link-local.js +0 -0
  359. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/link-production.js +0 -0
  360. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/list.js +0 -0
  361. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/remove.js +0 -0
  362. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/rm.js +0 -0
  363. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/scope/use.js +0 -0
  364. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/secrets/arguments.json +0 -0
  365. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/secrets/check.js +0 -0
  366. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/secrets/help.js +0 -0
  367. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/secrets/help.txt +0 -0
  368. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/secrets/scan.js +0 -0
  369. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/service/help.js +0 -0
  370. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/service/help.txt +0 -0
  371. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/service/list.js +0 -0
  372. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd/view/add.js +0 -0
  373. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd-status-format/package.json +0 -0
  374. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cmd-status-format/src/main.js +0 -0
  375. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/collection/README.md +0 -0
  376. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/collection/build.json +0 -0
  377. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/collection/package.json +0 -0
  378. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/collection/src/main.js +0 -0
  379. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/config.js +0 -0
  380. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/connector-registry/package.json +0 -0
  381. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/connector-registry/src/main.js +0 -0
  382. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cron/README.md +0 -0
  383. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cron/package.json +0 -0
  384. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/cron/src/main.js +0 -0
  385. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/domain/LICENSE +0 -0
  386. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/domain/README.md +0 -0
  387. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/domain/package.json +0 -0
  388. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/domain/src/main.js +0 -0
  389. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/generator/index.js +0 -0
  390. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/i18n/package.json +0 -0
  391. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/i18n/src/main.js +0 -0
  392. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/index.js +0 -0
  393. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/inherits/LICENSE +0 -0
  394. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/inherits/README.md +0 -0
  395. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/inherits/package.json +0 -0
  396. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/inherits/src/main.js +0 -0
  397. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/inspector-redact/package.json +0 -0
  398. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/inspector-redact/src/main.js +0 -0
  399. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/instrument/package.json +0 -0
  400. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/instrument/src/main.js +0 -0
  401. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/job/package.json +0 -0
  402. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/job/src/main.js +0 -0
  403. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/README.md +0 -0
  404. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/package.json +0 -0
  405. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/containers/default/index.js +0 -0
  406. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/containers/file/index.js +0 -0
  407. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  408. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  409. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/containers/mq/index.js +0 -0
  410. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/containers/mq/listener.js +0 -0
  411. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/containers/mq/speaker.js +0 -0
  412. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/helper.js +0 -0
  413. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/logger/src/main.js +0 -0
  414. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/math/index.js +0 -0
  415. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/mcp-dispatch/package.json +0 -0
  416. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/mcp-dispatch/src/main.js +0 -0
  417. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/mcp-http/package.json +0 -0
  418. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/mcp-http/src/main.js +0 -0
  419. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/mcp-server/package.json +0 -0
  420. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/mcp-server/src/main.js +0 -0
  421. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/merge/README.md +0 -0
  422. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/merge/package.json +0 -0
  423. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/merge/src/main.js +0 -0
  424. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/metrics/package.json +0 -0
  425. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/metrics/src/main.js +0 -0
  426. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/model.js +0 -0
  427. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/nunjucks-filters/README.md +0 -0
  428. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/nunjucks-filters/package.json +0 -0
  429. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/nunjucks-filters/src/main.js +0 -0
  430. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/nunjucks-resolver/package.json +0 -0
  431. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/nunjucks-resolver/src/main.js +0 -0
  432. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/proc.js +0 -0
  433. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/routing/README.md +0 -0
  434. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/routing/build.json +0 -0
  435. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/routing/package.json +0 -0
  436. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/routing/src/main.js +0 -0
  437. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/routing/src/radix.js +0 -0
  438. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/routing-introspect/package.json +0 -0
  439. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/routing-introspect/src/main.js +0 -0
  440. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/secrets/package.json +0 -0
  441. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/secrets/src/backends/env.js +0 -0
  442. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/secrets/src/main.js +0 -0
  443. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/session-store.js +0 -0
  444. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/shell.js +0 -0
  445. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/state.js +0 -0
  446. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/swig-filters/README.md +0 -0
  447. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/swig-filters/package.json +0 -0
  448. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/swig-filters/src/main.js +0 -0
  449. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/swig-resolver/package.json +0 -0
  450. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/swig-resolver/src/main.js +0 -0
  451. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/url/README.md +0 -0
  452. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/url/index.js +0 -0
  453. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/url/routing.json +0 -0
  454. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/uuid/package.json +0 -0
  455. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/uuid/src/main.js +0 -0
  456. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/validator.js +0 -0
  457. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/watcher/package.json +0 -0
  458. /package/framework/{v0.4.2-alpha.1 → v0.4.2}/lib/watcher/src/main.js +0 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,16 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
6
6
  and is generated by [Changie](https://github.com/miniscruff/changie).
7
7
 
8
8
 
9
+ ## 0.4.2 - 2026-06-02
10
+
11
+ _Additive release — opt-in HTTP/3 advertisement (`Alt-Svc`) plus two render-path fixes (`gina-container` HTML 500, layoutless `page.data` restore). No breaking changes, no settings reset._
12
+
13
+ ### Added
14
+ * Added an opt-in `Alt-Svc` HTTP/3-advertisement response header. Set `server.http3Advertisement: true` to emit `Alt-Svc: h3=":443"; ma=86400` on every routed response, advertising HTTP/3 (QUIC) availability so QUIC-capable clients upgrade via a QUIC-capable edge proxy (Caddy / nginx-QUIC / Cloudflare). Gina does not implement QUIC — advertise only. Idempotent (an upstream-set Alt-Svc is never clobbered); off by default.
15
+ ### Fixed
16
+ * `gina-container` (the Docker/K8s foreground launcher) no longer returns HTTP 500 on every HTML-rendering route. The controller read the `GINA_PID` and `GINA_CULTURE` globals directly, which the daemonless launcher does not inject; it now falls back to the bundle process id and the default culture.
17
+ * Layoutless renders (`self.renderWithoutLayout`) now expose controller data both at top level and under `page.data` again. The 0.4.1 top-level-variable change populated only the top level, so fragment templates reading `data.X` / `page.data.X` (via `{% set data = page.data %}`) rendered empty; this restores the `page.data` copy alongside the top-level merge, matching the nunjucks engine. The copy runs before the top-level merge to avoid a circular reference in the layoutless XHR-data serialization.
18
+
9
19
  ## 0.4.1 - 2026-06-01
10
20
  ### Added
11
21
  * New `gina bundle:status` and `gina project:status` CLI commands report the running/stopped state, PID, port, and active env of bundles (human-readable or --format=json).
package/README.md CHANGED
@@ -39,11 +39,10 @@ gina bundle:start api @myproject
39
39
  open https://localhost:3100
40
40
  ```
41
41
 
42
- ## What's in 0.4.1
42
+ ## What's in 0.4.2
43
43
 
44
- - **CLI Tier 2 — run-state + lifecycle commands.** `bundle:status` / `project:status` report a bundle's (or every bundle's) running/stopped state, PID, port, and active env — human-readable or `--format=json`. `minion:list` / `minion:kill` list and reap a project's running bundle child-processes (both pidfile-tracked and `ps`-discovered orphans) with a graceful SIGTERM→SIGKILL escalation and a `--dry-run` preview. `bundle:copy` (alias `bundle:cp`) duplicates a bundle under a new name and `bundle:rename` renames one in place both rewrite the bundle-name footprint and update the manifest / env / ports registry, with `--dry-run` / `--force`. `protocol:remove` reverts a bundle to the project's default protocol and scheme.
45
- - **Runtime template override** — `self.setTemplate(file, ext)` lets a controller action choose its template at request time (e.g. a catch-all dispatcher), resolved verbatim under the templates root. Honoured by both the swig and nunjucks render paths.
46
- - **Fixes** — nunjucks↔swig render parity (`self.setTemplate()` overrides, `controllers/setup.js` filter registration via `this.engine.addFilter()`, and a controller passing a partial `page` object no longer dropping framework-injected page data — webroot, view metadata, session); a crash that could kill a bundle serving static assets over HTTP/2 in dev mode under concurrent requests; `renderWithoutLayout` returning an empty body when the template referenced controller data as top-level variables; and clearer fail-fast errors when the `gina` CLI hits an uninstalled `GINA_VERSION` or when an interactive command (`bundle:add`/`bundle:remove`/`project:remove`/`protocol:set`/`port:set`/`view:add`) runs without a TTY.
44
+ - **HTTP/3 advertisement (opt-in `Alt-Svc`).** Set `server.http3Advertisement: true` to emit `Alt-Svc: h3=":443"; ma=86400` on every routed response, so QUIC-capable browsers upgrade to HTTP/3 via a QUIC-capable edge proxy (Caddy, nginx-QUIC, Cloudflare) — **without Gina implementing QUIC itself.** Off by default; idempotent (an upstream-set `Alt-Svc` is never overwritten).
45
+ - **Fixes** — `gina-container` (the Docker/K8s foreground launcher) no longer returns HTTP 500 on every HTML route (it read the `GINA_PID` / `GINA_CULTURE` globals the daemonless launcher doesn't inject); and layoutless (`renderWithoutLayout`) fragment renders again expose controller data under `page.data` as well as at top level, so templates reading `data.X` / `page.data.X` keep working alongside the 0.4.1 top-level-variable fix — matching the nunjucks engine.
47
46
 
48
47
  See the full [Changelog](./CHANGELOG.md) and [Roadmap](./ROADMAP.md).
49
48
 
package/ROADMAP.md CHANGED
@@ -285,7 +285,7 @@ A cold audit of the Couchbase connector identified two critical security vulnera
285
285
  | ✅ | **Configurable `maxConcurrentStreams` and `initialWindowSize`** — move from hardcoded to `settings.json` `http2Options` | `0.3.0-alpha.1` | 2026-04-05 | All four HTTP/2 server settings configurable: `maxConcurrentStreams` (256), `initialWindowSize` (655350), `maxSessionRejectedStreams` (100), `maxSessionInvalidFrames` (1000). Security guards (`maxHeaderListSize`, `enablePush`) remain hardcoded. |
286
286
  | ✅ | **Application-level rapid reset rate limiter** (CVE-2023-44487) — per-session stream creation counter | `0.3.13` | 2026-05-14 | The Isaac HTTP/2 session handler counts new streams in a rolling 1s window per session; over `maxStreamsPerSecond` (default 200) it sends a GOAWAY and closes the session. More targeted than `maxSessionRejectedStreams` (which counts refused streams, not created ones). Configurable via `settings.json` `http2Options.maxStreamsPerSecond`; `/_gina/info` exposes a `rapidResetBlocked` counter. |
287
287
  | ✅ | **Trailer support** — `stream.sendTrailers()` + `waitForTrailers: true` | `0.4.0` | 2026-05-22 | Opt-in HTTP/2 response trailers via `self.sendTrailers(fields)`. The render pipeline sets `waitForTrailers` and emits the trailing headers after the body (in the `wantTrailers` event), across all render delegates. Activated only when a controller calls `self.sendTrailers(fields)`; HTTP/1.1 and the no-trailers path are unchanged. For gRPC-style streaming (`grpc-status`) and content-integrity (`Digest`) use cases. |
288
- | 📋 | **Alt-Svc header** — advertise HTTP/3 availability | `0.5.0` | Q1 2027 | Set `Alt-Svc: h3=":443"; ma=86400` response header to advertise HTTP/3 (QUIC) availability via a QUIC-capable reverse proxy (nginx, Caddy, Cloudflare). Gina does not need to implement QUIC — just announce it. Opt-in via `settings.server.json`. Native HTTP/3 is out of scope: Node.js has no stable QUIC API, and the standard deployment topology (Gina → proxy → client) already delivers HTTP/3 at the edge. |
288
+ | | **Alt-Svc header** — advertise HTTP/3 availability | `0.5.0` | Q1 2027 | Set `Alt-Svc: h3=":443"; ma=86400` response header to advertise HTTP/3 (QUIC) availability via a QUIC-capable reverse proxy (nginx, Caddy, Cloudflare). Gina does not need to implement QUIC — just announce it. Opt-in via `settings.server.json`. Native HTTP/3 is out of scope: Node.js has no stable QUIC API, and the standard deployment topology (Gina → proxy → client) already delivers HTTP/3 at the edge. |
289
289
  | 📋 | **RFC 9218 Extensible Priorities** — read `Priority: u=N, i` request header | `0.5.0` | Q1 2027 | Use the RFC 9218 priority header to order response writes for multiplexed API clients. Low value for typical HTML page loads; high value for parallel API requests with declared urgency. |
290
290
  | 📋 | **WebSocket over HTTP/2** (RFC 8441 — CONNECT method extension) | `0.5.0` | Q1 2027 | Tunnel WebSocket over an HTTP/2 stream without a separate HTTP/1.1 connection. Node.js supports this since v10.19. Enables WebSocket in HTTP/2-only deployments. |
291
291
 
@@ -0,0 +1 @@
1
+ 0.4.2
@@ -3640,5 +3640,3 @@ details[open] > summary.bm-summary::before {
3640
3640
  text-align: left;
3641
3641
  }
3642
3642
  }
3643
-
3644
- /*# sourceMappingURL=inspector.css.map */
@@ -449,7 +449,8 @@ function SuperController(options) {
449
449
  }
450
450
 
451
451
  set('page.environment.gina', version.number);
452
- set('page.environment.gina pid', GINA_PID);
452
+ // gina-container (daemonless launcher) injects no GINA_PID global — fall back to this pid
453
+ set('page.environment.gina pid', getEnvVar('GINA_PID') || String(process.pid));
453
454
  set('page.environment.nodejs', version.nodejs +' '+ version.platform +' '+ version.arch);
454
455
  set('page.environment.engine', options.conf.server.engine);//version.middleware
455
456
  set('page.environment.uvThreadpoolSize', process.env.UV_THREADPOOL_SIZE);
@@ -704,7 +705,8 @@ function SuperController(options) {
704
705
  set('page.view.route', rule);
705
706
 
706
707
 
707
- var acceptLanguage = GINA_CULTURE; // by default : language-COUNTRY
708
+ // gina-container injects no GINA_CULTURE global fall back to the framework default
709
+ var acceptLanguage = getEnvVar('GINA_CULTURE') || 'en_CM'; // by default : language-COUNTRY
708
710
  if ( typeof(req.headers['accept-language']) != 'undefined' ) {
709
711
  acceptLanguage = req.headers['accept-language']
710
712
  } else if ( typeof(local.options.conf.server.response.header['accept-language']) != 'undefined' ) {
@@ -548,12 +548,28 @@ module.exports = async function render(userData, displayInspector, errOptions, d
548
548
  userData = { page: { view: {}}}
549
549
  } else if ( isWithoutLayout ) {
550
550
  // Layoutless renders (self.renderWithoutLayout) have no page envelope
551
- // — no `view.layout`, no breadcrumb, no session card so the
552
- // `page`-key-presence gating used below for full pages serves no
553
- // purpose here and only buries the controller's context under
554
- // `data.page.data`, where the fragment template's top-level
555
- // {{ var }} references can't reach it. Merge user context at
556
- // top level unconditionally for fragments.
551
+ // — no `view.layout`, no breadcrumb, no session card. Expose the
552
+ // controller's userData two ways so both fragment-template idioms work:
553
+ // (1) at top level, so bare `{{ var }}` references resolve; and
554
+ // (2) under `page.data`, so templates using `{% set data = page.data %}`
555
+ // / `data.X` (the layoutless contract popins rely on) keep working.
556
+ // The page.data copy MUST run BEFORE the top-level merge below: while
557
+ // userData still has no `page` key and `data` is the distinct page
558
+ // envelope, the per-key copy creates only shared leaf refs. Running it
559
+ // AFTER `data = merge(userData, data)` (where `merge` returns its first
560
+ // arg, so `data === userData`) would make `data.page.data` alias `data`
561
+ // — a circular ref that throws in the layoutless XHR-data `JSON.stringify`.
562
+ // Mirrors the render-nunjucks userData stash; additive (page.data already
563
+ // carried these keys before the top-level-only change).
564
+ if ( !isRenderingCustomError && userData && !userData['page'] ) {
565
+ if ( typeof(data['page']) == 'undefined' ) { data['page'] = {}; }
566
+ if ( typeof(data['page']['data']) == 'undefined' ) { data['page']['data'] = {}; }
567
+ for ( var _udk in userData ) {
568
+ if ( Object.prototype.hasOwnProperty.call(userData, _udk) ) {
569
+ data['page']['data'][_udk] = userData[_udk];
570
+ }
571
+ }
572
+ }
557
573
  data = (isRenderingCustomError) ? userData : merge(userData, data)
558
574
  } else if ( userData && !userData['page']) {
559
575
 
@@ -1483,6 +1483,8 @@ function Server(options) {
1483
1483
  * Merges configured response headers (CORS, cache-control, etc.) into the
1484
1484
  * response. Resolves `Access-Control-Allow-Origin` against the bundle's
1485
1485
  * allowed origins list and normalises HTTP/1.1 vs HTTP/2 header names.
1486
+ * When `server.http3Advertisement` is enabled, also emits the opt-in
1487
+ * `Alt-Svc: h3=":443"; ma=86400` HTTP/3-advertisement header (#H11).
1486
1488
  *
1487
1489
  * @inner
1488
1490
  * @private
@@ -1508,6 +1510,25 @@ function Server(options) {
1508
1510
  responseHeaders = {};
1509
1511
  }
1510
1512
 
1513
+ // #H11 — opt-in Alt-Svc HTTP/3-advertisement header on every routed
1514
+ // (user-facing) response. When server.http3Advertisement is true,
1515
+ // advertise an HTTP/3 (QUIC) alternative on :443 so QUIC-capable
1516
+ // clients upgrade via a QUIC-capable edge proxy (Caddy / nginx-QUIC /
1517
+ // Cloudflare). Gina does NOT implement QUIC — advertise only; the edge
1518
+ // terminates HTTP/3 on :443 (NOT the bundle's own listen port). Set via
1519
+ // response.setHeader so it is carried onto both engines: completeHeaders
1520
+ // runs for Isaac routed requests through the composeHeadersMiddleware
1521
+ // drain and for the Express engine alike, and the render delegates fold
1522
+ // response.getHeaders() into the HTTP/2 stream.respond. First-writer-
1523
+ // wins: an upstream-set Alt-Svc is never clobbered. Off by default.
1524
+ if (
1525
+ conf.server.http3Advertisement
1526
+ && typeof(response.getHeader) == 'function'
1527
+ && !response.getHeader('alt-svc')
1528
+ ) {
1529
+ response.setHeader('alt-svc', 'h3=":443"; ma=86400');
1530
+ }
1531
+
1511
1532
  // Copy to avoid override
1512
1533
  resHeaders = JSON.clone(conf.server.response.header);
1513
1534
  if ( typeof(request.routing) == 'undefined' ) {
@@ -31,6 +31,16 @@
31
31
  // "maxStreamsPerSecond": 200
32
32
  // },
33
33
 
34
+ /**
35
+ * `http3Advertisement` setting (#H11)
36
+ * Opt-in Alt-Svc header advertising HTTP/3 (QUIC) at the edge.
37
+ * Set true to emit `Alt-Svc: h3=":443"; ma=86400` on every routed
38
+ * response. Gina does not implement QUIC — a QUIC-capable proxy
39
+ * (Caddy / nginx-QUIC / Cloudflare) terminates HTTP/3 on :443.
40
+ * Idempotent (first-writer-wins); off by default.
41
+ */
42
+ // "http3Advertisement": true,
43
+
34
44
  /**
35
45
  * `response` settings
36
46
  * This section is mostly used to setup CORS
@@ -13,6 +13,14 @@
13
13
  // suspenders bundles can mount both.
14
14
  // Default `false` preserves shipped behaviour; opt-in by setting to `true`.
15
15
  "hidePoweredBy": false,
16
+ // #H11 — opt-in Alt-Svc HTTP/3-advertisement header. When `true`, every
17
+ // routed (user-facing) response carries `Alt-Svc: h3=":443"; ma=86400`,
18
+ // advertising HTTP/3 (QUIC) availability so QUIC-capable clients upgrade
19
+ // via a QUIC-capable edge proxy (Caddy / nginx-QUIC / Cloudflare). Gina
20
+ // does NOT implement QUIC — this only advertises it; the edge terminates
21
+ // HTTP/3 on :443. Idempotent (first-writer-wins: an upstream-set Alt-Svc
22
+ // is never clobbered). Default `false` = zero behaviour change.
23
+ "http3Advertisement": false,
16
24
  // [Listen] Binding address: `0.0.0.0` by default or `127.0.0.1` for ipv4 only, `::` for ipv6 only, `:::` for both
17
25
  "address": "0.0.0.0",
18
26
  // [Listen] Queue length limited to os values : tcp_max_syn_backlog, somaxconn
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gina-framework",
3
- "version": "0.4.2-alpha.1",
3
+ "version": "0.4.2-alpha.2",
4
4
  "dependencies": {
5
5
  "@rhinostone/swig": "^2.5.1",
6
6
  "intl-messageformat": "^11.2.4",
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.4.2-alpha.1/core/gna');
18
+ var _gna = require('./framework/v0.4.2/core/gna');
19
19
 
20
20
  // SuperController and EntitySuper — loaded from their source modules
21
- var SuperController = require('./framework/v0.4.2-alpha.1/core/controller');
22
- var EntitySuper = require('./framework/v0.4.2-alpha.1/core/model/entity');
21
+ var SuperController = require('./framework/v0.4.2/core/controller');
22
+ var EntitySuper = require('./framework/v0.4.2/core/model/entity');
23
23
 
24
24
  // uuid — from the lib registry
25
- var uuid = require('./framework/v0.4.2-alpha.1/lib/uuid');
25
+ var uuid = require('./framework/v0.4.2/lib/uuid');
26
26
 
27
27
  module.exports = {
28
28
 
package/llms.txt CHANGED
@@ -935,3 +935,7 @@ Dev-mode query instrumentation captures every database query tied to the current
935
935
  143. **`lib/cmd-status-format` — shared run-state/port display primitive for the status/list CLI handlers (`pad` / `pickPreferredPort` / `readPidfile`).** `bundle:list`, `service:list`, `bundle:status`, and `project:status` each carried byte-identical inline copies of three helpers; they now consume `lib.cmdStatusFormat` (`var fmt = lib.cmdStatusFormat;` — the ambient registry global; the bare `require('lib/cmd-status-format')` form does NOT resolve in `bin/cli`/`bin/cmd` daemon scope, the same constraint as `routing-introspect`/`connector-registry`, because the `NODE_PATH` shim runs at bundle runtime). The module is **pure** — requires only node `fs`/`path`, reads no framework globals — so it is unit-testable by a direct require. The load-bearing design move: `readPidfile` was generalised from the inline `readPidfile(bundleName, projectName)` (which read the `GINA_HOMEDIR` + `_` globals) to `readPidfile(runDir, bundleName, projectName)` built with `path.join`; callers pass `GINA_HOMEDIR + '/run'`, and `service:list`'s hardwired `@gina` case becomes `fmt.readPidfile(GINA_HOMEDIR + '/run', name, 'gina')`. `pad` / `pickPreferredPort` were already pure and moved verbatim. **Test-extraction pattern**: the four handler test files were source-inspection suites pinning the inline *definitions*; extraction invalidates those pins, so they were rewritten to consume-the-primitive assertions (`/fmt\.readPidfile\(/` + `doesNotMatch /var readPidfile = function/`) and the behavioural coverage moved to `test/lib/cmd-status-format.test.js` (require-by-path, 15 tests) — the handlers' tests stay thin, the primitive is the behavioural surface. `lib/cmd/connector/list.js`'s byte-identical inline `pad(s, width)` was given the same treatment in `79d71abf` (call site routed through `fmt.pad`, test source-pin re-aimed — the new `var fmt` pin tolerates the column-aligned declaration via `/var fmt\s+= /`); `lib/cmd/cache/stats.js`'s `pad(str, len)` is a different signature and stays inline. Commits `fa0e0c1d`..`45459fa9` (+ `79d71abf` connector:list). Established 2026-05-31.
936
936
 
937
937
  144. **`self.setTemplate(file, ext)` — runtime template override (controller action API, shipped `0.4.1-alpha.2`).** A controller action resolving its template dynamically (e.g. a catch-all dispatcher) calls `self.setTemplate(file, ext)` AFTER `setOptions()` to override the rule's default; it stashes `local.options._templateOverride = {file, ext}` (ext leading-dot-normalised; non-string args ignored; bails if `local.options` unset). BOTH render delegates read it and resolve the override **verbatim under the templates root with NO namespace prefixing**: render-swig in the path-resolution block ahead of the `namespace` branch, gated `!isRenderingCustomError` (swig's block is shared with custom-error rendering, so a leftover override must not hijack the framework error template); render-nunjucks via an early `return ovFile` in `resolveTemplatePath()` (its custom-error path uses `errOptions`, which carries no override, so no gate needed). **Inert-API gotcha — the writer alone is a no-op:** #27 shipped the writer with ZERO readers (it set `_templateOverride` but no delegate consumed it; source-inspection tests on the writer passed while the feature did nothing). When adding any 'the delegates read X' API, grep the delegates for the reader first and back it with a BEHAVIOURAL test that the rendered output changes. Commits `9f2471f0` (#27 writer + swig reader) + `61211bfb` (#29 nunjucks reader). Established 2026-06-01.
938
+
939
+ 145. **`bin/gina-container` (the daemonless Docker/K8s launcher) defines only a SUBSET of the `GINA_*` globals the daemon defines, so a BARE `GINA_*` read in the request/render path throws `ReferenceError` (HTTP 500) on every view render under it — read injected globals via `getEnvVar('NAME') || <fallback>`, never as a bare identifier.** A bundle child's bare-global namespace is exactly the keys of `ctxObj.envVars` (`gna.js` `defineDefault(envVars)` → `helpers/context.js` `define()` → `Object.defineProperty(global, NAME)`); a name absent from `envVars` is never declared, so a bare read throws while `getEnvVar('NAME')` returns `undefined` safely. The normal `bundle:start` path (`bin/cli` → `framework:init` + `framework/start.js`) seeds ~36 keys incl. `GINA_PID` and `GINA_CULTURE`/`GINA_CULTURES`/…; `gina-container` is daemonless (no socket server, no `framework:init`) and defines only the ~20 it explicitly `setEnvVar`s, omitting `GINA_PID`, `GINA_CULTURE`, et al. Two bare reads in `setOptions`' `hasViews()` block — `controller.js` `GINA_PID` and `GINA_CULTURE` — therefore 500'd every HTML route under `gina-container` (the first masked the second); both now use `getEnvVar('GINA_PID') || String(process.pid)` and `getEnvVar('GINA_CULTURE') || 'en_CM'`, matching the safe siblings (`render-json.js`, `inspector-window-emit.js`) and the culture default (`config.js`, `init.js`). The `String(process.pid)` fallback runs in the bundle child, yielding the child's own pid — exactly what the daemon's `opt.pid` provides; JSON responses were never affected (render-json already used the guarded reader). Established 2026-06-01.
940
+
941
+ 146. **#H11 Alt-Svc HTTP/3-advertisement header — opt-in `server.http3Advertisement` makes `completeHeaders` (`core/server.js`) emit `Alt-Svc: h3=":443"; ma=86400` on every routed (user-facing) response, BOTH engines; advertise-only (Gina implements no QUIC).** Gate: `if (conf.server.http3Advertisement && typeof(response.getHeader)=='function' && !response.getHeader('alt-svc')) response.setHeader('alt-svc','h3=":443"; ma=86400')` — idempotent first-writer-wins (an upstream/proxy Alt-Svc is never clobbered), off by default (zero behaviour change when unset). **Why `completeHeaders`, not the #HDR8 `/_gina/*` closure-helper:** a framework header's natural home is wherever the responses it must reach are built. #HDR8's X-Powered-By lives on the Isaac `/_gina/*` `writeHead` sites because that is the ONLY place Isaac emits it (Isaac user pages carry no X-Powered-By); Alt-Svc must reach USER-facing pages (that is where browsers cache the h3-upgrade), whose builder is `completeHeaders` — and it covers BOTH engines (Isaac routed requests reach it via the engine-agnostic `composeHeadersMiddleware` drain that `gna.js` registers with `instance.use()` → `instance.completeHeaders`; the render delegates then fold `response.getHeaders()` into the HTTP/2 `stream.respond`). So one gate covers user pages on both engines; the `/_gina/*` framework endpoints (health / metrics / inspector) are NOT browser-h3-upgrade-relevant and deliberately don't carry it (avoids the 17-site `_setPoweredByHeader`-style fan-out + a parallel test pin for zero functional gain). **`:443` is the EDGE's public QUIC port, NOT gina's own listen port** — a QUIC-capable edge (Caddy / nginx-QUIC / Cloudflare) terminates HTTP/3 on :443; advertising gina's internal port (e.g. :3142) would point clients at a port gina does not serve QUIC on (a bare boolean with a fixed `:443` is therefore more correct than deriving from the bound port). Settings: `settings.json > server.http3Advertisement` (sibling of `hidePoweredBy`) + a commented boilerplate `settings.server.json` doc. Tests: `server.test.js` source-pins + a pure-logic replica (present-when-on / absent-when-off / first-writer-wins / typeof-guard). Empirically smoke-confirmed via `bin/gina-container` on a disposable starter bundle (Isaac engine, http/1.1: flag ON → `alt-svc: h3=":443"; ma=86400` on the wire, OFF → absent). Established 2026-06-02.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gina",
3
- "version": "0.4.2-alpha.1",
3
+ "version": "0.4.2",
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",
@@ -72,7 +72,7 @@
72
72
  "gina-container": "bin/gina-container",
73
73
  "gina-init": "bin/gina-init"
74
74
  },
75
- "main": "./framework/v0.4.2-alpha.1/core/gna",
75
+ "main": "./framework/v0.4.2/core/gna",
76
76
  "types": "./types/index.d.ts",
77
77
  "typesVersions": {
78
78
  "*": {
@@ -1 +0,0 @@
1
- 0.4.2-alpha.1
File without changes
File without changes