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
@@ -0,0 +1,264 @@
1
+ var console = lib.logger;
2
+
3
+ var CmdHelper = require('./../helper');
4
+
5
+ /**
6
+ * @module gina/lib/cmd/secrets/scan
7
+ */
8
+ /**
9
+ * Walks every bundle in a project (or a single named bundle) and reports
10
+ * the `${secret:KEY}` placeholders each bundle requires, aggregated as
11
+ * KEY -> originating config file(s). Read-only: it never resolves a
12
+ * placeholder, never reads `process.env`, and never writes anything.
13
+ *
14
+ * Usage:
15
+ * gina secrets:scan
16
+ * gina secrets:scan @<project>
17
+ * gina secrets:scan <bundle> @<project>
18
+ * gina secrets:scan @<project> --format=json
19
+ * gina secrets:scan @<project> --scope=<scope>
20
+ *
21
+ * The walk itself — which config sources a bundle reads, how the
22
+ * `--scope` overlay applies, which files are skipped — lives in
23
+ * `lib/secrets` (the sources module) and is consumed here through the
24
+ * registry, so this command, `secrets:check` and any future boot-time
25
+ * consumer enumerate the SAME source set by construction. See that
26
+ * module's header for the full walk semantics and the drift incident
27
+ * that motivated sharing it.
28
+ *
29
+ * @class Scan
30
+ * @constructor
31
+ * @param {object} opt - Parsed command-line options
32
+ * @param {object} opt.client - Socket client for terminal output
33
+ * @param {string[]} opt.argv - Full argv array
34
+ * @param {number} [opt.debugPort] - Node.js inspector port
35
+ * @param {boolean} [opt.debugBrkEnabled] - True when --inspect-brk is active
36
+ * @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
37
+ */
38
+ function Scan(opt, cmd) {
39
+ var self = { format: 'text', scopeName: null };
40
+
41
+ var secrets = lib.secrets;
42
+
43
+ /**
44
+ * Parses `--format`, resolves project + optional bundle via CmdHelper,
45
+ * dispatches to the right walker, and exits.
46
+ *
47
+ * @inner
48
+ * @private
49
+ */
50
+ var init = function () {
51
+ new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
52
+ if ( !isCmdConfigured() ) return false;
53
+
54
+ for (var i = 3, len = process.argv.length; i < len; i++) {
55
+ var arg = process.argv[i];
56
+ if ( /^\-\-format\=/.test(arg) ) {
57
+ self.format = arg.split(/\=/)[1] || 'text';
58
+ }
59
+ }
60
+ if (self.format !== 'text' && self.format !== 'json') {
61
+ console.error('--format must be `text` or `json` (got `' + self.format + '`)');
62
+ process.exit(1);
63
+ return;
64
+ }
65
+
66
+ // --scope is the framework scope flag (declared in arguments.json, like
67
+ // bundle:*; CmdHelper captures it into self.params). null when absent.
68
+ self.scopeName = (self.params && self.params.scope) ? self.params.scope : null;
69
+
70
+ var bundleFilter = self.name || null;
71
+
72
+ if ( typeof(self.projectName) == 'undefined' || self.projectName == null ) {
73
+ if (bundleFilter) {
74
+ console.error('`secrets:scan <bundle>` requires `@<project>`. Did you forget `@<project_name>`?');
75
+ process.exit(1);
76
+ return;
77
+ }
78
+ scanAll();
79
+ process.exit(0);
80
+ return;
81
+ }
82
+
83
+ if ( typeof(self.projects[self.projectName]) == 'undefined' ) {
84
+ console.error('Project @' + self.projectName + ' is not registered. Run `gina project:list` to see registered projects.');
85
+ process.exit(1);
86
+ return;
87
+ }
88
+
89
+ if (bundleFilter) {
90
+ var manifest = secrets.loadManifest(self.projects[self.projectName].path);
91
+ if (manifest && manifest.bundles && !manifest.bundles[bundleFilter]) {
92
+ console.error('Bundle [ ' + bundleFilter + ' ] is not registered inside `@' + self.projectName + '`.');
93
+ process.exit(1);
94
+ return;
95
+ }
96
+ scanBundleOnly(self.projectName, bundleFilter);
97
+ } else {
98
+ scanProjectOnly(self.projectName);
99
+ }
100
+
101
+ process.exit(0);
102
+ };
103
+
104
+ // The config-dir walk itself (manifest read, dir globbing, scope overlay,
105
+ // key enumeration) moved to lib/secrets' sources module, consumed below
106
+ // via secrets.getProjectRequiredKeys — see that module's header for the
107
+ // walk semantics and the sharing rationale.
108
+
109
+ /**
110
+ * Shapes one walk entry into this command's per-bundle report block.
111
+ *
112
+ * @inner
113
+ * @private
114
+ * @param {{bundle: string, byKey: Object<string, string[]>}} entry - One walk entry
115
+ * @returns {{bundle:string, totalKeys:number, byKey:Object<string, string[]>}}
116
+ */
117
+ var toBundleReport = function (entry) {
118
+ return {
119
+ bundle : entry.bundle,
120
+ totalKeys : Object.keys(entry.byKey).length,
121
+ byKey : entry.byKey
122
+ };
123
+ };
124
+
125
+ /**
126
+ * Iterates every registered project, scanning all bundles in each.
127
+ *
128
+ * @inner
129
+ * @private
130
+ */
131
+ var scanAll = function () {
132
+ var report = { projects: [] };
133
+ var names = Object.keys(self.projects).sort();
134
+ for (var i = 0; i < names.length; i++) {
135
+ var walked = secrets.getProjectRequiredKeys(self.projects[names[i]].path, { scope: self.scopeName });
136
+ if (!walked) continue;
137
+ var entry = { project: names[i], bundles: [] };
138
+ for (var b = 0; b < walked.bundles.length; b++) {
139
+ entry.bundles.push(toBundleReport(walked.bundles[b]));
140
+ }
141
+ report.projects.push(entry);
142
+ }
143
+ emit(report);
144
+ };
145
+
146
+ /**
147
+ * Scans every bundle in a single named project.
148
+ *
149
+ * @inner
150
+ * @private
151
+ * @param {string} projectName
152
+ */
153
+ var scanProjectOnly = function (projectName) {
154
+ var project = self.projects[projectName];
155
+ var walked = secrets.getProjectRequiredKeys(project.path, { scope: self.scopeName });
156
+ if (!walked) {
157
+ console.error('Project @' + projectName + ' has no manifest.json or no bundles registered.');
158
+ process.exit(1);
159
+ return;
160
+ }
161
+ var report = { project: projectName, bundles: [] };
162
+ for (var i = 0; i < walked.bundles.length; i++) {
163
+ report.bundles.push(toBundleReport(walked.bundles[i]));
164
+ }
165
+ emit(report);
166
+ };
167
+
168
+ /**
169
+ * Scans a single bundle in a single project.
170
+ *
171
+ * @inner
172
+ * @private
173
+ * @param {string} projectName
174
+ * @param {string} bundleName
175
+ */
176
+ var scanBundleOnly = function (projectName, bundleName) {
177
+ var project = self.projects[projectName];
178
+ var walked = secrets.getProjectRequiredKeys(project.path, { scope: self.scopeName, bundle: bundleName });
179
+ var report = { project: projectName, bundles: [toBundleReport(walked.bundles[0])] };
180
+ emit(report);
181
+ };
182
+
183
+ /**
184
+ * Dispatches to the JSON or text renderer based on `self.format`.
185
+ *
186
+ * @inner
187
+ * @private
188
+ * @param {object} report
189
+ */
190
+ var emit = function (report) {
191
+ if (self.format === 'json') {
192
+ console.log(JSON.stringify(report, null, 2));
193
+ return;
194
+ }
195
+ emitText(report);
196
+ };
197
+
198
+ /**
199
+ * Renders the human-readable text report.
200
+ *
201
+ * @inner
202
+ * @private
203
+ * @param {object} report
204
+ */
205
+ var emitText = function (report) {
206
+ var projects = report.projects
207
+ ? report.projects
208
+ : [{ project: report.project, bundles: report.bundles }];
209
+ for (var p = 0; p < projects.length; p++) {
210
+ var proj = projects[p];
211
+ console.log('\n@' + proj.project + (self.scopeName ? ' (scope: ' + self.scopeName + ')' : '') + ':');
212
+ if (proj.bundles.length === 0) {
213
+ console.log(' (no bundles)');
214
+ continue;
215
+ }
216
+ for (var b = 0; b < proj.bundles.length; b++) {
217
+ emitTextBundle(proj.bundles[b]);
218
+ }
219
+ }
220
+ };
221
+
222
+ /**
223
+ * Renders one bundle's required-secrets block.
224
+ *
225
+ * @inner
226
+ * @private
227
+ * @param {object} br - One bundle report from `scanBundle`
228
+ */
229
+ var emitTextBundle = function (br) {
230
+ console.log(' ' + br.bundle + ':');
231
+ if (br.totalKeys === 0) {
232
+ console.log(' No ${secret:KEY} placeholders found in config.');
233
+ return;
234
+ }
235
+ var keys = Object.keys(br.byKey).sort();
236
+ var width = 0;
237
+ for (var w = 0; w < keys.length; w++) {
238
+ if (keys[w].length > width) width = keys[w].length;
239
+ }
240
+ console.log(' Required secrets (' + br.totalKeys + '):');
241
+ for (var k = 0; k < keys.length; k++) {
242
+ console.log(' ' + padRight(keys[k], width) + ' <- ' + br.byKey[keys[k]].join(', '));
243
+ }
244
+ };
245
+
246
+ /**
247
+ * Right-pads `s` with spaces to reach `n` characters.
248
+ *
249
+ * @inner
250
+ * @private
251
+ * @param {string} s
252
+ * @param {number} n
253
+ * @returns {string}
254
+ */
255
+ var padRight = function (s, n) {
256
+ var o = String(s || '');
257
+ while (o.length < n) o += ' ';
258
+ return o;
259
+ };
260
+
261
+ init();
262
+ }
263
+
264
+ module.exports = Scan;
@@ -15,12 +15,15 @@
15
15
  /**
16
16
  * In-memory document collection with query and mutation methods.
17
17
  *
18
- * Filter values must be defined: `find`/`findOne`/`or`/`update` throw an
19
- * `Error` naming the offending key when a filter object carries an
20
- * `undefined` value — build such filters conditionally (add a key only when
21
- * its value is defined). An explicitly empty `{}` filter is legal and
22
- * matches every record; `null` is a legal needle comparing strictly
23
- * against stored values.
18
+ * Filter values must be defined. Every method that accepts a filter object
19
+ * throws an `Error` naming the offending key when that object carries an
20
+ * `undefined` value: `find`, `findOne`, `or`, `update`, `replace`, `max`,
21
+ * `notIn` and `delete`. The last two are covered transitively — `notIn`
22
+ * routes a filter-object argument through `find`, and `delete` delegates to
23
+ * `notIn` — so only `notIn`'s array form, `notIn(rows, key)`, is exempt.
24
+ * Build such filters conditionally (add a key only when its value is
25
+ * defined). An explicitly empty `{}` filter is legal and matches every
26
+ * record; `null` is a legal needle comparing strictly against stored values.
24
27
  *
25
28
  * @class Collection
26
29
  * @constructor
@@ -81,6 +81,46 @@ function resolve(key) {
81
81
  return value;
82
82
  }
83
83
 
84
+ /**
85
+ * Is `key` present in one of the environment tiers but carrying an EMPTY value?
86
+ *
87
+ * `resolve()` cannot answer this: it treats empty as unset by contract and
88
+ * throws either way, so a caller that catches its throw knows only "not usable",
89
+ * never "not there". This reads the raw slots to recover the distinction — used
90
+ * solely to decide whether falling back to a lower tier (file or exec) deserves
91
+ * the #B268 warning, never to change which value is returned.
92
+ *
93
+ * Both tiers are checked because `getEnvVar()` itself rejects `''`
94
+ * (`utils/helper.js` guards on `process.gina[key] != ''`), so an empty value in
95
+ * the framework environment is invisible through the normal accessor.
96
+ *
97
+ * Lives HERE — beside the tiers it interrogates — rather than in each lower-tier
98
+ * backend: the file backend carried it privately, and a second copy in the exec
99
+ * backend would have been a third reading of "what does the environment say",
100
+ * the exact drift class #B270 and #B408 already paid for.
101
+ *
102
+ * @memberof module:lib/secrets/backends/env
103
+ * @function isPresentButEmpty
104
+ * @param {string} key - Placeholder key, e.g. `'DB_PASSWORD'`
105
+ * @returns {boolean} `true` only when a tier holds `key` as an empty string
106
+ *
107
+ * @example
108
+ * process.env.EMPTY_ONE = '';
109
+ * var env = require('./backends/env');
110
+ * env.isPresentButEmpty('EMPTY_ONE'); // → true
111
+ * env.isPresentButEmpty('ABSENT_ONE'); // → false
112
+ */
113
+ function isPresentButEmpty(key) {
114
+ if (
115
+ typeof process.gina === 'object' && process.gina !== null &&
116
+ typeof process.gina[key] === 'string' && process.gina[key] === ''
117
+ ) {
118
+ return true;
119
+ }
120
+ return (typeof process.env[key] === 'string' && process.env[key] === '');
121
+ }
122
+
84
123
  module.exports = {
85
- resolve: resolve
124
+ resolve: resolve,
125
+ isPresentButEmpty: isPresentButEmpty
86
126
  };
@@ -0,0 +1,253 @@
1
+ 'use strict';
2
+ /*
3
+ * This file is part of the gina package.
4
+ * Copyright (c) 2009-2026 Rhinostone <contact@gina.io>
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
9
+
10
+ /**
11
+ * @module lib/secrets/backends/exec
12
+ * @description Exec-bridge resolver for `${secret:KEY}` placeholders: runs ONE
13
+ * operator-declared command (`settings.secrets.exec.command`, argv form — no
14
+ * shell) whose stdout must be a single flat JSON object of string values, and
15
+ * layers that map UNDER the environment exactly as the file backend layers its
16
+ * files. One generic bridge instead of per-vendor SDK backends: the vendor's
17
+ * own CLI (`sops`, `vault`, `kubectl`) already owns auth, endpoints and
18
+ * config, so gina ships no vendor SDK and no network code — the recipes in
19
+ * the secrets guide show each CLI producing the stdout contract.
20
+ *
21
+ * **When NOT to use this.** The entrypoint decrypt remains the better answer
22
+ * for SOPS / Vault / KMS: decrypting before the process starts keeps the
23
+ * fetch off the boot path entirely, and the env backend already prefers what
24
+ * lands in the environment. This tier exists for environments where the
25
+ * entrypoint cannot be controlled; it *supports* the pattern, it does not
26
+ * replace it.
27
+ *
28
+ * **Timing and cost.** The fetch runs eagerly at `build()` time — once per
29
+ * bundle per config-load cycle (the file backend's documented cadence), for
30
+ * the active env only, sequentially during boot. It NEVER runs per-request:
31
+ * `Config.refresh()`'s only call site is commented out (see the note beside
32
+ * it in `core/server.js`). A failing fetch throws out of `build()`, which
33
+ * `selectBackend`'s caller turns into the per-bundle boot refusal — the same
34
+ * path the file backend's unreadable-layer refusal (#B267) established.
35
+ *
36
+ * **Fail fast, never hang — the whole point.** The child is bounded by a
37
+ * timeout (default 10000ms, 2x the CLI probe-class timeout used elsewhere in
38
+ * the tree) and killed with SIGKILL. SIGKILL is load-bearing, not caution:
39
+ * measured on this runtime, `spawnSync` with the default SIGTERM stays
40
+ * BLOCKED past its timeout against a child that ignores SIGTERM, and then
41
+ * reports `{error: ETIMEDOUT, status: 0}` — a hung boot followed by a result
42
+ * a status-only check reads as success. SIGKILL cannot be ignored, so a
43
+ * wedged fetch becomes a FAILED boot on schedule.
44
+ *
45
+ * **stdout is the secrets payload and never appears in any error, log or
46
+ * message** — not on parse failure, not in the stderr tail, not at debug.
47
+ * Command failure diagnostics quote stderr only (last lines), matching the
48
+ * house child-process exemplars.
49
+ *
50
+ * **Trust model.** The command comes from bundle config, which already IS
51
+ * code execution (build hooks are shelled from project config; bundle code
52
+ * itself boots) — no new boundary is crossed. The child inherits
53
+ * `process.env` because vendor CLIs need their own configuration
54
+ * (`VAULT_ADDR`, `KUBECONFIG`, AWS credentials, `PATH`); pass auth material
55
+ * via the environment, never argv (argv is visible in `ps`). Note the CLI
56
+ * sweep (#B156) moves `GINA_*`/`VENDOR_*`/`USER_*` keys out of
57
+ * `process.env` in CLI/daemon processes, so a fetch command cannot read
58
+ * those through its inherited environment there.
59
+ */
60
+
61
+ var cp = require('child_process');
62
+ var envBackend = require('./env');
63
+
64
+ /**
65
+ * Fetch timeout applied when the declaration omits `timeout`.
66
+ * @constant {number} DEFAULT_TIMEOUT_MS
67
+ * @memberof module:lib/secrets/backends/exec
68
+ * @private
69
+ */
70
+ var DEFAULT_TIMEOUT_MS = 10000;
71
+
72
+ /**
73
+ * Upper bound on the child's captured stdout/stderr. Generous for any real
74
+ * secrets map; not a config knob.
75
+ * @constant {number} MAX_OUTPUT_BYTES
76
+ * @memberof module:lib/secrets/backends/exec
77
+ * @private
78
+ */
79
+ var MAX_OUTPUT_BYTES = 8 * 1024 * 1024;
80
+
81
+ /**
82
+ * Run the declared command once and parse its stdout into a null-prototype
83
+ * key/value map.
84
+ *
85
+ * Precondition: `spec` has passed `declaration.validateExecSpec` — this
86
+ * function does not re-validate (a third validation site is the drift class
87
+ * #B408 exists to prevent). Both consumers hold that precondition:
88
+ * `selectBackend` validates before `build()`, and `secrets:check`'s mirror
89
+ * validates through the same shared implementation before calling here.
90
+ *
91
+ * Result checking follows the MEASURED semantics of `spawnSync`, in an order
92
+ * that is load-bearing: `.error` FIRST — a timed-out child can report
93
+ * `{error: ETIMEDOUT, status: 0}`, which a status-first check reads as
94
+ * success — then non-zero `.status` with a stderr tail, then the parse.
95
+ *
96
+ * @memberof module:lib/secrets/backends/exec
97
+ * @function fetchExecMap
98
+ * @param {{command: string[], timeout: (number|undefined)}} spec - The validated `settings.secrets.exec` declaration
99
+ * @returns {Object<string, string>} Null-prototype map of the command's output
100
+ * @throws {Error} On timeout, missing binary, spawn failure, non-zero exit,
101
+ * non-JSON / non-object / non-string-valued output. Messages never carry
102
+ * stdout; a non-string value's key is logged at debug level only.
103
+ *
104
+ * @example
105
+ * var exec = require('./backends/exec');
106
+ * var map = exec.fetchExecMap({ command: ['/opt/app/bin/print-secrets'] });
107
+ * map.DB_PASSWORD; // → 's3cret' (the command printed {"DB_PASSWORD":"s3cret"})
108
+ */
109
+ function fetchExecMap(spec) {
110
+ var command = spec.command;
111
+ var timeout = (typeof spec.timeout === 'number') ? spec.timeout : DEFAULT_TIMEOUT_MS;
112
+
113
+ var res = cp.spawnSync(command[0], command.slice(1), {
114
+ timeout : timeout,
115
+ // SIGKILL, deliberately: the default SIGTERM leaves spawnSync blocked
116
+ // past its timeout against a SIGTERM-ignoring child (measured), which
117
+ // is the hung boot this backend exists to rule out.
118
+ killSignal : 'SIGKILL',
119
+ encoding : 'utf8',
120
+ maxBuffer : MAX_OUTPUT_BYTES
121
+ });
122
+
123
+ // .error before .status — the SIGTERM shape above is also why: an error
124
+ // can coexist with status 0, and a status-first read calls that success.
125
+ if (res.error) {
126
+ if (res.error.code === 'ETIMEDOUT') {
127
+ throw new Error('`settings.secrets.exec` command timed out after ' + timeout
128
+ + 'ms and was killed — the fetch must complete within `timeout` or boot refuses rather than hang');
129
+ }
130
+ if (res.error.code === 'ENOENT') {
131
+ throw new Error('`settings.secrets.exec` command not found: ' + command[0]);
132
+ }
133
+ throw new Error('`settings.secrets.exec` command could not be run: '
134
+ + (res.error.message || res.error));
135
+ }
136
+ if (res.status !== 0) {
137
+ // stderr tail only — stdout is the secrets payload and is never echoed.
138
+ var errTail = String(res.stderr || '').trim().split('\n').slice(-3).join(' | ');
139
+ throw new Error('`settings.secrets.exec` command failed (exit ' + res.status + ')'
140
+ + (errTail ? ' — ' + errTail : ''));
141
+ }
142
+
143
+ var parsed;
144
+ try {
145
+ parsed = JSON.parse(res.stdout);
146
+ } catch (parseErr) {
147
+ // No excerpt, deliberately: a malformed output may still be secrets.
148
+ throw new Error('`settings.secrets.exec` command output is not valid JSON —'
149
+ + ' the command must print one flat JSON object of string values (stdout is never echoed)');
150
+ }
151
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
152
+ throw new Error('`settings.secrets.exec` command output must be a single flat JSON object'
153
+ + ' of string values (stdout is never echoed)');
154
+ }
155
+
156
+ var map = Object.create(null);
157
+ var keys = Object.keys(parsed);
158
+ for (var i = 0; i < keys.length; i++) {
159
+ if (typeof parsed[keys[i]] !== 'string') {
160
+ // The key rides the debug channel only — the message reaches
161
+ // user-facing surfaces, same hygiene as the resolve-miss contract.
162
+ try {
163
+ console.debug('[secrets][exec] output value for `' + keys[i] + '` is not a string');
164
+ } catch (noLogger) { /* logger not up yet — diagnostics are best-effort */ }
165
+ throw new Error('`settings.secrets.exec` command output carries a non-string value'
166
+ + ' (the offending key is logged at debug level; stdout is never echoed)');
167
+ }
168
+ map[keys[i]] = parsed[keys[i]];
169
+ }
170
+ return map;
171
+ }
172
+
173
+ /**
174
+ * Build an exec-backed resolver: fetch the map eagerly — once per
175
+ * config-load cycle, mirroring the file backend's documented rationale
176
+ * ("resolution walks the whole config and would otherwise re-run the fetch
177
+ * for each placeholder") — then resolve each key environment-first.
178
+ *
179
+ * @memberof module:lib/secrets/backends/exec
180
+ * @function build
181
+ * @param {{command: string[], timeout: (number|undefined)}} spec - The validated `settings.secrets.exec` declaration
182
+ * @returns {{resolve: function(string): string}} Env-over-exec resolver
183
+ * @throws {Error} Propagates every `fetchExecMap` failure — the caller
184
+ * (`core/config.js::loadBundleConfig`) turns it into a per-bundle boot
185
+ * refusal, exactly as it does for an unreadable file layer (#B267).
186
+ *
187
+ * @example
188
+ * var exec = require('./backends/exec');
189
+ * var backend = exec.build({ command: ['/opt/app/bin/print-secrets'], timeout: 5000 });
190
+ * process.env.API_KEY = 'from-env';
191
+ * backend.resolve('API_KEY'); // → 'from-env' (environment beats the fetched map)
192
+ */
193
+ function build(spec) {
194
+ var merged = fetchExecMap(spec);
195
+
196
+ // Name the tier and its yield, count only — never keys, never values.
197
+ // A misconfigured command is otherwise indistinguishable from a map that
198
+ // merely lacks the key: both surface as the same fail-closed error,
199
+ // several frames away.
200
+ try {
201
+ console.debug('[secrets][exec] fetched ' + Object.keys(merged).length
202
+ + ' keys via `' + spec.command[0] + '`');
203
+ } catch (noLogger) { /* logger not up yet — diagnostics are best-effort */ }
204
+
205
+ return {
206
+ resolve: function (key) {
207
+ // Environment tiers first — delegate to the env backend rather
208
+ // than re-implementing its two-tier `getEnvVar` -> `process.env`
209
+ // read (#B156/#B270), so the tiers can never disagree about what
210
+ // "set" means. It throws on miss, which here means "not in the
211
+ // environment".
212
+ try {
213
+ return envBackend.resolve(key);
214
+ } catch (notInEnv) {
215
+ // fall through to the fetched map
216
+ }
217
+
218
+ var value = merged[key];
219
+ if (typeof value === 'string' && value !== '') {
220
+ // #B268 parity with the file tier: "set but empty" and
221
+ // "absent" are indistinguishable through the env backend, and
222
+ // the empty shape can mean a failed `export X="$(fetch ...)"`
223
+ // — the case this ordering exists to make visible. Warn,
224
+ // never fatal, naming only the KEY.
225
+ if (envBackend.isPresentButEmpty(key)) {
226
+ try {
227
+ console.warn('[secrets][exec] `' + key + '` is present but EMPTY in the'
228
+ + ' environment; falling back to the exec tier. If the environment was'
229
+ + ' meant to supply it, whatever exports it produced an empty value.');
230
+ } catch (noLogger) { /* logger not up yet — diagnostics are best-effort */ }
231
+ }
232
+ return value;
233
+ }
234
+
235
+ // Same failure shape as the env backend: the message never names
236
+ // the key (it reaches user-facing surfaces), while the key rides
237
+ // on a non-enumerable property for debug logging.
238
+ var err = new Error('Secret resolution failed');
239
+ Object.defineProperty(err, '_ginaSecretKey', {
240
+ value: key,
241
+ enumerable: false,
242
+ configurable: true,
243
+ writable: true
244
+ });
245
+ throw err;
246
+ }
247
+ };
248
+ }
249
+
250
+ module.exports = {
251
+ build: build,
252
+ fetchExecMap: fetchExecMap
253
+ };
@@ -45,33 +45,11 @@
45
45
  var envBackend = require('./env');
46
46
  var envFile = require('../env-file');
47
47
 
48
- /**
49
- * Is `key` present in one of the environment tiers but carrying an EMPTY value?
50
- *
51
- * The env backend cannot answer this: it treats empty as unset by contract and
52
- * throws either way, so a caller that catches its throw knows only "not usable",
53
- * never "not there". This reads the raw slots to recover the distinction — used
54
- * solely to decide whether falling back to the file tier deserves a warning
55
- * (#B268), never to change which value is returned.
56
- *
57
- * Both tiers are checked because `getEnvVar()` itself rejects `''`
58
- * (`utils/helper.js` guards on `process.gina[key] != ''`), so an empty value in
59
- * the framework environment is invisible through the normal accessor.
60
- *
61
- * @inner
62
- * @private
63
- * @param {string} key - Placeholder key, e.g. `'DB_PASSWORD'`
64
- * @returns {boolean} `true` only when a tier holds `key` as an empty string
65
- */
66
- function isEnvPresentButEmpty(key) {
67
- if (
68
- typeof process.gina === 'object' && process.gina !== null &&
69
- typeof process.gina[key] === 'string' && process.gina[key] === ''
70
- ) {
71
- return true;
72
- }
73
- return (typeof process.env[key] === 'string' && process.env[key] === '');
74
- }
48
+ // The present-but-empty probe behind the #B268 warning moved to the env
49
+ // backend (`envBackend.isPresentButEmpty`) when the exec backend arrived —
50
+ // two lower tiers each carrying a private copy of "what does the environment
51
+ // say" is the #B270/#B408 drift class. Same bytes, one home.
52
+ var isEnvPresentButEmpty = envBackend.isPresentButEmpty;
75
53
 
76
54
  /**
77
55
  * Build a backend that reads the environment first and the given files second.