gina 0.3.2 → 0.3.3

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 (510) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +18 -8
  3. package/ROADMAP.md +10 -9
  4. package/framework/v0.3.3/VERSION +1 -0
  5. package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/README.md +7 -8
  6. package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
  7. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
  8. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
  9. package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +2 -0
  10. package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +103 -0
  11. package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/js/gina.js +293 -201
  12. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js +21636 -0
  13. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  14. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  15. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +286 -0
  16. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  17. package/framework/v0.3.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  18. package/framework/{v0.3.2 → v0.3.3}/core/config.js +6 -1
  19. package/framework/{v0.3.2 → v0.3.3}/core/connectors/mysql/index.js +52 -0
  20. package/framework/{v0.3.2 → v0.3.3}/core/connectors/postgresql/index.js +45 -0
  21. package/framework/{v0.3.2 → v0.3.3}/core/connectors/sqlite/index.js +46 -0
  22. package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.js +1 -1
  23. package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/types/multipart.js +2 -1
  24. package/framework/v0.3.3/core/deps/streamsearch-1.1.0/LICENSE +19 -0
  25. package/framework/v0.3.3/core/deps/streamsearch-1.1.0/lib/sbmh.js +267 -0
  26. package/framework/v0.3.3/core/deps/streamsearch-1.1.0/package.json +34 -0
  27. package/framework/{v0.3.2 → v0.3.3}/core/gna.js +30 -30
  28. package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/src/main.js +3 -3
  29. package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/src/main.js +34 -29
  30. package/framework/{v0.3.2 → v0.3.3}/core/server.isaac.js +77 -13
  31. package/framework/{v0.3.2 → v0.3.3}/core/server.js +66 -18
  32. package/framework/{v0.3.2 → v0.3.3}/helpers/json/src/main.js +14 -1
  33. package/framework/{v0.3.2 → v0.3.3}/lib/cache/src/main.js +2 -2
  34. package/framework/{v0.3.2 → v0.3.3}/lib/cmd/aliases.json +3 -0
  35. package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/arguments.json +2 -1
  36. package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/help.txt +21 -1
  37. package/framework/v0.3.3/lib/cmd/bundle/oas.js +6 -0
  38. package/framework/v0.3.3/lib/cmd/bundle/openapi.js +519 -0
  39. package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/start.js +4 -1
  40. package/framework/v0.3.3/lib/cmd/framework/get.js +98 -0
  41. package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/help.txt +8 -3
  42. package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/help.txt +7 -2
  43. package/framework/v0.3.3/lib/cmd/port/set.js +348 -0
  44. package/framework/{v0.3.2 → v0.3.3}/lib/collection/src/main.js +4 -4
  45. package/framework/{v0.3.2 → v0.3.3}/lib/index.js +1 -0
  46. package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/mq/listener.js +2 -2
  47. package/framework/v0.3.3/lib/uuid/package.json +7 -0
  48. package/framework/v0.3.3/lib/uuid/src/main.js +99 -0
  49. package/framework/v0.3.3/package.json +8 -0
  50. package/gna.js +86 -0
  51. package/llms.txt +94 -4
  52. package/package.json +107 -101
  53. package/types/globals.d.ts +205 -0
  54. package/types/gna.d.ts +67 -0
  55. package/types/index.d.ts +566 -0
  56. package/framework/v0.3.2/VERSION +0 -1
  57. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
  58. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
  59. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -532
  60. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  61. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  62. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -8
  63. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  64. package/framework/v0.3.2/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  65. package/framework/v0.3.2/core/deps/swig-1.4.2/CONTRIBUTING.md +0 -107
  66. package/framework/v0.3.2/core/deps/swig-1.4.2/HISTORY.md +0 -498
  67. package/framework/v0.3.2/core/deps/swig-1.4.2/LICENSE +0 -7
  68. package/framework/v0.3.2/core/deps/swig-1.4.2/Makefile +0 -192
  69. package/framework/v0.3.2/core/deps/swig-1.4.2/README.md +0 -88
  70. package/framework/v0.3.2/core/deps/swig-1.4.2/bin/swig.js +0 -161
  71. package/framework/v0.3.2/core/deps/swig-1.4.2/browser/comments.js +0 -2
  72. package/framework/v0.3.2/core/deps/swig-1.4.2/browser/index.js +0 -9
  73. package/framework/v0.3.2/core/deps/swig-1.4.2/dist/swig.min.js +0 -7
  74. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/api.html +0 -136
  75. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/browser.html +0 -36
  76. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/cli.html +0 -64
  77. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/extending.html +0 -183
  78. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/filters.html +0 -97
  79. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/includes/TYPES.html +0 -0
  80. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/includes/macros.html +0 -9
  81. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/index.html +0 -212
  82. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/layout.html +0 -43
  83. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/loaders.html +0 -106
  84. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/previous.html +0 -25
  85. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs/tags.html +0 -72
  86. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/docs.json +0 -3
  87. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/index.html +0 -98
  88. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/index.json +0 -3
  89. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/js/lib/rainbow.min.js +0 -11
  90. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/js/master.js +0 -106
  91. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/layouts/html5.html +0 -25
  92. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/layouts/master.html +0 -59
  93. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/button.less +0 -22
  94. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/fork.less +0 -23
  95. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/header.less +0 -61
  96. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/layout.less +0 -96
  97. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/mixins.less +0 -268
  98. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/rainbow.less +0 -58
  99. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/reset.less +0 -250
  100. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/sidenav.less +0 -16
  101. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/swig.less +0 -124
  102. package/framework/v0.3.2/core/deps/swig-1.4.2/docs/less/variables.less +0 -42
  103. package/framework/v0.3.2/core/deps/swig-1.4.2/index.js +0 -1
  104. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/dateformatter.js +0 -198
  105. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/filters.js +0 -630
  106. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/lexer.js +0 -306
  107. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/loaders/filesystem.js +0 -59
  108. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/loaders/index.js +0 -53
  109. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/loaders/memory.js +0 -63
  110. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/parser.js +0 -744
  111. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/swig.js +0 -740
  112. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/autoescape.js +0 -37
  113. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/block.js +0 -25
  114. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/else.js +0 -25
  115. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/elseif.js +0 -28
  116. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/extends.js +0 -19
  117. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/filter.js +0 -68
  118. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/for.js +0 -130
  119. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/if.js +0 -86
  120. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/import.js +0 -91
  121. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/include.js +0 -100
  122. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/index.js +0 -16
  123. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/macro.js +0 -79
  124. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/parent.js +0 -51
  125. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/raw.js +0 -23
  126. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/set.js +0 -109
  127. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/tags/spaceless.js +0 -42
  128. package/framework/v0.3.2/core/deps/swig-1.4.2/lib/utils.js +0 -184
  129. package/framework/v0.3.2/core/deps/swig-1.4.2/package.json +0 -41
  130. package/framework/v0.3.2/core/deps/swig-1.4.2/scripts/config-lint.js +0 -41
  131. package/framework/v0.3.2/core/deps/swig-1.4.2/scripts/githooks/post-merge +0 -3
  132. package/framework/v0.3.2/core/deps/swig-1.4.2/scripts/githooks/pre-commit +0 -59
  133. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/basic.test.js +0 -296
  134. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.filters.js +0 -3
  135. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.locals.js +0 -5
  136. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.locals.json +0 -7
  137. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.tags.js +0 -15
  138. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/bin.test.js +0 -159
  139. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_filter.bin.html +0 -1
  140. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_tag.bin.html +0 -1
  141. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_tagControls.bin.html +0 -1
  142. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/custom_varControls.bin.html +0 -1
  143. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/bin/options.js +0 -3
  144. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_1.expectation.html +0 -6
  145. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_1.test.html +0 -3
  146. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_2.expectation.html +0 -6
  147. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_2.test.html +0 -5
  148. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_base.html +0 -6
  149. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.base.html +0 -1
  150. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.middle.html +0 -2
  151. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_bare.html +0 -2
  152. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_base.html +0 -3
  153. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_include.html +0 -3
  154. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_real_base.html +0 -1
  155. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_set.expectation.html +0 -6
  156. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_set.test.html +0 -4
  157. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.expectation.html +0 -1
  158. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.test.html +0 -3
  159. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.expectation.html +0 -1
  160. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.test.html +0 -2
  161. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/import.expectation.html +0 -24
  162. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/import.test.html +0 -10
  163. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include.expectation.html +0 -24
  164. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include.test.html +0 -13
  165. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include_bar.html +0 -1
  166. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include_extends.expectation.html +0 -4
  167. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/include_extends.test.html +0 -1
  168. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/includes.html +0 -1
  169. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/macros.expectation.html +0 -8
  170. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/macros.html +0 -23
  171. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/macros.test.html +0 -11
  172. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/nested_blocks.expectation.html +0 -3
  173. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/nested_blocks.test.html +0 -3
  174. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/nested_blocks_parent.html +0 -3
  175. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent-parent.expectation.html +0 -8
  176. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent-parent.test.html +0 -1
  177. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent.expectation.html +0 -8
  178. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/parent.test.html +0 -9
  179. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/set.expectation.html +0 -3
  180. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases/set.test.html +0 -8
  181. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/circular.test.html +0 -1
  182. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/circular_parent.html +0 -1
  183. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/extends-non-existent.test.html +0 -1
  184. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/report-filename-partial.html +0 -1
  185. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/cases-error/report-filename.test.html +0 -1
  186. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/comments.test.js +0 -12
  187. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/filters.test.js +0 -316
  188. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/loaders.test.js +0 -119
  189. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/regressions.test.js +0 -41
  190. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/autoescape.test.js +0 -45
  191. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/else.test.js +0 -61
  192. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/extend.test.js +0 -11
  193. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/filter.test.js +0 -29
  194. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/for.test.js +0 -63
  195. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/if.test.js +0 -75
  196. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/import.test.js +0 -15
  197. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/include.test.js +0 -26
  198. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/macro.test.js +0 -38
  199. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/parent.test.js +0 -14
  200. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/raw.test.js +0 -33
  201. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/set.test.js +0 -56
  202. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags/spaceless.test.js +0 -26
  203. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/tags.test.js +0 -56
  204. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/templates.test.js +0 -62
  205. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/variables.test.js +0 -183
  206. package/framework/v0.3.2/core/deps/swig-1.4.2/tests/whitespace.test.js +0 -43
  207. package/framework/v0.3.2/lib/cmd/framework/get.js +0 -0
  208. package/framework/v0.3.2/lib/cmd/port/set.js +0 -0
  209. package/framework/v0.3.2/package.json +0 -5
  210. /package/framework/{v0.3.2 → v0.3.3}/AUTHORS +0 -0
  211. /package/framework/{v0.3.2 → v0.3.3}/LICENSE +0 -0
  212. /package/framework/{v0.3.2 → v0.3.3}/core/asset/html/nolayout.html +0 -0
  213. /package/framework/{v0.3.2 → v0.3.3}/core/asset/html/static.html +0 -0
  214. /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/android-chrome-192x192.png +0 -0
  215. /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/android-chrome-512x512.png +0 -0
  216. /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/apple-touch-icon.png +0 -0
  217. /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/favicon-16x16.png +0 -0
  218. /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/favicon-32x32.png +0 -0
  219. /package/framework/{v0.3.2 → v0.3.3}/core/asset/img/favicon.ico +0 -0
  220. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  221. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  222. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  223. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  224. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  225. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  226. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  227. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  228. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  229. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  230. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  231. /package/framework/{v0.3.2 → v0.3.3}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  232. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/ai/index.js +0 -0
  233. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/ai/lib/connector.js +0 -0
  234. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/index.js +0 -0
  235. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.js +0 -0
  236. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  237. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  238. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  239. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/n1ql.js +0 -0
  240. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.js +0 -0
  241. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  242. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  243. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  244. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/mysql/lib/connector.js +0 -0
  245. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/postgresql/lib/connector.js +0 -0
  246. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/redis/index.js +0 -0
  247. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/redis/lib/session-store.js +0 -0
  248. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/sql-parser.js +0 -0
  249. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/sqlite/lib/connector.js +0 -0
  250. /package/framework/{v0.3.2 → v0.3.3}/core/connectors/sqlite/lib/session-store.js +0 -0
  251. /package/framework/{v0.3.2 → v0.3.3}/core/content.encoding +0 -0
  252. /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.framework.js +0 -0
  253. /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-json.js +0 -0
  254. /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-stream.js +0 -0
  255. /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-swig.js +0 -0
  256. /package/framework/{v0.3.2 → v0.3.3}/core/controller/controller.render-v1.js +0 -0
  257. /package/framework/{v0.3.2 → v0.3.3}/core/controller/index.js +0 -0
  258. /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/LICENSE +0 -0
  259. /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/README.md +0 -0
  260. /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  261. /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  262. /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  263. /package/framework/{v0.3.2 → v0.3.3}/core/deps/busboy-1.6.0/package.json +0 -0
  264. /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/LICENSE +0 -0
  265. /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/index.js +0 -0
  266. /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/package.json +0 -0
  267. /package/framework/{v0.3.2 → v0.3.3}/core/deps/optimist-0.6.1/readme.markdown +0 -0
  268. /package/framework/{v0.3.2 → v0.3.3}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  269. /package/framework/{v0.3.2 → v0.3.3}/core/deps/swig-client/swig.js +0 -0
  270. /package/framework/{v0.3.2 → v0.3.3}/core/dev/index.js +0 -0
  271. /package/framework/{v0.3.2 → v0.3.3}/core/dev/lib/class.js +0 -0
  272. /package/framework/{v0.3.2 → v0.3.3}/core/dev/lib/factory.js +0 -0
  273. /package/framework/{v0.3.2 → v0.3.3}/core/dev/lib/tools.js +0 -0
  274. /package/framework/{v0.3.2 → v0.3.3}/core/locales/README.md +0 -0
  275. /package/framework/{v0.3.2 → v0.3.3}/core/locales/currency.json +0 -0
  276. /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/language/en.json +0 -0
  277. /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/language/fr.json +0 -0
  278. /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/region/en.json +0 -0
  279. /package/framework/{v0.3.2 → v0.3.3}/core/locales/dist/region/fr.json +0 -0
  280. /package/framework/{v0.3.2 → v0.3.3}/core/locales/index.js +0 -0
  281. /package/framework/{v0.3.2 → v0.3.3}/core/mime.types +0 -0
  282. /package/framework/{v0.3.2 → v0.3.3}/core/model/entity.js +0 -0
  283. /package/framework/{v0.3.2 → v0.3.3}/core/model/index.js +0 -0
  284. /package/framework/{v0.3.2 → v0.3.3}/core/model/template/entityFactory.js +0 -0
  285. /package/framework/{v0.3.2 → v0.3.3}/core/model/template/index.js +0 -0
  286. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/README.md +0 -0
  287. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/index.js +0 -0
  288. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/file/README.md +0 -0
  289. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/file/build.json +0 -0
  290. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/file/package.json +0 -0
  291. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/README.md +0 -0
  292. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/build.json +0 -0
  293. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/package.json +0 -0
  294. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/intl/src/main.js +0 -0
  295. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/README.md +0 -0
  296. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/build.json +0 -0
  297. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/storage/package.json +0 -0
  298. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/README.md +0 -0
  299. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/build.json +0 -0
  300. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/package.json +0 -0
  301. /package/framework/{v0.3.2 → v0.3.3}/core/plugins/lib/validator/src/form-validator.js +0 -0
  302. /package/framework/{v0.3.2 → v0.3.3}/core/router.js +0 -0
  303. /package/framework/{v0.3.2 → v0.3.3}/core/server.express.js +0 -0
  304. /package/framework/{v0.3.2 → v0.3.3}/core/status.codes +0 -0
  305. /package/framework/{v0.3.2 → v0.3.3}/core/template/_gitignore +0 -0
  306. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/app.json +0 -0
  307. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  308. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/routing.json +0 -0
  309. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/settings.json +0 -0
  310. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  311. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/templates.json +0 -0
  312. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  313. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  314. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  315. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  316. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle/index.js +0 -0
  317. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  318. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  319. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  320. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  321. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  322. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  323. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_public/readme.md +0 -0
  324. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  325. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  326. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  327. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  328. /package/framework/{v0.3.2 → v0.3.3}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  329. /package/framework/{v0.3.2 → v0.3.3}/core/template/command/gina.bat.tpl +0 -0
  330. /package/framework/{v0.3.2 → v0.3.3}/core/template/command/gina.tpl +0 -0
  331. /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/env.json +0 -0
  332. /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/manifest.json +0 -0
  333. /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/package.json +0 -0
  334. /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/settings.json +0 -0
  335. /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/statics.json +0 -0
  336. /package/framework/{v0.3.2 → v0.3.3}/core/template/conf/templates.json +0 -0
  337. /package/framework/{v0.3.2 → v0.3.3}/core/template/error/client/json/401.json +0 -0
  338. /package/framework/{v0.3.2 → v0.3.3}/core/template/error/client/json/403.json +0 -0
  339. /package/framework/{v0.3.2 → v0.3.3}/core/template/error/client/json/404.json +0 -0
  340. /package/framework/{v0.3.2 → v0.3.3}/core/template/error/server/html/50x.html +0 -0
  341. /package/framework/{v0.3.2 → v0.3.3}/core/template/error/server/json/500.json +0 -0
  342. /package/framework/{v0.3.2 → v0.3.3}/core/template/error/server/json/503.json +0 -0
  343. /package/framework/{v0.3.2 → v0.3.3}/core/template/extensions/logger/config.json +0 -0
  344. /package/framework/{v0.3.2 → v0.3.3}/helpers/console.js +0 -0
  345. /package/framework/{v0.3.2 → v0.3.3}/helpers/context.js +0 -0
  346. /package/framework/{v0.3.2 → v0.3.3}/helpers/data/LICENSE +0 -0
  347. /package/framework/{v0.3.2 → v0.3.3}/helpers/data/README.md +0 -0
  348. /package/framework/{v0.3.2 → v0.3.3}/helpers/data/package.json +0 -0
  349. /package/framework/{v0.3.2 → v0.3.3}/helpers/data/src/main.js +0 -0
  350. /package/framework/{v0.3.2 → v0.3.3}/helpers/dateFormat.js +0 -0
  351. /package/framework/{v0.3.2 → v0.3.3}/helpers/index.js +0 -0
  352. /package/framework/{v0.3.2 → v0.3.3}/helpers/json/LICENSE +0 -0
  353. /package/framework/{v0.3.2 → v0.3.3}/helpers/json/README.md +0 -0
  354. /package/framework/{v0.3.2 → v0.3.3}/helpers/json/package.json +0 -0
  355. /package/framework/{v0.3.2 → v0.3.3}/helpers/path.js +0 -0
  356. /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/README.md +0 -0
  357. /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/package.json +0 -0
  358. /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/src/api-error.js +0 -0
  359. /package/framework/{v0.3.2 → v0.3.3}/helpers/plugins/src/main.js +0 -0
  360. /package/framework/{v0.3.2 → v0.3.3}/helpers/prototypes.js +0 -0
  361. /package/framework/{v0.3.2 → v0.3.3}/helpers/task.js +0 -0
  362. /package/framework/{v0.3.2 → v0.3.3}/helpers/text.js +0 -0
  363. /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/README.md +0 -0
  364. /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/build.json +0 -0
  365. /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/package.json +0 -0
  366. /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/src/dep/jszip.min.js +0 -0
  367. /package/framework/{v0.3.2 → v0.3.3}/lib/archiver/src/main.js +0 -0
  368. /package/framework/{v0.3.2 → v0.3.3}/lib/async/package.json +0 -0
  369. /package/framework/{v0.3.2 → v0.3.3}/lib/async/src/main.js +0 -0
  370. /package/framework/{v0.3.2 → v0.3.3}/lib/cache/README.md +0 -0
  371. /package/framework/{v0.3.2 → v0.3.3}/lib/cache/build.json +0 -0
  372. /package/framework/{v0.3.2 → v0.3.3}/lib/cache/package.json +0 -0
  373. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/add.js +0 -0
  374. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/build.js +0 -0
  375. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/copy.js +0 -0
  376. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/cp.js +0 -0
  377. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/help.js +0 -0
  378. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/list.js +0 -0
  379. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/remove.js +0 -0
  380. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/rename.js +0 -0
  381. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/restart.js +0 -0
  382. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/rm.js +0 -0
  383. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/status.js +0 -0
  384. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/bundle/stop.js +0 -0
  385. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/cache/stats.js +0 -0
  386. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/add.js +0 -0
  387. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/get.js +0 -0
  388. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/help.js +0 -0
  389. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/help.txt +0 -0
  390. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/link-dev.js +0 -0
  391. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/list.js +0 -0
  392. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/remove.js +0 -0
  393. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/rm.js +0 -0
  394. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/set.js +0 -0
  395. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/unset.js +0 -0
  396. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/env/use.js +0 -0
  397. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/arguments.json +0 -0
  398. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/build.js +0 -0
  399. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/dot.js +0 -0
  400. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/help.js +0 -0
  401. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/init.js +0 -0
  402. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/link-node-modules.js +0 -0
  403. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/link.js +0 -0
  404. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/msg.json +0 -0
  405. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/open.js +0 -0
  406. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/restart.js +0 -0
  407. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/set.js +0 -0
  408. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/start.js +0 -0
  409. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/status.js +0 -0
  410. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/stop.js +0 -0
  411. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/tail.js +0 -0
  412. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/update.js +0 -0
  413. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/framework/version.js +0 -0
  414. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/gina-dev.1.md +0 -0
  415. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/gina-framework.1.md +0 -0
  416. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/gina.1.md +0 -0
  417. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/helper.js +0 -0
  418. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/index.js +0 -0
  419. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/inspector/help.js +0 -0
  420. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/inspector/help.txt +0 -0
  421. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/inspector/open.js +0 -0
  422. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/minion/help.js +0 -0
  423. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/minion/help.txt +0 -0
  424. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/msg.json +0 -0
  425. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/help.js +0 -0
  426. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/inc/scan.js +0 -0
  427. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/list.js +0 -0
  428. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/port/reset.js +0 -0
  429. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/add.js +0 -0
  430. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/arguments.json +0 -0
  431. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/build.js +0 -0
  432. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/help.js +0 -0
  433. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/help.txt +0 -0
  434. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/import.js +0 -0
  435. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/list.js +0 -0
  436. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/move.js +0 -0
  437. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/remove.js +0 -0
  438. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/rename.js +0 -0
  439. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/restart.js +0 -0
  440. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/rm.js +0 -0
  441. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/start.js +0 -0
  442. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/status.js +0 -0
  443. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/project/stop.js +0 -0
  444. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/help.js +0 -0
  445. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/help.txt +0 -0
  446. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/list.js +0 -0
  447. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/protocol/set.js +0 -0
  448. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/add.js +0 -0
  449. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/help.js +0 -0
  450. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/help.txt +0 -0
  451. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/link-local.js +0 -0
  452. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/link-production.js +0 -0
  453. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/list.js +0 -0
  454. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/remove.js +0 -0
  455. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/rm.js +0 -0
  456. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/scope/use.js +0 -0
  457. /package/framework/{v0.3.2 → v0.3.3}/lib/cmd/view/add.js +0 -0
  458. /package/framework/{v0.3.2 → v0.3.3}/lib/collection/README.md +0 -0
  459. /package/framework/{v0.3.2 → v0.3.3}/lib/collection/build.json +0 -0
  460. /package/framework/{v0.3.2 → v0.3.3}/lib/collection/package.json +0 -0
  461. /package/framework/{v0.3.2 → v0.3.3}/lib/config.js +0 -0
  462. /package/framework/{v0.3.2 → v0.3.3}/lib/cron/README.md +0 -0
  463. /package/framework/{v0.3.2 → v0.3.3}/lib/cron/package.json +0 -0
  464. /package/framework/{v0.3.2 → v0.3.3}/lib/cron/src/main.js +0 -0
  465. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/LICENSE +0 -0
  466. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/README.md +0 -0
  467. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +0 -0
  468. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/public_suffix_list.dat +0 -0
  469. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/public_suffix_list.dat.br +0 -0
  470. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/dist/public_suffix_list.dat.gz +0 -0
  471. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/package.json +0 -0
  472. /package/framework/{v0.3.2 → v0.3.3}/lib/domain/src/main.js +0 -0
  473. /package/framework/{v0.3.2 → v0.3.3}/lib/generator/index.js +0 -0
  474. /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/LICENSE +0 -0
  475. /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/README.md +0 -0
  476. /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/package.json +0 -0
  477. /package/framework/{v0.3.2 → v0.3.3}/lib/inherits/src/main.js +0 -0
  478. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/README.md +0 -0
  479. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/package.json +0 -0
  480. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/default/index.js +0 -0
  481. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/file/index.js +0 -0
  482. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  483. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  484. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/mq/index.js +0 -0
  485. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/containers/mq/speaker.js +0 -0
  486. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/helper.js +0 -0
  487. /package/framework/{v0.3.2 → v0.3.3}/lib/logger/src/main.js +0 -0
  488. /package/framework/{v0.3.2 → v0.3.3}/lib/math/index.js +0 -0
  489. /package/framework/{v0.3.2 → v0.3.3}/lib/merge/README.md +0 -0
  490. /package/framework/{v0.3.2 → v0.3.3}/lib/merge/package.json +0 -0
  491. /package/framework/{v0.3.2 → v0.3.3}/lib/merge/src/main.js +0 -0
  492. /package/framework/{v0.3.2 → v0.3.3}/lib/model.js +0 -0
  493. /package/framework/{v0.3.2 → v0.3.3}/lib/proc.js +0 -0
  494. /package/framework/{v0.3.2 → v0.3.3}/lib/routing/README.md +0 -0
  495. /package/framework/{v0.3.2 → v0.3.3}/lib/routing/build.json +0 -0
  496. /package/framework/{v0.3.2 → v0.3.3}/lib/routing/package.json +0 -0
  497. /package/framework/{v0.3.2 → v0.3.3}/lib/routing/src/main.js +0 -0
  498. /package/framework/{v0.3.2 → v0.3.3}/lib/routing/src/radix.js +0 -0
  499. /package/framework/{v0.3.2 → v0.3.3}/lib/session-store.js +0 -0
  500. /package/framework/{v0.3.2 → v0.3.3}/lib/shell.js +0 -0
  501. /package/framework/{v0.3.2 → v0.3.3}/lib/state.js +0 -0
  502. /package/framework/{v0.3.2 → v0.3.3}/lib/swig-filters/README.md +0 -0
  503. /package/framework/{v0.3.2 → v0.3.3}/lib/swig-filters/package.json +0 -0
  504. /package/framework/{v0.3.2 → v0.3.3}/lib/swig-filters/src/main.js +0 -0
  505. /package/framework/{v0.3.2 → v0.3.3}/lib/url/README.md +0 -0
  506. /package/framework/{v0.3.2 → v0.3.3}/lib/url/index.js +0 -0
  507. /package/framework/{v0.3.2 → v0.3.3}/lib/url/routing.json +0 -0
  508. /package/framework/{v0.3.2 → v0.3.3}/lib/validator.js +0 -0
  509. /package/framework/{v0.3.2 → v0.3.3}/lib/watcher/package.json +0 -0
  510. /package/framework/{v0.3.2 → v0.3.3}/lib/watcher/src/main.js +0 -0
package/llms.txt CHANGED
@@ -42,6 +42,35 @@ framework/v${version}/
42
42
 
43
43
  ---
44
44
 
45
+ ## Vendored dependencies (`core/deps/`)
46
+
47
+ | Package | Version | Notes |
48
+ |---|---|---|
49
+ | `optimist` | 0.6.1 | CLI arg parsing. Uses `minimist ~1.2.8` and `wordwrap ~1.0.0`. |
50
+ | `busboy` | 1.6.0 | Multipart form parsing. Requires `streamsearch` (vendored alongside). |
51
+ | `streamsearch` | 1.1.0 | Boyer-Moore-Horspool stream searching. Dependency of `busboy`. |
52
+ | `swig-client` | custom | Client-side Swig for browser template rendering. |
53
+
54
+ ### Swig — `@rhinostone/swig` (npm dependency)
55
+
56
+ Maintained fork of the abandoned swig 1.4.2 template engine. Published to npm as `@rhinostone/swig@1.4.4` (npm org: `rhinostone`, maintainer: `beemaster`). Repo: `https://github.com/gina-io/swig`. Declared in `framework/v*/package.json` — installed via `npm install` inside the framework directory. Requires `npm install` after clone, merge, or worktree switch (the framework `node_modules/` is gitignored).
57
+
58
+ Previously vendored at `core/deps/swig-1.4.2/` — removed in the migration to the npm dep. CVE-2023-25345 parse-time blocklist (`__proto__`/`constructor`/`prototype`) is patched in the fork's `parser.js` and `tags/set.js`. The path traversal boundary check in `controller.render-swig.js` is Gina's own code and is unaffected by this migration.
59
+
60
+ ---
61
+
62
+ ## TypeScript declarations & explicit exports
63
+
64
+ **TypeScript declarations** — `types/index.d.ts`, `types/globals.d.ts`, `types/gna.d.ts`. Covers `SuperController`, `EntitySuper`, all global helpers, `PathObject`, `uuid`, `ApiError`, config file interfaces (`RoutingConfig`, `ConnectorsConfig`, `AppConfig`, `SettingsConfig`, `ManifestConfig`, `WatchersConfig`, `CronsConfig`), `GinaRequest`/`GinaResponse`, and the `Gna` lifecycle module. `package.json` has `"types": "./types/index.d.ts"` and `"typesVersions"` for `gina/gna`.
65
+
66
+ **Explicit exports** — `require('gina/gna')` returns an object with all global helpers as named properties:
67
+ ```javascript
68
+ const { getContext, _, onCompleteCall, uuid, SuperController } = require('gina/gna');
69
+ ```
70
+ Uses lazy getters — symbols resolve at access time (after framework boot). The globals are still injected as before; this adds an importable path for IDE navigation and static analysis. Entry point: `gna.js` at package root.
71
+
72
+ ---
73
+
45
74
  ## Global helpers (injected by gna.js — no require needed)
46
75
 
47
76
  ```javascript
@@ -57,6 +86,20 @@ setEnvVar(key, val, protect) // Write env variable
57
86
  onCompleteCall(emitter) // Wraps an EventEmitter .onComplete(cb) into a native Promise — lib/async/src/main.js, also available as global and via lib.async
58
87
  ```
59
88
 
89
+ ## Bare-module require — `require('lib/<name>')`
90
+
91
+ Bundle entities, controllers, and middleware can `require()` framework libraries as bare modules from any depth:
92
+
93
+ ```javascript
94
+ var uuid = require('lib/uuid'); // → framework/v<version>/lib/uuid/
95
+ var merge = require('lib/merge'); // → framework/v<version>/lib/merge/
96
+ var routing = require('lib/routing'); // → framework/v<version>/lib/routing/
97
+ ```
98
+
99
+ `gna.js` injects the framework path into `process.env.NODE_PATH` and calls `require('module').Module._initPaths()` at bootstrap. This mirrors the frontend RequireJS path alias convention and removes the need for relative paths like `require('../../../../framework/v<version>/lib/uuid')`.
100
+
101
+ Every `lib/<name>/` directory must have a `package.json` with `"main": "src/main"` (see `lib/merge/package.json` for the canonical pattern).
102
+
60
103
  ---
61
104
 
62
105
  ## Controller pattern
@@ -363,6 +406,31 @@ Counters are live — no restart required. `activeSessions` is bounded by ≥ 0.
363
406
 
364
407
  ---
365
408
 
409
+ ## OpenAPI spec generation
410
+
411
+ `gina bundle:openapi <bundle> @<project>` reads `routing.json` and emits an OpenAPI 3.1.0 `openapi.json` in the bundle's `config/` directory. No manual spec writing required.
412
+
413
+ Mapping from routing.json to OpenAPI:
414
+
415
+ | routing.json field | OpenAPI equivalent |
416
+ | --- | --- |
417
+ | `url` (`:param` syntax) | `paths` (`{param}` syntax) |
418
+ | `method` | HTTP operations under each path |
419
+ | `param.control` | `operationId` |
420
+ | `namespace` | `tags` |
421
+ | `requirements` (regex) | `parameters[].schema.pattern` |
422
+ | `requirements` (pipe-separated) | `parameters[].schema.enum` |
423
+ | `_comment` | operation `description` |
424
+ | `_sample` | `x-sample-url` extension |
425
+ | `param.title` | operation `summary` |
426
+ | `middleware` | `x-middleware` extension |
427
+ | `cache` | `Cache-Control` response header docs |
428
+ | `param.code` + `param.path` (redirects) | 3xx response with `Location` header |
429
+
430
+ To enrich the generated spec, add `_comment` (description) and `_sample` (example URL) fields to your routes. The `namespace` field groups operations into tags.
431
+
432
+ ---
433
+
366
434
  ## Project config files
367
435
 
368
436
  | File | Location | Purpose |
@@ -420,6 +488,9 @@ gina bundle:add <bundle> @<project> # Scaffold a new bundle (overwrites exis
420
488
  gina bundle:add <bundle> @<project> --import # Register existing bundle (preserves src)
421
489
  gina bundle:remove <bundle> @<project> # Remove a bundle
422
490
  gina bundle:list @<project> # List bundles
491
+ gina bundle:openapi <bundle> @<project> # Generate OpenAPI 3.1.0 spec from routing.json
492
+ gina bundle:oas <bundle> @<project> # Alias for bundle:openapi
493
+ gina bundle:openapi @<project> --output=/path/to/spec.json # Custom output path
423
494
  gina view:add <bundle> @<project> # Add HTML templates to a bundle
424
495
  gina tail --follow # Follow logs
425
496
  gina framework:set --env=dev # Set framework setting
@@ -433,8 +504,6 @@ gina-init # Bootstrap ~/.gina/ from env vars (cont
433
504
 
434
505
  **CLI stubs — commands that appear in docs or help.txt but are NOT implemented (handler files are empty or missing):**
435
506
 
436
- - `port:set` — empty handler; use `port:reset --start-port-from=<N>` to re-allocate all ports
437
- - `framework:get` — empty handler; use `env:get` to read settings
438
507
  - `bundle:status` / `bundle:rename` / `bundle:copy` — comments-only handler files
439
508
  - `project:status` / `project:move` / `project:backup` / `project:restore` — empty or missing
440
509
  - `protocol:remove` — no handler file (also has a typo "remouve" in help.txt)
@@ -525,7 +594,8 @@ Dev-mode query instrumentation captures every database query tied to the current
525
594
  - **`origin` tagging** — `infos.bundle` (set on `Entity.prototype.bundle` at registration). **`connector` tagging** — hardcoded string per connector.
526
595
  - **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.
527
596
  - **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.
528
- - **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.
597
+ - **Index reporting (SQL connectors — #QI1 Phase A)** — `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).
598
+ - **Live index introspection (#QI1 Phase B)** — `/_gina/indexes` endpoint (dev-mode only, both `server.js` and `server.isaac.js`) queries actual databases for their indexes. Emits `process.emit('inspector#indexes', callback)` — each SQL connector registers a listener inside its constructor closure and responds with live index data. MySQL queries `INFORMATION_SCHEMA.STATISTICS`, PostgreSQL queries `pg_indexes`, SQLite uses `sqlite_master` + `PRAGMA index_list`. Collector pattern with 2-second timeout. `_liveIntrospected` flag prevents re-querying. Inspector SPA calls the endpoint lazily (only when N/A badges are present), caches result, and re-renders Query tab with resolved indexes. Eliminates the need for manual `indexes.sql` files.
529
599
  - **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).
530
600
 
531
601
  **UX enhancements:**
@@ -541,6 +611,25 @@ Dev-mode query instrumentation captures every database query tied to the current
541
611
 
542
612
  ---
543
613
 
614
+ ## Client-side plugins (`core/asset/plugin/`)
615
+
616
+ **Source:** `src/vendor/gina/` — AMD modules bundled into `dist/vendor/gina/js/gina.min.js` via RequireJS + Closure Compiler.
617
+
618
+ **Popin** (`src/vendor/gina/popin/main.js`) — client-side dialog/modal component. Manages popup lifecycle (register, load, open, close, destroy), XHR content loading, event wiring, and `<dialog>` element support.
619
+
620
+ - **Performance:** `_nextId()` counter replaces `crypto.randomUUID()`; `querySelectorAll` replaces `getElementsByAttribute`/`getElementsByTagName` for DOM scanning; `classList` API replaces `className` string manipulation; cached `RegExp` for click handlers; DOM-injected `<script>`/`<link>` elements replace XHR+`eval()` for asset loading; per-load XHR creation prevents concurrent state sharing; `popinBind` dedup guard avoids redundant binding.
621
+ - **`popinDestroy(name)`** — full teardown: closes if open, removes DOM element, removes all event listeners (loaded/ready/open/close), cleans up `instance.$popins` and `registeredPopins`, resets `activePopinId`, fires `destroy` event.
622
+ - **`$popin.$headers`** — tracks injected `<script>` and `<link>` element IDs. Cleaned up in `popinClose`.
623
+ - **`ginaToolbar` integration** — 13 refs; `popinClose` is the only `restore()` call site. `update()` calls sync XHR overlay data to the Inspector.
624
+
625
+ **Events** (`src/vendor/gina/utils/events.js`) — core event system with XHR lifecycle management (`setupXhr`, `handleXhr`). Bundled into `gina.min.js`.
626
+
627
+ **Binding** (`src/vendor/gina/helpers/binding.js`) — processes binding descriptor arrays (call/handler/payload). AMD module.
628
+
629
+ **Unit tests:** `test/core/popin.test.js` (37 tests — perf optimizations, DOM injection, dedup guard, per-load XHR, popinDestroy, registeredPopins, events.js regex/typo, binding.js precedence, dist verification).
630
+
631
+ ---
632
+
544
633
  ## Home directory (~/.gina/)
545
634
 
546
635
  ```
@@ -576,7 +665,7 @@ Dev-mode query instrumentation captures every database query tied to the current
576
665
  15. **Sidebar icon key = `sidebar_label.toLowerCase()`** — `Root.js` `NAV_ICONS` map in the Docusaurus site uses the **lowercase** value of the page's `sidebar_label` frontmatter as the map key. If an icon doesn't render, verify the key matches exactly (e.g. `sidebar_label: Security` → key `'security'`).
577
666
  16. **Post-merge state check required after every `git merge --ff-only`** — `post_install.js` does NOT run on a git pull/merge; it only runs on `npm install`. When the version changes (especially a `shortVersion` bump like `0.2 → 0.3`), three state stores go stale simultaneously: `~/.gina/main.json` (`def_framework`, `frameworks["${shortVersion}"]`, all metadata keys), `~/.gina/${shortVersion}/settings.json` (missing entirely), and `gina.db` `kv_store` (`main` + `settings/${shortVersion}` keys). Running `npm install` from inside the repo also fails (symlink error — `node_modules/.bin/` does not exist in the worktree layout); patch the state files directly instead. See `.claude/git.md § Post-merge state check` for the full checklist.
578
667
  17. **Merge frequency** — merge `dev/wip` → `develop` after every feature/fix (frequent is good). Exception: hold at version boundaries (`0.3.x → 0.4.x`, `0.x → 1.x`) until the full release is prepared, because `git mv framework/v*/` during merge is a live deployment of the globally-installed CLI. See `.claude/architecture/git-workflow.md` for the full decision framework.
579
- 18. **CLI stubs** — several CLI commands appear in help.txt or docs but have empty/missing handler files and do NOT work: `port:set`, `framework:get`, `bundle:status/rename/copy`, `project:status/move/backup/restore`, `protocol:remove`, `minion:kill/list`, `framework:update`, `gina --status/-t`. Never suggest these to users. Workarounds: `port:reset --start-port-from=<N>` for port re-allocation, `env:get` for reading settings. Full inventory in `.claude/cli-reference.md`.
668
+ 18. **CLI stubs** — several CLI commands appear in help.txt or docs but have empty/missing handler files and do NOT work: `bundle:status/rename/copy`, `project:status/move/backup/restore`, `protocol:remove`, `minion:kill/list`, `framework:update`, `gina --status/-t`. Never suggest these to users. Full inventory in `.claude/cli-reference.md`. Note: `port:set`, `framework:get`, and `bundle:openapi` were implemented in `0.3.3-alpha.2`.
580
669
  19. **`namespace` is required to target a namespace controller** — omitting `"namespace": "content"` from a routing rule makes the router look in `controller.js` instead of `controller.content.js`. The error surface is "control not found: `list`" pointing at `controller.js`, which is confusing. Always set `namespace` when your action lives in a namespace controller file.
581
670
  20. **URL params need `"id": ":id"` in `param` to reach `req.params`** — declaring `"url": "/notes/:id"` is not enough. You must also add `"id": ":id"` inside the `param` block so the router binds the segment to `req.params.id`. `requirements` are optional (any non-empty segment is accepted when omitted); the `param` binding is not.
582
671
  21. **`throwError(res, code, stringMsg)` preserves the status code** — calling `self.throwError(res, 404, 'Not found')` sends 404. Previously the string-message branch unconditionally replaced `code` with `res.status || 500`. Fixed in `core/controller/controller.js`. If you previously worked around this by wrapping your message in `new Error(...)`, that still works unchanged.
@@ -603,4 +692,5 @@ Dev-mode query instrumentation captures every database query tied to the current
603
692
  39. **`getAssets()` warns on inline `<script>` tags** — `server.js:811` regex matches all `<script>...</script>` tags in the rendered HTML, including inline ones. Inline scripts have no `src` attribute, so the `urlArr` match at line 927 returns `null`, causing `urlArr.length` to throw into the catch block that prints `"Problem with this asset"`. Fix: skip `<script>` tags without `\ssrc\s*=` after the tag detection block. The `\s` before `src` prevents false matches on `data-src`. Inline scripts are not external assets — they have no URL to catalog.
604
693
  40. **`queryParams` vs `queryOptions` at `conn._cluster.query()`** — the Couchbase connector's `conn._cluster.query()` must receive the full `queryOptions` object (which includes `parameters: queryParams`, `profile`, `scanConsistency`, `adhoc`), NOT the raw `queryParams` array. Passing `queryParams` silently drops all non-parameter options because the SDK only reads named properties from the options object. This bug existed at lines 892 and 934 for years, invisibly disabling `profile: 'timings'`, `scanConsistency`, and `adhoc: false` on every SDK v3+ query.
605
694
  41. **Option B is the active dispatch path in the Couchbase connector** — `register()` in `readSource()` has two paths: Option A (`self._isRegisteredFromProto === true`) and Option B (`!self._isRegisteredFromProto`). Option B is always active for all connector-generated entity methods. When adding debug logging or QI instrumentation to the query execution path, place it in Option B — Option A is dead code.
695
+ 42. **Validator touched-field-only error display** — the validator runs a global validation pass on every field blur to determine submit button state (`isFormValid`). The global pass must NOT display errors for untouched fields — only for `event.target.name` (the field the user actually touched). Two call sites in `validator/src/main.js`: ~line 3337 (within the `isFormValid && gResult.error` block) and ~line 4865 (same pattern in the second validation path). The global pass still correctly disables/enables the submit button.
606
696
  42. **Docker `node_modules` isolation** — Docker containers using `node_modules` anonymous volumes have their own copy of all npm packages. Edits to `node_modules/` on the host are invisible inside the container. To debug SDK-level behaviour, either `docker exec` and edit inside the container, or add logging to the framework connector code (which IS bind-mounted) rather than the SDK itself.
package/package.json CHANGED
@@ -1,112 +1,118 @@
1
1
  {
2
- "name": "gina",
3
- "version": "0.3.2",
4
- "description": "Node.js MVC framework with built-in HTTP/2, multi-bundle architecture, and scope-based data isolation — no Express dependency",
5
- "keywords": [
6
- "nodejs",
7
- "framework",
8
- "mvc",
9
- "http2",
10
- "rest-api",
11
- "full-stack",
12
- "server-side-rendering",
13
- "event-driven",
14
- "multi-bundle",
15
- "couchbase",
16
- "mongodb",
17
- "typescript",
18
- "gina",
19
- "ginajs"
20
- ],
21
- "homepage": "https://gina.io",
22
- "repository": {
23
- "type": "git",
24
- "url": "git+https://github.com/gina-io/gina.git"
2
+ "name": "gina",
3
+ "version": "0.3.3",
4
+ "description": "Node.js MVC framework with built-in HTTP/2, multi-bundle architecture, and scope-based data isolation — no Express dependency",
5
+ "keywords": [
6
+ "nodejs",
7
+ "framework",
8
+ "mvc",
9
+ "http2",
10
+ "rest-api",
11
+ "full-stack",
12
+ "server-side-rendering",
13
+ "event-driven",
14
+ "multi-bundle",
15
+ "couchbase",
16
+ "mongodb",
17
+ "typescript",
18
+ "gina",
19
+ "ginajs"
20
+ ],
21
+ "homepage": "https://gina.io",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/gina-io/gina.git"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/gina-io/gina/issues",
28
+ "email": "bugs@gina.io"
29
+ },
30
+ "author": {
31
+ "name": "Martin-Luther ETOUMAN",
32
+ "email": "martin-luther.etouman@gina.io"
33
+ },
34
+ "contributors": [
35
+ {
36
+ "name": "Martin-Luther ETOUMAN",
37
+ "email": "martin-luther.etouman@gina.io"
25
38
  },
26
- "bugs": {
27
- "url": "https://github.com/gina-io/gina/issues",
28
- "email": "bugs@gina.io"
29
- },
30
- "author": {
31
- "name": "Martin-Luther ETOUMAN",
32
- "email": "martin-luther.etouman@gina.io"
33
- },
34
- "contributors": [
35
- {
36
- "name": "Martin-Luther ETOUMAN",
37
- "email": "martin-luther.etouman@gina.io"
38
- },
39
- {
40
- "name": "Fabrice DELANEAU",
41
- "email": "fabrice.delaneau@gina.io",
42
- "url": "https://fdelaneau.com"
43
- }
44
- ],
45
- "copyright": "Copyright (c) 2009-2026 Rhinostone <contact@gina.io>",
46
- "engine": {
47
- "node": ">= 22 <26"
39
+ {
40
+ "name": "Fabrice DELANEAU",
41
+ "email": "fabrice.delaneau@gina.io",
42
+ "url": "https://fdelaneau.com"
43
+ }
44
+ ],
45
+ "copyright": "Copyright (c) 2009-2026 Rhinostone <contact@gina.io>",
46
+ "engine": {
47
+ "node": ">= 22 <26"
48
+ },
49
+ "config": {
50
+ "optionalPrefix": "~/.npm-global",
51
+ "prefix": "~/.npm-global",
52
+ "globalMode": true
53
+ },
54
+ "bin": {
55
+ "gina": "bin/gina",
56
+ "gina-container": "bin/gina-container",
57
+ "gina-init": "bin/gina-init"
58
+ },
59
+ "main": "./framework/v0.3.3/core/gna",
60
+ "types": "./types/index.d.ts",
61
+ "typesVersions": {
62
+ "*": {
63
+ "gna": ["./types/gna.d.ts"]
64
+ }
65
+ },
66
+ "scripts": {
67
+ "test": "node --test test*.test.js",
68
+ "prepare": "node script/prepare_version.js",
69
+ "postpublish": "node script/post_publish.js",
70
+ "preinstall": "node script/pre_install.js",
71
+ "postinstall": "node script/post_install.js"
72
+ },
73
+ "license": "MIT",
74
+ "readmeFilename": "README.md",
75
+ "dependencies": {
76
+ "engine.io": "^6.0.0"
77
+ },
78
+ "devDependencies": {
79
+ "engine.io-client": "^6.6.3",
80
+ "requirejs": "^2.3.7"
81
+ },
82
+ "peerDependencies": {
83
+ "@anthropic-ai/sdk": ">=0.27.0",
84
+ "@scylladb/scylla-driver": ">=1.0.0",
85
+ "couchbase": ">=3.0.0",
86
+ "ioredis": ">=5.0.0",
87
+ "mongodb": ">=5.0.0",
88
+ "mysql2": ">=2.0.0",
89
+ "openai": ">=4.0.0",
90
+ "pg": ">=8.0.0"
91
+ },
92
+ "peerDependenciesMeta": {
93
+ "couchbase": {
94
+ "optional": true
48
95
  },
49
- "config": {
50
- "optionalPrefix": "~/.npm-global",
51
- "prefix": "~/.npm-global",
52
- "globalMode": true
96
+ "ioredis": {
97
+ "optional": true
53
98
  },
54
- "bin": {
55
- "gina": "bin/gina",
56
- "gina-container": "bin/gina-container",
57
- "gina-init": "bin/gina-init"
99
+ "mysql2": {
100
+ "optional": true
58
101
  },
59
- "main": "./framework/v0.3.2/core/gna",
60
- "scripts": {
61
- "test": "node --test test*.test.js",
62
- "prepare": "node script/prepare_version.js",
63
- "postpublish": "node script/post_publish.js",
64
- "preinstall": "node script/pre_install.js",
65
- "postinstall": "node script/post_install.js"
102
+ "pg": {
103
+ "optional": true
66
104
  },
67
- "license": "MIT",
68
- "readmeFilename": "README.md",
69
- "dependencies": {
70
- "engine.io": "^6.0.0"
105
+ "mongodb": {
106
+ "optional": true
71
107
  },
72
- "devDependencies": {
73
- "engine.io-client": "^6.6.3",
74
- "requirejs": "^2.3.7"
108
+ "@scylladb/scylla-driver": {
109
+ "optional": true
75
110
  },
76
- "peerDependencies": {
77
- "@anthropic-ai/sdk": ">=0.27.0",
78
- "@scylladb/scylla-driver": ">=1.0.0",
79
- "couchbase": ">=3.0.0",
80
- "ioredis": ">=5.0.0",
81
- "mongodb": ">=5.0.0",
82
- "mysql2": ">=2.0.0",
83
- "openai": ">=4.0.0",
84
- "pg": ">=8.0.0"
111
+ "openai": {
112
+ "optional": true
85
113
  },
86
- "peerDependenciesMeta": {
87
- "couchbase": {
88
- "optional": true
89
- },
90
- "ioredis": {
91
- "optional": true
92
- },
93
- "mysql2": {
94
- "optional": true
95
- },
96
- "pg": {
97
- "optional": true
98
- },
99
- "mongodb": {
100
- "optional": true
101
- },
102
- "@scylladb/scylla-driver": {
103
- "optional": true
104
- },
105
- "openai": {
106
- "optional": true
107
- },
108
- "@anthropic-ai/sdk": {
109
- "optional": true
110
- }
114
+ "@anthropic-ai/sdk": {
115
+ "optional": true
111
116
  }
117
+ }
112
118
  }
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Gina Framework — Global type augmentations
3
+ *
4
+ * These symbols are injected on the `global` scope at framework boot time.
5
+ * No import required — they are available everywhere in a running Gina app.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+
10
+ import { EventEmitter } from 'events';
11
+
12
+ // ─── PathObject ──────────────────────────────────────────────────────────────
13
+
14
+ /**
15
+ * Array-like result returned by `_().toArray()`.
16
+ */
17
+ interface PathArray extends Array<string> {
18
+ first(): string;
19
+ index(i: number): string;
20
+ last(): string;
21
+ }
22
+
23
+ /**
24
+ * Object returned by `_(path)` when the path is resolvable.
25
+ * Provides file-system helpers with both sync and async (EventEmitter) APIs.
26
+ */
27
+ interface PathObject {
28
+ /** Resolved absolute path */
29
+ readonly path: string;
30
+ /** Alias for `.path` */
31
+ readonly value: string;
32
+ /** Basename of the path */
33
+ readonly key: string;
34
+ /** Platform path separator */
35
+ readonly sep: string;
36
+ /** First segment of the path */
37
+ readonly start: string;
38
+
39
+ toString(): string;
40
+ toArray(): PathArray;
41
+
42
+ existsSync(): boolean;
43
+ exists(callback: (exists: boolean) => void): void;
44
+ isDirectory(): boolean;
45
+ isSymlinkSync(): boolean;
46
+ getSymlinkSourceSync(): string;
47
+ isWritableSync(): boolean;
48
+ isWritable(callback: (writable: boolean) => void): void;
49
+ hasFile(search: string, callback: (err: Error | null, found: boolean) => void): void;
50
+
51
+ mkdirSync(): void;
52
+ mkdir(): EventEmitter & { onComplete(cb: (err: Error | null) => void): void };
53
+ cp(target: string, options?: object): EventEmitter & { onComplete(cb: (err: Error | null) => void): void };
54
+ mv(target: string): EventEmitter & { onComplete(cb: (err: Error | null) => void): void };
55
+ rm(): EventEmitter & { onComplete(cb: (err: Error | null) => void): void };
56
+ rmSync(): void;
57
+ }
58
+
59
+ // ─── OnCompletable ───────────────────────────────────────────────────────────
60
+
61
+ /** Any object that exposes `.onComplete(cb)` — the pattern used by entity methods and PathObject ops. */
62
+ interface OnCompletable {
63
+ onComplete(cb: (err: any, result?: any) => void): void;
64
+ }
65
+
66
+ // ─── ApiError ────────────────────────────────────────────────────────────────
67
+
68
+ interface ApiErrorConstructor {
69
+ new (errorMessage: string, fieldName?: string, errorStatus?: number): ApiError;
70
+ (errorMessage: string, fieldName?: string, errorStatus?: number): ApiError;
71
+ }
72
+
73
+ interface ApiError extends Error {
74
+ status: number;
75
+ error: string;
76
+ fields: Record<string, string>;
77
+ flash: Record<string, string>;
78
+ }
79
+
80
+ // ─── Locale types ────────────────────────────────────────────────────────────
81
+
82
+ interface Country {
83
+ isoShort: string;
84
+ isoLong: string;
85
+ countryName: string;
86
+ officialStateName: string;
87
+ }
88
+
89
+ interface LocaleResult {
90
+ getCountries(code?: string): Country[];
91
+ }
92
+
93
+ // ─── uuid ────────────────────────────────────────────────────────────────────
94
+
95
+ interface UuidFunction {
96
+ /**
97
+ * Generate a random base-62 ID.
98
+ * @param size - Number of characters (default: 4)
99
+ */
100
+ (size?: number): string;
101
+
102
+ /**
103
+ * Create a generator for a custom alphabet.
104
+ * @param alphabet - Characters to use
105
+ * @param defaultSize - Default output length
106
+ * @returns A generator function `(size?) => string`
107
+ */
108
+ customAlphabet(alphabet: string, defaultSize?: number): (size?: number) => string;
109
+ }
110
+
111
+ // ─── JSON augmentations ──────────────────────────────────────────────────────
112
+
113
+ interface JSON {
114
+ /** Deep-clone any JSON-safe value */
115
+ clone<T>(obj: T): T;
116
+ /** Escape special characters in a string for safe embedding */
117
+ escape(str: string): string;
118
+ }
119
+
120
+ // ─── Global declarations ─────────────────────────────────────────────────────
121
+
122
+ declare global {
123
+
124
+ // -- Path helpers --
125
+
126
+ /**
127
+ * Resolve a path string. Returns a `PathObject` when called as a constructor
128
+ * or the resolved path string when `force` is `true`.
129
+ */
130
+ function _(path: string, force: true): string;
131
+ function _(path: string, force?: boolean): PathObject;
132
+
133
+ function setPath(name: string, path: string): void;
134
+ function getPath(name: string): string | object;
135
+ function setPaths(paths: Record<string, string>): void;
136
+ function getPaths(): Record<string, string>;
137
+
138
+ /**
139
+ * Wrap an `.onComplete(cb)` emitter into a native Promise.
140
+ * Enables `await onCompleteCall(_(path).mkdir())`.
141
+ */
142
+ function onCompleteCall<T = any>(emitter: OnCompletable): Promise<T>;
143
+
144
+ // -- Context helpers --
145
+
146
+ function setContext(name: string, obj: any, force?: boolean): void;
147
+ function getContext(name: string): any;
148
+ function getContext(): Record<string, any>;
149
+ function resetContext(): void;
150
+ function getConfig(bundle?: string, confName?: string): any;
151
+ function getLib(bundle: string, lib?: string): any;
152
+ function whisper(dictionary: object, replaceable: string, rule?: RegExp): string | object;
153
+ function define(name: string, value: any): void;
154
+ function getDefined(): Array<{ name: string; value: any }>;
155
+
156
+ // -- Model helpers --
157
+
158
+ function getModel(bundle?: string, model?: string): any;
159
+ function getModelEntity(bundle: string, model: string, entityClassName: string, conn: any): any;
160
+
161
+ // -- JSON helper --
162
+
163
+ /** Load a JSON file with comment stripping. */
164
+ function requireJSON(filename: string): any;
165
+
166
+ // -- Task helper --
167
+
168
+ function run(cmdline: string, opt?: object, cb?: (err: Error | null, result?: any) => void): EventEmitter & OnCompletable;
169
+
170
+ // -- Env helpers --
171
+
172
+ function isWin32(): boolean;
173
+ function getEnvVar(key: string): any;
174
+ function getEnvVars(): Record<string, any>;
175
+ function setEnvVar(key: string, val: any, isProtected?: boolean): void;
176
+ function getUserHome(): string;
177
+ function getLogDir(): string;
178
+ function getRunDir(): string;
179
+ function getTmpDir(): string;
180
+ function parseTimeout(value: string | number): number | null;
181
+
182
+ // -- i18n stub --
183
+
184
+ function __(str: string): void;
185
+
186
+ // -- ApiError --
187
+
188
+ var ApiError: ApiErrorConstructor;
189
+
190
+ // -- Array augmentation --
191
+
192
+ interface Array<T> {
193
+ clone(): T[];
194
+ }
195
+
196
+ // -- String augmentation --
197
+
198
+ interface String {
199
+ ltrim(): string;
200
+ rtrim(): string;
201
+ gtrim(): string;
202
+ }
203
+ }
204
+
205
+ export { PathObject, PathArray, OnCompletable, ApiError, ApiErrorConstructor, UuidFunction, Country, LocaleResult };
package/types/gna.d.ts ADDED
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Gina Framework — Explicit exports
3
+ *
4
+ * Type declarations for `require('gina/gna')`.
5
+ * Provides named imports for all global helpers, enabling IDE navigation
6
+ * and static analysis without relying on global scope injection.
7
+ *
8
+ * Usage:
9
+ * const { getContext, _, onCompleteCall, uuid } = require('gina/gna');
10
+ */
11
+
12
+ import type { UuidFunction } from './globals';
13
+ import type { SuperController, EntitySuper } from './index';
14
+
15
+ interface GinaExports {
16
+ // Context helpers
17
+ setContext: typeof globalThis.setContext;
18
+ getContext: typeof globalThis.getContext;
19
+ resetContext: typeof globalThis.resetContext;
20
+ getConfig: typeof globalThis.getConfig;
21
+ getLib: typeof globalThis.getLib;
22
+ whisper: typeof globalThis.whisper;
23
+ define: typeof globalThis.define;
24
+ getDefined: typeof globalThis.getDefined;
25
+
26
+ // Path helpers
27
+ _: typeof globalThis._;
28
+ setPath: typeof globalThis.setPath;
29
+ getPath: typeof globalThis.getPath;
30
+ setPaths: typeof globalThis.setPaths;
31
+ getPaths: typeof globalThis.getPaths;
32
+ onCompleteCall: typeof globalThis.onCompleteCall;
33
+
34
+ // Model helpers
35
+ getModel: typeof globalThis.getModel;
36
+ getModelEntity: typeof globalThis.getModelEntity;
37
+
38
+ // JSON helper
39
+ requireJSON: typeof globalThis.requireJSON;
40
+
41
+ // Task helper
42
+ run: typeof globalThis.run;
43
+
44
+ // Env helpers
45
+ getUserHome: typeof globalThis.getUserHome;
46
+ getEnvVar: typeof globalThis.getEnvVar;
47
+ getEnvVars: typeof globalThis.getEnvVars;
48
+ setEnvVar: typeof globalThis.setEnvVar;
49
+ getLogDir: typeof globalThis.getLogDir;
50
+ getRunDir: typeof globalThis.getRunDir;
51
+ getTmpDir: typeof globalThis.getTmpDir;
52
+ parseTimeout: typeof globalThis.parseTimeout;
53
+ isWin32: typeof globalThis.isWin32;
54
+
55
+ // Classes
56
+ SuperController: typeof SuperController;
57
+ EntitySuper: typeof EntitySuper;
58
+
59
+ // uuid
60
+ uuid: UuidFunction;
61
+
62
+ // ApiError
63
+ ApiError: typeof globalThis.ApiError;
64
+ }
65
+
66
+ declare const ginaExports: GinaExports;
67
+ export = ginaExports;