gina 0.6.13 → 0.6.14

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 (590) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +28 -22
  3. package/ROADMAP.md +3 -2
  4. package/framework/v0.6.14/VERSION +1 -0
  5. package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/js/gina.js +9 -6
  6. package/framework/{v0.6.13 → v0.6.14}/core/config.js +9 -4
  7. package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.js +208 -42
  8. package/framework/{v0.6.13 → v0.6.14}/core/gna.js +25 -1
  9. package/framework/{v0.6.13 → v0.6.14}/core/server.js +66 -2
  10. package/framework/{v0.6.13 → v0.6.14}/lib/cmd/secrets/check.js +220 -168
  11. package/framework/v0.6.14/lib/cmd/secrets/scan.js +264 -0
  12. package/framework/{v0.6.13 → v0.6.14}/lib/collection/src/main.js +9 -6
  13. package/framework/{v0.6.13 → v0.6.14}/lib/secrets/src/backends/env.js +41 -1
  14. package/framework/v0.6.14/lib/secrets/src/backends/exec.js +253 -0
  15. package/framework/{v0.6.13 → v0.6.14}/lib/secrets/src/backends/file.js +5 -27
  16. package/framework/v0.6.14/lib/secrets/src/declaration.js +303 -0
  17. package/framework/{v0.6.13 → v0.6.14}/lib/secrets/src/main.js +107 -54
  18. package/framework/v0.6.14/lib/secrets/src/sources.js +325 -0
  19. package/framework/{v0.6.13 → v0.6.14}/package.json +1 -1
  20. package/gna.js +4 -4
  21. package/llms.txt +6 -4
  22. package/package.json +3 -3
  23. package/schema/settings.json +21 -0
  24. package/framework/v0.6.13/VERSION +0 -1
  25. package/framework/v0.6.13/lib/cmd/secrets/scan.js +0 -448
  26. /package/framework/{v0.6.13 → v0.6.14}/AUTHORS +0 -0
  27. /package/framework/{v0.6.13 → v0.6.14}/LICENSE +0 -0
  28. /package/framework/{v0.6.13 → v0.6.14}/core/asset/html/nolayout.html +0 -0
  29. /package/framework/{v0.6.13 → v0.6.14}/core/asset/html/static.html +0 -0
  30. /package/framework/{v0.6.13 → v0.6.14}/core/asset/img/android-chrome-192x192.png +0 -0
  31. /package/framework/{v0.6.13 → v0.6.14}/core/asset/img/android-chrome-512x512.png +0 -0
  32. /package/framework/{v0.6.13 → v0.6.14}/core/asset/img/apple-touch-icon.png +0 -0
  33. /package/framework/{v0.6.13 → v0.6.14}/core/asset/img/favicon-16x16.png +0 -0
  34. /package/framework/{v0.6.13 → v0.6.14}/core/asset/img/favicon-32x32.png +0 -0
  35. /package/framework/{v0.6.13 → v0.6.14}/core/asset/img/favicon.ico +0 -0
  36. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/README.md +0 -0
  37. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  38. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  39. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  40. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  41. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  42. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  43. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  44. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  45. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  46. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  47. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  48. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  49. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  50. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  51. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -0
  52. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  53. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  54. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  55. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  56. /package/framework/{v0.6.13 → v0.6.14}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  57. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/ai/index.js +0 -0
  58. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/ai/lib/connector.js +0 -0
  59. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/index.js +0 -0
  60. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/connector.js +0 -0
  61. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  62. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  63. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/n1ql.js +0 -0
  64. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/session-store.js +0 -0
  65. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  66. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  67. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/couchbase/lib/storage-store.js +0 -0
  68. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/duckdb/index.js +0 -0
  69. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/duckdb/lib/connector.js +0 -0
  70. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/mongodb/index.js +0 -0
  71. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/mongodb/lib/connector.js +0 -0
  72. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/mongodb/lib/job-store.js +0 -0
  73. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  74. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/mongodb/lib/session-store.js +0 -0
  75. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/mysql/index.js +0 -0
  76. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/mysql/lib/connector.js +0 -0
  77. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/param-redact.js +0 -0
  78. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/postgresql/index.js +0 -0
  79. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/postgresql/lib/connector.js +0 -0
  80. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/redis/index.js +0 -0
  81. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/redis/lib/connector.js +0 -0
  82. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/redis/lib/job-store.js +0 -0
  83. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/redis/lib/kv-store.js +0 -0
  84. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/redis/lib/render-cache-store.js +0 -0
  85. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/redis/lib/session-store.js +0 -0
  86. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/scylladb/index.js +0 -0
  87. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/scylladb/lib/connector.js +0 -0
  88. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/scylladb/lib/session-store.js +0 -0
  89. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/sql-parser.js +0 -0
  90. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/sqlite/index.js +0 -0
  91. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/sqlite/lib/connector.js +0 -0
  92. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/sqlite/lib/job-store.js +0 -0
  93. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/sqlite/lib/kv-store.js +0 -0
  94. /package/framework/{v0.6.13 → v0.6.14}/core/connectors/sqlite/lib/session-store.js +0 -0
  95. /package/framework/{v0.6.13 → v0.6.14}/core/content.encoding +0 -0
  96. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.framework.js +0 -0
  97. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.render-json.js +0 -0
  98. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.render-nunjucks-async.js +0 -0
  99. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.render-nunjucks.js +0 -0
  100. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.render-stream.js +0 -0
  101. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.render-swig-async.js +0 -0
  102. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.render-swig.js +0 -0
  103. /package/framework/{v0.6.13 → v0.6.14}/core/controller/controller.render-v1.js +0 -0
  104. /package/framework/{v0.6.13 → v0.6.14}/core/controller/index.js +0 -0
  105. /package/framework/{v0.6.13 → v0.6.14}/core/controller/inspector-window-emit.js +0 -0
  106. /package/framework/{v0.6.13 → v0.6.14}/core/controller/release-banner.js +0 -0
  107. /package/framework/{v0.6.13 → v0.6.14}/core/dev/index.js +0 -0
  108. /package/framework/{v0.6.13 → v0.6.14}/core/dev/lib/class.js +0 -0
  109. /package/framework/{v0.6.13 → v0.6.14}/core/dev/lib/factory.js +0 -0
  110. /package/framework/{v0.6.13 → v0.6.14}/core/dev/lib/tools.js +0 -0
  111. /package/framework/{v0.6.13 → v0.6.14}/core/locales/README.md +0 -0
  112. /package/framework/{v0.6.13 → v0.6.14}/core/locales/currency.json +0 -0
  113. /package/framework/{v0.6.13 → v0.6.14}/core/locales/dist/language/en.json +0 -0
  114. /package/framework/{v0.6.13 → v0.6.14}/core/locales/dist/language/fr.json +0 -0
  115. /package/framework/{v0.6.13 → v0.6.14}/core/locales/dist/region/en.json +0 -0
  116. /package/framework/{v0.6.13 → v0.6.14}/core/locales/dist/region/fr.json +0 -0
  117. /package/framework/{v0.6.13 → v0.6.14}/core/locales/index.js +0 -0
  118. /package/framework/{v0.6.13 → v0.6.14}/core/mime.types +0 -0
  119. /package/framework/{v0.6.13 → v0.6.14}/core/model/entity.js +0 -0
  120. /package/framework/{v0.6.13 → v0.6.14}/core/model/index.js +0 -0
  121. /package/framework/{v0.6.13 → v0.6.14}/core/model/template/entityFactory.js +0 -0
  122. /package/framework/{v0.6.13 → v0.6.14}/core/model/template/index.js +0 -0
  123. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/README.md +0 -0
  124. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/index.js +0 -0
  125. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/csrf/README.md +0 -0
  126. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/csrf/package.json +0 -0
  127. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/csrf/src/main.js +0 -0
  128. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/README.md +0 -0
  129. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/coep/README.md +0 -0
  130. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/coep/package.json +0 -0
  131. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  132. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/coop/README.md +0 -0
  133. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/coop/package.json +0 -0
  134. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  135. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/corp/README.md +0 -0
  136. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/corp/package.json +0 -0
  137. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  138. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/csp/README.md +0 -0
  139. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/csp/package.json +0 -0
  140. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  141. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  142. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  143. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  144. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  145. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  146. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  147. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  148. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  149. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  150. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/package.json +0 -0
  151. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  152. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  153. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  154. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/src/main.js +0 -0
  155. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  156. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  157. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  158. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  159. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  160. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  161. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  162. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  163. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  164. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  165. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  166. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  167. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  168. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  169. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  170. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  171. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  172. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  173. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/session/README.md +0 -0
  174. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/session/package.json +0 -0
  175. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/session/src/main.js +0 -0
  176. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/storage/README.md +0 -0
  177. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/storage/build.json +0 -0
  178. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/storage/package.json +0 -0
  179. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/storage/src/main.js +0 -0
  180. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/validator/README.md +0 -0
  181. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/validator/build.json +0 -0
  182. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/validator/package.json +0 -0
  183. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/validator/src/form-validator.js +0 -0
  184. /package/framework/{v0.6.13 → v0.6.14}/core/plugins/lib/validator/src/main.js +0 -0
  185. /package/framework/{v0.6.13 → v0.6.14}/core/router.js +0 -0
  186. /package/framework/{v0.6.13 → v0.6.14}/core/server.express.js +0 -0
  187. /package/framework/{v0.6.13 → v0.6.14}/core/server.isaac.js +0 -0
  188. /package/framework/{v0.6.13 → v0.6.14}/core/status.codes +0 -0
  189. /package/framework/{v0.6.13 → v0.6.14}/core/template/_gitignore +0 -0
  190. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/config/app.json +0 -0
  191. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  192. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/config/routing.json +0 -0
  193. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/config/settings.json +0 -0
  194. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  195. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/config/templates.json +0 -0
  196. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  197. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  198. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  199. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  200. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/index.js +0 -0
  201. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle/locales/en.json +0 -0
  202. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  203. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  204. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  205. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  206. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  207. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
  208. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  209. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  210. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/readme.md +0 -0
  211. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_public/sw.js +0 -0
  212. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  213. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  214. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  215. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  216. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
  217. /package/framework/{v0.6.13 → v0.6.14}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  218. /package/framework/{v0.6.13 → v0.6.14}/core/template/command/gina.bat.tpl +0 -0
  219. /package/framework/{v0.6.13 → v0.6.14}/core/template/command/gina.tpl +0 -0
  220. /package/framework/{v0.6.13 → v0.6.14}/core/template/conf/env.json +0 -0
  221. /package/framework/{v0.6.13 → v0.6.14}/core/template/conf/manifest.json +0 -0
  222. /package/framework/{v0.6.13 → v0.6.14}/core/template/conf/package.json +0 -0
  223. /package/framework/{v0.6.13 → v0.6.14}/core/template/conf/settings.json +0 -0
  224. /package/framework/{v0.6.13 → v0.6.14}/core/template/conf/statics.json +0 -0
  225. /package/framework/{v0.6.13 → v0.6.14}/core/template/conf/templates.json +0 -0
  226. /package/framework/{v0.6.13 → v0.6.14}/core/template/error/client/json/401.json +0 -0
  227. /package/framework/{v0.6.13 → v0.6.14}/core/template/error/client/json/403.json +0 -0
  228. /package/framework/{v0.6.13 → v0.6.14}/core/template/error/client/json/404.json +0 -0
  229. /package/framework/{v0.6.13 → v0.6.14}/core/template/error/server/html/50x.html +0 -0
  230. /package/framework/{v0.6.13 → v0.6.14}/core/template/error/server/json/500.json +0 -0
  231. /package/framework/{v0.6.13 → v0.6.14}/core/template/error/server/json/503.json +0 -0
  232. /package/framework/{v0.6.13 → v0.6.14}/core/template/extensions/logger/config.json +0 -0
  233. /package/framework/{v0.6.13 → v0.6.14}/helpers/console.js +0 -0
  234. /package/framework/{v0.6.13 → v0.6.14}/helpers/context.js +0 -0
  235. /package/framework/{v0.6.13 → v0.6.14}/helpers/data/LICENSE +0 -0
  236. /package/framework/{v0.6.13 → v0.6.14}/helpers/data/README.md +0 -0
  237. /package/framework/{v0.6.13 → v0.6.14}/helpers/data/package.json +0 -0
  238. /package/framework/{v0.6.13 → v0.6.14}/helpers/data/src/main.js +0 -0
  239. /package/framework/{v0.6.13 → v0.6.14}/helpers/dateFormat.js +0 -0
  240. /package/framework/{v0.6.13 → v0.6.14}/helpers/index.js +0 -0
  241. /package/framework/{v0.6.13 → v0.6.14}/helpers/json/LICENSE +0 -0
  242. /package/framework/{v0.6.13 → v0.6.14}/helpers/json/README.md +0 -0
  243. /package/framework/{v0.6.13 → v0.6.14}/helpers/json/package.json +0 -0
  244. /package/framework/{v0.6.13 → v0.6.14}/helpers/json/src/main.js +0 -0
  245. /package/framework/{v0.6.13 → v0.6.14}/helpers/path.js +0 -0
  246. /package/framework/{v0.6.13 → v0.6.14}/helpers/plugins/README.md +0 -0
  247. /package/framework/{v0.6.13 → v0.6.14}/helpers/plugins/package.json +0 -0
  248. /package/framework/{v0.6.13 → v0.6.14}/helpers/plugins/src/api-error.js +0 -0
  249. /package/framework/{v0.6.13 → v0.6.14}/helpers/plugins/src/main.js +0 -0
  250. /package/framework/{v0.6.13 → v0.6.14}/helpers/prototypes.js +0 -0
  251. /package/framework/{v0.6.13 → v0.6.14}/helpers/task.js +0 -0
  252. /package/framework/{v0.6.13 → v0.6.14}/helpers/text.js +0 -0
  253. /package/framework/{v0.6.13 → v0.6.14}/lib/admin/package.json +0 -0
  254. /package/framework/{v0.6.13 → v0.6.14}/lib/admin/src/main.js +0 -0
  255. /package/framework/{v0.6.13 → v0.6.14}/lib/archiver/README.md +0 -0
  256. /package/framework/{v0.6.13 → v0.6.14}/lib/archiver/build.json +0 -0
  257. /package/framework/{v0.6.13 → v0.6.14}/lib/archiver/package.json +0 -0
  258. /package/framework/{v0.6.13 → v0.6.14}/lib/archiver/src/dep/jszip.min.js +0 -0
  259. /package/framework/{v0.6.13 → v0.6.14}/lib/archiver/src/main.js +0 -0
  260. /package/framework/{v0.6.13 → v0.6.14}/lib/async/package.json +0 -0
  261. /package/framework/{v0.6.13 → v0.6.14}/lib/async/src/main.js +0 -0
  262. /package/framework/{v0.6.13 → v0.6.14}/lib/audit/package.json +0 -0
  263. /package/framework/{v0.6.13 → v0.6.14}/lib/audit/src/main.js +0 -0
  264. /package/framework/{v0.6.13 → v0.6.14}/lib/audit-store.js +0 -0
  265. /package/framework/{v0.6.13 → v0.6.14}/lib/authn/package.json +0 -0
  266. /package/framework/{v0.6.13 → v0.6.14}/lib/authn/src/lockout.js +0 -0
  267. /package/framework/{v0.6.13 → v0.6.14}/lib/authn/src/main.js +0 -0
  268. /package/framework/{v0.6.13 → v0.6.14}/lib/authn/src/totp.js +0 -0
  269. /package/framework/{v0.6.13 → v0.6.14}/lib/authz-gate/package.json +0 -0
  270. /package/framework/{v0.6.13 → v0.6.14}/lib/authz-gate/src/main.js +0 -0
  271. /package/framework/{v0.6.13 → v0.6.14}/lib/cache/README.md +0 -0
  272. /package/framework/{v0.6.13 → v0.6.14}/lib/cache/build.json +0 -0
  273. /package/framework/{v0.6.13 → v0.6.14}/lib/cache/package.json +0 -0
  274. /package/framework/{v0.6.13 → v0.6.14}/lib/cache/src/main.js +0 -0
  275. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/aliases.json +0 -0
  276. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/audit/arguments.json +0 -0
  277. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/audit/help.txt +0 -0
  278. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/audit/verify.js +0 -0
  279. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/add.js +0 -0
  280. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/arguments.json +0 -0
  281. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/build.js +0 -0
  282. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/copy.js +0 -0
  283. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/cp.js +0 -0
  284. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/help.js +0 -0
  285. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/help.txt +0 -0
  286. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  287. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/list.js +0 -0
  288. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/man.js +0 -0
  289. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/mcp-start.js +0 -0
  290. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/mcp.js +0 -0
  291. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/oas.js +0 -0
  292. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/openapi.js +0 -0
  293. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/remove.js +0 -0
  294. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/rename.js +0 -0
  295. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/restart.js +0 -0
  296. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/rm.js +0 -0
  297. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/start.js +0 -0
  298. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/status.js +0 -0
  299. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/stop.js +0 -0
  300. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/bundle/types.js +0 -0
  301. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/cache/arguments.json +0 -0
  302. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/cache/clear.js +0 -0
  303. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/cache/help.txt +0 -0
  304. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/cache/stats.js +0 -0
  305. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/add.js +0 -0
  306. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/arguments.json +0 -0
  307. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/help.js +0 -0
  308. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/help.txt +0 -0
  309. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/infer.js +0 -0
  310. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/list.js +0 -0
  311. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/migrate.js +0 -0
  312. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/models.js +0 -0
  313. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/remove.js +0 -0
  314. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/rm.js +0 -0
  315. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/connector/test.js +0 -0
  316. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/container/arguments.json +0 -0
  317. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/container/help.js +0 -0
  318. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/container/help.txt +0 -0
  319. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/container/man.js +0 -0
  320. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/container/ps.js +0 -0
  321. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/container/stop.js +0 -0
  322. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/add.js +0 -0
  323. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/arguments.json +0 -0
  324. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/help.txt +0 -0
  325. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/inc/args.js +0 -0
  326. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/inc/namespace.js +0 -0
  327. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
  328. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/inc/reference-scan.js +0 -0
  329. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/inc/scaffold.js +0 -0
  330. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/remove.js +0 -0
  331. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/rename.js +0 -0
  332. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/controller/rm.js +0 -0
  333. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/add.js +0 -0
  334. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/get.js +0 -0
  335. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/help.js +0 -0
  336. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/help.txt +0 -0
  337. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/link-dev.js +0 -0
  338. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/list.js +0 -0
  339. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/remove.js +0 -0
  340. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/rm.js +0 -0
  341. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/set.js +0 -0
  342. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/unset.js +0 -0
  343. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/env/use.js +0 -0
  344. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/add.js +0 -0
  345. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/arguments.json +0 -0
  346. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/build.js +0 -0
  347. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/dot.js +0 -0
  348. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/get.js +0 -0
  349. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/help.js +0 -0
  350. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/help.txt +0 -0
  351. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/init.js +0 -0
  352. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/link-node-modules.js +0 -0
  353. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/link.js +0 -0
  354. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/list.js +0 -0
  355. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/man.js +0 -0
  356. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/msg.json +0 -0
  357. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/open.js +0 -0
  358. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/remove.js +0 -0
  359. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/reset.js +0 -0
  360. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/restart.js +0 -0
  361. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/set.js +0 -0
  362. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/start.js +0 -0
  363. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/status.js +0 -0
  364. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/stop.js +0 -0
  365. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/tail.js +0 -0
  366. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/update.js +0 -0
  367. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/framework/version.js +0 -0
  368. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/gina-dev.1.md +0 -0
  369. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/gina-framework.1.md +0 -0
  370. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/gina.1.md +0 -0
  371. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/helper.js +0 -0
  372. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/i18n/add.js +0 -0
  373. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/i18n/arguments.json +0 -0
  374. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/i18n/export.js +0 -0
  375. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/i18n/help.js +0 -0
  376. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/i18n/help.txt +0 -0
  377. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/i18n/import.js +0 -0
  378. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/i18n/scan.js +0 -0
  379. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/_host.js +0 -0
  380. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/arguments.json +0 -0
  381. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/build.js +0 -0
  382. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/help.js +0 -0
  383. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/help.txt +0 -0
  384. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/list.js +0 -0
  385. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/man.js +0 -0
  386. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/rm.js +0 -0
  387. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/image/run.js +0 -0
  388. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/index.js +0 -0
  389. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/inspector/help.js +0 -0
  390. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/inspector/help.txt +0 -0
  391. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/inspector/open.js +0 -0
  392. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/man-render.js +0 -0
  393. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/minion/arguments.json +0 -0
  394. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/minion/help.js +0 -0
  395. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/minion/help.txt +0 -0
  396. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/minion/kill.js +0 -0
  397. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/minion/list.js +0 -0
  398. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/msg.json +0 -0
  399. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/port/help.js +0 -0
  400. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/port/help.txt +0 -0
  401. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/port/inc/scan.js +0 -0
  402. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/port/list.js +0 -0
  403. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/port/reset.js +0 -0
  404. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/port/set.js +0 -0
  405. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/add.js +0 -0
  406. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/arguments.json +0 -0
  407. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/backup.js +0 -0
  408. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/build.js +0 -0
  409. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/help.js +0 -0
  410. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/help.txt +0 -0
  411. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/import.js +0 -0
  412. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/list.js +0 -0
  413. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/man.js +0 -0
  414. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/move.js +0 -0
  415. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/remove.js +0 -0
  416. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/rename.js +0 -0
  417. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/restart.js +0 -0
  418. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/restore.js +0 -0
  419. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/rm.js +0 -0
  420. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/start.js +0 -0
  421. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/status.js +0 -0
  422. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/project/stop.js +0 -0
  423. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/protocol/arguments.json +0 -0
  424. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/protocol/help.js +0 -0
  425. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/protocol/help.txt +0 -0
  426. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/protocol/list.js +0 -0
  427. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/protocol/remove.js +0 -0
  428. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/protocol/set.js +0 -0
  429. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/add.js +0 -0
  430. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/help.js +0 -0
  431. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/help.txt +0 -0
  432. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/link-local.js +0 -0
  433. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/link-production.js +0 -0
  434. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/list.js +0 -0
  435. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/remove.js +0 -0
  436. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/rm.js +0 -0
  437. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/scope/use.js +0 -0
  438. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/secrets/arguments.json +0 -0
  439. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/secrets/help.js +0 -0
  440. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/secrets/help.txt +0 -0
  441. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/service/help.js +0 -0
  442. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/service/help.txt +0 -0
  443. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/service/list.js +0 -0
  444. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/service/man.js +0 -0
  445. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/service/start.js +0 -0
  446. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/storage/arguments.json +0 -0
  447. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/storage/gc.js +0 -0
  448. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/storage/help.txt +0 -0
  449. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/storage/stats.js +0 -0
  450. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/storage/verify.js +0 -0
  451. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd/view/add.js +0 -0
  452. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd-status-format/package.json +0 -0
  453. /package/framework/{v0.6.13 → v0.6.14}/lib/cmd-status-format/src/main.js +0 -0
  454. /package/framework/{v0.6.13 → v0.6.14}/lib/collection/README.md +0 -0
  455. /package/framework/{v0.6.13 → v0.6.14}/lib/collection/build.json +0 -0
  456. /package/framework/{v0.6.13 → v0.6.14}/lib/collection/package.json +0 -0
  457. /package/framework/{v0.6.13 → v0.6.14}/lib/config.js +0 -0
  458. /package/framework/{v0.6.13 → v0.6.14}/lib/connector-config/package.json +0 -0
  459. /package/framework/{v0.6.13 → v0.6.14}/lib/connector-config/src/main.js +0 -0
  460. /package/framework/{v0.6.13 → v0.6.14}/lib/connector-error/package.json +0 -0
  461. /package/framework/{v0.6.13 → v0.6.14}/lib/connector-error/src/main.js +0 -0
  462. /package/framework/{v0.6.13 → v0.6.14}/lib/connector-registry/package.json +0 -0
  463. /package/framework/{v0.6.13 → v0.6.14}/lib/connector-registry/src/main.js +0 -0
  464. /package/framework/{v0.6.13 → v0.6.14}/lib/cron/README.md +0 -0
  465. /package/framework/{v0.6.13 → v0.6.14}/lib/cron/package.json +0 -0
  466. /package/framework/{v0.6.13 → v0.6.14}/lib/cron/src/main.js +0 -0
  467. /package/framework/{v0.6.13 → v0.6.14}/lib/domain/LICENSE +0 -0
  468. /package/framework/{v0.6.13 → v0.6.14}/lib/domain/README.md +0 -0
  469. /package/framework/{v0.6.13 → v0.6.14}/lib/domain/package.json +0 -0
  470. /package/framework/{v0.6.13 → v0.6.14}/lib/domain/src/main.js +0 -0
  471. /package/framework/{v0.6.13 → v0.6.14}/lib/dto/package.json +0 -0
  472. /package/framework/{v0.6.13 → v0.6.14}/lib/dto/src/main.js +0 -0
  473. /package/framework/{v0.6.13 → v0.6.14}/lib/dto-pipe/package.json +0 -0
  474. /package/framework/{v0.6.13 → v0.6.14}/lib/dto-pipe/src/main.js +0 -0
  475. /package/framework/{v0.6.13 → v0.6.14}/lib/dto-types/package.json +0 -0
  476. /package/framework/{v0.6.13 → v0.6.14}/lib/dto-types/src/main.js +0 -0
  477. /package/framework/{v0.6.13 → v0.6.14}/lib/generator/index.js +0 -0
  478. /package/framework/{v0.6.13 → v0.6.14}/lib/i18n/package.json +0 -0
  479. /package/framework/{v0.6.13 → v0.6.14}/lib/i18n/src/main.js +0 -0
  480. /package/framework/{v0.6.13 → v0.6.14}/lib/image-build/package.json +0 -0
  481. /package/framework/{v0.6.13 → v0.6.14}/lib/image-build/src/main.js +0 -0
  482. /package/framework/{v0.6.13 → v0.6.14}/lib/index.js +0 -0
  483. /package/framework/{v0.6.13 → v0.6.14}/lib/inherits/LICENSE +0 -0
  484. /package/framework/{v0.6.13 → v0.6.14}/lib/inherits/README.md +0 -0
  485. /package/framework/{v0.6.13 → v0.6.14}/lib/inherits/package.json +0 -0
  486. /package/framework/{v0.6.13 → v0.6.14}/lib/inherits/src/main.js +0 -0
  487. /package/framework/{v0.6.13 → v0.6.14}/lib/inspector-events/package.json +0 -0
  488. /package/framework/{v0.6.13 → v0.6.14}/lib/inspector-events/src/main.js +0 -0
  489. /package/framework/{v0.6.13 → v0.6.14}/lib/inspector-redact/package.json +0 -0
  490. /package/framework/{v0.6.13 → v0.6.14}/lib/inspector-redact/src/main.js +0 -0
  491. /package/framework/{v0.6.13 → v0.6.14}/lib/instrument/package.json +0 -0
  492. /package/framework/{v0.6.13 → v0.6.14}/lib/instrument/src/main.js +0 -0
  493. /package/framework/{v0.6.13 → v0.6.14}/lib/job/package.json +0 -0
  494. /package/framework/{v0.6.13 → v0.6.14}/lib/job/src/main.js +0 -0
  495. /package/framework/{v0.6.13 → v0.6.14}/lib/job-store.js +0 -0
  496. /package/framework/{v0.6.13 → v0.6.14}/lib/json-config-header/package.json +0 -0
  497. /package/framework/{v0.6.13 → v0.6.14}/lib/json-config-header/src/main.js +0 -0
  498. /package/framework/{v0.6.13 → v0.6.14}/lib/kv/package.json +0 -0
  499. /package/framework/{v0.6.13 → v0.6.14}/lib/kv/src/main.js +0 -0
  500. /package/framework/{v0.6.13 → v0.6.14}/lib/kv-store.js +0 -0
  501. /package/framework/{v0.6.13 → v0.6.14}/lib/loading-state/package.json +0 -0
  502. /package/framework/{v0.6.13 → v0.6.14}/lib/loading-state/src/main.js +0 -0
  503. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/README.md +0 -0
  504. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/package.json +0 -0
  505. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/containers/default/index.js +0 -0
  506. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/containers/file/index.js +0 -0
  507. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  508. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  509. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/containers/mq/index.js +0 -0
  510. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/containers/mq/listener.js +0 -0
  511. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/containers/mq/speaker.js +0 -0
  512. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/helper.js +0 -0
  513. /package/framework/{v0.6.13 → v0.6.14}/lib/logger/src/main.js +0 -0
  514. /package/framework/{v0.6.13 → v0.6.14}/lib/maintenance/package.json +0 -0
  515. /package/framework/{v0.6.13 → v0.6.14}/lib/maintenance/src/main.js +0 -0
  516. /package/framework/{v0.6.13 → v0.6.14}/lib/math/index.js +0 -0
  517. /package/framework/{v0.6.13 → v0.6.14}/lib/mcp-dispatch/package.json +0 -0
  518. /package/framework/{v0.6.13 → v0.6.14}/lib/mcp-dispatch/src/main.js +0 -0
  519. /package/framework/{v0.6.13 → v0.6.14}/lib/mcp-http/package.json +0 -0
  520. /package/framework/{v0.6.13 → v0.6.14}/lib/mcp-http/src/main.js +0 -0
  521. /package/framework/{v0.6.13 → v0.6.14}/lib/mcp-server/package.json +0 -0
  522. /package/framework/{v0.6.13 → v0.6.14}/lib/mcp-server/src/main.js +0 -0
  523. /package/framework/{v0.6.13 → v0.6.14}/lib/merge/README.md +0 -0
  524. /package/framework/{v0.6.13 → v0.6.14}/lib/merge/package.json +0 -0
  525. /package/framework/{v0.6.13 → v0.6.14}/lib/merge/src/main.js +0 -0
  526. /package/framework/{v0.6.13 → v0.6.14}/lib/metrics/package.json +0 -0
  527. /package/framework/{v0.6.13 → v0.6.14}/lib/metrics/src/main.js +0 -0
  528. /package/framework/{v0.6.13 → v0.6.14}/lib/model.js +0 -0
  529. /package/framework/{v0.6.13 → v0.6.14}/lib/net-locality/package.json +0 -0
  530. /package/framework/{v0.6.13 → v0.6.14}/lib/net-locality/src/main.js +0 -0
  531. /package/framework/{v0.6.13 → v0.6.14}/lib/nunjucks-filters/README.md +0 -0
  532. /package/framework/{v0.6.13 → v0.6.14}/lib/nunjucks-filters/package.json +0 -0
  533. /package/framework/{v0.6.13 → v0.6.14}/lib/nunjucks-filters/src/main.js +0 -0
  534. /package/framework/{v0.6.13 → v0.6.14}/lib/nunjucks-resolver/package.json +0 -0
  535. /package/framework/{v0.6.13 → v0.6.14}/lib/nunjucks-resolver/src/main.js +0 -0
  536. /package/framework/{v0.6.13 → v0.6.14}/lib/proc.js +0 -0
  537. /package/framework/{v0.6.13 → v0.6.14}/lib/push/package.json +0 -0
  538. /package/framework/{v0.6.13 → v0.6.14}/lib/push/src/main.js +0 -0
  539. /package/framework/{v0.6.13 → v0.6.14}/lib/rate-limit/package.json +0 -0
  540. /package/framework/{v0.6.13 → v0.6.14}/lib/rate-limit/src/main.js +0 -0
  541. /package/framework/{v0.6.13 → v0.6.14}/lib/release-watch/package.json +0 -0
  542. /package/framework/{v0.6.13 → v0.6.14}/lib/release-watch/src/main.js +0 -0
  543. /package/framework/{v0.6.13 → v0.6.14}/lib/render-cache/package.json +0 -0
  544. /package/framework/{v0.6.13 → v0.6.14}/lib/render-cache/src/main.js +0 -0
  545. /package/framework/{v0.6.13 → v0.6.14}/lib/render-cache-store.js +0 -0
  546. /package/framework/{v0.6.13 → v0.6.14}/lib/routing/README.md +0 -0
  547. /package/framework/{v0.6.13 → v0.6.14}/lib/routing/build.json +0 -0
  548. /package/framework/{v0.6.13 → v0.6.14}/lib/routing/package.json +0 -0
  549. /package/framework/{v0.6.13 → v0.6.14}/lib/routing/src/main.js +0 -0
  550. /package/framework/{v0.6.13 → v0.6.14}/lib/routing/src/radix.js +0 -0
  551. /package/framework/{v0.6.13 → v0.6.14}/lib/routing-introspect/package.json +0 -0
  552. /package/framework/{v0.6.13 → v0.6.14}/lib/routing-introspect/src/main.js +0 -0
  553. /package/framework/{v0.6.13 → v0.6.14}/lib/secrets/package.json +0 -0
  554. /package/framework/{v0.6.13 → v0.6.14}/lib/secrets/src/env-file.js +0 -0
  555. /package/framework/{v0.6.13 → v0.6.14}/lib/session-store.js +0 -0
  556. /package/framework/{v0.6.13 → v0.6.14}/lib/shell.js +0 -0
  557. /package/framework/{v0.6.13 → v0.6.14}/lib/sqlite-driver.js +0 -0
  558. /package/framework/{v0.6.13 → v0.6.14}/lib/state.js +0 -0
  559. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/package.json +0 -0
  560. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/src/local-cas.js +0 -0
  561. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/src/local-stream.js +0 -0
  562. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/src/local.js +0 -0
  563. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/src/main.js +0 -0
  564. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/src/meta-store.js +0 -0
  565. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/src/s3.js +0 -0
  566. /package/framework/{v0.6.13 → v0.6.14}/lib/storage/src/util.js +0 -0
  567. /package/framework/{v0.6.13 → v0.6.14}/lib/storage-store.js +0 -0
  568. /package/framework/{v0.6.13 → v0.6.14}/lib/swig-filters/README.md +0 -0
  569. /package/framework/{v0.6.13 → v0.6.14}/lib/swig-filters/package.json +0 -0
  570. /package/framework/{v0.6.13 → v0.6.14}/lib/swig-filters/src/main.js +0 -0
  571. /package/framework/{v0.6.13 → v0.6.14}/lib/swig-resolver/package.json +0 -0
  572. /package/framework/{v0.6.13 → v0.6.14}/lib/swig-resolver/src/main.js +0 -0
  573. /package/framework/{v0.6.13 → v0.6.14}/lib/template-loaders/package.json +0 -0
  574. /package/framework/{v0.6.13 → v0.6.14}/lib/template-loaders/src/loaders/http.js +0 -0
  575. /package/framework/{v0.6.13 → v0.6.14}/lib/template-loaders/src/loaders/memory.js +0 -0
  576. /package/framework/{v0.6.13 → v0.6.14}/lib/template-loaders/src/main.js +0 -0
  577. /package/framework/{v0.6.13 → v0.6.14}/lib/url/README.md +0 -0
  578. /package/framework/{v0.6.13 → v0.6.14}/lib/url/index.js +0 -0
  579. /package/framework/{v0.6.13 → v0.6.14}/lib/url/routing.json +0 -0
  580. /package/framework/{v0.6.13 → v0.6.14}/lib/uuid/package.json +0 -0
  581. /package/framework/{v0.6.13 → v0.6.14}/lib/uuid/src/main.js +0 -0
  582. /package/framework/{v0.6.13 → v0.6.14}/lib/validator.js +0 -0
  583. /package/framework/{v0.6.13 → v0.6.14}/lib/watcher/package.json +0 -0
  584. /package/framework/{v0.6.13 → v0.6.14}/lib/watcher/src/main.js +0 -0
  585. /package/framework/{v0.6.13 → v0.6.14}/lib/ws-framing/package.json +0 -0
  586. /package/framework/{v0.6.13 → v0.6.14}/lib/ws-framing/src/main.js +0 -0
  587. /package/framework/{v0.6.13 → v0.6.14}/lib/ws-query/package.json +0 -0
  588. /package/framework/{v0.6.13 → v0.6.14}/lib/ws-query/src/main.js +0 -0
  589. /package/framework/{v0.6.13 → v0.6.14}/lib/ws-session/package.json +0 -0
  590. /package/framework/{v0.6.13 → v0.6.14}/lib/ws-session/src/main.js +0 -0
@@ -195,6 +195,27 @@
195
195
  "minItems": 1,
196
196
  "description": "One `.env`-style file path, or an array of them, layered UNDERNEATH the environment. Written with the ordinary config tokens, e.g. [\"${homedir}/secrets.env\", \"${homedir}/${scope}/secrets.env\"]. A NON-EMPTY environment value always wins: every production delivery mechanism (a Kubernetes envFrom secretRef, an ECS task secret, `sops exec-env`, a CI export) arrives through the environment, so a file that won could let a stale plaintext copy baked into an image silently shadow the credential the platform injected while the bundle looked healthy. As a fallback it can only ever fill a gap. A variable that is SET but EMPTY counts as absent, so the file tier fills it — that is what keeps the common `environment: [\"X=${X}\"]` passthrough working when the outer variable is unset — but because the same shape also arises when an entrypoint's `export X=\"$(fetch …)\"` fails, the fallback emits a warning naming the key so the dangerous case is visible without the benign one becoming fatal. Within the array, LATER entries win over earlier ones, so a shared base file and a per-scope file combine. A declared file that does not exist contributes nothing and is not an error — a project may ship a base file and add the per-scope one only on some targets. A declared file that EXISTS but cannot be read (wrong permissions or ownership) IS an error and boot refuses, naming the path: skipping it silently would drop the chain onto the shared base file and run the bundle on the wrong credential with no signal. Resolution stays fail-closed when a key is in neither tier. Boot refuses on a non-string, empty or whitespace-only entry, on a `${secret:…}` placeholder (the backend that would resolve it is the one being built), on any `${…}` token the substitution pass did not know — unknown tokens are preserved verbatim by design, so a typo would otherwise become a silent lookup for a literally-named file that never exists — and on a path containing an empty segment (`//`), because such a path does not name the file it appears to — POSIX reads `<a>//<b>` as `<a>/<b>`. The dangerous cause is a `${…}` token that resolved to an EMPTY value: `${homedir}/${scope}/secrets.env` with an empty scope collapses to a read of the file one directory up, silently, with no token left for the check above to catch. The benign cause is a token carrying a trailing slash (e.g. `GINA_HOMEDIR=/opt/gina/`), which resolves to the intended file; the two are indistinguishable by the time the path is assembled, so boot refuses on both rather than risk running on the wrong credential. Removing the doubled separator, or the trailing slash from the token, resolves either. An empty ARRAY is accepted and disables the file tier exactly like `null`, but it warns, because emptying the array to drop one layer drops the whole tier; prefer `null` when opting out deliberately. NOT a secrets-management integration: it does not decrypt, and pointed at ciphertext it yields ciphertext silently. For SOPS, Vault or a KMS keep decrypting at the container entrypoint so values land in the environment, which this tier already prefers. Files are layered once per config-load cycle, so editing one after the bundle has started changes nothing until a restart.",
197
197
  "default": null
198
+ },
199
+ "exec": {
200
+ "type": ["object", "null"],
201
+ "additionalProperties": false,
202
+ "required": ["command"],
203
+ "description": "One operator-declared command whose stdout supplies the secrets map, layered UNDERNEATH the environment exactly like the `file` tier — a NON-EMPTY environment value always wins, for the same reason: every production delivery mechanism arrives through the environment, and a fetch must never shadow the credential the platform injected. Mutually exclusive with `file`: the two tiers do not layer (no ordering between them has ever been defined), so declaring both refuses the boot — a bundle inheriting a project-wide `file` chain through the shared settings opts out of it with `\"file\": null` beside its own `exec` block, and `\"exec\": null` symmetrically drops an inherited exec declaration. The command runs ONCE per bundle per config-load cycle, at boot only, as an argv array with NO shell — element 0 is the binary, resolved through the inherited PATH; ordinary config tokens (`${homedir}`, `${scope}`, `${project}`, …) substitute per element, and an element still carrying an unresolved `${…}` token, or any `${secret:…}` placeholder, refuses the boot. Its stdout MUST be a single flat JSON object of string values — `sops decrypt --output-type json` on a flat secrets file produces it directly; `vault` and `kubectl` need a small wrapper (see the secrets guide's recipes). stdout is the secrets payload and is NEVER echoed into any error, log, or report — a parse failure says so without quoting anything; a non-string value names its key at debug level only. Failure is a per-bundle boot REFUSAL, never a hang: the child is bounded by `timeout` and killed with SIGKILL on expiry (SIGTERM can be ignored by a wedged child, which would hang the boot — the exact failure this bound exists to rule out), and a missing binary, a non-zero exit (the report quotes the last stderr lines, never stdout), a timeout, or malformed output all refuse the boot with the cause named. Pass auth material to the command via environment variables, never argv (argv is visible in `ps`); the child inherits this process's environment because vendor CLIs need their own configuration (`VAULT_ADDR`, `KUBECONFIG`, AWS credentials) — note the CLI sweep moves `GINA_*`/`VENDOR_*`/`USER_*` keys out of `process.env` in CLI and daemon processes, so a fetch command cannot read those there. The platform-native pattern remains BETTER where available — decrypt at the container entrypoint (`sops exec-env`), or inject via the platform (Kubernetes `envFrom` secretRef, ECS task secrets), so values land in the environment this tier already defers to; `exec` exists for environments where the entrypoint cannot be controlled. Secrets fetched here are held in process memory for the lifetime of the process, and rotation needs a restart, exactly as with the other tiers. The `secrets:check` gate runs the SAME command with the SAME timeout to keep its verdict aligned with the boot's, so expect the fetch to run when the gate does. The offline CLI callers that pass no backend (`bundle:mcp-start`, the `connector:*` commands) stay environment-only, as they are for the `file` tier.",
204
+ "properties": {
205
+ "command": {
206
+ "type": "array",
207
+ "items": { "type": "string", "minLength": 1 },
208
+ "minItems": 1,
209
+ "description": "The fetch command, argv form: `[\"sops\", \"decrypt\", \"--output-type\", \"json\", \"${project}/secrets.enc.json\"]`. No shell is involved — quoting, pipes and redirection are not available; when a pipeline is genuinely needed (`vault kv get -format=json … | jq .data.data`), ship it as a small script file and name that script here."
210
+ },
211
+ "timeout": {
212
+ "type": ["integer", "null"],
213
+ "minimum": 1,
214
+ "default": 10000,
215
+ "description": "Milliseconds the fetch may run before the child is SIGKILLed and the boot refuses. The default is deliberately generous for a healthy vendor round-trip while still turning a wedged endpoint into a fast, named failure."
216
+ }
217
+ },
218
+ "default": null
198
219
  }
199
220
  }
200
221
  },
@@ -1 +0,0 @@
1
- 0.6.13
@@ -1,448 +0,0 @@
1
- var fs = require('fs');
2
- var console = lib.logger;
3
-
4
- var CmdHelper = require('./../helper');
5
-
6
- /**
7
- * @module gina/lib/cmd/secrets/scan
8
- */
9
- /**
10
- * Walks every bundle in a project (or a single named bundle) and reports
11
- * the `${secret:KEY}` placeholders each bundle requires, aggregated as
12
- * KEY -> originating config file(s). Read-only: it never resolves a
13
- * placeholder, never reads `process.env`, and never writes anything.
14
- *
15
- * Usage:
16
- * gina secrets:scan
17
- * gina secrets:scan @<project>
18
- * gina secrets:scan <bundle> @<project>
19
- * gina secrets:scan @<project> --format=json
20
- * gina secrets:scan @<project> --scope=<scope>
21
- *
22
- * Config sources walked, matching `core/config.js::loadBundleConfig`:
23
- * - `<bundleSrc>/config/` per bundle, where `bundleSrc` comes from
24
- * `manifest.bundles[<name>].src` (falling back to the bundle name).
25
- * - the project-level `shared/config/`, which the loader merges into
26
- * every bundle — so its keys are attributed to each bundle.
27
- * Every `.json` in those dirs is read (the loader globs the dir rather
28
- * than using a fixed whitelist); dotfiles and `* copy` files are skipped.
29
- *
30
- * With `--scope=<s>`, the sibling `config_<s>/` dir of each config dir
31
- * (e.g. `shared/config_production/`) is read-only overlaid on top of the
32
- * base via deep-merge (scope wins) — mirroring how a deploy applies its
33
- * per-scope config — so the report shows the *effective* keys that scope's
34
- * deploy will require. This is pure introspection: it does NOT change the
35
- * runtime config loader, which stays scope-agnostic (the deploy owns
36
- * per-scope selection).
37
- *
38
- * Caveat: this reports the *authored* placeholders on disk, not the merged
39
- * runtime config — correct today because placeholders are always authored
40
- * literals.
41
- *
42
- * @class Scan
43
- * @constructor
44
- * @param {object} opt - Parsed command-line options
45
- * @param {object} opt.client - Socket client for terminal output
46
- * @param {string[]} opt.argv - Full argv array
47
- * @param {number} [opt.debugPort] - Node.js inspector port
48
- * @param {boolean} [opt.debugBrkEnabled] - True when --inspect-brk is active
49
- * @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
50
- */
51
- function Scan(opt, cmd) {
52
- var self = { format: 'text', scopeName: null };
53
-
54
- var secrets = lib.secrets;
55
- var merge = lib.merge;
56
-
57
- /**
58
- * Config files are JSON. The loader globs every `.json` in a config
59
- * dir; this matches that, then drops dotfiles and `* copy` siblings.
60
- *
61
- * @inner
62
- * @constant
63
- * @type {RegExp}
64
- */
65
- var JSON_EXT = /\.json$/;
66
-
67
- /**
68
- * Parses `--format`, resolves project + optional bundle via CmdHelper,
69
- * dispatches to the right walker, and exits.
70
- *
71
- * @inner
72
- * @private
73
- */
74
- var init = function () {
75
- new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
76
- if ( !isCmdConfigured() ) return false;
77
-
78
- for (var i = 3, len = process.argv.length; i < len; i++) {
79
- var arg = process.argv[i];
80
- if ( /^\-\-format\=/.test(arg) ) {
81
- self.format = arg.split(/\=/)[1] || 'text';
82
- }
83
- }
84
- if (self.format !== 'text' && self.format !== 'json') {
85
- console.error('--format must be `text` or `json` (got `' + self.format + '`)');
86
- process.exit(1);
87
- return;
88
- }
89
-
90
- // --scope is the framework scope flag (declared in arguments.json, like
91
- // bundle:*; CmdHelper captures it into self.params). null when absent.
92
- self.scopeName = (self.params && self.params.scope) ? self.params.scope : null;
93
-
94
- var bundleFilter = self.name || null;
95
-
96
- if ( typeof(self.projectName) == 'undefined' || self.projectName == null ) {
97
- if (bundleFilter) {
98
- console.error('`secrets:scan <bundle>` requires `@<project>`. Did you forget `@<project_name>`?');
99
- process.exit(1);
100
- return;
101
- }
102
- scanAll();
103
- process.exit(0);
104
- return;
105
- }
106
-
107
- if ( typeof(self.projects[self.projectName]) == 'undefined' ) {
108
- console.error('Project @' + self.projectName + ' is not registered. Run `gina project:list` to see registered projects.');
109
- process.exit(1);
110
- return;
111
- }
112
-
113
- if (bundleFilter) {
114
- var manifest = loadManifest(self.projects[self.projectName].path);
115
- if (manifest && manifest.bundles && !manifest.bundles[bundleFilter]) {
116
- console.error('Bundle [ ' + bundleFilter + ' ] is not registered inside `@' + self.projectName + '`.');
117
- process.exit(1);
118
- return;
119
- }
120
- scanBundleOnly(self.projectName, bundleFilter);
121
- } else {
122
- scanProjectOnly(self.projectName);
123
- }
124
-
125
- process.exit(0);
126
- };
127
-
128
- /**
129
- * Reads a JSON file with comment tolerance via `requireJSON`. Returns
130
- * `null` on any I/O or parse error so callers can choose how to
131
- * surface the failure.
132
- *
133
- * @inner
134
- * @private
135
- * @param {string} filePath
136
- * @returns {object|null}
137
- */
138
- var readJsonSafe = function (filePath) {
139
- try {
140
- if ( !fs.existsSync(filePath) ) return null;
141
- return requireJSON(filePath);
142
- } catch (e) {
143
- return null;
144
- }
145
- };
146
-
147
- /**
148
- * Loads `<projectPath>/manifest.json`. Returns `null` on failure.
149
- *
150
- * @inner
151
- * @private
152
- * @param {string} projectPath
153
- * @returns {object|null}
154
- */
155
- var loadManifest = function (projectPath) {
156
- return readJsonSafe(_(projectPath + '/manifest.json', true));
157
- };
158
-
159
- /**
160
- * Resolves a bundle's source-dir (relative to the project root) from
161
- * the manifest, mirroring `bundle:openapi`. Falls back to the bundle
162
- * name when `src` is absent.
163
- *
164
- * @inner
165
- * @private
166
- * @param {object|null} manifest
167
- * @param {string} bundleName
168
- * @returns {string}
169
- */
170
- var resolveBundleSrc = function (manifest, bundleName) {
171
- if ( manifest && manifest.bundles && manifest.bundles[bundleName] && manifest.bundles[bundleName].src ) {
172
- return manifest.bundles[bundleName].src;
173
- }
174
- return bundleName;
175
- };
176
-
177
- /**
178
- * Lists the `.json` files in `dir`, skipping dotfiles and `* copy`
179
- * siblings — the same filtering `loadBundleConfig` applies. Returns a
180
- * sorted list of bare filenames. Empty when the dir is absent.
181
- *
182
- * @inner
183
- * @private
184
- * @param {string} dir - Absolute config directory
185
- * @returns {string[]}
186
- */
187
- var listJsonFiles = function (dir) {
188
- if ( !fs.existsSync(dir) ) return [];
189
- var entries;
190
- try { entries = fs.readdirSync(dir); } catch (e) { return []; }
191
- var out = [];
192
- for (var i = 0; i < entries.length; i++) {
193
- var name = entries[i];
194
- if ( /^\./.test(name) ) continue;
195
- if ( /\s+copy/i.test(name) ) continue;
196
- if ( !JSON_EXT.test(name) ) continue;
197
- out.push(name);
198
- }
199
- out.sort();
200
- return out;
201
- };
202
-
203
- /**
204
- * Reads every `.json` under `absDir`, enumerates its required secret
205
- * keys via `lib.secrets.getRequiredKeys`, and records each key against
206
- * its originating file (labelled with `relBase + '/' + filename`).
207
- * Mutates `byKey` in place.
208
- *
209
- * When `--scope=<s>` is active (`self.scopeName`), the sibling
210
- * `<absDir>_<scope>/` directory (e.g. `shared/config_production/`) is
211
- * read-only overlaid on top of the base dir per config file, mirroring
212
- * how a deploy applies its per-scope config: the scope file deep-merges
213
- * over the base (scope wins on collisions, base back-fills) so the keys
214
- * reported are the *effective* ones that scope's deploy will require.
215
- * The scope file is JSON.clone'd before merge so cached content is not
216
- * mutated. This is read-only introspection — it never touches the
217
- * runtime config loader.
218
- *
219
- * @inner
220
- * @private
221
- * @param {string} absDir - Absolute base config directory to read
222
- * @param {string} relBase - Display prefix for file labels (e.g. `src/demo/config`)
223
- * @param {Object<string, string[]>} byKey - Mutable KEY -> [files] map
224
- */
225
- var collectFromConfigDir = function (absDir, relBase, byKey) {
226
- var scopeAbsDir = self.scopeName ? (absDir + '_' + self.scopeName) : null;
227
- var scopeRelBase = self.scopeName ? (relBase + '_' + self.scopeName) : null;
228
-
229
- var baseNames = listJsonFiles(absDir);
230
- var scopeNames = scopeAbsDir ? listJsonFiles(scopeAbsDir) : [];
231
-
232
- // union of config file names across base + scope-overlay dirs
233
- var names = baseNames.slice();
234
- for (var s = 0; s < scopeNames.length; s++) {
235
- if (names.indexOf(scopeNames[s]) < 0) names.push(scopeNames[s]);
236
- }
237
-
238
- for (var f = 0; f < names.length; f++) {
239
- var name = names[f];
240
- var baseContent = (baseNames.indexOf(name) > -1) ? readJsonSafe(_(absDir + '/' + name, true)) : null;
241
- var scopeContent = (scopeAbsDir && scopeNames.indexOf(name) > -1) ? readJsonSafe(_(scopeAbsDir + '/' + name, true)) : null;
242
-
243
- // effective config for this scope: scope deep-merges over base (scope wins).
244
- // override=false is explicit (not merge's default) so scope precedence stays
245
- // correct even if lib/merge's default override ever changes.
246
- var effective = scopeContent ? merge(JSON.clone(scopeContent), baseContent || {}, false) : baseContent;
247
- if (!effective) continue;
248
-
249
- var keys = secrets.getRequiredKeys(effective);
250
- var scopeKeys = scopeContent ? secrets.getRequiredKeys(scopeContent) : [];
251
- for (var k = 0; k < keys.length; k++) {
252
- // attribute the key to the layer that actually provides it in the effective config
253
- var label = (scopeKeys.indexOf(keys[k]) > -1) ? (scopeRelBase + '/' + name) : (relBase + '/' + name);
254
- if (!byKey[keys[k]]) byKey[keys[k]] = [];
255
- if (byKey[keys[k]].indexOf(label) < 0) byKey[keys[k]].push(label);
256
- }
257
- }
258
- };
259
-
260
- /**
261
- * Computes the shared-config KEY -> [files] map once per project. The
262
- * loader merges `shared/config/` into every bundle, so these keys are
263
- * attributed to each bundle.
264
- *
265
- * @inner
266
- * @private
267
- * @param {string} projectPath
268
- * @returns {Object<string, string[]>}
269
- */
270
- var computeSharedByKey = function (projectPath) {
271
- var byKey = Object.create(null);
272
- collectFromConfigDir(_(projectPath + '/shared/config', true), 'shared/config', byKey);
273
- return byKey;
274
- };
275
-
276
- /**
277
- * Builds a required-secrets report for one bundle: the union of its
278
- * own `config/` keys and the project's shared-config keys.
279
- *
280
- * @inner
281
- * @private
282
- * @param {string} projectPath
283
- * @param {object|null} manifest
284
- * @param {string} bundleName
285
- * @param {Object<string, string[]>} sharedByKey - Pre-computed shared map
286
- * @returns {{bundle:string, totalKeys:number, byKey:Object<string, string[]>}}
287
- */
288
- var scanBundle = function (projectPath, manifest, bundleName, sharedByKey) {
289
- var byKey = Object.create(null);
290
- for (var sk in sharedByKey) {
291
- byKey[sk] = sharedByKey[sk].slice();
292
- }
293
- var bundleSrc = resolveBundleSrc(manifest, bundleName);
294
- var rel = bundleSrc + '/config';
295
- collectFromConfigDir(_(projectPath + '/' + rel, true), rel, byKey);
296
- return {
297
- bundle : bundleName,
298
- totalKeys : Object.keys(byKey).length,
299
- byKey : byKey
300
- };
301
- };
302
-
303
- /**
304
- * Iterates every registered project, scanning all bundles in each.
305
- *
306
- * @inner
307
- * @private
308
- */
309
- var scanAll = function () {
310
- var report = { projects: [] };
311
- var names = Object.keys(self.projects).sort();
312
- for (var i = 0; i < names.length; i++) {
313
- var pp = self.projects[names[i]];
314
- var mf = loadManifest(pp.path);
315
- if (!mf || !mf.bundles) continue;
316
- var sharedByKey = computeSharedByKey(pp.path);
317
- var entry = { project: names[i], bundles: [] };
318
- var bnames = Object.keys(mf.bundles).sort();
319
- for (var b = 0; b < bnames.length; b++) {
320
- entry.bundles.push(scanBundle(pp.path, mf, bnames[b], sharedByKey));
321
- }
322
- report.projects.push(entry);
323
- }
324
- emit(report);
325
- };
326
-
327
- /**
328
- * Scans every bundle in a single named project.
329
- *
330
- * @inner
331
- * @private
332
- * @param {string} projectName
333
- */
334
- var scanProjectOnly = function (projectName) {
335
- var project = self.projects[projectName];
336
- var manifest = loadManifest(project.path);
337
- if (!manifest || !manifest.bundles) {
338
- console.error('Project @' + projectName + ' has no manifest.json or no bundles registered.');
339
- process.exit(1);
340
- return;
341
- }
342
- var sharedByKey = computeSharedByKey(project.path);
343
- var bundles = Object.keys(manifest.bundles).sort();
344
- var report = { project: projectName, bundles: [] };
345
- for (var i = 0; i < bundles.length; i++) {
346
- report.bundles.push(scanBundle(project.path, manifest, bundles[i], sharedByKey));
347
- }
348
- emit(report);
349
- };
350
-
351
- /**
352
- * Scans a single bundle in a single project.
353
- *
354
- * @inner
355
- * @private
356
- * @param {string} projectName
357
- * @param {string} bundleName
358
- */
359
- var scanBundleOnly = function (projectName, bundleName) {
360
- var project = self.projects[projectName];
361
- var manifest = loadManifest(project.path);
362
- var sharedByKey = computeSharedByKey(project.path);
363
- var report = { project: projectName, bundles: [scanBundle(project.path, manifest, bundleName, sharedByKey)] };
364
- emit(report);
365
- };
366
-
367
- /**
368
- * Dispatches to the JSON or text renderer based on `self.format`.
369
- *
370
- * @inner
371
- * @private
372
- * @param {object} report
373
- */
374
- var emit = function (report) {
375
- if (self.format === 'json') {
376
- console.log(JSON.stringify(report, null, 2));
377
- return;
378
- }
379
- emitText(report);
380
- };
381
-
382
- /**
383
- * Renders the human-readable text report.
384
- *
385
- * @inner
386
- * @private
387
- * @param {object} report
388
- */
389
- var emitText = function (report) {
390
- var projects = report.projects
391
- ? report.projects
392
- : [{ project: report.project, bundles: report.bundles }];
393
- for (var p = 0; p < projects.length; p++) {
394
- var proj = projects[p];
395
- console.log('\n@' + proj.project + (self.scopeName ? ' (scope: ' + self.scopeName + ')' : '') + ':');
396
- if (proj.bundles.length === 0) {
397
- console.log(' (no bundles)');
398
- continue;
399
- }
400
- for (var b = 0; b < proj.bundles.length; b++) {
401
- emitTextBundle(proj.bundles[b]);
402
- }
403
- }
404
- };
405
-
406
- /**
407
- * Renders one bundle's required-secrets block.
408
- *
409
- * @inner
410
- * @private
411
- * @param {object} br - One bundle report from `scanBundle`
412
- */
413
- var emitTextBundle = function (br) {
414
- console.log(' ' + br.bundle + ':');
415
- if (br.totalKeys === 0) {
416
- console.log(' No ${secret:KEY} placeholders found in config.');
417
- return;
418
- }
419
- var keys = Object.keys(br.byKey).sort();
420
- var width = 0;
421
- for (var w = 0; w < keys.length; w++) {
422
- if (keys[w].length > width) width = keys[w].length;
423
- }
424
- console.log(' Required secrets (' + br.totalKeys + '):');
425
- for (var k = 0; k < keys.length; k++) {
426
- console.log(' ' + padRight(keys[k], width) + ' <- ' + br.byKey[keys[k]].join(', '));
427
- }
428
- };
429
-
430
- /**
431
- * Right-pads `s` with spaces to reach `n` characters.
432
- *
433
- * @inner
434
- * @private
435
- * @param {string} s
436
- * @param {number} n
437
- * @returns {string}
438
- */
439
- var padRight = function (s, n) {
440
- var o = String(s || '');
441
- while (o.length < n) o += ' ';
442
- return o;
443
- };
444
-
445
- init();
446
- }
447
-
448
- module.exports = Scan;
File without changes
File without changes