gina 0.5.26 → 0.6.0

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 (560) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +34 -22
  3. package/ROADMAP.md +43 -16
  4. package/bin/cli +12 -1
  5. package/bin/gina-init +15 -1
  6. package/framework/v0.6.0/VERSION +1 -0
  7. package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/js/gina.js +36 -1
  8. package/framework/v0.6.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js +601 -0
  9. package/framework/v0.6.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  10. package/framework/v0.6.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  11. package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/lib/session-store.v3.js +52 -84
  12. package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/lib/session-store.v4.js +58 -84
  13. package/framework/{v0.5.26 → v0.6.0}/core/connectors/mongodb/lib/session-store.js +5 -2
  14. package/framework/{v0.5.26 → v0.6.0}/core/connectors/redis/lib/session-store.js +5 -2
  15. package/framework/{v0.5.26 → v0.6.0}/core/connectors/scylladb/lib/session-store.js +5 -2
  16. package/framework/{v0.5.26 → v0.6.0}/core/connectors/sqlite/lib/session-store.js +17 -3
  17. package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/session/src/main.js +142 -9
  18. package/framework/{v0.5.26 → v0.6.0}/core/router.js +101 -11
  19. package/framework/{v0.5.26 → v0.6.0}/core/server.js +91 -1
  20. package/framework/{v0.5.26 → v0.6.0}/core/template/conf/settings.json +3 -0
  21. package/framework/v0.6.0/lib/audit/src/main.js +916 -0
  22. package/framework/v0.6.0/lib/authn/package.json +7 -0
  23. package/framework/v0.6.0/lib/authn/src/lockout.js +615 -0
  24. package/framework/v0.6.0/lib/authn/src/main.js +899 -0
  25. package/framework/v0.6.0/lib/authn/src/totp.js +418 -0
  26. package/framework/v0.6.0/lib/cmd/audit/arguments.json +5 -0
  27. package/framework/v0.6.0/lib/cmd/audit/help.txt +50 -0
  28. package/framework/v0.6.0/lib/cmd/audit/verify.js +294 -0
  29. package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/init.js +11 -0
  30. package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/tail.js +5 -1
  31. package/framework/{v0.5.26 → v0.6.0}/lib/cmd/gina.1.md +1 -0
  32. package/framework/{v0.5.26 → v0.6.0}/lib/index.js +13 -0
  33. package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/containers/file/index.js +11 -1
  34. package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/containers/mq/speaker.js +8 -1
  35. package/framework/v0.6.0/lib/net-locality/package.json +17 -0
  36. package/framework/v0.6.0/lib/net-locality/src/main.js +174 -0
  37. package/framework/{v0.5.26 → v0.6.0}/lib/nunjucks-filters/src/main.js +13 -0
  38. package/framework/{v0.5.26 → v0.6.0}/lib/routing/src/main.js +36 -1
  39. package/framework/{v0.5.26 → v0.6.0}/lib/swig-filters/src/main.js +13 -0
  40. package/framework/{v0.5.26 → v0.6.0}/package.json +1 -1
  41. package/gna.js +4 -4
  42. package/llms.txt +19 -2
  43. package/package.json +3 -3
  44. package/schema/connectors.json +2 -3
  45. package/schema/settings.json +101 -0
  46. package/types/index.d.ts +4 -0
  47. package/framework/v0.5.26/VERSION +0 -1
  48. package/framework/v0.5.26/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -599
  49. package/framework/v0.5.26/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  50. package/framework/v0.5.26/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  51. package/framework/v0.5.26/lib/audit/src/main.js +0 -456
  52. /package/framework/{v0.5.26 → v0.6.0}/AUTHORS +0 -0
  53. /package/framework/{v0.5.26 → v0.6.0}/LICENSE +0 -0
  54. /package/framework/{v0.5.26 → v0.6.0}/core/asset/html/nolayout.html +0 -0
  55. /package/framework/{v0.5.26 → v0.6.0}/core/asset/html/static.html +0 -0
  56. /package/framework/{v0.5.26 → v0.6.0}/core/asset/img/android-chrome-192x192.png +0 -0
  57. /package/framework/{v0.5.26 → v0.6.0}/core/asset/img/android-chrome-512x512.png +0 -0
  58. /package/framework/{v0.5.26 → v0.6.0}/core/asset/img/apple-touch-icon.png +0 -0
  59. /package/framework/{v0.5.26 → v0.6.0}/core/asset/img/favicon-16x16.png +0 -0
  60. /package/framework/{v0.5.26 → v0.6.0}/core/asset/img/favicon-32x32.png +0 -0
  61. /package/framework/{v0.5.26 → v0.6.0}/core/asset/img/favicon.ico +0 -0
  62. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/README.md +0 -0
  63. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  64. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  65. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  66. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  67. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  68. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  69. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  70. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  71. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  72. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  73. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  74. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  75. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  76. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  77. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  78. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  79. /package/framework/{v0.5.26 → v0.6.0}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  80. /package/framework/{v0.5.26 → v0.6.0}/core/config.js +0 -0
  81. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/ai/index.js +0 -0
  82. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/ai/lib/connector.js +0 -0
  83. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/index.js +0 -0
  84. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/lib/connector.js +0 -0
  85. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  86. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  87. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/lib/n1ql.js +0 -0
  88. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/couchbase/lib/session-store.js +0 -0
  89. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/mongodb/index.js +0 -0
  90. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/mongodb/lib/connector.js +0 -0
  91. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/mongodb/lib/job-store.js +0 -0
  92. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  93. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/mysql/index.js +0 -0
  94. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/mysql/lib/connector.js +0 -0
  95. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/postgresql/index.js +0 -0
  96. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/postgresql/lib/connector.js +0 -0
  97. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/redis/index.js +0 -0
  98. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/redis/lib/connector.js +0 -0
  99. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/redis/lib/job-store.js +0 -0
  100. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/redis/lib/render-cache-store.js +0 -0
  101. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/scylladb/index.js +0 -0
  102. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/scylladb/lib/connector.js +0 -0
  103. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/sql-parser.js +0 -0
  104. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/sqlite/index.js +0 -0
  105. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/sqlite/lib/connector.js +0 -0
  106. /package/framework/{v0.5.26 → v0.6.0}/core/connectors/sqlite/lib/job-store.js +0 -0
  107. /package/framework/{v0.5.26 → v0.6.0}/core/content.encoding +0 -0
  108. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.framework.js +0 -0
  109. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.js +0 -0
  110. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.render-json.js +0 -0
  111. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.render-nunjucks-async.js +0 -0
  112. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.render-nunjucks.js +0 -0
  113. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.render-stream.js +0 -0
  114. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.render-swig-async.js +0 -0
  115. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.render-swig.js +0 -0
  116. /package/framework/{v0.5.26 → v0.6.0}/core/controller/controller.render-v1.js +0 -0
  117. /package/framework/{v0.5.26 → v0.6.0}/core/controller/index.js +0 -0
  118. /package/framework/{v0.5.26 → v0.6.0}/core/controller/inspector-window-emit.js +0 -0
  119. /package/framework/{v0.5.26 → v0.6.0}/core/controller/release-banner.js +0 -0
  120. /package/framework/{v0.5.26 → v0.6.0}/core/dev/index.js +0 -0
  121. /package/framework/{v0.5.26 → v0.6.0}/core/dev/lib/class.js +0 -0
  122. /package/framework/{v0.5.26 → v0.6.0}/core/dev/lib/factory.js +0 -0
  123. /package/framework/{v0.5.26 → v0.6.0}/core/dev/lib/tools.js +0 -0
  124. /package/framework/{v0.5.26 → v0.6.0}/core/gna.js +0 -0
  125. /package/framework/{v0.5.26 → v0.6.0}/core/locales/README.md +0 -0
  126. /package/framework/{v0.5.26 → v0.6.0}/core/locales/currency.json +0 -0
  127. /package/framework/{v0.5.26 → v0.6.0}/core/locales/dist/language/en.json +0 -0
  128. /package/framework/{v0.5.26 → v0.6.0}/core/locales/dist/language/fr.json +0 -0
  129. /package/framework/{v0.5.26 → v0.6.0}/core/locales/dist/region/en.json +0 -0
  130. /package/framework/{v0.5.26 → v0.6.0}/core/locales/dist/region/fr.json +0 -0
  131. /package/framework/{v0.5.26 → v0.6.0}/core/locales/index.js +0 -0
  132. /package/framework/{v0.5.26 → v0.6.0}/core/mime.types +0 -0
  133. /package/framework/{v0.5.26 → v0.6.0}/core/model/entity.js +0 -0
  134. /package/framework/{v0.5.26 → v0.6.0}/core/model/index.js +0 -0
  135. /package/framework/{v0.5.26 → v0.6.0}/core/model/template/entityFactory.js +0 -0
  136. /package/framework/{v0.5.26 → v0.6.0}/core/model/template/index.js +0 -0
  137. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/README.md +0 -0
  138. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/index.js +0 -0
  139. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/csrf/README.md +0 -0
  140. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/csrf/package.json +0 -0
  141. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/csrf/src/main.js +0 -0
  142. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/README.md +0 -0
  143. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/coep/README.md +0 -0
  144. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/coep/package.json +0 -0
  145. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  146. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/coop/README.md +0 -0
  147. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/coop/package.json +0 -0
  148. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  149. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/corp/README.md +0 -0
  150. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/corp/package.json +0 -0
  151. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  152. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/csp/README.md +0 -0
  153. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/csp/package.json +0 -0
  154. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  155. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  156. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  157. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  158. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  159. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  160. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  161. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  162. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  163. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  164. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/package.json +0 -0
  165. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  166. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  167. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  168. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/src/main.js +0 -0
  169. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  170. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  171. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  172. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  173. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  174. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  175. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  176. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  177. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  178. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  179. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  180. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  181. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  182. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  183. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  184. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  185. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  186. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  187. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/session/README.md +0 -0
  188. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/session/package.json +0 -0
  189. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/storage/README.md +0 -0
  190. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/storage/build.json +0 -0
  191. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/storage/package.json +0 -0
  192. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/storage/src/main.js +0 -0
  193. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/validator/README.md +0 -0
  194. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/validator/build.json +0 -0
  195. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/validator/package.json +0 -0
  196. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/validator/src/form-validator.js +0 -0
  197. /package/framework/{v0.5.26 → v0.6.0}/core/plugins/lib/validator/src/main.js +0 -0
  198. /package/framework/{v0.5.26 → v0.6.0}/core/server.express.js +0 -0
  199. /package/framework/{v0.5.26 → v0.6.0}/core/server.isaac.js +0 -0
  200. /package/framework/{v0.5.26 → v0.6.0}/core/status.codes +0 -0
  201. /package/framework/{v0.5.26 → v0.6.0}/core/template/_gitignore +0 -0
  202. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/config/app.json +0 -0
  203. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  204. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/config/routing.json +0 -0
  205. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/config/settings.json +0 -0
  206. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  207. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/config/templates.json +0 -0
  208. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  209. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  210. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  211. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  212. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/index.js +0 -0
  213. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle/locales/en.json +0 -0
  214. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  215. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  216. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  217. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  218. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  219. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
  220. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  221. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  222. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/readme.md +0 -0
  223. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_public/sw.js +0 -0
  224. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  225. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  226. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  227. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  228. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
  229. /package/framework/{v0.5.26 → v0.6.0}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  230. /package/framework/{v0.5.26 → v0.6.0}/core/template/command/gina.bat.tpl +0 -0
  231. /package/framework/{v0.5.26 → v0.6.0}/core/template/command/gina.tpl +0 -0
  232. /package/framework/{v0.5.26 → v0.6.0}/core/template/conf/env.json +0 -0
  233. /package/framework/{v0.5.26 → v0.6.0}/core/template/conf/manifest.json +0 -0
  234. /package/framework/{v0.5.26 → v0.6.0}/core/template/conf/package.json +0 -0
  235. /package/framework/{v0.5.26 → v0.6.0}/core/template/conf/statics.json +0 -0
  236. /package/framework/{v0.5.26 → v0.6.0}/core/template/conf/templates.json +0 -0
  237. /package/framework/{v0.5.26 → v0.6.0}/core/template/error/client/json/401.json +0 -0
  238. /package/framework/{v0.5.26 → v0.6.0}/core/template/error/client/json/403.json +0 -0
  239. /package/framework/{v0.5.26 → v0.6.0}/core/template/error/client/json/404.json +0 -0
  240. /package/framework/{v0.5.26 → v0.6.0}/core/template/error/server/html/50x.html +0 -0
  241. /package/framework/{v0.5.26 → v0.6.0}/core/template/error/server/json/500.json +0 -0
  242. /package/framework/{v0.5.26 → v0.6.0}/core/template/error/server/json/503.json +0 -0
  243. /package/framework/{v0.5.26 → v0.6.0}/core/template/extensions/logger/config.json +0 -0
  244. /package/framework/{v0.5.26 → v0.6.0}/helpers/console.js +0 -0
  245. /package/framework/{v0.5.26 → v0.6.0}/helpers/context.js +0 -0
  246. /package/framework/{v0.5.26 → v0.6.0}/helpers/data/LICENSE +0 -0
  247. /package/framework/{v0.5.26 → v0.6.0}/helpers/data/README.md +0 -0
  248. /package/framework/{v0.5.26 → v0.6.0}/helpers/data/package.json +0 -0
  249. /package/framework/{v0.5.26 → v0.6.0}/helpers/data/src/main.js +0 -0
  250. /package/framework/{v0.5.26 → v0.6.0}/helpers/dateFormat.js +0 -0
  251. /package/framework/{v0.5.26 → v0.6.0}/helpers/index.js +0 -0
  252. /package/framework/{v0.5.26 → v0.6.0}/helpers/json/LICENSE +0 -0
  253. /package/framework/{v0.5.26 → v0.6.0}/helpers/json/README.md +0 -0
  254. /package/framework/{v0.5.26 → v0.6.0}/helpers/json/package.json +0 -0
  255. /package/framework/{v0.5.26 → v0.6.0}/helpers/json/src/main.js +0 -0
  256. /package/framework/{v0.5.26 → v0.6.0}/helpers/path.js +0 -0
  257. /package/framework/{v0.5.26 → v0.6.0}/helpers/plugins/README.md +0 -0
  258. /package/framework/{v0.5.26 → v0.6.0}/helpers/plugins/package.json +0 -0
  259. /package/framework/{v0.5.26 → v0.6.0}/helpers/plugins/src/api-error.js +0 -0
  260. /package/framework/{v0.5.26 → v0.6.0}/helpers/plugins/src/main.js +0 -0
  261. /package/framework/{v0.5.26 → v0.6.0}/helpers/prototypes.js +0 -0
  262. /package/framework/{v0.5.26 → v0.6.0}/helpers/task.js +0 -0
  263. /package/framework/{v0.5.26 → v0.6.0}/helpers/text.js +0 -0
  264. /package/framework/{v0.5.26 → v0.6.0}/lib/admin/package.json +0 -0
  265. /package/framework/{v0.5.26 → v0.6.0}/lib/admin/src/main.js +0 -0
  266. /package/framework/{v0.5.26 → v0.6.0}/lib/archiver/README.md +0 -0
  267. /package/framework/{v0.5.26 → v0.6.0}/lib/archiver/build.json +0 -0
  268. /package/framework/{v0.5.26 → v0.6.0}/lib/archiver/package.json +0 -0
  269. /package/framework/{v0.5.26 → v0.6.0}/lib/archiver/src/dep/jszip.min.js +0 -0
  270. /package/framework/{v0.5.26 → v0.6.0}/lib/archiver/src/main.js +0 -0
  271. /package/framework/{v0.5.26 → v0.6.0}/lib/async/package.json +0 -0
  272. /package/framework/{v0.5.26 → v0.6.0}/lib/async/src/main.js +0 -0
  273. /package/framework/{v0.5.26 → v0.6.0}/lib/audit/package.json +0 -0
  274. /package/framework/{v0.5.26 → v0.6.0}/lib/audit-store.js +0 -0
  275. /package/framework/{v0.5.26 → v0.6.0}/lib/authz-gate/package.json +0 -0
  276. /package/framework/{v0.5.26 → v0.6.0}/lib/authz-gate/src/main.js +0 -0
  277. /package/framework/{v0.5.26 → v0.6.0}/lib/cache/README.md +0 -0
  278. /package/framework/{v0.5.26 → v0.6.0}/lib/cache/build.json +0 -0
  279. /package/framework/{v0.5.26 → v0.6.0}/lib/cache/package.json +0 -0
  280. /package/framework/{v0.5.26 → v0.6.0}/lib/cache/src/main.js +0 -0
  281. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/aliases.json +0 -0
  282. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/add.js +0 -0
  283. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/arguments.json +0 -0
  284. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/build.js +0 -0
  285. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/copy.js +0 -0
  286. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/cp.js +0 -0
  287. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/help.js +0 -0
  288. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/help.txt +0 -0
  289. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  290. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/list.js +0 -0
  291. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/man.js +0 -0
  292. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/mcp-start.js +0 -0
  293. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/mcp.js +0 -0
  294. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/oas.js +0 -0
  295. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/openapi.js +0 -0
  296. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/remove.js +0 -0
  297. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/rename.js +0 -0
  298. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/restart.js +0 -0
  299. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/rm.js +0 -0
  300. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/start.js +0 -0
  301. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/status.js +0 -0
  302. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/stop.js +0 -0
  303. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/bundle/types.js +0 -0
  304. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/cache/arguments.json +0 -0
  305. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/cache/clear.js +0 -0
  306. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/cache/help.txt +0 -0
  307. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/cache/stats.js +0 -0
  308. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/add.js +0 -0
  309. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/arguments.json +0 -0
  310. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/help.js +0 -0
  311. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/help.txt +0 -0
  312. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/infer.js +0 -0
  313. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/list.js +0 -0
  314. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/migrate.js +0 -0
  315. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/models.js +0 -0
  316. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/remove.js +0 -0
  317. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/rm.js +0 -0
  318. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/connector/test.js +0 -0
  319. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/container/arguments.json +0 -0
  320. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/container/help.js +0 -0
  321. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/container/help.txt +0 -0
  322. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/container/man.js +0 -0
  323. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/container/ps.js +0 -0
  324. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/container/stop.js +0 -0
  325. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/add.js +0 -0
  326. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/arguments.json +0 -0
  327. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/help.txt +0 -0
  328. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/inc/args.js +0 -0
  329. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/inc/namespace.js +0 -0
  330. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
  331. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/inc/reference-scan.js +0 -0
  332. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/inc/scaffold.js +0 -0
  333. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/remove.js +0 -0
  334. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/rename.js +0 -0
  335. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/controller/rm.js +0 -0
  336. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/add.js +0 -0
  337. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/get.js +0 -0
  338. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/help.js +0 -0
  339. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/help.txt +0 -0
  340. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/link-dev.js +0 -0
  341. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/list.js +0 -0
  342. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/remove.js +0 -0
  343. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/rm.js +0 -0
  344. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/set.js +0 -0
  345. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/unset.js +0 -0
  346. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/env/use.js +0 -0
  347. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/add.js +0 -0
  348. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/arguments.json +0 -0
  349. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/build.js +0 -0
  350. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/dot.js +0 -0
  351. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/get.js +0 -0
  352. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/help.js +0 -0
  353. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/help.txt +0 -0
  354. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/link-node-modules.js +0 -0
  355. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/link.js +0 -0
  356. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/list.js +0 -0
  357. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/man.js +0 -0
  358. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/msg.json +0 -0
  359. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/open.js +0 -0
  360. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/remove.js +0 -0
  361. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/reset.js +0 -0
  362. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/restart.js +0 -0
  363. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/set.js +0 -0
  364. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/start.js +0 -0
  365. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/status.js +0 -0
  366. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/stop.js +0 -0
  367. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/update.js +0 -0
  368. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/framework/version.js +0 -0
  369. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/gina-dev.1.md +0 -0
  370. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/gina-framework.1.md +0 -0
  371. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/helper.js +0 -0
  372. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/i18n/add.js +0 -0
  373. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/i18n/arguments.json +0 -0
  374. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/i18n/export.js +0 -0
  375. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/i18n/help.js +0 -0
  376. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/i18n/help.txt +0 -0
  377. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/i18n/import.js +0 -0
  378. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/i18n/scan.js +0 -0
  379. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/_host.js +0 -0
  380. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/arguments.json +0 -0
  381. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/build.js +0 -0
  382. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/help.js +0 -0
  383. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/help.txt +0 -0
  384. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/list.js +0 -0
  385. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/man.js +0 -0
  386. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/rm.js +0 -0
  387. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/image/run.js +0 -0
  388. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/index.js +0 -0
  389. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/inspector/help.js +0 -0
  390. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/inspector/help.txt +0 -0
  391. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/inspector/open.js +0 -0
  392. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/man-render.js +0 -0
  393. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/minion/arguments.json +0 -0
  394. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/minion/help.js +0 -0
  395. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/minion/help.txt +0 -0
  396. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/minion/kill.js +0 -0
  397. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/minion/list.js +0 -0
  398. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/msg.json +0 -0
  399. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/port/help.js +0 -0
  400. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/port/help.txt +0 -0
  401. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/port/inc/scan.js +0 -0
  402. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/port/list.js +0 -0
  403. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/port/reset.js +0 -0
  404. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/port/set.js +0 -0
  405. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/add.js +0 -0
  406. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/arguments.json +0 -0
  407. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/backup.js +0 -0
  408. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/build.js +0 -0
  409. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/help.js +0 -0
  410. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/help.txt +0 -0
  411. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/import.js +0 -0
  412. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/list.js +0 -0
  413. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/man.js +0 -0
  414. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/move.js +0 -0
  415. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/remove.js +0 -0
  416. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/rename.js +0 -0
  417. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/restart.js +0 -0
  418. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/restore.js +0 -0
  419. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/rm.js +0 -0
  420. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/start.js +0 -0
  421. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/status.js +0 -0
  422. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/project/stop.js +0 -0
  423. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/protocol/arguments.json +0 -0
  424. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/protocol/help.js +0 -0
  425. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/protocol/help.txt +0 -0
  426. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/protocol/list.js +0 -0
  427. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/protocol/remove.js +0 -0
  428. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/protocol/set.js +0 -0
  429. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/add.js +0 -0
  430. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/help.js +0 -0
  431. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/help.txt +0 -0
  432. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/link-local.js +0 -0
  433. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/link-production.js +0 -0
  434. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/list.js +0 -0
  435. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/remove.js +0 -0
  436. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/rm.js +0 -0
  437. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/scope/use.js +0 -0
  438. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/secrets/arguments.json +0 -0
  439. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/secrets/check.js +0 -0
  440. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/secrets/help.js +0 -0
  441. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/secrets/help.txt +0 -0
  442. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/secrets/scan.js +0 -0
  443. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/service/help.js +0 -0
  444. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/service/help.txt +0 -0
  445. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/service/list.js +0 -0
  446. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/service/man.js +0 -0
  447. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/service/start.js +0 -0
  448. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd/view/add.js +0 -0
  449. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd-status-format/package.json +0 -0
  450. /package/framework/{v0.5.26 → v0.6.0}/lib/cmd-status-format/src/main.js +0 -0
  451. /package/framework/{v0.5.26 → v0.6.0}/lib/collection/README.md +0 -0
  452. /package/framework/{v0.5.26 → v0.6.0}/lib/collection/build.json +0 -0
  453. /package/framework/{v0.5.26 → v0.6.0}/lib/collection/package.json +0 -0
  454. /package/framework/{v0.5.26 → v0.6.0}/lib/collection/src/main.js +0 -0
  455. /package/framework/{v0.5.26 → v0.6.0}/lib/config.js +0 -0
  456. /package/framework/{v0.5.26 → v0.6.0}/lib/connector-config/package.json +0 -0
  457. /package/framework/{v0.5.26 → v0.6.0}/lib/connector-config/src/main.js +0 -0
  458. /package/framework/{v0.5.26 → v0.6.0}/lib/connector-error/package.json +0 -0
  459. /package/framework/{v0.5.26 → v0.6.0}/lib/connector-error/src/main.js +0 -0
  460. /package/framework/{v0.5.26 → v0.6.0}/lib/connector-registry/package.json +0 -0
  461. /package/framework/{v0.5.26 → v0.6.0}/lib/connector-registry/src/main.js +0 -0
  462. /package/framework/{v0.5.26 → v0.6.0}/lib/cron/README.md +0 -0
  463. /package/framework/{v0.5.26 → v0.6.0}/lib/cron/package.json +0 -0
  464. /package/framework/{v0.5.26 → v0.6.0}/lib/cron/src/main.js +0 -0
  465. /package/framework/{v0.5.26 → v0.6.0}/lib/domain/LICENSE +0 -0
  466. /package/framework/{v0.5.26 → v0.6.0}/lib/domain/README.md +0 -0
  467. /package/framework/{v0.5.26 → v0.6.0}/lib/domain/package.json +0 -0
  468. /package/framework/{v0.5.26 → v0.6.0}/lib/domain/src/main.js +0 -0
  469. /package/framework/{v0.5.26 → v0.6.0}/lib/dto/package.json +0 -0
  470. /package/framework/{v0.5.26 → v0.6.0}/lib/dto/src/main.js +0 -0
  471. /package/framework/{v0.5.26 → v0.6.0}/lib/dto-pipe/package.json +0 -0
  472. /package/framework/{v0.5.26 → v0.6.0}/lib/dto-pipe/src/main.js +0 -0
  473. /package/framework/{v0.5.26 → v0.6.0}/lib/dto-types/package.json +0 -0
  474. /package/framework/{v0.5.26 → v0.6.0}/lib/dto-types/src/main.js +0 -0
  475. /package/framework/{v0.5.26 → v0.6.0}/lib/generator/index.js +0 -0
  476. /package/framework/{v0.5.26 → v0.6.0}/lib/i18n/package.json +0 -0
  477. /package/framework/{v0.5.26 → v0.6.0}/lib/i18n/src/main.js +0 -0
  478. /package/framework/{v0.5.26 → v0.6.0}/lib/image-build/package.json +0 -0
  479. /package/framework/{v0.5.26 → v0.6.0}/lib/image-build/src/main.js +0 -0
  480. /package/framework/{v0.5.26 → v0.6.0}/lib/inherits/LICENSE +0 -0
  481. /package/framework/{v0.5.26 → v0.6.0}/lib/inherits/README.md +0 -0
  482. /package/framework/{v0.5.26 → v0.6.0}/lib/inherits/package.json +0 -0
  483. /package/framework/{v0.5.26 → v0.6.0}/lib/inherits/src/main.js +0 -0
  484. /package/framework/{v0.5.26 → v0.6.0}/lib/inspector-events/package.json +0 -0
  485. /package/framework/{v0.5.26 → v0.6.0}/lib/inspector-events/src/main.js +0 -0
  486. /package/framework/{v0.5.26 → v0.6.0}/lib/inspector-redact/package.json +0 -0
  487. /package/framework/{v0.5.26 → v0.6.0}/lib/inspector-redact/src/main.js +0 -0
  488. /package/framework/{v0.5.26 → v0.6.0}/lib/instrument/package.json +0 -0
  489. /package/framework/{v0.5.26 → v0.6.0}/lib/instrument/src/main.js +0 -0
  490. /package/framework/{v0.5.26 → v0.6.0}/lib/job/package.json +0 -0
  491. /package/framework/{v0.5.26 → v0.6.0}/lib/job/src/main.js +0 -0
  492. /package/framework/{v0.5.26 → v0.6.0}/lib/job-store.js +0 -0
  493. /package/framework/{v0.5.26 → v0.6.0}/lib/json-config-header/package.json +0 -0
  494. /package/framework/{v0.5.26 → v0.6.0}/lib/json-config-header/src/main.js +0 -0
  495. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/README.md +0 -0
  496. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/package.json +0 -0
  497. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/containers/default/index.js +0 -0
  498. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  499. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  500. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/containers/mq/index.js +0 -0
  501. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/containers/mq/listener.js +0 -0
  502. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/helper.js +0 -0
  503. /package/framework/{v0.5.26 → v0.6.0}/lib/logger/src/main.js +0 -0
  504. /package/framework/{v0.5.26 → v0.6.0}/lib/math/index.js +0 -0
  505. /package/framework/{v0.5.26 → v0.6.0}/lib/mcp-dispatch/package.json +0 -0
  506. /package/framework/{v0.5.26 → v0.6.0}/lib/mcp-dispatch/src/main.js +0 -0
  507. /package/framework/{v0.5.26 → v0.6.0}/lib/mcp-http/package.json +0 -0
  508. /package/framework/{v0.5.26 → v0.6.0}/lib/mcp-http/src/main.js +0 -0
  509. /package/framework/{v0.5.26 → v0.6.0}/lib/mcp-server/package.json +0 -0
  510. /package/framework/{v0.5.26 → v0.6.0}/lib/mcp-server/src/main.js +0 -0
  511. /package/framework/{v0.5.26 → v0.6.0}/lib/merge/README.md +0 -0
  512. /package/framework/{v0.5.26 → v0.6.0}/lib/merge/package.json +0 -0
  513. /package/framework/{v0.5.26 → v0.6.0}/lib/merge/src/main.js +0 -0
  514. /package/framework/{v0.5.26 → v0.6.0}/lib/metrics/package.json +0 -0
  515. /package/framework/{v0.5.26 → v0.6.0}/lib/metrics/src/main.js +0 -0
  516. /package/framework/{v0.5.26 → v0.6.0}/lib/model.js +0 -0
  517. /package/framework/{v0.5.26 → v0.6.0}/lib/nunjucks-filters/README.md +0 -0
  518. /package/framework/{v0.5.26 → v0.6.0}/lib/nunjucks-filters/package.json +0 -0
  519. /package/framework/{v0.5.26 → v0.6.0}/lib/nunjucks-resolver/package.json +0 -0
  520. /package/framework/{v0.5.26 → v0.6.0}/lib/nunjucks-resolver/src/main.js +0 -0
  521. /package/framework/{v0.5.26 → v0.6.0}/lib/proc.js +0 -0
  522. /package/framework/{v0.5.26 → v0.6.0}/lib/release-watch/package.json +0 -0
  523. /package/framework/{v0.5.26 → v0.6.0}/lib/release-watch/src/main.js +0 -0
  524. /package/framework/{v0.5.26 → v0.6.0}/lib/render-cache/package.json +0 -0
  525. /package/framework/{v0.5.26 → v0.6.0}/lib/render-cache/src/main.js +0 -0
  526. /package/framework/{v0.5.26 → v0.6.0}/lib/render-cache-store.js +0 -0
  527. /package/framework/{v0.5.26 → v0.6.0}/lib/routing/README.md +0 -0
  528. /package/framework/{v0.5.26 → v0.6.0}/lib/routing/build.json +0 -0
  529. /package/framework/{v0.5.26 → v0.6.0}/lib/routing/package.json +0 -0
  530. /package/framework/{v0.5.26 → v0.6.0}/lib/routing/src/radix.js +0 -0
  531. /package/framework/{v0.5.26 → v0.6.0}/lib/routing-introspect/package.json +0 -0
  532. /package/framework/{v0.5.26 → v0.6.0}/lib/routing-introspect/src/main.js +0 -0
  533. /package/framework/{v0.5.26 → v0.6.0}/lib/secrets/package.json +0 -0
  534. /package/framework/{v0.5.26 → v0.6.0}/lib/secrets/src/backends/env.js +0 -0
  535. /package/framework/{v0.5.26 → v0.6.0}/lib/secrets/src/main.js +0 -0
  536. /package/framework/{v0.5.26 → v0.6.0}/lib/session-store.js +0 -0
  537. /package/framework/{v0.5.26 → v0.6.0}/lib/shell.js +0 -0
  538. /package/framework/{v0.5.26 → v0.6.0}/lib/state.js +0 -0
  539. /package/framework/{v0.5.26 → v0.6.0}/lib/swig-filters/README.md +0 -0
  540. /package/framework/{v0.5.26 → v0.6.0}/lib/swig-filters/package.json +0 -0
  541. /package/framework/{v0.5.26 → v0.6.0}/lib/swig-resolver/package.json +0 -0
  542. /package/framework/{v0.5.26 → v0.6.0}/lib/swig-resolver/src/main.js +0 -0
  543. /package/framework/{v0.5.26 → v0.6.0}/lib/template-loaders/package.json +0 -0
  544. /package/framework/{v0.5.26 → v0.6.0}/lib/template-loaders/src/loaders/http.js +0 -0
  545. /package/framework/{v0.5.26 → v0.6.0}/lib/template-loaders/src/loaders/memory.js +0 -0
  546. /package/framework/{v0.5.26 → v0.6.0}/lib/template-loaders/src/main.js +0 -0
  547. /package/framework/{v0.5.26 → v0.6.0}/lib/url/README.md +0 -0
  548. /package/framework/{v0.5.26 → v0.6.0}/lib/url/index.js +0 -0
  549. /package/framework/{v0.5.26 → v0.6.0}/lib/url/routing.json +0 -0
  550. /package/framework/{v0.5.26 → v0.6.0}/lib/uuid/package.json +0 -0
  551. /package/framework/{v0.5.26 → v0.6.0}/lib/uuid/src/main.js +0 -0
  552. /package/framework/{v0.5.26 → v0.6.0}/lib/validator.js +0 -0
  553. /package/framework/{v0.5.26 → v0.6.0}/lib/watcher/package.json +0 -0
  554. /package/framework/{v0.5.26 → v0.6.0}/lib/watcher/src/main.js +0 -0
  555. /package/framework/{v0.5.26 → v0.6.0}/lib/ws-framing/package.json +0 -0
  556. /package/framework/{v0.5.26 → v0.6.0}/lib/ws-framing/src/main.js +0 -0
  557. /package/framework/{v0.5.26 → v0.6.0}/lib/ws-query/package.json +0 -0
  558. /package/framework/{v0.5.26 → v0.6.0}/lib/ws-query/src/main.js +0 -0
  559. /package/framework/{v0.5.26 → v0.6.0}/lib/ws-session/package.json +0 -0
  560. /package/framework/{v0.5.26 → v0.6.0}/lib/ws-session/src/main.js +0 -0
@@ -55,23 +55,30 @@ module.exports = function(session, bundle){
55
55
  /**
56
56
  * Initialize CouchbaseStore with the given `options`.
57
57
  *
58
- * @param {Object} options
59
- * {
60
- * host: 127.0.0.1:8091 (default) -- Can be one or more address:ports, separated by semi-colon, or an array
61
- * username: '', -- Should be same as bucket name, if provided
62
- * password: '',
63
- * bucket: 'default' (default)
64
- * cachefile: ''
65
- * ttl: 86400,
66
- * prefix: 'sess',
67
- * operationTimeout:2000,
68
- connectionTimeout:2000,
69
- * }
58
+ * The store does not open its own connection. `options.db` is REQUIRED and
59
+ * must be the already-open Couchbase bucket the model layer created from
60
+ * the bundle's `session` connector entry — obtained with
61
+ * `getModel('session').getConnection()`. Session documents go through the
62
+ * bucket's default collection.
63
+ *
64
+ * #B167 — the former self-connect fallback (host/hosts/username/password/
65
+ * bucket/cachefile options) was removed: it called `cluster.openBucket()`,
66
+ * an SDK v2 API that does not exist on the supported v3/v4 SDKs, so
67
+ * reaching it always threw at bundle init. The options that only fed that
68
+ * path were removed with it.
69
+ *
70
+ * @class CouchbaseStore
71
+ * @constructor
72
+ * @param {object} options
73
+ * @param {object} options.db - Open Couchbase bucket (required).
74
+ * @param {number} [options.ttl=null] - Expiry in seconds. Unset, the cookie's maxAge applies, then one day.
75
+ * @param {string} [options.prefix='sess:'] - Document key prefix.
76
+ * @param {number} [options.connectionTimeout=10000] - Connect-time timeout in ms.
77
+ * @param {number} [options.operationTimeout=10000] - Per-operation timeout in ms.
70
78
  * @api public
71
79
  */
72
80
 
73
81
  function CouchbaseStore(options) {
74
- var self = this;
75
82
 
76
83
  options = options || {};
77
84
  Store.call(this, options);
@@ -79,66 +86,18 @@ module.exports = function(session, bundle){
79
86
  ? 'sess:'
80
87
  : options.prefix;
81
88
 
82
- var connectOptions = {};
83
- if (options.hasOwnProperty("host")) {
84
- connectOptions.host = options.host;
85
- } else if (options.hasOwnProperty("hosts")) {
86
- connectOptions.host = options.hosts;
87
- }
88
-
89
- if (options.hasOwnProperty("username")) {
90
- connectOptions.username = options.username;
91
- }
92
-
93
- if (options.hasOwnProperty("password")) {
94
- connectOptions.password = options.password;
89
+ if ( !options.db || typeof(options.db.defaultCollection) != 'function' ) {
90
+ throw new Error('['+ bundle +'][SessionStore v3] `options.db` is required and must be an already-open '
91
+ + 'Couchbase bucket: new CouchbaseStore({ db: getModel(\'session\').getConnection() }) — the '
92
+ + 'zero-argument getConnection() on the model, not an entity\'s getConnection(scope, collection), '
93
+ + 'which returns a collection. The former self-connect fallback (host/bucket/username/password '
94
+ + 'options) was removed: it relied on the SDK v2 openBucket() API, absent from SDK v3/v4 (#B167).');
95
95
  }
96
96
 
97
- if (options.hasOwnProperty("bucket")) {
98
- connectOptions.bucket = options.bucket;
99
- }
100
-
101
- if (options.hasOwnProperty("cachefile")) {
102
- connectOptions.cachefile = options.cachefile;
103
- }
97
+ this.client = options.db.defaultCollection();
104
98
 
105
- if (options.hasOwnProperty("connectionTimeout")) {
106
- connectOptions.connectionTimeout = options.connectionTimeout;
107
- }
108
-
109
- if (options.hasOwnProperty("operationTimeout")) {
110
- connectOptions.operationTimeout = options.operationTimeout;
111
- }
112
-
113
- if (options.hasOwnProperty("db")) {
114
- connectOptions.db = options.db; // DB Instance
115
- }
116
-
117
- if ( typeof(connectOptions.db) != 'undefined' ) {
118
- var conn = connectOptions.db;
119
- var scope = conn.scope(conn.name);
120
- // var coll = ( typeof(bundle) != 'undefined' ) ? scope.collection(bundle) : scope._bucket.defaultCollection();
121
- //var coll = connectOptions.db.collection(bundle);
122
- var coll = connectOptions.db.defaultCollection();
123
- //var coll = ( typeof(bundle) != 'undefined' ) ? bucket.collection(bundle) : bucket.defaultCollection();
124
-
125
- this.client = coll;
126
- } else {
127
- var Couchbase = require('couchbase');
128
- var cluster = new Couchbase.Cluster(connectOptions.host);
129
-
130
- this.client = cluster.openBucket(connectOptions.bucket, connectOptions.password, function(err) {
131
- if (err) {
132
- console.log("Could not connect to couchbase with bucket: " + connectOptions.bucket);
133
- self.emit('disconnect');
134
- } else {
135
- self.emit('connect');
136
- }
137
- });
138
- }
139
-
140
- this.client.connectionTimeout = connectOptions.connectionTimeout || 10000;
141
- this.client.operationTimeout = connectOptions.operationTimeout || 10000;
99
+ this.client.connectionTimeout = options.connectionTimeout || 10000;
100
+ this.client.operationTimeout = options.operationTimeout || 10000;
142
101
 
143
102
  this.ttl = options.ttl || null;
144
103
  }
@@ -211,6 +170,9 @@ module.exports = function(session, bundle){
211
170
  /**
212
171
  * Commit the given `sess` object associated with the given `sid`.
213
172
  *
173
+ * Stamps `sess.lastModified` (ISO 8601, UTC) when `ttl > 0`, matching the
174
+ * redis / sqlite / mongodb / scylladb session stores.
175
+ *
214
176
  * @param {String} sid
215
177
  * @param {Session} sess
216
178
  * @param {Function} fn
@@ -229,7 +191,7 @@ module.exports = function(session, bundle){
229
191
  ;
230
192
 
231
193
  if (ttl > 0) {
232
- sess.lastModified = new Date();
194
+ sess.lastModified = new Date().toISOString();
233
195
  }
234
196
 
235
197
  sess = JSON.stringify(sess);
@@ -276,6 +238,11 @@ module.exports = function(session, bundle){
276
238
  /**
277
239
  * Refresh the time-to-live for the session with the given `sid`.
278
240
  *
241
+ * Also re-stamps `sess.lastModified` (ISO 8601, UTC) whenever `ttl > 0`.
242
+ * The stamp is unconditional by design: the `upsert` extends the document's
243
+ * expiry on every call, and the client-side session countdown derives its
244
+ * origin from that stamp, so it must track every extension (#B165).
245
+ *
279
246
  * @param {String} sid
280
247
  * @param {Session} sess
281
248
  * @param {Function} fn
@@ -290,19 +257,20 @@ module.exports = function(session, bundle){
290
257
  , ttl = this.ttl || ('number' == typeof maxAge
291
258
  ? maxAge / 1000 | 0
292
259
  : oneDay)
293
- , currentDate = new Date()
294
- , lastModified = sess.lastModified ? new Date(sess.lastModified).getTime() : 0;
295
-
296
- // if the given options has a touchAfter property, check if the
297
- // current timestamp - lastModified timestamp is bigger than
298
- // the specified, if it's not, don't touch the session
299
- if (ttl > 0 && lastModified > 0) {
300
-
301
- var timeElapsed = currentDate.getTime() - lastModified;
302
-
303
- if (timeElapsed > ttl) {
304
- sess.lastModified = currentDate;
305
- }
260
+ ;
261
+
262
+ // #B165 — an idle-check used to gate this stamp. It compared an elapsed
263
+ // value in MILLISECONDS against `ttl` in SECONDS, so it fired ~1000x too
264
+ // eagerly (86.4s idle on the 86400s default). Correcting only the units
265
+ // would have been worse: the `upsert` below refreshes expiry on EVERY
266
+ // touch, so `lastModified` must track every extension. Gating it on `ttl`
267
+ // seconds idle would freeze the stamp at the first `set()`, and the
268
+ // client-side countdown (`expiresAt = lastModified + maxAge`, see
269
+ // core/asset/plugin/src/vendor/gina/utils/loader.js) would then inflate
270
+ // from a stale origin. The `touchAfter` option the old comment referenced
271
+ // never existed in this codebase.
272
+ if (ttl > 0) {
273
+ sess.lastModified = new Date().toISOString();
306
274
  }
307
275
 
308
276
  sess = JSON.stringify(sess);
@@ -58,23 +58,30 @@ module.exports = function(session, bundle){
58
58
  /**
59
59
  * Initialize CouchbaseStore with the given `options`.
60
60
  *
61
- * @param {Object} options
62
- * {
63
- * host: 127.0.0.1:8091 (default) -- Can be one or more address:ports, separated by semi-colon, or an array
64
- * username: '', -- Should be same as bucket name, if provided
65
- * password: '',
66
- * bucket: 'default' (default)
67
- * cachefile: ''
68
- * ttl: 86400,
69
- * prefix: 'sess',
70
- * operationTimeout:2000,
71
- connectionTimeout:2000,
72
- * }
61
+ * The store does not open its own connection. `options.db` is REQUIRED and
62
+ * must be the already-open Couchbase bucket the model layer created from
63
+ * the bundle's `session` connector entry — obtained with
64
+ * `getModel('session').getConnection()`. Session documents go through the
65
+ * bucket's default collection.
66
+ *
67
+ * #B167 — the former self-connect fallback (host/hosts/username/password/
68
+ * bucket/cachefile options) was removed: it called `cluster.openBucket()`,
69
+ * an SDK v2 API that does not exist on the supported v3/v4 SDKs, so
70
+ * reaching it always threw at bundle init. The options that only fed that
71
+ * path were removed with it.
72
+ *
73
+ * @class CouchbaseStore
74
+ * @constructor
75
+ * @param {object} options
76
+ * @param {object} options.db - Open Couchbase bucket (required).
77
+ * @param {number} [options.ttl=null] - Expiry in seconds. Unset, the cookie's maxAge applies, then one day.
78
+ * @param {string} [options.prefix='sess:'] - Document key prefix.
79
+ * @param {number} [options.connectionTimeout=10000] - Connect-time timeout in ms.
80
+ * @param {number} [options.operationTimeout=10000] - Per-operation timeout in ms.
73
81
  * @api public
74
82
  */
75
83
 
76
84
  function CouchbaseStore(options) {
77
- var self = this;
78
85
 
79
86
  options = options || {};
80
87
  Store.call(this, options);
@@ -82,66 +89,18 @@ module.exports = function(session, bundle){
82
89
  ? 'sess:'
83
90
  : options.prefix;
84
91
 
85
- var connectOptions = {};
86
- if (options.hasOwnProperty("host")) {
87
- connectOptions.host = options.host;
88
- } else if (options.hasOwnProperty("hosts")) {
89
- connectOptions.host = options.hosts;
90
- }
91
-
92
- if (options.hasOwnProperty("username")) {
93
- connectOptions.username = options.username;
94
- }
95
-
96
- if (options.hasOwnProperty("password")) {
97
- connectOptions.password = options.password;
98
- }
99
-
100
- if (options.hasOwnProperty("bucket")) {
101
- connectOptions.bucket = options.bucket;
102
- }
103
-
104
- if (options.hasOwnProperty("cachefile")) {
105
- connectOptions.cachefile = options.cachefile;
106
- }
107
-
108
- if (options.hasOwnProperty("connectionTimeout")) {
109
- connectOptions.connectionTimeout = options.connectionTimeout;
110
- }
111
-
112
- if (options.hasOwnProperty("operationTimeout")) {
113
- connectOptions.operationTimeout = options.operationTimeout;
92
+ if ( !options.db || typeof(options.db.defaultCollection) != 'function' ) {
93
+ throw new Error('['+ bundle +'][SessionStore v4] `options.db` is required and must be an already-open '
94
+ + 'Couchbase bucket: new CouchbaseStore({ db: getModel(\'session\').getConnection() }) — the '
95
+ + 'zero-argument getConnection() on the model, not an entity\'s getConnection(scope, collection), '
96
+ + 'which returns a collection. The former self-connect fallback (host/bucket/username/password '
97
+ + 'options) was removed: it relied on the SDK v2 openBucket() API, absent from SDK v3/v4 (#B167).');
114
98
  }
115
99
 
116
- if (options.hasOwnProperty("db")) {
117
- connectOptions.db = options.db; // DB Instance
118
- }
119
-
120
- if ( typeof(connectOptions.db) != 'undefined' ) {
121
- // var conn = connectOptions.db;
122
- // var scope = conn.scope(conn.name);
123
- // var coll = ( typeof(bundle) != 'undefined' ) ? scope.collection(bundle) : scope._bucket.defaultCollection();
124
- //var coll = connectOptions.db.collection(bundle);
125
- var coll = connectOptions.db.defaultCollection();
126
- //var coll = ( typeof(bundle) != 'undefined' ) ? bucket.collection(bundle) : bucket.defaultCollection();
127
-
128
- this.client = coll;
129
- } else {
130
- var Couchbase = require('couchbase');
131
- var cluster = new Couchbase.Cluster(connectOptions.host);
132
-
133
- this.client = cluster.openBucket(connectOptions.bucket, connectOptions.password, function(err) {
134
- if (err) {
135
- console.log("Could not connect to couchbase with bucket: " + connectOptions.bucket);
136
- self.emit('disconnect');
137
- } else {
138
- self.emit('connect');
139
- }
140
- });
141
- }
100
+ this.client = options.db.defaultCollection();
142
101
 
143
- this.client.connectionTimeout = connectOptions.connectionTimeout || 10000;
144
- this.client.operationTimeout = connectOptions.operationTimeout || 10000;
102
+ this.client.connectionTimeout = options.connectionTimeout || 10000;
103
+ this.client.operationTimeout = options.operationTimeout || 10000;
145
104
 
146
105
  this.ttl = options.ttl || null;
147
106
  }
@@ -263,6 +222,9 @@ module.exports = function(session, bundle){
263
222
  /**
264
223
  * Commit the given `sess` object associated with the given `sid`.
265
224
  *
225
+ * Stamps `sess.lastModified` (ISO 8601, UTC) when `ttl > 0`, matching the
226
+ * redis / sqlite / mongodb / scylladb session stores.
227
+ *
266
228
  * @param {String} sid
267
229
  * @param {Session} sess
268
230
  * @param {Function} fn
@@ -281,7 +243,13 @@ module.exports = function(session, bundle){
281
243
  ;
282
244
 
283
245
  if (ttl > 0) {
284
- sess.lastModified = new Date().format('isoDateTime');
246
+ // #B165 — was `.format('isoDateTime')`, a zone-less local-time
247
+ // string ("yyyy-mm-dd'T'HH:MM:ss", helpers/dateFormat.js). The
248
+ // browser re-parses this stamp (utils/loader.js getTimeout) and
249
+ // a zone-less form is read as BROWSER-local, so the session
250
+ // countdown skewed by the server/browser offset. `toISOString()`
251
+ // is unambiguous UTC and matches the other four session stores.
252
+ sess.lastModified = new Date().toISOString();
285
253
  }
286
254
 
287
255
  sess = JSON.stringify(sess);
@@ -345,6 +313,11 @@ module.exports = function(session, bundle){
345
313
  /**
346
314
  * Refresh the time-to-live for the session with the given `sid`.
347
315
  *
316
+ * Also re-stamps `sess.lastModified` (ISO 8601, UTC) whenever `ttl > 0`.
317
+ * The stamp is unconditional by design: the `upsert` extends the document's
318
+ * expiry on every call, and the client-side session countdown derives its
319
+ * origin from that stamp, so it must track every extension (#B165).
320
+ *
348
321
  * @param {String} sid
349
322
  * @param {Session} sess
350
323
  * @param {Function} fn
@@ -359,19 +332,20 @@ module.exports = function(session, bundle){
359
332
  , ttl = this.ttl || ('number' == typeof maxAge
360
333
  ? maxAge / 1000 | 0
361
334
  : oneDay)
362
- , currentDate = new Date()
363
- , lastModified = sess.lastModified ? new Date(sess.lastModified).getTime() : 0;
364
-
365
- // if the given options has a touchAfter property, check if the
366
- // current timestamp - lastModified timestamp is bigger than
367
- // the specified, if it's not, don't touch the session
368
- if (ttl > 0 && lastModified > 0) {
369
-
370
- var timeElapsed = currentDate.getTime() - lastModified;
371
-
372
- if (timeElapsed > ttl) {
373
- sess.lastModified = currentDate.format('isoDateTime');
374
- }
335
+ ;
336
+
337
+ // #B165 — an idle-check used to gate this stamp. It compared an elapsed
338
+ // value in MILLISECONDS against `ttl` in SECONDS, so it fired ~1000x too
339
+ // eagerly (86.4s idle on the 86400s default). Correcting only the units
340
+ // would have been worse: the `upsert` below refreshes expiry on EVERY
341
+ // touch, so `lastModified` must track every extension. Gating it on `ttl`
342
+ // seconds idle would freeze the stamp at the first `set()`, and the
343
+ // client-side countdown (`expiresAt = lastModified + maxAge`, see
344
+ // core/asset/plugin/src/vendor/gina/utils/loader.js) would then inflate
345
+ // from a stale origin. The `touchAfter` option the old comment referenced
346
+ // never existed in this codebase.
347
+ if (ttl > 0) {
348
+ sess.lastModified = new Date().toISOString();
375
349
  }
376
350
 
377
351
  sess = JSON.stringify(sess);
@@ -136,7 +136,8 @@ module.exports = function(session, bundle) {
136
136
  * @param {string} [options.replicaSet] - Replica set name.
137
137
  * @param {object|boolean} [options.ssl]- TLS configuration.
138
138
  * @param {string} [options.collection] - Sessions collection (default 'sessions').
139
- * @param {number} [options.ttl] - Default TTL seconds (default 86400).
139
+ * @param {number} [options.ttl] - Default TTL seconds (default: connectors.json ttl;
140
+ * unset → cookie maxAge drives expiry, else 86400).
140
141
  * @throws {Error} when `database` is missing.
141
142
  */
142
143
  function MongodbStore(options) {
@@ -144,7 +145,9 @@ module.exports = function(session, bundle) {
144
145
  Store.call(this, options);
145
146
 
146
147
  this.collection = (options.collection != null) ? options.collection : (connConf.collection || 'sessions');
147
- this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || oneDay);
148
+ // #B163 — was `connConf.ttl || oneDay`: the implicit one-day default made the
149
+ // cookie-maxAge fallback in set()/touch() unreachable; unset now stays null (couchbase parity).
150
+ this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || null);
148
151
 
149
152
  this._ttlReady = false;
150
153
  this._ttlPromise = null;
@@ -71,7 +71,8 @@ module.exports = function(session, bundle) {
71
71
  * @param {string} [options.password] - Redis AUTH password.
72
72
  * @param {boolean} [options.tls] - Enable TLS (required for managed providers with TLS).
73
73
  * @param {string} [options.prefix] - Session key prefix (default: connectors.json → 'sess:').
74
- * @param {number} [options.ttl] - Session TTL in seconds (default: connectors.json → 86400).
74
+ * @param {number} [options.ttl] - Session TTL in seconds (default: connectors.json ttl;
75
+ * unset → cookie maxAge drives expiry, else 86400).
75
76
  */
76
77
  function RedisStore(options) {
77
78
  var self = this;
@@ -79,7 +80,9 @@ module.exports = function(session, bundle) {
79
80
  Store.call(this, options);
80
81
 
81
82
  this.prefix = (options.prefix != null) ? options.prefix : (connConf.prefix || 'sess:');
82
- this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || oneDay);
83
+ // #B163 — was `connConf.ttl || oneDay`: the implicit one-day default made the
84
+ // cookie-maxAge fallback in set()/touch() unreachable; unset now stays null (couchbase parity).
85
+ this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || null);
83
86
 
84
87
  // Require ioredis at instantiation time so the error message is clear
85
88
  // and the framework can still boot if Redis is not configured.
@@ -132,14 +132,17 @@ module.exports = function(session, bundle) {
132
132
  * @param {object} [options.credentials] - { username, password }.
133
133
  * @param {object} [options.ssl] - sslOptions passthrough.
134
134
  * @param {string} [options.table] - Sessions table name (default: connectors.json → 'sessions').
135
- * @param {number} [options.ttl] - Default TTL seconds (default: connectors.json → 86400).
135
+ * @param {number} [options.ttl] - Default TTL seconds (default: connectors.json ttl;
136
+ * unset → cookie maxAge drives expiry, else 86400).
136
137
  */
137
138
  function ScylladbStore(options) {
138
139
  options = options || {};
139
140
  Store.call(this, options);
140
141
 
141
142
  this.table = (options.table != null) ? options.table : (connConf.table || 'sessions');
142
- this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || oneDay);
143
+ // #B163 — was `connConf.ttl || oneDay`: the implicit one-day default made the
144
+ // cookie-maxAge fallback in set()/touch() unreachable; unset now stays null (couchbase parity).
145
+ this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || null);
143
146
 
144
147
  var cassandra = loadDriver();
145
148
 
@@ -71,7 +71,8 @@ module.exports = function(session, bundle) {
71
71
  * Defaults to connectors.json `database`, then
72
72
  * `~/.gina/{version}/sessions-{bundle}.db`.
73
73
  * @param {string} [options.prefix] - Session key prefix (default: `'sess:'`).
74
- * @param {number} [options.ttl] - Session TTL in seconds (default: 86400).
74
+ * @param {number} [options.ttl] - Session TTL in seconds (default: connectors.json ttl;
75
+ * unset → cookie maxAge drives expiry, else 86400).
75
76
  * @param {number} [options.cleanupInterval] - Expired-session purge interval in seconds.
76
77
  * Set to 0 to disable. (default: 900).
77
78
  */
@@ -81,7 +82,9 @@ module.exports = function(session, bundle) {
81
82
  Store.call(this, options);
82
83
 
83
84
  this.prefix = (options.prefix != null) ? options.prefix : (connConf.prefix || 'sess:');
84
- this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || oneDay);
85
+ // #B163 — was `connConf.ttl || oneDay`: the implicit one-day default made the
86
+ // cookie-maxAge fallback in set()/touch() unreachable; unset now stays null (couchbase parity).
87
+ this.ttl = (options.ttl != null) ? options.ttl : (connConf.ttl || null);
85
88
  this.cleanupInterval = (options.cleanupInterval != null) ? options.cleanupInterval : (connConf.cleanupInterval || 900);
86
89
 
87
90
  // Resolve DB path: option > connectors.json > default per-bundle file
@@ -241,14 +244,25 @@ module.exports = function(session, bundle) {
241
244
  /**
242
245
  * Refresh the expiry timestamp for an existing session without modifying its data.
243
246
  *
247
+ * A non-positive resolved ttl is a no-op: express-session's `cookie.maxAge`
248
+ * is a decaying remainder, so it truncates to zero in the session's final
249
+ * second and turns negative once expired. Stamping `now + ttl` from such a
250
+ * value would write an already-past expiry — expiring the very session the
251
+ * caller asked to refresh (#B166). Matches the mongodb / scylladb guard,
252
+ * and redis's inverted `if (ttl > 0)` spelling.
253
+ *
244
254
  * @param {string} sid - Session ID (without prefix).
245
255
  * @param {object} sess - Session data (used to read `cookie.maxAge`).
246
- * @param {function} fn - Callback `fn(err)`.
256
+ * @param {function} fn - Callback `fn(err)`. Invoked with `null` and no
257
+ * write performed when the resolved ttl is <= 0.
247
258
  */
248
259
  SqliteStore.prototype.touch = function(sid, sess, fn) {
249
260
  if ('function' !== typeof fn) fn = noop;
250
261
  var maxAge = sess.cookie && sess.cookie.maxAge;
251
262
  var ttl = this.ttl || ('number' === typeof maxAge ? maxAge / 1000 | 0 : oneDay);
263
+ // #B166 — never stamp a past expiry; siblings guard identically.
264
+ if (ttl <= 0) return fn(null);
265
+
252
266
  var expires = Math.floor(Date.now() / 1000) + ~~ttl;
253
267
  try {
254
268
  this._stmtTouch.run(expires, this.prefix + sid);