gina 0.3.9 → 0.3.10

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 (391) hide show
  1. package/.github/scripts/scan-vendored-cves.js +1 -1
  2. package/.github/workflows/bundle-freshness.yml +3 -3
  3. package/.github/workflows/security.yml +52 -0
  4. package/.github/workflows/vendored-cve.yml +2 -2
  5. package/CHANGELOG.md +12 -4
  6. package/README.md +5 -8
  7. package/ROADMAP.md +1 -0
  8. package/framework/v0.3.10/VERSION +1 -0
  9. package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/js/gina.js +396 -295
  10. package/framework/v0.3.10/core/asset/plugin/dist/vendor/gina/js/gina.min.js +548 -0
  11. package/framework/v0.3.10/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  12. package/framework/v0.3.10/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  13. package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/session-store.v4.js +1 -1
  14. package/framework/{v0.3.9 → v0.3.10}/core/controller/controller.js +19 -1
  15. package/framework/{v0.3.9 → v0.3.10}/core/controller/controller.render-nunjucks.js +8 -8
  16. package/framework/{v0.3.9 → v0.3.10}/core/gna.js +1 -1
  17. package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/session/src/main.js +2 -2
  18. package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/validator/src/main.js +388 -292
  19. package/framework/{v0.3.9 → v0.3.10}/core/server.isaac.js +16 -0
  20. package/framework/{v0.3.9 → v0.3.10}/core/server.js +4 -4
  21. package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/migrate.js +1 -1
  22. package/framework/{v0.3.9 → v0.3.10}/lib/cmd/inspector/help.txt +2 -2
  23. package/framework/{v0.3.9 → v0.3.10}/lib/collection/src/main.js +8 -3
  24. package/framework/{v0.3.9 → v0.3.10}/package.json +1 -1
  25. package/gna.js +4 -4
  26. package/llms.txt +21 -7
  27. package/package.json +3 -2
  28. package/resources/git-hooks/pre-commit +4 -1
  29. package/script/_load_private_tokens.js +77 -0
  30. package/script/check_no_local_leak.js +49 -21
  31. package/script/retry_lockfile_sync.js +85 -0
  32. package/framework/v0.3.9/VERSION +0 -1
  33. package/framework/v0.3.9/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -545
  34. package/framework/v0.3.9/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  35. package/framework/v0.3.9/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  36. /package/framework/{v0.3.9 → v0.3.10}/AUTHORS +0 -0
  37. /package/framework/{v0.3.9 → v0.3.10}/LICENSE +0 -0
  38. /package/framework/{v0.3.9 → v0.3.10}/core/asset/html/nolayout.html +0 -0
  39. /package/framework/{v0.3.9 → v0.3.10}/core/asset/html/static.html +0 -0
  40. /package/framework/{v0.3.9 → v0.3.10}/core/asset/img/android-chrome-192x192.png +0 -0
  41. /package/framework/{v0.3.9 → v0.3.10}/core/asset/img/android-chrome-512x512.png +0 -0
  42. /package/framework/{v0.3.9 → v0.3.10}/core/asset/img/apple-touch-icon.png +0 -0
  43. /package/framework/{v0.3.9 → v0.3.10}/core/asset/img/favicon-16x16.png +0 -0
  44. /package/framework/{v0.3.9 → v0.3.10}/core/asset/img/favicon-32x32.png +0 -0
  45. /package/framework/{v0.3.9 → v0.3.10}/core/asset/img/favicon.ico +0 -0
  46. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/README.md +0 -0
  47. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  48. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  49. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  50. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  51. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  52. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  53. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  54. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  55. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  56. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  57. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  58. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  59. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  60. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  61. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  62. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  63. /package/framework/{v0.3.9 → v0.3.10}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  64. /package/framework/{v0.3.9 → v0.3.10}/core/config.js +0 -0
  65. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/ai/index.js +0 -0
  66. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/ai/lib/connector.js +0 -0
  67. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/index.js +0 -0
  68. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/connector.js +0 -0
  69. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  70. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  71. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  72. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/n1ql.js +0 -0
  73. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/session-store.js +0 -0
  74. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  75. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  76. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/mysql/index.js +0 -0
  77. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/mysql/lib/connector.js +0 -0
  78. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/postgresql/index.js +0 -0
  79. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/postgresql/lib/connector.js +0 -0
  80. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/redis/index.js +0 -0
  81. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/redis/lib/session-store.js +0 -0
  82. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/sql-parser.js +0 -0
  83. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/sqlite/index.js +0 -0
  84. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/sqlite/lib/connector.js +0 -0
  85. /package/framework/{v0.3.9 → v0.3.10}/core/connectors/sqlite/lib/session-store.js +0 -0
  86. /package/framework/{v0.3.9 → v0.3.10}/core/content.encoding +0 -0
  87. /package/framework/{v0.3.9 → v0.3.10}/core/controller/controller.framework.js +0 -0
  88. /package/framework/{v0.3.9 → v0.3.10}/core/controller/controller.render-json.js +0 -0
  89. /package/framework/{v0.3.9 → v0.3.10}/core/controller/controller.render-stream.js +0 -0
  90. /package/framework/{v0.3.9 → v0.3.10}/core/controller/controller.render-swig.js +0 -0
  91. /package/framework/{v0.3.9 → v0.3.10}/core/controller/controller.render-v1.js +0 -0
  92. /package/framework/{v0.3.9 → v0.3.10}/core/controller/index.js +0 -0
  93. /package/framework/{v0.3.9 → v0.3.10}/core/deps/busboy-1.6.0/LICENSE +0 -0
  94. /package/framework/{v0.3.9 → v0.3.10}/core/deps/busboy-1.6.0/README.md +0 -0
  95. /package/framework/{v0.3.9 → v0.3.10}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  96. /package/framework/{v0.3.9 → v0.3.10}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  97. /package/framework/{v0.3.9 → v0.3.10}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  98. /package/framework/{v0.3.9 → v0.3.10}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  99. /package/framework/{v0.3.9 → v0.3.10}/core/deps/busboy-1.6.0/package.json +0 -0
  100. /package/framework/{v0.3.9 → v0.3.10}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  101. /package/framework/{v0.3.9 → v0.3.10}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  102. /package/framework/{v0.3.9 → v0.3.10}/core/deps/streamsearch-1.1.0/package.json +0 -0
  103. /package/framework/{v0.3.9 → v0.3.10}/core/dev/index.js +0 -0
  104. /package/framework/{v0.3.9 → v0.3.10}/core/dev/lib/class.js +0 -0
  105. /package/framework/{v0.3.9 → v0.3.10}/core/dev/lib/factory.js +0 -0
  106. /package/framework/{v0.3.9 → v0.3.10}/core/dev/lib/tools.js +0 -0
  107. /package/framework/{v0.3.9 → v0.3.10}/core/locales/README.md +0 -0
  108. /package/framework/{v0.3.9 → v0.3.10}/core/locales/currency.json +0 -0
  109. /package/framework/{v0.3.9 → v0.3.10}/core/locales/dist/language/en.json +0 -0
  110. /package/framework/{v0.3.9 → v0.3.10}/core/locales/dist/language/fr.json +0 -0
  111. /package/framework/{v0.3.9 → v0.3.10}/core/locales/dist/region/en.json +0 -0
  112. /package/framework/{v0.3.9 → v0.3.10}/core/locales/dist/region/fr.json +0 -0
  113. /package/framework/{v0.3.9 → v0.3.10}/core/locales/index.js +0 -0
  114. /package/framework/{v0.3.9 → v0.3.10}/core/mime.types +0 -0
  115. /package/framework/{v0.3.9 → v0.3.10}/core/model/entity.js +0 -0
  116. /package/framework/{v0.3.9 → v0.3.10}/core/model/index.js +0 -0
  117. /package/framework/{v0.3.9 → v0.3.10}/core/model/template/entityFactory.js +0 -0
  118. /package/framework/{v0.3.9 → v0.3.10}/core/model/template/index.js +0 -0
  119. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/README.md +0 -0
  120. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/index.js +0 -0
  121. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/csrf/README.md +0 -0
  122. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/csrf/package.json +0 -0
  123. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/csrf/src/main.js +0 -0
  124. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/file/README.md +0 -0
  125. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/file/build.json +0 -0
  126. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/file/package.json +0 -0
  127. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/intl/README.md +0 -0
  128. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/intl/build.json +0 -0
  129. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/intl/package.json +0 -0
  130. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/intl/src/main.js +0 -0
  131. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/session/README.md +0 -0
  132. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/session/package.json +0 -0
  133. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/storage/README.md +0 -0
  134. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/storage/build.json +0 -0
  135. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/storage/package.json +0 -0
  136. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/storage/src/main.js +0 -0
  137. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/validator/README.md +0 -0
  138. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/validator/build.json +0 -0
  139. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/validator/package.json +0 -0
  140. /package/framework/{v0.3.9 → v0.3.10}/core/plugins/lib/validator/src/form-validator.js +0 -0
  141. /package/framework/{v0.3.9 → v0.3.10}/core/router.js +0 -0
  142. /package/framework/{v0.3.9 → v0.3.10}/core/server.express.js +0 -0
  143. /package/framework/{v0.3.9 → v0.3.10}/core/status.codes +0 -0
  144. /package/framework/{v0.3.9 → v0.3.10}/core/template/_gitignore +0 -0
  145. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/config/app.json +0 -0
  146. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  147. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/config/routing.json +0 -0
  148. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/config/settings.json +0 -0
  149. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  150. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/config/templates.json +0 -0
  151. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  152. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  153. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  154. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  155. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle/index.js +0 -0
  156. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  157. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  158. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  159. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  160. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  161. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  162. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_public/readme.md +0 -0
  163. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  164. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  165. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  166. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  167. /package/framework/{v0.3.9 → v0.3.10}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  168. /package/framework/{v0.3.9 → v0.3.10}/core/template/command/gina.bat.tpl +0 -0
  169. /package/framework/{v0.3.9 → v0.3.10}/core/template/command/gina.tpl +0 -0
  170. /package/framework/{v0.3.9 → v0.3.10}/core/template/conf/env.json +0 -0
  171. /package/framework/{v0.3.9 → v0.3.10}/core/template/conf/manifest.json +0 -0
  172. /package/framework/{v0.3.9 → v0.3.10}/core/template/conf/package.json +0 -0
  173. /package/framework/{v0.3.9 → v0.3.10}/core/template/conf/settings.json +0 -0
  174. /package/framework/{v0.3.9 → v0.3.10}/core/template/conf/statics.json +0 -0
  175. /package/framework/{v0.3.9 → v0.3.10}/core/template/conf/templates.json +0 -0
  176. /package/framework/{v0.3.9 → v0.3.10}/core/template/error/client/json/401.json +0 -0
  177. /package/framework/{v0.3.9 → v0.3.10}/core/template/error/client/json/403.json +0 -0
  178. /package/framework/{v0.3.9 → v0.3.10}/core/template/error/client/json/404.json +0 -0
  179. /package/framework/{v0.3.9 → v0.3.10}/core/template/error/server/html/50x.html +0 -0
  180. /package/framework/{v0.3.9 → v0.3.10}/core/template/error/server/json/500.json +0 -0
  181. /package/framework/{v0.3.9 → v0.3.10}/core/template/error/server/json/503.json +0 -0
  182. /package/framework/{v0.3.9 → v0.3.10}/core/template/extensions/logger/config.json +0 -0
  183. /package/framework/{v0.3.9 → v0.3.10}/helpers/console.js +0 -0
  184. /package/framework/{v0.3.9 → v0.3.10}/helpers/context.js +0 -0
  185. /package/framework/{v0.3.9 → v0.3.10}/helpers/data/LICENSE +0 -0
  186. /package/framework/{v0.3.9 → v0.3.10}/helpers/data/README.md +0 -0
  187. /package/framework/{v0.3.9 → v0.3.10}/helpers/data/package.json +0 -0
  188. /package/framework/{v0.3.9 → v0.3.10}/helpers/data/src/main.js +0 -0
  189. /package/framework/{v0.3.9 → v0.3.10}/helpers/dateFormat.js +0 -0
  190. /package/framework/{v0.3.9 → v0.3.10}/helpers/index.js +0 -0
  191. /package/framework/{v0.3.9 → v0.3.10}/helpers/json/LICENSE +0 -0
  192. /package/framework/{v0.3.9 → v0.3.10}/helpers/json/README.md +0 -0
  193. /package/framework/{v0.3.9 → v0.3.10}/helpers/json/package.json +0 -0
  194. /package/framework/{v0.3.9 → v0.3.10}/helpers/json/src/main.js +0 -0
  195. /package/framework/{v0.3.9 → v0.3.10}/helpers/path.js +0 -0
  196. /package/framework/{v0.3.9 → v0.3.10}/helpers/plugins/README.md +0 -0
  197. /package/framework/{v0.3.9 → v0.3.10}/helpers/plugins/package.json +0 -0
  198. /package/framework/{v0.3.9 → v0.3.10}/helpers/plugins/src/api-error.js +0 -0
  199. /package/framework/{v0.3.9 → v0.3.10}/helpers/plugins/src/main.js +0 -0
  200. /package/framework/{v0.3.9 → v0.3.10}/helpers/prototypes.js +0 -0
  201. /package/framework/{v0.3.9 → v0.3.10}/helpers/task.js +0 -0
  202. /package/framework/{v0.3.9 → v0.3.10}/helpers/text.js +0 -0
  203. /package/framework/{v0.3.9 → v0.3.10}/lib/archiver/README.md +0 -0
  204. /package/framework/{v0.3.9 → v0.3.10}/lib/archiver/build.json +0 -0
  205. /package/framework/{v0.3.9 → v0.3.10}/lib/archiver/package.json +0 -0
  206. /package/framework/{v0.3.9 → v0.3.10}/lib/archiver/src/dep/jszip.min.js +0 -0
  207. /package/framework/{v0.3.9 → v0.3.10}/lib/archiver/src/main.js +0 -0
  208. /package/framework/{v0.3.9 → v0.3.10}/lib/async/package.json +0 -0
  209. /package/framework/{v0.3.9 → v0.3.10}/lib/async/src/main.js +0 -0
  210. /package/framework/{v0.3.9 → v0.3.10}/lib/cache/README.md +0 -0
  211. /package/framework/{v0.3.9 → v0.3.10}/lib/cache/build.json +0 -0
  212. /package/framework/{v0.3.9 → v0.3.10}/lib/cache/package.json +0 -0
  213. /package/framework/{v0.3.9 → v0.3.10}/lib/cache/src/main.js +0 -0
  214. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/aliases.json +0 -0
  215. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/add.js +0 -0
  216. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/arguments.json +0 -0
  217. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/build.js +0 -0
  218. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/copy.js +0 -0
  219. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/cp.js +0 -0
  220. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/help.js +0 -0
  221. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/help.txt +0 -0
  222. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/list.js +0 -0
  223. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/mcp-start.js +0 -0
  224. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/mcp.js +0 -0
  225. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/oas.js +0 -0
  226. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/openapi.js +0 -0
  227. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/remove.js +0 -0
  228. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/rename.js +0 -0
  229. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/restart.js +0 -0
  230. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/rm.js +0 -0
  231. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/start.js +0 -0
  232. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/status.js +0 -0
  233. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/bundle/stop.js +0 -0
  234. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/cache/stats.js +0 -0
  235. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/add.js +0 -0
  236. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/arguments.json +0 -0
  237. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/help.js +0 -0
  238. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/help.txt +0 -0
  239. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/list.js +0 -0
  240. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/remove.js +0 -0
  241. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/connector/rm.js +0 -0
  242. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/add.js +0 -0
  243. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/get.js +0 -0
  244. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/help.js +0 -0
  245. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/help.txt +0 -0
  246. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/link-dev.js +0 -0
  247. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/list.js +0 -0
  248. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/remove.js +0 -0
  249. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/rm.js +0 -0
  250. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/set.js +0 -0
  251. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/unset.js +0 -0
  252. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/env/use.js +0 -0
  253. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/arguments.json +0 -0
  254. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/build.js +0 -0
  255. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/dot.js +0 -0
  256. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/get.js +0 -0
  257. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/help.js +0 -0
  258. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/help.txt +0 -0
  259. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/init.js +0 -0
  260. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/link-node-modules.js +0 -0
  261. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/link.js +0 -0
  262. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/msg.json +0 -0
  263. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/open.js +0 -0
  264. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/restart.js +0 -0
  265. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/set.js +0 -0
  266. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/start.js +0 -0
  267. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/status.js +0 -0
  268. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/stop.js +0 -0
  269. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/tail.js +0 -0
  270. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/update.js +0 -0
  271. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/framework/version.js +0 -0
  272. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/gina-dev.1.md +0 -0
  273. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/gina-framework.1.md +0 -0
  274. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/gina.1.md +0 -0
  275. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/helper.js +0 -0
  276. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/index.js +0 -0
  277. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/inspector/help.js +0 -0
  278. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/inspector/open.js +0 -0
  279. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/minion/help.js +0 -0
  280. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/minion/help.txt +0 -0
  281. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/msg.json +0 -0
  282. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/port/help.js +0 -0
  283. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/port/help.txt +0 -0
  284. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/port/inc/scan.js +0 -0
  285. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/port/list.js +0 -0
  286. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/port/reset.js +0 -0
  287. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/port/set.js +0 -0
  288. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/add.js +0 -0
  289. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/arguments.json +0 -0
  290. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/build.js +0 -0
  291. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/help.js +0 -0
  292. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/help.txt +0 -0
  293. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/import.js +0 -0
  294. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/list.js +0 -0
  295. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/move.js +0 -0
  296. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/remove.js +0 -0
  297. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/rename.js +0 -0
  298. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/restart.js +0 -0
  299. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/rm.js +0 -0
  300. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/start.js +0 -0
  301. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/status.js +0 -0
  302. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/project/stop.js +0 -0
  303. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/protocol/help.js +0 -0
  304. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/protocol/help.txt +0 -0
  305. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/protocol/list.js +0 -0
  306. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/protocol/set.js +0 -0
  307. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/add.js +0 -0
  308. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/help.js +0 -0
  309. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/help.txt +0 -0
  310. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/link-local.js +0 -0
  311. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/link-production.js +0 -0
  312. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/list.js +0 -0
  313. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/remove.js +0 -0
  314. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/rm.js +0 -0
  315. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/scope/use.js +0 -0
  316. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/service/help.js +0 -0
  317. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/service/help.txt +0 -0
  318. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/service/list.js +0 -0
  319. /package/framework/{v0.3.9 → v0.3.10}/lib/cmd/view/add.js +0 -0
  320. /package/framework/{v0.3.9 → v0.3.10}/lib/collection/README.md +0 -0
  321. /package/framework/{v0.3.9 → v0.3.10}/lib/collection/build.json +0 -0
  322. /package/framework/{v0.3.9 → v0.3.10}/lib/collection/package.json +0 -0
  323. /package/framework/{v0.3.9 → v0.3.10}/lib/config.js +0 -0
  324. /package/framework/{v0.3.9 → v0.3.10}/lib/connector-registry/package.json +0 -0
  325. /package/framework/{v0.3.9 → v0.3.10}/lib/connector-registry/src/main.js +0 -0
  326. /package/framework/{v0.3.9 → v0.3.10}/lib/cron/README.md +0 -0
  327. /package/framework/{v0.3.9 → v0.3.10}/lib/cron/package.json +0 -0
  328. /package/framework/{v0.3.9 → v0.3.10}/lib/cron/src/main.js +0 -0
  329. /package/framework/{v0.3.9 → v0.3.10}/lib/domain/LICENSE +0 -0
  330. /package/framework/{v0.3.9 → v0.3.10}/lib/domain/README.md +0 -0
  331. /package/framework/{v0.3.9 → v0.3.10}/lib/domain/package.json +0 -0
  332. /package/framework/{v0.3.9 → v0.3.10}/lib/domain/src/main.js +0 -0
  333. /package/framework/{v0.3.9 → v0.3.10}/lib/generator/index.js +0 -0
  334. /package/framework/{v0.3.9 → v0.3.10}/lib/index.js +0 -0
  335. /package/framework/{v0.3.9 → v0.3.10}/lib/inherits/LICENSE +0 -0
  336. /package/framework/{v0.3.9 → v0.3.10}/lib/inherits/README.md +0 -0
  337. /package/framework/{v0.3.9 → v0.3.10}/lib/inherits/package.json +0 -0
  338. /package/framework/{v0.3.9 → v0.3.10}/lib/inherits/src/main.js +0 -0
  339. /package/framework/{v0.3.9 → v0.3.10}/lib/inspector-redact/package.json +0 -0
  340. /package/framework/{v0.3.9 → v0.3.10}/lib/inspector-redact/src/main.js +0 -0
  341. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/README.md +0 -0
  342. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/package.json +0 -0
  343. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/containers/default/index.js +0 -0
  344. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/containers/file/index.js +0 -0
  345. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  346. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  347. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/containers/mq/index.js +0 -0
  348. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/containers/mq/listener.js +0 -0
  349. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/containers/mq/speaker.js +0 -0
  350. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/helper.js +0 -0
  351. /package/framework/{v0.3.9 → v0.3.10}/lib/logger/src/main.js +0 -0
  352. /package/framework/{v0.3.9 → v0.3.10}/lib/math/index.js +0 -0
  353. /package/framework/{v0.3.9 → v0.3.10}/lib/mcp-dispatch/package.json +0 -0
  354. /package/framework/{v0.3.9 → v0.3.10}/lib/mcp-dispatch/src/main.js +0 -0
  355. /package/framework/{v0.3.9 → v0.3.10}/lib/mcp-http/package.json +0 -0
  356. /package/framework/{v0.3.9 → v0.3.10}/lib/mcp-http/src/main.js +0 -0
  357. /package/framework/{v0.3.9 → v0.3.10}/lib/mcp-server/package.json +0 -0
  358. /package/framework/{v0.3.9 → v0.3.10}/lib/mcp-server/src/main.js +0 -0
  359. /package/framework/{v0.3.9 → v0.3.10}/lib/merge/README.md +0 -0
  360. /package/framework/{v0.3.9 → v0.3.10}/lib/merge/package.json +0 -0
  361. /package/framework/{v0.3.9 → v0.3.10}/lib/merge/src/main.js +0 -0
  362. /package/framework/{v0.3.9 → v0.3.10}/lib/model.js +0 -0
  363. /package/framework/{v0.3.9 → v0.3.10}/lib/nunjucks-filters/README.md +0 -0
  364. /package/framework/{v0.3.9 → v0.3.10}/lib/nunjucks-filters/package.json +0 -0
  365. /package/framework/{v0.3.9 → v0.3.10}/lib/nunjucks-filters/src/main.js +0 -0
  366. /package/framework/{v0.3.9 → v0.3.10}/lib/nunjucks-resolver/package.json +0 -0
  367. /package/framework/{v0.3.9 → v0.3.10}/lib/nunjucks-resolver/src/main.js +0 -0
  368. /package/framework/{v0.3.9 → v0.3.10}/lib/proc.js +0 -0
  369. /package/framework/{v0.3.9 → v0.3.10}/lib/routing/README.md +0 -0
  370. /package/framework/{v0.3.9 → v0.3.10}/lib/routing/build.json +0 -0
  371. /package/framework/{v0.3.9 → v0.3.10}/lib/routing/package.json +0 -0
  372. /package/framework/{v0.3.9 → v0.3.10}/lib/routing/src/main.js +0 -0
  373. /package/framework/{v0.3.9 → v0.3.10}/lib/routing/src/radix.js +0 -0
  374. /package/framework/{v0.3.9 → v0.3.10}/lib/routing-introspect/package.json +0 -0
  375. /package/framework/{v0.3.9 → v0.3.10}/lib/routing-introspect/src/main.js +0 -0
  376. /package/framework/{v0.3.9 → v0.3.10}/lib/session-store.js +0 -0
  377. /package/framework/{v0.3.9 → v0.3.10}/lib/shell.js +0 -0
  378. /package/framework/{v0.3.9 → v0.3.10}/lib/state.js +0 -0
  379. /package/framework/{v0.3.9 → v0.3.10}/lib/swig-filters/README.md +0 -0
  380. /package/framework/{v0.3.9 → v0.3.10}/lib/swig-filters/package.json +0 -0
  381. /package/framework/{v0.3.9 → v0.3.10}/lib/swig-filters/src/main.js +0 -0
  382. /package/framework/{v0.3.9 → v0.3.10}/lib/swig-resolver/package.json +0 -0
  383. /package/framework/{v0.3.9 → v0.3.10}/lib/swig-resolver/src/main.js +0 -0
  384. /package/framework/{v0.3.9 → v0.3.10}/lib/url/README.md +0 -0
  385. /package/framework/{v0.3.9 → v0.3.10}/lib/url/index.js +0 -0
  386. /package/framework/{v0.3.9 → v0.3.10}/lib/url/routing.json +0 -0
  387. /package/framework/{v0.3.9 → v0.3.10}/lib/uuid/package.json +0 -0
  388. /package/framework/{v0.3.9 → v0.3.10}/lib/uuid/src/main.js +0 -0
  389. /package/framework/{v0.3.9 → v0.3.10}/lib/validator.js +0 -0
  390. /package/framework/{v0.3.9 → v0.3.10}/lib/watcher/package.json +0 -0
  391. /package/framework/{v0.3.9 → v0.3.10}/lib/watcher/src/main.js +0 -0
@@ -23,39 +23,47 @@
23
23
  * contributors, scaffolding template, framework AUTHORS, framework
24
24
  * plugin package.json authors) — see ATTRIBUTION_PATHS.
25
25
  *
26
+ * Plus a third gate that fires BEFORE the scan starts:
27
+ *
28
+ * 3. Stable-publish gate: if `npm_command=publish` AND `npm_config_tag=latest`
29
+ * (i.e. `npm publish` without `--tag alpha`) AND the maintainer-local
30
+ * sidecar `script/.private-tokens.json` is missing, fail closed before
31
+ * the scan starts. This prevents a fresh-clone or restored-machine
32
+ * stable publish from silently shipping with content-level scanning
33
+ * disabled. Alpha publish, npm pack, and contributor `npm install`
34
+ * flows continue to no-op silently — path-level scanning still runs.
35
+ * See llms.txt §92 for the rationale.
36
+ *
26
37
  * `--ignore-scripts` prevents recursion into the `prepare` script (which
27
38
  * would otherwise re-invoke `prepare_version.js` and commit a "Prerelease
28
39
  * update").
29
40
  *
30
41
  * Exit codes:
31
42
  * 0 — pack listing and contents are clean
32
- * 1 — leakage detected OR check itself errored (fail closed)
43
+ * 1 — leakage detected, check itself errored (fail closed), OR
44
+ * stable-publish gate triggered (sidecar missing on `npm publish`
45
+ * without `--tag alpha`)
33
46
  */
34
47
 
35
48
  var execSync = require('child_process').execSync;
36
49
  var fs = require('fs');
50
+ var path = require('path');
51
+
52
+ var loadPrivateTokens = require('./_load_private_tokens');
37
53
 
38
54
  var PATH_PATTERN = /(^|\/)(CLAUDE\.md|\.claude[a-z]*)/i;
39
55
 
40
- // Authoring/contributing context — files where the co-author's legal name
41
- // is allowed (public attribution: README, AUTHORS, GOVERNANCE, CONTRIBUTING,
42
- // package.json contributors, scaffolding template, framework AUTHORS,
43
- // framework plugin package.json authors).
56
+ // Authoring/contributing context — files where a token marked
57
+ // allowInAttribution is permitted (public attribution: README, AUTHORS,
58
+ // GOVERNANCE, CONTRIBUTING, package.json contributors, scaffolding
59
+ // template, framework AUTHORS, framework plugin package.json authors).
44
60
  var ATTRIBUTION_PATHS = /^(AUTHORS|CONTRIBUTING\.md|GOVERNANCE\.md|README\.md|package\.json|resources\/package\.json\.template|framework\/v[^/]+\/AUTHORS|framework\/v[^/]+\/core\/plugins\/lib\/[^/]+\/package\.json)$/;
45
61
 
46
62
  // Private tokens that must not appear in published tarball contents.
47
- // Keep patterns narrow bare words like "Freelancer" are too broad and
48
- // produce false positives on legitimate content; the domain form
49
- // `example.com` catches the leak-relevant variant.
50
- var CONTENT_TOKENS = [
51
- { name: 'private phone', pattern: /0618178647/ },
52
- { name: 'private email', pattern: /[\w.+-]*etouman@rhinostone/i },
53
- { name: 'private address', pattern: /Boulevard\s+Arago/i },
54
- { name: 'private domain', pattern: /freelancer\.app/i },
55
- { name: 'co-author legal name',
56
- pattern: /Fabrice\s+Delaneau/i,
57
- allowIn: ATTRIBUTION_PATHS }
58
- ];
63
+ // Patterns load from `script/.private-tokens.json` (gitignored,
64
+ // maintainer-local). If the sidecar is absent, content-level scanning
65
+ // is a no-op; path-level scanning still runs unchanged.
66
+ var CONTENT_TOKENS = loadPrivateTokens(ATTRIBUTION_PATHS);
59
67
 
60
68
  // Heuristic: only read files that are likely text. Saves time on binary
61
69
  // assets (images, compiled JARs, compressed .br/.gz) and prevents
@@ -80,17 +88,17 @@ function isTextPath(p) {
80
88
  return false;
81
89
  }
82
90
 
83
- function scanContent(path) {
91
+ function scanContent(filePath) {
84
92
  var stat;
85
- try { stat = fs.statSync(path); } catch (e) { return []; }
93
+ try { stat = fs.statSync(filePath); } catch (e) { return []; }
86
94
  if (!stat.isFile() || stat.size > MAX_SCAN_BYTES) return [];
87
95
 
88
96
  var content;
89
- try { content = fs.readFileSync(path, 'utf8'); } catch (e) { return []; }
97
+ try { content = fs.readFileSync(filePath, 'utf8'); } catch (e) { return []; }
90
98
 
91
99
  var hits = [];
92
100
  for (var i = 0; i < CONTENT_TOKENS.length; i++) {
93
- if (CONTENT_TOKENS[i].allowIn && CONTENT_TOKENS[i].allowIn.test(path)) continue;
101
+ if (CONTENT_TOKENS[i].allowIn && CONTENT_TOKENS[i].allowIn.test(filePath)) continue;
94
102
  if (CONTENT_TOKENS[i].pattern.test(content)) {
95
103
  hits.push(CONTENT_TOKENS[i].name);
96
104
  }
@@ -98,6 +106,26 @@ function scanContent(path) {
98
106
  return hits;
99
107
  }
100
108
 
109
+ // Stable-publish gate (§92 follow-up (a)). Fires BEFORE the scan starts.
110
+ // `npm publish` without `--tag alpha` (i.e. tag=latest) requires the
111
+ // maintainer-local sidecar to be present; otherwise the content-level
112
+ // scan would be silently disabled, and the publish could ship leaked
113
+ // tokens. Alpha publish, npm pack, and contributor flows are unaffected
114
+ // — path-level scanning still runs in those cases.
115
+ var sidecarPath = path.join(__dirname, '.private-tokens.json');
116
+ if (
117
+ process.env.npm_command === 'publish'
118
+ && (process.env.npm_config_tag === 'latest' || !process.env.npm_config_tag)
119
+ && !fs.existsSync(sidecarPath)
120
+ ) {
121
+ console.error('[prepack] STABLE PUBLISH BLOCKED: ' + sidecarPath + ' missing.');
122
+ console.error('[prepack] The maintainer-local sidecar is required for stable publish.');
123
+ console.error('[prepack] Recreate from a personal backup outside the repo, or rebuild');
124
+ console.error('[prepack] from the schema documented in script/_load_private_tokens.js.');
125
+ console.error('[prepack] (Alpha publish, npm pack, and contributor flows are not affected.)');
126
+ process.exit(1);
127
+ }
128
+
101
129
  try {
102
130
  var raw = execSync('npm pack --dry-run --json --ignore-scripts', {
103
131
  stdio: ['ignore', 'pipe', 'pipe']
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env node
2
+
3
+ /*
4
+ * This file is part of the gina package.
5
+ * Copyright (c) 2009-2026 Rhinostone <contact@gina.io>
6
+ *
7
+ * For the full copyright and license information, please view the LICENSE
8
+ * file that was distributed with this source code.
9
+ */
10
+
11
+ /**
12
+ * @file script/retry_lockfile_sync.js
13
+ *
14
+ * Retry-with-backoff wrapper used by `script/post_publish.js → syncDocs`
15
+ * to absorb the npm registry's eventual-consistency window after a stable
16
+ * publish. Without this, intermittent
17
+ * "package-lock.json: gina@<old> does not satisfy gina@<new>" failures
18
+ * commit a stale lockfile alongside the bumped package.json, breaking the
19
+ * next Vercel docs deploy.
20
+ *
21
+ * Background: the failure mode hit `gina@0.3.7` and `gina@0.3.9` stable
22
+ * publishes (the second occurrence proved it was a recurring deterministic
23
+ * ordering bug, not transient registry lag — see `llms.txt §87`).
24
+ *
25
+ * Helpers exported via `module.exports` for unit testing with injected
26
+ * `execDriver` / `sleepDriver` / `logger` — no real-repo or registry
27
+ * fixtures needed.
28
+ */
29
+
30
+ 'use strict';
31
+
32
+ var execSync = require('child_process').execSync;
33
+
34
+
35
+ /**
36
+ * Retry a shell command with backoff. Returns the first successful
37
+ * invocation, or a failure result after all attempts are exhausted.
38
+ *
39
+ * @param {object} opts
40
+ * @param {string} opts.cmd shell command to run
41
+ * @param {number[]} [opts.delaysSec] sleep seconds between attempts (default [5, 15, 30, 30] — ~80s ceiling)
42
+ * @param {function} [opts.execDriver] injected execSync replacement (test-only)
43
+ * @param {function} [opts.sleepDriver] injected sleep(seconds) (test-only)
44
+ * @param {object} [opts.logger] injected `{ info }` logger (test-only)
45
+ * @returns {{ ok: boolean, attempts: number, lastErr: (Error|null) }}
46
+ *
47
+ * @example
48
+ * var retry = require('./retry_lockfile_sync');
49
+ * var result = retry.retryWithBackoff({
50
+ * cmd: '$(which npm) install --package-lock-only --ignore-scripts'
51
+ * });
52
+ * if (!result.ok) {
53
+ * console.warn('lockfile sync failed after ' + result.attempts + ' attempts');
54
+ * }
55
+ */
56
+ function retryWithBackoff(opts) {
57
+ opts = opts || {};
58
+ if (!opts.cmd) throw new Error('retryWithBackoff: opts.cmd is required');
59
+ var delays = opts.delaysSec || [5, 15, 30, 30];
60
+ var exec = opts.execDriver || function (c) { return execSync(c, { stdio: 'pipe' }); };
61
+ var sleep = opts.sleepDriver || function (s) { execSync('sleep ' + s); };
62
+ var log = opts.logger || console;
63
+
64
+ var lastErr = null;
65
+ var totalAttempts = delays.length;
66
+ for (var i = 0; i < totalAttempts; i++) {
67
+ try {
68
+ exec(opts.cmd);
69
+ return { ok: true, attempts: i + 1, lastErr: null };
70
+ } catch (err) {
71
+ lastErr = err;
72
+ if (i + 1 < totalAttempts) {
73
+ var brief = (err && err.message) ? err.message.split('\n')[0] : String(err);
74
+ log.info('[retry] attempt ' + (i + 1) + '/' + totalAttempts + ' failed (' + brief + '), retrying in ' + delays[i] + 's');
75
+ sleep(delays[i]);
76
+ }
77
+ }
78
+ }
79
+ return { ok: false, attempts: totalAttempts, lastErr: lastErr };
80
+ }
81
+
82
+
83
+ module.exports = {
84
+ retryWithBackoff: retryWithBackoff
85
+ };
@@ -1 +0,0 @@
1
- 0.3.9