gina 0.5.1-alpha.2 → 0.5.1

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 (471) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/CONVENTIONS.md +1 -0
  3. package/README.md +5 -4
  4. package/ROADMAP.md +1 -0
  5. package/framework/v0.5.1/VERSION +1 -0
  6. package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.js +35 -9
  7. package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/router.js +29 -0
  8. package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/server.isaac.js +40 -0
  9. package/framework/{v0.5.1-alpha.2 → v0.5.1}/package.json +1 -1
  10. package/gna.js +4 -4
  11. package/llms.txt +15 -50
  12. package/package.json +3 -3
  13. package/script/check_changie_entries.js +4 -4
  14. package/framework/v0.5.1-alpha.2/VERSION +0 -1
  15. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/AUTHORS +0 -0
  16. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/LICENSE +0 -0
  17. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/html/nolayout.html +0 -0
  18. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/html/static.html +0 -0
  19. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/img/android-chrome-192x192.png +0 -0
  20. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/img/android-chrome-512x512.png +0 -0
  21. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/img/apple-touch-icon.png +0 -0
  22. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/img/favicon-16x16.png +0 -0
  23. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/img/favicon-32x32.png +0 -0
  24. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/img/favicon.ico +0 -0
  25. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/README.md +0 -0
  26. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  27. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  28. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  29. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  30. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  31. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  32. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  33. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  34. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  35. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  36. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  37. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  38. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  39. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  40. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/js/gina.js +0 -0
  41. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -0
  42. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  43. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  44. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  45. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  46. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  47. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/config.js +0 -0
  48. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/ai/index.js +0 -0
  49. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/ai/lib/connector.js +0 -0
  50. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/index.js +0 -0
  51. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/lib/connector.js +0 -0
  52. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  53. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  54. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/lib/n1ql.js +0 -0
  55. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/lib/session-store.js +0 -0
  56. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  57. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  58. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/mongodb/index.js +0 -0
  59. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/mongodb/lib/connector.js +0 -0
  60. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  61. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/mongodb/lib/session-store.js +0 -0
  62. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/mysql/index.js +0 -0
  63. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/mysql/lib/connector.js +0 -0
  64. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/postgresql/index.js +0 -0
  65. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/postgresql/lib/connector.js +0 -0
  66. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/redis/index.js +0 -0
  67. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/redis/lib/session-store.js +0 -0
  68. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/scylladb/index.js +0 -0
  69. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/scylladb/lib/connector.js +0 -0
  70. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/scylladb/lib/session-store.js +0 -0
  71. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/sql-parser.js +0 -0
  72. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/sqlite/index.js +0 -0
  73. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/sqlite/lib/connector.js +0 -0
  74. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/connectors/sqlite/lib/session-store.js +0 -0
  75. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/content.encoding +0 -0
  76. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.framework.js +0 -0
  77. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.render-json.js +0 -0
  78. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.render-nunjucks-async.js +0 -0
  79. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.render-nunjucks.js +0 -0
  80. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.render-stream.js +0 -0
  81. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.render-swig-async.js +0 -0
  82. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.render-swig.js +0 -0
  83. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/controller.render-v1.js +0 -0
  84. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/index.js +0 -0
  85. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/controller/inspector-window-emit.js +0 -0
  86. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/busboy-1.6.0/LICENSE +0 -0
  87. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/busboy-1.6.0/README.md +0 -0
  88. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  89. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  90. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  91. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  92. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/busboy-1.6.0/package.json +0 -0
  93. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  94. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  95. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/deps/streamsearch-1.1.0/package.json +0 -0
  96. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/dev/index.js +0 -0
  97. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/dev/lib/class.js +0 -0
  98. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/dev/lib/factory.js +0 -0
  99. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/dev/lib/tools.js +0 -0
  100. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/gna.js +0 -0
  101. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/locales/README.md +0 -0
  102. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/locales/currency.json +0 -0
  103. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/locales/dist/language/en.json +0 -0
  104. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/locales/dist/language/fr.json +0 -0
  105. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/locales/dist/region/en.json +0 -0
  106. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/locales/dist/region/fr.json +0 -0
  107. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/locales/index.js +0 -0
  108. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/mime.types +0 -0
  109. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/model/entity.js +0 -0
  110. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/model/index.js +0 -0
  111. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/model/template/entityFactory.js +0 -0
  112. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/model/template/index.js +0 -0
  113. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/README.md +0 -0
  114. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/index.js +0 -0
  115. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/csrf/README.md +0 -0
  116. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/csrf/package.json +0 -0
  117. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/csrf/src/main.js +0 -0
  118. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/README.md +0 -0
  119. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/coep/README.md +0 -0
  120. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/coep/package.json +0 -0
  121. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  122. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/coop/README.md +0 -0
  123. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/coop/package.json +0 -0
  124. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  125. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/corp/README.md +0 -0
  126. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/corp/package.json +0 -0
  127. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  128. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/csp/README.md +0 -0
  129. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/csp/package.json +0 -0
  130. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  131. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  132. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  133. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  134. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  135. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  136. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  137. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  138. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  139. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  140. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/package.json +0 -0
  141. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  142. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  143. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  144. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/src/main.js +0 -0
  145. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  146. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  147. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  148. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  149. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  150. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  151. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  152. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  153. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  154. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  155. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  156. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  157. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  158. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  159. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  160. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  161. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  162. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  163. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/session/README.md +0 -0
  164. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/session/package.json +0 -0
  165. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/session/src/main.js +0 -0
  166. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/storage/README.md +0 -0
  167. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/storage/build.json +0 -0
  168. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/storage/package.json +0 -0
  169. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/storage/src/main.js +0 -0
  170. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/validator/README.md +0 -0
  171. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/validator/build.json +0 -0
  172. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/validator/package.json +0 -0
  173. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/validator/src/form-validator.js +0 -0
  174. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/plugins/lib/validator/src/main.js +0 -0
  175. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/server.express.js +0 -0
  176. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/server.js +0 -0
  177. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/status.codes +0 -0
  178. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/_gitignore +0 -0
  179. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/config/app.json +0 -0
  180. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  181. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
  182. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/config/settings.json +0 -0
  183. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  184. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/config/templates.json +0 -0
  185. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  186. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  187. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  188. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  189. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/index.js +0 -0
  190. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle/locales/en.json +0 -0
  191. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  192. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  193. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  194. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  195. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  196. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  197. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  198. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
  199. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_public/sw.js +0 -0
  200. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  201. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  202. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  203. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  204. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  205. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/command/gina.bat.tpl +0 -0
  206. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/command/gina.tpl +0 -0
  207. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/conf/env.json +0 -0
  208. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/conf/manifest.json +0 -0
  209. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/conf/package.json +0 -0
  210. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/conf/settings.json +0 -0
  211. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/conf/statics.json +0 -0
  212. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/conf/templates.json +0 -0
  213. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/error/client/json/401.json +0 -0
  214. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/error/client/json/403.json +0 -0
  215. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/error/client/json/404.json +0 -0
  216. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/error/server/html/50x.html +0 -0
  217. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/error/server/json/500.json +0 -0
  218. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/error/server/json/503.json +0 -0
  219. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/core/template/extensions/logger/config.json +0 -0
  220. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/console.js +0 -0
  221. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/context.js +0 -0
  222. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/data/LICENSE +0 -0
  223. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/data/README.md +0 -0
  224. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/data/package.json +0 -0
  225. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/data/src/main.js +0 -0
  226. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/dateFormat.js +0 -0
  227. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/index.js +0 -0
  228. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/json/LICENSE +0 -0
  229. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/json/README.md +0 -0
  230. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/json/package.json +0 -0
  231. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/json/src/main.js +0 -0
  232. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/path.js +0 -0
  233. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/plugins/README.md +0 -0
  234. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/plugins/package.json +0 -0
  235. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/plugins/src/api-error.js +0 -0
  236. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/plugins/src/main.js +0 -0
  237. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/prototypes.js +0 -0
  238. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/task.js +0 -0
  239. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/helpers/text.js +0 -0
  240. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/archiver/README.md +0 -0
  241. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/archiver/build.json +0 -0
  242. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/archiver/package.json +0 -0
  243. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/archiver/src/dep/jszip.min.js +0 -0
  244. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/archiver/src/main.js +0 -0
  245. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/async/package.json +0 -0
  246. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/async/src/main.js +0 -0
  247. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cache/README.md +0 -0
  248. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cache/build.json +0 -0
  249. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cache/package.json +0 -0
  250. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cache/src/main.js +0 -0
  251. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/aliases.json +0 -0
  252. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/add.js +0 -0
  253. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/arguments.json +0 -0
  254. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/build.js +0 -0
  255. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/copy.js +0 -0
  256. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/cp.js +0 -0
  257. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/help.js +0 -0
  258. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/help.txt +0 -0
  259. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  260. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/list.js +0 -0
  261. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/mcp-start.js +0 -0
  262. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/mcp.js +0 -0
  263. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/oas.js +0 -0
  264. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/openapi.js +0 -0
  265. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/remove.js +0 -0
  266. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/rename.js +0 -0
  267. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/restart.js +0 -0
  268. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/rm.js +0 -0
  269. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/start.js +0 -0
  270. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/status.js +0 -0
  271. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/bundle/stop.js +0 -0
  272. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/cache/stats.js +0 -0
  273. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/add.js +0 -0
  274. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/arguments.json +0 -0
  275. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/help.js +0 -0
  276. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/help.txt +0 -0
  277. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/list.js +0 -0
  278. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/migrate.js +0 -0
  279. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/remove.js +0 -0
  280. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/connector/rm.js +0 -0
  281. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/add.js +0 -0
  282. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/get.js +0 -0
  283. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/help.js +0 -0
  284. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/help.txt +0 -0
  285. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/link-dev.js +0 -0
  286. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/list.js +0 -0
  287. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/remove.js +0 -0
  288. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/rm.js +0 -0
  289. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/set.js +0 -0
  290. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/unset.js +0 -0
  291. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/env/use.js +0 -0
  292. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/arguments.json +0 -0
  293. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/build.js +0 -0
  294. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/dot.js +0 -0
  295. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/get.js +0 -0
  296. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/help.js +0 -0
  297. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/help.txt +0 -0
  298. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/init.js +0 -0
  299. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/link-node-modules.js +0 -0
  300. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/link.js +0 -0
  301. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/msg.json +0 -0
  302. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/open.js +0 -0
  303. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/restart.js +0 -0
  304. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/set.js +0 -0
  305. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/start.js +0 -0
  306. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/status.js +0 -0
  307. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/stop.js +0 -0
  308. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/tail.js +0 -0
  309. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/update.js +0 -0
  310. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/framework/version.js +0 -0
  311. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/gina-dev.1.md +0 -0
  312. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/gina-framework.1.md +0 -0
  313. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/gina.1.md +0 -0
  314. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/helper.js +0 -0
  315. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/i18n/add.js +0 -0
  316. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/i18n/arguments.json +0 -0
  317. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/i18n/export.js +0 -0
  318. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/i18n/help.js +0 -0
  319. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/i18n/help.txt +0 -0
  320. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/i18n/import.js +0 -0
  321. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/i18n/scan.js +0 -0
  322. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/index.js +0 -0
  323. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/inspector/help.js +0 -0
  324. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/inspector/help.txt +0 -0
  325. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/inspector/open.js +0 -0
  326. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/minion/arguments.json +0 -0
  327. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/minion/help.js +0 -0
  328. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/minion/help.txt +0 -0
  329. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/minion/kill.js +0 -0
  330. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/minion/list.js +0 -0
  331. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/msg.json +0 -0
  332. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/port/help.js +0 -0
  333. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/port/help.txt +0 -0
  334. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/port/inc/scan.js +0 -0
  335. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/port/list.js +0 -0
  336. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/port/reset.js +0 -0
  337. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/port/set.js +0 -0
  338. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/add.js +0 -0
  339. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/arguments.json +0 -0
  340. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/build.js +0 -0
  341. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/help.js +0 -0
  342. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/help.txt +0 -0
  343. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/import.js +0 -0
  344. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/list.js +0 -0
  345. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/move.js +0 -0
  346. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/remove.js +0 -0
  347. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/rename.js +0 -0
  348. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/restart.js +0 -0
  349. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/rm.js +0 -0
  350. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/start.js +0 -0
  351. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/status.js +0 -0
  352. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/project/stop.js +0 -0
  353. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/protocol/arguments.json +0 -0
  354. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/protocol/help.js +0 -0
  355. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/protocol/help.txt +0 -0
  356. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/protocol/list.js +0 -0
  357. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/protocol/remove.js +0 -0
  358. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/protocol/set.js +0 -0
  359. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/add.js +0 -0
  360. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/help.js +0 -0
  361. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/help.txt +0 -0
  362. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/link-local.js +0 -0
  363. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/link-production.js +0 -0
  364. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/list.js +0 -0
  365. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/remove.js +0 -0
  366. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/rm.js +0 -0
  367. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/scope/use.js +0 -0
  368. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/secrets/arguments.json +0 -0
  369. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/secrets/check.js +0 -0
  370. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/secrets/help.js +0 -0
  371. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/secrets/help.txt +0 -0
  372. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/secrets/scan.js +0 -0
  373. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/service/help.js +0 -0
  374. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/service/help.txt +0 -0
  375. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/service/list.js +0 -0
  376. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/service/start.js +0 -0
  377. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd/view/add.js +0 -0
  378. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd-status-format/package.json +0 -0
  379. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cmd-status-format/src/main.js +0 -0
  380. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/collection/README.md +0 -0
  381. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/collection/build.json +0 -0
  382. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/collection/package.json +0 -0
  383. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/collection/src/main.js +0 -0
  384. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/config.js +0 -0
  385. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/connector-registry/package.json +0 -0
  386. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/connector-registry/src/main.js +0 -0
  387. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cron/README.md +0 -0
  388. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cron/package.json +0 -0
  389. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/cron/src/main.js +0 -0
  390. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/domain/LICENSE +0 -0
  391. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/domain/README.md +0 -0
  392. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/domain/package.json +0 -0
  393. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/domain/src/main.js +0 -0
  394. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/generator/index.js +0 -0
  395. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/i18n/package.json +0 -0
  396. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/i18n/src/main.js +0 -0
  397. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/index.js +0 -0
  398. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/inherits/LICENSE +0 -0
  399. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/inherits/README.md +0 -0
  400. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/inherits/package.json +0 -0
  401. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/inherits/src/main.js +0 -0
  402. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/inspector-redact/package.json +0 -0
  403. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/inspector-redact/src/main.js +0 -0
  404. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/instrument/package.json +0 -0
  405. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/instrument/src/main.js +0 -0
  406. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/job/package.json +0 -0
  407. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/job/src/main.js +0 -0
  408. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/README.md +0 -0
  409. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/package.json +0 -0
  410. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/containers/default/index.js +0 -0
  411. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/containers/file/index.js +0 -0
  412. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  413. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  414. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/containers/mq/index.js +0 -0
  415. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/containers/mq/listener.js +0 -0
  416. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/containers/mq/speaker.js +0 -0
  417. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/helper.js +0 -0
  418. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/logger/src/main.js +0 -0
  419. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/math/index.js +0 -0
  420. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/mcp-dispatch/package.json +0 -0
  421. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/mcp-dispatch/src/main.js +0 -0
  422. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/mcp-http/package.json +0 -0
  423. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/mcp-http/src/main.js +0 -0
  424. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/mcp-server/package.json +0 -0
  425. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/mcp-server/src/main.js +0 -0
  426. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/merge/README.md +0 -0
  427. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/merge/package.json +0 -0
  428. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/merge/src/main.js +0 -0
  429. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/metrics/package.json +0 -0
  430. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/metrics/src/main.js +0 -0
  431. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/model.js +0 -0
  432. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/nunjucks-filters/README.md +0 -0
  433. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/nunjucks-filters/package.json +0 -0
  434. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/nunjucks-filters/src/main.js +0 -0
  435. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/nunjucks-resolver/package.json +0 -0
  436. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/nunjucks-resolver/src/main.js +0 -0
  437. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/proc.js +0 -0
  438. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/routing/README.md +0 -0
  439. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/routing/build.json +0 -0
  440. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/routing/package.json +0 -0
  441. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/routing/src/main.js +0 -0
  442. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/routing/src/radix.js +0 -0
  443. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/routing-introspect/package.json +0 -0
  444. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/routing-introspect/src/main.js +0 -0
  445. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/secrets/package.json +0 -0
  446. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/secrets/src/backends/env.js +0 -0
  447. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/secrets/src/main.js +0 -0
  448. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/session-store.js +0 -0
  449. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/shell.js +0 -0
  450. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/state.js +0 -0
  451. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/swig-filters/README.md +0 -0
  452. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/swig-filters/package.json +0 -0
  453. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/swig-filters/src/main.js +0 -0
  454. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/swig-resolver/package.json +0 -0
  455. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/swig-resolver/src/main.js +0 -0
  456. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/template-loaders/package.json +0 -0
  457. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/template-loaders/src/loaders/http.js +0 -0
  458. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/template-loaders/src/loaders/memory.js +0 -0
  459. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/template-loaders/src/main.js +0 -0
  460. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/url/README.md +0 -0
  461. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/url/index.js +0 -0
  462. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/url/routing.json +0 -0
  463. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/uuid/package.json +0 -0
  464. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/uuid/src/main.js +0 -0
  465. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/validator.js +0 -0
  466. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/watcher/package.json +0 -0
  467. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/watcher/src/main.js +0 -0
  468. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/ws-framing/package.json +0 -0
  469. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/ws-framing/src/main.js +0 -0
  470. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/ws-session/package.json +0 -0
  471. /package/framework/{v0.5.1-alpha.2 → v0.5.1}/lib/ws-session/src/main.js +0 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,15 @@ 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.5.1 - 2026-06-12
10
+ ### Added
11
+ * Stable publishes now run a ROADMAP.md consistency gate (script/check_roadmap_consistency.js, wired into the release prepare step alongside the README freshness gate). The publish aborts when an open roadmap row still references the exact version being released (the row would become stale the moment the tag lands) or when a done row is labelled with a version newer than the one shipping; a missing "released" timeline mark is surfaced as a warning only. Alpha publishes skip the gate.
12
+ ### Fixed
13
+ * Fixed a bundle-killing crash when an error fired after the response was already sent. A late throwError() — e.g. an entity or query callback resuming after a redirect() had already issued its 301 and released the per-request response — dereferenced the released response and threw TypeError (reading getHeaders), escalating to uncaughtException and a SIGTERM bundle shutdown that also dropped every in-flight request. Late throwError() calls now log the swallowed error and no-op, and headersSent() treats a released response as already-sent so second render calls no-op too (#B31).
14
+ * Fixed a dev-mode per-request memory leak that could kill heavily-loaded bundles with a heap-limit OOM (SIGABRT): the hot-reload eviction cycles (refreshCore in the isaac engine, refreshCoreDependencies in the router) delete and re-require framework modules on every request, and each cache-miss require pushes the fresh Module onto its long-lived parent's children array — Node only dedupes on cache hits — pinning the dead module graphs forever (~1.8 MB of live heap retained per request measured on a minimal bundle, process death at ~2400 requests). Both cycles now prune stale Module references from every cached module's children after eviction; production mode was never affected. (#B32)
15
+ * Fixed the inter-bundle proxy (SuperController::query() over HTTP/2) re-labeling its raw-JSON request body with the incoming request's Content-Type. When the incoming browser request was a plain urlencoded form POST, the receiving bundle parsed the raw JSON through its urlencoded branch — corrupting `+`/`%XX` sequences inside JSON string values (e.g. a `+`-alias email losing its `+`). The `application/json` label query() sets for the body it serializes itself is now preserved; the incoming-Content-Type forward is kept for non-JSON outbound bodies. (#FORMCT2)
16
+ * Fixed a family of bundle-killing crashes when an HTTP/2 inter-bundle query outlives its own request: retry re-entries and late upstream responses ran against a response that a terminal exit (e.g. a redirect that lets the middleware chain continue) had already released, dereferencing null — the header-forward prep block on every retry re-entry, the session lookup behind isHaltedRequest, and both 3xx redirect intercepts. All sites are now null-guarded: forwards and intercepts no-op on a released request (options.headers already carries the first attempt's values, so nothing is lost), and the session lookup reports no session. Live-request behaviour is byte-identical. (#B33)
17
+
9
18
  ## 0.5.0 - 2026-06-11
10
19
  ### Added
11
20
  * ESM compatibility layer (#M10): package.json now declares an "exports" map with dual CJS/ESM entry points — `import gina from 'gina'` and `import gna from 'gina/gna'` work natively in ESM projects and modern bundlers (default exports only; the gina/gna getter semantics are preserved). CJS `require()` resolution is byte-identical to before, and TypeScript declarations keep resolving via per-entry "types" conditions. The documented public surface is the bare specifier, ./gna and ./package.json; undeclared deep subpaths are no longer resolvable.
package/CONVENTIONS.md CHANGED
@@ -391,6 +391,7 @@ exports.setUp = function(done) {
391
391
  - Test names use `[ category ] description` format for grouping
392
392
  - Setup guards (`if (initialized) return done()`) prevent re-execution across test suites
393
393
  - New unit tests go in `test/core/` with numeric prefix for ordering
394
+ - **Test counts in docs and changelogs are measured, never estimated.** Don't write an "N unit tests" claim before running the test — estimating from section count consistently undercounts (behaviour sections run 10-15 tests, not ~5). The corrective is mechanical: run `node --test test/core/<file>.test.js 2>&1 | tail -10`, copy the `ℹ tests N` line, and write that exact N. Use `TODO_test_count` placeholders in drafts and fill from the actual output before staging.
394
395
 
395
396
  **Recommendation:**
396
397
  Migrate to `node:test` (built-in, Node 18+) for all new test files — `nodeunit` is unmaintained. Do not convert existing tests; add `node:test` tests alongside. The HTTP/2 client mock harness (#UT1) should use `node:test + node:assert` natively.
package/README.md CHANGED
@@ -39,11 +39,12 @@ gina bundle:start api @myproject
39
39
  open https://localhost:3100
40
40
  ```
41
41
 
42
- ## What's in 0.5.0
42
+ ## What's in 0.5.1
43
43
 
44
- - **Native ESM entry points.** `package.json` now declares an `"exports"` map with dual CJS/ESM entries`import gina from 'gina'` and `import gna from 'gina/gna'` work natively in ESM projects and modern bundlers (default exports only; the `gina/gna` getters resolve at access time, after framework boot). CJS `require()` resolution is byte-identical to before, and TypeScript declarations keep resolving through per-entry `types` conditions. Note: with the `exports` map in place, the package's Node-resolvable surface is exactly `gina`, `gina/gna`, and `gina/package.json` undeclared deep subpaths are no longer resolvable.
45
- - **Mixed template engines per bundle.** A `templates.json` section declaring `"ext": ".njk"` (or a `self.setTemplate(file, '.njk')` call) renders through nunjucks and `".swig"` through swig — regardless of the bundle-level `render.engine` setting. `.html` and any other extension keep following `render.engine`, so existing bundles are unchanged. Bundles with `.njk` sections get the same fail-fast `NUNJUCKS_NOT_INSTALLED` startup check as nunjucks-engine bundles.
46
- - **Nunjucks Inspector parity (dev mode).** Dev-mode nunjucks pages now render the Inspector statusbar and expose the query log as `data.page.queries` alongside the flow timeline the Inspector Queries tab no longer renders empty for nunjucks bundles.
44
+ - **Released-response crash family fixed (bundle-killing).** A late `throwError()` after the response was already sent e.g. an entity or query callback resuming after a `redirect()` had already issued its 301 dereferenced the released response, escalating to an `uncaughtException` and a SIGTERM bundle shutdown that dropped every in-flight request. Late calls now log the swallowed error and no-op. The same guard family covers the HTTP/2 inter-bundle query paths: retry re-entries, late upstream responses, and both 3xx redirect intercepts no longer crash when the originating request has already terminated.
45
+ - **Dev-mode hot-reload memory leak fixed.** The per-request hot-reload eviction cycles retained ~1.8 MB of live heap per request through dead `module.children` references, killing heavily-loaded dev bundles with a heap-limit OOM. Both cycles now prune stale module references after eviction; production mode was never affected.
46
+ - **Inter-bundle proxy Content-Type fix.** `query()` over HTTP/2 no longer re-labels the raw-JSON body it serializes itself with the incoming request's Content-Type a urlencoded browser POST proxied between bundles no longer corrupts `+`/`%XX` sequences inside JSON string values.
47
+ - **ROADMAP consistency release gate.** Stable publishes now abort when a roadmap row is stale relative to the version being released, alongside the existing README freshness gate.
47
48
 
48
49
  See the full [Changelog](./CHANGELOG.md) and [Roadmap](./ROADMAP.md).
49
50
 
package/ROADMAP.md CHANGED
@@ -25,6 +25,7 @@ This roadmap covers planned features, architectural improvements, new connectors
25
25
  | **Q2 2026** | `0.3.10` ✅ | FormValidator HTML5 form-reassociation hardening trilogy (`HTMLFormControlsCollection`-based `bindForm` + `unbindForm` symmetry · radio mutual-exclusion + IDL/attribute reconciliation · `defaultChecked` cache for reset) · `X-Forwarded-Prefix` reverse-proxy path-prefix awareness |
26
26
  | **Q2 2026** | `0.4.0` ✅ | Couchbase v2 removal (BREAKING — SDK v2 connector + session store dropped) · HTTP/2 response trailers · async-job primitive · CSP per-response nonce · `secrets:scan` / `secrets:check` CLI · SQL column-level index coverage — of the items originally targeted here: AI agents (MCP) shipped `0.3.7`, ScyllaDB `0.3.11`, CLI Tier 2 `0.4.1`, the docs offline ZIP is live on the docs site, and the Advanced tutorial · website redesign · Bun investigation moved to `0.5.x` |
27
27
  | **Q2 2026** | `0.5.0` ✅ | ESM entry points (dual CJS/ESM `exports` map) · Mixed template engines per bundle (extension-keyed `.njk` / `.swig` dispatch) · Nunjucks Inspector parity — the other items originally targeted here shipped earlier: structured logging (`0.4.5`), Alt-Svc (`0.4.2`), WebSocket over HTTP/2 (`0.4.7`), Inspector production auth (`0.4.0`) |
28
+ | **Q2 2026** | `0.5.1` ✅ | Patch: released-response crash family — late `throwError()` and the HTTP/2 inter-bundle query retry / late-response / redirect-intercept paths no longer kill the bundle · dev-mode hot-reload `module.children` heap leak fixed (OOM under sustained load) · inter-bundle proxy JSON bodies keep their `application/json` label · ROADMAP consistency release gate |
28
29
  | **Q1 2027** | `0.5.x` | HTTP/2 priorities (blocked on Node scheduler hooks) · CLI Tier 3 (project:move, framework:update, backup/restore, man pages) · Beemaster admin + visual translation editor |
29
30
  | **Q3 2027** | `1.0.0` | First stable release — Windows alpha compatibility is a hard gate |
30
31
 
@@ -0,0 +1 @@
1
+ 0.5.1
@@ -3318,11 +3318,11 @@ if ( /^local$/i.test(process.env.NODE_SCOPE) ) {
3318
3318
  // proxy_set_header X-Ingress-IP $server_addr
3319
3319
  // proxy_set_header X-Forwarded-For $remote_addr;
3320
3320
  // # EO - Specific headers for Gina
3321
- if ( typeof(local.req.headers['x-client-ip']) != 'undefined' && local.req.headers['x-client-ip'] != options.headers['x-client-ip'] ) {
3321
+ if ( local.req != null && typeof(local.req.headers['x-client-ip']) != 'undefined' && local.req.headers['x-client-ip'] != options.headers['x-client-ip'] ) {
3322
3322
  options.headers['x-client-ip'] = local.req.headers['x-client-ip']
3323
3323
  }
3324
3324
 
3325
- if ( typeof(local.req.headers['x-ingress-ip']) != 'undefined' && local.req.headers['x-ingress-ip'] != options.headers['x-ingress-ip'] ) {
3325
+ if ( local.req != null && typeof(local.req.headers['x-ingress-ip']) != 'undefined' && local.req.headers['x-ingress-ip'] != options.headers['x-ingress-ip'] ) {
3326
3326
  options.headers['x-ingress-ip'] = local.req.headers['x-ingress-ip']
3327
3327
  }
3328
3328
 
@@ -3859,15 +3859,29 @@ if ( /^local$/i.test(process.env.NODE_SCOPE) ) {
3859
3859
  } = browser.constants;
3860
3860
 
3861
3861
 
3862
- if ( typeof(local.req.headers['x-requested-with']) != 'undefined' ) {
3862
+ // #B33 — every retry re-entry (setTimeout handleHTTP2ClientRequest) re-executes
3863
+ // these forwards, and a terminal exit (e.g. redirect-then-continue) may have
3864
+ // released local.req in between: each forward is null-guarded with query()'s own
3865
+ // idiom. Skipping a forward on a released request is a no-op, not a behavior
3866
+ // change — options.headers already carries the attempt-1 values (the same options
3867
+ // object travels through every retry).
3868
+ if ( local.req != null && typeof(local.req.headers['x-requested-with']) != 'undefined' ) {
3863
3869
  options.headers['x-requested-with'] = local.req.headers['x-requested-with']
3864
3870
  }
3865
3871
 
3866
- if ( typeof(local.req.headers['access-control-allow-credentials']) != 'undefined' ) {
3872
+ if ( local.req != null && typeof(local.req.headers['access-control-allow-credentials']) != 'undefined' ) {
3867
3873
  options.headers['access-control-allow-credentials'] = local.req.headers['access-control-allow-credentials']
3868
3874
  }
3869
3875
 
3870
- if ( typeof(local.req.headers['content-type']) != 'undefined' && local.req.headers['content-type'] != options.headers['content-type'] ) {
3876
+ // #FORMCT2 never clobber an `application/json` outbound Content-Type with the
3877
+ // INCOMING request's. query() serializes the inter-bundle body as raw JSON
3878
+ // (queryData = JSON.stringify) and labels it application/json; forwarding the
3879
+ // incoming CT here re-labels that JSON body (e.g. as urlencoded when the browser
3880
+ // request was a plain form POST — canonical case: a haltedRequest resume), and the
3881
+ // receiving bundle's urlencoded parse then corrupts `+`/`%XX` inside JSON string
3882
+ // values (same corruption #FORMCT fixed in the browser validator). The forward is
3883
+ // kept for non-JSON outbound bodies (e.g. the MSIE text/plain override).
3884
+ if ( local.req != null && typeof(local.req.headers['content-type']) != 'undefined' && local.req.headers['content-type'] != options.headers['content-type'] && !/application\/json/i.test(options.headers['content-type']) ) {
3871
3885
  options.headers['content-type'] = local.req.headers['content-type']
3872
3886
  }
3873
3887
 
@@ -3877,11 +3891,11 @@ if ( /^local$/i.test(process.env.NODE_SCOPE) ) {
3877
3891
  // proxy_set_header X-Ingress-IP $server_addr
3878
3892
  // proxy_set_header X-Forwarded-For $remote_addr;
3879
3893
  // # EO - Specific headers for Gina
3880
- if ( typeof(local.req.headers['x-client-ip']) != 'undefined' && local.req.headers['x-client-ip'] != options.headers['x-client-ip'] ) {
3894
+ if ( local.req != null && typeof(local.req.headers['x-client-ip']) != 'undefined' && local.req.headers['x-client-ip'] != options.headers['x-client-ip'] ) {
3881
3895
  options.headers['x-client-ip'] = local.req.headers['x-client-ip']
3882
3896
  }
3883
3897
 
3884
- if ( typeof(local.req.headers['x-ingress-ip']) != 'undefined' && local.req.headers['x-ingress-ip'] != options.headers['x-ingress-ip'] ) {
3898
+ if ( local.req != null && typeof(local.req.headers['x-ingress-ip']) != 'undefined' && local.req.headers['x-ingress-ip'] != options.headers['x-ingress-ip'] ) {
3885
3899
  options.headers['x-ingress-ip'] = local.req.headers['x-ingress-ip']
3886
3900
  }
3887
3901
 
@@ -4198,7 +4212,10 @@ if ( /^local$/i.test(process.env.NODE_SCOPE) ) {
4198
4212
 
4199
4213
  try {
4200
4214
  // Intercepting fallback redirect (3xx)
4201
- if (data.status && /^3/.test(data.status) && typeof data.headers !== 'undefined') {
4215
+ // #B33 local.res may be null when the response lands after a terminal
4216
+ // exit released the triplet; skip the intercept and fall through to the
4217
+ // non-2xx handling (whose throwError no-ops on a released response).
4218
+ if (local.res != null && data.status && /^3/.test(data.status) && typeof data.headers !== 'undefined') {
4202
4219
  local.res.writeHead(data.status, data.headers);
4203
4220
  return local.res.end();
4204
4221
  }
@@ -4270,7 +4287,10 @@ if ( /^local$/i.test(process.env.NODE_SCOPE) ) {
4270
4287
  }
4271
4288
  }
4272
4289
 
4273
- if (data.status && /^3/.test(data.status) && typeof data.headers !== 'undefined') {
4290
+ // #B33 same released-response skip as the callback-mode intercept above;
4291
+ // emitter mode falls through to the query#complete emit so listeners
4292
+ // still learn the outcome.
4293
+ if (local.res != null && data.status && /^3/.test(data.status) && typeof data.headers !== 'undefined') {
4274
4294
  self.removeAllListeners(['query#complete']);
4275
4295
  local.res.writeHead(data.status, data.headers);
4276
4296
  return local.res.end();
@@ -4937,6 +4957,12 @@ if ( /^local$/i.test(process.env.NODE_SCOPE) ) {
4937
4957
 
4938
4958
  var getSession = function() {
4939
4959
  var session = null;
4960
+ // #B33 — local.req is null after a terminal exit released the triplet; callers
4961
+ // like isHaltedRequest() run from HTTP/2 response handlers that can fire on a
4962
+ // released request (retry/late-response paths). No session on a released request.
4963
+ if ( local.req == null ) {
4964
+ return null;
4965
+ }
4940
4966
  if ( typeof(local.req.session) != 'undefined') {
4941
4967
  session = local.req.session;
4942
4968
  }
@@ -129,9 +129,38 @@ function Router(env, scope) {
129
129
  SuperController = require(_(corePath +'/controller/index.js', true));
130
130
 
131
131
  if (_hotReload) _hotReload.core = false; // #M6 — clear flag after eviction
132
+
133
+ pruneDeadModuleChildren();
132
134
  corePath = null;
133
135
  }
134
136
 
137
+ /**
138
+ * Prunes stale `Module` references from every cached module's `children`
139
+ * array after the eviction cycle above. Each cache-miss `require()` pushes
140
+ * the fresh `Module` onto the requiring module's `children` (Node only
141
+ * dedupes on cache hits), so without pruning this long-lived router module
142
+ * accumulates one dead controller `Module` per request, each pinning its
143
+ * whole evaluated exports graph — the dev-mode per-request memory leak.
144
+ *
145
+ * Local copy of the sweep in `core/server.isaac.js` — the engine-agnostic
146
+ * router cannot depend on an engine module, and the `lib` registry is
147
+ * itself evicted per request. Keep both copies in sync.
148
+ *
149
+ * @inner
150
+ * @returns {undefined}
151
+ */
152
+ var pruneDeadModuleChildren = function() {
153
+ var cacheIds = Object.keys(require.cache);
154
+ for (var i = 0, len = cacheIds.length; i < len; i++) {
155
+ var cached = require.cache[cacheIds[i]];
156
+ if (cached && cached.children && cached.children.length > 0) {
157
+ cached.children = cached.children.filter(function onPruneFilter(child) {
158
+ return require.cache[child.id] === child;
159
+ });
160
+ }
161
+ }
162
+ }
163
+
135
164
  this.setServerInstance = function(serverInstance) {
136
165
  serverInstance._http2streamEventInitalized = false;
137
166
  self.serverInstance = serverInstance;
@@ -243,8 +243,48 @@ var refreshCore = function() {
243
243
  delete require.cache[require.resolve(pluginsIndexPath)];
244
244
  var freshPlugins = require( pluginsIndexPath );
245
245
  require.cache[_(corePath + '/gna.js', true)].exports.plugins = freshPlugins;
246
+
247
+ pruneDeadModuleChildren();
246
248
  }
247
249
 
250
+ /**
251
+ * Prunes stale `Module` references from every cached module's `children` array.
252
+ *
253
+ * Each cache-miss `require()` pushes the freshly created `Module` onto the
254
+ * requiring module's `children` array — Node only dedupes on cache hits — so the
255
+ * per-request delete-and-re-require cycles in `refreshCore()` (and the router's
256
+ * `refreshCoreDependencies()`) make long-lived parents accumulate one dead
257
+ * `Module` per eviction: this engine module, `router.js`, and any module with a
258
+ * lazy in-function `require()` of an evicted lib. Every dead `Module` pins its
259
+ * entire evaluated exports graph. Measured on a minimal bundle in dev mode:
260
+ * ~1.8 MB of post-GC live heap retained per request, ending in a heap-limit
261
+ * OOM (SIGABRT) at ~2400 requests.
262
+ *
263
+ * Keeping only children whose resolved id still maps to that same instance in
264
+ * `require.cache` releases the dead graphs. `children` is diagnostic metadata
265
+ * (nothing in Node's resolution reads it), so pruning never unloads a module
266
+ * still referenced elsewhere.
267
+ *
268
+ * A local copy of the same sweep lives in `core/router.js` — the engine-agnostic
269
+ * router cannot depend on an engine module, and the `lib` registry is itself
270
+ * evicted per request. Keep both copies in sync.
271
+ *
272
+ * @memberof module:gina/core/server.isaac
273
+ * @inner
274
+ * @returns {undefined}
275
+ */
276
+ var pruneDeadModuleChildren = function() {
277
+ var cacheIds = Object.keys(require.cache);
278
+ for (var i = 0, len = cacheIds.length; i < len; i++) {
279
+ var cached = require.cache[cacheIds[i]];
280
+ if (cached && cached.children && cached.children.length > 0) {
281
+ cached.children = cached.children.filter(function onPruneFilter(child) {
282
+ return require.cache[child.id] === child;
283
+ });
284
+ }
285
+ }
286
+ };
287
+
248
288
  // Express compatibility
249
289
  const slice = Array.prototype.slice;
250
290
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gina-framework",
3
- "version": "0.5.1-alpha.2",
3
+ "version": "0.5.1-alpha.4",
4
4
  "dependencies": {
5
5
  "@rhinostone/swig": "^2.7.2",
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.5.1-alpha.2/core/gna');
18
+ var _gna = require('./framework/v0.5.1/core/gna');
19
19
 
20
20
  // SuperController and EntitySuper — loaded from their source modules
21
- var SuperController = require('./framework/v0.5.1-alpha.2/core/controller');
22
- var EntitySuper = require('./framework/v0.5.1-alpha.2/core/model/entity');
21
+ var SuperController = require('./framework/v0.5.1/core/controller');
22
+ var EntitySuper = require('./framework/v0.5.1/core/model/entity');
23
23
 
24
24
  // uuid — from the lib registry
25
- var uuid = require('./framework/v0.5.1-alpha.2/lib/uuid');
25
+ var uuid = require('./framework/v0.5.1/lib/uuid');
26
26
 
27
27
  module.exports = {
28
28