gina 0.5.4 → 0.5.5

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 (498) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +12 -12
  3. package/ROADMAP.md +11 -6
  4. package/bin/cli-debug +7 -1
  5. package/bin/gina +25 -4
  6. package/framework/v0.5.5/VERSION +1 -0
  7. package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.js +85 -30
  8. package/framework/v0.5.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js +573 -0
  9. package/framework/v0.5.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  10. package/framework/v0.5.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  11. package/framework/{v0.5.4 → v0.5.5}/core/config.js +18 -4
  12. package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.js +48 -6
  13. package/framework/{v0.5.4 → v0.5.5}/core/gna.js +70 -4
  14. package/framework/{v0.5.4 → v0.5.5}/core/server.isaac.js +115 -6
  15. package/framework/{v0.5.4 → v0.5.5}/core/server.js +74 -0
  16. package/framework/{v0.5.4 → v0.5.5}/lib/archiver/src/main.js +109 -0
  17. package/framework/v0.5.5/lib/cmd/bundle/man.js +10 -0
  18. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/start.js +17 -3
  19. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/status.js +22 -10
  20. package/framework/v0.5.5/lib/cmd/framework/add.js +498 -0
  21. package/framework/v0.5.5/lib/cmd/framework/arguments.json +13 -0
  22. package/framework/v0.5.5/lib/cmd/framework/help.txt +62 -0
  23. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/init.js +52 -10
  24. package/framework/v0.5.5/lib/cmd/framework/list.js +352 -0
  25. package/framework/v0.5.5/lib/cmd/framework/man.js +9 -0
  26. package/framework/v0.5.5/lib/cmd/framework/remove.js +411 -0
  27. package/framework/v0.5.5/lib/cmd/framework/reset.js +206 -0
  28. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/tail.js +9 -1
  29. package/framework/v0.5.5/lib/cmd/framework/update.js +477 -0
  30. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/version.js +12 -1
  31. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/gina-framework.1.md +10 -1
  32. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/helper.js +4 -2
  33. package/framework/v0.5.5/lib/cmd/man-render.js +144 -0
  34. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/arguments.json +2 -0
  35. package/framework/v0.5.5/lib/cmd/project/backup.js +228 -0
  36. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/help.txt +18 -8
  37. package/framework/v0.5.5/lib/cmd/project/man.js +10 -0
  38. package/framework/v0.5.5/lib/cmd/project/move.js +215 -0
  39. package/framework/v0.5.5/lib/cmd/project/restore.js +221 -0
  40. package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/status.js +24 -12
  41. package/framework/v0.5.5/lib/cmd/service/man.js +10 -0
  42. package/framework/{v0.5.4 → v0.5.5}/lib/index.js +8 -0
  43. package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/mq/listener.js +6 -1
  44. package/framework/{v0.5.4 → v0.5.5}/lib/proc.js +7 -0
  45. package/framework/v0.5.5/lib/ws-query/package.json +10 -0
  46. package/framework/v0.5.5/lib/ws-query/src/main.js +145 -0
  47. package/framework/{v0.5.4 → v0.5.5}/package.json +2 -2
  48. package/gna.js +4 -4
  49. package/llms.txt +20 -4
  50. package/package.json +8 -6
  51. package/script/post_install.js +7 -1
  52. package/script/smoke_in_container.js +336 -0
  53. package/script/smoke_test_tarball.js +283 -0
  54. package/utils/helper.js +34 -7
  55. package/utils/runtime.js +103 -0
  56. package/framework/v0.5.4/VERSION +0 -1
  57. package/framework/v0.5.4/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -572
  58. package/framework/v0.5.4/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  59. package/framework/v0.5.4/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  60. package/framework/v0.5.4/lib/cmd/framework/arguments.json +0 -7
  61. package/framework/v0.5.4/lib/cmd/framework/help.txt +0 -36
  62. package/framework/v0.5.4/lib/cmd/framework/update.js +0 -0
  63. package/framework/v0.5.4/lib/cmd/project/move.js +0 -0
  64. /package/framework/{v0.5.4 → v0.5.5}/AUTHORS +0 -0
  65. /package/framework/{v0.5.4 → v0.5.5}/LICENSE +0 -0
  66. /package/framework/{v0.5.4 → v0.5.5}/core/asset/html/nolayout.html +0 -0
  67. /package/framework/{v0.5.4 → v0.5.5}/core/asset/html/static.html +0 -0
  68. /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/android-chrome-192x192.png +0 -0
  69. /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/android-chrome-512x512.png +0 -0
  70. /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/apple-touch-icon.png +0 -0
  71. /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/favicon-16x16.png +0 -0
  72. /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/favicon-32x32.png +0 -0
  73. /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/favicon.ico +0 -0
  74. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/README.md +0 -0
  75. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  76. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  77. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  78. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  79. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  80. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  81. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  82. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  83. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  84. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  85. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  86. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  87. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  88. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  89. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  90. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  91. /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  92. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/ai/index.js +0 -0
  93. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/ai/lib/connector.js +0 -0
  94. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/index.js +0 -0
  95. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/connector.js +0 -0
  96. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  97. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  98. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/n1ql.js +0 -0
  99. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/session-store.js +0 -0
  100. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  101. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  102. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/index.js +0 -0
  103. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/lib/connector.js +0 -0
  104. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  105. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/lib/session-store.js +0 -0
  106. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mysql/index.js +0 -0
  107. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mysql/lib/connector.js +0 -0
  108. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/postgresql/index.js +0 -0
  109. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/postgresql/lib/connector.js +0 -0
  110. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/redis/index.js +0 -0
  111. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/redis/lib/session-store.js +0 -0
  112. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/scylladb/index.js +0 -0
  113. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/scylladb/lib/connector.js +0 -0
  114. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/scylladb/lib/session-store.js +0 -0
  115. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sql-parser.js +0 -0
  116. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sqlite/index.js +0 -0
  117. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sqlite/lib/connector.js +0 -0
  118. /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sqlite/lib/session-store.js +0 -0
  119. /package/framework/{v0.5.4 → v0.5.5}/core/content.encoding +0 -0
  120. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.framework.js +0 -0
  121. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-json.js +0 -0
  122. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-nunjucks-async.js +0 -0
  123. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-nunjucks.js +0 -0
  124. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-stream.js +0 -0
  125. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-swig-async.js +0 -0
  126. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-swig.js +0 -0
  127. /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-v1.js +0 -0
  128. /package/framework/{v0.5.4 → v0.5.5}/core/controller/index.js +0 -0
  129. /package/framework/{v0.5.4 → v0.5.5}/core/controller/inspector-window-emit.js +0 -0
  130. /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/LICENSE +0 -0
  131. /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/README.md +0 -0
  132. /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  133. /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  134. /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  135. /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  136. /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/package.json +0 -0
  137. /package/framework/{v0.5.4 → v0.5.5}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  138. /package/framework/{v0.5.4 → v0.5.5}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  139. /package/framework/{v0.5.4 → v0.5.5}/core/deps/streamsearch-1.1.0/package.json +0 -0
  140. /package/framework/{v0.5.4 → v0.5.5}/core/dev/index.js +0 -0
  141. /package/framework/{v0.5.4 → v0.5.5}/core/dev/lib/class.js +0 -0
  142. /package/framework/{v0.5.4 → v0.5.5}/core/dev/lib/factory.js +0 -0
  143. /package/framework/{v0.5.4 → v0.5.5}/core/dev/lib/tools.js +0 -0
  144. /package/framework/{v0.5.4 → v0.5.5}/core/locales/README.md +0 -0
  145. /package/framework/{v0.5.4 → v0.5.5}/core/locales/currency.json +0 -0
  146. /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/language/en.json +0 -0
  147. /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/language/fr.json +0 -0
  148. /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/region/en.json +0 -0
  149. /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/region/fr.json +0 -0
  150. /package/framework/{v0.5.4 → v0.5.5}/core/locales/index.js +0 -0
  151. /package/framework/{v0.5.4 → v0.5.5}/core/mime.types +0 -0
  152. /package/framework/{v0.5.4 → v0.5.5}/core/model/entity.js +0 -0
  153. /package/framework/{v0.5.4 → v0.5.5}/core/model/index.js +0 -0
  154. /package/framework/{v0.5.4 → v0.5.5}/core/model/template/entityFactory.js +0 -0
  155. /package/framework/{v0.5.4 → v0.5.5}/core/model/template/index.js +0 -0
  156. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/README.md +0 -0
  157. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/index.js +0 -0
  158. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/csrf/README.md +0 -0
  159. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/csrf/package.json +0 -0
  160. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/csrf/src/main.js +0 -0
  161. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/README.md +0 -0
  162. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coep/README.md +0 -0
  163. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coep/package.json +0 -0
  164. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  165. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coop/README.md +0 -0
  166. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coop/package.json +0 -0
  167. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  168. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/corp/README.md +0 -0
  169. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/corp/package.json +0 -0
  170. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  171. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/csp/README.md +0 -0
  172. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/csp/package.json +0 -0
  173. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  174. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  175. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  176. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  177. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  178. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  179. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  180. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  181. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  182. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  183. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/package.json +0 -0
  184. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  185. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  186. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  187. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/src/main.js +0 -0
  188. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  189. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  190. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  191. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  192. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  193. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  194. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  195. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  196. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  197. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  198. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  199. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  200. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  201. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  202. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  203. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  204. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  205. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  206. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/session/README.md +0 -0
  207. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/session/package.json +0 -0
  208. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/session/src/main.js +0 -0
  209. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/README.md +0 -0
  210. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/build.json +0 -0
  211. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/package.json +0 -0
  212. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/src/main.js +0 -0
  213. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/README.md +0 -0
  214. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/build.json +0 -0
  215. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/package.json +0 -0
  216. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/src/form-validator.js +0 -0
  217. /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/src/main.js +0 -0
  218. /package/framework/{v0.5.4 → v0.5.5}/core/router.js +0 -0
  219. /package/framework/{v0.5.4 → v0.5.5}/core/server.express.js +0 -0
  220. /package/framework/{v0.5.4 → v0.5.5}/core/status.codes +0 -0
  221. /package/framework/{v0.5.4 → v0.5.5}/core/template/_gitignore +0 -0
  222. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/app.json +0 -0
  223. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  224. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/routing.json +0 -0
  225. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/settings.json +0 -0
  226. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  227. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/templates.json +0 -0
  228. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  229. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  230. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  231. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  232. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/index.js +0 -0
  233. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/locales/en.json +0 -0
  234. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  235. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  236. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  237. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  238. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  239. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  240. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  241. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/readme.md +0 -0
  242. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/sw.js +0 -0
  243. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  244. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  245. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  246. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  247. /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  248. /package/framework/{v0.5.4 → v0.5.5}/core/template/command/gina.bat.tpl +0 -0
  249. /package/framework/{v0.5.4 → v0.5.5}/core/template/command/gina.tpl +0 -0
  250. /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/env.json +0 -0
  251. /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/manifest.json +0 -0
  252. /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/package.json +0 -0
  253. /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/settings.json +0 -0
  254. /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/statics.json +0 -0
  255. /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/templates.json +0 -0
  256. /package/framework/{v0.5.4 → v0.5.5}/core/template/error/client/json/401.json +0 -0
  257. /package/framework/{v0.5.4 → v0.5.5}/core/template/error/client/json/403.json +0 -0
  258. /package/framework/{v0.5.4 → v0.5.5}/core/template/error/client/json/404.json +0 -0
  259. /package/framework/{v0.5.4 → v0.5.5}/core/template/error/server/html/50x.html +0 -0
  260. /package/framework/{v0.5.4 → v0.5.5}/core/template/error/server/json/500.json +0 -0
  261. /package/framework/{v0.5.4 → v0.5.5}/core/template/error/server/json/503.json +0 -0
  262. /package/framework/{v0.5.4 → v0.5.5}/core/template/extensions/logger/config.json +0 -0
  263. /package/framework/{v0.5.4 → v0.5.5}/helpers/console.js +0 -0
  264. /package/framework/{v0.5.4 → v0.5.5}/helpers/context.js +0 -0
  265. /package/framework/{v0.5.4 → v0.5.5}/helpers/data/LICENSE +0 -0
  266. /package/framework/{v0.5.4 → v0.5.5}/helpers/data/README.md +0 -0
  267. /package/framework/{v0.5.4 → v0.5.5}/helpers/data/package.json +0 -0
  268. /package/framework/{v0.5.4 → v0.5.5}/helpers/data/src/main.js +0 -0
  269. /package/framework/{v0.5.4 → v0.5.5}/helpers/dateFormat.js +0 -0
  270. /package/framework/{v0.5.4 → v0.5.5}/helpers/index.js +0 -0
  271. /package/framework/{v0.5.4 → v0.5.5}/helpers/json/LICENSE +0 -0
  272. /package/framework/{v0.5.4 → v0.5.5}/helpers/json/README.md +0 -0
  273. /package/framework/{v0.5.4 → v0.5.5}/helpers/json/package.json +0 -0
  274. /package/framework/{v0.5.4 → v0.5.5}/helpers/json/src/main.js +0 -0
  275. /package/framework/{v0.5.4 → v0.5.5}/helpers/path.js +0 -0
  276. /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/README.md +0 -0
  277. /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/package.json +0 -0
  278. /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/src/api-error.js +0 -0
  279. /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/src/main.js +0 -0
  280. /package/framework/{v0.5.4 → v0.5.5}/helpers/prototypes.js +0 -0
  281. /package/framework/{v0.5.4 → v0.5.5}/helpers/task.js +0 -0
  282. /package/framework/{v0.5.4 → v0.5.5}/helpers/text.js +0 -0
  283. /package/framework/{v0.5.4 → v0.5.5}/lib/admin/package.json +0 -0
  284. /package/framework/{v0.5.4 → v0.5.5}/lib/admin/src/main.js +0 -0
  285. /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/README.md +0 -0
  286. /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/build.json +0 -0
  287. /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/package.json +0 -0
  288. /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/src/dep/jszip.min.js +0 -0
  289. /package/framework/{v0.5.4 → v0.5.5}/lib/async/package.json +0 -0
  290. /package/framework/{v0.5.4 → v0.5.5}/lib/async/src/main.js +0 -0
  291. /package/framework/{v0.5.4 → v0.5.5}/lib/cache/README.md +0 -0
  292. /package/framework/{v0.5.4 → v0.5.5}/lib/cache/build.json +0 -0
  293. /package/framework/{v0.5.4 → v0.5.5}/lib/cache/package.json +0 -0
  294. /package/framework/{v0.5.4 → v0.5.5}/lib/cache/src/main.js +0 -0
  295. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/aliases.json +0 -0
  296. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/add.js +0 -0
  297. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/arguments.json +0 -0
  298. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/build.js +0 -0
  299. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/copy.js +0 -0
  300. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/cp.js +0 -0
  301. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/help.js +0 -0
  302. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/help.txt +0 -0
  303. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  304. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/list.js +0 -0
  305. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/mcp-start.js +0 -0
  306. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/mcp.js +0 -0
  307. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/oas.js +0 -0
  308. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/openapi.js +0 -0
  309. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/remove.js +0 -0
  310. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/rename.js +0 -0
  311. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/restart.js +0 -0
  312. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/rm.js +0 -0
  313. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/stop.js +0 -0
  314. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/cache/stats.js +0 -0
  315. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/add.js +0 -0
  316. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/arguments.json +0 -0
  317. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/help.js +0 -0
  318. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/help.txt +0 -0
  319. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/list.js +0 -0
  320. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/migrate.js +0 -0
  321. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/remove.js +0 -0
  322. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/rm.js +0 -0
  323. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/add.js +0 -0
  324. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/get.js +0 -0
  325. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/help.js +0 -0
  326. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/help.txt +0 -0
  327. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/link-dev.js +0 -0
  328. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/list.js +0 -0
  329. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/remove.js +0 -0
  330. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/rm.js +0 -0
  331. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/set.js +0 -0
  332. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/unset.js +0 -0
  333. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/use.js +0 -0
  334. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/build.js +0 -0
  335. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/dot.js +0 -0
  336. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/get.js +0 -0
  337. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/help.js +0 -0
  338. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/link-node-modules.js +0 -0
  339. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/link.js +0 -0
  340. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/msg.json +0 -0
  341. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/open.js +0 -0
  342. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/restart.js +0 -0
  343. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/set.js +0 -0
  344. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/start.js +0 -0
  345. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/status.js +0 -0
  346. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/stop.js +0 -0
  347. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/gina-dev.1.md +0 -0
  348. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/gina.1.md +0 -0
  349. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/add.js +0 -0
  350. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/arguments.json +0 -0
  351. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/export.js +0 -0
  352. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/help.js +0 -0
  353. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/help.txt +0 -0
  354. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/import.js +0 -0
  355. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/scan.js +0 -0
  356. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/index.js +0 -0
  357. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/inspector/help.js +0 -0
  358. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/inspector/help.txt +0 -0
  359. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/inspector/open.js +0 -0
  360. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/arguments.json +0 -0
  361. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/help.js +0 -0
  362. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/help.txt +0 -0
  363. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/kill.js +0 -0
  364. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/list.js +0 -0
  365. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/msg.json +0 -0
  366. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/help.js +0 -0
  367. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/help.txt +0 -0
  368. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/inc/scan.js +0 -0
  369. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/list.js +0 -0
  370. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/reset.js +0 -0
  371. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/set.js +0 -0
  372. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/add.js +0 -0
  373. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/build.js +0 -0
  374. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/help.js +0 -0
  375. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/import.js +0 -0
  376. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/list.js +0 -0
  377. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/remove.js +0 -0
  378. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/rename.js +0 -0
  379. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/restart.js +0 -0
  380. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/rm.js +0 -0
  381. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/start.js +0 -0
  382. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/stop.js +0 -0
  383. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/arguments.json +0 -0
  384. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/help.js +0 -0
  385. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/help.txt +0 -0
  386. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/list.js +0 -0
  387. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/remove.js +0 -0
  388. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/set.js +0 -0
  389. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/add.js +0 -0
  390. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/help.js +0 -0
  391. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/help.txt +0 -0
  392. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/link-local.js +0 -0
  393. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/link-production.js +0 -0
  394. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/list.js +0 -0
  395. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/remove.js +0 -0
  396. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/rm.js +0 -0
  397. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/use.js +0 -0
  398. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/arguments.json +0 -0
  399. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/check.js +0 -0
  400. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/help.js +0 -0
  401. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/help.txt +0 -0
  402. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/scan.js +0 -0
  403. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/help.js +0 -0
  404. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/help.txt +0 -0
  405. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/list.js +0 -0
  406. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/start.js +0 -0
  407. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/view/add.js +0 -0
  408. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd-status-format/package.json +0 -0
  409. /package/framework/{v0.5.4 → v0.5.5}/lib/cmd-status-format/src/main.js +0 -0
  410. /package/framework/{v0.5.4 → v0.5.5}/lib/collection/README.md +0 -0
  411. /package/framework/{v0.5.4 → v0.5.5}/lib/collection/build.json +0 -0
  412. /package/framework/{v0.5.4 → v0.5.5}/lib/collection/package.json +0 -0
  413. /package/framework/{v0.5.4 → v0.5.5}/lib/collection/src/main.js +0 -0
  414. /package/framework/{v0.5.4 → v0.5.5}/lib/config.js +0 -0
  415. /package/framework/{v0.5.4 → v0.5.5}/lib/connector-registry/package.json +0 -0
  416. /package/framework/{v0.5.4 → v0.5.5}/lib/connector-registry/src/main.js +0 -0
  417. /package/framework/{v0.5.4 → v0.5.5}/lib/cron/README.md +0 -0
  418. /package/framework/{v0.5.4 → v0.5.5}/lib/cron/package.json +0 -0
  419. /package/framework/{v0.5.4 → v0.5.5}/lib/cron/src/main.js +0 -0
  420. /package/framework/{v0.5.4 → v0.5.5}/lib/domain/LICENSE +0 -0
  421. /package/framework/{v0.5.4 → v0.5.5}/lib/domain/README.md +0 -0
  422. /package/framework/{v0.5.4 → v0.5.5}/lib/domain/package.json +0 -0
  423. /package/framework/{v0.5.4 → v0.5.5}/lib/domain/src/main.js +0 -0
  424. /package/framework/{v0.5.4 → v0.5.5}/lib/generator/index.js +0 -0
  425. /package/framework/{v0.5.4 → v0.5.5}/lib/i18n/package.json +0 -0
  426. /package/framework/{v0.5.4 → v0.5.5}/lib/i18n/src/main.js +0 -0
  427. /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/LICENSE +0 -0
  428. /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/README.md +0 -0
  429. /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/package.json +0 -0
  430. /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/src/main.js +0 -0
  431. /package/framework/{v0.5.4 → v0.5.5}/lib/inspector-redact/package.json +0 -0
  432. /package/framework/{v0.5.4 → v0.5.5}/lib/inspector-redact/src/main.js +0 -0
  433. /package/framework/{v0.5.4 → v0.5.5}/lib/instrument/package.json +0 -0
  434. /package/framework/{v0.5.4 → v0.5.5}/lib/instrument/src/main.js +0 -0
  435. /package/framework/{v0.5.4 → v0.5.5}/lib/job/package.json +0 -0
  436. /package/framework/{v0.5.4 → v0.5.5}/lib/job/src/main.js +0 -0
  437. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/README.md +0 -0
  438. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/package.json +0 -0
  439. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/default/index.js +0 -0
  440. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/file/index.js +0 -0
  441. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  442. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  443. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/mq/index.js +0 -0
  444. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/mq/speaker.js +0 -0
  445. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/helper.js +0 -0
  446. /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/main.js +0 -0
  447. /package/framework/{v0.5.4 → v0.5.5}/lib/math/index.js +0 -0
  448. /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-dispatch/package.json +0 -0
  449. /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-dispatch/src/main.js +0 -0
  450. /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-http/package.json +0 -0
  451. /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-http/src/main.js +0 -0
  452. /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-server/package.json +0 -0
  453. /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-server/src/main.js +0 -0
  454. /package/framework/{v0.5.4 → v0.5.5}/lib/merge/README.md +0 -0
  455. /package/framework/{v0.5.4 → v0.5.5}/lib/merge/package.json +0 -0
  456. /package/framework/{v0.5.4 → v0.5.5}/lib/merge/src/main.js +0 -0
  457. /package/framework/{v0.5.4 → v0.5.5}/lib/metrics/package.json +0 -0
  458. /package/framework/{v0.5.4 → v0.5.5}/lib/metrics/src/main.js +0 -0
  459. /package/framework/{v0.5.4 → v0.5.5}/lib/model.js +0 -0
  460. /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-filters/README.md +0 -0
  461. /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-filters/package.json +0 -0
  462. /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-filters/src/main.js +0 -0
  463. /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-resolver/package.json +0 -0
  464. /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-resolver/src/main.js +0 -0
  465. /package/framework/{v0.5.4 → v0.5.5}/lib/routing/README.md +0 -0
  466. /package/framework/{v0.5.4 → v0.5.5}/lib/routing/build.json +0 -0
  467. /package/framework/{v0.5.4 → v0.5.5}/lib/routing/package.json +0 -0
  468. /package/framework/{v0.5.4 → v0.5.5}/lib/routing/src/main.js +0 -0
  469. /package/framework/{v0.5.4 → v0.5.5}/lib/routing/src/radix.js +0 -0
  470. /package/framework/{v0.5.4 → v0.5.5}/lib/routing-introspect/package.json +0 -0
  471. /package/framework/{v0.5.4 → v0.5.5}/lib/routing-introspect/src/main.js +0 -0
  472. /package/framework/{v0.5.4 → v0.5.5}/lib/secrets/package.json +0 -0
  473. /package/framework/{v0.5.4 → v0.5.5}/lib/secrets/src/backends/env.js +0 -0
  474. /package/framework/{v0.5.4 → v0.5.5}/lib/secrets/src/main.js +0 -0
  475. /package/framework/{v0.5.4 → v0.5.5}/lib/session-store.js +0 -0
  476. /package/framework/{v0.5.4 → v0.5.5}/lib/shell.js +0 -0
  477. /package/framework/{v0.5.4 → v0.5.5}/lib/state.js +0 -0
  478. /package/framework/{v0.5.4 → v0.5.5}/lib/swig-filters/README.md +0 -0
  479. /package/framework/{v0.5.4 → v0.5.5}/lib/swig-filters/package.json +0 -0
  480. /package/framework/{v0.5.4 → v0.5.5}/lib/swig-filters/src/main.js +0 -0
  481. /package/framework/{v0.5.4 → v0.5.5}/lib/swig-resolver/package.json +0 -0
  482. /package/framework/{v0.5.4 → v0.5.5}/lib/swig-resolver/src/main.js +0 -0
  483. /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/package.json +0 -0
  484. /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/src/loaders/http.js +0 -0
  485. /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/src/loaders/memory.js +0 -0
  486. /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/src/main.js +0 -0
  487. /package/framework/{v0.5.4 → v0.5.5}/lib/url/README.md +0 -0
  488. /package/framework/{v0.5.4 → v0.5.5}/lib/url/index.js +0 -0
  489. /package/framework/{v0.5.4 → v0.5.5}/lib/url/routing.json +0 -0
  490. /package/framework/{v0.5.4 → v0.5.5}/lib/uuid/package.json +0 -0
  491. /package/framework/{v0.5.4 → v0.5.5}/lib/uuid/src/main.js +0 -0
  492. /package/framework/{v0.5.4 → v0.5.5}/lib/validator.js +0 -0
  493. /package/framework/{v0.5.4 → v0.5.5}/lib/watcher/package.json +0 -0
  494. /package/framework/{v0.5.4 → v0.5.5}/lib/watcher/src/main.js +0 -0
  495. /package/framework/{v0.5.4 → v0.5.5}/lib/ws-framing/package.json +0 -0
  496. /package/framework/{v0.5.4 → v0.5.5}/lib/ws-framing/src/main.js +0 -0
  497. /package/framework/{v0.5.4 → v0.5.5}/lib/ws-session/package.json +0 -0
  498. /package/framework/{v0.5.4 → v0.5.5}/lib/ws-session/src/main.js +0 -0
@@ -0,0 +1,477 @@
1
+ var fs = require('fs');
2
+ var nodePath = require('path');
3
+ var console = lib.logger;
4
+
5
+ // Reuse the install-time strict-semver comparator that post_install.js uses to
6
+ // gate its def_framework overwrite (the "never regress" guard). It lives in the
7
+ // repo-root script/ tree (NOT under framework/v*/lib) because post_install runs
8
+ // before any framework helper is loadable; it ships to npm (not in .npmignore's
9
+ // denylist) and the relative depth from here to the repo root is invariant
10
+ // across framework-dir renames, so this require resolves for an npm-installed
11
+ // gina as well as the dev checkout. Single source of truth for the semver rules.
12
+ var versionCompare = require('../../../../../script/version_compare');
13
+
14
+ /**
15
+ * @module gina/lib/cmd/framework/update
16
+ */
17
+ /**
18
+ * Reconcile the `~/.gina/` state files to the installed framework version.
19
+ *
20
+ * This is a STATE-MIGRATION command, not an npm self-update — it automates the
21
+ * manual "Post-merge state check" a maintainer otherwise runs by hand after a
22
+ * `git merge` bumps the framework version (npm's `post_install.js` does NOT run
23
+ * on a git merge, so the state files drift). It brings three scalars back in
24
+ * line with the active version:
25
+ *
26
+ * - `~/.gina/main.json` `def_framework`
27
+ * - `~/.gina/main.json` `frameworks[<shortVersion>]` (registers the version)
28
+ * - `~/.gina/<shortVersion>/settings.json` `version` + `def_framework`
29
+ *
30
+ * `gina.db` (the canonical SQLite store) is reconciled automatically: every
31
+ * write goes through `lib.generator.createFileFromDataSync`, which routes known
32
+ * `~/.gina/` state paths through `lib/state.js` `StateStore.write` (SQLite +
33
+ * JSON sidecar in lockstep). So a `--fix` repairs both stores even when a prior
34
+ * raw write left them drifted.
35
+ *
36
+ * Default mode is a DRY RUN — nothing is written. Pass `--fix` (or `--apply`) to
37
+ * reconcile. `--dry-run` forces read-only even alongside `--fix`. Output is a
38
+ * human-readable summary by default, JSON with `--format=json`.
39
+ *
40
+ * A strict-semver "never regress" guard (shared with `post_install.js`) protects
41
+ * the scalar pointers: when the target version is strictly OLDER than the value
42
+ * already recorded, the scalar write is skipped (the newer recorded state is
43
+ * preserved). The `frameworks[<short>]` LIST is still updated in that case, so a
44
+ * locally-installed older tarball stays visible — exactly post_install's
45
+ * behaviour.
46
+ *
47
+ * Per-shortVersion METADATA maps (`protocols` / `schemes` / `scopes` / `envs` /
48
+ * `cultures` / ...) are NOT seeded here — that is `framework:init`'s job, run on
49
+ * the first `bundle:start`. When the target short is missing those entries this
50
+ * command WARNS and points at the seeding step; it never writes them. npm
51
+ * self-update (the behaviour this command's name once advertised) is likewise
52
+ * out of scope — run `npm i -g gina@latest` for that.
53
+ *
54
+ * Flags:
55
+ * --to-version=<v> Reconcile to <v> instead of the installed GINA_VERSION.
56
+ * --fix | --apply Apply the reconcile. Without it, the scan is read-only.
57
+ * --dry-run Force read-only even when --fix is present.
58
+ * --format=json Emit machine-readable JSON instead of the text summary.
59
+ *
60
+ * Usage:
61
+ * gina framework:update
62
+ * gina framework:update --fix
63
+ * gina framework:update --to-version=0.5.5-alpha.2 --fix
64
+ * gina framework:update --format=json
65
+ *
66
+ * @class Update
67
+ * @constructor
68
+ * @param {object} opt - Parsed command-line options (carries opt.client for socket output)
69
+ */
70
+ function Update(opt) {
71
+
72
+ /**
73
+ * Per-short metadata maps in `main.json` keyed by `<shortVersion>`. This
74
+ * command only CHECKS their presence (to warn) — it never seeds them.
75
+ * Accessed as `main[m]` (string key), never via a literal map-name
76
+ * dot-access, so the "does not seed metadata" negative invariant stays a
77
+ * clean code-absence check. `framework:init` owns seeding these on the
78
+ * first bundle start.
79
+ *
80
+ * @inner
81
+ * @constant
82
+ * @type {string[]}
83
+ */
84
+ var SEED_MAPS = ['protocols', 'schemes', 'scopes', 'envs', 'cultures', 'log_levels'];
85
+
86
+ /**
87
+ * Resolve the home dir, target version, and flags; scan the state files;
88
+ * optionally apply the reconcile; emit the report in the chosen format.
89
+ *
90
+ * @inner
91
+ * @private
92
+ */
93
+ var init = function () {
94
+
95
+ var homeDir = resolveHomeDir();
96
+
97
+ var format = readFlagValue('format');
98
+ if (format && format !== 'json') {
99
+ console.error('Unknown --format value `' + format + '`. Supported: json.');
100
+ process.exit(1);
101
+ return;
102
+ }
103
+ var asJson = (format === 'json');
104
+
105
+ var target = readFlagValue('to-version') || (typeof(GINA_VERSION) != 'undefined' ? GINA_VERSION : null);
106
+ if (!target || !/^v?\d+\.\d+\.\d+/.test(String(target))) {
107
+ console.error('Cannot determine a target version. Pass --to-version=<version> (got `' + target + '`).');
108
+ process.exit(1);
109
+ return;
110
+ }
111
+ target = String(target).replace(/^v/, '');
112
+ var targetShort = target.split(/\./g).splice(0, 2).join('.');
113
+
114
+ var fix = hasFlag('fix') || hasFlag('apply');
115
+ var dryRun = hasFlag('dry-run');
116
+ var write = fix && !dryRun;
117
+
118
+ // --- read main.json (hard error if missing/unparseable) -------------
119
+ var mainPath = _(homeDir + '/main.json', true);
120
+ if (!fs.existsSync(mainPath)) {
121
+ console.error('`' + mainPath + '` not found. Run `gina framework:init` (or reinstall gina) first.');
122
+ process.exit(1);
123
+ return;
124
+ }
125
+ var main;
126
+ try {
127
+ main = requireJSON(mainPath);
128
+ } catch (e) {
129
+ console.error('Cannot parse `' + mainPath + '`: ' + (e.message || e));
130
+ process.exit(1);
131
+ return;
132
+ }
133
+
134
+ // --- read <short>/settings.json (soft — may not exist on a new short)
135
+ var settingsPath = _(homeDir + '/' + targetShort + '/settings.json', true);
136
+ var settingsExists = fs.existsSync(settingsPath);
137
+ var settings = null;
138
+ var settingsParseError = null;
139
+ if (settingsExists) {
140
+ try {
141
+ settings = requireJSON(settingsPath);
142
+ } catch (e) {
143
+ settingsParseError = e.message || String(e);
144
+ }
145
+ }
146
+
147
+ // The "never regress" guard compares the target against the recorded
148
+ // def_framework (the same axis post_install guards). When the target is
149
+ // strictly older we preserve the recorded scalar but still register the
150
+ // version in the frameworks list.
151
+ var regress = versionCompare.isStrictlyOlder(target, main.def_framework);
152
+
153
+ var report = buildReport(main, settings, settingsPath, settingsExists, settingsParseError, target, targetShort, regress, homeDir, write);
154
+
155
+ if (write && report.fixableCount > 0) {
156
+ applyFixes(report, main, settings, mainPath, settingsPath, target, targetShort, regress);
157
+ }
158
+
159
+ if (asJson) {
160
+ emitJson(report);
161
+ } else {
162
+ emitText(report);
163
+ }
164
+
165
+ process.exit(0);
166
+ };
167
+
168
+ /**
169
+ * Resolve `~/.gina` the same way `lib/state.js` does, so the paths this
170
+ * handler builds satisfy `StateStore.isStatePath` (which routes the write to
171
+ * SQLite + sidecar) and a `GINA_HOMEDIR` override (tests / containers) is
172
+ * honoured on both the read and write side.
173
+ *
174
+ * @inner
175
+ * @private
176
+ * @returns {string}
177
+ */
178
+ var resolveHomeDir = function () {
179
+ if (typeof(getEnvVar) === 'function') {
180
+ var override = getEnvVar('GINA_HOMEDIR');
181
+ if (override) return override;
182
+ }
183
+ if (typeof(GINA_HOMEDIR) !== 'undefined' && GINA_HOMEDIR) return GINA_HOMEDIR;
184
+ return require('os').homedir() + nodePath.sep + '.gina';
185
+ };
186
+
187
+ /**
188
+ * True when a bare boolean flag (`--fix`, `--apply`, `--dry-run`) is present
189
+ * on argv. filterArgs never strips a no-`=` token, so argv is authoritative.
190
+ *
191
+ * @inner
192
+ * @private
193
+ * @param {string} name - Flag name without the leading `--`
194
+ * @returns {boolean}
195
+ */
196
+ var hasFlag = function (name) {
197
+ var re = new RegExp('^--' + name + '$');
198
+ for (var i = 3; i < process.argv.length; i++) {
199
+ if (typeof(process.argv[i]) == 'string' && re.test(process.argv[i])) return true;
200
+ }
201
+ return false;
202
+ };
203
+
204
+ /**
205
+ * Read a `--name=value` flag. Reads argv first (where it survives for this
206
+ * command — `framework:update` trips filterArgs' `setget` gate so argv is not
207
+ * rewritten); falls back to `process.gina.GINA_<NAME>` for the case where
208
+ * filterArgs hoisted the `=value` token. Mirrors the project:backup flag idiom.
209
+ *
210
+ * @inner
211
+ * @private
212
+ * @param {string} name - Flag name without the leading `--`
213
+ * @returns {string|null}
214
+ */
215
+ var readFlagValue = function (name) {
216
+ var prefix = '--' + name + '=';
217
+ for (var i = 3; i < process.argv.length; i++) {
218
+ if (typeof(process.argv[i]) == 'string' && process.argv[i].indexOf(prefix) === 0) {
219
+ return process.argv[i].slice(prefix.length);
220
+ }
221
+ }
222
+ var envKey = 'GINA_' + name.replace(/-/g, '_').toUpperCase();
223
+ if (typeof(process.gina) != 'undefined' && typeof(process.gina[envKey]) != 'undefined') {
224
+ return process.gina[envKey];
225
+ }
226
+ return null;
227
+ };
228
+
229
+ /**
230
+ * Build the reconcile report: one entry per checked field, plus warnings for
231
+ * deferred metadata seeding and a missing/unparseable settings.json. Does NOT
232
+ * mutate any state — pure analysis. `applyFixes` performs the writes.
233
+ *
234
+ * @inner
235
+ * @private
236
+ * @returns {Report}
237
+ */
238
+ var buildReport = function (main, settings, settingsPath, settingsExists, settingsParseError, target, targetShort, regress, homeDir, write) {
239
+ var checks = [];
240
+ var warnings = [];
241
+
242
+ // main.json def_framework (regress-guarded scalar)
243
+ checks.push(scalarCheck('main.json', 'def_framework', main.def_framework, target, regress));
244
+
245
+ // main.json frameworks[<short>] membership (always reconcilable — register the version)
246
+ var list = (main.frameworks && Array.isArray(main.frameworks[targetShort])) ? main.frameworks[targetShort] : null;
247
+ var listed = !!(list && list.indexOf(target) > -1);
248
+ checks.push({
249
+ file : 'main.json',
250
+ field : 'frameworks[' + targetShort + ']',
251
+ current : listed ? ('contains ' + target) : (list ? 'missing ' + target : 'no ' + targetShort + ' entry'),
252
+ target : 'contains ' + target,
253
+ status : listed ? 'in-sync' : 'drift',
254
+ fixable : !listed
255
+ });
256
+
257
+ // <short>/settings.json version + def_framework
258
+ if (!settingsExists) {
259
+ warnings.push('`' + settingsPath + '` not found — settings for short `' + targetShort + '` are not seeded yet. Run `gina bundle:start` or `gina framework:init` to create it. (framework:update does not scaffold settings.json.)');
260
+ } else if (settingsParseError) {
261
+ warnings.push('`' + settingsPath + '` could not be parsed (' + settingsParseError + ') — skipped.');
262
+ } else {
263
+ checks.push(scalarCheck(targetShort + '/settings.json', 'version', settings.version, target, regress));
264
+ checks.push(scalarCheck(targetShort + '/settings.json', 'def_framework', settings.def_framework, target, regress));
265
+ }
266
+
267
+ // deferred metadata-seeding warning (we never write these maps)
268
+ var missingMaps = [];
269
+ for (var i = 0; i < SEED_MAPS.length; i++) {
270
+ var m = SEED_MAPS[i];
271
+ if (!main[m] || typeof(main[m][targetShort]) == 'undefined') missingMaps.push(m);
272
+ }
273
+ if (missingMaps.length > 0) {
274
+ warnings.push('main.json has no `' + targetShort + '` entry for: ' + missingMaps.join(', ') + '. These per-version metadata maps are seeded by `gina framework:init` on the first `gina bundle:start` — framework:update does not seed them.');
275
+ }
276
+
277
+ var fixableCount = 0;
278
+ var driftCount = 0;
279
+ var skipCount = 0;
280
+ for (var c = 0; c < checks.length; c++) {
281
+ if (checks[c].fixable) fixableCount++;
282
+ if (checks[c].status === 'drift') driftCount++;
283
+ if (checks[c].status === 'regression-skip') skipCount++;
284
+ }
285
+
286
+ return {
287
+ mode : write ? 'fix' : 'dry-run',
288
+ homeDir : homeDir,
289
+ target : target,
290
+ targetShort : targetShort,
291
+ regress : regress,
292
+ checks : checks,
293
+ warnings : warnings,
294
+ fixableCount : fixableCount,
295
+ driftCount : driftCount,
296
+ skipCount : skipCount,
297
+ inSync : (driftCount === 0 && skipCount === 0)
298
+ };
299
+ };
300
+
301
+ /**
302
+ * Classify one scalar field against the target under the regression guard.
303
+ * Equal → in-sync; different & target newer-or-equal → drift (fixable);
304
+ * different & target older → regression-skip (preserve recorded value).
305
+ *
306
+ * @inner
307
+ * @private
308
+ * @param {string} file
309
+ * @param {string} field
310
+ * @param {*} current
311
+ * @param {string} target
312
+ * @param {boolean} regress
313
+ * @returns {Check}
314
+ */
315
+ var scalarCheck = function (file, field, current, target, regress) {
316
+ if (current === target) {
317
+ return { file: file, field: field, current: current, target: target, status: 'in-sync', fixable: false };
318
+ }
319
+ if (regress) {
320
+ return { file: file, field: field, current: current, target: target, status: 'regression-skip', fixable: false };
321
+ }
322
+ return { file: file, field: field, current: (typeof(current) == 'undefined' ? '(unset)' : current), target: target, status: 'drift', fixable: true };
323
+ };
324
+
325
+ /**
326
+ * Apply the fixable checks in place and persist via createFileFromDataSync
327
+ * (which routes the state paths through StateStore → SQLite + JSON sidecar).
328
+ * The regression guard has already been folded into each check's `fixable`
329
+ * flag, so the scalar writes only fire when the target is not a regression;
330
+ * the frameworks-list registration always fires. Marks each applied check
331
+ * `fixed: true`.
332
+ *
333
+ * @inner
334
+ * @private
335
+ */
336
+ var applyFixes = function (report, main, settings, mainPath, settingsPath, target, targetShort, regress) {
337
+ var mainDirty = false;
338
+ var settingsDirty = false;
339
+
340
+ for (var i = 0; i < report.checks.length; i++) {
341
+ var chk = report.checks[i];
342
+ if (!chk.fixable) continue;
343
+
344
+ if (chk.file === 'main.json' && chk.field === 'def_framework') {
345
+ main.def_framework = target;
346
+ mainDirty = true;
347
+ chk.fixed = true;
348
+ } else if (chk.file === 'main.json' && /^frameworks\[/.test(chk.field)) {
349
+ if (!main.frameworks) main.frameworks = {};
350
+ if (!Array.isArray(main.frameworks[targetShort])) main.frameworks[targetShort] = [];
351
+ if (main.frameworks[targetShort].indexOf(target) < 0) main.frameworks[targetShort].push(target);
352
+ mainDirty = true;
353
+ chk.fixed = true;
354
+ } else if (/settings\.json$/.test(chk.file) && chk.field === 'version') {
355
+ settings.version = target;
356
+ settingsDirty = true;
357
+ chk.fixed = true;
358
+ } else if (/settings\.json$/.test(chk.file) && chk.field === 'def_framework') {
359
+ settings.def_framework = target;
360
+ settingsDirty = true;
361
+ chk.fixed = true;
362
+ }
363
+ }
364
+
365
+ if (mainDirty) lib.generator.createFileFromDataSync(main, mainPath);
366
+ if (settingsDirty) lib.generator.createFileFromDataSync(settings, settingsPath);
367
+ };
368
+
369
+ /**
370
+ * Print the human-readable summary to the socket client / terminal.
371
+ *
372
+ * @inner
373
+ * @private
374
+ * @param {Report} report
375
+ */
376
+ var emitText = function (report) {
377
+ var prefix = (report.mode === 'fix') ? '[fix]' : '[dry-run]';
378
+ console.log(prefix + ' framework:update — target ' + report.target + ' (short ' + report.targetShort + ')');
379
+
380
+ var lastFile = null;
381
+ for (var i = 0; i < report.checks.length; i++) {
382
+ var c = report.checks[i];
383
+ if (c.file !== lastFile) {
384
+ console.log(' ' + c.file);
385
+ lastFile = c.file;
386
+ }
387
+ var line;
388
+ if (c.status === 'in-sync') {
389
+ line = c.field + ': ' + c.current + ' — in sync';
390
+ } else if (c.status === 'regression-skip') {
391
+ line = c.field + ': ' + c.current + ' (recorded) vs ' + c.target + ' (target) — SKIPPED (regression guard: target is older; preserving recorded)';
392
+ } else { // drift
393
+ var verb = c.fixed ? 'FIXED' : 'DRIFT';
394
+ line = c.field + ': ' + c.current + ' → ' + c.target + ' — ' + verb + (c.fixed ? '' : ' (fixable)');
395
+ }
396
+ console.log(' ' + line);
397
+ }
398
+
399
+ for (var w = 0; w < report.warnings.length; w++) {
400
+ console.log(' WARN ' + report.warnings[w]);
401
+ }
402
+
403
+ console.log('');
404
+ if (report.mode === 'fix') {
405
+ var fixedCount = 0;
406
+ for (var f = 0; f < report.checks.length; f++) { if (report.checks[f].fixed) fixedCount++; }
407
+ if (fixedCount > 0) {
408
+ console.log('Reconciled ' + fixedCount + ' item(s) to ' + report.target + '.' + (report.skipCount > 0 ? ' ' + report.skipCount + ' skipped by the regression guard.' : ''));
409
+ } else if (report.skipCount > 0) {
410
+ console.log('Nothing written — ' + report.skipCount + ' item(s) skipped by the regression guard (target older than recorded).');
411
+ } else {
412
+ console.log('Already in sync — nothing to reconcile.');
413
+ }
414
+ } else {
415
+ if (report.fixableCount > 0) {
416
+ console.log('Re-run with --fix to reconcile ' + report.fixableCount + ' item(s).' + (report.skipCount > 0 ? ' ' + report.skipCount + ' item(s) would be skipped by the regression guard.' : ''));
417
+ } else if (report.skipCount > 0) {
418
+ console.log(report.skipCount + ' item(s) skipped by the regression guard (target older than recorded) — nothing to fix.');
419
+ } else {
420
+ console.log('Already in sync — nothing to reconcile.');
421
+ }
422
+ }
423
+ };
424
+
425
+ /**
426
+ * Emit the machine-readable JSON report to the socket client / terminal.
427
+ *
428
+ * @inner
429
+ * @private
430
+ * @param {Report} report
431
+ */
432
+ var emitJson = function (report) {
433
+ console.log(JSON.stringify({
434
+ command : 'framework:update',
435
+ mode : report.mode,
436
+ homeDir : report.homeDir,
437
+ target : report.target,
438
+ targetShort : report.targetShort,
439
+ regressionGuard : report.regress,
440
+ inSync : report.inSync,
441
+ fixableCount : report.fixableCount,
442
+ skippedCount : report.skipCount,
443
+ checks : report.checks,
444
+ warnings : report.warnings
445
+ }, null, 2));
446
+ };
447
+
448
+ init();
449
+ }
450
+
451
+ /**
452
+ * @typedef {object} Check
453
+ * @property {string} file - `main.json` or `<short>/settings.json`
454
+ * @property {string} field - The reconciled field (e.g. `def_framework`)
455
+ * @property {*} current - Current recorded value (or membership description)
456
+ * @property {string} target - Desired value
457
+ * @property {string} status - `in-sync` | `drift` | `regression-skip`
458
+ * @property {boolean} fixable - True when `--fix` would write this field
459
+ * @property {boolean} [fixed] - True once `applyFixes` wrote it
460
+ */
461
+
462
+ /**
463
+ * @typedef {object} Report
464
+ * @property {string} mode - `dry-run` | `fix`
465
+ * @property {string} homeDir - Resolved `~/.gina` directory
466
+ * @property {string} target - Reconcile target version
467
+ * @property {string} targetShort - Target `major.minor`
468
+ * @property {boolean} regress - True when the target is strictly older than the recorded def_framework
469
+ * @property {Check[]} checks - Per-field findings
470
+ * @property {string[]} warnings - Deferred-seeding / missing-file notices
471
+ * @property {number} fixableCount - Count of fixable checks
472
+ * @property {number} driftCount - Count of drift checks
473
+ * @property {number} skipCount - Count of regression-skip checks
474
+ * @property {boolean} inSync - True when no drift and no regression-skip
475
+ */
476
+
477
+ module.exports = Update;
@@ -60,6 +60,17 @@ function Version(opt){
60
60
  engine = '';
61
61
  }
62
62
 
63
+ // Read the framework MIDDLEWARE file defensively — it is normally created
64
+ // by post_install / framework:init (checkIfMiddlewareFile), but if it is
65
+ // still absent (e.g. a read-only framework dir) degrade to 'none' instead
66
+ // of crashing, matching the "when available" guard on the engine read above.
67
+ var middleware = 'none';
68
+ try {
69
+ middleware = fs.readFileSync(_( opt.frameworkPath + '/MIDDLEWARE')).toString() || 'none';
70
+ } catch (middlewareErr) {
71
+ middleware = 'none';
72
+ }
73
+
63
74
  var vers = "",
64
75
  short = ( typeof(process.argv[3]) != 'undefined') ? process.argv[3]: false,
65
76
  msg = require('./msg.json'),
@@ -67,7 +78,7 @@ function Version(opt){
67
78
  "number" : GINA_VERSION,
68
79
  "platform" : process.platform,
69
80
  "arch" : arch,
70
- "middleware" : fs.readFileSync(_( opt.frameworkPath + '/MIDDLEWARE')).toString() || 'none',
81
+ "middleware" : middleware,
71
82
  "engine" : engine,
72
83
  "copyright" : require(opt.pack).copyright
73
84
  };
@@ -33,7 +33,16 @@ gina-framework(1) -- Framework CLI
33
33
  Restarts the framework.
34
34
 
35
35
  **-u**, **update**
36
- Get status of the framework.
36
+ Reconcile the ~/.gina state files (main.json, settings.json) to the installed framework version. Dry-run by default; pass --fix to apply.
37
+
38
+ **add**
39
+ Install a published gina version side-by-side so a bundle can pin it via --gina-version. Downloads from npm, installs its deps, archives + symlinks it, and registers it in main.json. Additive — never changes the default version. Pass --dry-run to preview, --force to overwrite an existing archived copy.
40
+
41
+ **list**
42
+ List the framework versions known to this install: the active version, side-by-side symlinked versions, and archived copies. Pass --all to include versions registered in main.json but not on disk, --format=json for machine output.
43
+
44
+ **remove**
45
+ Remove a side-by-side installed version: unlinks it from the active install, deletes its archived copy, and deregisters it from main.json. Refuses to remove the active default or the real shipped version. Pass --force to remove a version a bundle still pins, --dry-run to preview.
37
46
 
38
47
  **-e**, **set**
39
48
  Set environment variables
@@ -501,8 +501,10 @@ function CmdHelper(cmd, client, debug) {
501
501
 
502
502
  // Additional project checking & actions
503
503
  if (cmd.projectName != null) {
504
- // valid name but not in projects and task != :add, :remove or :import
505
- if ( typeof(cmd.projects[cmd.projectName]) == 'undefined' && !/\:(add|import|remove)$/.test(cmd.task) ) {
504
+ // valid name but not in projects and task != :add, :remove, :import or :restore
505
+ // (project:restore registers a brand-new on-disk tree from an archive,
506
+ // so its @<name> is legitimately not-yet-registered — like :add/:import)
507
+ if ( typeof(cmd.projects[cmd.projectName]) == 'undefined' && !/\:(add|import|remove|restore)$/.test(cmd.task) ) {
506
508
  errMsg = 'Project ['+ cmd.projectName +'] not found in your projects list';
507
509
  console.error(errMsg);
508
510
  exit(errMsg);
@@ -0,0 +1,144 @@
1
+ var fs = require('fs');
2
+ var nodePath = require('path');
3
+
4
+ /**
5
+ * @module gina/lib/cmd/man-render
6
+ */
7
+ /**
8
+ * Shared engine for the `gina <group>:man` commands (framework / project /
9
+ * bundle / service). It runtime-renders a group's ronn-style manual page
10
+ * (`lib/cmd/gina-<group>.1.md`) to the terminal — substituting the `{version}`
11
+ * and `{year}` placeholders (the same template idiom `framework:version` uses
12
+ * with `msg.json`) and stripping ronn markup so the output reads cleanly without
13
+ * a build step or a markdown/man dependency. When a group has no `.1.md` source
14
+ * yet (project / bundle / service today), the handler falls back to that group's
15
+ * `help.txt`, so every advertised `:man` command works.
16
+ *
17
+ * Structure: the pure render helpers (`substitute` / `stripRonn` / `renderMan`)
18
+ * take their inputs as arguments and touch no injected globals, so they are
19
+ * unit-testable by a plain `require` of this file. The `Man` handler reads the
20
+ * CLI globals (`getPath` / `GINA_VERSION` / `lib.logger`) LAZILY inside its body
21
+ * — never at module load — so requiring this module in a test never trips on an
22
+ * undefined global. Each `lib/cmd/<group>/man.js` is a one-line re-export of
23
+ * this `Man` (the `bundle/cp.js` → `copy.js` alias idiom).
24
+ *
25
+ * @class Man
26
+ * @constructor
27
+ * @param {object} opt - Parsed command-line options. `opt.task.topic` is the
28
+ * group (`framework` / `project` / `bundle` / `service`), set by the CLI
29
+ * dispatcher (`framework/init.js` run()).
30
+ */
31
+
32
+ /**
33
+ * Replace the `{version}` and `{year}` placeholders carried by the `.1.md`
34
+ * man-page templates. Pure — no globals.
35
+ *
36
+ * @inner
37
+ * @param {string} content - Raw man-page text
38
+ * @param {string} version - Framework version for `{version}`
39
+ * @param {string|number} year - Calendar year for `{year}` (e.g. the copyright year)
40
+ * @returns {string}
41
+ * @example
42
+ * substitute('release {version} (c) 2009-{year}', '0.5.5', 2026);
43
+ * // → 'release 0.5.5 (c) 2009-2026'
44
+ */
45
+ function substitute(content, version, year) {
46
+ return String(content)
47
+ .replace(/\{version\}/g, version)
48
+ .replace(/\{year\}/g, String(year));
49
+ }
50
+
51
+ /**
52
+ * Strip the ronn markup that does not read well as plain terminal text:
53
+ * the `~~~`/`~~~tty` code-fence lines, the `===`/`---` title underline rules,
54
+ * leading ATX heading markers (`## SECTION` → `SECTION`), and `**bold**`
55
+ * emphasis markers (keeping the inner text). Conservative on purpose — link
56
+ * angle brackets, lists, and prose are left intact. Pure — no globals.
57
+ *
58
+ * @inner
59
+ * @param {string} content
60
+ * @returns {string}
61
+ * @example
62
+ * stripRonn('## SYNOPSIS\n=====\n**gina** start\n~~~tty\n$ gina\n~~~');
63
+ * // → 'SYNOPSIS\n\ngina start\n\n$ gina\n'
64
+ */
65
+ function stripRonn(content) {
66
+ return String(content)
67
+ .replace(/^~~~.*$/gm, '') // ronn code-fence delimiters (~~~ / ~~~tty)
68
+ .replace(/^[=]{3,}\s*$/gm, '') // ronn title underline (====)
69
+ .replace(/^[-]{3,}\s*$/gm, '') // horizontal rules (----)
70
+ .replace(/^#{1,6}\s+/gm, '') // ATX heading markers (## SECTION → SECTION)
71
+ .replace(/\*\*(.+?)\*\*/g, '$1');// bold emphasis (**x** → x)
72
+ }
73
+
74
+ /**
75
+ * Render a man-page body for the terminal: substitute the placeholders, then
76
+ * strip the ronn markup. Pure — no globals.
77
+ *
78
+ * @inner
79
+ * @param {string} content
80
+ * @param {string} version
81
+ * @param {string|number} year
82
+ * @returns {string}
83
+ */
84
+ function renderMan(content, version, year) {
85
+ return stripRonn(substitute(content, version, year));
86
+ }
87
+
88
+ /**
89
+ * The CLI handler. Resolves the group's `.1.md` under the framework lib `cmd/`
90
+ * dir; renders it when present, otherwise falls back to the group's `help.txt`
91
+ * with a one-line notice. Reads the injected globals lazily so this module
92
+ * stays require-testable.
93
+ *
94
+ * @param {object} opt
95
+ * @returns {void}
96
+ * @example
97
+ * // dispatched as `gina framework:man` → renders lib/cmd/gina-framework.1.md
98
+ * // dispatched as `gina project:man` → falls back to lib/cmd/project/help.txt
99
+ */
100
+ function Man(opt) {
101
+ var console = lib.logger;
102
+
103
+ var group = (opt && opt.task && opt.task.topic) ? opt.task.topic : 'framework';
104
+ var libDir = getPath('gina').lib;
105
+ var version = (typeof(GINA_VERSION) != 'undefined') ? GINA_VERSION : '';
106
+ var year = new Date().getFullYear();
107
+
108
+ var manPath = _(libDir + '/cmd/gina-' + group + '.1.md', true);
109
+ if (fs.existsSync(manPath)) {
110
+ try {
111
+ console.log(renderMan(fs.readFileSync(manPath, 'utf8'), version, year));
112
+ process.exit(0);
113
+ return;
114
+ } catch (e) {
115
+ console.error('Could not read the manual page for `' + group + '`: ' + (e.message || e));
116
+ process.exit(1);
117
+ return;
118
+ }
119
+ }
120
+
121
+ // No .1.md source for this group yet — fall back to its help.txt.
122
+ var helpPath = _(libDir + '/cmd/' + group + '/help.txt', true);
123
+ if (fs.existsSync(helpPath)) {
124
+ console.log('No manual page for `' + group + '` yet — showing `gina ' + group + ':help`:\n');
125
+ try {
126
+ console.log(fs.readFileSync(helpPath, 'utf8'));
127
+ process.exit(0);
128
+ return;
129
+ } catch (e) {
130
+ console.error('Could not read help for `' + group + '`: ' + (e.message || e));
131
+ process.exit(1);
132
+ return;
133
+ }
134
+ }
135
+
136
+ console.error('No manual or help available for `' + group + '`.');
137
+ process.exit(1);
138
+ }
139
+
140
+ module.exports = Man;
141
+ // Pure helpers exposed for unit tests (require-by-path; no globals touched here).
142
+ module.exports.substitute = substitute;
143
+ module.exports.stripRonn = stripRonn;
144
+ module.exports.renderMan = renderMan;