Compare commits

..

6 Commits

34 changed files with 805 additions and 49 deletions

322
.pnp.cjs generated
View File

@@ -275,6 +275,51 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/client-apigatewaymanagementapi", [\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-client-apigatewaymanagementapi-npm-3.405.0-e4e17d811f-d7103d0b37.zip/node_modules/@aws-sdk/client-apigatewaymanagementapi/",\
"packageDependencies": [\
["@aws-sdk/client-apigatewaymanagementapi", "npm:3.405.0"],\
["@aws-crypto/sha256-browser", "npm:3.0.0"],\
["@aws-crypto/sha256-js", "npm:3.0.0"],\
["@aws-sdk/client-sts", "npm:3.405.0"],\
["@aws-sdk/credential-provider-node", "npm:3.405.0"],\
["@aws-sdk/middleware-host-header", "npm:3.398.0"],\
["@aws-sdk/middleware-logger", "npm:3.398.0"],\
["@aws-sdk/middleware-recursion-detection", "npm:3.398.0"],\
["@aws-sdk/middleware-signing", "npm:3.398.0"],\
["@aws-sdk/middleware-user-agent", "npm:3.398.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@aws-sdk/util-endpoints", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-browser", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-node", "virtual:0b227682399940b7e75175c6ae399b938ec07d3986be60e73f8026d2677e9fe96d05ac258f3f223cf1b6bdd7fd2a24f55f0efa40a8406ba949dc1b7af3a6a968#npm:3.405.0"],\
["@smithy/config-resolver", "npm:2.0.5"],\
["@smithy/fetch-http-handler", "npm:2.0.5"],\
["@smithy/hash-node", "npm:2.0.5"],\
["@smithy/invalid-dependency", "npm:2.0.5"],\
["@smithy/middleware-content-length", "npm:2.0.5"],\
["@smithy/middleware-endpoint", "npm:2.0.5"],\
["@smithy/middleware-retry", "npm:2.0.5"],\
["@smithy/middleware-serde", "npm:2.0.5"],\
["@smithy/middleware-stack", "npm:2.0.0"],\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/node-http-handler", "npm:2.0.5"],\
["@smithy/protocol-http", "npm:2.0.5"],\
["@smithy/smithy-client", "npm:2.0.5"],\
["@smithy/types", "npm:2.2.2"],\
["@smithy/url-parser", "npm:2.0.5"],\
["@smithy/util-base64", "npm:2.0.0"],\
["@smithy/util-body-length-browser", "npm:2.0.0"],\
["@smithy/util-body-length-node", "npm:2.1.0"],\
["@smithy/util-defaults-mode-browser", "npm:2.0.6"],\
["@smithy/util-defaults-mode-node", "npm:2.0.7"],\
["@smithy/util-retry", "npm:2.0.0"],\
["@smithy/util-utf8", "npm:2.0.0"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/client-lambda", [\
["npm:3.398.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-client-lambda-npm-3.398.0-fa4aacfc7b-85ef0fe18d.zip/node_modules/@aws-sdk/client-lambda/",\
@@ -563,6 +608,46 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-client-sso-npm-3.405.0-0b22768239-323f99e024.zip/node_modules/@aws-sdk/client-sso/",\
"packageDependencies": [\
["@aws-sdk/client-sso", "npm:3.405.0"],\
["@aws-crypto/sha256-browser", "npm:3.0.0"],\
["@aws-crypto/sha256-js", "npm:3.0.0"],\
["@aws-sdk/middleware-host-header", "npm:3.398.0"],\
["@aws-sdk/middleware-logger", "npm:3.398.0"],\
["@aws-sdk/middleware-recursion-detection", "npm:3.398.0"],\
["@aws-sdk/middleware-user-agent", "npm:3.398.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@aws-sdk/util-endpoints", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-browser", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-node", "virtual:0b227682399940b7e75175c6ae399b938ec07d3986be60e73f8026d2677e9fe96d05ac258f3f223cf1b6bdd7fd2a24f55f0efa40a8406ba949dc1b7af3a6a968#npm:3.405.0"],\
["@smithy/config-resolver", "npm:2.0.5"],\
["@smithy/fetch-http-handler", "npm:2.0.5"],\
["@smithy/hash-node", "npm:2.0.5"],\
["@smithy/invalid-dependency", "npm:2.0.5"],\
["@smithy/middleware-content-length", "npm:2.0.5"],\
["@smithy/middleware-endpoint", "npm:2.0.5"],\
["@smithy/middleware-retry", "npm:2.0.5"],\
["@smithy/middleware-serde", "npm:2.0.5"],\
["@smithy/middleware-stack", "npm:2.0.0"],\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/node-http-handler", "npm:2.0.5"],\
["@smithy/protocol-http", "npm:2.0.5"],\
["@smithy/smithy-client", "npm:2.0.5"],\
["@smithy/types", "npm:2.2.2"],\
["@smithy/url-parser", "npm:2.0.5"],\
["@smithy/util-base64", "npm:2.0.0"],\
["@smithy/util-body-length-browser", "npm:2.0.0"],\
["@smithy/util-body-length-node", "npm:2.1.0"],\
["@smithy/util-defaults-mode-browser", "npm:2.0.6"],\
["@smithy/util-defaults-mode-node", "npm:2.0.7"],\
["@smithy/util-retry", "npm:2.0.0"],\
["@smithy/util-utf8", "npm:2.0.0"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/client-sso-oidc", [\
@@ -695,6 +780,50 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-client-sts-npm-3.405.0-b83c3faf19-01ea2a8695.zip/node_modules/@aws-sdk/client-sts/",\
"packageDependencies": [\
["@aws-sdk/client-sts", "npm:3.405.0"],\
["@aws-crypto/sha256-browser", "npm:3.0.0"],\
["@aws-crypto/sha256-js", "npm:3.0.0"],\
["@aws-sdk/credential-provider-node", "npm:3.405.0"],\
["@aws-sdk/middleware-host-header", "npm:3.398.0"],\
["@aws-sdk/middleware-logger", "npm:3.398.0"],\
["@aws-sdk/middleware-recursion-detection", "npm:3.398.0"],\
["@aws-sdk/middleware-sdk-sts", "npm:3.398.0"],\
["@aws-sdk/middleware-signing", "npm:3.398.0"],\
["@aws-sdk/middleware-user-agent", "npm:3.398.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@aws-sdk/util-endpoints", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-browser", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-node", "virtual:0b227682399940b7e75175c6ae399b938ec07d3986be60e73f8026d2677e9fe96d05ac258f3f223cf1b6bdd7fd2a24f55f0efa40a8406ba949dc1b7af3a6a968#npm:3.405.0"],\
["@smithy/config-resolver", "npm:2.0.5"],\
["@smithy/fetch-http-handler", "npm:2.0.5"],\
["@smithy/hash-node", "npm:2.0.5"],\
["@smithy/invalid-dependency", "npm:2.0.5"],\
["@smithy/middleware-content-length", "npm:2.0.5"],\
["@smithy/middleware-endpoint", "npm:2.0.5"],\
["@smithy/middleware-retry", "npm:2.0.5"],\
["@smithy/middleware-serde", "npm:2.0.5"],\
["@smithy/middleware-stack", "npm:2.0.0"],\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/node-http-handler", "npm:2.0.5"],\
["@smithy/protocol-http", "npm:2.0.5"],\
["@smithy/smithy-client", "npm:2.0.5"],\
["@smithy/types", "npm:2.2.2"],\
["@smithy/url-parser", "npm:2.0.5"],\
["@smithy/util-base64", "npm:2.0.0"],\
["@smithy/util-body-length-browser", "npm:2.0.0"],\
["@smithy/util-body-length-node", "npm:2.1.0"],\
["@smithy/util-defaults-mode-browser", "npm:2.0.6"],\
["@smithy/util-defaults-mode-node", "npm:2.0.7"],\
["@smithy/util-retry", "npm:2.0.0"],\
["@smithy/util-utf8", "npm:2.0.0"],\
["fast-xml-parser", "npm:4.2.5"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/config-resolver", [\
@@ -780,6 +909,23 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-credential-provider-ini-npm-3.405.0-759c2d9674-0d2694b969.zip/node_modules/@aws-sdk/credential-provider-ini/",\
"packageDependencies": [\
["@aws-sdk/credential-provider-ini", "npm:3.405.0"],\
["@aws-sdk/credential-provider-env", "npm:3.398.0"],\
["@aws-sdk/credential-provider-process", "npm:3.405.0"],\
["@aws-sdk/credential-provider-sso", "npm:3.405.0"],\
["@aws-sdk/credential-provider-web-identity", "npm:3.398.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@smithy/credential-provider-imds", "npm:2.0.5"],\
["@smithy/property-provider", "npm:2.0.5"],\
["@smithy/shared-ini-file-loader", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/credential-provider-node", [\
@@ -817,6 +963,24 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-credential-provider-node-npm-3.405.0-33a4e3c01f-58cf90600d.zip/node_modules/@aws-sdk/credential-provider-node/",\
"packageDependencies": [\
["@aws-sdk/credential-provider-node", "npm:3.405.0"],\
["@aws-sdk/credential-provider-env", "npm:3.398.0"],\
["@aws-sdk/credential-provider-ini", "npm:3.405.0"],\
["@aws-sdk/credential-provider-process", "npm:3.405.0"],\
["@aws-sdk/credential-provider-sso", "npm:3.405.0"],\
["@aws-sdk/credential-provider-web-identity", "npm:3.398.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@smithy/credential-provider-imds", "npm:2.0.5"],\
["@smithy/property-provider", "npm:2.0.5"],\
["@smithy/shared-ini-file-loader", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/credential-provider-process", [\
@@ -842,6 +1006,18 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-credential-provider-process-npm-3.405.0-ed6dc867ed-bd23e267bd.zip/node_modules/@aws-sdk/credential-provider-process/",\
"packageDependencies": [\
["@aws-sdk/credential-provider-process", "npm:3.405.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@smithy/property-provider", "npm:2.0.5"],\
["@smithy/shared-ini-file-loader", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/credential-provider-sso", [\
@@ -871,6 +1047,20 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.405.0-24b76ee82f-754f796b2a.zip/node_modules/@aws-sdk/credential-provider-sso/",\
"packageDependencies": [\
["@aws-sdk/credential-provider-sso", "npm:3.405.0"],\
["@aws-sdk/client-sso", "npm:3.405.0"],\
["@aws-sdk/token-providers", "npm:3.405.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@smithy/property-provider", "npm:2.0.5"],\
["@smithy/shared-ini-file-loader", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/credential-provider-web-identity", [\
@@ -1538,6 +1728,48 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-token-providers-npm-3.405.0-29e68d4065-08e30dbc7b.zip/node_modules/@aws-sdk/token-providers/",\
"packageDependencies": [\
["@aws-sdk/token-providers", "npm:3.405.0"],\
["@aws-crypto/sha256-browser", "npm:3.0.0"],\
["@aws-crypto/sha256-js", "npm:3.0.0"],\
["@aws-sdk/middleware-host-header", "npm:3.398.0"],\
["@aws-sdk/middleware-logger", "npm:3.398.0"],\
["@aws-sdk/middleware-recursion-detection", "npm:3.398.0"],\
["@aws-sdk/middleware-user-agent", "npm:3.398.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@aws-sdk/util-endpoints", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-browser", "npm:3.398.0"],\
["@aws-sdk/util-user-agent-node", "virtual:0b227682399940b7e75175c6ae399b938ec07d3986be60e73f8026d2677e9fe96d05ac258f3f223cf1b6bdd7fd2a24f55f0efa40a8406ba949dc1b7af3a6a968#npm:3.405.0"],\
["@smithy/config-resolver", "npm:2.0.5"],\
["@smithy/fetch-http-handler", "npm:2.0.5"],\
["@smithy/hash-node", "npm:2.0.5"],\
["@smithy/invalid-dependency", "npm:2.0.5"],\
["@smithy/middleware-content-length", "npm:2.0.5"],\
["@smithy/middleware-endpoint", "npm:2.0.5"],\
["@smithy/middleware-retry", "npm:2.0.5"],\
["@smithy/middleware-serde", "npm:2.0.5"],\
["@smithy/middleware-stack", "npm:2.0.0"],\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/node-http-handler", "npm:2.0.5"],\
["@smithy/property-provider", "npm:2.0.5"],\
["@smithy/protocol-http", "npm:2.0.5"],\
["@smithy/shared-ini-file-loader", "npm:2.0.6"],\
["@smithy/smithy-client", "npm:2.0.5"],\
["@smithy/types", "npm:2.2.2"],\
["@smithy/url-parser", "npm:2.0.5"],\
["@smithy/util-base64", "npm:2.0.0"],\
["@smithy/util-body-length-browser", "npm:2.0.0"],\
["@smithy/util-body-length-node", "npm:2.1.0"],\
["@smithy/util-defaults-mode-browser", "npm:2.0.6"],\
["@smithy/util-defaults-mode-node", "npm:2.0.7"],\
["@smithy/util-retry", "npm:2.0.0"],\
["@smithy/util-utf8", "npm:2.0.0"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@aws-sdk/types", [\
@@ -1798,6 +2030,30 @@ const RAW_RUNTIME_STATE =
],\
"linkType": "SOFT"\
}],\
["npm:3.405.0", {\
"packageLocation": "./.yarn/cache/@aws-sdk-util-user-agent-node-npm-3.405.0-160b854f92-6422874d9e.zip/node_modules/@aws-sdk/util-user-agent-node/",\
"packageDependencies": [\
["@aws-sdk/util-user-agent-node", "npm:3.405.0"]\
],\
"linkType": "SOFT"\
}],\
["virtual:0b227682399940b7e75175c6ae399b938ec07d3986be60e73f8026d2677e9fe96d05ac258f3f223cf1b6bdd7fd2a24f55f0efa40a8406ba949dc1b7af3a6a968#npm:3.405.0", {\
"packageLocation": "./.yarn/__virtual__/@aws-sdk-util-user-agent-node-virtual-f09536a53a/0/cache/@aws-sdk-util-user-agent-node-npm-3.405.0-160b854f92-6422874d9e.zip/node_modules/@aws-sdk/util-user-agent-node/",\
"packageDependencies": [\
["@aws-sdk/util-user-agent-node", "virtual:0b227682399940b7e75175c6ae399b938ec07d3986be60e73f8026d2677e9fe96d05ac258f3f223cf1b6bdd7fd2a24f55f0efa40a8406ba949dc1b7af3a6a968#npm:3.405.0"],\
["@aws-sdk/types", "npm:3.398.0"],\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/types", "npm:2.2.2"],\
["@types/aws-crt", null],\
["aws-crt", null],\
["tslib", "npm:2.5.2"]\
],\
"packagePeers": [\
"@types/aws-crt",\
"aws-crt"\
],\
"linkType": "HARD"\
}],\
["virtual:bc215baaece010534480a5bbeef12e01b493e2e880132aa6bad8e946a74eb78bacf426e63b2a17a031e79d1b4089081937de686f0c09183e86cf908c3bd861cc#npm:3.398.0", {\
"packageLocation": "./.yarn/__virtual__/@aws-sdk-util-user-agent-node-virtual-cb6c764817/0/cache/@aws-sdk-util-user-agent-node-npm-3.398.0-e1c632b733-6d5dae585a.zip/node_modules/@aws-sdk/util-user-agent-node/",\
"packageDependencies": [\
@@ -4927,6 +5183,18 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:2.0.7", {\
"packageLocation": "./.yarn/cache/@smithy-credential-provider-imds-npm-2.0.7-46bd1e8858-61c59aea7e.zip/node_modules/@smithy/credential-provider-imds/",\
"packageDependencies": [\
["@smithy/credential-provider-imds", "npm:2.0.7"],\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/property-provider", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["@smithy/url-parser", "npm:2.0.5"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@smithy/eventstream-codec", [\
@@ -5111,6 +5379,17 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:2.0.7", {\
"packageLocation": "./.yarn/cache/@smithy-node-config-provider-npm-2.0.7-806b68f393-d4b58ee69f.zip/node_modules/@smithy/node-config-provider/",\
"packageDependencies": [\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/property-provider", "npm:2.0.6"],\
["@smithy/shared-ini-file-loader", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@smithy/node-http-handler", [\
@@ -5136,6 +5415,15 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:2.0.6", {\
"packageLocation": "./.yarn/cache/@smithy-property-provider-npm-2.0.6-4f294049d1-b9a4aff1f0.zip/node_modules/@smithy/property-provider/",\
"packageDependencies": [\
["@smithy/property-provider", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@smithy/protocol-http", [\
@@ -5199,6 +5487,15 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:2.0.6", {\
"packageLocation": "./.yarn/cache/@smithy-shared-ini-file-loader-npm-2.0.6-ebbee54019-4b538ef59a.zip/node_modules/@smithy/shared-ini-file-loader/",\
"packageDependencies": [\
["@smithy/shared-ini-file-loader", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@smithy/signature-v4", [\
@@ -5324,6 +5621,17 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:2.0.6", {\
"packageLocation": "./.yarn/cache/@smithy-util-defaults-mode-browser-npm-2.0.6-d40f165a01-286295e6e9.zip/node_modules/@smithy/util-defaults-mode-browser/",\
"packageDependencies": [\
["@smithy/util-defaults-mode-browser", "npm:2.0.6"],\
["@smithy/property-provider", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["bowser", "npm:2.11.0"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@smithy/util-defaults-mode-node", [\
@@ -5339,6 +5647,19 @@ const RAW_RUNTIME_STATE =
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}],\
["npm:2.0.7", {\
"packageLocation": "./.yarn/cache/@smithy-util-defaults-mode-node-npm-2.0.7-8a9d03e11c-b1c74a3b41.zip/node_modules/@smithy/util-defaults-mode-node/",\
"packageDependencies": [\
["@smithy/util-defaults-mode-node", "npm:2.0.7"],\
["@smithy/config-resolver", "npm:2.0.5"],\
["@smithy/credential-provider-imds", "npm:2.0.7"],\
["@smithy/node-config-provider", "npm:2.0.7"],\
["@smithy/property-provider", "npm:2.0.6"],\
["@smithy/types", "npm:2.2.2"],\
["tslib", "npm:2.5.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["@smithy/util-hex-encoding", [\
@@ -6161,6 +6482,7 @@ const RAW_RUNTIME_STATE =
"packageLocation": "./packages/websockets/",\
"packageDependencies": [\
["@standardnotes/websockets-server", "workspace:packages/websockets"],\
["@aws-sdk/client-apigatewaymanagementapi", "npm:3.405.0"],\
["@aws-sdk/client-sqs", "npm:3.342.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@standardnotes/api", "npm:1.26.26"],\

View File

@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.15.24](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.15.23...@standardnotes/home-server@1.15.24) (2023-09-04)
**Note:** Version bump only for package @standardnotes/home-server
## [1.15.23](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.15.22...@standardnotes/home-server@1.15.23) (2023-09-04)
**Note:** Version bump only for package @standardnotes/home-server

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/home-server",
"version": "1.15.23",
"version": "1.15.24",
"engines": {
"node": ">=18.0.0 <21.0.0"
},

View File

@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.30.14](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.30.13...@standardnotes/revisions-server@1.30.14) (2023-09-04)
### Bug Fixes
* prevent doubling transitions ([d9ee2c5](https://github.com/standardnotes/server/commit/d9ee2c5be2d81c729c829e6078846df624d500bd))
## [1.30.13](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.30.12...@standardnotes/revisions-server@1.30.13) (2023-09-04)
### Bug Fixes

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/revisions-server",
"version": "1.30.13",
"version": "1.30.14",
"engines": {
"node": ">=18.0.0 <21.0.0"
},

View File

@@ -131,7 +131,7 @@ describe('TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser', () => {
expect(result.isFailed()).toBeFalsy()
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledTimes(2)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledTimes(3)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledWith(
Uuid.create('00000000-0000-0000-0000-000000000000').getValue(),
)
@@ -344,7 +344,7 @@ describe('TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser', () => {
'Total revisions count for user 00000000-0000-0000-0000-000000000000 in primary database (2) does not match total revisions count in secondary database (1)',
)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledTimes(2)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledTimes(3)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledWith(
Uuid.create('00000000-0000-0000-0000-000000000000').getValue(),
)
@@ -368,7 +368,7 @@ describe('TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser', () => {
expect(result.isFailed()).toBeTruthy()
expect(result.getError()).toEqual('Revision 00000000-0000-0000-0000-000000000001 not found in secondary database')
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledTimes(2)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledTimes(3)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledWith(
Uuid.create('00000000-0000-0000-0000-000000000000').getValue(),
)
@@ -413,4 +413,25 @@ describe('TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser', () => {
expect((secondaryRevisionRepository as RevisionRepositoryInterface).removeByUserUuid).toHaveBeenCalledTimes(1)
})
})
it('should not migrate revisions if there are no revisions in the primary database', async () => {
primaryRevisionRepository.countByUserUuid = jest.fn().mockResolvedValue(0)
const useCase = createUseCase()
const result = await useCase.execute({
userUuid: '00000000-0000-0000-0000-000000000000',
})
expect(result.isFailed()).toBeFalsy()
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledTimes(1)
expect(primaryRevisionRepository.countByUserUuid).toHaveBeenCalledWith(
Uuid.create('00000000-0000-0000-0000-000000000000').getValue(),
)
expect(primaryRevisionRepository.findByUserUuid).not.toHaveBeenCalled()
expect((secondaryRevisionRepository as RevisionRepositoryInterface).insert).not.toHaveBeenCalled()
expect(primaryRevisionRepository.removeByUserUuid).not.toHaveBeenCalled()
expect((secondaryRevisionRepository as RevisionRepositoryInterface).removeByUserUuid).not.toHaveBeenCalled()
})
})

View File

@@ -24,6 +24,12 @@ export class TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser implements
}
const userUuid = userUuidOrError.getValue()
if (await this.isAlreadyMigrated(userUuid)) {
this.logger.info(`Revisions for user ${userUuid.value} are already migrated`)
return Result.ok()
}
const migrationTimeStart = this.timer.getTimestampInMicroseconds()
this.logger.debug(`Transitioning revisions for user ${userUuid.value}`)
@@ -137,6 +143,12 @@ export class TransitionRevisionsFromPrimaryToSecondaryDatabaseForUser implements
await this.timer.sleep(twoSecondsInMilliseconds)
}
private async isAlreadyMigrated(userUuid: Uuid): Promise<boolean> {
const totalRevisionsCountForUserInPrimary = await this.primaryRevisionsRepository.countByUserUuid(userUuid)
return totalRevisionsCountForUserInPrimary === 0
}
private async checkIntegrityBetweenPrimaryAndSecondaryDatabase(userUuid: Uuid): Promise<Result<boolean>> {
try {
const totalRevisionsCountForUserInPrimary = await this.primaryRevisionsRepository.countByUserUuid(userUuid)

View File

@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.91.3](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.91.2...@standardnotes/syncing-server@1.91.3) (2023-09-04)
### Bug Fixes
* prevent doubling transitions ([d9ee2c5](https://github.com/standardnotes/syncing-server-js/commit/d9ee2c5be2d81c729c829e6078846df624d500bd))
## [1.91.2](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.91.1...@standardnotes/syncing-server@1.91.2) (2023-09-04)
**Note:** Version bump only for package @standardnotes/syncing-server

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/syncing-server",
"version": "1.91.2",
"version": "1.91.3",
"engines": {
"node": ">=18.0.0 <21.0.0"
},

View File

@@ -138,7 +138,7 @@ describe('TransitionItemsFromPrimaryToSecondaryDatabaseForUser', () => {
expect(result.isFailed()).toBeFalsy()
expect(primaryItemRepository.countAll).toHaveBeenCalledTimes(2)
expect(primaryItemRepository.countAll).toHaveBeenCalledTimes(3)
expect(primaryItemRepository.countAll).toHaveBeenCalledWith({ userUuid: '00000000-0000-0000-0000-000000000000' })
expect(primaryItemRepository.findAll).toHaveBeenCalledTimes(4)
expect(primaryItemRepository.findAll).toHaveBeenNthCalledWith(1, {
@@ -329,7 +329,7 @@ describe('TransitionItemsFromPrimaryToSecondaryDatabaseForUser', () => {
'Total items count for user 00000000-0000-0000-0000-000000000000 in primary database (2) does not match total items count in secondary database (1)',
)
expect(primaryItemRepository.countAll).toHaveBeenCalledTimes(2)
expect(primaryItemRepository.countAll).toHaveBeenCalledTimes(3)
expect(primaryItemRepository.countAll).toHaveBeenCalledWith({ userUuid: '00000000-0000-0000-0000-000000000000' })
expect((secondaryItemRepository as ItemRepositoryInterface).countAll).toHaveBeenCalledTimes(1)
expect(primaryItemRepository.deleteByUserUuid).not.toHaveBeenCalled()
@@ -351,7 +351,7 @@ describe('TransitionItemsFromPrimaryToSecondaryDatabaseForUser', () => {
expect(result.isFailed()).toBeTruthy()
expect(result.getError()).toEqual('Item 00000000-0000-0000-0000-000000000001 not found in secondary database')
expect(primaryItemRepository.countAll).toHaveBeenCalledTimes(2)
expect(primaryItemRepository.countAll).toHaveBeenCalledTimes(3)
expect(primaryItemRepository.countAll).toHaveBeenCalledWith({ userUuid: '00000000-0000-0000-0000-000000000000' })
expect((secondaryItemRepository as ItemRepositoryInterface).countAll).toHaveBeenCalledTimes(1)
expect(primaryItemRepository.deleteByUserUuid).not.toHaveBeenCalled()
@@ -374,4 +374,23 @@ describe('TransitionItemsFromPrimaryToSecondaryDatabaseForUser', () => {
expect((secondaryItemRepository as ItemRepositoryInterface).deleteByUserUuid).toHaveBeenCalledTimes(1)
})
})
it('should not migrate items if there are no items in the primary database', async () => {
primaryItemRepository.countAll = jest.fn().mockResolvedValue(0)
const useCase = createUseCase()
const result = await useCase.execute({
userUuid: '00000000-0000-0000-0000-000000000000',
})
expect(result.isFailed()).toBeFalsy()
expect(primaryItemRepository.countAll).toHaveBeenCalledTimes(1)
expect(primaryItemRepository.countAll).toHaveBeenCalledWith({ userUuid: '00000000-0000-0000-0000-000000000000' })
expect(primaryItemRepository.findAll).not.toHaveBeenCalled()
expect((secondaryItemRepository as ItemRepositoryInterface).save).not.toHaveBeenCalled()
expect(primaryItemRepository.deleteByUserUuid).not.toHaveBeenCalled()
expect((secondaryItemRepository as ItemRepositoryInterface).deleteByUserUuid).not.toHaveBeenCalled()
})
})

View File

@@ -25,6 +25,12 @@ export class TransitionItemsFromPrimaryToSecondaryDatabaseForUser implements Use
}
const userUuid = userUuidOrError.getValue()
if (await this.isAlreadyMigrated(userUuid)) {
this.logger.info(`Items for user ${userUuid.value} are already migrated`)
return Result.ok()
}
const migrationTimeStart = this.timer.getTimestampInMicroseconds()
const migrationResult = await this.migrateItemsForUser(userUuid)
@@ -72,6 +78,12 @@ export class TransitionItemsFromPrimaryToSecondaryDatabaseForUser implements Use
return Result.ok()
}
private async isAlreadyMigrated(userUuid: Uuid): Promise<boolean> {
const totalItemsCountForUser = await this.primaryItemRepository.countAll({ userUuid: userUuid.value })
return totalItemsCountForUser === 0
}
private async allowForSecondaryDatabaseToCatchUp(): Promise<void> {
const twoSecondsInMilliseconds = 2_000
await this.timer.sleep(twoSecondsInMilliseconds)

View File

@@ -13,6 +13,9 @@ SNS_AWS_REGION=
SQS_QUEUE_URL=
SQS_AWS_REGION=
# (Optional) AWS API Gateway Setup
API_GATEWAY_AWS_REGION=
WEB_SOCKET_CONNECTION_TOKEN_SECRET=
WEB_SOCKET_CONNECTION_TOKEN_TTL=

View File

@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.10.32](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.10.31...@standardnotes/websockets-server@1.10.32) (2023-09-05)
### Bug Fixes
* **websockets:** add missing region parameter in api gateway client ([6bb44af](https://github.com/standardnotes/server/commit/6bb44afd91b030facec486c128f80d533996e98b))
## [1.10.31](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.10.30...@standardnotes/websockets-server@1.10.31) (2023-09-05)
### Bug Fixes
* **websockets:** issue with sending messages to active websocket connections ([#806](https://github.com/standardnotes/server/issues/806)) ([72ab08a](https://github.com/standardnotes/server/commit/72ab08a0d09a18700298544c136ba3d202962d07))
## [1.10.30](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.10.29...@standardnotes/websockets-server@1.10.30) (2023-09-04)
### Bug Fixes

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/websockets-server",
"version": "1.10.30",
"version": "1.10.32",
"engines": {
"node": ">=18.0.0 <21.0.0"
},
@@ -22,6 +22,7 @@
"typeorm": "typeorm-ts-node-commonjs"
},
"dependencies": {
"@aws-sdk/client-apigatewaymanagementapi": "^3.405.0",
"@aws-sdk/client-sqs": "^3.332.0",
"@standardnotes/api": "^1.26.26",
"@standardnotes/common": "workspace:^",

View File

@@ -4,6 +4,7 @@ const axios = require('axios')
import { AxiosInstance } from 'axios'
import Redis from 'ioredis'
import { SQSClient, SQSClientConfig } from '@aws-sdk/client-sqs'
import { ApiGatewayManagementApiClient } from '@aws-sdk/client-apigatewaymanagementapi'
import { Container } from 'inversify'
import {
DomainEventHandlerInterface,
@@ -88,6 +89,15 @@ export class ContainerConfigLoader {
container.bind<SQSClient>(TYPES.SQS).toConstantValue(new SQSClient(sqsConfig))
}
container.bind(TYPES.WEBSOCKETS_API_URL).toConstantValue(env.get('WEBSOCKETS_API_URL', true))
container.bind<ApiGatewayManagementApiClient>(TYPES.WebSockets_ApiGatewayManagementApiClient).toConstantValue(
new ApiGatewayManagementApiClient({
endpoint: container.get(TYPES.WEBSOCKETS_API_URL),
region: env.get('API_GATEWAY_AWS_REGION', true) ?? 'us-east-1',
}),
)
// Controller
container.bind<WebSocketServerInterface>(TYPES.WebSocketsController).to(WebSocketsController)
@@ -110,7 +120,6 @@ export class ContainerConfigLoader {
container.bind(TYPES.REDIS_URL).toConstantValue(env.get('REDIS_URL'))
container.bind(TYPES.SQS_QUEUE_URL).toConstantValue(env.get('SQS_QUEUE_URL'))
container.bind(TYPES.NEW_RELIC_ENABLED).toConstantValue(env.get('NEW_RELIC_ENABLED', true))
container.bind(TYPES.WEBSOCKETS_API_URL).toConstantValue(env.get('WEBSOCKETS_API_URL', true))
container.bind(TYPES.VERSION).toConstantValue(env.get('VERSION'))
// use cases

View File

@@ -2,6 +2,7 @@ const TYPES = {
Logger: Symbol.for('Logger'),
Redis: Symbol.for('Redis'),
SQS: Symbol.for('SQS'),
WebSockets_ApiGatewayManagementApiClient: Symbol.for('WebSockets_ApiGatewayManagementApiClient'),
// Controller
WebSocketsController: Symbol.for('WebSocketsController'),
// Repositories

View File

@@ -1,4 +1,4 @@
import { AxiosInstance } from 'axios'
import { ApiGatewayManagementApiClient, PostToConnectionCommand } from '@aws-sdk/client-apigatewaymanagementapi'
import { Logger } from 'winston'
import { inject, injectable } from 'inversify'
@@ -11,8 +11,8 @@ export class WebSocketsClientMessenger implements ClientMessengerInterface {
constructor(
@inject(TYPES.WebSocketsConnectionRepository)
private webSocketsConnectionRepository: WebSocketsConnectionRepositoryInterface,
@inject(TYPES.HTTPClient) private httpClient: AxiosInstance,
@inject(TYPES.WEBSOCKETS_API_URL) private webSocketsApiUrl: string,
@inject(TYPES.WebSockets_ApiGatewayManagementApiClient)
private apiGatewayManagementClient: ApiGatewayManagementApiClient,
@inject(TYPES.Logger) private logger: Logger,
) {}
@@ -21,23 +21,27 @@ export class WebSocketsClientMessenger implements ClientMessengerInterface {
for (const connectionUuid of userConnections) {
this.logger.debug(`Sending message to connection ${connectionUuid} for user ${userUuid}`)
const response = await this.httpClient.request({
method: 'POST',
url: `${this.webSocketsApiUrl}/${connectionUuid}`,
headers: {
Accept: 'text/plain',
'Content-Type': 'text/plain',
},
data: message,
validateStatus:
/* istanbul ignore next */
(status: number) => status >= 200 && status < 500,
})
if (response.status !== 200) {
const requestParams = {
ConnectionId: connectionUuid,
Data: message,
}
const command = new PostToConnectionCommand(requestParams)
try {
const response = await this.apiGatewayManagementClient.send(command)
if (response.$metadata.httpStatusCode !== 200) {
this.logger.error(
`Could not send message to connection ${connectionUuid} for user ${userUuid}. Response status code: ${response.$metadata.httpStatusCode}`,
)
}
} catch (error) {
this.logger.error(
`Could not send message to connection ${connectionUuid} for user ${userUuid}. Response status code: ${
response.status
}. Response body: ${JSON.stringify(response.data)}`,
`Could not send message to connection ${connectionUuid} for user ${userUuid}. Error: ${
(error as Error).message
}`,
)
}
}

View File

@@ -1,7 +1,8 @@
import 'reflect-metadata'
import { ApiGatewayManagementApiClient } from '@aws-sdk/client-apigatewaymanagementapi'
import { WebSocketsConnectionRepositoryInterface } from '../../Domain/WebSockets/WebSocketsConnectionRepositoryInterface'
import { AxiosInstance } from 'axios'
import { Logger } from 'winston'
import { WebSocketsClientMessenger } from './WebSocketsClientMessenger'
@@ -9,13 +10,11 @@ import { WebSocketsClientMessenger } from './WebSocketsClientMessenger'
describe('WebSocketsClientMessenger', () => {
let connectionIds: string[]
let webSocketsConnectionRepository: WebSocketsConnectionRepositoryInterface
let httpClient: AxiosInstance
let apiGatewayManagementClient: ApiGatewayManagementApiClient
let logger: Logger
const webSocketsApiUrl = 'http://test-websockets'
const createService = () =>
new WebSocketsClientMessenger(webSocketsConnectionRepository, httpClient, webSocketsApiUrl, logger)
new WebSocketsClientMessenger(webSocketsConnectionRepository, apiGatewayManagementClient, logger)
beforeEach(() => {
connectionIds = ['1', '2']
@@ -23,8 +22,8 @@ describe('WebSocketsClientMessenger', () => {
webSocketsConnectionRepository = {} as jest.Mocked<WebSocketsConnectionRepositoryInterface>
webSocketsConnectionRepository.findAllByUserUuid = jest.fn().mockReturnValue(connectionIds)
httpClient = {} as jest.Mocked<AxiosInstance>
httpClient.request = jest.fn().mockReturnValue({ status: 200 })
apiGatewayManagementClient = {} as jest.Mocked<ApiGatewayManagementApiClient>
apiGatewayManagementClient.send = jest.fn().mockReturnValue({ $metadata: { httpStatusCode: 200 } })
logger = {} as jest.Mocked<Logger>
logger.debug = jest.fn()
@@ -34,21 +33,19 @@ describe('WebSocketsClientMessenger', () => {
it('should send a message to all user connections', async () => {
await createService().send('1-2-3', 'message')
expect(httpClient.request).toHaveBeenCalledTimes(connectionIds.length)
connectionIds.map((id, index) => {
expect(httpClient.request).toHaveBeenNthCalledWith(
index + 1,
expect.objectContaining({
method: 'POST',
url: `${webSocketsApiUrl}/${id}`,
data: 'message',
}),
)
})
expect(apiGatewayManagementClient.send).toHaveBeenCalledTimes(connectionIds.length)
})
it('should log an error if message could not be sent', async () => {
httpClient.request = jest.fn().mockReturnValue({ status: 400 })
apiGatewayManagementClient.send = jest.fn().mockReturnValue({ $metadata: { httpStatusCode: 500 } })
await createService().send('1-2-3', 'message')
expect(logger.error).toHaveBeenCalledTimes(connectionIds.length)
})
it('should log an error if message sending throws error', async () => {
apiGatewayManagementClient.send = jest.fn().mockRejectedValue(new Error('error'))
await createService().send('1-2-3', 'message')

327
yarn.lock
View File

@@ -127,6 +127,50 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/client-apigatewaymanagementapi@npm:^3.405.0":
version: 3.405.0
resolution: "@aws-sdk/client-apigatewaymanagementapi@npm:3.405.0"
dependencies:
"@aws-crypto/sha256-browser": "npm:3.0.0"
"@aws-crypto/sha256-js": "npm:3.0.0"
"@aws-sdk/client-sts": "npm:3.405.0"
"@aws-sdk/credential-provider-node": "npm:3.405.0"
"@aws-sdk/middleware-host-header": "npm:3.398.0"
"@aws-sdk/middleware-logger": "npm:3.398.0"
"@aws-sdk/middleware-recursion-detection": "npm:3.398.0"
"@aws-sdk/middleware-signing": "npm:3.398.0"
"@aws-sdk/middleware-user-agent": "npm:3.398.0"
"@aws-sdk/types": "npm:3.398.0"
"@aws-sdk/util-endpoints": "npm:3.398.0"
"@aws-sdk/util-user-agent-browser": "npm:3.398.0"
"@aws-sdk/util-user-agent-node": "npm:3.405.0"
"@smithy/config-resolver": "npm:^2.0.5"
"@smithy/fetch-http-handler": "npm:^2.0.5"
"@smithy/hash-node": "npm:^2.0.5"
"@smithy/invalid-dependency": "npm:^2.0.5"
"@smithy/middleware-content-length": "npm:^2.0.5"
"@smithy/middleware-endpoint": "npm:^2.0.5"
"@smithy/middleware-retry": "npm:^2.0.5"
"@smithy/middleware-serde": "npm:^2.0.5"
"@smithy/middleware-stack": "npm:^2.0.0"
"@smithy/node-config-provider": "npm:^2.0.6"
"@smithy/node-http-handler": "npm:^2.0.5"
"@smithy/protocol-http": "npm:^2.0.5"
"@smithy/smithy-client": "npm:^2.0.5"
"@smithy/types": "npm:^2.2.2"
"@smithy/url-parser": "npm:^2.0.5"
"@smithy/util-base64": "npm:^2.0.0"
"@smithy/util-body-length-browser": "npm:^2.0.0"
"@smithy/util-body-length-node": "npm:^2.1.0"
"@smithy/util-defaults-mode-browser": "npm:^2.0.6"
"@smithy/util-defaults-mode-node": "npm:^2.0.6"
"@smithy/util-retry": "npm:^2.0.0"
"@smithy/util-utf8": "npm:^2.0.0"
tslib: "npm:^2.5.0"
checksum: d7103d0b3714e55f6c4e5788a70173ff93075ad4918089373d115a82e024d739a65f35005c371c100dea2c10fe9191cff50b904c7d3979bf1943348b33182102
languageName: node
linkType: hard
"@aws-sdk/client-lambda@npm:^3.363.0":
version: 3.398.0
resolution: "@aws-sdk/client-lambda@npm:3.398.0"
@@ -454,6 +498,47 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/client-sso@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/client-sso@npm:3.405.0"
dependencies:
"@aws-crypto/sha256-browser": "npm:3.0.0"
"@aws-crypto/sha256-js": "npm:3.0.0"
"@aws-sdk/middleware-host-header": "npm:3.398.0"
"@aws-sdk/middleware-logger": "npm:3.398.0"
"@aws-sdk/middleware-recursion-detection": "npm:3.398.0"
"@aws-sdk/middleware-user-agent": "npm:3.398.0"
"@aws-sdk/types": "npm:3.398.0"
"@aws-sdk/util-endpoints": "npm:3.398.0"
"@aws-sdk/util-user-agent-browser": "npm:3.398.0"
"@aws-sdk/util-user-agent-node": "npm:3.405.0"
"@smithy/config-resolver": "npm:^2.0.5"
"@smithy/fetch-http-handler": "npm:^2.0.5"
"@smithy/hash-node": "npm:^2.0.5"
"@smithy/invalid-dependency": "npm:^2.0.5"
"@smithy/middleware-content-length": "npm:^2.0.5"
"@smithy/middleware-endpoint": "npm:^2.0.5"
"@smithy/middleware-retry": "npm:^2.0.5"
"@smithy/middleware-serde": "npm:^2.0.5"
"@smithy/middleware-stack": "npm:^2.0.0"
"@smithy/node-config-provider": "npm:^2.0.6"
"@smithy/node-http-handler": "npm:^2.0.5"
"@smithy/protocol-http": "npm:^2.0.5"
"@smithy/smithy-client": "npm:^2.0.5"
"@smithy/types": "npm:^2.2.2"
"@smithy/url-parser": "npm:^2.0.5"
"@smithy/util-base64": "npm:^2.0.0"
"@smithy/util-body-length-browser": "npm:^2.0.0"
"@smithy/util-body-length-node": "npm:^2.1.0"
"@smithy/util-defaults-mode-browser": "npm:^2.0.6"
"@smithy/util-defaults-mode-node": "npm:^2.0.6"
"@smithy/util-retry": "npm:^2.0.0"
"@smithy/util-utf8": "npm:^2.0.0"
tslib: "npm:^2.5.0"
checksum: 323f99e0241650fb04ed9e8ed64f270281aaedd9eb37b12c3c3e003d6b35f000a128f88be462dd595d48a9512892cd425005f4336e1f31c0cb73ba4003357269
languageName: node
linkType: hard
"@aws-sdk/client-sts@npm:3.342.0":
version: 3.342.0
resolution: "@aws-sdk/client-sts@npm:3.342.0"
@@ -544,6 +629,51 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/client-sts@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/client-sts@npm:3.405.0"
dependencies:
"@aws-crypto/sha256-browser": "npm:3.0.0"
"@aws-crypto/sha256-js": "npm:3.0.0"
"@aws-sdk/credential-provider-node": "npm:3.405.0"
"@aws-sdk/middleware-host-header": "npm:3.398.0"
"@aws-sdk/middleware-logger": "npm:3.398.0"
"@aws-sdk/middleware-recursion-detection": "npm:3.398.0"
"@aws-sdk/middleware-sdk-sts": "npm:3.398.0"
"@aws-sdk/middleware-signing": "npm:3.398.0"
"@aws-sdk/middleware-user-agent": "npm:3.398.0"
"@aws-sdk/types": "npm:3.398.0"
"@aws-sdk/util-endpoints": "npm:3.398.0"
"@aws-sdk/util-user-agent-browser": "npm:3.398.0"
"@aws-sdk/util-user-agent-node": "npm:3.405.0"
"@smithy/config-resolver": "npm:^2.0.5"
"@smithy/fetch-http-handler": "npm:^2.0.5"
"@smithy/hash-node": "npm:^2.0.5"
"@smithy/invalid-dependency": "npm:^2.0.5"
"@smithy/middleware-content-length": "npm:^2.0.5"
"@smithy/middleware-endpoint": "npm:^2.0.5"
"@smithy/middleware-retry": "npm:^2.0.5"
"@smithy/middleware-serde": "npm:^2.0.5"
"@smithy/middleware-stack": "npm:^2.0.0"
"@smithy/node-config-provider": "npm:^2.0.6"
"@smithy/node-http-handler": "npm:^2.0.5"
"@smithy/protocol-http": "npm:^2.0.5"
"@smithy/smithy-client": "npm:^2.0.5"
"@smithy/types": "npm:^2.2.2"
"@smithy/url-parser": "npm:^2.0.5"
"@smithy/util-base64": "npm:^2.0.0"
"@smithy/util-body-length-browser": "npm:^2.0.0"
"@smithy/util-body-length-node": "npm:^2.1.0"
"@smithy/util-defaults-mode-browser": "npm:^2.0.6"
"@smithy/util-defaults-mode-node": "npm:^2.0.6"
"@smithy/util-retry": "npm:^2.0.0"
"@smithy/util-utf8": "npm:^2.0.0"
fast-xml-parser: "npm:4.2.5"
tslib: "npm:^2.5.0"
checksum: 01ea2a8695853b17c7cc5a8cbba6b3af7e24600ac3b1b2d1d33c3f05f895cffb91e73ad8e0bfad3746c9eec86b908d3fd06404f82e50bbe9d41afc2885da18fb
languageName: node
linkType: hard
"@aws-sdk/config-resolver@npm:3.342.0":
version: 3.342.0
resolution: "@aws-sdk/config-resolver@npm:3.342.0"
@@ -627,6 +757,24 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/credential-provider-ini@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/credential-provider-ini@npm:3.405.0"
dependencies:
"@aws-sdk/credential-provider-env": "npm:3.398.0"
"@aws-sdk/credential-provider-process": "npm:3.405.0"
"@aws-sdk/credential-provider-sso": "npm:3.405.0"
"@aws-sdk/credential-provider-web-identity": "npm:3.398.0"
"@aws-sdk/types": "npm:3.398.0"
"@smithy/credential-provider-imds": "npm:^2.0.0"
"@smithy/property-provider": "npm:^2.0.0"
"@smithy/shared-ini-file-loader": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: 0d2694b969328dd859ebd6a18e869af90f9263d61591b3ccd0c93bb5b1ab339ad852346b56c497bfb2bb28be814c912ba8072afbbc1763b54cdf46330ba18b8f
languageName: node
linkType: hard
"@aws-sdk/credential-provider-node@npm:3.342.0":
version: 3.342.0
resolution: "@aws-sdk/credential-provider-node@npm:3.342.0"
@@ -664,6 +812,25 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/credential-provider-node@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/credential-provider-node@npm:3.405.0"
dependencies:
"@aws-sdk/credential-provider-env": "npm:3.398.0"
"@aws-sdk/credential-provider-ini": "npm:3.405.0"
"@aws-sdk/credential-provider-process": "npm:3.405.0"
"@aws-sdk/credential-provider-sso": "npm:3.405.0"
"@aws-sdk/credential-provider-web-identity": "npm:3.398.0"
"@aws-sdk/types": "npm:3.398.0"
"@smithy/credential-provider-imds": "npm:^2.0.0"
"@smithy/property-provider": "npm:^2.0.0"
"@smithy/shared-ini-file-loader": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: 58cf90600d9281ad0c87491d20307b51cd871e1d6560d030809c54f225034078e1daacca1c80d2f71466e71212864293e9a4590d8279bf99c71fcf871242b813
languageName: node
linkType: hard
"@aws-sdk/credential-provider-process@npm:3.342.0":
version: 3.342.0
resolution: "@aws-sdk/credential-provider-process@npm:3.342.0"
@@ -689,6 +856,19 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/credential-provider-process@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/credential-provider-process@npm:3.405.0"
dependencies:
"@aws-sdk/types": "npm:3.398.0"
"@smithy/property-provider": "npm:^2.0.0"
"@smithy/shared-ini-file-loader": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: bd23e267bd9a2c1a174628e049c033def46dae11647f459eb83f3d1ba938bce71fd313ed4e4c2ff0e41b5f74aefb63410d31c03f4e9041b9e28e074c33578ae7
languageName: node
linkType: hard
"@aws-sdk/credential-provider-sso@npm:3.342.0":
version: 3.342.0
resolution: "@aws-sdk/credential-provider-sso@npm:3.342.0"
@@ -718,6 +898,21 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/credential-provider-sso@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/credential-provider-sso@npm:3.405.0"
dependencies:
"@aws-sdk/client-sso": "npm:3.405.0"
"@aws-sdk/token-providers": "npm:3.405.0"
"@aws-sdk/types": "npm:3.398.0"
"@smithy/property-provider": "npm:^2.0.0"
"@smithy/shared-ini-file-loader": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: 754f796b2a5da1915a478d3d749c824c9273dc3299ee303e3ca30260bd66a5d4f120ef7958a47809e019d72b6380e06064eaff0d222e2bc843d63ffc4b35602d
languageName: node
linkType: hard
"@aws-sdk/credential-provider-web-identity@npm:3.342.0":
version: 3.342.0
resolution: "@aws-sdk/credential-provider-web-identity@npm:3.342.0"
@@ -1341,6 +1536,49 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/token-providers@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/token-providers@npm:3.405.0"
dependencies:
"@aws-crypto/sha256-browser": "npm:3.0.0"
"@aws-crypto/sha256-js": "npm:3.0.0"
"@aws-sdk/middleware-host-header": "npm:3.398.0"
"@aws-sdk/middleware-logger": "npm:3.398.0"
"@aws-sdk/middleware-recursion-detection": "npm:3.398.0"
"@aws-sdk/middleware-user-agent": "npm:3.398.0"
"@aws-sdk/types": "npm:3.398.0"
"@aws-sdk/util-endpoints": "npm:3.398.0"
"@aws-sdk/util-user-agent-browser": "npm:3.398.0"
"@aws-sdk/util-user-agent-node": "npm:3.405.0"
"@smithy/config-resolver": "npm:^2.0.5"
"@smithy/fetch-http-handler": "npm:^2.0.5"
"@smithy/hash-node": "npm:^2.0.5"
"@smithy/invalid-dependency": "npm:^2.0.5"
"@smithy/middleware-content-length": "npm:^2.0.5"
"@smithy/middleware-endpoint": "npm:^2.0.5"
"@smithy/middleware-retry": "npm:^2.0.5"
"@smithy/middleware-serde": "npm:^2.0.5"
"@smithy/middleware-stack": "npm:^2.0.0"
"@smithy/node-config-provider": "npm:^2.0.6"
"@smithy/node-http-handler": "npm:^2.0.5"
"@smithy/property-provider": "npm:^2.0.0"
"@smithy/protocol-http": "npm:^2.0.5"
"@smithy/shared-ini-file-loader": "npm:^2.0.6"
"@smithy/smithy-client": "npm:^2.0.5"
"@smithy/types": "npm:^2.2.2"
"@smithy/url-parser": "npm:^2.0.5"
"@smithy/util-base64": "npm:^2.0.0"
"@smithy/util-body-length-browser": "npm:^2.0.0"
"@smithy/util-body-length-node": "npm:^2.1.0"
"@smithy/util-defaults-mode-browser": "npm:^2.0.6"
"@smithy/util-defaults-mode-node": "npm:^2.0.6"
"@smithy/util-retry": "npm:^2.0.0"
"@smithy/util-utf8": "npm:^2.0.0"
tslib: "npm:^2.5.0"
checksum: 08e30dbc7b5d8ddd1d7b72790bb5aed714e586ce0c2caf15afda009e3ed4a32a93b2ad4eb4805826035898a96afbaad834037fdd96231579201b82419899d147
languageName: node
linkType: hard
"@aws-sdk/types@npm:3.342.0, @aws-sdk/types@npm:^3.222.0":
version: 3.342.0
resolution: "@aws-sdk/types@npm:3.342.0"
@@ -1601,6 +1839,23 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/util-user-agent-node@npm:3.405.0":
version: 3.405.0
resolution: "@aws-sdk/util-user-agent-node@npm:3.405.0"
dependencies:
"@aws-sdk/types": "npm:3.398.0"
"@smithy/node-config-provider": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
peerDependencies:
aws-crt: ">=1.0.0"
peerDependenciesMeta:
aws-crt:
optional: true
checksum: 6422874d9eba9b07d674e63a800aa5e565182aa23625ffa9fac0224eb10746ec8ee30cdcda44486814cf806d24565c8c41c546e574f02d83c4115058aa1d834f
languageName: node
linkType: hard
"@aws-sdk/util-utf8-browser@npm:^3.0.0":
version: 3.259.0
resolution: "@aws-sdk/util-utf8-browser@npm:3.259.0"
@@ -3837,6 +4092,19 @@ __metadata:
languageName: node
linkType: hard
"@smithy/credential-provider-imds@npm:^2.0.7":
version: 2.0.7
resolution: "@smithy/credential-provider-imds@npm:2.0.7"
dependencies:
"@smithy/node-config-provider": "npm:^2.0.7"
"@smithy/property-provider": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
"@smithy/url-parser": "npm:^2.0.5"
tslib: "npm:^2.5.0"
checksum: 61c59aea7e8ec100163031ca4606bf8f74db120ae70fb8f70a1310b06642b0a0eca5bd2f9590cb9afc26b46cbe837d8a2182bc1dc48275c5d0b58d3db5f77077
languageName: node
linkType: hard
"@smithy/eventstream-codec@npm:^2.0.5":
version: 2.0.5
resolution: "@smithy/eventstream-codec@npm:2.0.5"
@@ -4006,6 +4274,18 @@ __metadata:
languageName: node
linkType: hard
"@smithy/node-config-provider@npm:^2.0.6, @smithy/node-config-provider@npm:^2.0.7":
version: 2.0.7
resolution: "@smithy/node-config-provider@npm:2.0.7"
dependencies:
"@smithy/property-provider": "npm:^2.0.6"
"@smithy/shared-ini-file-loader": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: d4b58ee69f013bcf24e2968b5850c7b76ff25834cd66f158f654af2acc402e77c5fdf886a797e4090a0d1ed03455871d24478b4e22d4c1be1118b484390c6518
languageName: node
linkType: hard
"@smithy/node-http-handler@npm:^2.0.5":
version: 2.0.5
resolution: "@smithy/node-http-handler@npm:2.0.5"
@@ -4029,6 +4309,16 @@ __metadata:
languageName: node
linkType: hard
"@smithy/property-provider@npm:^2.0.6":
version: 2.0.6
resolution: "@smithy/property-provider@npm:2.0.6"
dependencies:
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: b9a4aff1f0840dad904b4ba38dee281f284688440c018f9d343b9ab9109798e1ed55bb0e88c2411260f91b8a05e05159b3851bcfa752c14bfffe12f9e43b2f0c
languageName: node
linkType: hard
"@smithy/protocol-http@npm:^1.0.1":
version: 1.0.1
resolution: "@smithy/protocol-http@npm:1.0.1"
@@ -4087,6 +4377,16 @@ __metadata:
languageName: node
linkType: hard
"@smithy/shared-ini-file-loader@npm:^2.0.6":
version: 2.0.6
resolution: "@smithy/shared-ini-file-loader@npm:2.0.6"
dependencies:
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: 4b538ef59a717285d1634e3f84f8514a8c95a680d7be5f4770b4acedd4adf99833408279c364d84e9dbd445264665ca3cda2bd3f381e46ce140e8d37ff0c5408
languageName: node
linkType: hard
"@smithy/signature-v4@npm:^2.0.0":
version: 2.0.5
resolution: "@smithy/signature-v4@npm:2.0.5"
@@ -4203,6 +4503,18 @@ __metadata:
languageName: node
linkType: hard
"@smithy/util-defaults-mode-browser@npm:^2.0.6":
version: 2.0.6
resolution: "@smithy/util-defaults-mode-browser@npm:2.0.6"
dependencies:
"@smithy/property-provider": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
bowser: "npm:^2.11.0"
tslib: "npm:^2.5.0"
checksum: 286295e6e9b374581a677c49635c7e91575b04e84fe437f903ad7b0bb91ff1cc47dfe37b61be4d42a8f4d721926263041b4d283be0ce463367e5e571390b9b1b
languageName: node
linkType: hard
"@smithy/util-defaults-mode-node@npm:^2.0.5":
version: 2.0.5
resolution: "@smithy/util-defaults-mode-node@npm:2.0.5"
@@ -4217,6 +4529,20 @@ __metadata:
languageName: node
linkType: hard
"@smithy/util-defaults-mode-node@npm:^2.0.6":
version: 2.0.7
resolution: "@smithy/util-defaults-mode-node@npm:2.0.7"
dependencies:
"@smithy/config-resolver": "npm:^2.0.5"
"@smithy/credential-provider-imds": "npm:^2.0.7"
"@smithy/node-config-provider": "npm:^2.0.7"
"@smithy/property-provider": "npm:^2.0.6"
"@smithy/types": "npm:^2.2.2"
tslib: "npm:^2.5.0"
checksum: b1c74a3b41aa17d995250107f5ee0227d99c424cb02d1344478047a4cd020beab213d877e537ae0e70186af9f6f1d99d581d7a3a20f96f571ad617ee4a68b318
languageName: node
linkType: hard
"@smithy/util-hex-encoding@npm:^2.0.0":
version: 2.0.0
resolution: "@smithy/util-hex-encoding@npm:2.0.0"
@@ -5045,6 +5371,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@standardnotes/websockets-server@workspace:packages/websockets"
dependencies:
"@aws-sdk/client-apigatewaymanagementapi": "npm:^3.405.0"
"@aws-sdk/client-sqs": "npm:^3.332.0"
"@newrelic/winston-enricher": "npm:^4.0.1"
"@standardnotes/api": "npm:^1.26.26"