@psnext/slingcli 2.4.20260515-1 → 2.4.20260520-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 (539) hide show
  1. package/README.md +8 -5
  2. package/bin/sling.js +103 -10
  3. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/endpoint/endpointResolver.js +2 -2
  4. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +9 -13
  5. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.browser.js +5 -5
  6. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.js +2 -3
  7. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/BedrockRuntimeClient.js +1 -4
  8. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/endpointResolver.js +1 -1
  9. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.browser.js +1 -1
  10. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.js +1 -2
  11. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeExtensions.js +1 -1
  12. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/BedrockRuntimeClient.d.ts +1 -2
  13. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.browser.d.ts +1 -1
  14. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.d.ts +1 -1
  15. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.native.d.ts +1 -1
  16. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/BedrockRuntimeClient.d.ts +5 -7
  17. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -1
  18. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.d.ts +1 -1
  19. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -1
  20. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +11 -19
  21. package/node_modules/@aws-sdk/core/dist-cjs/index.js +14 -16
  22. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.browser.js +595 -0
  23. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +715 -0
  24. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.native.js +588 -0
  25. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +10 -10
  26. package/node_modules/@aws-sdk/core/dist-es/index.js +3 -3
  27. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.browser.js +36 -0
  28. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +26 -4
  29. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.native.js +37 -0
  30. package/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.js +3 -0
  31. package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/check-features.js +1 -1
  32. package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/user-agent-middleware.js +1 -1
  33. package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/partition.js +1 -1
  34. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js +1 -0
  35. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.browser.js +1 -0
  36. package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/nodeAppIdConfigOptions.js +1 -1
  37. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +1 -1
  38. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +9 -9
  39. package/node_modules/@aws-sdk/core/dist-types/api-extractor-type-index.d.ts +3 -2
  40. package/node_modules/@aws-sdk/core/dist-types/index.d.ts +12 -14
  41. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +47 -0
  42. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +38 -4
  43. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +48 -0
  44. package/node_modules/@aws-sdk/core/dist-types/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +5 -0
  45. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/lib/aws/partitions.d.ts +638 -0
  46. 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
  47. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +1 -0
  48. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/parseJsonBody.d.ts +1 -1
  49. package/node_modules/@aws-sdk/core/dist-types/ts3.4/api-extractor-type-index.d.ts +0 -2
  50. package/node_modules/@aws-sdk/core/dist-types/ts3.4/index.d.ts +65 -3
  51. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +116 -0
  52. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +123 -4
  53. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +116 -0
  54. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +4 -0
  55. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/partitions.d.ts +647 -0
  56. 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
  57. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +1 -0
  58. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +0 -1
  59. package/node_modules/@aws-sdk/core/package.json +26 -7
  60. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  61. package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  62. package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
  63. package/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
  64. package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
  65. package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
  66. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +62 -0
  67. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +156 -0
  68. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/constants.js +2 -0
  69. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromEnvSigningName.js +16 -0
  70. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +80 -0
  71. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +8 -0
  72. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js +11 -0
  73. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js +10 -0
  74. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/index.js +4 -0
  75. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js +5 -0
  76. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js +7 -0
  77. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js +7 -0
  78. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js +8 -0
  79. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/constants.d.ts +8 -0
  80. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromEnvSigningName.d.ts +18 -0
  81. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromSso.d.ts +12 -0
  82. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromStatic.d.ts +9 -0
  83. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getNewSsoOidcToken.d.ts +8 -0
  84. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getSsoOidcClient.d.ts +7 -0
  85. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/index.d.ts +4 -0
  86. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/nodeProvider.d.ts +18 -0
  87. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/constants.d.ts +3 -0
  88. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromEnvSigningName.d.ts +11 -0
  89. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromSso.d.ts +14 -0
  90. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromStatic.d.ts +12 -0
  91. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getNewSsoOidcToken.d.ts +11 -0
  92. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getSsoOidcClient.d.ts +7 -0
  93. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/index.d.ts +4 -0
  94. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/nodeProvider.d.ts +5 -0
  95. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenExpiry.d.ts +2 -0
  96. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenKey.d.ts +5 -0
  97. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/writeSSOTokenToFile.d.ts +5 -0
  98. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenExpiry.d.ts +5 -0
  99. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenKey.d.ts +4 -0
  100. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/writeSSOTokenToFile.d.ts +5 -0
  101. package/node_modules/@aws-sdk/{middleware-host-header → credential-provider-sso/node_modules/@aws-sdk/token-providers}/package.json +27 -17
  102. package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
  103. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
  104. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +2 -2
  105. package/node_modules/@aws-sdk/middleware-eventstream/package.json +2 -2
  106. package/node_modules/@aws-sdk/middleware-websocket/package.json +5 -5
  107. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +13 -20
  108. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +13 -20
  109. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +13 -20
  110. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +13 -20
  111. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +14 -21
  112. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/CognitoIdentityClient.js +1 -4
  113. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/endpointResolver.js +1 -1
  114. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.browser.js +1 -1
  115. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +1 -2
  116. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeExtensions.js +1 -1
  117. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js +1 -4
  118. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +1 -1
  119. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.browser.js +1 -1
  120. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +1 -2
  121. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js +1 -1
  122. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSOClient.js +1 -4
  123. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js +1 -1
  124. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.browser.js +1 -1
  125. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +1 -2
  126. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeExtensions.js +1 -1
  127. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js +1 -4
  128. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js +1 -1
  129. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.browser.js +1 -1
  130. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +1 -2
  131. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js +1 -1
  132. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +1 -4
  133. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js +1 -2
  134. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js +1 -1
  135. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.browser.js +1 -1
  136. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +1 -2
  137. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js +1 -1
  138. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentityClient.d.ts +1 -2
  139. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.browser.d.ts +1 -1
  140. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +1 -1
  141. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.native.d.ts +1 -1
  142. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +1 -2
  143. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.browser.d.ts +1 -1
  144. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +1 -1
  145. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.native.d.ts +1 -1
  146. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/SSOClient.d.ts +1 -2
  147. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.browser.d.ts +1 -1
  148. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +1 -1
  149. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.native.d.ts +1 -1
  150. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDCClient.d.ts +1 -2
  151. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.browser.d.ts +1 -1
  152. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +1 -1
  153. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.native.d.ts +1 -1
  154. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +1 -2
  155. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +1 -1
  156. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +1 -1
  157. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +1 -1
  158. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/CognitoIdentityClient.d.ts +1 -3
  159. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.browser.d.ts +1 -1
  160. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +1 -1
  161. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.native.d.ts +1 -1
  162. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/SigninClient.d.ts +1 -3
  163. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.browser.d.ts +1 -1
  164. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +1 -1
  165. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.native.d.ts +1 -1
  166. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/SSOClient.d.ts +1 -3
  167. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.browser.d.ts +1 -1
  168. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +1 -1
  169. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.native.d.ts +1 -1
  170. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/SSOOIDCClient.d.ts +1 -3
  171. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.browser.d.ts +1 -1
  172. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +1 -1
  173. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.native.d.ts +1 -1
  174. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/STSClient.d.ts +1 -3
  175. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +1 -1
  176. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +1 -1
  177. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +1 -1
  178. package/node_modules/@aws-sdk/nested-clients/package.json +6 -14
  179. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +3 -3
  180. package/node_modules/@aws-sdk/token-providers/package.json +4 -4
  181. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +15 -0
  182. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +176 -564
  183. package/node_modules/@mariozechner/clipboard/Cargo.toml +21 -2
  184. package/node_modules/@mariozechner/clipboard/README.md +2 -0
  185. package/node_modules/@mariozechner/clipboard/package.json +11 -11
  186. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/common.rs +307 -0
  187. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/mod.rs +93 -0
  188. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/ios.rs +313 -0
  189. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/macos.rs +471 -0
  190. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/mod.rs +252 -0
  191. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/wayland.rs +431 -0
  192. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/win.rs +712 -0
  193. package/node_modules/@mariozechner/clipboard/src/clipboard_rs/platform/x11.rs +916 -0
  194. package/node_modules/@mariozechner/clipboard/src/lib.rs +3 -0
  195. package/node_modules/@mariozechner/clipboard-darwin-arm64/README.md +3 -0
  196. package/node_modules/@mariozechner/clipboard-darwin-arm64/clipboard.darwin-arm64.node +0 -0
  197. package/node_modules/@mariozechner/{clipboard-linux-x64-gnu → clipboard-darwin-arm64}/package.json +6 -9
  198. package/node_modules/@mariozechner/clipboard-darwin-universal/README.md +3 -0
  199. package/node_modules/@mariozechner/clipboard-darwin-universal/clipboard.darwin-universal.node +0 -0
  200. package/node_modules/@mariozechner/clipboard-darwin-universal/package.json +19 -0
  201. package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
  202. package/node_modules/@protobufjs/fetch/index.d.ts +7 -7
  203. package/node_modules/@protobufjs/fetch/index.js +4 -7
  204. package/node_modules/@protobufjs/fetch/package.json +7 -5
  205. package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
  206. package/node_modules/@protobufjs/fetch/tests/index.js +150 -8
  207. package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
  208. package/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
  209. package/node_modules/@protobufjs/inquire/index.d.ts +1 -0
  210. package/node_modules/@protobufjs/inquire/index.js +1 -0
  211. package/node_modules/@protobufjs/inquire/package.json +1 -1
  212. package/node_modules/@smithy/core/package.json +2 -2
  213. package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
  214. package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
  215. package/node_modules/@smithy/node-http-handler/package.json +4 -4
  216. package/node_modules/@smithy/signature-v4/package.json +3 -3
  217. package/node_modules/@smithy/types/README.md +3 -3
  218. package/node_modules/@smithy/types/dist-types/abort.d.ts +4 -6
  219. package/node_modules/@smithy/types/dist-types/auth/auth.d.ts +6 -4
  220. package/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts +7 -10
  221. package/node_modules/@smithy/types/dist-types/checksum.d.ts +4 -6
  222. package/node_modules/@smithy/types/dist-types/client.d.ts +8 -8
  223. package/node_modules/@smithy/types/dist-types/command.d.ts +2 -2
  224. package/node_modules/@smithy/types/dist-types/crypto.d.ts +6 -8
  225. package/node_modules/@smithy/types/dist-types/downlevel-ts3.4/transform/type-transform.d.ts +6 -7
  226. package/node_modules/@smithy/types/dist-types/eventStream.d.ts +10 -10
  227. package/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts +9 -10
  228. package/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts +2 -2
  229. package/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts +10 -10
  230. package/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +2 -2
  231. package/node_modules/@smithy/types/dist-types/http.d.ts +18 -21
  232. package/node_modules/@smithy/types/dist-types/logger.d.ts +2 -2
  233. package/node_modules/@smithy/types/dist-types/middleware.d.ts +28 -27
  234. package/node_modules/@smithy/types/dist-types/pagination.d.ts +4 -4
  235. package/node_modules/@smithy/types/dist-types/serde.d.ts +10 -10
  236. package/node_modules/@smithy/types/dist-types/shapes.d.ts +9 -12
  237. package/node_modules/@smithy/types/dist-types/signature.d.ts +4 -4
  238. package/node_modules/@smithy/types/dist-types/stream.d.ts +2 -2
  239. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts +7 -11
  240. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts +23 -29
  241. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts +9 -19
  242. package/node_modules/@smithy/types/dist-types/transfer.d.ts +2 -1
  243. package/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts +4 -4
  244. package/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts +14 -18
  245. package/node_modules/@smithy/types/dist-types/transform/exact.d.ts +2 -2
  246. package/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +12 -12
  247. package/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts +14 -9
  248. package/node_modules/@smithy/types/dist-types/uri.d.ts +2 -2
  249. package/node_modules/@smithy/types/dist-types/util.d.ts +28 -28
  250. package/node_modules/@smithy/types/package.json +1 -1
  251. package/node_modules/@types/node/README.md +1 -1
  252. package/node_modules/@types/node/async_hooks.d.ts +108 -0
  253. package/node_modules/@types/node/crypto.d.ts +14 -3
  254. package/node_modules/@types/node/fs/promises.d.ts +126 -0
  255. package/node_modules/@types/node/fs.d.ts +4 -2
  256. package/node_modules/@types/node/index.d.ts +2 -0
  257. package/node_modules/@types/node/inspector.generated.d.ts +5 -0
  258. package/node_modules/@types/node/module.d.ts +1 -0
  259. package/node_modules/@types/node/package.json +2 -2
  260. package/node_modules/@types/node/process.d.ts +25 -1
  261. package/node_modules/@types/node/quic.d.ts +2 -2
  262. package/node_modules/@types/node/repl.d.ts +15 -0
  263. package/node_modules/@types/node/stream/iter.d.ts +301 -0
  264. package/node_modules/@types/node/test.d.ts +38 -12
  265. package/node_modules/@types/node/ts5.6/index.d.ts +2 -0
  266. package/node_modules/@types/node/ts5.7/index.d.ts +2 -0
  267. package/node_modules/@types/node/vm.d.ts +5 -4
  268. package/node_modules/@types/node/zlib/iter.d.ts +131 -0
  269. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +37 -17
  270. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -1
  271. package/node_modules/lru-cache/dist/commonjs/browser/index.js +81 -41
  272. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -1
  273. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +1 -1
  274. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +3 -3
  275. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -1
  276. package/node_modules/lru-cache/dist/commonjs/browser/perf.js +1 -2
  277. package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -1
  278. package/node_modules/lru-cache/dist/commonjs/index.d.ts +37 -17
  279. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
  280. package/node_modules/lru-cache/dist/commonjs/index.js +81 -41
  281. package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
  282. package/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  283. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +3 -3
  284. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +37 -17
  285. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -1
  286. package/node_modules/lru-cache/dist/commonjs/node/index.js +81 -41
  287. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -1
  288. package/node_modules/lru-cache/dist/commonjs/node/index.min.js +1 -1
  289. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +3 -3
  290. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -1
  291. package/node_modules/lru-cache/dist/commonjs/node/perf.js +1 -2
  292. package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -1
  293. package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -1
  294. package/node_modules/lru-cache/dist/commonjs/perf.js +1 -2
  295. package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -1
  296. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +37 -17
  297. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
  298. package/node_modules/lru-cache/dist/esm/browser/index.js +81 -41
  299. package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
  300. package/node_modules/lru-cache/dist/esm/browser/index.min.js +1 -1
  301. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +3 -3
  302. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -1
  303. package/node_modules/lru-cache/dist/esm/browser/perf.js +1 -2
  304. package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -1
  305. package/node_modules/lru-cache/dist/esm/index.d.ts +37 -17
  306. package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
  307. package/node_modules/lru-cache/dist/esm/index.js +81 -41
  308. package/node_modules/lru-cache/dist/esm/index.js.map +1 -1
  309. package/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  310. package/node_modules/lru-cache/dist/esm/index.min.js.map +3 -3
  311. package/node_modules/lru-cache/dist/esm/node/index.d.ts +37 -17
  312. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
  313. package/node_modules/lru-cache/dist/esm/node/index.js +81 -41
  314. package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
  315. package/node_modules/lru-cache/dist/esm/node/index.min.js +1 -1
  316. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +3 -3
  317. package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -1
  318. package/node_modules/lru-cache/dist/esm/node/perf.js +1 -2
  319. package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -1
  320. package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -1
  321. package/node_modules/lru-cache/dist/esm/perf.js +1 -2
  322. package/node_modules/lru-cache/dist/esm/perf.js.map +1 -1
  323. package/node_modules/lru-cache/package.json +8 -8
  324. package/node_modules/protobufjs/README.md +1 -1
  325. package/node_modules/protobufjs/dist/light/protobuf.js +193 -157
  326. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  327. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  328. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  329. package/node_modules/protobufjs/dist/minimal/protobuf.js +14 -5
  330. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  331. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  332. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  333. package/node_modules/protobufjs/dist/protobuf.js +213 -177
  334. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  335. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  336. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  337. package/node_modules/protobufjs/index.d.ts +2 -1
  338. package/node_modules/protobufjs/package.json +7 -4
  339. package/node_modules/protobufjs/src/converter.js +5 -3
  340. package/node_modules/protobufjs/src/type.js +1 -1
  341. package/node_modules/protobufjs/src/util/fs.js +11 -0
  342. package/node_modules/protobufjs/src/util/minimal.js +10 -2
  343. package/node_modules/protobufjs/src/util.js +1 -1
  344. package/package.json +2 -2
  345. package/slingshot/index.js +201 -201
  346. package/node_modules/@aws-sdk/middleware-host-header/LICENSE +0 -201
  347. package/node_modules/@aws-sdk/middleware-host-header/README.md +0 -4
  348. package/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +0 -41
  349. package/node_modules/@aws-sdk/middleware-logger/LICENSE +0 -201
  350. package/node_modules/@aws-sdk/middleware-logger/README.md +0 -4
  351. package/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +0 -48
  352. package/node_modules/@aws-sdk/middleware-logger/dist-es/index.js +0 -1
  353. package/node_modules/@aws-sdk/middleware-logger/dist-types/index.d.ts +0 -1
  354. package/node_modules/@aws-sdk/middleware-logger/dist-types/ts3.4/index.d.ts +0 -1
  355. package/node_modules/@aws-sdk/middleware-logger/package.json +0 -59
  356. package/node_modules/@aws-sdk/middleware-recursion-detection/LICENSE +0 -201
  357. package/node_modules/@aws-sdk/middleware-recursion-detection/README.md +0 -17
  358. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +0 -29
  359. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.browser.js +0 -5
  360. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.js +0 -33
  361. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.native.js +0 -5
  362. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js +0 -2
  363. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-types/index.d.ts +0 -2
  364. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-types/ts3.4/index.d.ts +0 -2
  365. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +0 -66
  366. package/node_modules/@aws-sdk/middleware-user-agent/LICENSE +0 -201
  367. package/node_modules/@aws-sdk/middleware-user-agent/README.md +0 -4
  368. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +0 -194
  369. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js +0 -2
  370. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/index.d.ts +0 -2
  371. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/index.d.ts +0 -2
  372. package/node_modules/@aws-sdk/middleware-user-agent/package.json +0 -61
  373. package/node_modules/@aws-sdk/region-config-resolver/README.md +0 -19
  374. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +0 -38
  375. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.browser.js +0 -6
  376. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.js +0 -19
  377. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.native.js +0 -6
  378. package/node_modules/@aws-sdk/region-config-resolver/dist-es/index.js +0 -3
  379. package/node_modules/@aws-sdk/region-config-resolver/dist-types/index.d.ts +0 -3
  380. package/node_modules/@aws-sdk/region-config-resolver/dist-types/ts3.4/index.d.ts +0 -3
  381. package/node_modules/@aws-sdk/region-config-resolver/package.json +0 -64
  382. package/node_modules/@aws-sdk/util-endpoints/LICENSE +0 -201
  383. package/node_modules/@aws-sdk/util-endpoints/README.md +0 -6
  384. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +0 -406
  385. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +0 -267
  386. package/node_modules/@aws-sdk/util-endpoints/dist-es/index.js +0 -6
  387. package/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js +0 -3
  388. package/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +0 -267
  389. package/node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js +0 -6
  390. package/node_modules/@aws-sdk/util-endpoints/dist-types/index.d.ts +0 -6
  391. package/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/index.d.ts +0 -3
  392. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/index.d.ts +0 -6
  393. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/index.d.ts +0 -3
  394. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/index.d.ts +0 -6
  395. package/node_modules/@aws-sdk/util-endpoints/dist-types/types/index.d.ts +0 -6
  396. package/node_modules/@aws-sdk/util-endpoints/package.json +0 -59
  397. package/node_modules/@aws-sdk/util-user-agent-browser/LICENSE +0 -201
  398. package/node_modules/@aws-sdk/util-user-agent-browser/README.md +0 -29
  399. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/createUserAgentStringParsingProvider.js +0 -24
  400. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.browser.js +0 -4
  401. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.js +0 -61
  402. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.native.js +0 -22
  403. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.browser.js +0 -1
  404. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.browser.d.ts +0 -1
  405. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/index.browser.d.ts +0 -1
  406. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +0 -60
  407. package/node_modules/@aws-sdk/util-user-agent-node/LICENSE +0 -201
  408. package/node_modules/@aws-sdk/util-user-agent-node/README.md +0 -17
  409. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +0 -185
  410. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/index.js +0 -2
  411. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/index.d.ts +0 -2
  412. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/index.d.ts +0 -2
  413. package/node_modules/@aws-sdk/util-user-agent-node/package.json +0 -68
  414. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/README.md +0 -3
  415. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  416. /package/node_modules/@aws-sdk/{middleware-host-header/dist-es/index.js → core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js} +0 -0
  417. /package/node_modules/@aws-sdk/{middleware-logger/dist-es → core/dist-es/submodules/client/middleware-logger}/loggerMiddleware.js +0 -0
  418. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/configuration.js +0 -0
  419. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/getRecursionDetectionPlugin.js +0 -0
  420. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.js +0 -0
  421. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.js +0 -0
  422. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.js +0 -0
  423. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/configurations.js +0 -0
  424. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/constants.js +0 -0
  425. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/encode-features.js +0 -0
  426. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/awsRegionConfig.js +0 -0
  427. /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
  428. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.browser.js +0 -0
  429. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.js +0 -0
  430. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.native.js +0 -0
  431. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/aws.js +0 -0
  432. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.js +0 -0
  433. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/parseArn.js +0 -0
  434. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/isIpAddress.js +0 -0
  435. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.js +0 -0
  436. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/resolveEndpoint.js +0 -0
  437. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/EndpointError.js +0 -0
  438. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/EndpointRuleObject.js +0 -0
  439. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/ErrorRuleObject.js +0 -0
  440. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/RuleSetObject.js +0 -0
  441. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/TreeRuleObject.js +0 -0
  442. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/shared.js +0 -0
  443. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es → core/dist-es/submodules/client/util-user-agent-browser}/configurations.js +0 -0
  444. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es → core/dist-es/submodules/client/util-user-agent-browser}/createUserAgentStringParsingProvider.js +0 -0
  445. /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
  446. /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
  447. /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
  448. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/defaultUserAgent.js +0 -0
  449. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getNodeModulesParentDirs.js +0 -0
  450. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getRuntimeUserAgentPair.js +0 -0
  451. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getSanitizedDevTypeScriptVersion.js +0 -0
  452. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getSanitizedTypeScriptVersion.js +0 -0
  453. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getTypeScriptUserAgentPair.js +0 -0
  454. /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
  455. /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
  456. /package/node_modules/@aws-sdk/{middleware-logger/dist-types → core/dist-types/submodules/client/middleware-logger}/loggerMiddleware.d.ts +0 -0
  457. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/configuration.d.ts +0 -0
  458. /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
  459. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.d.ts +0 -0
  460. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.d.ts +0 -0
  461. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.d.ts +0 -0
  462. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/check-features.d.ts +0 -0
  463. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/configurations.d.ts +0 -0
  464. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/constants.d.ts +0 -0
  465. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/encode-features.d.ts +0 -0
  466. /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
  467. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/awsRegionConfig.d.ts +0 -0
  468. /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
  469. /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
  470. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/stsRegionDefaultResolver.d.ts +0 -0
  471. /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
  472. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/aws.d.ts +0 -0
  473. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.d.ts +0 -0
  474. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/parseArn.d.ts +0 -0
  475. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/partition.d.ts +0 -0
  476. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/isIpAddress.d.ts +0 -0
  477. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.d.ts +0 -0
  478. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/resolveEndpoint.d.ts +0 -0
  479. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/EndpointError.d.ts +0 -0
  480. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/EndpointRuleObject.d.ts +0 -0
  481. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/ErrorRuleObject.d.ts +0 -0
  482. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/RuleSetObject.d.ts +0 -0
  483. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/TreeRuleObject.d.ts +0 -0
  484. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/shared.d.ts +0 -0
  485. /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
  486. /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
  487. /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
  488. /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
  489. /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
  490. /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
  491. /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
  492. /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
  493. /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
  494. /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
  495. /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
  496. /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
  497. /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
  498. /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
  499. /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
  500. /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
  501. /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
  502. /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
  503. /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
  504. /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
  505. /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
  506. /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
  507. /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
  508. /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
  509. /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
  510. /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
  511. /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
  512. /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
  513. /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
  514. /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
  515. /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
  516. /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
  517. /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
  518. /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
  519. /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
  520. /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
  521. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/EndpointError.d.ts +0 -0
  522. /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
  523. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/ErrorRuleObject.d.ts +0 -0
  524. /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
  525. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/TreeRuleObject.d.ts +0 -0
  526. /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
  527. /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
  528. /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
  529. /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
  530. /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
  531. /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
  532. /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
  533. /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
  534. /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
  535. /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
  536. /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
  537. /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
  538. /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
  539. /package/node_modules/@aws-sdk/{region-config-resolver → credential-provider-sso/node_modules/@aws-sdk/token-providers}/LICENSE +0 -0
@@ -0,0 +1,471 @@
1
+ use crate::clipboard_rs::common::Result;
2
+ #[cfg(feature = "image")]
3
+ use crate::clipboard_rs::common::{RustImage, RustImageData};
4
+ use crate::clipboard_rs::{
5
+ Clipboard, ClipboardContent, ClipboardHandler, ClipboardWatcher, ContentFormat,
6
+ };
7
+ use objc2::rc::Retained;
8
+ use objc2::runtime::AnyObject;
9
+ use objc2::AllocAnyThread;
10
+ use objc2::ClassType;
11
+ use objc2::{rc::autoreleasepool, runtime::ProtocolObject};
12
+ use objc2_app_kit::{
13
+ NSImage, NSPasteboard, NSPasteboardItem, NSPasteboardType, NSPasteboardTypeFileURL,
14
+ NSPasteboardTypeHTML, NSPasteboardTypePNG, NSPasteboardTypeRTF, NSPasteboardTypeString,
15
+ NSPasteboardTypeTIFF,
16
+ };
17
+ use objc2_foundation::{NSArray, NSData, NSString, NSURL};
18
+ use std::ffi::c_void;
19
+ use std::sync::mpsc::{self, Receiver, Sender};
20
+ use std::time::Duration;
21
+ use std::vec;
22
+
23
+ pub struct ClipboardContext {
24
+ pasteboard: Retained<NSPasteboard>,
25
+ }
26
+
27
+ pub struct ClipboardWatcherContext<T: ClipboardHandler> {
28
+ pasteboard: Retained<NSPasteboard>,
29
+ handlers: Vec<T>,
30
+ stop_signal: Sender<()>,
31
+ stop_receiver: Receiver<()>,
32
+ running: bool,
33
+ }
34
+
35
+ unsafe impl<T: ClipboardHandler> Send for ClipboardWatcherContext<T> {}
36
+
37
+ fn general_pasteboard() -> Result<Retained<NSPasteboard>> {
38
+ let pasteboard: *mut AnyObject =
39
+ unsafe { objc2::msg_send![NSPasteboard::class(), generalPasteboard] };
40
+ let pasteboard = unsafe { Retained::retain_autoreleased(pasteboard) }
41
+ .ok_or("NSPasteboard generalPasteboard unavailable")?;
42
+ Ok(unsafe { Retained::cast_unchecked(pasteboard) })
43
+ }
44
+
45
+ impl<T: ClipboardHandler> ClipboardWatcherContext<T> {
46
+ pub fn new() -> Result<Self> {
47
+ let ns_pasteboard = general_pasteboard()?;
48
+ let (tx, rx) = mpsc::channel();
49
+ Ok(ClipboardWatcherContext {
50
+ pasteboard: ns_pasteboard,
51
+ handlers: Vec::new(),
52
+ stop_signal: tx,
53
+ stop_receiver: rx,
54
+ running: false,
55
+ })
56
+ }
57
+ }
58
+
59
+ impl<T: ClipboardHandler> ClipboardWatcher<T> for ClipboardWatcherContext<T> {
60
+ fn add_handler(&mut self, handler: T) -> &mut Self {
61
+ self.handlers.push(handler);
62
+ self
63
+ }
64
+
65
+ fn start_watch(&mut self) {
66
+ if self.running {
67
+ println!("already start watch!");
68
+ return;
69
+ }
70
+ if self.handlers.is_empty() {
71
+ println!("no handler, no need to start watch!");
72
+ return;
73
+ }
74
+ self.running = true;
75
+ let mut last_change_count = self.pasteboard.changeCount();
76
+ loop {
77
+ // if receive stop signal, break loop
78
+ if self
79
+ .stop_receiver
80
+ .recv_timeout(Duration::from_millis(500))
81
+ .is_ok()
82
+ {
83
+ break;
84
+ }
85
+ let change_count = self.pasteboard.changeCount();
86
+ if last_change_count == 0 {
87
+ last_change_count = change_count;
88
+ } else if change_count != last_change_count {
89
+ self
90
+ .handlers
91
+ .iter_mut()
92
+ .for_each(|handler| handler.on_clipboard_change());
93
+ last_change_count = change_count;
94
+ }
95
+ }
96
+ self.running = false;
97
+ }
98
+
99
+ fn get_shutdown_channel(&self) -> WatcherShutdown {
100
+ WatcherShutdown {
101
+ stop_signal: self.stop_signal.clone(),
102
+ }
103
+ }
104
+ }
105
+
106
+ impl ClipboardContext {
107
+ pub fn new() -> Result<ClipboardContext> {
108
+ let ns_pasteboard = general_pasteboard()?;
109
+ let clipboard_ctx = ClipboardContext {
110
+ pasteboard: ns_pasteboard,
111
+ };
112
+ Ok(clipboard_ctx)
113
+ }
114
+
115
+ fn plain(&self, r#type: &NSPasteboardType) -> Result<String> {
116
+ autoreleasepool(|_| {
117
+ let contents = self
118
+ .pasteboard
119
+ .pasteboardItems()
120
+ .ok_or("NSPasteboard#pasteboardItems errored")?;
121
+ for item in contents {
122
+ if let Some(string) = item.stringForType(r#type) {
123
+ return Ok(string.to_string());
124
+ }
125
+ }
126
+ Err("No string found".into())
127
+ })
128
+ }
129
+
130
+ fn set_files(&self, files: &[String]) -> Result<()> {
131
+ autoreleasepool(|_| {
132
+ // Build NSArray<NSURL> and write via writeObjects for better compatibility
133
+ let urls: Vec<Retained<NSURL>> = files
134
+ .iter()
135
+ .filter_map(|file_path| {
136
+ // Normalize to local filesystem path, and verify it exists
137
+ let local_path = if file_path.starts_with("file://") {
138
+ file_path.trim_start_matches("file://").to_string()
139
+ } else {
140
+ file_path.clone()
141
+ };
142
+ if !std::path::Path::new(&local_path).exists() {
143
+ return None;
144
+ }
145
+ let ns_path = NSString::from_str(&local_path);
146
+ // NSURL::fileURLWithPath returns a retained NSURL
147
+ let url = NSURL::fileURLWithPath(&ns_path);
148
+ Some(url)
149
+ })
150
+ .collect();
151
+ if urls.is_empty() {
152
+ return Err("no valid files".into());
153
+ }
154
+ let write_objects = NSArray::from_retained_slice(
155
+ &urls
156
+ .iter()
157
+ .map(|u| ProtocolObject::from_retained(u.clone()))
158
+ .collect::<Vec<_>>(),
159
+ );
160
+ if !self.pasteboard.writeObjects(&write_objects) {
161
+ return Err("writeObjects failed for files".into());
162
+ }
163
+ Ok(())
164
+ })
165
+ }
166
+
167
+ // learn from https://github.com/zed-industries/zed/blob/79c1003b344ee513cf97ee8313c38c7c3f02c916/crates/gpui/src/platform/mac/platform.rs#L793
168
+ fn write_to_clipboard(&self, data: &[ClipboardContent], with_clear: bool) -> Result<()> {
169
+ if with_clear {
170
+ self.pasteboard.clearContents();
171
+ }
172
+ autoreleasepool(|_| {
173
+ // we create one NSPasteboardItem for all representations of the same content
174
+ let item = NSPasteboardItem::new();
175
+ let mut has_content_other_than_files = false;
176
+
177
+ for d in data {
178
+ match d {
179
+ ClipboardContent::Text(text) => {
180
+ item.setString_forType(&NSString::from_str(text), unsafe { NSPasteboardTypeString });
181
+ has_content_other_than_files = true;
182
+ }
183
+ ClipboardContent::Rtf(rtf) => {
184
+ let rtf_data =
185
+ unsafe { NSData::dataWithBytes_length(rtf.as_ptr() as *const c_void, rtf.len()) };
186
+ item.setData_forType(&rtf_data, unsafe { NSPasteboardTypeRTF });
187
+ has_content_other_than_files = true;
188
+ }
189
+ ClipboardContent::Html(html) => {
190
+ item.setString_forType(&NSString::from_str(html), unsafe { NSPasteboardTypeHTML });
191
+ has_content_other_than_files = true;
192
+ }
193
+ #[cfg(feature = "image")]
194
+ ClipboardContent::Image(image) => {
195
+ if let Ok(png_buffer) = image.to_png() {
196
+ let bytes = png_buffer.get_bytes();
197
+ let ns_data =
198
+ unsafe { NSData::dataWithBytes_length(bytes.as_ptr() as *mut c_void, bytes.len()) };
199
+ item.setData_forType(&ns_data, unsafe { NSPasteboardTypePNG });
200
+ has_content_other_than_files = true;
201
+ };
202
+ }
203
+ ClipboardContent::Files(files) => {
204
+ // Files are set seperately
205
+ let _ = self.set_files(files);
206
+ }
207
+ ClipboardContent::Other(format, buffer) => {
208
+ let ns_data =
209
+ unsafe { NSData::dataWithBytes_length(buffer.as_ptr() as *mut c_void, buffer.len()) };
210
+ item.setData_forType(&ns_data, &NSString::from_str(format));
211
+ has_content_other_than_files = true;
212
+ }
213
+ }
214
+ }
215
+ if has_content_other_than_files {
216
+ let write_objects = NSArray::from_retained_slice(&[ProtocolObject::from_retained(item)]);
217
+ if !self.pasteboard.writeObjects(&write_objects) {
218
+ return Err("writeObjects failed");
219
+ }
220
+ }
221
+ Ok(())
222
+ })?;
223
+ Ok(())
224
+ }
225
+ }
226
+
227
+ unsafe impl Send for ClipboardContext {}
228
+
229
+ unsafe impl Sync for ClipboardContext {}
230
+
231
+ impl Clipboard for ClipboardContext {
232
+ fn available_formats(&self) -> Result<Vec<String>> {
233
+ let types = self
234
+ .pasteboard
235
+ .types()
236
+ .ok_or("NSPasteboard#types errored")?;
237
+ let res = types.iter().map(|t| t.to_string()).collect();
238
+ Ok(res)
239
+ }
240
+
241
+ fn has(&self, format: ContentFormat) -> bool {
242
+ match format {
243
+ ContentFormat::Text => {
244
+ let types = NSArray::arrayWithObject(unsafe { NSPasteboardTypeString });
245
+ // https://developer.apple.com/documentation/appkit/nspasteboard/1526078-availabletypefromarray?language=objc
246
+ // The first pasteboard type in types that is available on the pasteboard, or nil if the receiver does not contain any of the types in types.
247
+ // self.clipboard.availableTypeFromArray(types)
248
+ self.pasteboard.availableTypeFromArray(&types).is_some()
249
+ }
250
+ ContentFormat::Rtf => {
251
+ let types = NSArray::arrayWithObject(unsafe { NSPasteboardTypeRTF });
252
+ self.pasteboard.availableTypeFromArray(&types).is_some()
253
+ }
254
+ ContentFormat::Html => {
255
+ // Currently only judge whether there is a public.html format
256
+ let types = NSArray::arrayWithObject(unsafe { NSPasteboardTypeHTML });
257
+ self.pasteboard.availableTypeFromArray(&types).is_some()
258
+ }
259
+ #[cfg(feature = "image")]
260
+ ContentFormat::Image => {
261
+ // Currently only judge whether there is a png format
262
+ let types = NSArray::from_retained_slice(&[
263
+ unsafe { NSPasteboardTypePNG }.to_owned(),
264
+ unsafe { NSPasteboardTypeTIFF }.to_owned(),
265
+ ]);
266
+ self.pasteboard.availableTypeFromArray(&types).is_some()
267
+ }
268
+ ContentFormat::Files => {
269
+ let types = NSArray::arrayWithObject(unsafe { NSPasteboardTypeFileURL });
270
+ self.pasteboard.availableTypeFromArray(&types).is_some()
271
+ }
272
+ ContentFormat::Other(format) => {
273
+ let types = NSArray::from_retained_slice(&[NSString::from_str(&format)]);
274
+ self.pasteboard.availableTypeFromArray(&types).is_some()
275
+ }
276
+ }
277
+ }
278
+
279
+ fn clear(&self) -> Result<()> {
280
+ self.pasteboard.clearContents();
281
+ Ok(())
282
+ }
283
+
284
+ fn get_buffer(&self, format: &str) -> Result<Vec<u8>> {
285
+ if let Some(data) = self.pasteboard.dataForType(&NSString::from_str(format)) {
286
+ return Ok(data.to_vec());
287
+ }
288
+ Err("no data".into())
289
+ }
290
+
291
+ fn get_text(&self) -> Result<String> {
292
+ self.plain(unsafe { NSPasteboardTypeString })
293
+ }
294
+
295
+ fn get_rich_text(&self) -> Result<String> {
296
+ self.plain(unsafe { NSPasteboardTypeRTF })
297
+ }
298
+
299
+ fn get_html(&self) -> Result<String> {
300
+ self.plain(unsafe { NSPasteboardTypeHTML })
301
+ }
302
+
303
+ #[cfg(feature = "image")]
304
+ fn get_image(&self) -> Result<RustImageData> {
305
+ autoreleasepool(|_| {
306
+ let png_data = self.pasteboard.dataForType(unsafe { NSPasteboardTypePNG });
307
+ if let Some(data) = png_data {
308
+ return RustImageData::from_bytes(&data.to_vec());
309
+ };
310
+ // if no png data, read NSImage;
311
+ let ns_image = NSImage::initWithPasteboard(NSImage::alloc(), &self.pasteboard);
312
+ if let Some(image) = ns_image {
313
+ let tiff_data = image.TIFFRepresentation();
314
+ if let Some(data) = tiff_data {
315
+ return RustImageData::from_bytes(&data.to_vec());
316
+ }
317
+ };
318
+ Err("no image data".into())
319
+ })
320
+ }
321
+
322
+ fn get_files(&self) -> Result<Vec<String>> {
323
+ autoreleasepool(|_| {
324
+ let mut res = vec![];
325
+ // 使用 readObjectsForClasses 读取 NSURL(文件 URL)
326
+ // 相当于 Objective-C: [pasteboard readObjectsForClasses:@[[NSURL class]] options:nil]
327
+ let classes = NSArray::arrayWithObject(NSURL::class());
328
+ let objects = unsafe {
329
+ self
330
+ .pasteboard
331
+ .readObjectsForClasses_options(&classes, None)
332
+ };
333
+ if let Some(objects) = objects {
334
+ for any_obj in objects {
335
+ // 尝试将返回对象视为 NSURL
336
+ if let Ok(url) = any_obj.downcast::<NSURL>() {
337
+ // 只接受文件 URL
338
+ if url.isFileURL() {
339
+ // 优先使用 path(去掉 file:// 前缀后的本地路径)
340
+ if let Some(path) = url.path() {
341
+ res.push(path.to_string());
342
+ } else {
343
+ // 兜底使用 absoluteString,再去掉前缀
344
+ let abs = if let Some(s) = url.absoluteString() {
345
+ s.to_string()
346
+ } else {
347
+ String::new()
348
+ };
349
+ let file_path = if abs.starts_with("file://") {
350
+ abs.strip_prefix("file://").unwrap_or(&abs).to_string()
351
+ } else {
352
+ abs
353
+ };
354
+ res.push(file_path);
355
+ }
356
+ }
357
+ }
358
+ }
359
+ }
360
+ if res.is_empty() {
361
+ return Err("no files".into());
362
+ }
363
+ Ok(res)
364
+ })
365
+ }
366
+
367
+ fn get(&self, formats: &[ContentFormat]) -> Result<Vec<ClipboardContent>> {
368
+ autoreleasepool(|_| {
369
+ let contents = self
370
+ .pasteboard
371
+ .pasteboardItems()
372
+ .ok_or("NSPasteboard#pasteboardItems errored")?;
373
+ let mut results = Vec::new();
374
+ for format in formats {
375
+ for item in contents.iter() {
376
+ match format {
377
+ ContentFormat::Text => {
378
+ if let Some(string) = item.stringForType(unsafe { NSPasteboardTypeString }) {
379
+ results.push(ClipboardContent::Text(string.to_string()));
380
+ break;
381
+ }
382
+ }
383
+ ContentFormat::Rtf => {
384
+ if let Some(string) = item.stringForType(unsafe { NSPasteboardTypeRTF }) {
385
+ results.push(ClipboardContent::Rtf(string.to_string()));
386
+ break;
387
+ }
388
+ }
389
+ ContentFormat::Html => {
390
+ if let Some(string) = item.stringForType(unsafe { NSPasteboardTypeHTML }) {
391
+ results.push(ClipboardContent::Html(string.to_string()));
392
+ break;
393
+ }
394
+ }
395
+ #[cfg(feature = "image")]
396
+ ContentFormat::Image => {
397
+ if let Ok(image) = self.get_image() {
398
+ results.push(ClipboardContent::Image(image));
399
+ break;
400
+ }
401
+ }
402
+ ContentFormat::Files => {
403
+ if let Ok(files) = self.get_files() {
404
+ results.push(ClipboardContent::Files(files));
405
+ break;
406
+ }
407
+ }
408
+ ContentFormat::Other(format_name) => {
409
+ if let Some(data) = item.dataForType(&NSString::from_str(format_name)) {
410
+ results.push(ClipboardContent::Other(
411
+ format_name.to_string(),
412
+ data.to_vec(),
413
+ ));
414
+ break;
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+ Ok(results)
421
+ })
422
+ }
423
+
424
+ fn set_buffer(&self, format: &str, buffer: Vec<u8>) -> Result<()> {
425
+ self.write_to_clipboard(&[ClipboardContent::Other(format.to_owned(), buffer)], true)
426
+ }
427
+
428
+ fn set_text(&self, text: String) -> Result<()> {
429
+ self.write_to_clipboard(&[ClipboardContent::Text(text)], true)
430
+ }
431
+
432
+ fn set_rich_text(&self, text: String) -> Result<()> {
433
+ self.write_to_clipboard(&[ClipboardContent::Rtf(text)], true)
434
+ }
435
+
436
+ fn set_html(&self, html: String) -> Result<()> {
437
+ self.write_to_clipboard(&[ClipboardContent::Html(html)], true)
438
+ }
439
+
440
+ #[cfg(feature = "image")]
441
+ fn set_image(&self, image: RustImageData) -> Result<()> {
442
+ self.write_to_clipboard(&[ClipboardContent::Image(image)], true)
443
+ }
444
+
445
+ fn set_files(&self, files: Vec<String>) -> Result<()> {
446
+ if files.is_empty() {
447
+ return Err("file list is empty".into());
448
+ }
449
+ let _ = self.clear();
450
+ self.set_files(&files)
451
+ }
452
+
453
+ fn set(&self, contents: Vec<ClipboardContent>) -> Result<()> {
454
+ if contents.is_empty() {
455
+ return Err(
456
+ "contents is empty, if you want to clear clipboard, please use clear method".into(),
457
+ );
458
+ }
459
+ self.write_to_clipboard(&contents, true)
460
+ }
461
+ }
462
+
463
+ pub struct WatcherShutdown {
464
+ stop_signal: Sender<()>,
465
+ }
466
+
467
+ impl Drop for WatcherShutdown {
468
+ fn drop(&mut self) {
469
+ let _ = self.stop_signal.send(());
470
+ }
471
+ }