conductor-oss 0.61.21 → 0.61.23

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 (360) hide show
  1. package/node_modules/@conductor-oss/core/package.json +1 -1
  2. package/package.json +6 -6
  3. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  4. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +219 -0
  5. package/web/.next/standalone/node_modules/@img/{sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.18.3} +0 -0
  6. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +2 -2
  7. package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +20 -20
  8. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  9. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +219 -0
  10. package/web/.next/standalone/node_modules/@img/{sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.3} +0 -0
  11. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +2 -2
  12. package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +20 -20
  13. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/index.cjs +1 -0
  14. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64-0.35.0.node +0 -0
  15. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +6 -5
  16. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/index.cjs +1 -0
  17. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.0.node +0 -0
  18. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +6 -5
  19. package/web/.next/standalone/node_modules/@next/env/package.json +8 -9
  20. package/web/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  21. package/web/.next/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  22. package/web/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +102 -2
  23. package/web/.next/standalone/node_modules/next/dist/compiled/http-proxy/index.js +5 -5
  24. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +11 -10
  25. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +12 -11
  26. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +14 -13
  27. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +11 -10
  28. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
  29. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +9 -9
  30. package/web/.next/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +9 -9
  31. package/web/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  32. package/web/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +147 -42
  33. package/web/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +52 -4
  34. package/web/.next/standalone/node_modules/next/dist/server/config-schema.js +1 -1
  35. package/web/.next/standalone/node_modules/next/dist/server/config-shared.js +0 -2
  36. package/web/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  37. package/web/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  38. package/web/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  39. package/web/.next/standalone/node_modules/next/dist/server/image-optimizer.js +8 -27
  40. package/web/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  41. package/web/.next/standalone/node_modules/next/dist/server/lib/encode-cache-tag.js +45 -0
  42. package/web/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +6 -3
  43. package/web/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +90 -53
  44. package/web/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +20 -3
  45. package/web/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +4 -0
  46. package/web/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  47. package/web/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  48. package/web/.next/standalone/node_modules/next/dist/shared/lib/router/router.js +8 -1
  49. package/web/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +2 -1
  50. package/web/.next/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +12 -0
  51. package/web/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  52. package/web/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  53. package/web/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  54. package/web/.next/standalone/node_modules/next/package.json +10 -252
  55. package/web/.next/standalone/node_modules/postcss/lib/container.js +81 -34
  56. package/web/.next/standalone/node_modules/postcss/lib/fromJSON.js +76 -23
  57. package/web/.next/standalone/node_modules/postcss/lib/input.js +13 -4
  58. package/web/.next/standalone/node_modules/postcss/lib/lazy-result.js +55 -13
  59. package/web/.next/standalone/node_modules/postcss/lib/node.js +105 -60
  60. package/web/.next/standalone/node_modules/postcss/lib/previous-map.js +11 -2
  61. package/web/.next/standalone/node_modules/postcss/lib/processor.js +1 -1
  62. package/web/.next/standalone/node_modules/postcss/lib/stringifier.js +90 -25
  63. package/web/.next/standalone/node_modules/postcss/package.json +1 -1
  64. package/web/.next/standalone/node_modules/sharp/{lib/channel.js → dist/channel.cjs} +1 -1
  65. package/web/.next/standalone/node_modules/sharp/{lib/colour.js → dist/colour.cjs} +1 -1
  66. package/web/.next/standalone/node_modules/sharp/{lib/composite.js → dist/composite.cjs} +2 -1
  67. package/web/.next/standalone/node_modules/sharp/{lib/constructor.js → dist/constructor.cjs} +41 -29
  68. package/web/.next/standalone/node_modules/sharp/dist/index.cjs +25 -0
  69. package/web/.next/standalone/node_modules/sharp/{lib/input.js → dist/input.cjs} +19 -14
  70. package/web/.next/standalone/node_modules/sharp/{lib/libvips.js → dist/libvips.cjs} +35 -30
  71. package/web/.next/standalone/node_modules/sharp/{lib/operation.js → dist/operation.cjs} +6 -35
  72. package/web/.next/standalone/node_modules/sharp/{lib/output.js → dist/output.cjs} +142 -14
  73. package/web/.next/standalone/node_modules/sharp/{lib/resize.js → dist/resize.cjs} +19 -1
  74. package/web/.next/standalone/node_modules/sharp/dist/sharp.cjs +164 -0
  75. package/web/.next/standalone/node_modules/sharp/{lib/utility.js → dist/utility.cjs} +11 -7
  76. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +24 -4
  77. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +19 -2
  78. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/clean.js +8 -0
  79. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare-build.js +9 -0
  80. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare-loose.js +5 -0
  81. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/diff.js +60 -0
  82. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/inc.js +21 -0
  83. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/major.js +5 -0
  84. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/minor.js +5 -0
  85. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/patch.js +5 -0
  86. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/prerelease.js +8 -0
  87. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/rcompare.js +5 -0
  88. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/rsort.js +5 -0
  89. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/sort.js +5 -0
  90. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/truncate.js +48 -0
  91. package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/valid.js +8 -0
  92. package/web/.next/standalone/node_modules/sharp/node_modules/semver/index.js +93 -0
  93. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +1 -1
  94. package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +4 -4
  95. package/web/.next/standalone/node_modules/sharp/node_modules/semver/preload.js +4 -0
  96. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/gtr.js +6 -0
  97. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/intersects.js +9 -0
  98. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/ltr.js +6 -0
  99. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/max-satisfying.js +27 -0
  100. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/min-satisfying.js +26 -0
  101. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/min-version.js +63 -0
  102. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/outside.js +82 -0
  103. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/simplify.js +49 -0
  104. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/subset.js +249 -0
  105. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/to-comparators.js +10 -0
  106. package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/valid.js +13 -0
  107. package/web/.next/standalone/node_modules/sharp/package.json +60 -49
  108. package/web/.next/standalone/package.json +3 -2
  109. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  110. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +9 -9
  111. package/web/.next/standalone/packages/web/.next/build-manifest.json +4 -4
  112. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  113. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +8 -8
  114. package/web/.next/standalone/packages/web/.next/required-server-files.json +6 -1
  115. package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js.nft.json +1 -1
  116. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  117. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  118. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  119. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  120. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  121. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  122. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  123. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  124. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  125. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  126. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
  127. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  128. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  129. package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
  130. package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -1
  131. package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js.nft.json +1 -1
  132. package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
  133. package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js.nft.json +1 -1
  134. package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js.nft.json +1 -1
  135. package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
  136. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js.nft.json +1 -1
  137. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js.nft.json +1 -1
  138. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js.nft.json +1 -1
  139. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js.nft.json +1 -1
  140. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js.nft.json +1 -1
  141. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js.nft.json +1 -1
  142. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js.nft.json +1 -1
  143. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js.nft.json +1 -1
  144. package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js.nft.json +1 -1
  145. package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js.nft.json +1 -1
  146. package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
  147. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js.nft.json +1 -1
  148. package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
  149. package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
  150. package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -1
  151. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
  152. package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -1
  153. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/route.js.nft.json +1 -1
  154. package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/sync/route.js.nft.json +1 -1
  155. package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
  156. package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js.nft.json +1 -1
  157. package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
  158. package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
  159. package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
  160. package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
  161. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/backlinks/route.js.nft.json +1 -1
  162. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/daily/route.js.nft.json +1 -1
  163. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/file/route.js.nft.json +1 -1
  164. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/graph/route.js.nft.json +1 -1
  165. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/open/route.js.nft.json +1 -1
  166. package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/route.js.nft.json +1 -1
  167. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/approve/route.js.nft.json +1 -1
  168. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route.js.nft.json +1 -1
  169. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/route.js.nft.json +1 -1
  170. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/stream/route.js.nft.json +1 -1
  171. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route.js.nft.json +1 -1
  172. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/interrupt/route.js.nft.json +1 -1
  173. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/preferences/route.js.nft.json +1 -1
  174. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/reject/route.js.nft.json +1 -1
  175. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/route.js.nft.json +1 -1
  176. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/send/route.js.nft.json +1 -1
  177. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route.js.nft.json +1 -1
  178. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/route.js.nft.json +1 -1
  179. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/route.js.nft.json +1 -1
  180. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatchers/route.js.nft.json +1 -1
  181. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/open/route.js.nft.json +1 -1
  182. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  183. package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/setup/route.js.nft.json +1 -1
  184. package/web/.next/standalone/packages/web/.next/server/app/api/projects/route.js.nft.json +1 -1
  185. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  186. package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
  187. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
  188. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  189. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
  190. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
  191. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
  192. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
  193. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
  194. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
  195. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
  196. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js.nft.json +1 -1
  197. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js.nft.json +1 -1
  198. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js.nft.json +1 -1
  199. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
  200. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  201. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
  202. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js.nft.json +1 -1
  203. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -1
  204. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js.nft.json +1 -1
  205. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js.nft.json +1 -1
  206. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js.nft.json +1 -1
  207. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js.nft.json +1 -1
  208. package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  209. package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js.nft.json +1 -1
  210. package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
  211. package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js.nft.json +1 -1
  212. package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  213. package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js.nft.json +1 -1
  214. package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js.nft.json +1 -1
  215. package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js.nft.json +1 -1
  216. package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
  217. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
  218. package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  219. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
  220. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  221. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  222. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js.nft.json +1 -1
  223. package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js.nft.json +1 -1
  224. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +1 -1
  225. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -1
  226. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -1
  227. package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js.nft.json +1 -1
  228. package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
  229. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  230. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  231. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  232. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  233. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  234. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  235. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  236. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  237. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
  238. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  239. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  240. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  241. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  242. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  243. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  244. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  245. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  246. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js +1 -1
  247. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js.nft.json +1 -1
  248. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page_client-reference-manifest.js +1 -1
  249. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  250. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  251. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  252. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +9 -9
  253. package/web/.next/standalone/packages/web/.next/server/chunks/2074.js +1 -0
  254. package/web/.next/standalone/packages/web/.next/server/chunks/2512.js +3 -3
  255. package/web/.next/standalone/packages/web/.next/server/chunks/3303.js +1 -1
  256. package/web/.next/standalone/packages/web/.next/server/chunks/3698.js +5 -3
  257. package/web/.next/standalone/packages/web/.next/server/chunks/3786.js +2 -2
  258. package/web/.next/standalone/packages/web/.next/server/chunks/6108.js +1 -0
  259. package/web/.next/standalone/packages/web/.next/server/chunks/6472.js +1 -1
  260. package/web/.next/standalone/packages/web/.next/server/chunks/724.js +1 -1
  261. package/web/.next/standalone/packages/web/.next/server/chunks/7481.js +1 -1
  262. package/web/.next/standalone/packages/web/.next/server/chunks/7776.js +1 -1
  263. package/web/.next/standalone/packages/web/.next/server/chunks/8688.js +1 -0
  264. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  265. package/web/.next/standalone/packages/web/.next/server/chunks/9787.js +3 -3
  266. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  267. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  268. package/web/.next/standalone/packages/web/.next/server/middleware.js +4 -4
  269. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
  270. package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
  271. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  272. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  273. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  274. package/web/.next/standalone/packages/web/.next/static/chunks/17319.f853545792589ec2.js +1 -0
  275. package/web/.next/standalone/packages/web/.next/static/chunks/{34443.c71c524d5fcc197f.js → 34443.fa5f443480cf2b8a.js} +1 -1
  276. package/web/.next/standalone/packages/web/.next/static/chunks/39816.fd2a8af735afdbe1.js +1 -0
  277. package/web/.next/standalone/packages/web/.next/static/chunks/41696.3e691c667c1e7b81.js +1 -0
  278. package/web/.next/standalone/packages/web/.next/static/chunks/41998.bfd148a33a5b285a.js +1 -0
  279. package/web/.next/standalone/packages/web/.next/static/chunks/{61968-84de5fd1d154571d.js → 61968-1d55f423ea1ad7fb.js} +1 -1
  280. package/web/.next/standalone/packages/web/.next/static/chunks/76892-86e55e6d0e7ca057.js +1 -0
  281. package/web/.next/{static/chunks/79593-c8c8ed0f8829c660.js → standalone/packages/web/.next/static/chunks/79593-2f58ba44bc178231.js} +2 -2
  282. package/web/.next/standalone/packages/web/.next/static/chunks/81132.92c626a062747078.js +3 -0
  283. package/web/.next/standalone/packages/web/.next/static/chunks/9016-c4fa23038e6de72b.js +1 -0
  284. package/web/.next/standalone/packages/web/.next/static/chunks/app/{layout-1d6034a5d57a2849.js → layout-dc8ca6126999c95c.js} +1 -1
  285. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-f3925343b6c5eaa9.js +1 -0
  286. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-b1d7e1d41fba2817.js +1 -0
  287. package/web/.next/{static/chunks/main-e776ff7a08a61c77.js → standalone/packages/web/.next/static/chunks/main-0a70c45f3b60fdcf.js} +1 -1
  288. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-0562fb102dd7e557.js +1 -0
  289. package/web/.next/standalone/packages/web/.next/static/css/dfd1cecfd68c43ff.css +1 -0
  290. package/web/.next/standalone/packages/web/package.json +2 -1
  291. package/web/.next/standalone/packages/web/server.js +1 -1
  292. package/web/.next/static/chunks/17319.f853545792589ec2.js +1 -0
  293. package/web/.next/static/chunks/{34443.c71c524d5fcc197f.js → 34443.fa5f443480cf2b8a.js} +1 -1
  294. package/web/.next/static/chunks/39816.fd2a8af735afdbe1.js +1 -0
  295. package/web/.next/static/chunks/41696.3e691c667c1e7b81.js +1 -0
  296. package/web/.next/static/chunks/41998.bfd148a33a5b285a.js +1 -0
  297. package/web/.next/static/chunks/{61968-84de5fd1d154571d.js → 61968-1d55f423ea1ad7fb.js} +1 -1
  298. package/web/.next/static/chunks/76892-86e55e6d0e7ca057.js +1 -0
  299. package/web/.next/{standalone/packages/web/.next/static/chunks/79593-c8c8ed0f8829c660.js → static/chunks/79593-2f58ba44bc178231.js} +2 -2
  300. package/web/.next/static/chunks/81132.92c626a062747078.js +3 -0
  301. package/web/.next/static/chunks/9016-c4fa23038e6de72b.js +1 -0
  302. package/web/.next/static/chunks/app/{layout-1d6034a5d57a2849.js → layout-dc8ca6126999c95c.js} +1 -1
  303. package/web/.next/static/chunks/app/page-f3925343b6c5eaa9.js +1 -0
  304. package/web/.next/static/chunks/app/sessions/[id]/page-b1d7e1d41fba2817.js +1 -0
  305. package/web/.next/{standalone/packages/web/.next/static/chunks/main-e776ff7a08a61c77.js → static/chunks/main-0a70c45f3b60fdcf.js} +1 -1
  306. package/web/.next/static/chunks/webpack-0562fb102dd7e557.js +1 -0
  307. package/web/.next/static/css/dfd1cecfd68c43ff.css +1 -0
  308. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/LICENSE +0 -191
  309. package/web/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  310. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/LICENSE +0 -191
  311. package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  312. package/web/.next/standalone/node_modules/sharp/lib/index.js +0 -16
  313. package/web/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
  314. package/web/.next/standalone/packages/web/.next/server/chunks/1364.js +0 -1
  315. package/web/.next/standalone/packages/web/.next/server/chunks/4013.js +0 -1
  316. package/web/.next/standalone/packages/web/.next/server/chunks/9398.js +0 -1
  317. package/web/.next/standalone/packages/web/.next/static/chunks/28386-0121205400994756.js +0 -1
  318. package/web/.next/standalone/packages/web/.next/static/chunks/39816.a3835fb513390d7c.js +0 -1
  319. package/web/.next/standalone/packages/web/.next/static/chunks/41696.08fe09203aaf1a18.js +0 -1
  320. package/web/.next/standalone/packages/web/.next/static/chunks/41998.4a8b2f9f7d29a4dc.js +0 -1
  321. package/web/.next/standalone/packages/web/.next/static/chunks/81132.bfc52d50d21324b2.js +0 -3
  322. package/web/.next/standalone/packages/web/.next/static/chunks/84322.a03fd8fc2bb2e8d7.js +0 -1
  323. package/web/.next/standalone/packages/web/.next/static/chunks/9016-2b7d7b8b143a8323.js +0 -1
  324. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-0ba7acf47a6b3ac6.js +0 -1
  325. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-aeb1ccc1a89248d5.js +0 -1
  326. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-c447583f01d6313b.js +0 -1
  327. package/web/.next/standalone/packages/web/.next/static/css/895fa8ff3c08143e.css +0 -1
  328. package/web/.next/static/chunks/28386-0121205400994756.js +0 -1
  329. package/web/.next/static/chunks/39816.a3835fb513390d7c.js +0 -1
  330. package/web/.next/static/chunks/41696.08fe09203aaf1a18.js +0 -1
  331. package/web/.next/static/chunks/41998.4a8b2f9f7d29a4dc.js +0 -1
  332. package/web/.next/static/chunks/81132.bfc52d50d21324b2.js +0 -3
  333. package/web/.next/static/chunks/84322.a03fd8fc2bb2e8d7.js +0 -1
  334. package/web/.next/static/chunks/9016-2b7d7b8b143a8323.js +0 -1
  335. package/web/.next/static/chunks/app/page-0ba7acf47a6b3ac6.js +0 -1
  336. package/web/.next/static/chunks/app/sessions/[id]/page-aeb1ccc1a89248d5.js +0 -1
  337. package/web/.next/static/chunks/webpack-c447583f01d6313b.js +0 -1
  338. package/web/.next/static/css/895fa8ff3c08143e.css +0 -1
  339. /package/web/.next/standalone/node_modules/sharp/{lib/is.js → dist/is.cjs} +0 -0
  340. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
  341. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
  342. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
  343. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
  344. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
  345. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
  346. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
  347. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
  348. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
  349. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
  350. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
  351. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
  352. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
  353. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
  354. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
  355. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
  356. /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
  357. /package/web/.next/standalone/packages/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_buildManifest.js +0 -0
  358. /package/web/.next/standalone/packages/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_ssgManifest.js +0 -0
  359. /package/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_buildManifest.js +0 -0
  360. /package/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_ssgManifest.js +0 -0
@@ -7,25 +7,41 @@ let { isClean, my } = require('./symbols')
7
7
 
8
8
  function cloneNode(obj, parent) {
9
9
  let cloned = new obj.constructor()
10
-
11
- for (let i in obj) {
12
- if (!Object.prototype.hasOwnProperty.call(obj, i)) {
13
- /* c8 ignore next 2 */
14
- continue
15
- }
16
- if (i === 'proxyCache') continue
17
- let value = obj[i]
18
- let type = typeof value
19
-
20
- if (i === 'parent' && type === 'object') {
21
- if (parent) cloned[i] = parent
22
- } else if (i === 'source') {
23
- cloned[i] = value
24
- } else if (Array.isArray(value)) {
25
- cloned[i] = value.map(j => cloneNode(j, cloned))
26
- } else {
27
- if (type === 'object' && value !== null) value = cloneNode(value)
28
- cloned[i] = value
10
+ // An explicit stack instead of recursive calls to survive deeply
11
+ // nested trees. Each entry is [source, its clone, clone's parent].
12
+ let stack = [[obj, cloned, parent]]
13
+
14
+ while (stack.length > 0) {
15
+ let [source, target, targetParent] = stack.pop()
16
+ for (let i in source) {
17
+ if (!Object.prototype.hasOwnProperty.call(source, i)) {
18
+ /* c8 ignore next 2 */
19
+ continue
20
+ }
21
+ if (i === 'proxyCache') continue
22
+ let value = source[i]
23
+ let type = typeof value
24
+
25
+ if (i === 'parent' && type === 'object') {
26
+ if (targetParent) target[i] = targetParent
27
+ } else if (i === 'source') {
28
+ target[i] = value
29
+ } else if (Array.isArray(value)) {
30
+ let children = []
31
+ target[i] = children
32
+ for (let j of value) {
33
+ let childClone = new j.constructor()
34
+ children.push(childClone)
35
+ stack.push([j, childClone, target])
36
+ }
37
+ } else {
38
+ if (type === 'object' && value !== null) {
39
+ let valueClone = new value.constructor()
40
+ stack.push([value, valueClone, undefined])
41
+ value = valueClone
42
+ }
43
+ target[i] = value
44
+ }
29
45
  }
30
46
  }
31
47
 
@@ -69,11 +85,15 @@ class Node {
69
85
  this[isClean] = false
70
86
  this[my] = true
71
87
 
72
- for (let name in defaults) {
88
+ for (let name of Object.keys(defaults)) {
89
+ if (name === '__proto__') continue
73
90
  if (name === 'nodes') {
74
91
  this.nodes = []
75
92
  for (let node of defaults[name]) {
76
- if (typeof node.clone === 'function') {
93
+ // Clone only nodes that already belong to another tree, so passing a
94
+ // freshly created (parent-less) node adopts that instance instead of
95
+ // a copy and keeps the caller's reference usable. See #1987.
96
+ if (typeof node.clone === 'function' && node.parent) {
77
97
  this.append(node.clone())
78
98
  } else {
79
99
  this.append(node)
@@ -206,14 +226,18 @@ class Node {
206
226
  }
207
227
 
208
228
  positionBy(opts = {}) {
209
- let pos = this.source.start
229
+ let inputString =
230
+ 'document' in this.source.input
231
+ ? this.source.input.document
232
+ : this.source.input.css
233
+ let pos = {
234
+ column: this.source.start.column,
235
+ line: this.source.start.line,
236
+ offset: sourceOffset(inputString, this.source.start)
237
+ }
210
238
  if (opts.index) {
211
239
  pos = this.positionInside(opts.index)
212
240
  } else if (opts.word) {
213
- let inputString =
214
- 'document' in this.source.input
215
- ? this.source.input.document
216
- : this.source.input.css
217
241
  let stringRepresentation = inputString.slice(
218
242
  sourceOffset(inputString, this.source.start),
219
243
  sourceOffset(inputString, this.source.end)
@@ -298,7 +322,7 @@ class Node {
298
322
  line: opts.start.line,
299
323
  offset: sourceOffset(inputString, opts.start)
300
324
  }
301
- } else if (opts.index) {
325
+ } else if (typeof opts.index === 'number') {
302
326
  start = this.positionInside(opts.index)
303
327
  }
304
328
 
@@ -310,7 +334,7 @@ class Node {
310
334
  }
311
335
  } else if (typeof opts.endIndex === 'number') {
312
336
  end = this.positionInside(opts.endIndex)
313
- } else if (opts.index) {
337
+ } else if (typeof opts.index === 'number') {
314
338
  end = this.positionInside(opts.index + 1)
315
339
  }
316
340
  }
@@ -374,47 +398,68 @@ class Node {
374
398
  }
375
399
 
376
400
  toJSON(_, inputs) {
377
- let fixed = {}
378
401
  let emitInputs = inputs == null
379
402
  inputs = inputs || new Map()
380
- let inputsNextIndex = 0
381
-
382
- for (let name in this) {
383
- if (!Object.prototype.hasOwnProperty.call(this, name)) {
384
- /* c8 ignore next 2 */
385
- continue
386
- }
387
- if (name === 'parent' || name === 'proxyCache') continue
388
- let value = this[name]
389
403
 
390
- if (Array.isArray(value)) {
391
- fixed[name] = value.map(i => {
392
- if (typeof i === 'object' && i.toJSON) {
393
- return i.toJSON(null, inputs)
404
+ // A worklist instead of recursive `toJSON()` calls to survive deeply
405
+ // nested trees. Each entry converts one node and writes the result
406
+ // into the already converted parent by [holder, key].
407
+ let holderOfRoot = []
408
+ let queue = [[this, holderOfRoot, 0]]
409
+
410
+ for (let step = 0; step < queue.length; step++) {
411
+ let [node, holder, key] = queue[step]
412
+ let fixed = {}
413
+ holder[key] = fixed
414
+
415
+ for (let name in node) {
416
+ if (!Object.prototype.hasOwnProperty.call(node, name)) {
417
+ /* c8 ignore next 2 */
418
+ continue
419
+ }
420
+ if (name === 'parent' || name === 'proxyCache') continue
421
+ let value = node[name]
422
+
423
+ if (Array.isArray(value)) {
424
+ let fixedArray = []
425
+ fixed[name] = fixedArray
426
+ for (let i = 0; i < value.length; i++) {
427
+ let item = value[i]
428
+ if (typeof item === 'object' && item.toJSON) {
429
+ if (item.toJSON === Node.prototype.toJSON) {
430
+ queue.push([item, fixedArray, i])
431
+ } else {
432
+ fixedArray[i] = item.toJSON(null, inputs)
433
+ }
434
+ } else {
435
+ fixedArray[i] = item
436
+ }
437
+ }
438
+ } else if (typeof value === 'object' && value.toJSON) {
439
+ if (value.toJSON === Node.prototype.toJSON) {
440
+ queue.push([value, fixed, name])
394
441
  } else {
395
- return i
442
+ fixed[name] = value.toJSON(null, inputs)
396
443
  }
397
- })
398
- } else if (typeof value === 'object' && value.toJSON) {
399
- fixed[name] = value.toJSON(null, inputs)
400
- } else if (name === 'source') {
401
- if (value == null) continue
402
- let inputId = inputs.get(value.input)
403
- if (inputId == null) {
404
- inputId = inputsNextIndex
405
- inputs.set(value.input, inputsNextIndex)
406
- inputsNextIndex++
407
- }
408
- fixed[name] = {
409
- end: value.end,
410
- inputId,
411
- start: value.start
444
+ } else if (name === 'source') {
445
+ if (value == null) continue
446
+ let inputId = inputs.get(value.input)
447
+ if (inputId == null) {
448
+ inputId = inputs.size
449
+ inputs.set(value.input, inputId)
450
+ }
451
+ fixed[name] = {
452
+ end: value.end,
453
+ inputId,
454
+ start: value.start
455
+ }
456
+ } else {
457
+ fixed[name] = value
412
458
  }
413
- } else {
414
- fixed[name] = value
415
459
  }
416
460
  }
417
461
 
462
+ let fixed = holderOfRoot[0]
418
463
  if (emitInputs) {
419
464
  fixed.inputs = [...inputs.keys()].map(input => input.toJSON())
420
465
  }
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
3
  let { existsSync, readFileSync } = require('fs')
4
- let { dirname, join } = require('path')
4
+ let { dirname, isAbsolute, join, relative, sep } = require('path')
5
5
  let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')
6
6
 
7
7
  function fromBase64(str) {
@@ -85,11 +85,20 @@ class PreviousMap {
85
85
  }
86
86
 
87
87
  loadFile(path, cssFile, trusted) {
88
- /* c8 ignore next 5 */
89
88
  if (!trusted && !this.unsafeMap) {
90
89
  if (!/\.map$/i.test(path)) {
91
90
  return undefined
92
91
  }
92
+ if (cssFile) {
93
+ let relativePath = relative(dirname(cssFile), path)
94
+ if (
95
+ relativePath === '..' ||
96
+ relativePath.startsWith('..' + sep) ||
97
+ isAbsolute(relativePath)
98
+ ) {
99
+ return undefined
100
+ }
101
+ }
93
102
  }
94
103
  this.root = dirname(path)
95
104
  if (existsSync(path)) {
@@ -7,7 +7,7 @@ let Root = require('./root')
7
7
 
8
8
  class Processor {
9
9
  constructor(plugins = []) {
10
- this.version = '8.5.15'
10
+ this.version = '8.5.18'
11
11
  this.plugins = this.normalize(plugins)
12
12
  }
13
13
 
@@ -31,27 +31,74 @@ function capitalize(str) {
31
31
  return str[0].toUpperCase() + str.slice(1)
32
32
  }
33
33
 
34
+ function atruleStart(str, node) {
35
+ let name = '@' + node.name
36
+ let params = node.params ? str.rawValue(node, 'params') : ''
37
+
38
+ if (typeof node.raws.afterName !== 'undefined') {
39
+ name += node.raws.afterName
40
+ } else if (params) {
41
+ name += ' '
42
+ }
43
+
44
+ return name + params
45
+ }
46
+
47
+ function pushBody(str, stack, node) {
48
+ let nodes = node.nodes
49
+ let last = nodes.length - 1
50
+ while (last > 0) {
51
+ if (nodes[last].type !== 'comment') break
52
+ last -= 1
53
+ }
54
+
55
+ let semicolon = str.raw(node, 'semicolon')
56
+ let isDocument = node.type === 'document'
57
+ for (let i = nodes.length - 1; i >= 0; i--) {
58
+ stack.push({
59
+ document: isDocument,
60
+ node: nodes[i],
61
+ semicolon: last !== i || semicolon
62
+ })
63
+ }
64
+ }
65
+
66
+ function pushBlock(str, stack, node, start) {
67
+ let between = str.raw(node, 'between', 'beforeOpen')
68
+ str.builder(escapeHTMLInCSS(start + between) + '{', node, 'start')
69
+
70
+ let hasNodes = node.nodes && node.nodes.length
71
+ let close = () => {
72
+ let after = hasNodes
73
+ ? str.raw(node, 'after')
74
+ : str.raw(node, 'after', 'emptyBody')
75
+ if (after) str.builder(escapeHTMLInCSS(after))
76
+ str.builder('}', node, 'end')
77
+ if (node.type === 'rule' && node.raws.ownSemicolon) {
78
+ str.builder(escapeHTMLInCSS(node.raws.ownSemicolon), node, 'end')
79
+ }
80
+ }
81
+
82
+ if (hasNodes) {
83
+ stack.push(close)
84
+ pushBody(str, stack, node)
85
+ } else {
86
+ close()
87
+ }
88
+ }
89
+
34
90
  class Stringifier {
35
91
  constructor(builder) {
36
92
  this.builder = builder
37
93
  }
38
94
 
39
95
  atrule(node, semicolon) {
40
- let raws = node.raws
41
- let name = '@' + node.name
42
- let params = node.params ? this.rawValue(node, 'params') : ''
43
-
44
- if (typeof raws.afterName !== 'undefined') {
45
- name += raws.afterName
46
- } else if (params) {
47
- name += ' '
48
- }
49
-
96
+ let start = atruleStart(this, node)
50
97
  if (node.nodes) {
51
- this.block(node, name + params)
98
+ this.block(node, start)
52
99
  } else {
53
- let end = (raws.between || '') + (semicolon ? ';' : '')
54
- this.builder(escapeHTMLInCSS(name + params + end), node)
100
+ let end = (node.raws.between || '') + (semicolon ? ';' : '')
101
+ this.builder(escapeHTMLInCSS(start + end), node)
55
102
  }
56
103
  }
57
104
 
@@ -101,20 +148,38 @@ class Stringifier {
101
148
  }
102
149
 
103
150
  body(node) {
104
- let nodes = node.nodes
105
- let last = nodes.length - 1
106
- while (last > 0) {
107
- if (nodes[last].type !== 'comment') break
108
- last -= 1
109
- }
151
+ // Rules and at-rules are expanded into an explicit stack instead of
152
+ // recursive `stringify()` calls to survive deeply nested trees.
153
+ // If a subclass changes the traversal methods, its children go
154
+ // through `stringify()` to keep the override in charge.
155
+ let proto = Stringifier.prototype
156
+ let expandable = ['atrule', 'block', 'body', 'rule', 'stringify'].every(
157
+ method => this[method] === proto[method]
158
+ )
159
+
160
+ let stack = []
161
+ pushBody(this, stack, node)
162
+
163
+ while (stack.length > 0) {
164
+ let entry = stack.pop()
165
+ if (typeof entry === 'function') {
166
+ entry()
167
+ continue
168
+ }
110
169
 
111
- let semicolon = this.raw(node, 'semicolon')
112
- let isDocument = node.type === 'document'
113
- for (let i = 0; i < nodes.length; i++) {
114
- let child = nodes[i]
170
+ let child = entry.node
115
171
  let before = this.raw(child, 'before')
116
- if (before) this.builder(isDocument ? before : escapeHTMLInCSS(before))
117
- this.stringify(child, last !== i || semicolon)
172
+ if (before) {
173
+ this.builder(entry.document ? before : escapeHTMLInCSS(before))
174
+ }
175
+
176
+ if (expandable && child.type === 'rule') {
177
+ pushBlock(this, stack, child, this.rawValue(child, 'selector'))
178
+ } else if (expandable && child.type === 'atrule' && child.nodes) {
179
+ pushBlock(this, stack, child, atruleStart(this, child))
180
+ } else {
181
+ this.stringify(child, entry.semicolon)
182
+ }
118
183
  }
119
184
  }
120
185
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "postcss",
3
- "version": "8.5.15",
3
+ "version": "8.5.18",
4
4
  "description": "Tool for transforming styles with JS plugins",
5
5
  "keywords": [
6
6
  "css",
@@ -3,7 +3,7 @@
3
3
  SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- const is = require('./is');
6
+ const is = require('./is.cjs');
7
7
 
8
8
  /**
9
9
  * Boolean operations for bandbool.
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  const color = require('@img/colour');
7
- const is = require('./is');
7
+ const is = require('./is.cjs');
8
8
 
9
9
  /**
10
10
  * Colourspaces.
@@ -3,7 +3,7 @@
3
3
  SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- const is = require('./is');
6
+ const is = require('./is.cjs');
7
7
 
8
8
  /**
9
9
  * Blend modes.
@@ -125,6 +125,7 @@ const blend = {
125
125
  * @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image.
126
126
  * @param {string} [images[].failOn='warning'] - @see {@link /api-constructor/ constructor parameters}
127
127
  * @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor/ constructor parameters}
128
+ * @param {number|boolean} [images[].limitInputChannels=5] - @see {@link /api-constructor/ constructor parameters}
128
129
  * @returns {Sharp}
129
130
  * @throws {Error} Invalid parameters
130
131
  */
@@ -5,9 +5,9 @@
5
5
 
6
6
  const util = require('node:util');
7
7
  const stream = require('node:stream');
8
- const is = require('./is');
8
+ const is = require('./is.cjs');
9
9
 
10
- require('./sharp');
10
+ require('./sharp.cjs');
11
11
 
12
12
  // Use NODE_DEBUG=sharp to enable libvips warnings
13
13
  const debuglog = util.debuglog('sharp');
@@ -48,7 +48,7 @@ const queueListener = (queueLength) => {
48
48
  * // resize to 300 pixels wide,
49
49
  * // emit an 'info' event with calculated dimensions
50
50
  * // and finally write image data to writableStream
51
- * const { body } = fetch('https://...');
51
+ * const { body } = await fetch('https://...');
52
52
  * const readableStream = Readable.fromWeb(body);
53
53
  * const transformer = sharp()
54
54
  * .resize(300)
@@ -58,6 +58,17 @@ const queueListener = (queueLength) => {
58
58
  * readableStream.pipe(transformer).pipe(writableStream);
59
59
  *
60
60
  * @example
61
+ * // Web Streams API, requires Node.js >= 24.15.0
62
+ * const { Duplex } = require('node:stream');
63
+ *
64
+ * const { body } = await fetch('https://...');
65
+ * const transformer = Duplex.toWeb(
66
+ * sharp().resize(300),
67
+ * { readableType: 'bytes' }
68
+ * );
69
+ * body.pipeThrough(transformer).pipeTo(writable);
70
+ *
71
+ * @example
61
72
  * // Create a blank 300x200 PNG image of semi-translucent red pixels
62
73
  * sharp({
63
74
  * create: {
@@ -146,14 +157,16 @@ const queueListener = (queueLength) => {
146
157
  * An array of inputs can be provided, and these will be joined together.
147
158
  * JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data can be streamed into the object when not present.
148
159
  * @param {Object} [options] - if present, is an Object with optional attributes.
149
- * @param {string} [options.failOn='warning'] - When to abort processing of invalid pixel data, one of (in order of sensitivity, least to most): 'none', 'truncated', 'error', 'warning'. Higher levels imply lower levels. Invalid metadata will always abort.
160
+ * @param {string} [options.failOn='warning'] - When to abort processing of invalid pixel data, one of (in order of sensitivity, least to most): 'none', 'truncated', 'error', 'warning'. Higher levels imply lower levels. Invalid metadata will always abort. Use the default 'warning' level with untrusted input.
150
161
  * @param {number|boolean} [options.limitInputPixels=268402689] - Do not process input images where the number of pixels
151
162
  * (width x height) exceeds this limit. Assumes image dimensions contained in the input metadata can be trusted.
152
163
  * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF).
164
+ * @param {number|boolean} [options.limitInputChannels=5] - Do not process input images where the number of channels exceeds this limit. Assumes image metadata can be trusted.
165
+ * An integral Number of channels, zero or false to remove limit, true to use default limit of 5.
153
166
  * @param {boolean} [options.unlimited=false] - Set this to `true` to remove safety features that help prevent memory exhaustion (JPEG, PNG, SVG, HEIF).
154
167
  * @param {boolean} [options.autoOrient=false] - Set this to `true` to rotate/flip the image to match EXIF `Orientation`, if any.
155
168
  * @param {boolean} [options.sequentialRead=true] - Set this to `false` to use random access rather than sequential read. Some operations will do this automatically.
156
- * @param {number} [options.density=72] - number representing the DPI for vector images in the range 1 to 100000.
169
+ * @param {number} [options.density=72] - The DPI at which to render SVG and PDF images, in the range 1 to 100000.
157
170
  * @param {number} [options.ignoreIcc=false] - should the embedded ICC profile, if any, be ignored.
158
171
  * @param {number} [options.pages=1] - Number of pages to extract for multi-page input (GIF, WebP, TIFF), use -1 for all pages.
159
172
  * @param {number} [options.page=0] - Page number to start extracting from for multi-page input (GIF, WebP, TIFF), zero based.
@@ -278,6 +291,7 @@ const Sharp = function (input, options) {
278
291
  trimBackground: [],
279
292
  trimThreshold: -1,
280
293
  trimLineArt: false,
294
+ trimMargin: 0,
281
295
  dilateWidth: 0,
282
296
  erodeWidth: 0,
283
297
  gamma: 0,
@@ -306,6 +320,7 @@ const Sharp = function (input, options) {
306
320
  fileOut: '',
307
321
  formatOut: 'input',
308
322
  streamOut: false,
323
+ typedArrayOut: false,
309
324
  keepMetadata: 0,
310
325
  withMetadataOrientation: -1,
311
326
  withMetadataDensity: 0,
@@ -313,6 +328,8 @@ const Sharp = function (input, options) {
313
328
  withExif: {},
314
329
  withExifMerge: true,
315
330
  withXmp: '',
331
+ keepGainMap: false,
332
+ withGainMap: false,
316
333
  resolveWithObject: false,
317
334
  loop: -1,
318
335
  delay: [],
@@ -348,6 +365,7 @@ const Sharp = function (input, options) {
348
365
  webpEffort: 4,
349
366
  webpMinSize: false,
350
367
  webpMixed: false,
368
+ webpExact: false,
351
369
  gifBitdepth: 8,
352
370
  gifEffort: 7,
353
371
  gifDither: 1,
@@ -362,7 +380,7 @@ const Sharp = function (input, options) {
362
380
  tiffPredictor: 'horizontal',
363
381
  tiffPyramid: false,
364
382
  tiffMiniswhite: false,
365
- tiffBitdepth: 8,
383
+ tiffBitdepth: 0,
366
384
  tiffTile: false,
367
385
  tiffTileHeight: 256,
368
386
  tiffTileWidth: 256,
@@ -375,6 +393,7 @@ const Sharp = function (input, options) {
375
393
  heifEffort: 4,
376
394
  heifChromaSubsampling: '4:4:4',
377
395
  heifBitdepth: 8,
396
+ heifTune: 'auto',
378
397
  jxlDistance: 1,
379
398
  jxlDecodingTier: 0,
380
399
  jxlEffort: 7,
@@ -416,29 +435,33 @@ Object.setPrototypeOf(Sharp, stream.Duplex);
416
435
  * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream.
417
436
  *
418
437
  * @example
419
- * const pipeline = sharp().rotate();
420
- * pipeline.clone().resize(800, 600).pipe(firstWritableStream);
421
- * pipeline.clone().extract({ left: 20, top: 20, width: 100, height: 100 }).pipe(secondWritableStream);
422
- * readableStream.pipe(pipeline);
423
438
  * // firstWritableStream receives auto-rotated, resized readableStream
424
439
  * // secondWritableStream receives auto-rotated, extracted region of readableStream
425
440
  *
441
+ * const pipeline = sharp().rotate();
442
+ * pipeline
443
+ * .clone()
444
+ * .resize(800, 600)
445
+ * .pipe(firstWritableStream);
446
+ * pipeline
447
+ * .clone()
448
+ * .extract({ left: 20, top: 20, width: 100, height: 100 })
449
+ * .pipe(secondWritableStream);
450
+ * readableStream.pipe(pipeline);
451
+ *
426
452
  * @example
427
453
  * // Create a pipeline that will download an image, resize it and format it to different files
428
454
  * // Using Promises to know when the pipeline is complete
429
- * const fs = require("fs");
430
- * const got = require("got");
431
- * const sharpStream = sharp({ failOn: 'none' });
432
455
  *
433
- * const promises = [];
456
+ * const sharpStream = sharp();
434
457
  *
458
+ * const promises = [];
435
459
  * promises.push(
436
460
  * sharpStream
437
461
  * .clone()
438
462
  * .jpeg({ quality: 100 })
439
463
  * .toFile("originalFile.jpg")
440
464
  * );
441
- *
442
465
  * promises.push(
443
466
  * sharpStream
444
467
  * .clone()
@@ -446,7 +469,6 @@ Object.setPrototypeOf(Sharp, stream.Duplex);
446
469
  * .jpeg({ quality: 80 })
447
470
  * .toFile("optimized-500.jpg")
448
471
  * );
449
- *
450
472
  * promises.push(
451
473
  * sharpStream
452
474
  * .clone()
@@ -455,19 +477,9 @@ Object.setPrototypeOf(Sharp, stream.Duplex);
455
477
  * .toFile("optimized-500.webp")
456
478
  * );
457
479
  *
458
- * // https://github.com/sindresorhus/got/blob/main/documentation/3-streams.md
459
- * got.stream("https://www.example.com/some-file.jpg").pipe(sharpStream);
460
- *
461
- * Promise.all(promises)
462
- * .then(res => { console.log("Done!", res); })
463
- * .catch(err => {
464
- * console.error("Error processing files, let's clean it up", err);
465
- * try {
466
- * fs.unlinkSync("originalFile.jpg");
467
- * fs.unlinkSync("optimized-500.jpg");
468
- * fs.unlinkSync("optimized-500.webp");
469
- * } catch (e) {}
470
- * });
480
+ * const res = await fetch("https://www.example.com/some-file.jpg")
481
+ * Readable.fromWeb(res.body).pipe(sharpStream);
482
+ * await Promise.all(promises);
471
483
  *
472
484
  * @returns {Sharp}
473
485
  */
@@ -0,0 +1,25 @@
1
+ /*!
2
+ Copyright 2013 Lovell Fuller and others.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ const Sharp = require('./constructor.cjs');
7
+ const input = require('./input.cjs');
8
+ const resize = require('./resize.cjs');
9
+ const composite = require('./composite.cjs');
10
+ const operation = require('./operation.cjs');
11
+ const colour = require('./colour.cjs');
12
+ const channel = require('./channel.cjs');
13
+ const output = require('./output.cjs');
14
+ const utility = require('./utility.cjs');
15
+
16
+ input(Sharp);
17
+ resize(Sharp);
18
+ composite(Sharp);
19
+ operation(Sharp);
20
+ colour(Sharp);
21
+ channel(Sharp);
22
+ output(Sharp);
23
+ utility(Sharp);
24
+
25
+ module.exports = Sharp;