@psnext/slingcli 2.4.20260515-1 → 2.4.20260516-1

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 (414) hide show
  1. package/bin/sling.js +30 -0
  2. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/endpoint/endpointResolver.js +2 -2
  3. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +9 -13
  4. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.browser.js +5 -5
  5. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.js +2 -3
  6. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/BedrockRuntimeClient.js +1 -4
  7. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/endpointResolver.js +1 -1
  8. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.browser.js +1 -1
  9. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.js +1 -2
  10. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeExtensions.js +1 -1
  11. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/BedrockRuntimeClient.d.ts +1 -2
  12. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.browser.d.ts +1 -1
  13. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.d.ts +1 -1
  14. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.native.d.ts +1 -1
  15. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/BedrockRuntimeClient.d.ts +5 -7
  16. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -1
  17. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.d.ts +1 -1
  18. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -1
  19. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +11 -19
  20. package/node_modules/@aws-sdk/core/dist-cjs/index.js +4 -6
  21. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.browser.js +595 -0
  22. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +715 -0
  23. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.native.js +588 -0
  24. package/node_modules/@aws-sdk/core/dist-es/index.js +3 -3
  25. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.browser.js +36 -0
  26. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +26 -4
  27. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.native.js +37 -0
  28. package/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.js +3 -0
  29. package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/check-features.js +1 -1
  30. package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/user-agent-middleware.js +1 -1
  31. package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/partition.js +1 -1
  32. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js +1 -0
  33. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.browser.js +1 -0
  34. package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/nodeAppIdConfigOptions.js +1 -1
  35. package/node_modules/@aws-sdk/core/dist-types/api-extractor-type-index.d.ts +3 -2
  36. package/node_modules/@aws-sdk/core/dist-types/index.d.ts +12 -14
  37. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +47 -0
  38. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +38 -4
  39. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +48 -0
  40. package/node_modules/@aws-sdk/core/dist-types/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +5 -0
  41. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/lib/aws/partitions.d.ts +638 -0
  42. package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types → core/dist-types/submodules/client/util-user-agent-browser}/createUserAgentStringParsingProvider.d.ts +1 -1
  43. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +1 -0
  44. package/node_modules/@aws-sdk/core/dist-types/ts3.4/api-extractor-type-index.d.ts +0 -2
  45. package/node_modules/@aws-sdk/core/dist-types/ts3.4/index.d.ts +65 -3
  46. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +116 -0
  47. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +123 -4
  48. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +116 -0
  49. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +4 -0
  50. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/partitions.d.ts +647 -0
  51. package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-browser}/createUserAgentStringParsingProvider.d.ts +1 -1
  52. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +1 -0
  53. package/node_modules/@aws-sdk/core/package.json +26 -7
  54. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  55. package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  56. package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
  57. package/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
  58. package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
  59. package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
  60. package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
  61. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
  62. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +2 -2
  63. package/node_modules/@aws-sdk/middleware-eventstream/package.json +2 -2
  64. package/node_modules/@aws-sdk/middleware-websocket/package.json +5 -5
  65. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +13 -20
  66. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +13 -20
  67. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +13 -20
  68. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +13 -20
  69. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +14 -21
  70. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/CognitoIdentityClient.js +1 -4
  71. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/endpointResolver.js +1 -1
  72. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.browser.js +1 -1
  73. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +1 -2
  74. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeExtensions.js +1 -1
  75. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js +1 -4
  76. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +1 -1
  77. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.browser.js +1 -1
  78. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +1 -2
  79. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js +1 -1
  80. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSOClient.js +1 -4
  81. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js +1 -1
  82. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.browser.js +1 -1
  83. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +1 -2
  84. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeExtensions.js +1 -1
  85. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js +1 -4
  86. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js +1 -1
  87. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.browser.js +1 -1
  88. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +1 -2
  89. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js +1 -1
  90. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +1 -4
  91. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js +1 -2
  92. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js +1 -1
  93. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.browser.js +1 -1
  94. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +1 -2
  95. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js +1 -1
  96. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentityClient.d.ts +1 -2
  97. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.browser.d.ts +1 -1
  98. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +1 -1
  99. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.native.d.ts +1 -1
  100. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +1 -2
  101. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.browser.d.ts +1 -1
  102. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +1 -1
  103. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.native.d.ts +1 -1
  104. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/SSOClient.d.ts +1 -2
  105. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.browser.d.ts +1 -1
  106. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +1 -1
  107. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.native.d.ts +1 -1
  108. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDCClient.d.ts +1 -2
  109. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.browser.d.ts +1 -1
  110. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +1 -1
  111. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.native.d.ts +1 -1
  112. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +1 -2
  113. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +1 -1
  114. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +1 -1
  115. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +1 -1
  116. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/CognitoIdentityClient.d.ts +1 -3
  117. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.browser.d.ts +1 -1
  118. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +1 -1
  119. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.native.d.ts +1 -1
  120. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/SigninClient.d.ts +1 -3
  121. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.browser.d.ts +1 -1
  122. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +1 -1
  123. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.native.d.ts +1 -1
  124. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/SSOClient.d.ts +1 -3
  125. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.browser.d.ts +1 -1
  126. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +1 -1
  127. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.native.d.ts +1 -1
  128. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/SSOOIDCClient.d.ts +1 -3
  129. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.browser.d.ts +1 -1
  130. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +1 -1
  131. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.native.d.ts +1 -1
  132. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/STSClient.d.ts +1 -3
  133. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +1 -1
  134. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +1 -1
  135. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +1 -1
  136. package/node_modules/@aws-sdk/nested-clients/package.json +6 -14
  137. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +3 -3
  138. package/node_modules/@aws-sdk/token-providers/package.json +4 -4
  139. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +52 -545
  140. package/node_modules/@mariozechner/clipboard/Cargo.toml +21 -2
  141. package/node_modules/@mariozechner/clipboard/README.md +2 -0
  142. package/node_modules/@mariozechner/clipboard/package.json +11 -11
  143. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/common.rs +307 -0
  144. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/mod.rs +93 -0
  145. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/ios.rs +313 -0
  146. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/macos.rs +471 -0
  147. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/mod.rs +252 -0
  148. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/wayland.rs +431 -0
  149. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/win.rs +712 -0
  150. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/x11.rs +916 -0
  151. package/node_modules/@mariozechner/clipboard/src/lib.rs +3 -0
  152. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  153. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +1 -1
  154. package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
  155. package/node_modules/@protobufjs/fetch/index.d.ts +7 -7
  156. package/node_modules/@protobufjs/fetch/index.js +4 -7
  157. package/node_modules/@protobufjs/fetch/package.json +7 -5
  158. package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
  159. package/node_modules/@protobufjs/fetch/tests/index.js +150 -8
  160. package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
  161. package/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
  162. package/node_modules/@protobufjs/inquire/index.d.ts +1 -0
  163. package/node_modules/@protobufjs/inquire/index.js +1 -0
  164. package/node_modules/@protobufjs/inquire/package.json +1 -1
  165. package/node_modules/@smithy/core/package.json +2 -2
  166. package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
  167. package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
  168. package/node_modules/@smithy/node-http-handler/package.json +4 -4
  169. package/node_modules/@smithy/signature-v4/package.json +3 -3
  170. package/node_modules/@smithy/types/README.md +3 -3
  171. package/node_modules/@smithy/types/dist-types/abort.d.ts +4 -6
  172. package/node_modules/@smithy/types/dist-types/auth/auth.d.ts +6 -4
  173. package/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts +7 -10
  174. package/node_modules/@smithy/types/dist-types/checksum.d.ts +4 -6
  175. package/node_modules/@smithy/types/dist-types/client.d.ts +8 -8
  176. package/node_modules/@smithy/types/dist-types/command.d.ts +2 -2
  177. package/node_modules/@smithy/types/dist-types/crypto.d.ts +6 -8
  178. package/node_modules/@smithy/types/dist-types/downlevel-ts3.4/transform/type-transform.d.ts +6 -7
  179. package/node_modules/@smithy/types/dist-types/eventStream.d.ts +10 -10
  180. package/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts +9 -10
  181. package/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts +2 -2
  182. package/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts +10 -10
  183. package/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +2 -2
  184. package/node_modules/@smithy/types/dist-types/http.d.ts +18 -21
  185. package/node_modules/@smithy/types/dist-types/logger.d.ts +2 -2
  186. package/node_modules/@smithy/types/dist-types/middleware.d.ts +28 -27
  187. package/node_modules/@smithy/types/dist-types/pagination.d.ts +4 -4
  188. package/node_modules/@smithy/types/dist-types/serde.d.ts +10 -10
  189. package/node_modules/@smithy/types/dist-types/shapes.d.ts +9 -12
  190. package/node_modules/@smithy/types/dist-types/signature.d.ts +4 -4
  191. package/node_modules/@smithy/types/dist-types/stream.d.ts +2 -2
  192. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts +7 -11
  193. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts +23 -29
  194. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts +9 -19
  195. package/node_modules/@smithy/types/dist-types/transfer.d.ts +2 -1
  196. package/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts +4 -4
  197. package/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts +14 -18
  198. package/node_modules/@smithy/types/dist-types/transform/exact.d.ts +2 -2
  199. package/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +12 -12
  200. package/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts +14 -9
  201. package/node_modules/@smithy/types/dist-types/uri.d.ts +2 -2
  202. package/node_modules/@smithy/types/dist-types/util.d.ts +28 -28
  203. package/node_modules/@smithy/types/package.json +1 -1
  204. package/node_modules/protobufjs/dist/light/protobuf.js +187 -153
  205. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  206. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  207. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  208. package/node_modules/protobufjs/dist/minimal/protobuf.js +14 -5
  209. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  210. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  211. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  212. package/node_modules/protobufjs/dist/protobuf.js +207 -173
  213. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  214. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  215. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  216. package/node_modules/protobufjs/package.json +6 -3
  217. package/node_modules/protobufjs/src/util/fs.js +11 -0
  218. package/node_modules/protobufjs/src/util/minimal.js +10 -2
  219. package/node_modules/protobufjs/src/util.js +1 -1
  220. package/package.json +2 -2
  221. package/slingshot/index.js +108 -108
  222. package/node_modules/@aws-sdk/middleware-host-header/LICENSE +0 -201
  223. package/node_modules/@aws-sdk/middleware-host-header/README.md +0 -4
  224. package/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +0 -41
  225. package/node_modules/@aws-sdk/middleware-host-header/package.json +0 -59
  226. package/node_modules/@aws-sdk/middleware-logger/LICENSE +0 -201
  227. package/node_modules/@aws-sdk/middleware-logger/README.md +0 -4
  228. package/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +0 -48
  229. package/node_modules/@aws-sdk/middleware-logger/dist-es/index.js +0 -1
  230. package/node_modules/@aws-sdk/middleware-logger/dist-types/index.d.ts +0 -1
  231. package/node_modules/@aws-sdk/middleware-logger/dist-types/ts3.4/index.d.ts +0 -1
  232. package/node_modules/@aws-sdk/middleware-logger/package.json +0 -59
  233. package/node_modules/@aws-sdk/middleware-recursion-detection/LICENSE +0 -201
  234. package/node_modules/@aws-sdk/middleware-recursion-detection/README.md +0 -17
  235. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +0 -29
  236. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.browser.js +0 -5
  237. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.js +0 -33
  238. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.native.js +0 -5
  239. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js +0 -2
  240. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-types/index.d.ts +0 -2
  241. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-types/ts3.4/index.d.ts +0 -2
  242. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +0 -66
  243. package/node_modules/@aws-sdk/middleware-user-agent/LICENSE +0 -201
  244. package/node_modules/@aws-sdk/middleware-user-agent/README.md +0 -4
  245. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +0 -194
  246. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js +0 -2
  247. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/index.d.ts +0 -2
  248. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/index.d.ts +0 -2
  249. package/node_modules/@aws-sdk/middleware-user-agent/package.json +0 -61
  250. package/node_modules/@aws-sdk/region-config-resolver/LICENSE +0 -201
  251. package/node_modules/@aws-sdk/region-config-resolver/README.md +0 -19
  252. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +0 -38
  253. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.browser.js +0 -6
  254. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.js +0 -19
  255. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.native.js +0 -6
  256. package/node_modules/@aws-sdk/region-config-resolver/dist-es/index.js +0 -3
  257. package/node_modules/@aws-sdk/region-config-resolver/dist-types/index.d.ts +0 -3
  258. package/node_modules/@aws-sdk/region-config-resolver/dist-types/ts3.4/index.d.ts +0 -3
  259. package/node_modules/@aws-sdk/region-config-resolver/package.json +0 -64
  260. package/node_modules/@aws-sdk/util-endpoints/LICENSE +0 -201
  261. package/node_modules/@aws-sdk/util-endpoints/README.md +0 -6
  262. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +0 -406
  263. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +0 -267
  264. package/node_modules/@aws-sdk/util-endpoints/dist-es/index.js +0 -6
  265. package/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js +0 -3
  266. package/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +0 -267
  267. package/node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js +0 -6
  268. package/node_modules/@aws-sdk/util-endpoints/dist-types/index.d.ts +0 -6
  269. package/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/index.d.ts +0 -3
  270. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/index.d.ts +0 -6
  271. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/index.d.ts +0 -3
  272. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/index.d.ts +0 -6
  273. package/node_modules/@aws-sdk/util-endpoints/dist-types/types/index.d.ts +0 -6
  274. package/node_modules/@aws-sdk/util-endpoints/package.json +0 -59
  275. package/node_modules/@aws-sdk/util-user-agent-browser/LICENSE +0 -201
  276. package/node_modules/@aws-sdk/util-user-agent-browser/README.md +0 -29
  277. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/createUserAgentStringParsingProvider.js +0 -24
  278. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.browser.js +0 -4
  279. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.js +0 -61
  280. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.native.js +0 -22
  281. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.browser.js +0 -1
  282. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.browser.d.ts +0 -1
  283. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/index.browser.d.ts +0 -1
  284. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +0 -60
  285. package/node_modules/@aws-sdk/util-user-agent-node/LICENSE +0 -201
  286. package/node_modules/@aws-sdk/util-user-agent-node/README.md +0 -17
  287. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +0 -185
  288. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/index.js +0 -2
  289. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/index.d.ts +0 -2
  290. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/index.d.ts +0 -2
  291. package/node_modules/@aws-sdk/util-user-agent-node/package.json +0 -68
  292. /package/node_modules/@aws-sdk/{middleware-host-header/dist-es/index.js → core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js} +0 -0
  293. /package/node_modules/@aws-sdk/{middleware-logger/dist-es → core/dist-es/submodules/client/middleware-logger}/loggerMiddleware.js +0 -0
  294. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/configuration.js +0 -0
  295. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/getRecursionDetectionPlugin.js +0 -0
  296. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.js +0 -0
  297. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.js +0 -0
  298. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.js +0 -0
  299. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/configurations.js +0 -0
  300. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/constants.js +0 -0
  301. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/encode-features.js +0 -0
  302. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/awsRegionConfig.js +0 -0
  303. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/extensions/index.js → core/dist-es/submodules/client/region-config-resolver/extensions.js} +0 -0
  304. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.browser.js +0 -0
  305. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.js +0 -0
  306. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.native.js +0 -0
  307. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/aws.js +0 -0
  308. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.js +0 -0
  309. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/parseArn.js +0 -0
  310. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/isIpAddress.js +0 -0
  311. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.js +0 -0
  312. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/resolveEndpoint.js +0 -0
  313. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/EndpointError.js +0 -0
  314. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/EndpointRuleObject.js +0 -0
  315. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/ErrorRuleObject.js +0 -0
  316. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/RuleSetObject.js +0 -0
  317. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/TreeRuleObject.js +0 -0
  318. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/shared.js +0 -0
  319. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es → core/dist-es/submodules/client/util-user-agent-browser}/configurations.js +0 -0
  320. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es → core/dist-es/submodules/client/util-user-agent-browser}/createUserAgentStringParsingProvider.js +0 -0
  321. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es/index.js → core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js} +0 -0
  322. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es/index.native.js → core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.native.js} +0 -0
  323. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/crt-availability.js +0 -0
  324. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/defaultUserAgent.js +0 -0
  325. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getNodeModulesParentDirs.js +0 -0
  326. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getRuntimeUserAgentPair.js +0 -0
  327. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getSanitizedDevTypeScriptVersion.js +0 -0
  328. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getSanitizedTypeScriptVersion.js +0 -0
  329. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getTypeScriptUserAgentPair.js +0 -0
  330. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/is-crt-available.js +0 -0
  331. /package/node_modules/@aws-sdk/{middleware-host-header/dist-types/index.d.ts → core/dist-types/submodules/client/middleware-host-header/hostHeaderMiddleware.d.ts} +0 -0
  332. /package/node_modules/@aws-sdk/{middleware-logger/dist-types → core/dist-types/submodules/client/middleware-logger}/loggerMiddleware.d.ts +0 -0
  333. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/configuration.d.ts +0 -0
  334. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/getRecursionDetectionPlugin.d.ts → core/dist-types/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.d.ts} +0 -0
  335. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.d.ts +0 -0
  336. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.d.ts +0 -0
  337. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.d.ts +0 -0
  338. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/check-features.d.ts +0 -0
  339. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/configurations.d.ts +0 -0
  340. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/constants.d.ts +0 -0
  341. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/encode-features.d.ts +0 -0
  342. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/user-agent-middleware.d.ts +0 -0
  343. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/awsRegionConfig.d.ts +0 -0
  344. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/extensions/index.d.ts → core/dist-types/submodules/client/region-config-resolver/extensions.d.ts} +0 -0
  345. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/stsRegionDefaultResolver.browser.d.ts +0 -0
  346. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/stsRegionDefaultResolver.d.ts +0 -0
  347. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/stsRegionDefaultResolver.native.d.ts +0 -0
  348. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/aws.d.ts +0 -0
  349. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.d.ts +0 -0
  350. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/parseArn.d.ts +0 -0
  351. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/partition.d.ts +0 -0
  352. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/isIpAddress.d.ts +0 -0
  353. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.d.ts +0 -0
  354. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/resolveEndpoint.d.ts +0 -0
  355. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/EndpointError.d.ts +0 -0
  356. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/EndpointRuleObject.d.ts +0 -0
  357. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/ErrorRuleObject.d.ts +0 -0
  358. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/RuleSetObject.d.ts +0 -0
  359. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/TreeRuleObject.d.ts +0 -0
  360. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/shared.d.ts +0 -0
  361. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types → core/dist-types/submodules/client/util-user-agent-browser}/configurations.d.ts +0 -0
  362. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/index.d.ts → core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.d.ts} +0 -0
  363. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/index.native.d.ts → core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.native.d.ts} +0 -0
  364. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/crt-availability.d.ts +0 -0
  365. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/defaultUserAgent.d.ts +0 -0
  366. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getNodeModulesParentDirs.d.ts +0 -0
  367. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getRuntimeUserAgentPair.d.ts +0 -0
  368. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getSanitizedDevTypeScriptVersion.d.ts +0 -0
  369. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getSanitizedTypeScriptVersion.d.ts +0 -0
  370. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getTypeScriptUserAgentPair.d.ts +0 -0
  371. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/is-crt-available.d.ts +0 -0
  372. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/nodeAppIdConfigOptions.d.ts +0 -0
  373. /package/node_modules/@aws-sdk/{middleware-host-header/dist-types/ts3.4/index.d.ts → core/dist-types/ts3.4/submodules/client/middleware-host-header/hostHeaderMiddleware.d.ts} +0 -0
  374. /package/node_modules/@aws-sdk/{middleware-logger/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-logger}/loggerMiddleware.d.ts +0 -0
  375. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/configuration.d.ts +0 -0
  376. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4/getRecursionDetectionPlugin.d.ts → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.d.ts} +0 -0
  377. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.d.ts +0 -0
  378. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.d.ts +0 -0
  379. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.d.ts +0 -0
  380. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/check-features.d.ts +0 -0
  381. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/configurations.d.ts +0 -0
  382. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/constants.d.ts +0 -0
  383. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/encode-features.d.ts +0 -0
  384. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/user-agent-middleware.d.ts +0 -0
  385. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/awsRegionConfig.d.ts +0 -0
  386. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/extensions/index.d.ts → core/dist-types/ts3.4/submodules/client/region-config-resolver/extensions.d.ts} +0 -0
  387. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/stsRegionDefaultResolver.browser.d.ts +0 -0
  388. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/stsRegionDefaultResolver.d.ts +0 -0
  389. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/stsRegionDefaultResolver.native.d.ts +0 -0
  390. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/aws.d.ts +0 -0
  391. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.d.ts +0 -0
  392. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/aws/parseArn.d.ts +0 -0
  393. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/aws/partition.d.ts +0 -0
  394. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/isIpAddress.d.ts +0 -0
  395. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.d.ts +0 -0
  396. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/resolveEndpoint.d.ts +0 -0
  397. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/EndpointError.d.ts +0 -0
  398. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/EndpointRuleObject.d.ts +0 -0
  399. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/ErrorRuleObject.d.ts +0 -0
  400. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/RuleSetObject.d.ts +0 -0
  401. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/TreeRuleObject.d.ts +0 -0
  402. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/shared.d.ts +0 -0
  403. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-browser}/configurations.d.ts +0 -0
  404. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4/index.d.ts → core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.d.ts} +0 -0
  405. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4/index.native.d.ts → core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.native.d.ts} +0 -0
  406. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/crt-availability.d.ts +0 -0
  407. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/defaultUserAgent.d.ts +0 -0
  408. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getNodeModulesParentDirs.d.ts +0 -0
  409. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getRuntimeUserAgentPair.d.ts +0 -0
  410. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getSanitizedDevTypeScriptVersion.d.ts +0 -0
  411. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getSanitizedTypeScriptVersion.d.ts +0 -0
  412. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getTypeScriptUserAgentPair.d.ts +0 -0
  413. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/is-crt-available.d.ts +0 -0
  414. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/nodeAppIdConfigOptions.d.ts +0 -0
@@ -0,0 +1,252 @@
1
+ #[cfg(target_os = "ios")]
2
+ mod ios;
3
+ #[cfg(target_os = "ios")]
4
+ pub use ios::{ClipboardContext, ClipboardWatcherContext, WatcherShutdown};
5
+ #[cfg(target_os = "macos")]
6
+ mod macos;
7
+ #[cfg(target_os = "macos")]
8
+ pub use macos::{ClipboardContext, ClipboardWatcherContext, WatcherShutdown};
9
+ #[cfg(target_os = "windows")]
10
+ mod win;
11
+ #[cfg(target_os = "windows")]
12
+ pub use win::{ClipboardContext, ClipboardWatcherContext, WatcherShutdown};
13
+
14
+ // Linux: runtime detection between Wayland and X11
15
+ #[cfg(all(
16
+ unix,
17
+ not(any(
18
+ target_os = "macos",
19
+ target_os = "ios",
20
+ target_os = "android",
21
+ target_os = "emscripten"
22
+ ))
23
+ ))]
24
+ mod x11;
25
+
26
+ #[cfg(all(
27
+ unix,
28
+ not(any(
29
+ target_os = "macos",
30
+ target_os = "ios",
31
+ target_os = "android",
32
+ target_os = "emscripten"
33
+ )),
34
+ feature = "wayland"
35
+ ))]
36
+ mod wayland;
37
+
38
+ #[cfg(all(
39
+ unix,
40
+ not(any(
41
+ target_os = "macos",
42
+ target_os = "ios",
43
+ target_os = "android",
44
+ target_os = "emscripten"
45
+ ))
46
+ ))]
47
+ pub use x11::ClipboardContextX11Options;
48
+
49
+ #[cfg(all(
50
+ unix,
51
+ not(any(
52
+ target_os = "macos",
53
+ target_os = "ios",
54
+ target_os = "android",
55
+ target_os = "emscripten"
56
+ ))
57
+ ))]
58
+ mod linux_clipboard {
59
+ use crate::clipboard_rs::{
60
+ common::Result, Clipboard, ClipboardContent, ClipboardHandler, ContentFormat,
61
+ };
62
+ #[cfg(feature = "image")]
63
+ use crate::RustImageData;
64
+
65
+ pub enum ClipboardContext {
66
+ X11(super::x11::ClipboardContext),
67
+ #[cfg(feature = "wayland")]
68
+ Wayland(super::wayland::ClipboardContext),
69
+ }
70
+
71
+ impl ClipboardContext {
72
+ pub fn new() -> Result<Self> {
73
+ #[cfg(feature = "wayland")]
74
+ {
75
+ if std::env::var_os("WAYLAND_DISPLAY").is_some() {
76
+ match super::wayland::ClipboardContext::new() {
77
+ Ok(ctx) => return Ok(Self::Wayland(ctx)),
78
+ Err(e) => {
79
+ eprintln!("Wayland clipboard init failed, falling back to X11: {}", e);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ Ok(Self::X11(super::x11::ClipboardContext::new()?))
85
+ }
86
+ }
87
+
88
+ macro_rules! dispatch {
89
+ ($self:expr, $method:ident $(, $arg:expr)*) => {
90
+ match $self {
91
+ ClipboardContext::X11(ctx) => ctx.$method($($arg),*),
92
+ #[cfg(feature = "wayland")]
93
+ ClipboardContext::Wayland(ctx) => ctx.$method($($arg),*),
94
+ }
95
+ };
96
+ }
97
+
98
+ impl Clipboard for ClipboardContext {
99
+ fn available_formats(&self) -> Result<Vec<String>> {
100
+ dispatch!(self, available_formats)
101
+ }
102
+
103
+ fn has(&self, format: ContentFormat) -> bool {
104
+ dispatch!(self, has, format)
105
+ }
106
+
107
+ fn clear(&self) -> Result<()> {
108
+ dispatch!(self, clear)
109
+ }
110
+
111
+ fn get_buffer(&self, format: &str) -> Result<Vec<u8>> {
112
+ dispatch!(self, get_buffer, format)
113
+ }
114
+
115
+ fn get_text(&self) -> Result<String> {
116
+ dispatch!(self, get_text)
117
+ }
118
+
119
+ fn get_rich_text(&self) -> Result<String> {
120
+ dispatch!(self, get_rich_text)
121
+ }
122
+
123
+ fn get_html(&self) -> Result<String> {
124
+ dispatch!(self, get_html)
125
+ }
126
+
127
+ #[cfg(feature = "image")]
128
+ fn get_image(&self) -> Result<RustImageData> {
129
+ dispatch!(self, get_image)
130
+ }
131
+
132
+ fn get_files(&self) -> Result<Vec<String>> {
133
+ dispatch!(self, get_files)
134
+ }
135
+
136
+ fn get(&self, formats: &[ContentFormat]) -> Result<Vec<ClipboardContent>> {
137
+ dispatch!(self, get, formats)
138
+ }
139
+
140
+ fn set_buffer(&self, format: &str, buffer: Vec<u8>) -> Result<()> {
141
+ dispatch!(self, set_buffer, format, buffer)
142
+ }
143
+
144
+ fn set_text(&self, text: String) -> Result<()> {
145
+ dispatch!(self, set_text, text)
146
+ }
147
+
148
+ fn set_rich_text(&self, text: String) -> Result<()> {
149
+ dispatch!(self, set_rich_text, text)
150
+ }
151
+
152
+ fn set_html(&self, html: String) -> Result<()> {
153
+ dispatch!(self, set_html, html)
154
+ }
155
+
156
+ #[cfg(feature = "image")]
157
+ fn set_image(&self, image: RustImageData) -> Result<()> {
158
+ dispatch!(self, set_image, image)
159
+ }
160
+
161
+ fn set_files(&self, files: Vec<String>) -> Result<()> {
162
+ dispatch!(self, set_files, files)
163
+ }
164
+
165
+ fn set(&self, contents: Vec<ClipboardContent>) -> Result<()> {
166
+ dispatch!(self, set, contents)
167
+ }
168
+ }
169
+
170
+ unsafe impl Send for ClipboardContext {}
171
+
172
+ pub enum ClipboardWatcherContext<T: ClipboardHandler> {
173
+ X11(super::x11::ClipboardWatcherContext<T>),
174
+ #[cfg(feature = "wayland")]
175
+ Wayland(super::wayland::ClipboardWatcherContext<T>),
176
+ }
177
+
178
+ impl<T: ClipboardHandler> ClipboardWatcherContext<T> {
179
+ pub fn new() -> Result<Self> {
180
+ #[cfg(feature = "wayland")]
181
+ {
182
+ if std::env::var_os("WAYLAND_DISPLAY").is_some() {
183
+ match super::wayland::ClipboardWatcherContext::new() {
184
+ Ok(ctx) => return Ok(Self::Wayland(ctx)),
185
+ Err(e) => {
186
+ eprintln!("Wayland watcher init failed, falling back to X11: {}", e);
187
+ }
188
+ }
189
+ }
190
+ }
191
+ Ok(Self::X11(super::x11::ClipboardWatcherContext::new()?))
192
+ }
193
+ }
194
+
195
+ impl<T: ClipboardHandler + Send> crate::ClipboardWatcher<T> for ClipboardWatcherContext<T> {
196
+ fn add_handler(&mut self, f: T) -> &mut Self {
197
+ match self {
198
+ Self::X11(ctx) => {
199
+ ctx.handlers.push(f);
200
+ }
201
+ #[cfg(feature = "wayland")]
202
+ Self::Wayland(ctx) => {
203
+ ctx.handlers.push(f);
204
+ }
205
+ }
206
+ self
207
+ }
208
+
209
+ fn start_watch(&mut self) {
210
+ match self {
211
+ Self::X11(ctx) => ctx.start_watch_inner(),
212
+ #[cfg(feature = "wayland")]
213
+ Self::Wayland(ctx) => ctx.start_watch_inner(),
214
+ }
215
+ }
216
+
217
+ fn get_shutdown_channel(&self) -> WatcherShutdown {
218
+ match self {
219
+ Self::X11(ctx) => WatcherShutdown {
220
+ _shutdown: Box::new(ctx.get_shutdown_channel()),
221
+ },
222
+ #[cfg(feature = "wayland")]
223
+ Self::Wayland(ctx) => WatcherShutdown {
224
+ _shutdown: Box::new(ctx.get_shutdown_channel()),
225
+ },
226
+ }
227
+ }
228
+ }
229
+
230
+ unsafe impl<T: ClipboardHandler + Send> Send for ClipboardWatcherContext<T> {}
231
+
232
+ pub struct WatcherShutdown {
233
+ _shutdown: Box<dyn std::any::Any + Send>,
234
+ }
235
+
236
+ impl WatcherShutdown {
237
+ pub fn stop(self) {
238
+ drop(self);
239
+ }
240
+ }
241
+ }
242
+
243
+ #[cfg(all(
244
+ unix,
245
+ not(any(
246
+ target_os = "macos",
247
+ target_os = "ios",
248
+ target_os = "android",
249
+ target_os = "emscripten"
250
+ ))
251
+ ))]
252
+ pub use linux_clipboard::{ClipboardContext, ClipboardWatcherContext, WatcherShutdown};
@@ -0,0 +1,431 @@
1
+ use crate::clipboard_rs::{
2
+ common::Result, Clipboard, ClipboardContent, ClipboardHandler, ContentFormat,
3
+ };
4
+
5
+ #[cfg(feature = "image")]
6
+ use crate::clipboard_rs::{common::RustImage, RustImageData};
7
+
8
+ use std::io::Read;
9
+ use std::sync::mpsc::{self, Receiver, Sender};
10
+ use std::time::Duration;
11
+ use wl_clipboard_rs::{
12
+ copy::{self, MimeSource, MimeType, Options, Source},
13
+ paste::{self, get_contents, get_mime_types, ClipboardType, Seat},
14
+ utils::is_primary_selection_supported,
15
+ };
16
+
17
+ const MIME_HTML: &str = "text/html";
18
+ const MIME_RTF: &str = "text/rtf";
19
+ #[cfg(feature = "image")]
20
+ const MIME_PNG: &str = "image/png";
21
+ const MIME_URI_LIST: &str = "text/uri-list";
22
+ const FILE_PATH_PREFIX: &str = "file://";
23
+
24
+ fn read_wayland_clipboard(mime: paste::MimeType) -> Result<Vec<u8>> {
25
+ let result = get_contents(ClipboardType::Regular, Seat::Unspecified, mime);
26
+ match result {
27
+ Ok((mut pipe, _)) => {
28
+ let mut buffer = vec![];
29
+ pipe
30
+ .read_to_end(&mut buffer)
31
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })?;
32
+ Ok(buffer)
33
+ }
34
+ Err(paste::Error::ClipboardEmpty) | Err(paste::Error::NoMimeType) => {
35
+ Err("Clipboard is empty or content type not available".into())
36
+ }
37
+ Err(e) => Err(e.to_string().into()),
38
+ }
39
+ }
40
+
41
+ fn write_wayland_clipboard(sources: Vec<MimeSource>) -> Result<()> {
42
+ let mut opts = Options::new();
43
+ opts.foreground(false);
44
+ opts.clipboard(copy::ClipboardType::Regular);
45
+ opts
46
+ .copy_multi(sources)
47
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })?;
48
+ Ok(())
49
+ }
50
+
51
+ fn get_offered_mime_types() -> Result<std::collections::HashSet<String>> {
52
+ get_mime_types(ClipboardType::Regular, Seat::Unspecified)
53
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })
54
+ }
55
+
56
+ pub struct ClipboardContext;
57
+
58
+ impl ClipboardContext {
59
+ pub fn new() -> Result<Self> {
60
+ match is_primary_selection_supported() {
61
+ Ok(_) => Ok(Self),
62
+ Err(e) => Err(e.to_string().into()),
63
+ }
64
+ }
65
+ }
66
+
67
+ impl Clipboard for ClipboardContext {
68
+ fn available_formats(&self) -> Result<Vec<String>> {
69
+ let mime_types = get_offered_mime_types()?;
70
+ Ok(mime_types.into_iter().collect())
71
+ }
72
+
73
+ fn has(&self, format: ContentFormat) -> bool {
74
+ #[allow(unreachable_patterns)]
75
+ let mime_to_check = match format {
76
+ ContentFormat::Text => "text/plain",
77
+ ContentFormat::Html => MIME_HTML,
78
+ ContentFormat::Rtf => MIME_RTF,
79
+ #[cfg(feature = "image")]
80
+ ContentFormat::Image => MIME_PNG,
81
+ ContentFormat::Files => MIME_URI_LIST,
82
+ ContentFormat::Other(ref s) => s.as_str(),
83
+ #[cfg(not(feature = "image"))]
84
+ _ => return false,
85
+ };
86
+ if let Ok(mime_types) = get_offered_mime_types() {
87
+ // For text, also check text/plain;charset=utf-8
88
+ if mime_to_check == "text/plain" {
89
+ mime_types.iter().any(|m| m.starts_with("text/plain"))
90
+ } else {
91
+ mime_types.contains(mime_to_check)
92
+ }
93
+ } else {
94
+ false
95
+ }
96
+ }
97
+
98
+ fn clear(&self) -> Result<()> {
99
+ copy::clear(copy::ClipboardType::Regular, copy::Seat::All)
100
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })?;
101
+ Ok(())
102
+ }
103
+
104
+ fn get_buffer(&self, format: &str) -> Result<Vec<u8>> {
105
+ read_wayland_clipboard(paste::MimeType::Specific(format))
106
+ }
107
+
108
+ fn get_text(&self) -> Result<String> {
109
+ let bytes = read_wayland_clipboard(paste::MimeType::Text)?;
110
+ String::from_utf8(bytes)
111
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })
112
+ }
113
+
114
+ fn get_rich_text(&self) -> Result<String> {
115
+ let bytes = read_wayland_clipboard(paste::MimeType::Specific(MIME_RTF))?;
116
+ String::from_utf8(bytes)
117
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })
118
+ }
119
+
120
+ fn get_html(&self) -> Result<String> {
121
+ let bytes = read_wayland_clipboard(paste::MimeType::Specific(MIME_HTML))?;
122
+ String::from_utf8(bytes)
123
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })
124
+ }
125
+
126
+ #[cfg(feature = "image")]
127
+ fn get_image(&self) -> Result<RustImageData> {
128
+ let bytes = read_wayland_clipboard(paste::MimeType::Specific(MIME_PNG))?;
129
+ RustImageData::from_bytes(&bytes)
130
+ }
131
+
132
+ fn get_files(&self) -> Result<Vec<String>> {
133
+ let bytes = read_wayland_clipboard(paste::MimeType::Specific(MIME_URI_LIST))?;
134
+ let text = String::from_utf8(bytes)
135
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })?;
136
+ Ok(
137
+ text
138
+ .lines()
139
+ .map(|line| line.trim_end_matches('\r'))
140
+ .filter(|line| {
141
+ !line.starts_with('#') && !line.is_empty() && line.starts_with(FILE_PATH_PREFIX)
142
+ })
143
+ .map(|line| line.to_string())
144
+ .collect(),
145
+ )
146
+ }
147
+
148
+ fn get(&self, formats: &[ContentFormat]) -> Result<Vec<ClipboardContent>> {
149
+ let mut contents = Vec::new();
150
+ for format in formats {
151
+ #[allow(unreachable_patterns)]
152
+ match format {
153
+ ContentFormat::Text => {
154
+ if let Ok(text) = self.get_text() {
155
+ contents.push(ClipboardContent::Text(text));
156
+ }
157
+ }
158
+ ContentFormat::Html => {
159
+ if let Ok(html) = self.get_html() {
160
+ contents.push(ClipboardContent::Html(html));
161
+ }
162
+ }
163
+ ContentFormat::Rtf => {
164
+ if let Ok(rtf) = self.get_rich_text() {
165
+ contents.push(ClipboardContent::Rtf(rtf));
166
+ }
167
+ }
168
+ #[cfg(feature = "image")]
169
+ ContentFormat::Image => {
170
+ if let Ok(image) = self.get_image() {
171
+ contents.push(ClipboardContent::Image(image));
172
+ }
173
+ }
174
+ ContentFormat::Files => {
175
+ if let Ok(files) = self.get_files() {
176
+ contents.push(ClipboardContent::Files(files));
177
+ }
178
+ }
179
+ ContentFormat::Other(mime) => {
180
+ if let Ok(data) = self.get_buffer(mime) {
181
+ contents.push(ClipboardContent::Other(mime.clone(), data));
182
+ }
183
+ }
184
+ #[cfg(not(feature = "image"))]
185
+ _ => {}
186
+ }
187
+ }
188
+ Ok(contents)
189
+ }
190
+
191
+ fn set_buffer(&self, format: &str, buffer: Vec<u8>) -> Result<()> {
192
+ write_wayland_clipboard(vec![MimeSource {
193
+ source: Source::Bytes(buffer.into_boxed_slice()),
194
+ mime_type: MimeType::Specific(format.to_string()),
195
+ }])
196
+ }
197
+
198
+ fn set_text(&self, text: String) -> Result<()> {
199
+ write_wayland_clipboard(vec![MimeSource {
200
+ source: Source::Bytes(text.into_bytes().into_boxed_slice()),
201
+ mime_type: MimeType::Text,
202
+ }])
203
+ }
204
+
205
+ fn set_rich_text(&self, text: String) -> Result<()> {
206
+ write_wayland_clipboard(vec![MimeSource {
207
+ source: Source::Bytes(text.into_bytes().into_boxed_slice()),
208
+ mime_type: MimeType::Specific(MIME_RTF.to_string()),
209
+ }])
210
+ }
211
+
212
+ fn set_html(&self, html: String) -> Result<()> {
213
+ write_wayland_clipboard(vec![MimeSource {
214
+ source: Source::Bytes(html.into_bytes().into_boxed_slice()),
215
+ mime_type: MimeType::Specific(MIME_HTML.to_string()),
216
+ }])
217
+ }
218
+
219
+ #[cfg(feature = "image")]
220
+ fn set_image(&self, image: RustImageData) -> Result<()> {
221
+ let bytes = image.to_png()?;
222
+ write_wayland_clipboard(vec![MimeSource {
223
+ source: Source::Bytes(bytes.get_bytes().into()),
224
+ mime_type: MimeType::Specific(MIME_PNG.to_string()),
225
+ }])
226
+ }
227
+
228
+ fn set_files(&self, files: Vec<String>) -> Result<()> {
229
+ // Normalize paths to file:// URIs and use CRLF for text/uri-list
230
+ let uri_list: Vec<String> = files
231
+ .into_iter()
232
+ .map(|f| {
233
+ if f.starts_with(FILE_PATH_PREFIX) {
234
+ f
235
+ } else {
236
+ format!("{FILE_PATH_PREFIX}{f}")
237
+ }
238
+ })
239
+ .collect();
240
+ let data = uri_list.join("\r\n");
241
+ write_wayland_clipboard(vec![MimeSource {
242
+ source: Source::Bytes(data.into_bytes().into_boxed_slice()),
243
+ mime_type: MimeType::Specific(MIME_URI_LIST.to_string()),
244
+ }])
245
+ }
246
+
247
+ fn set(&self, contents: Vec<ClipboardContent>) -> Result<()> {
248
+ let mut sources = Vec::new();
249
+ for content in contents {
250
+ #[allow(unreachable_patterns)]
251
+ match content {
252
+ ClipboardContent::Text(text) => {
253
+ sources.push(MimeSource {
254
+ source: Source::Bytes(text.into_bytes().into_boxed_slice()),
255
+ mime_type: MimeType::Text,
256
+ });
257
+ }
258
+ ClipboardContent::Html(html) => {
259
+ sources.push(MimeSource {
260
+ source: Source::Bytes(html.into_bytes().into_boxed_slice()),
261
+ mime_type: MimeType::Specific(MIME_HTML.to_string()),
262
+ });
263
+ }
264
+ ClipboardContent::Rtf(rtf) => {
265
+ sources.push(MimeSource {
266
+ source: Source::Bytes(rtf.into_bytes().into_boxed_slice()),
267
+ mime_type: MimeType::Specific(MIME_RTF.to_string()),
268
+ });
269
+ }
270
+ #[cfg(feature = "image")]
271
+ ClipboardContent::Image(image) => {
272
+ let bytes = image.to_png()?;
273
+ sources.push(MimeSource {
274
+ source: Source::Bytes(bytes.get_bytes().into()),
275
+ mime_type: MimeType::Specific(MIME_PNG.to_string()),
276
+ });
277
+ }
278
+ ClipboardContent::Files(files) => {
279
+ let uri_list: Vec<String> = files
280
+ .into_iter()
281
+ .map(|f| {
282
+ if f.starts_with(FILE_PATH_PREFIX) {
283
+ f
284
+ } else {
285
+ format!("{FILE_PATH_PREFIX}{f}")
286
+ }
287
+ })
288
+ .collect();
289
+ let data = uri_list.join("\r\n");
290
+ sources.push(MimeSource {
291
+ source: Source::Bytes(data.into_bytes().into_boxed_slice()),
292
+ mime_type: MimeType::Specific(MIME_URI_LIST.to_string()),
293
+ });
294
+ }
295
+ ClipboardContent::Other(mime, data) => {
296
+ sources.push(MimeSource {
297
+ source: Source::Bytes(data.into_boxed_slice()),
298
+ mime_type: MimeType::Specific(mime),
299
+ });
300
+ }
301
+ #[cfg(not(feature = "image"))]
302
+ _ => {}
303
+ }
304
+ }
305
+ write_wayland_clipboard(sources)
306
+ }
307
+ }
308
+
309
+ unsafe impl Send for ClipboardContext {}
310
+
311
+ // Polling-based clipboard watcher for Wayland
312
+ pub struct ClipboardWatcherContext<T: ClipboardHandler> {
313
+ pub(crate) handlers: Vec<T>,
314
+ pub(crate) stop_signal: Sender<()>,
315
+ stop_receiver: Receiver<()>,
316
+ }
317
+
318
+ unsafe impl<T: ClipboardHandler + Send> Send for ClipboardWatcherContext<T> {}
319
+
320
+ impl<T: ClipboardHandler> ClipboardWatcherContext<T> {
321
+ pub fn new() -> Result<Self> {
322
+ // Verify data-control protocol is available (same check as ClipboardContext)
323
+ is_primary_selection_supported()
324
+ .map_err(|e| -> Box<dyn std::error::Error + Send + Sync> { e.to_string().into() })?;
325
+ let (tx, rx) = mpsc::channel();
326
+ Ok(Self {
327
+ handlers: Vec::new(),
328
+ stop_signal: tx,
329
+ stop_receiver: rx,
330
+ })
331
+ }
332
+ }
333
+
334
+ impl<T: ClipboardHandler> ClipboardWatcherContext<T> {
335
+ pub(crate) fn get_shutdown_channel(&self) -> WatcherShutdown {
336
+ WatcherShutdown {
337
+ sender: self.stop_signal.clone(),
338
+ }
339
+ }
340
+
341
+ pub(crate) fn start_watch_inner(&mut self) {
342
+ let mut last_mime_types: Vec<String> = Vec::new();
343
+ let mut last_text = String::new();
344
+
345
+ // Get initial clipboard state
346
+ if let Ok(types) = get_offered_mime_types() {
347
+ last_mime_types = {
348
+ let mut v: Vec<String> = types.into_iter().collect();
349
+ v.sort();
350
+ v
351
+ };
352
+ }
353
+ if let Ok(text) = read_wayland_clipboard(paste::MimeType::Text) {
354
+ if let Ok(s) = String::from_utf8(text) {
355
+ last_text = s;
356
+ }
357
+ }
358
+
359
+ loop {
360
+ if self
361
+ .stop_receiver
362
+ .recv_timeout(Duration::from_millis(500))
363
+ .is_ok()
364
+ {
365
+ break;
366
+ }
367
+
368
+ let changed = if let Ok(types) = get_offered_mime_types() {
369
+ let mut current_types: Vec<String> = types.into_iter().collect();
370
+ current_types.sort();
371
+
372
+ if current_types != last_mime_types {
373
+ // MIME types changed, clipboard definitely changed
374
+ last_mime_types = current_types;
375
+ // Update text cache too
376
+ if let Ok(bytes) = read_wayland_clipboard(paste::MimeType::Text) {
377
+ if let Ok(s) = String::from_utf8(bytes) {
378
+ last_text = s;
379
+ }
380
+ } else {
381
+ last_text.clear();
382
+ }
383
+ true
384
+ } else if let Ok(bytes) = read_wayland_clipboard(paste::MimeType::Text) {
385
+ // Same MIME types, check if text content changed
386
+ if let Ok(current) = String::from_utf8(bytes) {
387
+ if current != last_text {
388
+ last_text = current;
389
+ true
390
+ } else {
391
+ false
392
+ }
393
+ } else {
394
+ false
395
+ }
396
+ } else if !last_text.is_empty() {
397
+ last_text.clear();
398
+ true
399
+ } else {
400
+ false
401
+ }
402
+ } else {
403
+ // No clipboard content available
404
+ if !last_mime_types.is_empty() {
405
+ last_mime_types.clear();
406
+ last_text.clear();
407
+ true
408
+ } else {
409
+ false
410
+ }
411
+ };
412
+
413
+ if changed {
414
+ self
415
+ .handlers
416
+ .iter_mut()
417
+ .for_each(|handler| handler.on_clipboard_change());
418
+ }
419
+ }
420
+ }
421
+ }
422
+
423
+ pub struct WatcherShutdown {
424
+ pub(crate) sender: Sender<()>,
425
+ }
426
+
427
+ impl Drop for WatcherShutdown {
428
+ fn drop(&mut self) {
429
+ let _ = self.sender.send(());
430
+ }
431
+ }