gina 0.3.0 → 0.3.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 (487) hide show
  1. package/.github/workflows/test.yml +3 -3
  2. package/CHANGELOG.md +7 -0
  3. package/README.md +7 -13
  4. package/ROADMAP.md +2 -1
  5. package/framework/v0.3.1/VERSION +1 -0
  6. package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.js +4 -4
  7. package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.v2.js +1 -2
  8. package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.v3.js +1 -2
  9. package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.v4.js +1 -2
  10. package/framework/{v0.3.0 → v0.3.1}/core/connectors/mysql/index.js +24 -1
  11. package/framework/{v0.3.0 → v0.3.1}/core/connectors/postgresql/index.js +24 -1
  12. package/framework/v0.3.1/core/connectors/sql-parser.js +291 -0
  13. package/framework/{v0.3.0 → v0.3.1}/core/connectors/sqlite/index.js +24 -1
  14. package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-swig.js +108 -36
  15. package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/src/main.js +2 -2
  16. package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/src/main.js +1 -1
  17. package/framework/{v0.3.0 → v0.3.1}/core/server.js +63 -19
  18. package/framework/{v0.3.0 → v0.3.1}/lib/cache/src/main.js +1 -1
  19. package/framework/{v0.3.0 → v0.3.1}/lib/collection/src/main.js +1 -1
  20. package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/mq/listener.js +2 -2
  21. package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/main.js +45 -10
  22. package/llms.txt +3 -2
  23. package/package.json +4 -7
  24. package/script/post_install.js +3 -45
  25. package/script/pre_install.js +2 -14
  26. package/framework/v0.3.0/VERSION +0 -1
  27. package/framework/v0.3.0/core/connectors/sql-parser.js +0 -152
  28. /package/framework/{v0.3.0 → v0.3.1}/AUTHORS +0 -0
  29. /package/framework/{v0.3.0 → v0.3.1}/LICENSE +0 -0
  30. /package/framework/{v0.3.0 → v0.3.1}/core/asset/html/nolayout.html +0 -0
  31. /package/framework/{v0.3.0 → v0.3.1}/core/asset/html/static.html +0 -0
  32. /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/android-chrome-192x192.png +0 -0
  33. /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/android-chrome-512x512.png +0 -0
  34. /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/apple-touch-icon.png +0 -0
  35. /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/favicon-16x16.png +0 -0
  36. /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/favicon-32x32.png +0 -0
  37. /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/favicon.ico +0 -0
  38. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/README.md +0 -0
  39. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  40. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  41. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  42. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  43. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  44. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  45. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  46. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  47. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  48. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  49. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
  50. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
  51. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  52. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  53. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  54. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  55. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -0
  56. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  57. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  58. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  59. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  60. /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  61. /package/framework/{v0.3.0 → v0.3.1}/core/config.js +0 -0
  62. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/ai/index.js +0 -0
  63. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/ai/lib/connector.js +0 -0
  64. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/index.js +0 -0
  65. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.js +0 -0
  66. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/n1ql.js +0 -0
  67. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.js +0 -0
  68. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  69. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  70. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  71. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/mysql/lib/connector.js +0 -0
  72. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/postgresql/lib/connector.js +0 -0
  73. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/redis/index.js +0 -0
  74. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/redis/lib/session-store.js +0 -0
  75. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/sqlite/lib/connector.js +0 -0
  76. /package/framework/{v0.3.0 → v0.3.1}/core/connectors/sqlite/lib/session-store.js +0 -0
  77. /package/framework/{v0.3.0 → v0.3.1}/core/content.encoding +0 -0
  78. /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.framework.js +0 -0
  79. /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.js +0 -0
  80. /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-json.js +0 -0
  81. /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-stream.js +0 -0
  82. /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-v1.js +0 -0
  83. /package/framework/{v0.3.0 → v0.3.1}/core/controller/index.js +0 -0
  84. /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/LICENSE +0 -0
  85. /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/README.md +0 -0
  86. /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  87. /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  88. /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  89. /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  90. /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/package.json +0 -0
  91. /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/LICENSE +0 -0
  92. /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/index.js +0 -0
  93. /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/package.json +0 -0
  94. /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/readme.markdown +0 -0
  95. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/CONTRIBUTING.md +0 -0
  96. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/HISTORY.md +0 -0
  97. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/LICENSE +0 -0
  98. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/Makefile +0 -0
  99. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/README.md +0 -0
  100. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/bin/swig.js +0 -0
  101. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/browser/comments.js +0 -0
  102. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/browser/index.js +0 -0
  103. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/api.html +0 -0
  104. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/browser.html +0 -0
  105. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/cli.html +0 -0
  106. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/extending.html +0 -0
  107. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/filters.html +0 -0
  108. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/includes/TYPES.html +0 -0
  109. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/includes/macros.html +0 -0
  110. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/index.html +0 -0
  111. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/layout.html +0 -0
  112. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/loaders.html +0 -0
  113. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/previous.html +0 -0
  114. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/tags.html +0 -0
  115. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs.json +0 -0
  116. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/index.html +0 -0
  117. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/index.json +0 -0
  118. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/js/lib/rainbow.min.js +0 -0
  119. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/js/master.js +0 -0
  120. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/layouts/html5.html +0 -0
  121. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/layouts/master.html +0 -0
  122. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/button.less +0 -0
  123. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/fork.less +0 -0
  124. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/header.less +0 -0
  125. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/layout.less +0 -0
  126. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/mixins.less +0 -0
  127. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/rainbow.less +0 -0
  128. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/reset.less +0 -0
  129. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/sidenav.less +0 -0
  130. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/swig.less +0 -0
  131. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/variables.less +0 -0
  132. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/index.js +0 -0
  133. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/dateformatter.js +0 -0
  134. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/filters.js +0 -0
  135. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/lexer.js +0 -0
  136. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/loaders/filesystem.js +0 -0
  137. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/loaders/index.js +0 -0
  138. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/loaders/memory.js +0 -0
  139. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/parser.js +0 -0
  140. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/swig.js +0 -0
  141. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/autoescape.js +0 -0
  142. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/block.js +0 -0
  143. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/else.js +0 -0
  144. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/elseif.js +0 -0
  145. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/extends.js +0 -0
  146. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/filter.js +0 -0
  147. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/for.js +0 -0
  148. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/if.js +0 -0
  149. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/import.js +0 -0
  150. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/include.js +0 -0
  151. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/index.js +0 -0
  152. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/macro.js +0 -0
  153. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/parent.js +0 -0
  154. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/raw.js +0 -0
  155. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/set.js +0 -0
  156. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/spaceless.js +0 -0
  157. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/utils.js +0 -0
  158. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/package.json +0 -0
  159. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/scripts/config-lint.js +0 -0
  160. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/scripts/githooks/post-merge +0 -0
  161. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/scripts/githooks/pre-commit +0 -0
  162. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/basic.test.js +0 -0
  163. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.filters.js +0 -0
  164. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.locals.js +0 -0
  165. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.locals.json +0 -0
  166. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.tags.js +0 -0
  167. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.test.js +0 -0
  168. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_filter.bin.html +0 -0
  169. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_tag.bin.html +0 -0
  170. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_tagControls.bin.html +0 -0
  171. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_varControls.bin.html +0 -0
  172. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/options.js +0 -0
  173. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_1.expectation.html +0 -0
  174. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_1.test.html +0 -0
  175. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_2.expectation.html +0 -0
  176. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_2.test.html +0 -0
  177. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_base.html +0 -0
  178. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.base.html +0 -0
  179. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.middle.html +0 -0
  180. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_bare.html +0 -0
  181. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_base.html +0 -0
  182. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_include.html +0 -0
  183. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_real_base.html +0 -0
  184. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_set.expectation.html +0 -0
  185. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_set.test.html +0 -0
  186. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.expectation.html +0 -0
  187. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.test.html +0 -0
  188. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.expectation.html +0 -0
  189. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.test.html +0 -0
  190. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/import.expectation.html +0 -0
  191. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/import.test.html +0 -0
  192. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include.expectation.html +0 -0
  193. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include.test.html +0 -0
  194. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include_bar.html +0 -0
  195. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include_extends.expectation.html +0 -0
  196. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include_extends.test.html +0 -0
  197. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/includes.html +0 -0
  198. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/macros.expectation.html +0 -0
  199. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/macros.html +0 -0
  200. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/macros.test.html +0 -0
  201. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/nested_blocks.expectation.html +0 -0
  202. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/nested_blocks.test.html +0 -0
  203. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/nested_blocks_parent.html +0 -0
  204. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent-parent.expectation.html +0 -0
  205. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent-parent.test.html +0 -0
  206. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent.expectation.html +0 -0
  207. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent.test.html +0 -0
  208. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/set.expectation.html +0 -0
  209. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/set.test.html +0 -0
  210. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/circular.test.html +0 -0
  211. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/circular_parent.html +0 -0
  212. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/extends-non-existent.test.html +0 -0
  213. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/report-filename-partial.html +0 -0
  214. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/report-filename.test.html +0 -0
  215. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/comments.test.js +0 -0
  216. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/filters.test.js +0 -0
  217. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/loaders.test.js +0 -0
  218. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/regressions.test.js +0 -0
  219. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/autoescape.test.js +0 -0
  220. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/else.test.js +0 -0
  221. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/extend.test.js +0 -0
  222. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/filter.test.js +0 -0
  223. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/for.test.js +0 -0
  224. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/if.test.js +0 -0
  225. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/import.test.js +0 -0
  226. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/include.test.js +0 -0
  227. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/macro.test.js +0 -0
  228. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/parent.test.js +0 -0
  229. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/raw.test.js +0 -0
  230. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/set.test.js +0 -0
  231. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/spaceless.test.js +0 -0
  232. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags.test.js +0 -0
  233. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/templates.test.js +0 -0
  234. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/variables.test.js +0 -0
  235. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/whitespace.test.js +0 -0
  236. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  237. /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-client/swig.js +0 -0
  238. /package/framework/{v0.3.0 → v0.3.1}/core/dev/index.js +0 -0
  239. /package/framework/{v0.3.0 → v0.3.1}/core/dev/lib/class.js +0 -0
  240. /package/framework/{v0.3.0 → v0.3.1}/core/dev/lib/factory.js +0 -0
  241. /package/framework/{v0.3.0 → v0.3.1}/core/dev/lib/tools.js +0 -0
  242. /package/framework/{v0.3.0 → v0.3.1}/core/gna.js +0 -0
  243. /package/framework/{v0.3.0 → v0.3.1}/core/locales/README.md +0 -0
  244. /package/framework/{v0.3.0 → v0.3.1}/core/locales/currency.json +0 -0
  245. /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/language/en.json +0 -0
  246. /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/language/fr.json +0 -0
  247. /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/region/en.json +0 -0
  248. /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/region/fr.json +0 -0
  249. /package/framework/{v0.3.0 → v0.3.1}/core/locales/index.js +0 -0
  250. /package/framework/{v0.3.0 → v0.3.1}/core/mime.types +0 -0
  251. /package/framework/{v0.3.0 → v0.3.1}/core/model/entity.js +0 -0
  252. /package/framework/{v0.3.0 → v0.3.1}/core/model/index.js +0 -0
  253. /package/framework/{v0.3.0 → v0.3.1}/core/model/template/entityFactory.js +0 -0
  254. /package/framework/{v0.3.0 → v0.3.1}/core/model/template/index.js +0 -0
  255. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/README.md +0 -0
  256. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/index.js +0 -0
  257. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/file/README.md +0 -0
  258. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/file/build.json +0 -0
  259. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/file/package.json +0 -0
  260. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/README.md +0 -0
  261. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/build.json +0 -0
  262. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/package.json +0 -0
  263. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/src/main.js +0 -0
  264. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/README.md +0 -0
  265. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/build.json +0 -0
  266. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/package.json +0 -0
  267. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/README.md +0 -0
  268. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/build.json +0 -0
  269. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/package.json +0 -0
  270. /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/src/form-validator.js +0 -0
  271. /package/framework/{v0.3.0 → v0.3.1}/core/router.js +0 -0
  272. /package/framework/{v0.3.0 → v0.3.1}/core/server.express.js +0 -0
  273. /package/framework/{v0.3.0 → v0.3.1}/core/server.isaac.js +0 -0
  274. /package/framework/{v0.3.0 → v0.3.1}/core/status.codes +0 -0
  275. /package/framework/{v0.3.0 → v0.3.1}/core/template/_gitignore +0 -0
  276. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/app.json +0 -0
  277. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  278. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
  279. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/settings.json +0 -0
  280. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  281. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/templates.json +0 -0
  282. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  283. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  284. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  285. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  286. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/index.js +0 -0
  287. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  288. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  289. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  290. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  291. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  292. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  293. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
  294. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  295. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  296. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  297. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  298. /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  299. /package/framework/{v0.3.0 → v0.3.1}/core/template/command/gina.bat.tpl +0 -0
  300. /package/framework/{v0.3.0 → v0.3.1}/core/template/command/gina.tpl +0 -0
  301. /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/env.json +0 -0
  302. /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/manifest.json +0 -0
  303. /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/package.json +0 -0
  304. /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/settings.json +0 -0
  305. /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/statics.json +0 -0
  306. /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/templates.json +0 -0
  307. /package/framework/{v0.3.0 → v0.3.1}/core/template/error/client/json/401.json +0 -0
  308. /package/framework/{v0.3.0 → v0.3.1}/core/template/error/client/json/403.json +0 -0
  309. /package/framework/{v0.3.0 → v0.3.1}/core/template/error/client/json/404.json +0 -0
  310. /package/framework/{v0.3.0 → v0.3.1}/core/template/error/server/html/50x.html +0 -0
  311. /package/framework/{v0.3.0 → v0.3.1}/core/template/error/server/json/500.json +0 -0
  312. /package/framework/{v0.3.0 → v0.3.1}/core/template/error/server/json/503.json +0 -0
  313. /package/framework/{v0.3.0 → v0.3.1}/core/template/extensions/logger/config.json +0 -0
  314. /package/framework/{v0.3.0 → v0.3.1}/helpers/console.js +0 -0
  315. /package/framework/{v0.3.0 → v0.3.1}/helpers/context.js +0 -0
  316. /package/framework/{v0.3.0 → v0.3.1}/helpers/data/LICENSE +0 -0
  317. /package/framework/{v0.3.0 → v0.3.1}/helpers/data/README.md +0 -0
  318. /package/framework/{v0.3.0 → v0.3.1}/helpers/data/package.json +0 -0
  319. /package/framework/{v0.3.0 → v0.3.1}/helpers/data/src/main.js +0 -0
  320. /package/framework/{v0.3.0 → v0.3.1}/helpers/dateFormat.js +0 -0
  321. /package/framework/{v0.3.0 → v0.3.1}/helpers/index.js +0 -0
  322. /package/framework/{v0.3.0 → v0.3.1}/helpers/json/LICENSE +0 -0
  323. /package/framework/{v0.3.0 → v0.3.1}/helpers/json/README.md +0 -0
  324. /package/framework/{v0.3.0 → v0.3.1}/helpers/json/package.json +0 -0
  325. /package/framework/{v0.3.0 → v0.3.1}/helpers/json/src/main.js +0 -0
  326. /package/framework/{v0.3.0 → v0.3.1}/helpers/path.js +0 -0
  327. /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/README.md +0 -0
  328. /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/package.json +0 -0
  329. /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/src/api-error.js +0 -0
  330. /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/src/main.js +0 -0
  331. /package/framework/{v0.3.0 → v0.3.1}/helpers/prototypes.js +0 -0
  332. /package/framework/{v0.3.0 → v0.3.1}/helpers/task.js +0 -0
  333. /package/framework/{v0.3.0 → v0.3.1}/helpers/text.js +0 -0
  334. /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/README.md +0 -0
  335. /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/build.json +0 -0
  336. /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/package.json +0 -0
  337. /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/src/dep/jszip.min.js +0 -0
  338. /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/src/main.js +0 -0
  339. /package/framework/{v0.3.0 → v0.3.1}/lib/async/package.json +0 -0
  340. /package/framework/{v0.3.0 → v0.3.1}/lib/async/src/main.js +0 -0
  341. /package/framework/{v0.3.0 → v0.3.1}/lib/cache/README.md +0 -0
  342. /package/framework/{v0.3.0 → v0.3.1}/lib/cache/build.json +0 -0
  343. /package/framework/{v0.3.0 → v0.3.1}/lib/cache/package.json +0 -0
  344. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/aliases.json +0 -0
  345. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/add.js +0 -0
  346. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/arguments.json +0 -0
  347. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/build.js +0 -0
  348. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/copy.js +0 -0
  349. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/cp.js +0 -0
  350. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/help.js +0 -0
  351. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/help.txt +0 -0
  352. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/list.js +0 -0
  353. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/remove.js +0 -0
  354. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/rename.js +0 -0
  355. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/restart.js +0 -0
  356. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/rm.js +0 -0
  357. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/start.js +0 -0
  358. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/status.js +0 -0
  359. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/stop.js +0 -0
  360. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/cache/stats.js +0 -0
  361. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/add.js +0 -0
  362. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/get.js +0 -0
  363. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/help.js +0 -0
  364. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/help.txt +0 -0
  365. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/link-dev.js +0 -0
  366. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/list.js +0 -0
  367. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/remove.js +0 -0
  368. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/rm.js +0 -0
  369. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/set.js +0 -0
  370. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/unset.js +0 -0
  371. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/use.js +0 -0
  372. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/arguments.json +0 -0
  373. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/build.js +0 -0
  374. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/dot.js +0 -0
  375. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/get.js +0 -0
  376. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/help.js +0 -0
  377. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/help.txt +0 -0
  378. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/init.js +0 -0
  379. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/link-node-modules.js +0 -0
  380. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/link.js +0 -0
  381. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/msg.json +0 -0
  382. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/open.js +0 -0
  383. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/restart.js +0 -0
  384. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/set.js +0 -0
  385. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/start.js +0 -0
  386. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/status.js +0 -0
  387. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/stop.js +0 -0
  388. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/tail.js +0 -0
  389. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/update.js +0 -0
  390. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/version.js +0 -0
  391. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/gina-dev.1.md +0 -0
  392. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/gina-framework.1.md +0 -0
  393. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/gina.1.md +0 -0
  394. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/helper.js +0 -0
  395. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/index.js +0 -0
  396. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/minion/help.js +0 -0
  397. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/minion/help.txt +0 -0
  398. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/msg.json +0 -0
  399. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/help.js +0 -0
  400. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/help.txt +0 -0
  401. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/inc/scan.js +0 -0
  402. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/list.js +0 -0
  403. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/reset.js +0 -0
  404. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/set.js +0 -0
  405. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/add.js +0 -0
  406. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/arguments.json +0 -0
  407. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/build.js +0 -0
  408. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/help.js +0 -0
  409. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/help.txt +0 -0
  410. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/import.js +0 -0
  411. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/list.js +0 -0
  412. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/move.js +0 -0
  413. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/remove.js +0 -0
  414. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/rename.js +0 -0
  415. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/restart.js +0 -0
  416. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/rm.js +0 -0
  417. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/start.js +0 -0
  418. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/status.js +0 -0
  419. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/stop.js +0 -0
  420. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/help.js +0 -0
  421. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/help.txt +0 -0
  422. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/list.js +0 -0
  423. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/set.js +0 -0
  424. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/add.js +0 -0
  425. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/help.js +0 -0
  426. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/help.txt +0 -0
  427. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/link-local.js +0 -0
  428. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/link-production.js +0 -0
  429. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/list.js +0 -0
  430. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/remove.js +0 -0
  431. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/rm.js +0 -0
  432. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/use.js +0 -0
  433. /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/view/add.js +0 -0
  434. /package/framework/{v0.3.0 → v0.3.1}/lib/collection/README.md +0 -0
  435. /package/framework/{v0.3.0 → v0.3.1}/lib/collection/build.json +0 -0
  436. /package/framework/{v0.3.0 → v0.3.1}/lib/collection/package.json +0 -0
  437. /package/framework/{v0.3.0 → v0.3.1}/lib/config.js +0 -0
  438. /package/framework/{v0.3.0 → v0.3.1}/lib/cron/README.md +0 -0
  439. /package/framework/{v0.3.0 → v0.3.1}/lib/cron/package.json +0 -0
  440. /package/framework/{v0.3.0 → v0.3.1}/lib/cron/src/main.js +0 -0
  441. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/LICENSE +0 -0
  442. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/README.md +0 -0
  443. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +0 -0
  444. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/public_suffix_list.dat +0 -0
  445. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/public_suffix_list.dat.br +0 -0
  446. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/public_suffix_list.dat.gz +0 -0
  447. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/package.json +0 -0
  448. /package/framework/{v0.3.0 → v0.3.1}/lib/domain/src/main.js +0 -0
  449. /package/framework/{v0.3.0 → v0.3.1}/lib/generator/index.js +0 -0
  450. /package/framework/{v0.3.0 → v0.3.1}/lib/index.js +0 -0
  451. /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/LICENSE +0 -0
  452. /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/README.md +0 -0
  453. /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/package.json +0 -0
  454. /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/src/main.js +0 -0
  455. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/README.md +0 -0
  456. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/package.json +0 -0
  457. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/default/index.js +0 -0
  458. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/file/index.js +0 -0
  459. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  460. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  461. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/mq/index.js +0 -0
  462. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/mq/speaker.js +0 -0
  463. /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/helper.js +0 -0
  464. /package/framework/{v0.3.0 → v0.3.1}/lib/math/index.js +0 -0
  465. /package/framework/{v0.3.0 → v0.3.1}/lib/merge/README.md +0 -0
  466. /package/framework/{v0.3.0 → v0.3.1}/lib/merge/package.json +0 -0
  467. /package/framework/{v0.3.0 → v0.3.1}/lib/merge/src/main.js +0 -0
  468. /package/framework/{v0.3.0 → v0.3.1}/lib/model.js +0 -0
  469. /package/framework/{v0.3.0 → v0.3.1}/lib/proc.js +0 -0
  470. /package/framework/{v0.3.0 → v0.3.1}/lib/routing/README.md +0 -0
  471. /package/framework/{v0.3.0 → v0.3.1}/lib/routing/build.json +0 -0
  472. /package/framework/{v0.3.0 → v0.3.1}/lib/routing/package.json +0 -0
  473. /package/framework/{v0.3.0 → v0.3.1}/lib/routing/src/main.js +0 -0
  474. /package/framework/{v0.3.0 → v0.3.1}/lib/routing/src/radix.js +0 -0
  475. /package/framework/{v0.3.0 → v0.3.1}/lib/session-store.js +0 -0
  476. /package/framework/{v0.3.0 → v0.3.1}/lib/shell.js +0 -0
  477. /package/framework/{v0.3.0 → v0.3.1}/lib/state.js +0 -0
  478. /package/framework/{v0.3.0 → v0.3.1}/lib/swig-filters/README.md +0 -0
  479. /package/framework/{v0.3.0 → v0.3.1}/lib/swig-filters/package.json +0 -0
  480. /package/framework/{v0.3.0 → v0.3.1}/lib/swig-filters/src/main.js +0 -0
  481. /package/framework/{v0.3.0 → v0.3.1}/lib/url/README.md +0 -0
  482. /package/framework/{v0.3.0 → v0.3.1}/lib/url/index.js +0 -0
  483. /package/framework/{v0.3.0 → v0.3.1}/lib/url/routing.json +0 -0
  484. /package/framework/{v0.3.0 → v0.3.1}/lib/validator.js +0 -0
  485. /package/framework/{v0.3.0 → v0.3.1}/lib/watcher/package.json +0 -0
  486. /package/framework/{v0.3.0 → v0.3.1}/lib/watcher/src/main.js +0 -0
  487. /package/framework/{v0.3.0 → v0.3.1}/package.json +0 -0
@@ -874,19 +874,54 @@ module.exports = async function render(userData, displayInspector, errOptions, d
874
874
  console.info(local.req.method +' ['+local.res.statusCode +'] '+ local.req.url);
875
875
  // HEAD: send headers only — body suppressed (HTTP spec §4.3.2)
876
876
  if ( /^HEAD$/i.test(local.req.method) ) {
877
- local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding);
878
- local.res.setHeader('content-length', Buffer.byteLength(htmlContent, 'utf8'));
879
- local.res.end();
877
+ if ( stream ) {
878
+ // #H8 — HTTP/2 HEAD: stream.respond() with content-length, no body.
879
+ if ( !stream.headersSent ) {
880
+ var _headH = {
881
+ 'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
882
+ 'content-length' : Buffer.byteLength(htmlContent, 'utf8'),
883
+ ':status' : local.res.statusCode || 200
884
+ };
885
+ var _pendingH = local.res.getHeaders ? local.res.getHeaders() : {};
886
+ for (var _hk in _pendingH) {
887
+ if (!(_hk in _headH)) _headH[_hk] = _pendingH[_hk];
888
+ }
889
+ stream.respond(_headH);
890
+ }
891
+ stream.end();
892
+ local.res.headersSent = true;
893
+ } else {
894
+ local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding);
895
+ local.res.setHeader('content-length', Buffer.byteLength(htmlContent, 'utf8'));
896
+ local.res.end();
897
+ }
898
+ } else if ( stream ) {
899
+ // #H8 — Direct HTTP/2 stream: bypass HTTP/1.1 compat layer.
900
+ // Guard: client may have disconnected (nginx timeout, browser navigation)
901
+ // before the async callback completed. stream.destroyed is true in that
902
+ // case — respond() would throw ERR_HTTP2_INVALID_STREAM.
903
+ if (stream.destroyed || stream.closed) {
904
+ console.warn('[render-swig] Stream already destroyed — client disconnected before response was sent ('+ local.req.url +')');
905
+ } else {
906
+ if ( !stream.headersSent ) {
907
+ var _streamHeaders = {
908
+ 'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
909
+ ':status' : local.res.statusCode || 200
910
+ };
911
+ // Merge headers set earlier in the pipeline (CORS, cache-control, etc.)
912
+ // — stream.respond() on the raw HTTP/2 stream does not include headers
913
+ // set via response.setHeader().
914
+ var _pendingHeaders = local.res.getHeaders ? local.res.getHeaders() : {};
915
+ for (var _rhk in _pendingHeaders) {
916
+ if (!(_rhk in _streamHeaders)) _streamHeaders[_rhk] = _pendingHeaders[_rhk];
917
+ }
918
+ stream.respond(_streamHeaders);
919
+ }
920
+ stream.end(htmlContent);
921
+ local.res.headersSent = true;
922
+ }
880
923
  } else {
881
- // if ( stream ) {
882
- // stream.respond({
883
- // 'content-type': localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
884
- // ':status': 200
885
- // });
886
- // layout = null;
887
- // return stream.end(htmlContent);
888
- // }
889
- local.res.end( htmlContent );
924
+ local.res.end( htmlContent );
890
925
  }
891
926
  layout = null;
892
927
  }
@@ -1423,19 +1458,48 @@ module.exports = async function render(userData, displayInspector, errOptions, d
1423
1458
  console.info(local.req.method +' ['+local.res.statusCode +'] '+ local.req.url);
1424
1459
  // HEAD: send headers only — body suppressed (HTTP spec §4.3.2)
1425
1460
  if ( /^HEAD$/i.test(local.req.method) ) {
1426
- local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding);
1427
- local.res.setHeader('content-length', Buffer.byteLength(htmlContent, 'utf8'));
1428
- local.res.end();
1461
+ if ( stream ) {
1462
+ // #H8 — HTTP/2 HEAD: stream.respond() with content-length, no body.
1463
+ if ( !stream.headersSent ) {
1464
+ var _headH2 = {
1465
+ 'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
1466
+ 'content-length' : Buffer.byteLength(htmlContent, 'utf8'),
1467
+ ':status' : local.res.statusCode || 200
1468
+ };
1469
+ var _pendingH2 = local.res.getHeaders ? local.res.getHeaders() : {};
1470
+ for (var _hk2 in _pendingH2) {
1471
+ if (!(_hk2 in _headH2)) _headH2[_hk2] = _pendingH2[_hk2];
1472
+ }
1473
+ stream.respond(_headH2);
1474
+ }
1475
+ stream.end();
1476
+ local.res.headersSent = true;
1477
+ } else {
1478
+ local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding);
1479
+ local.res.setHeader('content-length', Buffer.byteLength(htmlContent, 'utf8'));
1480
+ local.res.end();
1481
+ }
1482
+ } else if ( stream ) {
1483
+ // #H8 — Direct HTTP/2 stream: bypass HTTP/1.1 compat layer.
1484
+ if (stream.destroyed || stream.closed) {
1485
+ console.warn('[render-swig] Stream already destroyed — client disconnected before response was sent ('+ local.req.url +')');
1486
+ } else {
1487
+ if ( !stream.headersSent ) {
1488
+ var _streamHeaders2 = {
1489
+ 'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
1490
+ ':status' : local.res.statusCode || 200
1491
+ };
1492
+ var _pendingHeaders2 = local.res.getHeaders ? local.res.getHeaders() : {};
1493
+ for (var _rhk2 in _pendingHeaders2) {
1494
+ if (!(_rhk2 in _streamHeaders2)) _streamHeaders2[_rhk2] = _pendingHeaders2[_rhk2];
1495
+ }
1496
+ stream.respond(_streamHeaders2);
1497
+ }
1498
+ stream.end(htmlContent);
1499
+ local.res.headersSent = true;
1500
+ }
1429
1501
  } else {
1430
- // if ( stream ) {
1431
- // stream.respond({
1432
- // 'content-type': localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
1433
- // ':status': 200
1434
- // });
1435
- // layout = null;
1436
- // return stream.end(htmlContent);
1437
- // }
1438
- local.res.end( htmlContent );
1502
+ local.res.end( htmlContent );
1439
1503
  }
1440
1504
 
1441
1505
  layout = null;
@@ -1456,18 +1520,26 @@ module.exports = async function render(userData, displayInspector, errOptions, d
1456
1520
  if ( typeof(local.req.params.errorObject) != 'undefined' ) {
1457
1521
  return self.throwError(local.req.params.errorObject);
1458
1522
  }
1459
- // if (
1460
- // stream
1461
- // && !headersSent()
1462
- // ) {
1463
- // stream.respond({
1464
- // 'content-type': localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
1465
- // ':status': 500
1466
- // });
1467
- // layout = null;
1468
- // return stream.end('Unexpected controller error while trying to render.');
1469
- // }
1470
- local.res.end('Unexpected controller error while trying to render.');
1523
+ if ( stream ) {
1524
+ // #H8 — Direct HTTP/2 stream for error fallthrough.
1525
+ if (stream.destroyed || stream.closed) {
1526
+ console.warn('[render-swig] Stream already destroyed — client disconnected before error response was sent ('+ (local.req ? local.req.url : 'unknown') +')');
1527
+ } else if ( !stream.headersSent ) {
1528
+ var _errHeaders = {
1529
+ 'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
1530
+ ':status' : 500
1531
+ };
1532
+ var _pendingErrH = local.res.getHeaders ? local.res.getHeaders() : {};
1533
+ for (var _ehk in _pendingErrH) {
1534
+ if (!(_ehk in _errHeaders)) _errHeaders[_ehk] = _pendingErrH[_ehk];
1535
+ }
1536
+ stream.respond(_errHeaders);
1537
+ stream.end('Unexpected controller error while trying to render.');
1538
+ local.res.headersSent = true;
1539
+ }
1540
+ } else {
1541
+ local.res.end('Unexpected controller error while trying to render.');
1542
+ }
1471
1543
 
1472
1544
  // Release per-request refs — save next first since local.next is used directly here.
1473
1545
  var _next = ( typeof(local.next) != 'undefined' ) ? local.next : null;
@@ -9,7 +9,7 @@ function StoragePlugin(options) {
9
9
 
10
10
  var merge = merge || require('lib/merge');;
11
11
  var Collection = Collection || require('lib/collection');
12
- var uuid = uuid || { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } };
12
+ var uuid = { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } };
13
13
  var dateFormat = dateFormat || require('helpers/dateFormat');
14
14
 
15
15
 
@@ -418,7 +418,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
418
418
  // Publish as node.js module
419
419
  var merge = require('lib/merge'); //require('../../../../../lib/merge');
420
420
  var Collection = require('lib/collection'); //require('../../../../../lib/collection');
421
- var uuid = require('uuid');
421
+ var uuid = { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } };
422
422
 
423
423
  module.exports = StoragePlugin
424
424
 
@@ -92,7 +92,7 @@ function ValidatorPlugin(rules, data, formId) {
92
92
  require('../../../../../helpers/data');
93
93
  }
94
94
 
95
- var uuid = (isGFFCtx) ? { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } } : require('uuid');
95
+ var uuid = { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } };
96
96
  var merge = (isGFFCtx) ? require('lib/merge') : require('../../../../../lib/merge');
97
97
  var inherits = (isGFFCtx) ? require('lib/inherits') : require('../../../../../lib/inherits');
98
98
  var FormValidator = (isGFFCtx) ? require('lib/form-validator') : require('./form-validator');
@@ -47,9 +47,7 @@ const Busboy = require('./deps/busboy-1.6.0');
47
47
  const Stream = require('stream');
48
48
  const util = require('util');
49
49
  var https = require('https');
50
- // #B10 fix: ssl-checker is only used in verifyCertificate() for HTTPS cert checks.
51
- // Require it lazily so bundles without HTTPS certs don't crash at startup.
52
- // const sslChecker = require('ssl-checker');
50
+ // ssl-checker dependency removed in 0.3.1 replaced by inline verifyCertificate().
53
51
 
54
52
 
55
53
  var Config = require('./config');
@@ -303,9 +301,11 @@ function Server(options) {
303
301
  }
304
302
 
305
303
  /**
306
- * Checks TLS certificate validity for an HTTPS endpoint using `ssl-checker`.
307
- * Logs an emergency-level warning when the certificate is invalid or the
308
- * wildcard exception applies.
304
+ * Checks TLS certificate validity for an HTTPS endpoint.
305
+ *
306
+ * Replaces the `ssl-checker` npm package with a direct `https.request` +
307
+ * `res.socket.getPeerCertificate()` call. Returns the same result shape:
308
+ * `{ daysRemaining, valid, validFrom, validTo, validFor }`.
309
309
  *
310
310
  * @memberof module:gina/core/server
311
311
  * @param {string} endpoint - Hostname to verify (e.g. `'myapp.dev'`)
@@ -313,23 +313,67 @@ function Server(options) {
313
313
  * @returns {Promise<void>} Resolves when valid; throws if DNS/cert check fails
314
314
  */
315
315
  this.verifyCertificate = async function(endpoint, port) {
316
- // #B10 fix: lazy-require ssl-checker — only needed for HTTPS cert verification
317
- const sslChecker = require('ssl-checker');
318
316
  let sslDetails = null;
319
317
  console.debug('Checking certificate validity...');
320
318
  try {
321
319
  console.debug('[ssl] endpoint: ', endpoint);
322
- sslDetails = await sslChecker(endpoint, {
323
- method: 'GET',
324
- // rejectUnauthorized: true,
325
- port: port || 443,
326
- path: "/_gina/health/check",
327
- timeout: 5000,
328
- // replaced: fs.readFileSync(credentials.ca) — credentials paths use ~/ which fs.readFileSync does not expand; _() expands $HOME via execSync('echo $HOME')
329
- ca: fs.readFileSync(_(self.conf[self.appName][self.env].content.settings.server.credentials.ca, true)),
330
- agent: new https.Agent({
331
- maxCachedSessions: 0
332
- })
320
+ sslDetails = await new Promise(function(resolve, reject) {
321
+ var _port = port || 443;
322
+ var reqOptions = {
323
+ host: endpoint,
324
+ port: _port,
325
+ method: 'GET',
326
+ path: '/_gina/health/check',
327
+ rejectUnauthorized: false,
328
+ // replaced: fs.readFileSync(credentials.ca) — credentials paths use ~/ which fs.readFileSync does not expand; _() expands $HOME via execSync('echo $HOME')
329
+ ca: fs.readFileSync(_(self.conf[self.appName][self.env].content.settings.server.credentials.ca, true)),
330
+ agent: new https.Agent({ maxCachedSessions: 0 })
331
+ };
332
+
333
+ var timeoutId = setTimeout(function() {
334
+ req.destroy();
335
+ reject(new Error('Timed Out'));
336
+ }, 5000);
337
+
338
+ var req = https.request(reqOptions, function(res) {
339
+ clearTimeout(timeoutId);
340
+ var cert = res.socket.getPeerCertificate();
341
+ res.socket.destroy();
342
+
343
+ if (!cert || !cert.valid_from || !cert.valid_to) {
344
+ return reject(new Error('No certificate'));
345
+ }
346
+
347
+ var validFrom = new Date(cert.valid_from).toISOString();
348
+ var validTo = new Date(cert.valid_to).toISOString();
349
+ var now = Date.now();
350
+ var expiry = new Date(cert.valid_to).getTime();
351
+ var daysRemaining = Math.floor((expiry - now) / 86400000);
352
+
353
+ var result = {
354
+ daysRemaining: daysRemaining,
355
+ valid: res.socket.authorized || false,
356
+ validFrom: validFrom,
357
+ validTo: validTo
358
+ };
359
+
360
+ // Extract Subject Alternative Names (DNS entries)
361
+ if (cert.subjectaltname) {
362
+ result.validFor = cert.subjectaltname
363
+ .split(',')
364
+ .map(function(s) { return s.trim().replace(/^DNS:/, ''); })
365
+ .filter(function(s) { return s.length > 0; });
366
+ }
367
+
368
+ resolve(result);
369
+ });
370
+
371
+ req.on('error', function(err) {
372
+ clearTimeout(timeoutId);
373
+ reject(err);
374
+ });
375
+
376
+ req.end();
333
377
  });
334
378
  } catch (err) {
335
379
  if (!sslDetails) {
@@ -53,7 +53,7 @@ function Cache(options) {
53
53
  // LRU cap: 0 means unlimited. Overridden by from() if the shared Map carries _maxEntries.
54
54
  var maxEntries = (options && options.maxEntries > 0) ? ~~(options.maxEntries) : 0;
55
55
  var merge = (isGFFCtx) ? require('lib/merge') : require('../../../lib/merge');
56
- var uuid = (isGFFCtx) ? { v4: function() { return crypto.randomUUID(); } } : require('uuid');
56
+ var uuid = { v4: function() { return crypto.randomUUID(); } };
57
57
  var Collection = (isGFFCtx) ? require('lib/collection') : require('../../../lib/collection');
58
58
  // var EventEmitter = (isGFFCtx) ? EventTarget : require('events').EventEmitter;
59
59
 
@@ -53,7 +53,7 @@ if ( typeof(module) !== 'undefined' && module.exports ) {
53
53
  function Collection(content, options) {
54
54
 
55
55
  var isGFFCtx = ( ( typeof(module) !== 'undefined' ) && module.exports ) ? false : true;
56
- var uuid = (isGFFCtx) ? { v4: function() { return crypto.randomUUID(); } } : require('uuid');
56
+ var uuid = { v4: function() { return crypto.randomUUID(); } };
57
57
  var merge = (isGFFCtx) ? require('lib/merge') : require('../../../lib/merge');
58
58
 
59
59
  // defined search option rules
@@ -3,7 +3,7 @@
3
3
  const fs = require('fs');
4
4
  // const util = require('util');
5
5
  const net = require('net');
6
- const uuid = require('uuid');
6
+ const { randomUUID } = require('crypto');
7
7
 
8
8
  function MQListener(opt, cb) {
9
9
  var self = {
@@ -154,7 +154,7 @@ function MQListener(opt, cb) {
154
154
  var host = opt.hostV4;
155
155
  var server = net.createServer( function(conn) {//'connection' listener
156
156
 
157
- conn.sessionId = uuid.v4();
157
+ conn.sessionId = randomUUID();
158
158
  // conn.request = 'report'; // by default
159
159
  sessions[conn.sessionId] = conn;
160
160
  conn.write(JSON.stringify({ sessionId: conn.sessionId }) +'\r\n' );
@@ -12,17 +12,52 @@ var util = require('util');
12
12
  var promisify = util.promisify;
13
13
  const { EventEmitter } = require('events');
14
14
 
15
- // During initial pre-install & post-install, `colors` might not be installed !
16
- var colors = null;
17
15
  var frameworkPath = __dirname +'/../../../../..';
18
- // var frameworkVersion = require(frameworkPath + '/package.json').version;
19
- try {
20
- colors = require('colors') || require(frameworkPath +'/node_modules/colors');
21
- } catch (err) {
22
- // colors not found
23
- // It is ok, since this case is handled by the `pre-install` script
24
- throw err
25
- }
16
+
17
+ /**
18
+ * Built-in ANSI color styles — replaces the `colors` npm package.
19
+ *
20
+ * Only the styles actually used by logger levels are included:
21
+ * magenta, red, yellow, black, cyan, gray. All close with code 39
22
+ * (default foreground). Additional styles are provided for completeness
23
+ * so that `setColors()` can copy them if external code references them.
24
+ *
25
+ * @constant {Object} colors
26
+ * @inner
27
+ */
28
+ var colors = {
29
+ styles: {
30
+ // Modifiers
31
+ reset: { open: '\x1b[0m', close: '\x1b[0m' },
32
+ bold: { open: '\x1b[1m', close: '\x1b[22m' },
33
+ dim: { open: '\x1b[2m', close: '\x1b[22m' },
34
+ italic: { open: '\x1b[3m', close: '\x1b[23m' },
35
+ underline: { open: '\x1b[4m', close: '\x1b[24m' },
36
+ inverse: { open: '\x1b[7m', close: '\x1b[27m' },
37
+ hidden: { open: '\x1b[8m', close: '\x1b[28m' },
38
+ strikethrough: { open: '\x1b[9m', close: '\x1b[29m' },
39
+ // Foreground colors
40
+ black: { open: '\x1b[30m', close: '\x1b[39m' },
41
+ red: { open: '\x1b[31m', close: '\x1b[39m' },
42
+ green: { open: '\x1b[32m', close: '\x1b[39m' },
43
+ yellow: { open: '\x1b[33m', close: '\x1b[39m' },
44
+ blue: { open: '\x1b[34m', close: '\x1b[39m' },
45
+ magenta: { open: '\x1b[35m', close: '\x1b[39m' },
46
+ cyan: { open: '\x1b[36m', close: '\x1b[39m' },
47
+ white: { open: '\x1b[37m', close: '\x1b[39m' },
48
+ gray: { open: '\x1b[90m', close: '\x1b[39m' },
49
+ grey: { open: '\x1b[90m', close: '\x1b[39m' },
50
+ // Background colors
51
+ bgBlack: { open: '\x1b[40m', close: '\x1b[49m' },
52
+ bgRed: { open: '\x1b[41m', close: '\x1b[49m' },
53
+ bgGreen: { open: '\x1b[42m', close: '\x1b[49m' },
54
+ bgYellow: { open: '\x1b[43m', close: '\x1b[49m' },
55
+ bgBlue: { open: '\x1b[44m', close: '\x1b[49m' },
56
+ bgMagenta: { open: '\x1b[45m', close: '\x1b[49m' },
57
+ bgCyan: { open: '\x1b[46m', close: '\x1b[49m' },
58
+ bgWhite: { open: '\x1b[47m', close: '\x1b[49m' }
59
+ }
60
+ };
26
61
 
27
62
  var merge = require('../../merge');
28
63
  var inherits = require('../../inherits');
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Gina — LLM Reference
2
2
 
3
- Node.js MVC framework. No Express dependency. Built-in HTTP/2. Multi-bundle architecture. Scope-based data isolation. CommonJS throughout (no ESM).
3
+ Node.js MVC framework. No Express dependency. Built-in HTTP/2. Multi-bundle architecture. Scope-based data isolation. CommonJS throughout (no ESM). Single runtime dependency (`engine.io`) — all other functionality uses Node.js built-ins.
4
4
 
5
5
  ---
6
6
 
@@ -28,7 +28,7 @@ framework/v${version}/
28
28
  router.js URL routing (matches routing.json rules)
29
29
  controller/
30
30
  controller.js SuperController base class (per-request instances via inherits)
31
- controller.render-swig.js HTML rendering (delegate file, hot-reloaded in dev)
31
+ controller.render-swig.js HTML rendering (delegate file, hot-reloaded in dev). HTTP/2: uses stream.respond() + stream.end() directly (#H8). Tests: test/core/render-swig.test.js (77 tests — async I/O, error normalization, exit paths, guard patterns, HTTP/2 stream implementation)
32
32
  controller.render-json.js JSON rendering (delegate file)
33
33
  model/entity.js EntitySuper — EventEmitter base for all ORM entities
34
34
  connectors/ Couchbase, Redis, SQLite connectors
@@ -520,6 +520,7 @@ Dev-mode query instrumentation captures every database query tied to the current
520
520
  - **`origin` tagging** — `infos.bundle` (set on `Entity.prototype.bundle` at registration). **`connector` tagging** — hardcoded string per connector.
521
521
  - **Cross-bundle propagation** — when bundle A calls B via `self.query()`, B's queries travel back as `__ginaQueries` in the JSON response (embedded by `render-json.js`). A's `query()` callback extracts, merges into its own `local._queryLog`, and deletes the field before data reaches the controller action.
522
522
  - **Index reporting (Couchbase)** — `extractIndexes(profile)` walks `meta.profile.executionTimings` tree (`~child`/`~children` recursion) to find `IndexScan3`/`PrimaryScan3`/`ExpressionScan`/`KeyScan` operators and extract index names. Two extraction paths: `meta.profile` (fast, SDK v3) and EXPLAIN fallback (SDK v4 — C++ binding doesn't surface `meta.profile`). `_explainCache` Map caches per unique statement. `USE KEYS` queries detected via `ExpressionScan`/`KeyScan` operators. Enabled by `queryOptions.profile = 'timings'` in dev mode for SDK v3+. Three visual states: green (secondary), amber (primary scan), red (no index). Grey N/A badge for unsupported connectors.
523
+ - **Index reporting (SQL connectors — #QI1)** — `sql-parser.js` provides `parseCreateIndexes(src)` (parses `CREATE [UNIQUE] INDEX` statements → `{ tableName: [{ name, primary }] }` map) and `extractTargetTable(queryString)` (extracts primary table from SELECT/INSERT/UPDATE/DELETE). Each SQL connector reads an optional `indexes.sql` from the bundle's `sql/` directory at init time, builds an in-memory `_knownIndexes` map. QI resolves `_queryEntry.indexes` per query: `null` when no `indexes.sql` (N/A badge), `[]` when file exists but no index covers the table (red badge), `[{name, primary}]` when matched (green badge). No EXPLAIN round-trip — index knowledge comes from the project's own schema definitions.
523
524
  - **Inspector UI** — split trigger badge (`entity` | `method`), SQL syntax highlighting, params table (`$1`/`$2` → value), free-text search bar with 200ms debounce, per-card weight color-coding (`bm-stat-*`), filter persistence (lang/connector/bundle in localStorage), pagination (20 cards default, "Show all" button).
524
525
 
525
526
  **UX enhancements:**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gina",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Node.js MVC framework with built-in HTTP/2, multi-bundle architecture, and scope-based data isolation — no Express dependency",
5
5
  "keywords": [
6
6
  "nodejs",
@@ -56,7 +56,7 @@
56
56
  "gina-container": "bin/gina-container",
57
57
  "gina-init": "bin/gina-init"
58
58
  },
59
- "main": "./framework/v0.3.0/core/gna",
59
+ "main": "./framework/v0.3.1/core/gna",
60
60
  "scripts": {
61
61
  "test": "node --test test*.test.js",
62
62
  "prepare": "node script/prepare_version.js",
@@ -67,14 +67,11 @@
67
67
  "license": "MIT",
68
68
  "readmeFilename": "README.md",
69
69
  "dependencies": {
70
- "engine.io": "^6.0.0",
71
- "ssl-checker": "2.0.10"
70
+ "engine.io": "^6.0.0"
72
71
  },
73
72
  "devDependencies": {
74
- "colors": "1.4.0",
75
73
  "engine.io-client": "^6.6.3",
76
- "requirejs": "^2.3.7",
77
- "uuid": "^9.0.0"
74
+ "requirejs": "^2.3.7"
78
75
  },
79
76
  "peerDependencies": {
80
77
  "@anthropic-ai/sdk": ">=0.27.0",
@@ -58,20 +58,8 @@ var getUserHome = function() {
58
58
  return home()
59
59
  };
60
60
 
61
- // just in case `post_install` is called by hand
62
- var initialDir = process.cwd();
63
- var frameworkPath = __dirname +'/..';
64
- if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
65
- process.chdir(frameworkPath);
66
-
67
- var oldConfigGlobal = process.env.npm_config_global;
68
- process.env.npm_config_global=false;
69
- var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
70
- execSync(cmd);
71
- process.env.npm_config_global=oldConfigGlobal;
72
-
73
- process.chdir(initialDir);
74
- }
61
+ // `colors` dependency removed in 0.3.1 ANSI codes are now built into the logger.
62
+ // No temporary install needed.
75
63
 
76
64
  var lib = require('./lib');
77
65
  var console = lib.logger;
@@ -466,37 +454,7 @@ function PostInstall() {
466
454
  done()
467
455
  }
468
456
 
469
- self.cleanupIfNeeded = function(done) {
470
-
471
- var frameworkPath = self.gina;
472
- console.debug('Framework path is: ' + frameworkPath);
473
-
474
- // Let's cleanup `colors` from `GINA_DIR`
475
- if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
476
- var initialDir = process.cwd();
477
- process.chdir(frameworkPath);
478
- var oldConfigGlobal = process.env.npm_config_global;
479
- process.env.npm_config_global=false;
480
-
481
- // var cmd = self.prefix +'/bin/';
482
- // cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
483
-
484
- var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
485
-
486
- try {
487
- execSync(cmd);
488
- console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
489
- } catch (npmErr) {
490
- process.chdir(initialDir);
491
- return done(npmErr);
492
- }
493
-
494
- process.chdir(initialDir);
495
- process.env.npm_config_global=oldConfigGlobal;
496
- }
497
-
498
- done()
499
- }
457
+ // `cleanupIfNeeded` removed in 0.3.1 — `colors` is no longer installed.
500
458
 
501
459
  self.checkUserExtensions = async function(done) {
502
460
  var err = null;
@@ -266,20 +266,8 @@ function PreInstall() {
266
266
  }
267
267
  }
268
268
 
269
- // Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
270
- var initialDir = process.cwd();
271
-
272
- if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
273
- process.chdir(self.gina);
274
-
275
- var oldConfigGlobal = process.env.npm_config_global;
276
- process.env.npm_config_global=false;
277
- var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
278
- execSync(cmd);
279
- process.env.npm_config_global=oldConfigGlobal;
280
-
281
- process.chdir(initialDir);
282
- }
269
+ // `colors` dependency removed in 0.3.1 ANSI codes are now built into the logger.
270
+ // No temporary install needed.
283
271
 
284
272
 
285
273
 
@@ -1 +0,0 @@
1
- 0.3.0