diff --git a/.wappler/.ssh/ertfastfiller_ed25519 b/.wappler/.ssh/ertfastfiller_ed25519 new file mode 100644 index 0000000..2466944 --- /dev/null +++ b/.wappler/.ssh/ertfastfiller_ed25519 @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACALxwbAx0YD+vylHhJmkJ5VL4EbbVie/q0qEs+soPNcMAAAAJjc6yGJ3Osh +iQAAAAtzc2gtZWQyNTUxOQAAACALxwbAx0YD+vylHhJmkJ5VL4EbbVie/q0qEs+soPNcMA +AAAEAp6uChFDWg2IRK7yeDwXVSQiVmfMA348kYSizORVY9sAvHBsDHRgP6/KUeEmaQnlUv +gRttWJ7+rSoSz6yg81wwAAAAFWVydGZhc3RmaWxsZXJfZWQyNTUxOQ== +-----END OPENSSH PRIVATE KEY----- diff --git a/.wappler/.ssh/ertfastfiller_ed25519.pub b/.wappler/.ssh/ertfastfiller_ed25519.pub new file mode 100644 index 0000000..ed1eabd --- /dev/null +++ b/.wappler/.ssh/ertfastfiller_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAvHBsDHRgP6/KUeEmaQnlUvgRttWJ7+rSoSz6yg81ww ertfastfiller_ed25519.pub \ No newline at end of file diff --git a/.wappler/.ssh/ertfastfiller_rsa b/.wappler/.ssh/ertfastfiller_rsa new file mode 100644 index 0000000..d5b61ff --- /dev/null +++ b/.wappler/.ssh/ertfastfiller_rsa @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn +NhAAAAAwEAAQAAAgEAp44cRaQJiLtzUzmCicHRPwnhjVEuMkW17YyjzDWlqmDRwgOVthLt +LO/pFeUAAbjRx5dXNdRP744L2VpZyTCZgabpGoLyTxIJpRcUE1E12HvvsZRJlPil8w1dFo +7v221DNXedXJXSHP8W8J1TB7oUzVRFp1+Uy9Ww+p8tsrndSt3rM047Ghp1ELkExIe8cr85 +kQ+kFJjfp9sP5skQgdfqUTldD3o3rk3Ylwn1RJ0UG8BzAnanB/WuMpsoFsL0724Rl1oYL+ +bEJYNUwsivZcBsJtcfP2a0D9LQ6BkPYoWxfbQ6Ielc68RLxOsnTHGXzJD4FBuY70KR5vJE +4FKSnIa7wUjWLBtODyxRRe1kkaYz8O/wfT0zMgd6EoxLoWC2stmtutUjZKkBKCPP3yTKmJ +0ADr1U9VcItkbT+eGS1up/6apPDqpbDe6ssGfxB8eJAdvzWqaohJ9VPfkD37NbCr5JApx+ +i/p7zS66heRD7YKOfzsdWX68cGw8SW5eSSJObeOYsmLkg2EPXm4/0IItoulAyJYaD/EEav +5xVOwv+0YZScPlqWXVrOk2naeDKxSYv+dCBXTY/fBoTV4jT+scwDfX4QrfvDsgibctBqh9 +lmQ3L/achvWzLbiRjx3AOmgQROS7NSf4uw/sKOdFB0DN6o49DGLHIKJURkjPbeiLnfDwXI +8AAAdIp6a8pKemvKQAAAAHc3NoLXJzYQAAAgEAp44cRaQJiLtzUzmCicHRPwnhjVEuMkW1 +7YyjzDWlqmDRwgOVthLtLO/pFeUAAbjRx5dXNdRP744L2VpZyTCZgabpGoLyTxIJpRcUE1 +E12HvvsZRJlPil8w1dFo7v221DNXedXJXSHP8W8J1TB7oUzVRFp1+Uy9Ww+p8tsrndSt3r +M047Ghp1ELkExIe8cr85kQ+kFJjfp9sP5skQgdfqUTldD3o3rk3Ylwn1RJ0UG8BzAnanB/ +WuMpsoFsL0724Rl1oYL+bEJYNUwsivZcBsJtcfP2a0D9LQ6BkPYoWxfbQ6Ielc68RLxOsn +THGXzJD4FBuY70KR5vJE4FKSnIa7wUjWLBtODyxRRe1kkaYz8O/wfT0zMgd6EoxLoWC2st +mtutUjZKkBKCPP3yTKmJ0ADr1U9VcItkbT+eGS1up/6apPDqpbDe6ssGfxB8eJAdvzWqao +hJ9VPfkD37NbCr5JApx+i/p7zS66heRD7YKOfzsdWX68cGw8SW5eSSJObeOYsmLkg2EPXm +4/0IItoulAyJYaD/EEav5xVOwv+0YZScPlqWXVrOk2naeDKxSYv+dCBXTY/fBoTV4jT+sc +wDfX4QrfvDsgibctBqh9lmQ3L/achvWzLbiRjx3AOmgQROS7NSf4uw/sKOdFB0DN6o49DG +LHIKJURkjPbeiLnfDwXI8AAAADAQABAAACAEcHDYISAv6k48LcZrNJ549O+3/B8ZDbDz+H +dmobNcKPb2vMxDqeNE9v1gFzhXi1ZawzwgLuIQKeVvSJAfWw9enJnRgheWE+drs2mMqFiw +tdomLHRxfw/bwWJqdo6VG9tBdmwNzeH+ct1YYjUu68GZRfDHXipTtxNyhOsPsKIj5Z65ng +qFos7AIuRFChb6e+20LcfARFN846pTeCdU5tfoV3CTWF7DOmCVIhpQi0g7Et+DMLpEvSAE +mwjyJy+4zBvpBH32fy7aQvU4+Mrhm2o8IlQDhKq7rndapl8SklHnP4ogn9GGhTWoE74/la +T+ymaZtwhXirYhkiC0OCjWbwEIeyvub40dLsN0w5FdP1O+8+ie4PJnj70mutsY+wjrR4HX +HUPLHP8n7gaKj1KApg10WRM7HSKQW/qnIF9kMXZtMpoB2LyCTFFRcyn70V5+JsY4dXXXyd +X3KBiDRYCqiYll+n1N4oCYdGG+CYJ9Bn5RBs+nSg/KFe2ueanlXxde/2rWsZJoSrRUEf9N +mgsJz+MsdFMQVxxwFeratO0fq81vLqDcA9x5fLXtJcP/qibJ2tXPpK898uRE+BgAJ4C3Yx +ANxU1blOW9Q6JjfPPz6WjOOhhbYB52tpWbAVTkCIT/khIbIRNgcorMcwf1Y1xuOKWQyV4Q +6FhEtlyVkJatVdn3QlAAABAQC+ZehwYPMVo6/yrai1WCxGMeyGn3tyOGfh8Pb8vzTC2Wvl +ZIzxZxpo+XffW+g+DOnKf14HvzUP0/0roRBYvV//VukpSKUCRSTKcopClx7evwp+VxJ6Jt +cHR8zhWcq4H/XPz9JRc1GVGqUc3ZZM3/3BC3R/VpbeXENaAvaVursImh5w2ES8UO68BJ8Z +gDnLEuNojduogh4O+IgiFMLWqmrA100aL1pEsTCGtVBYfniffgxrRrLzKpzfiHE70jiEyu +APrV9HEpohJ38cGRjSyr7S0/thCcATlGs9DmDbNbDZQDRAreYbvL9Nvg9qt9veYYxdIiOP +aEDpjM+lnO/4WU3FAAABAQDoRBeJ/x8atlpuSvGDqrea47zMu6cSY8T6HakEE6Q4zMb9Iw +8If0pyvzfKranpw2+6/EZQAyResc6AzLXitThVwyxe0Fn8Jg0YGhir0E40QLmH8VD5F/ZA +iKKqabyl+nNohc/9wFReANri77J4BsnaFbfKY6kuPjFwrM/P51+oc41DwU6KpbzYRRom/P +dB1yXMDV8EHAqxfNLJX9fO17VgB8COeP5tLhS7+pa3F/9hDKa5ot01IADX0lW68MRPcJrH +YGheYfzlrPwvCOBhgNrhINzXDJgR5BO/K+eFh+FO398p7AwZoUaoXssHXbPYDt2Po1apa4 +RfW8ZXd6k8OQGdAAABAQC4rTrJ1WbpRlMGg+T3+CuASKynjEUqqHVZoFhLslI3Pc9qhmsG +503CBkUYvlVUp7KShdhVfdUrECl8ONtiPEck9XS5J4A6N9Snq7N1tDYOKD1qzbRTXaXsYb +I8OjOo/idZyMDOs+5vmanJ3b8iA6O5H8JwwjqQqQhYFzV+bosUsWaBHfcA+fCjK6azMFwy +X5eTPfht4yLfj8lWrPqkOPYlGVQG8apL9qRqj38NaRZsqxeC0fZONkD/reKtGzJ4AX6KgX +8RzmrHeseYD+9qdiQAld79BtbPkTiI6d2tVfwaQ+5N2TmLsSxsCaLviiQh6yofDLrcAkA7 +ViaHqDR8f6UbAAAAEWVydGZhc3RmaWxsZXJfcnNhAQ== +-----END OPENSSH PRIVATE KEY----- diff --git a/.wappler/.ssh/ertfastfiller_rsa.pub b/.wappler/.ssh/ertfastfiller_rsa.pub new file mode 100644 index 0000000..3e4fba8 --- /dev/null +++ b/.wappler/.ssh/ertfastfiller_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCnjhxFpAmIu3NTOYKJwdE/CeGNUS4yRbXtjKPMNaWqYNHCA5W2Eu0s7+kV5QABuNHHl1c11E/vjgvZWlnJMJmBpukagvJPEgmlFxQTUTXYe++xlEmU+KXzDV0Wju/bbUM1d51cldIc/xbwnVMHuhTNVEWnX5TL1bD6ny2yud1K3eszTjsaGnUQuQTEh7xyvzmRD6QUmN+n2w/myRCB1+pROV0PejeuTdiXCfVEnRQbwHMCdqcH9a4ymygWwvTvbhGXWhgv5sQlg1TCyK9lwGwm1x8/ZrQP0tDoGQ9ihbF9tDoh6VzrxEvE6ydMcZfMkPgUG5jvQpHm8kTgUpKchrvBSNYsG04PLFFF7WSRpjPw7/B9PTMyB3oSjEuhYLay2a261SNkqQEoI8/fJMqYnQAOvVT1Vwi2RtP54ZLW6n/pqk8OqlsN7qywZ/EHx4kB2/NapqiEn1U9+QPfs1sKvkkCnH6L+nvNLrqF5EPtgo5/Ox1ZfrxwbDxJbl5JIk5t45iyYuSDYQ9ebj/Qgi2i6UDIlhoP8QRq/nFU7C/7RhlJw+WpZdWs6Tadp4MrFJi/50IFdNj98GhNXiNP6xzAN9fhCt+8OyCJty0GqH2WZDcv9pyG9bMtuJGPHcA6aBBE5Ls1J/i7D+wo50UHQM3qjj0MYscgolRGSM9t6Iud8PBcjw== ertfastfiller_rsa.pub \ No newline at end of file diff --git a/.wappler/project.json b/.wappler/project.json index 49c0586..b0dd11f 100644 --- a/.wappler/project.json +++ b/.wappler/project.json @@ -39,7 +39,32 @@ "webLoggingMaxFiles": "5", "webLoggingMaxFileSize": "10m", "dockerTimezone": "Etc/UTC", - "databaseConnectionType": "none", + "databaseConnectionType": "sqlite", + "sqliteDbFile": "/public/ERTSQlite.db", + "databaseLoggingMaxFiles": "5", + "databaseLoggingMaxFileSize": "10m" + }, + { + "name": "DO-ertfastfiller-sfo3", + "remoteURL": "http://64.23.170.170", + "webServerPort": 80, + "webServerLang": "node", + "targetType": "docker", + "webServer": "node", + "NodeVersion": "lts", + "NodeOS": "alpine", + "webLoggingMaxFiles": "5", + "webLoggingMaxFileSize": "10m", + "dockerTimezone": "Etc/UTC", + "databaseConnectionType": "sqlite", + "usage": "production", + "dockerType": "remote", + "dockerProtocol": "ssh", + "dockerHost": "64.23.170.170", + "dockerServerName": "digitalocean / ertfastfiller-sfo3", + "dockerProjectName": "ertfastfiller__do-ertfastfiller-sfo3", + "NodeImageType": "slim", + "sqliteDbFile": "/public/ERTSQlite.db", "databaseLoggingMaxFiles": "5", "databaseLoggingMaxFileSize": "10m" } @@ -49,7 +74,89 @@ "extensions": [ { "name": "pdf-lib" + }, + { + "name": "@hyperbytes/wappler-onesignal" + }, + { + "name": "@hyperbytes/wappler-file-to-base64-with-save-option" + }, + { + "name": "@hyperbytes/wappler-all-in-one-ai" } ], - "userUploadsFolder": "/uploads" + "userUploadsFolder": "/uploads", + "resources": { + "providers": { + "digitalocean": { + "provider-api-key": "dop_v1_30020b3307543b83214257a1774d41737f98a20e4d8e8ec49ba7c99ac2e32968", + "ssh-key-id": 44250508, + "ssh-key-file": "/.wappler/.ssh/ertfastfiller_ed25519.pub", + "ssh_key": { + "ertfastfiller_ed25519": { + "id": 44250508, + "ssh-key-file": "/.wappler/.ssh/ertfastfiller_ed25519.pub", + "fingerprint": "64:50:e4:41:ed:26:78:df:fb:27:4a:cf:a7:58:02:2a", + "type": "ed25519", + "name": "ertfastfiller_ed25519" + }, + "ertfastfiller_rsa": { + "id": 44250710, + "fingerprint": "9f:0e:25:d8:10:fc:e5:d4:94:38:92:74:8a:81:cd:16", + "ssh-key-file": "/.wappler/.ssh/ertfastfiller_rsa.pub", + "type": "rsa" + } + }, + "server": { + "ertfastfiller-sfo3": { + "id": 461271335, + "status": "running", + "access": true, + "ip_address": "64.23.170.170", + "region": "San Francisco 3", + "price": 4, + "vcpus": 1, + "memory": 512, + "disk": 10, + "transfer": "0.5", + "services": {}, + "ssh_keys": [ + { + "id": 44250508, + "ssh-key-file": "/.wappler/.ssh/ertfastfiller_ed25519.pub", + "fingerprint": "64:50:e4:41:ed:26:78:df:fb:27:4a:cf:a7:58:02:2a", + "type": "ed25519", + "name": "ertfastfiller_ed25519" + }, + { + "id": 43691420, + "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK/IniPilvW2mZhH12xp+bw3GUKNtpQtZ8EMLQGkWT3z id_ed25519.pub", + "name": "jndaned25519", + "fingerprint": "6e:95:fc:ae:d5:d1:9c:a0:06:d8:99:98:f4:16:84:f4" + }, + { + "id": 44250710, + "fingerprint": "9f:0e:25:d8:10:fc:e5:d4:94:38:92:74:8a:81:cd:16", + "ssh-key-file": "/.wappler/.ssh/ertfastfiller_rsa.pub", + "type": "rsa", + "name": "ertfastfiller_rsa" + }, + { + "id": 38166791, + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDixLL6TG8sd67jEkoHjtgXO1K9ScOHtGyX6n1mTl2CLoMeBE1ZwR6TOU7cjwcJ+crKUZMJfyB99h01qhD3DrBE388cE0NEu/ytUnbnys5ecD/NUiOAHL/ZMxJ7Yn6ceoband1C/Gz1GYA/guU2qMu1KA81jqDFA7ytR/riFoJq3fICuTy1++g6/T0EZqxaxzlM2OJNBn89UAhbAKWCRz7hYFhE53dXxI76rwiOm6Fyn9ksxA9G2zW31Ziy6JDUJVy9mahEzTjU4cJNALf61fblWLlxzTTh6c0Yjq2Ontwdp8xqr1NOERMKNraolXHcy7ml2T0spx9DAt13LtAfDubF\n", + "name": "DODriverSignin-wappler-prod", + "fingerprint": "f8:b4:24:a1:77:4f:02:4b:97:8a:c4:b1:12:88:4b:59" + }, + { + "id": 44250460, + "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGsEr/uTng6hsmeec9KZNZ/G5QMqynZ3bOpGm6r/FyXz jndan@DESKTOP-N026HO3", + "name": "DO_Developer_12_2024", + "fingerprint": "f2:60:83:0a:b3:4e:c7:7b:51:d1:a8:28:88:10:1b:07" + } + ] + } + } + } + } + } } \ No newline at end of file diff --git a/.wappler/providers/digitalocean/servers/ertfastfiller-sfo3/wappler-compose/docker-compose.yml b/.wappler/providers/digitalocean/servers/ertfastfiller-sfo3/wappler-compose/docker-compose.yml new file mode 100644 index 0000000..ad189dd --- /dev/null +++ b/.wappler/providers/digitalocean/servers/ertfastfiller-sfo3/wappler-compose/docker-compose.yml @@ -0,0 +1 @@ +services: {} diff --git a/.wappler/targets/DO-ertfastfiller-sfo3/app/modules/connections/db.json b/.wappler/targets/DO-ertfastfiller-sfo3/app/modules/connections/db.json new file mode 100644 index 0000000..12359b7 --- /dev/null +++ b/.wappler/targets/DO-ertfastfiller-sfo3/app/modules/connections/db.json @@ -0,0 +1,11 @@ +{ + "name": "db", + "module": "dbconnector", + "action": "connect", + "options": { + "client": "sqlite3", + "connection": { + "filename": "/public/ERTSQlite.db" + } + } +} \ No newline at end of file diff --git a/.wappler/targets/DO-ertfastfiller-sfo3/databases/db.json b/.wappler/targets/DO-ertfastfiller-sfo3/databases/db.json new file mode 100644 index 0000000..85f10fe --- /dev/null +++ b/.wappler/targets/DO-ertfastfiller-sfo3/databases/db.json @@ -0,0 +1,7 @@ +{ + "direct": true, + "type": "sqlite3", + "connection": { + "filename": "/public/ERTSQlite.db" + } +} \ No newline at end of file diff --git a/.wappler/targets/DO-ertfastfiller-sfo3/docker-compose.yml b/.wappler/targets/DO-ertfastfiller-sfo3/docker-compose.yml new file mode 100644 index 0000000..62548e6 --- /dev/null +++ b/.wappler/targets/DO-ertfastfiller-sfo3/docker-compose.yml @@ -0,0 +1,18 @@ +services: + web: + ports: + - '80:3000' + restart: 'always' + stdin_open: true + tty: true + logging: + options: + max-file: '5' + max-size: '10m' + build: + context: '../../../' + dockerfile: '.wappler/targets/DO-ertfastfiller-sfo3/web/Dockerfile' + volumes: + - 'user_uploads:/opt/node_app/uploads:rw' +volumes: + user_uploads: ~ diff --git a/.wappler/targets/DO-ertfastfiller-sfo3/web/Dockerfile b/.wappler/targets/DO-ertfastfiller-sfo3/web/Dockerfile new file mode 100644 index 0000000..1f5a484 --- /dev/null +++ b/.wappler/targets/DO-ertfastfiller-sfo3/web/Dockerfile @@ -0,0 +1,21 @@ +FROM node:lts-alpine + +ARG NODE_ENV=production +ENV NODE_ENV $NODE_ENV + +ARG PORT=3000 +ENV PORT $PORT +EXPOSE $PORT + +RUN mkdir /opt/node_app +ENV PATH /opt/node_app/node_modules/.bin:$PATH + +WORKDIR /opt/node_app + +COPY package.json ./ + +RUN npm install --no-package-lock + +COPY . . + +CMD [ "node", "./index.js" ] diff --git a/.wappler/targets/Development/app/modules/connections/DB.json b/.wappler/targets/Development/app/modules/connections/DB.json index c40ddd0..12359b7 100644 --- a/.wappler/targets/Development/app/modules/connections/DB.json +++ b/.wappler/targets/Development/app/modules/connections/DB.json @@ -1,16 +1,11 @@ { - "name": "DB", + "name": "db", "module": "dbconnector", "action": "connect", "options": { "client": "sqlite3", "connection": { "filename": "/public/ERTSQlite.db" - }, - "tz": "utc", - "meta": {} - }, - "fileName": "DB.json", - "actionFilePath": "file:///Z:/temp/ERTFastFiller/app/modules/connections/DB.json", - "serverType": "node" + } + } } \ No newline at end of file diff --git a/.wappler/targets/Development/app/modules/s3/s3.json b/.wappler/targets/Development/app/modules/s3/s3.json new file mode 100644 index 0000000..66da870 --- /dev/null +++ b/.wappler/targets/Development/app/modules/s3/s3.json @@ -0,0 +1,12 @@ +{ + "name": "s3", + "module": "s3", + "action": "provider", + "options": { + "service": "digitalocean", + "endpoint": "sfo3.digitaloceanspaces.com", + "secretAccessKey": "lMI2BSf8dS+ZmWkyvsq9gTTjScr1SLEsd0OpsZZLAkc", + "accessKeyId": "DO00RXH3C276N9Y9PQBG", + "forcePathStyle": true + } +} \ No newline at end of file diff --git a/.wappler/targets/Development/databases/DB.json b/.wappler/targets/Development/databases/DB.json index b307e68..0b4987c 100644 --- a/.wappler/targets/Development/databases/DB.json +++ b/.wappler/targets/Development/databases/DB.json @@ -1,9 +1,9 @@ { + "direct": true, "type": "sqlite3", "connection": { "filename": "/public/ERTSQlite.db" }, - "direct": true, "schema": { "tables": { "_da_old_20241029": { @@ -218,4 +218,4 @@ }, "views": {} } -} +} \ No newline at end of file diff --git a/app/api/push_notify.json b/app/api/push_notify.json new file mode 100644 index 0000000..18cca0a --- /dev/null +++ b/app/api/push_notify.json @@ -0,0 +1,3 @@ +{ + "exec": {} +} \ No newline at end of file diff --git a/app/api/s3ListBuckets.json b/app/api/s3ListBuckets.json new file mode 100644 index 0000000..343fb34 --- /dev/null +++ b/app/api/s3ListBuckets.json @@ -0,0 +1,40 @@ +{ + "name": "listBuckets", + "module": "s3", + "action": "listBuckets", + "options": { + "provider": "s3" + }, + "outputType": "object", + "meta": [ + { + "name": "Buckets", + "type": "array", + "sub": [ + { + "name": "Name", + "type": "text" + }, + { + "name": "CreationDate", + "type": "date" + } + ] + }, + { + "name": "Owner", + "type": "object", + "sub": [ + { + "name": "DisplayName", + "type": "text" + }, + { + "name": "ID", + "type": "text" + } + ] + } + ], + "output": true +} \ No newline at end of file diff --git a/app/api/s3ListFiles.json b/app/api/s3ListFiles.json new file mode 100644 index 0000000..18cca0a --- /dev/null +++ b/app/api/s3ListFiles.json @@ -0,0 +1,3 @@ +{ + "exec": {} +} \ No newline at end of file diff --git a/app/api/s3PutFile.json b/app/api/s3PutFile.json new file mode 100644 index 0000000..18cca0a --- /dev/null +++ b/app/api/s3PutFile.json @@ -0,0 +1,3 @@ +{ + "exec": {} +} \ No newline at end of file diff --git a/app/config/routes.json b/app/config/routes.json index 5e19ddb..374c2fd 100644 --- a/app/config/routes.json +++ b/app/config/routes.json @@ -45,6 +45,11 @@ "path": "/da_index1", "page": "da_index1", "layout": "main" + }, + { + "path": "/buckets", + "page": "buckets", + "layout": "main" } ] } \ No newline at end of file diff --git a/app/modules/connections/DB.json b/app/modules/connections/DB.json index c40ddd0..12359b7 100644 --- a/app/modules/connections/DB.json +++ b/app/modules/connections/DB.json @@ -1,16 +1,11 @@ { - "name": "DB", + "name": "db", "module": "dbconnector", "action": "connect", "options": { "client": "sqlite3", "connection": { "filename": "/public/ERTSQlite.db" - }, - "tz": "utc", - "meta": {} - }, - "fileName": "DB.json", - "actionFilePath": "file:///Z:/temp/ERTFastFiller/app/modules/connections/DB.json", - "serverType": "node" + } + } } \ No newline at end of file diff --git a/app/modules/s3/s3.json b/app/modules/s3/s3.json new file mode 100644 index 0000000..66da870 --- /dev/null +++ b/app/modules/s3/s3.json @@ -0,0 +1,12 @@ +{ + "name": "s3", + "module": "s3", + "action": "provider", + "options": { + "service": "digitalocean", + "endpoint": "sfo3.digitaloceanspaces.com", + "secretAccessKey": "lMI2BSf8dS+ZmWkyvsq9gTTjScr1SLEsd0OpsZZLAkc", + "accessKeyId": "DO00RXH3C276N9Y9PQBG", + "forcePathStyle": true + } +} \ No newline at end of file diff --git a/extensions/server_connect/modules/a1_onesignal_create_push_notification.hjson b/extensions/server_connect/modules/a1_onesignal_create_push_notification.hjson new file mode 100644 index 0000000..dcac405 --- /dev/null +++ b/extensions/server_connect/modules/a1_onesignal_create_push_notification.hjson @@ -0,0 +1,250 @@ + { + // onesignal web push notification + // not all properties added yet + //v1.0.0 + type: 'onesignal_onesignal_create_push_notification_onesignal_onesignal_create_push_notification', + module : 'onesignal_create_push_notification', + action : 'onesignal_create_push_notification', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Web Push', + icon : 'fas fa-solid fa-bullhorn comp_general', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + {name:'id', type: 'text'}, + {name:'external_id', type: 'text'}, + {name: 'status',type: 'number'} ], + + properties : [ +{ +group: 'Message Details', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osp1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'target_channel', +optionName: 'target_channel', +title: 'Target Channel', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: 'push' +}, + {name: 'osname', +optionName: 'osname', +title: 'Internal Name', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: 'mymessage1' +}, + {name: 'segment', +optionName: 'segment', +title: 'Segment (default "All")', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: 'All' +}, + {name: 'template_id', +optionName: 'template_id', +title: 'template_id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{ +name: "headings", +optionName: "headings", +key: "var", +keyValue: "value", +title: "Web Push headings", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Language", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Text", +size: "70%", +editable: { + type: "datapicker" +} +} +] + }, + { + name: 'os_title_prompt', +optionName: 'os_title_prompt', +title: 'Title ', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' Recommended about 60-80 characters limit' +}, +{ +name: "bindings", +optionName: "bindings", +key: "var", +keyValue: "value", +title: "Web Push Messages", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Language", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Text", +size: "70%", +editable: { + type: "datapicker" +} +} +] + }, +{ + name: 'os_msg_prompt', +optionName: 'os_msg_prompt', +title: 'Main Image', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' Recommended about 150 characters message limit unless email' +}, +{ name: 'include_aliases', +optionName: 'include_aliases', +title: 'Include Aliases', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Aliases Refererence' +}, + +{ name: 'include_subscription_ids', +optionName: 'include_subscription_ids', +title: 'Include Subscription IDs', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Subscription IDs Refererence' +}, + +{ name: 'imsg', +optionName: 'imsg', +title: 'Filters [ ]', +type: 'static', +required:false, +help: 'Image Settings (will use default if not defined)' +}, + +{ +name: 'os_image', +optionName: 'os_image', +title: 'Main Image', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{ + name: 'os_image_prompt', +optionName: 'os_image_prompt', +title: 'Main Image', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' Must be full http/https url, Ignored by Safari on Mac' +}, +{ +name: 'os_icon', +optionName: 'os_icon', +title: 'Icon Image', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + +{ name: 'filters', +optionName: 'filters', +title: 'Filters [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Filters Refererence' +}, +{ +name: 'os_badge', +optionName: 'os_badge', +title: 'badge', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{ + name: 'os_badge_prompt', +optionName: 'os_badge_prompt', +title: 'badge', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' png, gif, webp, ico, cur, bmp. NOT jpg. 72x72 or larger' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false +} , +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} ]} ] +} \ No newline at end of file diff --git a/extensions/server_connect/modules/a2_onesignal_create_email_notification.hjson b/extensions/server_connect/modules/a2_onesignal_create_email_notification.hjson new file mode 100644 index 0000000..9ce3d33 --- /dev/null +++ b/extensions/server_connect/modules/a2_onesignal_create_email_notification.hjson @@ -0,0 +1,166 @@ +{ + // onesignal email notification +//'v1.0.0' + type: 'onesignal_create_email_notification_onesignal_create_email_notification', + module : 'onesignal_create_email_notification', + action : 'onesignal_create_email_notification', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Email Push', + icon : 'fas fa-solid fa-at comp_general', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + {name:'id', type: 'text'}, + {name:'external_id', type: 'text'}, + {name: 'status',type: 'number'} + ], + properties : [ +{ +group: 'Message Details', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osp1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'osname', +optionName: 'osname', +title: 'Internal Name', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'email_subject', +optionName: 'email_subject', +title: 'Email Subject', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'email_body', +optionName: 'email_body', +title: 'Email Body', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'email_from_name', +optionName: 'email_from_name', +title: 'Email from name', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'email_from_address', +optionName: 'email_from_address', +title: 'Email from address', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'email_reply_to_address', +optionName: 'email_reply_to_address', +title: 'Email reply to address', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'email_preheader', +optionName: 'email_preheader', +title: 'Email Preheader', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{ name: 'disable_email_click_tracking', +optionName: 'disable_email_click_tracking', +title: 'Disable eMail click tracking', +type: 'boolean', +defaultValue: false +}, + {name: 'template_id', +optionName: 'template_id', +title: 'Optional Template_id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'segment', +optionName: 'segment', +title: 'Segments', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: 'Default "All Email Subscriptions"' +}, + {name: 'filter', +optionName: 'filter', +title: 'filter', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'include_aliases', +optionName: 'include_aliases', +title: 'Include Aliases', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{ name: 'include_unsubscribed', +optionName: 'include_unsubscribed', +title: 'Include Unsubscribed', +type: 'boolean', +defaultValue: false +}, + {name: 'include_email_tokens', +optionName: 'include_email_tokens', +title: 'include email tokens', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false +}, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} + ] +} + ] +} \ No newline at end of file diff --git a/extensions/server_connect/modules/a3_onesignal_create_sms_notification.hjson b/extensions/server_connect/modules/a3_onesignal_create_sms_notification.hjson new file mode 100644 index 0000000..134ce71 --- /dev/null +++ b/extensions/server_connect/modules/a3_onesignal_create_sms_notification.hjson @@ -0,0 +1,129 @@ + +{ + // onesignal sms notification + // not all properties added yet + type: 'onesignal_create_sms_notification_onesignal_create_sms_notification', + module : 'onesignal_create_sms_notification', + action : 'onesignal_create_sms_notification', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal SMS Push', + icon : 'fas fa-solid fa-sms comp_general', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + {name:'id', type: 'text'}, + {name:'external_id', type: 'text'}, + {name: 'status',type: 'number'} + ], + usedModules : {} + + properties : [ +{ +group: 'Message Details', +variables: [ + +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osp1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{ +name: "contents", +optionName: "contents", +key: "var", +keyValue: "value", +title: "SMS Push Messages", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Language", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Text", +size: "70%", +editable: { + type: "datapicker" +}}] + }, + {name: 'sms_from', +optionName: 'sms_from', +title: 'SMS number from', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + {name: 'osname', +optionName: 'osname', +title: 'Internal Name', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{name: 'segment', +optionName: 'segment', +title: 'Segments', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{name: 'filter', +optionName: 'filter', +title: 'filter', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, +{name: 'include_phone_numbers', +optionName: 'include_phone_numbers', +title: 'Include phone numbers', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false +} , +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} + ] +} + ] +} \ No newline at end of file diff --git a/extensions/server_connect/modules/g1_onesignal_view_segments.hjson b/extensions/server_connect/modules/g1_onesignal_view_segments.hjson new file mode 100644 index 0000000..249d706 --- /dev/null +++ b/extensions/server_connect/modules/g1_onesignal_view_segments.hjson @@ -0,0 +1,88 @@ +{ + type: 'onesignal_view_segments_onesignal_view_segments', + module : 'onesignal_view_segments', + action : 'onesignal_view_segments', + groupTitle : 'Notification Modules', + groupIcon: 'Onesignal View Segments', + title : 'Onesignal View Segments', + icon : 'far fa-solid fa-chart-pie comp-settings', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ +{type: "number",name: "total_count"}, +{type: "number",name: "offset"}, +{type: "number",name: "limit"}, +{type: "array",name: "segments","sub": [ + {type: "text",name: "id" }, + {type: "text",name: "name" }, + {type: "text",name: "created_at" }, + {type: "text",name: "updated_at" }, + {type: "text",name: "app_id" }, + {typ": "boolean",name: "read_only" }, + {type: "boolean",name: "is_active" } +] +}, + {name: 'status', type: 'number'} +], + usedModules : {} + properties : [ +{ +group: 'Settings', +variables: [ + +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "vt1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, +{ +name: 'limit', +optionName: 'limit', +title: 'Limit (max 300)', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Limit max and default 50' +}, +{ +name: 'offset', +optionName: 'offset', +title: 'Offset', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Offset' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/g2_onesignal_create_segment.hjson b/extensions/server_connect/modules/g2_onesignal_create_segment.hjson new file mode 100644 index 0000000..c70ea35 --- /dev/null +++ b/extensions/server_connect/modules/g2_onesignal_create_segment.hjson @@ -0,0 +1,80 @@ +{ + type: 'onesignal_create_segment_onesignal_create_segment', + module : 'onesignal_create_segment', + action : 'onesignal_create_segment', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Create Segment (BROKEN)', + icon : 'fas fa-solid fa-pizza-slice comp-settings', + serverModel : ['node'], +dataPickObject: true, + dataScheme: [ + {name: 'status',type: 'number'} + ], + + properties : [ +{ +group: 'App Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "csg1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID' +}, +{ name: 'segname', +optionName: 'segname', +title: 'Segment Name', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Segment Name' +}, +{ name: 'seguuid', +optionName: 'seguuid', +title: 'Optional UUID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Optional UUID' +}, +{ name: 'filter', +optionName: 'filter', +title: 'Filters', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Filters' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/g3_onesignal_delete_segment.hjson b/extensions/server_connect/modules/g3_onesignal_delete_segment.hjson new file mode 100644 index 0000000..1b34800 --- /dev/null +++ b/extensions/server_connect/modules/g3_onesignal_delete_segment.hjson @@ -0,0 +1,62 @@ +{ + type: 'onesignal_delete_segment_onesignal_delete_segment', + module : 'onesignal_delete_segment', + action : 'onesignal_delete_segment', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Delete Segment', + icon : 'fas fa-solid fa-times-circle comp-settings', + serverModel : ['node'], +dataPickObject: true, + dataScheme: [ + {"name": "success","type": "text"}, + {"name": "status", "type": "number"} + ], + properties : [ +{ +group: 'App Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "csg1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID' +}, +{ name: 'segment_id', +optionName: 'segment_id', +title: 'Segment id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Segment ID' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/n3_onesignal_getnotification.hjson b/extensions/server_connect/modules/n3_onesignal_getnotification.hjson new file mode 100644 index 0000000..a8ffad6 --- /dev/null +++ b/extensions/server_connect/modules/n3_onesignal_getnotification.hjson @@ -0,0 +1,537 @@ + +{ + type: 'onesignal_getnotification_onesignal_getnotification', + module : 'onesignal_getnotification', + action : 'onesignal_getnotification', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Get Notification by ID', + icon : 'far fa-solid fa-bell comp_general', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ + { + "type": "text", + "name": "adm_big_picture" + }, + { + "type": "text", + "name": "adm_group" + }, + { + "type": "text", + "name": "adm_group_message" + }, + { + "type": "text", + "name": "adm_large_icon" + }, + { + "type": "text", + "name": "adm_small_icon" + }, + { + "type": "text", + "name": "adm_sound" + }, + { + "type": "text", + "name": "spoken_text" + }, + { + "type": "text", + "name": "alexa_ssml" + }, + { + "type": "text", + "name": "alexa_display_title" + }, + { + "type": "text", + "name": "amazon_background_data" + }, + { + "type": "text", + "name": "android_accent_color" + }, + { + "type": "text", + "name": "android_group" + }, + { + "type": "text", + "name": "android_group_message" + }, + { + "type": "text", + "name": "android_led_color" + }, + { + "type": "text", + "name": "android_sound" + }, + { + "type": "text", + "name": "android_visibility" + }, + { + "type": "text", + "name": "app_id" + }, + { + "type": "text", + "name": "big_picture" + }, + { + "type": "text", + "name": "buttons" + }, + { + "type": "boolean", + "name": "canceled" + }, + { + "type": "text", + "name": "chrome_big_picture" + }, + { + "type": "text", + "name": "chrome_icon" + }, + { + "type": "text", + "name": "chrome_web_icon" + }, + { + "type": "text", + "name": "chrome_web_image" + }, + { + "type": "text", + "name": "chrome_web_badge" + }, + { + "type": "text", + "name": "content_available" + }, + { + "type": "object", + "name": "contents", + "sub": [ + { + "type": "text", + "name": "en" + } + ] + }, + { + "type": "number", + "name": "converted" + }, + { + "type": "object", + "name": "data" + }, + { + "type": "text", + "name": "delayed_option" + }, + { + "type": "text", + "name": "delivery_time_of_day" + }, + { + "type": "number", + "name": "errored" + }, + { + "type": "array", + "name": "excluded_segments" + }, + { + "type": "number", + "name": "failed" + }, + { + "type": "text", + "name": "firefox_icon" + }, + { + "type": "text", + "name": "global_image" + }, + { + "type": "object", + "name": "headings", + "sub": [ + { + "type": "text", + "name": "en" + } + ] + }, + { + "type": "text", + "name": "id" + }, + { + "type": "text", + "name": "include_player_ids" + }, + { + "type": "text", + "name": "include_external_user_ids" + }, + { + "type": "text", + "name": "include_aliases" + }, + { + "type": "array", + "name": "included_segments", + "sub": [ + { + "type": "text", + "name": "$value" + } + ] + }, + { + "type": "text", + "name": "thread_id" + }, + { + "type": "text", + "name": "ios_badgeCount" + }, + { + "type": "text", + "name": "ios_badgeType" + }, + { + "type": "text", + "name": "ios_category" + }, + { + "type": "text", + "name": "ios_interruption_level" + }, + { + "type": "text", + "name": "ios_relevance_score" + }, + { + "type": "text", + "name": "ios_sound" + }, + { + "type": "object", + "name": "apns_alert" + }, + { + "type": "text", + "name": "target_content_identifier" + }, + { + "type": "boolean", + "name": "isAdm" + }, + { + "type": "boolean", + "name": "isAndroid" + }, + { + "type": "boolean", + "name": "isChrome" + }, + { + "type": "boolean", + "name": "isChromeWeb" + }, + { + "type": "text", + "name": "isAlexa" + }, + { + "type": "boolean", + "name": "isFirefox" + }, + { + "type": "boolean", + "name": "isIos" + }, + { + "type": "boolean", + "name": "isSafari" + }, + { + "type": "boolean", + "name": "isWP" + }, + { + "type": "boolean", + "name": "isWP_WNS" + }, + { + "type": "boolean", + "name": "isEdge" + }, + { + "type": "boolean", + "name": "isHuawei" + }, + { + "type": "boolean", + "name": "isSMS" + }, + { + "type": "text", + "name": "large_icon" + }, + { + "type": "number", + "name": "priority" + }, + { + "type": "number", + "name": "queued_at" + }, + { + "type": "number", + "name": "remaining" + }, + { + "type": "number", + "name": "send_after" + }, + { + "type": "text", + "name": "completed_at" + }, + { + "type": "text", + "name": "small_icon" + }, + { + "type": "number", + "name": "successful" + }, + { + "type": "text", + "name": "received" + }, + { + "type": "text", + "name": "tags" + }, + { + "type": "text", + "name": "filters" + }, + { + "type": "text", + "name": "template_id" + }, + { + "type": "number", + "name": "ttl" + }, + { + "type": "text", + "name": "url" + }, + { + "type": "text", + "name": "web_url" + }, + { + "type": "text", + "name": "app_url" + }, + { + "type": "text", + "name": "web_buttons" + }, + { + "type": "text", + "name": "web_push_topic" + }, + { + "type": "text", + "name": "wp_sound" + }, + { + "type": "text", + "name": "wp_wns_sound" + }, + { + "type": "object", + "name": "platform_delivery_stats" + }, + { + "type": "text", + "name": "ios_attachments" + }, + { + "type": "text", + "name": "huawei_sound" + }, + { + "type": "text", + "name": "huawei_led_color" + }, + { + "type": "text", + "name": "huawei_accent_color" + }, + { + "type": "text", + "name": "huawei_visibility" + }, + { + "type": "text", + "name": "huawei_group" + }, + { + "type": "text", + "name": "huawei_group_message" + }, + { + "type": "text", + "name": "huawei_channel_id" + }, + { + "type": "text", + "name": "huawei_existing_channel_id" + }, + { + "type": "text", + "name": "huawei_small_icon" + }, + { + "type": "text", + "name": "huawei_large_icon" + }, + { + "type": "text", + "name": "huawei_big_picture" + }, + { + "type": "text", + "name": "huawei_msg_type" + }, + { + "type": "text", + "name": "throttle_rate_per_minute" + }, + { + "type": "text", + "name": "fcap_group_ids" + }, + { + "type": "text", + "name": "fcap_status" + }, + { + "type": "text", + "name": "sms_from" + }, + { + "type": "text", + "name": "sms_media_urls" + }, + { + "type": "text", + "name": "subtitle" + }, + { + "type": "text", + "name": "name" + }, + { + "type": "text", + "name": "email_click_tracking_disabled" + }, + { + "type": "boolean", + "name": "isEmail" + }, + { + "type": "text", + "name": "email_subject" + }, + { + "type": "text", + "name": "email_from_name" + }, + { + "type": "text", + "name": "email_from_address" + }, + { + "type": "text", + "name": "email_preheader" + }, + { + "type": "text", + "name": "email_reply_to_address" + }, + { + "type": "boolean", + "name": "include_unsubscribed" + }, + { + "type": "text", + "name": "huawei_category" + }, + { + "type": "text", + "name": "huawei_bi_tag" + }, + {name: 'status',type: 'number'} + ], + usedModules : { + + } + properties : [ +{ +group: 'Get Notification by ID', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osn1" +}, + +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID, if left blank default from ENV will be used' +}, + +{ name: 'notification_id', +optionName: 'notification_id', +title: 'Notification ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Notification ID' + }, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/n4_onesignal_getnotifications.hjson b/extensions/server_connect/modules/n4_onesignal_getnotifications.hjson new file mode 100644 index 0000000..7b9c280 --- /dev/null +++ b/extensions/server_connect/modules/n4_onesignal_getnotifications.hjson @@ -0,0 +1,229 @@ + + +{ + type: 'onesignal_getnotifications_onesignal_getnotifications', + module : 'onesignal_getnotifications', + action : 'onesignal_getnotifications', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Get Notifications List*', + icon : 'fas fa-solid fa-list comp_general', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ + + {"type": "number","name": "total_count"}, + {"type": "number","name": "offset" }, + {"type": "number","name": "limit"}, + { "type": "array", "name": "notifications", +"sub": [ +{"type": "text","name": "app_id"}, +{"type": "text","name": "chrome_web_icon"}, +{"type": "text","name": "ios_interruption_level"}, +{"type": "number","name": "ios_relevance_score"}, +{"type": "text","name": "name"}, +{"type": "object","name": "contents", +"sub": [ +{"type": "text", "name": "en"} +] +}, +{"type": "number","name": "converted"}, +{"type": "object","name": "data", +"sub": [ + {"type": "text", "name": "your_data_key"} + +] +}, +{"type": "number", +"name": "errored" +}, +{"type": "array", +"name": "excluded_segments", +"sub": [ + {"type": "text", +"name": "$value" + } +] +}, +{ +"type": "number", +"name": "failed" +}, +{ +"type": "object", +"name": "headings", +"sub": [ + { +"type": "text", +"name": "en" + } +] +}, +{ +"type": "text", +"name": "id" +}, +{ +"type": "array", +"name": "included_segments", +"sub": [ + { +"type": "text", +"name": "$value" + } +] +}, +{ +"type": "number", +"name": "queued_at" +}, +{ +"type": "number", +"name": "send_after" +}, +{ +"type": "number", +"name": "completed_at" +}, +{ +"type": "number", +"name": "successful" +}, +{ +"type": "number", +"name": "received" +}, +{ +"type": "text", +"name": "template_id" +}, +{ +"type": "number", +"name": "ttl" +}, +{ +"type": "text", +"name": "url" +}, +{ +"type": "text", +"name": "web_url" +}, +{ +"type": "text", +"name": "app_url" +}, +{ +"type": "key_array", +"name": "platform_delivery_stats", +"sub": [ + { +"type": "number", +"name": "successful" + }, + { +"type": "number", +"name": "failed" + }, + { +"type": "number", +"name": "errored" + }, + { +"type": "number", +"name": "converted" + }, + { +"type": "number", +"name": "received" + } +] +}, +{ +"type": "object", +"name": "ios_attachments", +"sub": [ + { +"type": "text", +"name": "id" + } +] +} +] + } + + {"name": "status", "type": "number"} + +], + usedModules : { +node: { + +} + } + properties : [ +{ +group: 'Get Notifications', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osn1" +}, + +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +}, + +{ name: 'limit', +optionName: 'limit', +title: 'Record Limit (50 max)', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', + }, + +{ name: 'offset', +optionName: 'offset', +title: 'Page Offset', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: ''}, + + + +{ name: 'kind' +optionName: 'kind', +title: 'Notiication kind (blank, 0,1,3)', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +}, +{ name: 'template_id' +optionName: 'template_id', +title: 'Filter by Template ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/n5_onesignal_delete_notification.hjson b/extensions/server_connect/modules/n5_onesignal_delete_notification.hjson new file mode 100644 index 0000000..4eff5e9 --- /dev/null +++ b/extensions/server_connect/modules/n5_onesignal_delete_notification.hjson @@ -0,0 +1,63 @@ +{ + type: 'onesignal_onesignal_delete_notification_onesignal_onesignal_delete_notification', + module : 'onesignal_delete_notification', + action : 'onesignal_delete_notification', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Delete Notification', + icon : 'fas fa-solid fa-ban comp_general', + serverModel : ['node'], + dataPickObject: true, + dataScheme: [ +{name:'success', type: 'text'}, + {name: 'status', type: 'number'} + ], + + properties : [ +{ +group: 'Delete Notification', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, + { name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +serverDataBindings: true, +required: true, +defaultValue: '' + +}, +{ name: 'notificationid', +optionName: 'notificationid', +title: 'Notification ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', + +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} + +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/n5_onesignal_getoutcomes.hjson b/extensions/server_connect/modules/n5_onesignal_getoutcomes.hjson new file mode 100644 index 0000000..126bd50 --- /dev/null +++ b/extensions/server_connect/modules/n5_onesignal_getoutcomes.hjson @@ -0,0 +1,68 @@ + +{ + type: 'onesignal_getoutcomes_onesignal_getoutcomes', + module : 'onesignal_getoutcomes', + action : 'onesignal_getoutcomes', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Get Notification Outcomes', + icon : 'fas fa-solid fa-chart-pie comp_general', + serverModel : ['node'], + dataPickObject: true, + dataScheme: [ +{name:'successful', type: 'text'}, +{name:'failed', type: 'text'}, +{name:'errored', type: 'text'}, +{name:'converted', type: 'text'}, +{name:'received', type: 'text'}, +{name: 'status',type: 'number'} + ], + + properties : [ +{ +group: 'Get Notification and outcomes', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osg1" +}, + + { name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '' + +}, +{ name: 'outcome_names', +optionName: 'outcome_names', +title: 'Outcome Names', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', + +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} diff --git a/extensions/server_connect/modules/n6_onesignal_export_audience_activity_csv.hjson b/extensions/server_connect/modules/n6_onesignal_export_audience_activity_csv.hjson new file mode 100644 index 0000000..4cd4ad7 --- /dev/null +++ b/extensions/server_connect/modules/n6_onesignal_export_audience_activity_csv.hjson @@ -0,0 +1,61 @@ +{ + type: 'onesignal_export_audience_activity_csv_onesignal_export_audience_activity_csv', + module : 'onesignal_export_audience_activity_csv', + action : 'onesignal_export_audience_activity_csv', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-general', + title : 'Onesignal Export Audience Activity (csv)', + icon : 'fas fa-solid fa-file-csv comp-general', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + {type: "text",name: "csv_file_url"} , + {name: 'status', type: 'number'} + ], + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Your App ID' +}, +{ name: 'notification_id', +optionName: 'notification_id', +title: 'Notification ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Notification ID' +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/n7_onesignal_notification-history.hjson b/extensions/server_connect/modules/n7_onesignal_notification-history.hjson new file mode 100644 index 0000000..c09a537 --- /dev/null +++ b/extensions/server_connect/modules/n7_onesignal_notification-history.hjson @@ -0,0 +1,74 @@ +{ + type: 'onesignal_notification_history_onesignal_notification_history', + module : 'onesignal_notification_history', + action : 'onesignal_notification_history', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Notification History (clicked) (UNTESTED)', + icon : 'fas fa-solid fa-history comp_general', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ + {name: 'status', type: 'number'} + ], + properties : [ +{ +group: 'Onesignal Options', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osn1" +}, + +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID, if left blank default from ENV will be used' +}, + +{ name: 'notification_id', +optionName: 'notification_id', +title: 'Notification ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Notification ID' + }, + { name: 'email', +optionName: 'email', +title: 'Email to receive report', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Email to receive report' + }, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/n8_onesignal_notification-history-sent.hjson b/extensions/server_connect/modules/n8_onesignal_notification-history-sent.hjson new file mode 100644 index 0000000..e60e546 --- /dev/null +++ b/extensions/server_connect/modules/n8_onesignal_notification-history-sent.hjson @@ -0,0 +1,74 @@ +{ + type: 'onesignal_notification_history_sent_onesignal_notification_history_sent', + module : 'onesignal_notification_history_sent', + action : 'onesignal_notification_history_sent', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Notification History (sent) (UNTESTED)', + icon : 'fas fa-solid fa-history comp_general', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ + {name: 'status', type: 'number'} + ], + properties : [ +{ +group: 'Onesignal Options', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osn1" +}, + +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID, if left blank default from ENV will be used' +}, + +{ name: 'notification_id', +optionName: 'notification_id', +title: 'Notification ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Notification ID' + }, + { name: 'email', +optionName: 'email', +title: 'Email to receive report', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Email to receive report' + }, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_copy_template_to_app.js b/extensions/server_connect/modules/onesignal_copy_template_to_app.js new file mode 100644 index 0000000..a7cfdff --- /dev/null +++ b/extensions/server_connect/modules/onesignal_copy_template_to_app.js @@ -0,0 +1,36 @@ +// JavaScript Document +exports.onesignal_copy_template_to_app = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const template_id = this.parseRequired(options.template_id, '*', 'Template ID not specified') + console.log('Template_id: ' + options.template_id + " => " + template_id) + + const target_appid = this.parseRequired(options.target_appid, '*', 'Target APP ID not specified') + console.log('target_appid: ' + options.target_appid + " => " + target_appid) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/templates/${template_id}/copy_to_app?app_id=${target_appid}` + console.log(url) + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', + 'content-type': 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_AUTH_KEY}` + } + }; + console.log(os_options) + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_create_alias_by_subscription.js b/extensions/server_connect/modules/onesignal_create_alias_by_subscription.js new file mode 100644 index 0000000..20126c2 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_create_alias_by_subscription.js @@ -0,0 +1,42 @@ +exports.onesignal_create_alias_by_subscription = async function (options) { + + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const subscription_id = this.parseRequired(options.subscription_id, '*', 'No Subscription ID specified') + console.log('Subscription ID: ' + options.subscription_id + " => " + subscription_id) + + const alias_label = this.parseRequired(options.alias_label.trim(), '*', 'No Alias Label specified') + console.log(options.alias_label + " => " + alias_label) + + const alias_id = this.parseOptional(options.alias_id, '*', 'No Alias ID specified') + console.log(options.alias_id + " => " + alias_id) + + + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}/user/identity`; + console.log('URL: ' + url) + const os_options = { + method: 'PATCH', + headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, + body: JSON.stringify({ + identity: { + alias_label: alias_label, + alias_id: alias_id + } + }) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_create_email_notification.js b/extensions/server_connect/modules/onesignal_create_email_notification.js new file mode 100644 index 0000000..64df6e0 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_create_email_notification.js @@ -0,0 +1,83 @@ +//V1.0.0 +//include aliases notworking if blank +exports.onesignal_create_email_notification = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + // get message internal name + const osname = this.parseOptional(options.osname, '*', 'message_auto') + console.log('Name: ' + options.osname + " => " + osname) + + // get email subject + const email_subject = this.parseOptional(options.email_subject, '*', ' ') + console.log('Subject: ' + options.email_subject + " => " + email_subject) + + const email_body = this.parseRequired(options.email_body, '*', 'No email_body specified ') + console.log('Body: ' + options.email_body + " => " + email_body) + + + const email_from_name = this.parseRequired(options.email_from_name, '*', 'No email_body specified ') + console.log('From: ' + options.email_from_name + " => " + email_from_name) + + const email_from_address = this.parseRequired(options.email_from_address, '*', 'No email_from_address specified') + console.log('From Address: ' + options.email_from_address + " => " + email_from_address) + + const email_reply_to_address = this.parseOptional(options.email_reply_to_address, '*', null) + console.log('Reply to: ' + options.email_reply_to_address + " => " + email_reply_to_address) + + const email_preheader = this.parseOptional(options.email_preheader, '*', null) + console.log('Preheader: ' + options.email_preheader + " => " + email_preheader) + + const include_email_tokens = this.parseOptional(options.include_email_tokens, '*', null) + console.log('include_email_tokens: ' + options.include_email_tokens + " => " + include_email_tokens) + + const segment = this.parseOptional(options.segment, '*', 'All Email Subscriptions') + console.log("Segment: " + options.segment + " => " + segment) + + const filter = this.parseOptional(options.filter, '*', null) + console.log("Filter: " + options.filter + " => " + filter) + + const include_aliases = this.parseOptional(options.include_aliases, '*', null) + console.log("include_aliases: " + options.include_aliases + " => " + include_aliases) + + const template_id = this.parseOptional(options.template_id, '*', null) + console.log("Template ID: " + template_id + " => " + template_id) + + const fetch = require('node-fetch'); + + const url = 'https://api.onesignal.com/notifications?c=email'; + const os_options = { + method: 'POST', + headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, + body: JSON.stringify({ + app_id: appid, + email_subject: email_subject, + email_body: email_body, + template_id: template_id, + name: osname, + email_from_name: email_from_name, + email_from_address: email_from_address, + email_reply_to_address: email_reply_to_address, + disable_email_click_tracking: options.disable_email_click_tracking, + include_unsubscribed: options.include_unsubscribed, + email_preheader: email_preheader, + //include_aliases: include_aliases, + included_segments: [segment], + filters: filter, + include_email_tokens: [include_email_tokens] + } + ) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} diff --git a/extensions/server_connect/modules/onesignal_create_push_notification.js b/extensions/server_connect/modules/onesignal_create_push_notification.js new file mode 100644 index 0000000..a8f3f22 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_create_push_notification.js @@ -0,0 +1,109 @@ +// JavaScript Document +exports.onesignal_create_push_notification = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + // get message internal name + const osname = this.parseOptional(options.osname, '*', 'message_auto') + console.log(options.osname + " => " + osname) + // target_channel + const target_channel = this.parseOptional(options.target_channel, '*', 'push') + console.log(options.target_channel + " => " + target_channel) + // get language + const oslang = this.parseOptional(options.oslang, '*', 'en') + console.log(options.oslang + " => " + oslang) + + const segment = this.parseOptional(options.segment, '*', 'All') + console.log("Segment: " + options.segment + " => " + segment) + // gte message + //const osmessage = this.parseOptional(options.os_message, '*', 'Hello world') + //console.log(options.os_message + " => " + osmessage) + + const osimage = this.parseOptional(options.os_image, '*', null) + console.log("osimage: " + options.os_image + " => " + osimage) + + const osicon = this.parseOptional(options.os_icon, '*', null) + console.log("osicon: " + options.os_icon + " => " + osicon) + + const osbadge = this.parseOptional(options.os_badge, '*', null) + console.log("osbadge: " + options.os_badge + " => " + osbadge) + + const ostitle = this.parseOptional(options.os_title, '*', null) + console.log(options.os_title + " => " + ostitle) + + const messages = this.parseRequired(options.bindings, '*', 'Bindings Required') + console.log(options.bindings + " => " + messages) + + const headings = this.parseRequired(options.headings, '*', 'Headings Required') + console.log(options.headings + " => " + headings) + + const template_id = this.parseOptional(options.template_id, '*', null) + console.log(options.template_id + " => " + template_id) + + const big_picture = this.parseOptional(options.big_picture, '*', null) + console.log(options.big_picture + " => " + big_picture) + + const turl = this.parseOptional(options.url, '*', null) + console.log(options.url + " => " + turl) + + //const data = this.parseOptional(options.data, '*', null) + //console.log(options.data + " => " + data) + + const filters = this.parseOptional(options.filters, '*', {}) + console.log(options.filters + " => " + filters) + + //const include_aliases = this.parseOptional(options.include_aliases, '*', '{ external_id: [] }') + //console.log(options.include_aliasess + " => " + include_aliases) + + const include_subscription_ids = this.parseOptional(options.include_subscription_ids, '*', null) + console.log(options.include_subscription_ids + " => " + include_subscription_ids) + + const send_after = this.parseOptional(options.send_after, '*', null) + console.log(options.send_after + " => " + send_after) + + const delayed_option = this.parseOptional(options.delayed_option, '*', null) + console.log(options.delayed_option + " => " + delayed_option) + + const delivery_time_of_day = this.parseOptional(options.delivery_time_of_day, '*', null) + console.log(options.delivery_time_of_day + " => " + delivery_time_of_day) + + const throttle_rate_per_minute = this.parseOptional(options.throttle_rate_per_minute, '*', null) + console.log(options.throttle_rate_per_minute + " => " + throttle_rate_per_minute) + + const fetch = require('node-fetch'); + + const url = 'https://api.onesignal.com/notifications?c=push'; + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', 'content-type': 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` + }, + body: JSON.stringify( + Object.fromEntries( + Object.entries({ + contents: messages, + headings: headings, app_id: appid, + included_segments: [segment], + target_channel: target_channel, + big_picture: osimage, + chrome_big_picture: osimage, + chrome_web_image: osimage, + chrome_icon: osimage, + chrome_web_icon: osimage, + firefox_icon: osimage + + }).filter(([_, v]) => v != null) + )) + }; + console.log(os_options) + return fetch(url, os_options) + .then(res => { + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} diff --git a/extensions/server_connect/modules/onesignal_create_segment.js b/extensions/server_connect/modules/onesignal_create_segment.js new file mode 100644 index 0000000..8241c0c --- /dev/null +++ b/extensions/server_connect/modules/onesignal_create_segment.js @@ -0,0 +1,46 @@ +// JavaScript Document +// throwing 500 error +exports.onesignal_create_segment = async function (options) { + const { v4: uuidv4 } = require("uuid"); + + const uuid = uuidv4(); + //console.log(`UUID: ${uuid}`); + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID); + console.log(options.appid + " => " + appid); + + const segname = this.parseRequired(options.segname, '*', 'No segment name specified'); + console.log(options.segname + " => " + segname); + + const filter = this.parseOptional(options.filter, '*', null); + console.log(options.filter + " => " + filter); + + const seguuid = this.parseOptional(options.seguuid, '*', uuid); + console.log("seguuid: " + options.seguuid + " => " + seguuid); + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/segments`; + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + 'Content-Type': 'application/json; charset=utf-8' + }, + body: JSON.stringify({ name: segname, filters: filter }) + }; + return fetch(url, os_options) + .then(res => { + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} + + + + diff --git a/extensions/server_connect/modules/onesignal_create_sms_notification.js b/extensions/server_connect/modules/onesignal_create_sms_notification.js new file mode 100644 index 0000000..b4f94ed --- /dev/null +++ b/extensions/server_connect/modules/onesignal_create_sms_notification.js @@ -0,0 +1,56 @@ +// JavaScript Document +//V1.0.0 +exports.onesignal_create_sms_notification = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const contents = this.parseRequired(options.contents, '*', 'Bindings Required') + console.log(options.contents + " => " + contents) + + const sms_from = this.parseOptional(options.sms_from, '*', process.env.ONESIGNAL_SMS_DEFAULT) + console.log(options.sms_from + " => " + sms_from) + + // get message internal name + const osname = this.parseOptional(options.osname, '*', 'osname') + console.log('Name: ' + options.osname + " => " + osname) + + const segment = this.parseOptional(options.segment, '*', 'All') + console.log("Segment: " + options.segment + " => " + segment) + + const filter = this.parseOptional(options.filter, '*', null) + console.log("Filter: " + options.filter + " => " + filter) + + const include_phone_numbers = this.parseOptional(options.include_phone_numbers, '*', null) + console.log("include_phone_numbers: " + options.include_phone_numbers + " => " + include_phone_numbers) + + const fetch = require('node-fetch'); + + const url = 'https://api.onesignal.com/notifications?c=sms'; + const os_options = { + method: 'POST', + headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, + body: JSON.stringify({ + contents: contents, + app_id: appid, + included_segments: [segment], + target_channel: 'sms', + sms_from: sms_from, + name: osname, + include_phone_numbers: [include_phone_numbers], + filters: filter + } + ) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} diff --git a/extensions/server_connect/modules/onesignal_create_subscription.js b/extensions/server_connect/modules/onesignal_create_subscription.js new file mode 100644 index 0000000..0c4101a --- /dev/null +++ b/extensions/server_connect/modules/onesignal_create_subscription.js @@ -0,0 +1,61 @@ +// JavaScript Document +//v1.0.0 +// schema missing in response? +exports.onesignal_create_subscription = async function (options) { + // get appid parsed as options.appid, throw error is missing + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + // log before and after vlaues + console.log('App id: ' + options.appid + " => " + appid) + + //var subscription_id = this.parseRequired(options.subscription_id, '*', 'Subscription ID not specified') + // console.log('Subscription_id: ' + options.subscription_id + " => " + subscription_id) + + var token = this.parseRequired(options.token, '*', 'Token not specified') + console.log('Token: ' + options.token + " => " + token) + + var alias_label = this.parseOptional(options.alias_label, '*', null) + console.log('alias_label: ' + options.alias_label + " => " + alias_label) + + var alias_id = this.parseOptional(options.alias_id, '*', null) + console.log('alias_id: ' + options.alias_id + " => " + alias_id) + + const pushtype = this.parseRequired(options.pushtype, '*', 'No push type specified') + console.log('Type: ' + options.pushtype) + + const enabled = this.parseOptional(options.enabled, '*', false) + console.log('Enabled: ' + options.enabled + " => " + enabled) + + const notification_types = enabled ? 1 : -99 + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/users/by/${alias_label}/${alias_id}/subscriptions`; + const os_options = { + method: 'POST', + headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, + body: JSON.stringify( + Object.fromEntries( + Object.entries({ + subscription: { + type: pushtype, + token: token, + alias_label: alias_label, + alias_id: alias_id, + enabled: enabled, + notification_types: notification_types + } + }).filter(([_, v]) => v != null) + )) + }; + console.log(os_options) + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} diff --git a/extensions/server_connect/modules/onesignal_createuser.js b/extensions/server_connect/modules/onesignal_createuser.js new file mode 100644 index 0000000..615ea67 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_createuser.js @@ -0,0 +1,54 @@ +// JavaScript Document +// incomplete +exports.onesignal_createuser = async function (options) { + + // get appid + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + console.log(options.appid + " => " + appid) + + const identity = this.parseRequired(options.identity, '*', 'No identity specified') + console.log(options.identity + " => " + identity) + + const pushtype = this.parseOptional(options.pushtype, '*', 'IOSPush') + console.log(options.pushtype + " => " + pushtype) + + const token = this.parseOptional(options.token, '*', null) + console.log(options.token + " => " + token) + + const tags = this.parseOptional(options.tags, '*', null) + console.log(options.tags + " => " + tags) + + + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/users`; + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', 'content-type': 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` + }, + body: JSON.stringify({ + properties: { tags: tags }, + subscriptions: [{ + type: pushtype, + token: token, + identity: identity, + enabled: options.enable, + notification_types: (options.enabled == true ? 1 : -99) + }] + }) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_delete_notification.js b/extensions/server_connect/modules/onesignal_delete_notification.js new file mode 100644 index 0000000..3a74f6a --- /dev/null +++ b/extensions/server_connect/modules/onesignal_delete_notification.js @@ -0,0 +1,29 @@ +// JavaScript Document +// V1.0.0 + +exports.onesignal_delete_notification = async function (options) { + + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const notificationid = this.parseRequired(options.notificationid, '*', 'No notification ID specified') + console.log(options.notificationid + " => " + notificationid) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/notifications/${notificationid}?app_id=${appid}` + console.log(url) + const os_options = { + method: 'DELETE', + headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` } + }; + console.log(os_options) + return fetch(url, os_options) + .then(res => { + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_delete_segment.js b/extensions/server_connect/modules/onesignal_delete_segment.js new file mode 100644 index 0000000..7f1cddd --- /dev/null +++ b/extensions/server_connect/modules/onesignal_delete_segment.js @@ -0,0 +1,30 @@ +// JavaScript Document +// v1.0.0 +exports.onesignal_delete_segment = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const segment_id = this.parseRequired(options.segment_id, '*', 'Segment ID missing') + console.log(options.segment_id + " => " + segment_id) + const fetch = require('node-fetch') + const url = `https://api.onesignal.com/apps/${appid}/segments/${segment_id}` + const os_options = { + method: 'DELETE', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` + } + } + console.log(os_options) + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_delete_subscription.js b/extensions/server_connect/modules/onesignal_delete_subscription.js new file mode 100644 index 0000000..0fdc158 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_delete_subscription.js @@ -0,0 +1,25 @@ +// JavaScript Document +//v1.0.0 +// may return status 202 as deletion is not always immediate +exports.onesignal_delete_subscription = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const subscription_id = this.parseRequired(options.subscription_id, '*', 'Subscription ID not specified') + console.log('Subscription_id: ' + options.subscription_id + " => " + subscription_id) + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}`; + const os_options = { method: 'DELETE', headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` } }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} diff --git a/extensions/server_connect/modules/onesignal_delete_template.js b/extensions/server_connect/modules/onesignal_delete_template.js new file mode 100644 index 0000000..7f1e54b --- /dev/null +++ b/extensions/server_connect/modules/onesignal_delete_template.js @@ -0,0 +1,26 @@ +// JavaScript Document +exports.onesignal_delete_template = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const template_id = this.parseRequired(options.template_id, '*', 'Template ID not specified') + console.log('Template_id: ' + options.template_id + " => " + template_id) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/templates/${template_id}?app=id=${appid}`; + const os_options = { method: 'DELETE', headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` } }; + + return fetch(url, os_options) + .then(res => { + if (!res.ok) { + throw new Error(`HTTP error! status: ${res.status}`); + } + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} diff --git a/extensions/server_connect/modules/onesignal_delete_user_alias.js b/extensions/server_connect/modules/onesignal_delete_user_alias.js new file mode 100644 index 0000000..564497f --- /dev/null +++ b/extensions/server_connect/modules/onesignal_delete_user_alias.js @@ -0,0 +1,36 @@ + +// JavaScript Document +exports.onesignal_delete_user_alias = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const alias_id = this.parseRequired(options.alias_id, '*', 'No Alias ID specified') + console.log(options.alias_id + " => " + alias_id) + + const alias_label = this.parseRequired(options.alias_label, '*', 'No Alias Label specified') + console.log(options.alias_label + " => " + alias_label) + + const alias_label_to_delete = this.parseRequired(options.alias_label_to_delete, '*', 'No Alias Label to delete specified') + console.log(options.alias_label_to_delete + " => " + alias_label_to_delete) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/users/by/${alias_label}/${alias_id}/identity/${alias_label_to_delete}`; + const os_options = { + method: 'DELETE', headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` + } + }; + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_deleteuser.js b/extensions/server_connect/modules/onesignal_deleteuser.js new file mode 100644 index 0000000..4708350 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_deleteuser.js @@ -0,0 +1,30 @@ +// JavaScript Document +//V1.0.0 +exports.onesignal_deleteuser = async function (options) { + + // get appid + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + console.log(options.appid + " => " + appid) + + let aliasLabel = this.parseOptional(options.alias_label, '*', '') + console.log(options.alias_label + " => " + aliasLabel) + + let aliasId = this.parseOptional(options.alias_id, '*', '') + console.log(options.alias_id + " => " + aliasId) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/users/by/${aliasLabel}/${aliasId}`; + const os_options = { method: 'DELETE', headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` } }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_email_template.js b/extensions/server_connect/modules/onesignal_email_template.js new file mode 100644 index 0000000..5a9bbca --- /dev/null +++ b/extensions/server_connect/modules/onesignal_email_template.js @@ -0,0 +1,6 @@ + +// JavaScript Document +exports.onesignal_email_template = async function (options) { + + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_export_audience_activity_csv.js b/extensions/server_connect/modules/onesignal_export_audience_activity_csv.js new file mode 100644 index 0000000..0ad558d --- /dev/null +++ b/extensions/server_connect/modules/onesignal_export_audience_activity_csv.js @@ -0,0 +1,30 @@ +// JavaScript Document +//V1.0.0 +exports.onesignal_export_audience_activity_csv = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const notification_id = this.parseRequired(options.notification_id, '*', 'No notificastion ID Specified') + console.log(notification_id + " => " + notification_id) + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/notifications/${notification_id}/export_events?app_id=${appid}`; + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` + } + }; + + return fetch(url, os_options) + .then(res => { + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_export_subscriptions_csv.js b/extensions/server_connect/modules/onesignal_export_subscriptions_csv.js new file mode 100644 index 0000000..af9aca9 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_export_subscriptions_csv.js @@ -0,0 +1,34 @@ + +// JavaScript Document +// v1.0.0 +exports.onesignal_export_subscriptions_csv = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const extra_fields = this.parseOptional(options.extra_fields, '*', null) + console.log(extra_fields + " => " + extra_fields) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/players/csv_export?app_id=${appid}`; + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + 'content-type': 'application/json' + }, + body: JSON.stringify({ extra_fields: [extra_fields] }) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_getapp.js b/extensions/server_connect/modules/onesignal_getapp.js new file mode 100644 index 0000000..45b06d3 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_getapp.js @@ -0,0 +1,36 @@ +// JavaScript Document +// V1.0.0 +exports.onesignal_getapp = async function (options) { + + + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}` + const os_options = { + method: 'GET', + headers: { + accept: 'text/plain', + 'Content-Type': 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` + } + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + + + + + + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_getapps.js b/extensions/server_connect/modules/onesignal_getapps.js new file mode 100644 index 0000000..7911318 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_getapps.js @@ -0,0 +1,31 @@ +// JavaScript Document +// V1.0.0 complete + +// note uses auth key, not api key +// no status returned! need to double check schema + +exports.onesignal_getapps = async function (options) { + + const fetch = require('node-fetch'); + + const url = 'https://api.onesignal.com/apps'; + const os_options = { + method: 'GET', + headers: { + accept: 'text/plain', + Authorization: `Basic ${process.env.ONESIGNAL_AUTH_KEY}` + } + }; + console.log(url) + console.log(os_options) + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + //json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_getnotification.js b/extensions/server_connect/modules/onesignal_getnotification.js new file mode 100644 index 0000000..87723f5 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_getnotification.js @@ -0,0 +1,29 @@ +// Node integration with wappler.io +// v1.0.0 +exports.onesignal_getnotification = async function (options) { + + // get appid parsed as options.appid, throw error is missing + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + // log before and after vlaues + console.log(options.appid + " => " + appid) + // get limit, if omitted set default of 50 + var notification_id = this.parseRequired(options.notification_id, '*', 'Notification ID not specified') + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/notifications/${notification_id}?app_id=${appid}`; + const os_options = { + method: 'GET', + headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` } + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_getnotifications.js b/extensions/server_connect/modules/onesignal_getnotifications.js new file mode 100644 index 0000000..55655a7 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_getnotifications.js @@ -0,0 +1,49 @@ +// Node integration with wappler.io +// V1.0.0 +exports.onesignal_getnotifications = async function (options) { + + // get appid parsed as options.appid, throw error is missing + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + // log before and after vlaues + console.log(options.appid + " => " + appid) + // get limit, if omitted set default of 50 + var limit = this.parseOptional(options.limit, '*', 50) + // ensure it is positive + limit = Math.abs(limit) + // ensure not exceeeding 50 + limit = Math.min(limit, 50) + // log before and after values + console.log(options.limit + " => " + limit) + // get offset, if omitted set default of 0 + const offset = this.parseOptional(options.offset, '*', 0) + // log before and after values + console.log(options.offset + " => " + offset) + // get offset, if omitted set default of null + const kind = this.parseOptional(options.kind, '*', null) + console.log(options.kind + " => " + kind) + // log before and after values + const fetch = require('node-fetch'); + // set url + const url = `https://api.onesignal.com/notifications?app_id=${appid}&limit=${limit}&offset=${offset}&kind=${kind}`; + const os_options = { + method: 'GET', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` + } + }; + //log url to console + console.log(os_options.headers) + console.log(url) + // log timestamp + console.log("Timestamp: " + new Date().getTime()); + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_getoutcomes.js b/extensions/server_connect/modules/onesignal_getoutcomes.js new file mode 100644 index 0000000..ecc86e9 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_getoutcomes.js @@ -0,0 +1,29 @@ +// JavaScript Document +// V1.0.0 +exports.onesignal_getoutcomes = async function (options) { + + // get appid + + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const outcome_names = this.parseOptional(options.outcome_names, '*', 'os__click.count') + console.log(options.outcome_names + " => " + outcome_names) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/outcomes?outcome_names=${outcome_names}`; + const os_options = { + method: 'GET', + headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` } + }; + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_getuser.js b/extensions/server_connect/modules/onesignal_getuser.js new file mode 100644 index 0000000..58adef8 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_getuser.js @@ -0,0 +1,35 @@ +// JavaScript Document +//V1.0.0 +exports.onesignal_getuser = async function (options) { + + // get appid + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + console.log(options.appid + " => " + appid) + + let aliasLabel = this.parseOptional(options.alias_label, '*', '') + console.log(options.alias_label + " => " + aliasLabel) + + let aliasId = this.parseOptional(options.alias_id, '*', '') + console.log(options.alias_id + " => " + aliasId) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/users/by/${aliasLabel}/${aliasId}`; + const os_options = { method: 'GET', headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` } }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + + + + + + diff --git a/extensions/server_connect/modules/onesignal_makeapp.js b/extensions/server_connect/modules/onesignal_makeapp.js new file mode 100644 index 0000000..3ff3aea --- /dev/null +++ b/extensions/server_connect/modules/onesignal_makeapp.js @@ -0,0 +1,107 @@ +// JavaScript Document +// V1.0.0 +exports.onesignal_makeapp = async function (options) { + + + + const orgid = this.parseOptional(options.orgid, '*', null) + console.log(options.orgid + " => " + orgid) + + const chrome_web_default_notification_icon = this.parseOptional(options.chrome_web_default_notification_icon, '*', null) + console.log(options.chrome_web_default_notification_icon + " => " + chrome_web_default_notification_icon) + + const chrome_web_origin = this.parseOptional(options.chrome_web_origin, '*', process.env.ONESIGNAL_SITE_URL) + console.log(options.chrome_web_origin + " => " + chrome_web_origin) + + const appname = this.parseRequired(options.app_name, '*', 'You must specify an app name') + console.log(options.app_name + " => " + appname) + + const safari_site_origin = this.parseOptional(options.safari_site_origin, '*', process.env.ONESIGNAL_SITE_URL) + console.log(options.safari_site_origin + " => " + safari_site_origin) + + const site_name = this.parseOptional(options.site_name, '*', null) + console.log(options.site_name + " => " + site_name) + + const safari_apns_p12 = this.parseOptional(options.safari_apns_p12, '*', null) + console.log(options.safari_apns_p12 + " => " + safari_apns_p12) + + const safari_apns_p12_password = this.parseOptional(options.safari_apns_p12_password, '*', null) + console.log(options.safari_apns_p12_password + " => " + safari_apns_p12_password) + + const safari_icon_256_256 = this.parseOptional(options.safari_icon_256_256, '*', null) + console.log(options.safari_icon_256_256 + " => " + safari_icon_256_256) + + const fcm_v1_service_account_json = this.parseOptional(options.fcm_v1_service_account_json, '*', null) + console.log(options.fcm_v1_service_account_json + " => " + fcm_v1_service_account_json) + + const apns_p12 = this.parseOptional(options.apns_p12, '*', null) + console.log(options.apns_p12 + " => " + apns_p12) + + const apns_p12_password = this.parseOptional(options.apns_p12_password, '*', null) + console.log(options.apns_p12_password + " => " + apns_p12_password) + + const apns_env = this.parseOptional(options.apns_env, '*', null) + console.log(options.apns_env + " => " + apns_env) + + const apns_key_id = this.parseOptional(options.apns_key_id, '*', null) + console.log(options.apns_key_id + " => " + apns_key_id) + + const apns_team_id = this.parseOptional(options.apns_team_id, '*', null) + console.log(options.apns_team_id + " => " + apns_team_id) + + const apns_bundle_id = this.parseOptional(options.apns_bundle_id, '*', null) + console.log(options.apns_bundle_id + " => " + apns_bundle_id) + + const apns_p8 = this.parseOptional(options.apns_p8, '*', null) + console.log(options.aapns_p8 + " => " + apns_p8) + + const additional_data_is_root_payload = this.parseOptional(options.additional_data_is_root_payload, '*', false) + console.log(options.additional_data_is_root_payload + " => " + additional_data_is_root_payload) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/` + const os_options = { + method: 'POST', + headers: { + accept: 'text/plain', + 'Content-Type': 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + }, + body: JSON.stringify({ + name: appname, + organization_id: orgid, + fcm_v1_service_account_json: fcm_v1_service_account_json, + chrome_web_origin: chrome_web_origin, + chrome_web_default_notification_icon: chrome_web_default_notification_icon, + site_name: safari_site_origin, + safari_site_origin: safari_site_origin, + safari_apns_p12: safari_apns_p12, + safari_apns_p12_password: safari_apns_p12_password, + safari_icon_256_256: safari_icon_256_256, + apns_p12: apns_p12, + apns_p12_password: apns_p12_password, + apns_env: apns_env, + apns_key_id: apns_key_id, + apns_team_id: apns_team_id, + apns_bundle_id: apns_bundle_id, + apns_p8: apns_p8, + additional_data_is_root_payload: false + }) + }; + console.log('Method: ' + os_options.method) + console.log('Headers: ' + os_options.headers) + console.log('Body: ' + os_options.body) + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + + + +} diff --git a/extensions/server_connect/modules/onesignal_not_done.hjsonx b/extensions/server_connect/modules/onesignal_not_done.hjsonx new file mode 100644 index 0000000..b1f0fce --- /dev/null +++ b/extensions/server_connect/modules/onesignal_not_done.hjsonx @@ -0,0 +1,44 @@ +[ + //start +{ + type: 'onesignal_update_user_onesignal_update_user', + module : 'onesignal_update_user', + action : 'onesignal_update_user', + groupTitle : 'Onesignal Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-general', + title : 'Onesignal Update User', + icon : 'fas fa-solid fa-bug comp-errors', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ ], + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]}, + diff --git a/extensions/server_connect/modules/onesignal_notification_history.js b/extensions/server_connect/modules/onesignal_notification_history.js new file mode 100644 index 0000000..5bc43cb --- /dev/null +++ b/extensions/server_connect/modules/onesignal_notification_history.js @@ -0,0 +1,33 @@ +// Node integration with wappler.io +// v1.0.0 - CURRENTLY UNTESTED +exports.onesignal_notification_history = async function (options) { + + // get appid parsed as options.appid, throw error is missing + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + // log before and after vlaues + console.log(options.appid + " => " + appid) + + var notification_id = this.parseRequired(options.notification_id, '*', 'Notification ID not specified') + console.log(options.notification_id + " => " + notification_id) + + var to_email = this.parseRequired(options.email, '*', 'eMail not specified') + console.log(options.email + " => " + to_email) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/notifications/${notification_id}/history`; + const os_options = { + method: 'POST', + headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, + body: JSON.stringify({ app_id: appid, events: 'clicked', email: to_email }) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_notification_history_sent.js b/extensions/server_connect/modules/onesignal_notification_history_sent.js new file mode 100644 index 0000000..2553103 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_notification_history_sent.js @@ -0,0 +1,33 @@ +// Node integration with wappler.io +// v1.0.0 - CURRENTLY UNTESTED +exports.onesignal_notification_history_sent = async function (options) { + + // get appid parsed as options.appid, throw error is missing + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + // log before and after vlaues + console.log(options.appid + " => " + appid) + + var notification_id = this.parseRequired(options.notification_id, '*', 'Notification ID not specified') + console.log(options.notification_id + " => " + notification_id) + + var to_email = this.parseRequired(options.email, '*', 'eMail not specified') + console.log(options.email + " => " + to_email) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/notifications/${notification_id}/history`; + const os_options = { + method: 'POST', + headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, + body: JSON.stringify({ app_id: appid, events: 'sent', email: to_email }) + }; + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_push_template.js b/extensions/server_connect/modules/onesignal_push_template.js new file mode 100644 index 0000000..ddd609f --- /dev/null +++ b/extensions/server_connect/modules/onesignal_push_template.js @@ -0,0 +1,44 @@ + +// JavaScript Document +// limited functionality +exports.onesignal_push_template = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + + const tname = this.parseRequired(options.tname, '*', 'Template name is mandatory') + console.log(options.tname + " => " + tname) + + console.log('bindings: ' + JSON.stringify(options.bindings)) + + const fetch = require('node-fetch'); + + const url = 'https://api.onesignal.com/templates'; + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + 'Content-Type': 'application/json; charset=utf-8' + }, + body: JSON.stringify({ + "name": tname, + "app_id": appid, + "contents": options.bindings, + "target_channel": "push" + }) + }; + + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_sms_template.js b/extensions/server_connect/modules/onesignal_sms_template.js new file mode 100644 index 0000000..41c13f9 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_sms_template.js @@ -0,0 +1,4 @@ + +// JavaScript Document +exports.onesignal_sms_template = async function (options) { +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_transfer_subscription.js b/extensions/server_connect/modules/onesignal_transfer_subscription.js new file mode 100644 index 0000000..4975a6e --- /dev/null +++ b/extensions/server_connect/modules/onesignal_transfer_subscription.js @@ -0,0 +1,34 @@ +// JavaScript Document +exports.onesignal_transfer_subscription = async function (options) { + // get appid parsed as options.appid, throw error is missing + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + // log before and after vlaues + console.log('App id: ' + options.appid + " => " + appid) + + var subscription_id = this.parseRequired(options.subscription_id, '*', 'Subscription ID not specified') + console.log('Subscription_id: ' + options.subscription_id + " => " + subscription_id) + + var alias_id = this.parseOptional(options.alias_id, '*', null) + console.log('alias_id: ' + options.alias_id + " => " + alias_id) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}/owner`; + const os_options = { + method: 'PATCH', + headers: { accept: 'application/json', 'content-type': 'application/json' }, + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + body: JSON.stringify({ identity: { onesignal_id: alias_id } }) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_transfer_subscription_alias.js b/extensions/server_connect/modules/onesignal_transfer_subscription_alias.js new file mode 100644 index 0000000..1603794 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_transfer_subscription_alias.js @@ -0,0 +1,35 @@ +// JavaScript Document +exports.onesignal_transfer_subscription_alias = async function (options) { + // get appid parsed as options.appid, throw error is missing + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + // log before and after vlaues + console.log('App id: ' + options.appid + " => " + appid) + + var subscription_id = this.parseRequired(options.subscription_id, '*', 'Subscription ID not specified') + console.log('Subscription_id: ' + options.subscription_id + " => " + subscription_id) + + var alias_label = this.parseOptional(options.alias_label, '*', null) + console.log('alias_label: ' + options.alias_label + " => " + alias_label) + + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}/owner`; + const os_options = { + method: 'PATCH', + headers: { accept: 'application/json', 'content-type': 'application/json' }, + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + body: JSON.stringify({ identity: { external_id: alias_label } }) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_unsubscribe_email.js b/extensions/server_connect/modules/onesignal_unsubscribe_email.js new file mode 100644 index 0000000..dcd1132 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_unsubscribe_email.js @@ -0,0 +1,30 @@ +// JavaScript Document +exports.onesignal_unsubscribe_email = async function (options) { + // get appid parsed as options.appid, throw error is missing + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + // log before and after vlaues + console.log('App id: ' + options.appid + " => " + appid) + + var notification_id = this.parseRequired(options.notification_id, '*', 'Notification ID not specified') + console.log('notification_id: ' + options.notification_id + " => " + notification_id) + + var token = this.parseRequired(options.token, '*', 'Token not specified') + console.log('Token: ' + options.token + " => " + token) + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/notifications/${notification_id}/unsubscribe?token=${token}`; + const os_options = { method: 'POST', headers: { accept: 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, } }; + + return fetch(url, os_options) + .then(res => { + if (!res.ok) { + throw new Error(`HTTP error! status: ${res.status}`); + } + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_update_push_template.js b/extensions/server_connect/modules/onesignal_update_push_template.js new file mode 100644 index 0000000..33fb216 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_update_push_template.js @@ -0,0 +1,59 @@ + +// JavaScript Document +// limited functionality +exports.onesignal_push_template = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + + const tname = this.parseRequired(options.tname, '*', 'Template name is mandatory') + console.log(options.tname + " => " + tname) + + console.log('bindings: ' + JSON.stringify(options.bindings)) + console.log('headings: ' + JSON.stringify(options.headings)) + + const included_segments = this.parseOptional(options.included_segments, '*', null) + console.log(options.included_segments + " => " + included_segments) + + const push_type = this.parseOptional(options.push_type, '*', 'web') + console.log(options.push_type + " => " + push_type) + + const os_title_prompt = this.parseOptional(options.os_title_prompt, '*', null) + console.log(options.os_title_prompt + " => " + os_title_prompt) + + const fetch = require('node-fetch'); + + const url = 'https://api.onesignal.com/templates'; + const os_options = { + method: 'POST', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + 'Content-Type': 'application/json; charset=utf-8' + }, + body: JSON.stringify({ + "name": tname, + "app_id": appid, + "contents": options.bindings, + "target_channel": "push", + "included_segments": [included_segments], + "os_title_prompt": os_title_prompt, + "headings": headings, + + + }) + }; + + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_update_subscription.js b/extensions/server_connect/modules/onesignal_update_subscription.js new file mode 100644 index 0000000..5c53ce6 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_update_subscription.js @@ -0,0 +1,38 @@ +// JavaScript Document +// v1.0.0 +// retruned undocumented property "offset" (currently added to schema)" +exports.onesignal_update_subscription = async function (options) { + // get appid parsed as options.appid, throw error is missing + const appid = this.parseRequired(options.appid, '*', 'No app ID entered') + // log before and after vlaues + console.log('App id: ' + options.appid + " => " + appid) + + var subscription_id = this.parseRequired(options.subscription_id, '*', 'Subscription ID not specified') + console.log('Subscription_id: ' + options.subscription_id + " => " + subscription_id) + + var token = this.parseRequired(options.token, '*', 'Token not specified') + console.log('Token: ' + options.token + " => " + token) + const pushtype = this.parseRequired(options.pushtype, '*', 'No push type specified') + console.log('Type: ' + options.pushtype) + const enabled = this.parseOptional(options.enabled, '*', false) + console.log('Enabled: ' + options.enabled + " => " + enabled) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}`; + const os_options = { + method: 'PATCH', + headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, + body: JSON.stringify({ subscription: { type: pushtype, token: token, enabled: enabled } }) + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} diff --git a/extensions/server_connect/modules/onesignal_updateapp.js b/extensions/server_connect/modules/onesignal_updateapp.js new file mode 100644 index 0000000..a1daac2 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_updateapp.js @@ -0,0 +1,105 @@ +// JavaScript Document +// V1.0.0 +exports.onesignal_updateapp = async function (options) { + + + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const orgid = this.parseOptional(options.orgid, '*', null) + console.log(options.orgid + " => " + orgid) + + const chrome_web_default_notification_icon = this.parseOptional(options.chrome_web_default_notification_icon, '*', null) + console.log(options.chrome_web_default_notification_icon + " => " + chrome_web_default_notification_icon) + + const chrome_web_origin = this.parseOptional(options.chrome_web_origin, '*', process.env.ONESIGNAL_SITE_URL) + console.log(options.chrome_web_origin + " => " + chrome_web_origin) + + const appname = this.parseRequired(options.app_name, '*', 'You must specify an app name') + console.log(options.app_name + " => " + appname) + + const safari_site_origin = this.parseOptional(options.safari_site_origin, '*', null) + console.log(options.safari_site_origin + " => " + safari_site_origin) + + const safari_apns_p12 = this.parseOptional(options.safari_apns_p12, '*', null) + console.log(options.safari_apns_p12 + " => " + safari_apns_p12) + + const safari_apns_p12_password = this.parseOptional(options.safari_apns_p12_password, '*', null) + console.log(options.safari_apns_p12_password + " => " + safari_apns_p12_password) + + const safari_icon_256_256 = this.parseOptional(options.safari_icon_256_256, '*', '') + console.log(options.safari_icon_256_256 + " => " + safari_icon_256_256) + + const fcm_v1_service_account_json = this.parseOptional(options.fcm_v1_service_account_json, '*', null) + console.log(options.fcm_v1_service_account_json + " => " + fcm_v1_service_account_json) + + const apns_p12 = this.parseOptional(options.apns_p12, '*', null) + console.log(options.apns_p12 + " => " + apns_p12) + + const apns_p12_password = this.parseOptional(options.apns_p12_password, '*', null) + console.log(options.apns_p12_password + " => " + apns_p12_password) + + const apns_env = this.parseOptional(options.apns_env, '*', null) + console.log(options.apns_env + " => " + apns_env) + + const apns_key_id = this.parseOptional(options.apns_key_id, '*', null) + console.log(options.apns_key_id + " => " + apns_key_id) + + const apns_team_id = this.parseOptional(options.apns_team_id, '*', null) + console.log(options.apns_team_id + " => " + apns_team_id) + + const apns_bundle_id = this.parseOptional(options.apns_bundle_id, '*', null) + console.log(options.apns_bundle_id + " => " + apns_bundle_id) + + const apns_p8 = this.parseOptional(options.apns_p8, '*', null) + console.log(options.aapns_p8 + " => " + apns_p8) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}` + const os_options = { + method: 'PUT', + headers: { + accept: 'text/plain', + 'Content-Type': 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + }, + body: JSON.stringify({ + name: appname, + fcm_v1_service_account_json: fcm_v1_service_account_json, + chrome_web_origin: chrome_web_origin, + chrome_web_default_notification_icon: chrome_web_default_notification_icon, + site_name: safari_site_origin, + safari_site_origin: safari_site_origin, + safari_apns_p12: safari_apns_p12, + safari_apns_p12_password: safari_apns_p12_password, + safari_icon_256_256: safari_icon_256_256, + apns_p12: apns_p12, + apns_p12_password: apns_p12_password, + apns_env: apns_env, + apns_key_id: apns_key_id, + apns_team_id: apns_team_id, + apns_bundle_id: apns_bundle_id, + apns_p8: apns_p8, + additional_data_is_root_payload: false + }) + }; + console.log('Method: ' + os_options.method) + console.log('Headers: ' + os_options.headers) + console.log('Body: ' + os_options.body) + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + + + +} + + diff --git a/extensions/server_connect/modules/onesignal_view_segments.js b/extensions/server_connect/modules/onesignal_view_segments.js new file mode 100644 index 0000000..9a8fab6 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_view_segments.js @@ -0,0 +1,37 @@ +// JavaScript Document +// v1.0.0 +exports.onesignal_view_segments = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + let limit = this.parseOptional(options.limit, '*', '300') + console.log(options.limit + " => " + limit) + + let offset = this.parseOptional(options.offset, '*', '0') + console.log(options.offset + " => " + offset) + + let url = `https://api.onesignal.com/apps/${appid}/segments?offset=${offset}&limit=${limit}`; + + // &channel=${channel} + console.log(url) + const os_options = { + method: 'GET', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + 'Content-Type': 'application/json; charset=utf-8' + } + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_view_subscription_iams.js b/extensions/server_connect/modules/onesignal_view_subscription_iams.js new file mode 100644 index 0000000..01a277c --- /dev/null +++ b/extensions/server_connect/modules/onesignal_view_subscription_iams.js @@ -0,0 +1,24 @@ +// JavaScript Document +exports.onesignal_view_subscription_iams = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const subscription_id = this.parseRequired(options.subscription_id, '*', 'Subscription ID not specified') + console.log('Subscription_id: ' + options.subscription_id + " => " + subscription_id) + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}/iams`; + const os_options = { method: 'GET', headers: { accept: 'application/json' } }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} + diff --git a/extensions/server_connect/modules/onesignal_view_template.js b/extensions/server_connect/modules/onesignal_view_template.js new file mode 100644 index 0000000..2ff5cbc --- /dev/null +++ b/extensions/server_connect/modules/onesignal_view_template.js @@ -0,0 +1,37 @@ + +// JavaScript Document +exports.onesignal_view_template = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const template_id = this.parseRequired(options.template_id, '*', 'No Template ID specified') + console.log(options.template_id + " => " + template_id) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/templates/${template_id}?app_id=${appid}`; + const os_options = { + method: 'GET', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + 'Content-Type': 'application/json; charset=utf-8' + } + }; + + return fetch(url, os_options) + .then(res => { + if (!res.ok) { + throw new Error(`HTTP error! status: ${res.status}`); + } + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + + + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_view_templates.js b/extensions/server_connect/modules/onesignal_view_templates.js new file mode 100644 index 0000000..7f3b584 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_view_templates.js @@ -0,0 +1,48 @@ + +// JavaScript Document +exports.onesignal_view_templates = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + let limit = this.parseOptional(options.limit, '*', '50') + console.log(options.limit + " => " + limit) + + let offset = this.parseOptional(options.offset, '*', '0') + console.log(options.offset + " => " + offset) + + let channel = this.parseOptional(options.channel, '*', null) + console.log(options.channel + " => " + channel) + + + const fetch = require('node-fetch'); + if (channel == 'all' || channel == null) { + selected_channel = null + } + else { + selected_channel = `&channel=${channel}` + } + let url = `https://api.onesignal.com/templates?app_id=${appid}&limit=${limit}${selected_channel}`; + + // &channel=${channel} + console.log(url) + const os_options = { + method: 'GET', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + 'Content-Type': 'application/json; charset=utf-8' + } + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} \ No newline at end of file diff --git a/extensions/server_connect/modules/onesignal_view_user_identity.js b/extensions/server_connect/modules/onesignal_view_user_identity.js new file mode 100644 index 0000000..c902cd3 --- /dev/null +++ b/extensions/server_connect/modules/onesignal_view_user_identity.js @@ -0,0 +1,34 @@ + +// JavaScript Document +exports.onesignal_view_user_identity = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const alias_id = this.parseRequired(options.alias_id, '*', 'No Alias ID specified') + console.log(options.alias_id + " => " + alias_id) + + const alias_label = this.parseRequired(options.alias_label, '*', 'No Alias Label specified') + console.log(options.alias_label + " => " + alias_label) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/users/by/${alias_label}/${alias_id}/identity`; + const os_options = { + method: 'GET', + headers: { + accept: 'application/json', + Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`, + } + }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); +} diff --git a/extensions/server_connect/modules/onesignal_view_user_identity_by_sub.js b/extensions/server_connect/modules/onesignal_view_user_identity_by_sub.js new file mode 100644 index 0000000..ed1b10c --- /dev/null +++ b/extensions/server_connect/modules/onesignal_view_user_identity_by_sub.js @@ -0,0 +1,31 @@ + +// JavaScript Document +exports.onesignal_view_user_identity_by_sub = async function (options) { + // get appid + const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID) + console.log(options.appid + " => " + appid) + + const subscription_id = this.parseRequired(options.subscription_id, '*', 'No Subscription ID specified') + console.log(options.subscription_id + " => " + subscription_id) + + const fetch = require('node-fetch'); + + const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}/user/identity`; + const os_options = { method: 'GET', headers: { accept: 'application/json' } }; + + return fetch(url, os_options) + .then(res => { + + return res.json().then(json => { + json.status = res.status; // Add status to json response + return json; + }); + }) + .catch(err => console.error('Error:', err)); + +} + + + + + diff --git a/extensions/server_connect/modules/p1_onesignal_makeapp.hjson b/extensions/server_connect/modules/p1_onesignal_makeapp.hjson new file mode 100644 index 0000000..9379ef0 --- /dev/null +++ b/extensions/server_connect/modules/p1_onesignal_makeapp.hjson @@ -0,0 +1,290 @@ + { + type: 'onesignal_makeapp_onesignal_makeapp', + module : 'onesignal_makeapp', + action : 'onesignal_makeapp', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Create App', + icon : 'fas fa-solid fa-pen comp-images', + serverModel : ['node'], + +dataPickObject: true, + +dataScheme: [ +{"type": "text","name": "id"}, +{"type": "text","name": "name"}, +{"type": "text","name": "gcm_key"}, +{"type": "text","name": "fcm_v1_service_account_json"}, +{"type": "text","name": "fcm_sender_id"}, +{"type": "text","name": "chrome_key"}, +{"type": "text","name": "chrome_web_key"}, +{"type": "text","name": "chrome_web_origin"}, +{"type": "text","name": "chrome_web_gcm_sender_id"}, +{"type": "text","name": "chrome_web_default_notification_icon"}, +{"type": "text","name": "chrome_web_sub_domain"}, +{"type": "text","name": "apns_env"}, +{"type": "text","name": "apns_certificates"}, + {"type": "text","name": "apns_p8"}, +{"type": "text","name": "apns_team_id"}, +{"type": "text","name": "apns_key_id"}, +{"type": "text","name": "apns_bundle_id"}, +{"type": "text","name": "safari_apns_certificate"}, +{"type": "text","name": "safari_site_origin"}, +{"type": "text","name": "safari_push_id"}, +{"type": "text","name": "safari_icon_16_16"}, +{"type": "text","name": "safari_icon_32_32"}, +{"type": "text","name": "safari_icon_64_64"}, +{"type": "text","name": "safari_icon_128_128"}, +{"type": "text","name": "safari_icon_256_256"}, +{"type": "text","name": "site_name"}, +{"type": "text","name": "updated_at"}, +{"type": "text","name": "created_at"}, +{"type": "text","name": "players"}, +{"type": "text","name": "messageable_players"}, +{"type": "text","name": "basic_auth_key"}, +{"type": "boolean","name": "additional_data_is_root_payload"}, +{"type": "text","name": "organization_id"}, + {"name": "status","type": "number"} + ], + usedModules : { +node: { + +} + } + properties : [ +{ +group: 'Make App', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osm1" +}, + + + { name: 'orgid', +optionName: 'orgid', +title: 'Organization ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Enter the Organization id, if omitted a new organization will be created' +}, + +{ +name: 'app_name', +optionName: 'app_name', +title: 'New App Name', +type: 'text', +required: true, +serverDataBindings: true, +help: 'Enter an App name' +defaultValue: '' +}, + + { +name: 'chrome_web_default_notification_icon', +optionName: 'chrome_web_default_notification_icon', +title: 'ChromeWeb Default Notification Icon', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '' +}, + { +name: 'chrome_web_origin', +optionName: 'chrome_web_origin', +title: 'Default origin (defaults to ENV setting', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '' +}, + +{ name: 'safari_push', +optionName: 'safari_push', +title: 'Safari: Tick if using web push', +type: 'boolean', +required: false, +defaultValue: false, +show:['safari_site_origin'] + }, +{ name: 'safari_site_origin', +optionName: 'safari_site_origin', +title: 'URL', +type: 'text', +defaultValue: '' , +required: false, +serverDataBindings: true, +help:'Safari: Recommended if using web push. The URL to your website. Must use https:// and be the specific origin.', +initDisplay: 'none' +}, + { +name: 'safari_apns', +optionName: 'safari_apns', +title: 'Safari: Tick if using safari_apns', +type: 'boolean', +required: false, +defaultValue: false , +show:['safari_apns_p12','safari_apns_p12', 'safari_apns_p12_password','safari_icon_256_256'] + }, + +{ name: 'safari_apns_p12', +optionName: 'safari_apns_p12', +title: 'CONVERTED P12', +type: 'text', +required: false, +defaultValue: '' , +serverDataBindings: true, +help:'Safari: Your push notification p12 certificate file for Safari Push Notifications, converted to base64 encoded format. If not provided, then we will assign one.', +initDisplay: 'none' +}, +{ name: 'safari_apns_p12_password', +optionName: 'safari_apns_p12_password', +title: 'P12 PASSWORD', +required: false, +type: 'text', +defaultValue: '' , +serverDataBindings: true, +help:'Safari: Password for the safari_apns_p12 file. Omit if no password.', +initDisplay: 'none' +}, +{ name: 'safari_icon_256_256', +optionName: 'safari_icon_256_256', +title: ' ICON URL', +type: 'text', +defaultValue: '' , +required: false, +serverDataBindings: true, +help:'Safari: Your default notification icon as a 256x256px .png URL.', +initDisplay: 'none' +}, +{ name: 'android_Push', +optionName: 'android_Push', +title: 'Android: Tick if using Android push notifications', +type: 'boolean', +required: false, +defaultValue: false , +show:['fcm_v1_service_account_json'] +}, +{name: 'fcm_v1_service_account_json', +optionName: 'fcm_v1_service_account_json', +title: 'FCM Service Account JSON base64', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Android: Required if using Android push notifications.', +initDisplay: 'none' +}, + +{ name: 'apns', +optionName: 'apns', +title: 'iOS: Tick if using p12 APNS Authentication.', +type: 'boolean', +defaultValue: false , +required: false, +show:['apns_p12','apns_p12_password','apns_env','apns_p12','apns_key_id','apns_team_id','apns_bundle_id','apns_p8'] + }, + +{name: 'apns_p12', +optionName: 'apns_p12', +title: 'Converted P12', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Your apple push notification p12 certificate file, converted to Base64 encoded format.', +initDisplay: 'none' +}, + {name: 'apns_p12_password', +optionName: 'apns_p12_password', +title: 'P12_PASSWORD', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Your apple push notification p12 certificate file, converted to Base64 encoded format.', +initDisplay: 'none' +}, + {name: 'apns_env', +optionName: 'apns_env', +title: 'APS Environment Entitlement.', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Omit this field for Production environment (App Store & Test Flight builds). Or set either sandbox or production.', +initDisplay: 'none' +}, +{name: 'apns_key_id', +optionName: 'apns_key_id', +title: 'KEY_ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication.', +initDisplay: 'none' +}, +{name: 'apns_team_id', +optionName: 'apns_team_id', +title: 'TEAM_ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication.', +initDisplay: 'none' +}, +{name: 'apns_bundle_id', +optionName: 'apns_bundle_id', +title: 'BUNDLE_ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication.', +initDisplay: 'none' +}, +{name: 'apns_p8', +optionName: 'apns_p8', +title: 'ADD_BASE64_ENCODED_P8', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication. Must be base64 encoded format.', +initDisplay: 'none' +}, + + + +{ name: 'additional_data_is_root_payload', +optionName: 'additional_data_is_root_payload', +title: 'additional_data_is_root_payload', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/p2_onesignal_getapp.hjson b/extensions/server_connect/modules/p2_onesignal_getapp.hjson new file mode 100644 index 0000000..0429197 --- /dev/null +++ b/extensions/server_connect/modules/p2_onesignal_getapp.hjson @@ -0,0 +1,89 @@ +{ + type: 'onesignal_getapp_onesignal_getapp', + module : 'onesignal_getapp', + action : 'onesignal_getapp', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Get App Details', + icon : 'fas fa-solid fa-info comp-images', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ +{"type": "text","name": "id"}, +{"type": "text","name": "name"}, +{"type": "text","name": "gcm_key"}, +{"type": "text","name": "fcm_v1_service_account_json"}, +{"type": "text","name": "fcm_sender_id"}, +{"type": "text","name": "chrome_key"}, +{"type": "text","name": "chrome_web_key"}, +{"type": "text","name": "chrome_web_origin"}, +{"type": "text","name": "chrome_web_gcm_sender_id"}, +{"type": "text","name": "chrome_web_default_notification_icon"}, +{"type": "text","name": "chrome_web_sub_domain"}, +{"type": "text","name": "apns_env"}, +{"type": "text","name": "apns_certificates"}, +{"type": "text","name": "apns_p8"}, +{"type": "text","name": "apns_team_id"}, +{"type": "text","name": "apns_key_id"}, +{"type": "text","name": "apns_bundle_id"}, +{"type": "text","name": "safari_apns_certificate"}, +{"type": "text","name": "safari_site_origin"}, +{"type": "text","name": "safari_push_id"}, +{"type": "text","name": "safari_icon_16_16"}, +{"type": "text","name": "safari_icon_32_32"}, +{"type": "text","name": "safari_icon_64_64"}, +{"type": "text","name": "safari_icon_128_128"}, +{"type": "text","name": "safari_icon_256_256"}, +{"type": "text","name": "site_name"}, +{"type": "text","name": "updated_at"}, +{"type": "text","name": "created_at"}, +{"type": "text","name": "players"}, +{"type": "text","name": "messageable_players"}, +{"type": "text","name": "basic_auth_key"}, +{"type": "boolean","name": "additional_data_is_root_payload"}, +{"type": "text","name": "organization_id"}, +{"name": "status","type": "number"} + ], + usedModules : { +node: { + + }} + properties : [ +{ +group: 'App Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osg1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +}, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} diff --git a/extensions/server_connect/modules/p3_onesignal_getapps.hjson b/extensions/server_connect/modules/p3_onesignal_getapps.hjson new file mode 100644 index 0000000..945be95 --- /dev/null +++ b/extensions/server_connect/modules/p3_onesignal_getapps.hjson @@ -0,0 +1,84 @@ + + { + type: 'onesignal_getapps_onesignal_getapps', + module : 'onesignal_getapps', + action : 'onesignal_getapps', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Get All Apps', + icon : 'fas fa-solid fa-list-ol comp-images', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ +{"type": "text","name": "id"}, +{"type": "text","name": "name"}, +{"type": "text","name": "gcm_key"}, +{"type": "text","name": "fcm_v1_service_account_json"}, +{"type": "text","name": "fcm_sender_id"}, +{"type": "text","name": "chrome_key"}, +{"type": "text","name": "chrome_web_key"}, +{"type": "text","name": "chrome_web_origin"}, +{"type": "text","name": "chrome_web_gcm_sender_id"}, +{"type": "text","name": "chrome_web_default_notification_icon"}, +{"type": "text","name": "chrome_web_sub_domain"}, +{"type": "text","name": "apns_env"}, +{"type": "text","name": "apns_certificates"}, +{"type": "text","name": "apns_p8"}, +{"type": "text","name": "apns_team_id"}, +{"type": "text","name": "apns_key_id"}, +{"type": "text","name": "apns_bundle_id"}, +{"type": "text","name": "safari_apns_certificate"}, +{"type": "text","name": "safari_site_origin"}, +{"type": "text","name": "safari_push_id"}, +{"type": "text","name": "safari_icon_16_16"}, +{"type": "text","name": "safari_icon_32_32"}, +{"type": "text","name": "safari_icon_64_64"}, +{"type": "text","name": "safari_icon_128_128"}, +{"type": "text","name": "safari_icon_256_256"}, +{"type": "text","name": "site_name"}, +{"type": "text","name": "updated_at"}, +{"type": "text","name": "created_at"}, +{"type": "text","name": "players"}, +{"type": "text","name": "messageable_players"}, +{"type": "text","name": "basic_auth_key"}, +{"type": "boolean","name": "additional_data_is_root_payload"}, +{"type": "text","name": "organization_id"}, +{"name": "status","type": "number"} +], + usedModules : { +node: { + +} + } + properties : [ +{ +group: 'Get all Apps', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osga1" +}, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } + +]}]} diff --git a/extensions/server_connect/modules/p4_onesignal_updateapp.hjson b/extensions/server_connect/modules/p4_onesignal_updateapp.hjson new file mode 100644 index 0000000..7875232 --- /dev/null +++ b/extensions/server_connect/modules/p4_onesignal_updateapp.hjson @@ -0,0 +1,279 @@ + { + type: 'onesignal_updateapp_onesignal_updateapp', + module : 'onesignal_updateapp', + action : 'onesignal_updateapp', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Update App', + icon : 'fas fa-solid fa-pen comp-images', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ +{"type": "text","name": "id"}, +{"type": "text","name": "name"}, +{"type": "text","name": "gcm_key"}, +{"type": "text","name": "fcm_v1_service_account_json"}, +{"type": "text","name": "fcm_sender_id"}, +{"type": "text","name": "chrome_key"}, +{"type": "text","name": "chrome_web_key"}, +{"type": "text","name": "chrome_web_origin"}, +{"type": "text","name": "chrome_web_gcm_sender_id"}, +{"type": "text","name": "chrome_web_default_notification_icon"}, +{"type": "text","name": "chrome_web_sub_domain"}, +{"type": "text","name": "apns_env"}, +{"type": "text","name": "apns_certificates"}, + {"type": "text","name": "apns_p8"}, +{"type": "text","name": "apns_team_id"}, +{"type": "text","name": "apns_key_id"}, +{"type": "text","name": "apns_bundle_id"}, +{"type": "text","name": "safari_apns_certificate"}, +{"type": "text","name": "safari_site_origin"}, +{"type": "text","name": "safari_push_id"}, +{"type": "text","name": "safari_icon_16_16"}, +{"type": "text","name": "safari_icon_32_32"}, +{"type": "text","name": "safari_icon_64_64"}, +{"type": "text","name": "safari_icon_128_128"}, +{"type": "text","name": "safari_icon_256_256"}, +{"type": "text","name": "site_name"}, +{"type": "text","name": "updated_at"}, +{"type": "text","name": "created_at"}, +{"type": "text","name": "players"}, +{"type": "text","name": "messageable_players"}, +{"type": "text","name": "basic_auth_key"}, +{"type": "boolean","name": "additional_data_is_root_payload"}, +{"type": "text","name": "organization_id"}, +{"name": "status","type:":"number"} + ], + usedModules : { +node: { + +} + } + properties : [ +{ +group: 'Update App', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osm1" +}, + +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Enter the App id' +}, + +{ +name: 'app_name', +optionName: 'app_name', +title: 'New App Name', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '' +}, + + { +name: 'chrome_web_default_notification_icon', +optionName: 'chrome_web_default_notification_icon', +title: 'ChromeWeb Default Notification Icon', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '' +}, + { +name: 'chrome_web_origin', +optionName: 'chrome_web_origin', +title: 'Default origin (defaults to ENV setting', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '' +}, + +{ name: 'safari_push', +optionName: 'safari_push', +title: 'Safari: Tick if using web push', +type: 'boolean', +required: false, +defaultValue: false, +show:['safari_site_origin'] + }, +{ name: 'safari_site_origin', +optionName: 'safari_site_origin', +title: 'URL', +type: 'text', +defaultValue: '' , +required: false, +serverDataBindings: true, +help:'Safari: Recommended if using web push. The URL to your website. Must use https:// and be the specific origin.', +initDisplay: 'none' +}, + { +name: 'safari_apns', +optionName: 'safari_apns', +title: 'Safari: Tick if using safari_apns', +type: 'boolean', +required: false, +defaultValue: false , +show:['safari_apns_p12','safari_apns_p12', 'safari_apns_p12_password','safari_icon_256_256'] + }, + +{ name: 'safari_apns_p12', +optionName: 'safari_apns_p12', +title: 'CONVERTED P12', +type: 'text', +required: false, +defaultValue: '' , +serverDataBindings: true, +help:'Safari: Your push notification p12 certificate file for Safari Push Notifications, converted to base64 encoded format. If not provided, then we will assign one.', +initDisplay: 'none' +}, +{ name: 'safari_apns_p12_password', +optionName: 'safari_apns_p12_password', +title: 'P12 PASSWORD', +required: false, +type: 'text', +defaultValue: '' , +serverDataBindings: true, +help:'Safari: Password for the safari_apns_p12 file. Omit if no password.', +initDisplay: 'none' +}, +{ name: 'safari_icon_256_256', +optionName: 'safari_icon_256_256', +title: ' ICON URL', +type: 'text', +defaultValue: '' , +required: false, +serverDataBindings: true, +help:'Safari: Your default notification icon as a 256x256px .png URL.', +initDisplay: 'none' +}, +{ name: 'android_Push', +optionName: 'android_Push', +title: 'Android: Tick if using Android push notifications', +type: 'boolean', +required: false, +defaultValue: false , +show:['fcm_v1_service_account_json'] +}, +{name: 'fcm_v1_service_account_json', +optionName: 'fcm_v1_service_account_json', +title: 'FCM Service Account JSON base64', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Android: Required if using Android push notifications.', +initDisplay: 'none' +}, + +{ name: 'apns', +optionName: 'apns', +title: 'iOS: Tick if using p12 APNS Authentication.', +type: 'boolean', +defaultValue: false , +required: false, +show:['apns_p12','apns_p12_password','apns_env','apns_p12','apns_key_id','apns_team_id','apns_bundle_id','apns_p8'] + }, + +{name: 'apns_p12', +optionName: 'apns_p12', +title: 'Converted P12', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Your apple push notification p12 certificate file, converted to Base64 encoded format.', +initDisplay: 'none' +}, + {name: 'apns_p12_password', +optionName: 'apns_p12_password', +title: 'P12_PASSWORD', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Your apple push notification p12 certificate file, converted to Base64 encoded format.', +initDisplay: 'none' +}, + {name: 'apns_env', +optionName: 'apns_env', +title: 'APS Environment Entitlement.', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Omit this field for Production environment (App Store & Test Flight builds). Or set either sandbox or production.', +initDisplay: 'none' +}, +{name: 'apns_key_id', +optionName: 'apns_key_id', +title: 'KEY_ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication.', +initDisplay: 'none' +}, +{name: 'apns_team_id', +optionName: 'apns_team_id', +title: 'TEAM_ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication.', +initDisplay: 'none' +}, +{name: 'apns_bundle_id', +optionName: 'apns_bundle_id', +title: 'BUNDLE_ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication.', +initDisplay: 'none' +}, +{name: 'apns_p8', +optionName: 'apns_p8', +title: 'ADD_BASE64_ENCODED_P8', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'iOS: Required if using p8 APNS Authentication. Must be base64 encoded format.', +initDisplay: 'none' +}, + + +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: '. Link to API reference for this module here (opens new browser windows)', +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/s1_onesignal_create_subscription.hjson b/extensions/server_connect/modules/s1_onesignal_create_subscription.hjson new file mode 100644 index 0000000..e6c8a62 --- /dev/null +++ b/extensions/server_connect/modules/s1_onesignal_create_subscription.hjson @@ -0,0 +1,107 @@ +{ + type: 'onesignal_create_subscription_onesignal_create_subscription', + module : 'onesignal_create_subscription', + action : 'onesignal_create_subscription', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Create subscription', + icon : 'fas fa-solid fa-wrench comp-dialogs', + serverModel : ['node'], +dataPickObject: true, + dataScheme: [ {name: 'status',type: 'number'} + ], + properties : [ +{ +group: 'App Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "cs1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID' +}, +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Alias Label', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias Label' +}, +{ name: 'alias_id', +optionName: 'alias_id', +title: 'Alias ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias ID' +}, + +{ name: 'pushtype', +optionName: 'pushtype', +title: 'Push Type' +type: 'droplist', + values: [ +{title: 'IOSPush', value: 'IOSPush' }, +{title: 'AndroidPush', value: 'AndroidPush'}, +{title: 'FireOSPush', value: 'FireOSPush'}, +{title: 'ChromeExtensionPush', value: 'ChromeExtensionPush' }, +{title: 'ChromePush', value: 'ChromePush'}, +{title: 'WindowsPush', value: 'WindowsPush'}, +{title: 'SafariLegacyPush', value: 'SafariLegacyPush' }, +{title: 'FirefoxPush', value: 'FirefoxPush'}, +{title: 'macOSPush', value: 'macOSPush'}, +{title: 'HuaweiPush', value: 'HuaweiPush' }, +{title: 'Email', value: 'Email'}, +{title: 'SMS', value: 'SMS'} + ], + defaultValue: 'IOSPush', + InitValue: 'IOSPush', + help: 'Choose type of push.' +}, +{ name: 'token', +optionName: 'token', +title: 'Token', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Push Token, email or SMS Phone Number' +}, +{ name: 'enabled', +optionName: 'enabled', +title: 'Enable', +type: 'boolean', +defaultValue: false , +help: 'Enable this subscription' + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} diff --git a/extensions/server_connect/modules/s2_onesignal_update_subscription.hjson b/extensions/server_connect/modules/s2_onesignal_update_subscription.hjson new file mode 100644 index 0000000..afdadad --- /dev/null +++ b/extensions/server_connect/modules/s2_onesignal_update_subscription.hjson @@ -0,0 +1,85 @@ +{ + type: 'onesignal_update_subscription_onesignal_update_subscription', + module : 'onesignal_update_subscription', + action : 'onesignal_update_subscription', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Update subscription', + icon : 'fas fa-solid fa-random comp-dialogs', + serverModel : ['node'], +dataPickObject: true, + dataScheme: [ + {"name": "offset","type": "number"} + {"name": "status","type": "number"} + ], + usedModules : { +node: { + + }} + properties : [ +{ +group: 'App Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "uds1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID' +}, +{ name: 'subscription_id', +optionName: 'subscription_id', +title: 'Subscription ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Subscription ID' +}, +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Alias Label', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Target Alias Label' +}, +{ name: 'alias_id', +optionName: 'alias_id', +title: 'Alias ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Target Alias ID' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } + , + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} diff --git a/extensions/server_connect/modules/s3_onesignal_delete_subscription.hjson b/extensions/server_connect/modules/s3_onesignal_delete_subscription.hjson new file mode 100644 index 0000000..e55926f --- /dev/null +++ b/extensions/server_connect/modules/s3_onesignal_delete_subscription.hjson @@ -0,0 +1,54 @@ + +{ + type: 'onesignal_delete_subscription_onesignal_delete_subscription', + module : 'onesignal_delete_subscription', + action : 'onesignal_delete_subscription', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Delete Subscription*', + icon : 'fas fa-solid fa-backspace comp-dialogs', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {"name": "status","type": "number"} ], + + properties : [ +{ +group: 'Delete Subscription', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "ds1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, + { name: 'subscription_id', +optionName: 'subscription_id', +title: 'Subscription ID to delete', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Subscription ID to delete' + +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} + diff --git a/extensions/server_connect/modules/s4_onesignal_export_subscriptions.hjson b/extensions/server_connect/modules/s4_onesignal_export_subscriptions.hjson new file mode 100644 index 0000000..d8c6cb5 --- /dev/null +++ b/extensions/server_connect/modules/s4_onesignal_export_subscriptions.hjson @@ -0,0 +1,61 @@ +{ + type: 'onesignal_export_subscriptions_csv_onesignal_export_subscriptions_csv', + module : 'onesignal_export_subscriptions_csv', + action : 'onesignal_export_subscriptions_csv', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-general', + title : 'Onesignal Export Subscriptions (csv)', + icon : 'fas fa-solid fa-file-csv comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {"name": "status","type": "number"} ], + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, +{ name: 'extra_fields', +optionName: 'extra_fields', +title: 'extra_fields', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Extra Fields as comma separated list ( Currently supports location, country, rooted, notification_types, ip, external_user_id, web_auth, and web_p256.)' + +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/s5_onesignal_transfer_subscription.hjson b/extensions/server_connect/modules/s5_onesignal_transfer_subscription.hjson new file mode 100644 index 0000000..26ac201 --- /dev/null +++ b/extensions/server_connect/modules/s5_onesignal_transfer_subscription.hjson @@ -0,0 +1,75 @@ +{ + type: 'onesignal_transfer_subscription_onesignal_transfer_subscription', + module : 'onesignal_transfer_subscription', + action : 'onesignal_transfer_subscription', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Transfer subscription by Onesignal_id', + icon : 'fas fa-solid fa-exchange-alt comp-dialogs', + serverModel : ['node'], +dataPickObject: true, + dataScheme: [ {name: 'status',type: 'number'} + ], + usedModules : { +node: { + + }} + properties : [ +{ +group: 'App Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "ts1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID' +}, +{ name: 'subscription_id', +optionName: 'subscription_id', +title: 'From Subscription ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Subscription ID' +}, + +{ name: 'To alias_id', +optionName: 'alias_id', +title: 'Target Onesignal ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Target Onesignal ID' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } + , + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/s6_onesignal_transfer_subscription_alias.hjson b/extensions/server_connect/modules/s6_onesignal_transfer_subscription_alias.hjson new file mode 100644 index 0000000..f1bb1e6 --- /dev/null +++ b/extensions/server_connect/modules/s6_onesignal_transfer_subscription_alias.hjson @@ -0,0 +1,75 @@ +{ + type: 'onesignal_transfer_subscription_alias_onesignal_transfer_subscription_alias', + module : 'onesignal_transfer_subscription_alias', + action : 'onesignal_transfer_subscription_alias', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Transfer subscription by Alias', + icon : 'fas fa-solid fa-random comp-dialogs', + serverModel : ['node'], +dataPickObject: true, + dataScheme: [ {name: 'status',type: 'number'} + ], + usedModules : { +node: { + + }} + properties : [ +{ +group: 'App Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "ts1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID' +}, +{ name: 'subscription_id', +optionName: 'subscription_id', +title: 'From Subscription ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Subscription ID' +}, +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Target Alias Label', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Target Alias Label' +}, + + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } + , + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/s7_onesignal_unsubscribe_email.hjson b/extensions/server_connect/modules/s7_onesignal_unsubscribe_email.hjson new file mode 100644 index 0000000..471f5c6 --- /dev/null +++ b/extensions/server_connect/modules/s7_onesignal_unsubscribe_email.hjson @@ -0,0 +1,77 @@ +{ + type: 'onesignal_unsubscribe_email_onesignal_unsubscribe_email', + module : 'onesignal_unsubscribe_email', + action : 'onesignal_unsubscribe_email', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Unsubscribe Email (with token)', + icon : 'far fa-solid fa-envelope-open comp_general', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ + {name: 'status',type: 'number'} + ], + usedModules : { + + } + properties : [ +{ +group: 'Get Notification by ID', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osn1" +}, + +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'App ID, if left blank default from ENV will be used' +}, + +{ name: 'notification_id', +optionName: 'notification_id', +title: 'Notification ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Notification ID' + }, + { name: 'token', +optionName: 'token', +title: 'Token', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'The unsubscribe token that is generated via liquid syntax in {{subscription.unsubscribe_token}} when personalizing an email.' + }, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/s8_onesignal_view_subscription_iams.hjson b/extensions/server_connect/modules/s8_onesignal_view_subscription_iams.hjson new file mode 100644 index 0000000..93da0f1 --- /dev/null +++ b/extensions/server_connect/modules/s8_onesignal_view_subscription_iams.hjson @@ -0,0 +1,53 @@ + +{ + type: 'onesignal_view_subscription_iams_onesignal_view_subscription_iams', + module : 'onesignal_view_subscription_iams', + action : 'onesignal_view_subscription_iams', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal View Subscriptions IAMs', + icon : 'fas fa-solid fa-comment comp-dialogs', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {name: 'status',type: 'number'} ], + usedModules : {} + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "siam1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, + { name: 'subscription_id', +optionName: 'subscription_id', +title: 'Subscription ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Subscription ID' + +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/t1_onesignal_push_template.hjson b/extensions/server_connect/modules/t1_onesignal_push_template.hjson new file mode 100644 index 0000000..5b8040a --- /dev/null +++ b/extensions/server_connect/modules/t1_onesignal_push_template.hjson @@ -0,0 +1,347 @@ + +{ + type: 'onesignal_update_push_template_onesignal_update_push_template', + module : 'onesignal_update_push_template', + action : 'onesignal_update_push_template', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Update Push Template ', + icon : 'fab fa-solid fa-pushed comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + + {"type": "text","name": "id" }, + {"type": "text","name": "name" }, + {"type": "text","name": "created_at" }, + {"type": "text","name": "updated_at" }, + {"type": "text","name": "channel" }, + {"type": "object","name": "content", + "sub": [ + {"type": "boolean","name": "isAndroid" }, + {"type": "boolean","name": "isIos" }, + {"type": "boolean","name": "isMacOSX" }, + {"type": "boolean","name": "isAdm" }, + {"type": "text","name": "isAlexa" }, + {"type": "boolean","name": "isWP" }, + {"type": "boolean","name": "isWP_WNS" }, + {"type": "boolean","name": "isChrome" }, + {"type": "boolean","name": "isChromeWeb" }, + {"type": "boolean","name": "isSafari" }, + {"type": "boolean","name": "isFirefox" }, + {"type": "boolean","name": "isEdge" }, + {"type": "object","name": "headings", + "sub": [ + {"type": "text","name": "en"} +] + }, + {"type": "text","name": "subtitle" }, + {"type": "object","name": "contents", +"sub": [ + {"type": "text","name": "en"} +] + }, + {"type": "text","name": "global_image" }, + {"type": "text","name": "url" }, + {"type": "text","name": "isEmail" }, + {"type": "text","name": "email_body" }, + {"type": "text","name": "email_subject" }, + {"type": "text","name": "email_preheader" }, + {"type": "text","name": "isSMS" }, + {"type": "text","name": "sms_from" }, + {"type": "text","name": "sms_media_urls" }, + {"type": "text","name": "email_reply_to_address" }, + {"type": "text","name": "disable_email_click_tracking" } +] + } + {name: 'status',type: 'number'} +], + usedModules : {} + properties : [ +{ +group: 'Template Settings', +variables: [ + +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, +{ +name: 'tname', +optionName: 'tname', +title: 'Template Name', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Template Name' +}, +{ name: 'included_segments', +optionName: 'included_segments', +title: 'Included Segments', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Included Segmants Refererence' +}, +{ name: 'push_type', optionName: 'push_type', title: 'Push Type' type: 'text', + type: 'droplist', + values: [ +{title: 'web', value: 'web' }, +{title: 'email', value: 'email'}, +{title: 'sms', value: 'sms'}, + ], defaultValue: 'web', + help: 'Choose type of push.' +}, +{ +name: "headings", +optionName: "headings", +key: "var", +keyValue: "value", +title: "Languages and Headings", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Language", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Text", +size: "70%", +editable: { + type: "datapicker" +} +} +] + }, + { + name: 'os_title_prompt', +optionName: 'os_title_prompt', +title: 'Title ', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' Recommended about 60-80 characters limit' +}, +{ +name: "bindings", +optionName: "bindings", +key: "var", +keyValue: "value", +title: "Languages & Messages", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Language", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Text", +size: "70%", +editable: { + type: "datapicker" +} +} +] + }, + + { + name: 'os_msg_prompt', +optionName: 'os_msg_prompt', +title: 'Main Image', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' Recommended about 150 characters message limit unless email' +}, + { name: 'target_channel', +optionName: 'target_channel', +title: 'Target Channel', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Target Channel Refererence' +}, + { +name: 'big_picture', +optionName: 'big_picture', +title: 'Big Picture', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Big Picture Refererence' +}, +{ +name: 'large_icon', +optionName: 'large_icon', +title: 'Icon Image', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Large Icon Refererence' +}, + +{ +name: 'url', +optionName: 'url', +title: 'Target URL', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Refererence - URL Opened when Clicked' +}, +{ +name: 'web_url', +optionName: 'web_url', +title: 'Target URL (web push only)', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Refererence - URL Opened when Clicked' +}, +{ name: 'data', +optionName: 'data', + title: 'Data { }', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Data as JSON Refererence' +}, +{ name: 'custom_data', +optionName: 'custom_data', + title: 'Custom data { }', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Custom Data as JSON Refererence' +}, +{ name: 'external_id', +optionName: 'external_id', +title: 'External ID [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'External ID Refererence' +}, + +{ name: 'filters', +optionName: 'filters', +title: 'Filters [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Filters Refererence' +}, +{ name: 'include_aliases', +optionName: 'include_aliases', +title: 'Include Aliases', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Aliases Refererence' +}, + +{ name: 'include_subscription_ids', +optionName: 'include_subscription_ids', +title: 'Include Subscription IDs [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Subscription IDs Refererence' +}, +{ name: 'target_channel', +optionName: 'target_channel', +title: 'Target Channel', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Target Channel Refererence' +}, +{ name: 'send_after', +optionName: 'send_after', +title: 'Send After', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Send After Refererence' +}, + +{ name: 'delivery_time_of_day', +optionName: 'delivery_time_of_day', +title: 'Delivery time of day', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Delivery time of day Refererence' +}, +{ name: 'throttle_rate_per_minute', +optionName: 'throttle_rate_per_minute', +title: 'Throttle rate per minute', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Throttle rate per minute Refererence' +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/t1_onesignal_update_push_template.hjson b/extensions/server_connect/modules/t1_onesignal_update_push_template.hjson new file mode 100644 index 0000000..591f9da --- /dev/null +++ b/extensions/server_connect/modules/t1_onesignal_update_push_template.hjson @@ -0,0 +1,355 @@ + +{ + type: 'onesignal_push_template_onesignal_push_template', + module : 'onesignal_push_template', + action : 'onesignal_push_template', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Create Push Template ', + icon : 'fab fa-solid fa-pushed comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + + {"type": "text","name": "id" }, + {"type": "text","name": "name" }, + {"type": "text","name": "created_at" }, + {"type": "text","name": "updated_at" }, + {"type": "text","name": "channel" }, + {"type": "object","name": "content", + "sub": [ + {"type": "boolean","name": "isAndroid" }, + {"type": "boolean","name": "isIos" }, + {"type": "boolean","name": "isMacOSX" }, + {"type": "boolean","name": "isAdm" }, + {"type": "text","name": "isAlexa" }, + {"type": "boolean","name": "isWP" }, + {"type": "boolean","name": "isWP_WNS" }, + {"type": "boolean","name": "isChrome" }, + {"type": "boolean","name": "isChromeWeb" }, + {"type": "boolean","name": "isSafari" }, + {"type": "boolean","name": "isFirefox" }, + {"type": "boolean","name": "isEdge" }, + {"type": "object","name": "headings", + "sub": [ + {"type": "text","name": "en"} +] + }, + {"type": "text","name": "subtitle" }, + {"type": "object","name": "contents", +"sub": [ + {"type": "text","name": "en"} +] + }, + {"type": "text","name": "global_image" }, + {"type": "text","name": "url" }, + {"type": "text","name": "isEmail" }, + {"type": "text","name": "email_body" }, + {"type": "text","name": "email_subject" }, + {"type": "text","name": "email_preheader" }, + {"type": "text","name": "isSMS" }, + {"type": "text","name": "sms_from" }, + {"type": "text","name": "sms_media_urls" }, + {"type": "text","name": "email_reply_to_address" }, + {"type": "text","name": "disable_email_click_tracking" } +] + } + {name: 'status',type: 'number'} +], + usedModules : {} + properties : [ +{ +group: 'Template Settings', +variables: [ + +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, +{ +name: 'tname', +optionName: 'tname', +title: 'Template Name', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Template Name' +}, +{ name: 'included_segments', +optionName: 'included_segments', +title: 'Included Segments', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Included Segmants Refererence' +}, +{ name: 'push_type', optionName: 'push_type', title: 'Push Type' type: 'text', + type: 'droplist', + values: [ +{title: 'web', value: 'web' }, +{title: 'email', value: 'email'}, +{title: 'sms', value: 'sms'}, + ], defaultValue: 'web', + help: 'Choose type of push.' +}, +{ +name: "headings", +optionName: "headings", +key: "var", +keyValue: "value", +title: "Languages and Headings", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Language", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Text", +size: "70%", +editable: { + type: "datapicker" +} +} +] + }, + { + name: 'os_title_prompt', +optionName: 'os_title_prompt', +title: 'Title ', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' Recommended about 60-80 characters limit' +}, +{ +name: "bindings", +optionName: "bindings", +key: "var", +keyValue: "value", +title: "Languages & Messages", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Language", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Text", +size: "70%", +editable: { + type: "datapicker" +} +} +] + }, + + { + name: 'os_msg_prompt', +optionName: 'os_msg_prompt', +title: 'Main Image', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: ' Recommended about 150 characters message limit unless email' +}, + { name: 'target_channel', +optionName: 'target_channel', +title: 'Target Channel', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Target Channel Refererence' +}, + { +name: 'big_picture', +optionName: 'big_picture', +title: 'Big Picture', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Big Picture Refererence' +}, +{ +name: 'large_icon', +optionName: 'large_icon', +title: 'Icon Image', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Large Icon Refererence' +}, + +{ +name: 'url', +optionName: 'url', +title: 'Target URL', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Refererence - URL Opened when Clicked' +}, +{ +name: 'web_url', +optionName: 'web_url', +title: 'Target URL (web push only)', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Refererence - URL Opened when Clicked' +}, +{ name: 'data', +optionName: 'data', + title: 'Data { }', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Data as JSON Refererence' +}, +{ name: 'custom_data', +optionName: 'custom_data', + title: 'Custom data { }', +type: 'textarea', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Custom Data as JSON Refererence' +}, +{ name: 'external_id', +optionName: 'external_id', +title: 'External ID [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'External ID Refererence' +}, + +{ name: 'filters', +optionName: 'filters', +title: 'Filters [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Filters Refererence' +}, +{ name: 'include_aliases', +optionName: 'include_aliases', +title: 'Include Aliases', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Aliases Refererence' +}, + +{ name: 'include_subscription_ids', +optionName: 'include_subscription_ids', +title: 'Include Subscription IDs [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Subscription IDs Refererence' +}, +{ name: 'target_channel', +optionName: 'target_channel', +title: 'Target Channel', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Target Channel Refererence' +}, +{ name: 'send_after', +optionName: 'send_after', +title: 'Send After', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Send After Refererence' +}, +{ name: 'delayed_option', +optionName: 'delayed_option', +title: 'Delayed Option', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Delayed Option Refererence' +}, +{ name: 'delivery_time_of_day', +optionName: 'delivery_time_of_day', +title: 'Delivery time of day', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Delivery time of day Refererence' +}, +{ name: 'throttle_rate_per_minute', +optionName: 'throttle_rate_per_minute', +title: 'Throttle rate per minute', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Throttle rate per minute Refererence' +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/t2_onesignal_update_push_template.hjsonx b/extensions/server_connect/modules/t2_onesignal_update_push_template.hjsonx new file mode 100644 index 0000000..d8ec5bb --- /dev/null +++ b/extensions/server_connect/modules/t2_onesignal_update_push_template.hjsonx @@ -0,0 +1,194 @@ + +{ + type: 'onesignal_update_template_onesignal_update_template', + module : 'onesignal_update_template', + action : 'onesignal_update_template', + groupTitle : 'Onesignal Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal update Template ', + icon : 'fab fa-solid fa-pushed comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + + {"type": "text","name": "id" }, + {"type": "text","name": "name" }, + {"type": "text","name": "created_at" }, + {"type": "text","name": "updated_at" }, + {"type": "text","name": "channel" }, + {"type": "object","name": "content", + "sub": [ + {"type": "boolean","name": "isAndroid" }, + {"type": "boolean","name": "isIos" }, + {"type": "boolean","name": "isMacOSX" }, + {"type": "boolean","name": "isAdm" }, + {"type": "text","name": "isAlexa" }, + {"type": "boolean","name": "isWP" }, + {"type": "boolean","name": "isWP_WNS" }, + {"type": "boolean","name": "isChrome" }, + {"type": "boolean","name": "isChromeWeb" }, + {"type": "boolean","name": "isSafari" }, + {"type": "boolean","name": "isFirefox" }, + {"type": "boolean","name": "isEdge" }, + {"type": "object","name": "headings", + "sub": [ + {"type": "text","name": "en"} +] + }, + {"type": "text","name": "subtitle" }, + {"type": "object","name": "contents", +"sub": [ + {"type": "text","name": "en"} +] + }, + {"type": "text","name": "global_image" }, + {"type": "text","name": "url" }, + {"type": "text","name": "isEmail" }, + {"type": "text","name": "email_body" }, + {"type": "text","name": "email_subject" }, + {"type": "text","name": "email_preheader" }, + {"type": "text","name": "isSMS" }, + {"type": "text","name": "sms_from" }, + {"type": "text","name": "sms_media_urls" }, + {"type": "text","name": "email_reply_to_address" }, + {"type": "text","name": "disable_email_click_tracking" } +] + } + {name: 'status',type: 'number'} +], + usedModules : {} + properties : [ +{ +group: 'Template Settings', +variables: [ + +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, +{ +name: 'template_id', +optionName: 'template_id', +title: 'Template ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Template Name' +}, + + +{ name: 'external_id', +optionName: 'external_id', +title: 'External ID [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'External ID Refererence' +}, + +{ name: 'tname', +optionName: 'tname', +title: 'Template name', +type: 'text', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Template name Refererence' +}, +{ name: 'include_aliases', +optionName: 'include_aliases', +title: 'Include Aliases', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Aliases Refererence' +}, + +{ name: 'include_subscription_ids', +optionName: 'include_subscription_ids', +title: 'Include Subscription IDs [ ]', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Include Subscription IDs Refererence' +}, +{ name: 'target_channel', +optionName: 'target_channel', +title: 'Target Channel', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Target Channel Refererence' +}, +{ name: 'send_after', +optionName: 'send_after', +title: 'Send After', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Send After Refererence' +}, +{ name: 'delayed_option', +optionName: 'delayed_option', +title: 'Delayed Option', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'Delayed Option Refererence' +}, +{ name: 'delivery_time_of_day', +optionName: 'delivery_time_of_day', +title: 'Delivery time of day', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Delivery time of day Refererence' +}, +{ name: 'throttle_rate_per_minute', +optionName: 'throttle_rate_per_minute', +title: 'Throttle rate per minute', +serverDataBindings: true, +type: 'textarea', +required:false, +defaultValue: '', + help: 'Throttle rate per minute Refererence' +}, +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/t3_onesignal_view_templates.hjson b/extensions/server_connect/modules/t3_onesignal_view_templates.hjson new file mode 100644 index 0000000..1ff7338 --- /dev/null +++ b/extensions/server_connect/modules/t3_onesignal_view_templates.hjson @@ -0,0 +1,149 @@ +{ + type: 'onesignal_view_templates_onesignal_view_templates', + module : 'onesignal_view_templates', + action : 'onesignal_view_templates', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal View Templates List', + icon : 'far fa-solid fa-eye comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ +{"type": "number","name": "total_count"}, +{"type": "number","name": "offset"}, +{"type": "number","name": "limit"}, +{"type": "array","name": "notifications", +"sub": [ + {"type": "text","name": "app_id"}, + {"type": "text","name": "chrome_web_icon"}, + {"type": "text","name": "ios_interruption_level"}, + {"type": "number","name": "ios_relevance_score"}, + {"type": "text","name": "name"}, + {"type": "object","name": "contents", +"sub": [ + {"type": "text","name": "en" } +] + }, + {"type": "number","name": "converted"}, + {"type": "object","name": "data", +"sub": [ + {"type": "text","name": "your_data_key"} +] + }, + {"type": "number","name": "errored"}, + {"type": "array","name": "excluded_segments", +"sub": [ + {"type": "text","name": "$value"} +] + }, + {"type": "number","name": "failed"}, + {"type": "object","name": "headings", +"sub": [ + {"type": "text","name": "en" } +] + }, + {"type": "text","name": "id" }, + {"type": "array","name": "included_segments", +"sub": [ + {"type": "text","name": "$value" } +] + }, + {"type": "number","name": "queued_at"}, + {"type": "number","name": "send_after"}, + {"type": "number","name": "completed_at"}, + {"type": "number","name": "successful"}, + {"type": "number","name": "received"}, + {"type": "text","name": "template_id"}, + {"type": "number","name": "ttl"}, + {"type": "text","name": "url"}, + {"type": "text","name": "web_url"}, + { +"type": "text","name": "app_url"}, + {"type": "key_array","name": "platform_delivery_stats", +"sub": [ + {"type": "number","name": "successful"}, + {"type": "number","name": "failed"}, + {"type": "number","name": "errored"}, + {"type": "number","name": "converted"}, + {"type": "number","name": "received"} +] + }, + {"type": "object","name": "ios_attachments", +"sub": [ + {"type": "text","name": "id"} +]}]} + {name: 'status',type: 'number'} +], + usedModules : {} + properties : [ +{ +group: 'Settings', +variables: [ + +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "vt1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, +{ +name: 'limit', +optionName: 'limit', +title: 'Limit (max 50)', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '50', +help: 'Limit max and default 50' +}, +{ +name: 'offset', +optionName: 'offset', +title: 'Offset', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '0', +help: 'Offset' +}, +{ name: 'channel', optionName: 'channel', title: 'Channel' type: 'text', + type: 'droplist', + values: [ +{title: 'All', value: 'all' }, +{title: 'push', value: 'push' }, +{title: 'email', value: 'email'}, +{title: 'sms', value: 'sms'}, + ], defaultValue: 'all', + initValue: 'all', + help: 'Choose type of push.' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/t4_onesignal_view_template.hjson b/extensions/server_connect/modules/t4_onesignal_view_template.hjson new file mode 100644 index 0000000..41f4436 --- /dev/null +++ b/extensions/server_connect/modules/t4_onesignal_view_template.hjson @@ -0,0 +1,110 @@ + +{ + type: 'onesignal_view_template_onesignal_view_template', + module : 'onesignal_view_template', + action : 'onesignal_view_template', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-general', + title : 'Onesignal View Template', + icon : 'fas fa-solid fa-eye comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ + +{"type": "text","name": "id"}, +{"type": "text","name": "name"}, +{"type": "text","name": "created_at"}, +{"type": "text","name": "updated_at"}, +{"type": "text","name": "channel"}, +{"type": "object","name": "content", +"sub": [ + {"type": "boolean","name": "isAndroid" }, + {"type": "boolean","name": "isIos" }, + {"type": "boolean","name": "isMacOSX" }, + {"type": "boolean","name": "isAdm" }, + {"type": "text", "name": "isAlexa" }, + {"type": "boolean","name": "isWP" }, + {"type": "boolean","name": "isWP_WNS" }, + {"type": "boolean","name": "isChrome" }, + {"type": "boolean","name": "isChromeWeb" }, + {"type": "boolean","name": "isSafari" }, + {"type": "boolean","name": "isFirefox" }, + {"type": "boolean","name": "isEdge" }, + {"type": "object","name": "headings","sub": [ + {"type": "text","name": "en" } +] + }, + {"type": "text","name": "subtitle" }, + {"type": "object","name": "contents","sub": [ + {"type": "text","name": "en" } +] + }, + {"type": "text","name": "global_image" }, + {"type": "text","name": "url" }, + {"type": "text","name": "isEmail" }, + {"type": "text","name": "email_body" }, + {"type": "text","name": "email_subject" }, + {"type": "text","name": "email_preheader" }, + {"type": "text","name": "isSMS" }, + {"type": "text","name": "sms_from" }, + {"type": "text","name": "sms_media_urls" }, + {"type": "text","name": "email_reply_to_address" }, + {"type": "text","name": "disable_email_click_tracking" } +] +} + {name: 'status',type: 'number'} +], + usedModules : {} + properties : [ +{ +group: 'Settings', +variables: [ + +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "vtp1" +}, +{ +name: 'appid', +optionName: 'appid', +title: 'Application ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, + +{ +name: 'template_id', +optionName: 'template_id', +title: 'Template ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Template id' +}, + + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, +{ +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/t5_onesignal_delete_template.hjson b/extensions/server_connect/modules/t5_onesignal_delete_template.hjson new file mode 100644 index 0000000..b0954ee --- /dev/null +++ b/extensions/server_connect/modules/t5_onesignal_delete_template.hjson @@ -0,0 +1,53 @@ + +{ + type: 'onesignal_delete_template_onesignal_delete_template', + module : 'onesignal_delete_template', + action : 'onesignal_delete_template', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Delete template', + icon : 'far fa-solid fa-minus-square comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {name: 'status',type: 'number'} ], + usedModules : {} + properties : [ +{ +group: 'Delete Template', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "ds1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, + { name: 'template_id', +optionName: 'template_id', +title: 'Template ID to delete', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Template ID to delete' + +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} diff --git a/extensions/server_connect/modules/t7_onesignal_copy_template_to_app.hjson b/extensions/server_connect/modules/t7_onesignal_copy_template_to_app.hjson new file mode 100644 index 0000000..03480b5 --- /dev/null +++ b/extensions/server_connect/modules/t7_onesignal_copy_template_to_app.hjson @@ -0,0 +1,74 @@ + +{ + type: 'onesignal_copy_template_to_app_onesignal_copy_template_to_app', + module : 'onesignal_copy_template_to_app', + action : 'onesignal_copy_template_to_app', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Copy Template to another APP', + icon : 'fas fa-solid fa-copy comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [{"type": "boolean","name": "success"}, + {name: 'status',type: 'number'} ], + usedModules : {} + properties : [ +{ +group: 'Onesignal Properties', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "ds1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, + { name: 'template_id', +optionName: 'template_id', +title: 'Source Template ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Template ID to move' + +}, +{ name: 'target_appid', +optionName: 'target_appid', +title: 'Target App ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +help: 'Target App ID' + +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/u1_onesignal_createuser.hjson b/extensions/server_connect/modules/u1_onesignal_createuser.hjson new file mode 100644 index 0000000..4c710cf --- /dev/null +++ b/extensions/server_connect/modules/u1_onesignal_createuser.hjson @@ -0,0 +1,137 @@ + +{ + type: 'onesignal_createuser_onesignal_createuser', + module : 'onesignal_createuser', + action : 'onesignal_createuser', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Create User*', + icon : 'fas fa-solid fa-user-plus comp-flows', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ + {name: 'apps', type: 'array', sub: [ + { name: 'id', type: 'text' }, + { name: 'name', type: 'text' }, + {name: 'status',type: 'number'} + ] +} +], + usedModules : { +node: { +} + } + properties : [ +{ +group: 'Create User', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "ospl1" +}, + +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +}, + + +{ name: 'identity', +optionName: 'identity', +title: 'External Identity', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +}, +{ name: 'pushtype', +optionName: 'pushtype', +title: 'Push Type' +type: 'droplist', + values: [ +{title: 'IOSPush', value: 'IOSPush' }, +{title: 'AndroidPush', value: 'AndroidPush'}, +{title: 'FireOSPush', value: 'FireOSPush'}, +{title: 'ChromeExtensionPush', value: 'ChromeExtensionPush' }, +{title: 'ChromePush', value: 'ChromePush'}, +{title: 'WindowsPush', value: 'WindowsPush'}, +{title: 'SafariLegacyPush', value: 'SafariLegacyPush' }, +{title: 'FirefoxPush', value: 'FirefoxPush'}, +{title: 'macOSPush', value: 'macOSPush'}, +{title: 'HuaweiPush', value: 'HuaweiPush' }, +{title: 'Email', value: 'Email'}, +{title: 'SMS', value: 'SMS'} + ], + defaultValue: 'IOSPush', + InitValue: 'IOSPush', + help: 'Choose type of push.' +}, + +{ name: 'token', +optionName: 'token', +title: 'Token', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +}, +{ name: 'identity', +optionName: 'Identity', +title: 'Identities (key:value)', +type: 'textarea', +serverDataBindings: true, +required:false, +defaultValue: '', + help: 'External ID Refererence' +}, + { +name: "tags", +optionName: "tags", +key: "var", +keyValue: "value", +title: "User Tags", +type: "grid", +defaultValue: {}, +serverDataBindings: true, +columns: [ +{ +field: "var", +caption: "Key", +size: "30%", +editable: { + type: "static" +} +}, +{ +field: "value", +caption: "Value", +size: "70%", +editable: { + type: "datapicker" +} +} +] + }, + { name: 'enabled', +optionName: 'enabled', +title: 'Enable', +type: 'boolean', +defaultValue: false + } +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/u2_onesignal_getuser.hjson b/extensions/server_connect/modules/u2_onesignal_getuser.hjson new file mode 100644 index 0000000..995abb6 --- /dev/null +++ b/extensions/server_connect/modules/u2_onesignal_getuser.hjson @@ -0,0 +1,132 @@ + +{ + type: 'onesignal_getuser_onesignal_getuser', + module : 'onesignal_getuser', + action : 'onesignal_getuser', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Get User*', + icon : 'fas fa-solid fa-user comp-flows', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ +{name: 'properties', type: 'object', sub: [ +{ name: 'language', type: 'text' }, +{ name: 'timezone_id', type: 'text' }, +{ name: 'first_active', type: 'text' }, +{ name: 'last_active', type: 'text' } ]}, + +{name: 'identity', type: 'object', sub: [ +{name: 'onesignal_id', type: 'text' }, + ]}, +{name: 'subscriptions', type: 'array', sub: [ +{ name: 'id', type: 'text' }, +{ name: 'app_id', type: 'text' }, +{ name: 'type', type: 'text' }, +{ name: 'token', type: 'text' }, +{ name: 'enabled', type: 'text' }, +{ name: 'notification_types', type: 'text' }, +{ name: 'session_time', type: 'text' }, +{ name: 'session_count', type: 'text' }, +{ name: 'sdk', type: 'text' }, +{ name: 'device_model', type: 'text' }, +{ name: 'device_os', type: 'text' }, +{ name: 'rooted', type: 'text' }, +{ name: 'test_type', type: 'text' }, +{ name: 'app_version', type: 'text' }, +{ name: 'net_type', type: 'text' }, +{ name: 'carrier', type: 'text' }, +{ name: 'web_auth', type: 'text' }, +{ name: 'web_p256', type: 'text' } + ]}, + {name: 'status',type: 'number'} +] +, + + properties : [ +{ +group: 'Get User', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osgu1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +}, + { name: 'prompt_text', +optionName: 'prompt_text', +title: 'prompt_text', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: '(onesignal_id can be used as a special alias_label, using the string "onesignal_id" as the alias_label and the UUID as the alias_id.)' + + }, + +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Alias Label', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' + + }, + { name: 'alias_label_prompt', +optionName: 'alias_label_prompt', +title: 'Alias Label', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: '(enter "onesignal_id" if using onesignal_id instead of alias)' + }, + { name: 'alias_id', +optionName: 'alias_id', +title: 'Alias ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' + + }, + + + { name: 'alias_id_prompt', +optionName: 'alias_id_prompt', +title: 'Alias ID prompt', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: '(enter your onesignal_id UUID here if not using alias)' + }, +{ name: 'os_id', +optionName: 'os_id', +title: 'Onesignal ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '', +initDisplay: 'none' + }, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } ] } ] } diff --git a/extensions/server_connect/modules/u3_onesignal_delete_user_alias.hjson b/extensions/server_connect/modules/u3_onesignal_delete_user_alias.hjson new file mode 100644 index 0000000..c161b08 --- /dev/null +++ b/extensions/server_connect/modules/u3_onesignal_delete_user_alias.hjson @@ -0,0 +1,79 @@ +{ + type: 'onesignal_delete_user_alias_onesignal_delete_user_alias', + module : 'onesignal_delete_user_alias', + action : 'onesignal_delete_user_alias', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-general', + title : 'Onesignal Delete User Alias', + icon : 'fas fa-solid fa-user-ninja comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {name: 'status',type: 'number'} ], + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "dua1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Alias Label', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias Label' +}, + +{ name: 'alias_id', +optionName: 'alias_id', +title: 'Alias ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias ID' +}, +{ name: 'alias_label_to_delete', +optionName: 'alias_label_to_delete', +title: 'Alias Label to delete', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias Label to delete' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/u4_onesignal_deleteuser.hjson b/extensions/server_connect/modules/u4_onesignal_deleteuser.hjson new file mode 100644 index 0000000..35e1350 --- /dev/null +++ b/extensions/server_connect/modules/u4_onesignal_deleteuser.hjson @@ -0,0 +1,82 @@ + +{ + type: 'onesignal_deleteuser_onesignal_deleteuser', + module : 'onesignal_deleteuser', + action : 'onesignal_deleteuser', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp_general', + title : 'Onesignal Delete User', + icon : 'fas fa-solid fa-user-minus comp-flows', + serverModel : ['node'], + +dataPickObject: true, + + dataScheme: [ + {name: 'status',type: 'number'} + ] +, + + properties : [ +{ +group: 'Delete User', +variables: [ +{ name: 'actionName', +optionName: 'name', +title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osgu1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App Id', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +}, + +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Alias Label', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' + + }, + { name: 'alias_label_prompt', +optionName: 'alias_label_prompt', +title: 'Alias Label', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: '(enter "onesignal_id" if using onesignal_id instead of alias)' + }, + { name: 'alias_id', +optionName: 'alias_id', +title: 'Alias ID', +type: 'text', +required: false, +serverDataBindings: true, +defaultValue: '' + + }, + { name: 'alias_id_prompt', +optionName: 'alias_id_prompt', +title: 'Alias ID prompt', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: '(enter your onesignal_id UUID here if not using alias)' + }, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } ] } ] } diff --git a/extensions/server_connect/modules/u5_onesignal_view_user_identity.hjson b/extensions/server_connect/modules/u5_onesignal_view_user_identity.hjson new file mode 100644 index 0000000..da157dc --- /dev/null +++ b/extensions/server_connect/modules/u5_onesignal_view_user_identity.hjson @@ -0,0 +1,70 @@ +{ + type: 'onesignal_view_user_identity_onesignal_view_user_identity', + module : 'onesignal_view_user_identity', + action : 'onesignal_view_user_identity', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-general', + title : 'Onesignal view_user_identity', + icon : 'fas fa-solid fa-user-secret comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {name: 'status',type: 'number'} ], + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "vui1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Alias Label', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias Label' +}, + +{ name: 'alias_id', +optionName: 'alias_id', +title: 'Alias ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias ID' +}, + + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)' +} +]}]} diff --git a/extensions/server_connect/modules/u6_onesignal_view_user_identity_by_sub.hjson b/extensions/server_connect/modules/u6_onesignal_view_user_identity_by_sub.hjson new file mode 100644 index 0000000..23d617d --- /dev/null +++ b/extensions/server_connect/modules/u6_onesignal_view_user_identity_by_sub.hjson @@ -0,0 +1,51 @@ +{ + type: 'onesignal_view_user_identity_by_sub_onesignal_view_user_identity_by_sub', + module : 'onesignal_view_user_identity_by_sub', + action : 'onesignal_view_user_identity_by_sub', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-flows', + title : 'Onesignal View User Identity by Subscription', + icon : 'fas fa-solid fa-user-tag comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {name: 'status',type: 'number'} ], + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "vi1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' + +}, +{ name: 'subscription_id', +optionName: 'subscription_id', +title: 'Subscription ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Subscription ID' + +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + } +]}]} \ No newline at end of file diff --git a/extensions/server_connect/modules/u7_create_alias_by_subscription.hjson b/extensions/server_connect/modules/u7_create_alias_by_subscription.hjson new file mode 100644 index 0000000..139295c --- /dev/null +++ b/extensions/server_connect/modules/u7_create_alias_by_subscription.hjson @@ -0,0 +1,79 @@ + +{ + type: 'onesignal_create_alias_by_subscription_onesignal_create_alias_by_subscription', + module : 'onesignal_create_alias_by_subscription', + action : 'onesignal_create_alias_by_subscription', + groupTitle : 'Notification Modules', + groupIcon : 'fas fa-solid fa-satellite-dish comp-general', + title : 'Onesignal create alias by subscription', + icon : 'fas fa-solid fa-id-card comp-flows', + serverModel : ['node'], +dataPickObject: true, +dataScheme: [ {name: 'status',type: 'number'} ], + properties : [ +{ +group: 'Onesignal Settings', +variables: [ +{ name: 'actionName', +optionName: 'name', + title: 'Name', +type: 'text', +required: true, +defaultValue: '', +baseName: "osc1" +}, +{ name: 'appid', +optionName: 'appid', +title: 'App ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'You App ID' +}, + +{ name: 'subscription_id', +optionName: 'subscription_id', +title: 'Subscription ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Subscription ID' +}, +{ name: 'alias_label', +optionName: 'alias_label', +title: 'Alias Label', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias Label' +}, +{ name: 'alias_id', +optionName: 'alias_id', +title: 'Alias ID', +type: 'text', +required: true, +serverDataBindings: true, +defaultValue: '', +help: 'Alias ID' +}, + +{ name: 'output', +optionName: 'output', +title: 'Output', +type: 'boolean', +defaultValue: false + }, + { +name: 'fcmlink', +optionName: 'fcmlink', +title: 'New App Name', +type: 'static', +required: false, +serverDataBindings: true, +defaultValue: '', + help: 'Link to API reference for this module here (opens new browser windows)', +} +]}]} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..37107d1 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6612 @@ +{ + "name": "ertfast_tiller", + "version": "2.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ertfast_tiller", + "version": "2.0.0", + "license": "ISC", + "dependencies": { + "@aws-sdk/client-s3": "^3.41.0", + "@aws-sdk/s3-request-presigner": "^3.41.0", + "@hyperbytes/wappler-onesignal": "^1.0.3", + "archiver": "^7.0.1", + "compression": "^1.7.4", + "connect-session-knex": "^4.0.0", + "cookie-parser": "^1.4.6", + "cors": "^2.8.5", + "debug": "^4.3.2", + "dotenv": "^16.0.3", + "ejs": "^3.1.6", + "express": "^4.17.1", + "express-end": "0.0.8", + "express-fileupload": "^1.2.1", + "express-session": "^1.17.2", + "follow-redirects": "^1.14.5", + "fs-extra": "^11.2.0", + "http-proxy": "^1.18.1", + "knex": "^3.0.1", + "mime-types": "^2.1.34", + "node-schedule": "^2.0.0", + "nodemon": "^3.0.1", + "pdf-lib": "^1.17.1", + "qs": "^6.10.1", + "session-file-store": "^1.5.0", + "socket.io": "^4.7.5", + "sqlite3": "^5.1.6", + "unzipper": "^0.12.1", + "uuid": "^10.0.0" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.703.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.703.0.tgz", + "integrity": "sha512-4TSrIamzASTeRPKXrTLcEwo+viPTuOSGcbXh4HC1R0m/rXwK0BHJ4btJ0Q34nZNF+WzvM+FiemXVjNc8qTAxog==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.699.0", + "@aws-sdk/client-sts": "3.699.0", + "@aws-sdk/core": "3.696.0", + "@aws-sdk/credential-provider-node": "3.699.0", + "@aws-sdk/middleware-bucket-endpoint": "3.696.0", + "@aws-sdk/middleware-expect-continue": "3.696.0", + "@aws-sdk/middleware-flexible-checksums": "3.701.0", + "@aws-sdk/middleware-host-header": "3.696.0", + "@aws-sdk/middleware-location-constraint": "3.696.0", + "@aws-sdk/middleware-logger": "3.696.0", + "@aws-sdk/middleware-recursion-detection": "3.696.0", + "@aws-sdk/middleware-sdk-s3": "3.696.0", + "@aws-sdk/middleware-ssec": "3.696.0", + "@aws-sdk/middleware-user-agent": "3.696.0", + "@aws-sdk/region-config-resolver": "3.696.0", + "@aws-sdk/signature-v4-multi-region": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-endpoints": "3.696.0", + "@aws-sdk/util-user-agent-browser": "3.696.0", + "@aws-sdk/util-user-agent-node": "3.696.0", + "@aws-sdk/xml-builder": "3.696.0", + "@smithy/config-resolver": "^3.0.12", + "@smithy/core": "^2.5.3", + "@smithy/eventstream-serde-browser": "^3.0.13", + "@smithy/eventstream-serde-config-resolver": "^3.0.10", + "@smithy/eventstream-serde-node": "^3.0.12", + "@smithy/fetch-http-handler": "^4.1.1", + "@smithy/hash-blob-browser": "^3.1.9", + "@smithy/hash-node": "^3.0.10", + "@smithy/hash-stream-node": "^3.1.9", + "@smithy/invalid-dependency": "^3.0.10", + "@smithy/md5-js": "^3.0.10", + "@smithy/middleware-content-length": "^3.0.12", + "@smithy/middleware-endpoint": "^3.2.3", + "@smithy/middleware-retry": "^3.0.27", + "@smithy/middleware-serde": "^3.0.10", + "@smithy/middleware-stack": "^3.0.10", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/node-http-handler": "^3.3.1", + "@smithy/protocol-http": "^4.1.7", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "@smithy/url-parser": "^3.0.10", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.27", + "@smithy/util-defaults-mode-node": "^3.0.27", + "@smithy/util-endpoints": "^2.1.6", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-retry": "^3.0.10", + "@smithy/util-stream": "^3.3.1", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.9", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.696.0.tgz", + "integrity": "sha512-q5TTkd08JS0DOkHfUL853tuArf7NrPeqoS5UOvqJho8ibV9Ak/a/HO4kNvy9Nj3cib/toHYHsQIEtecUPSUUrQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.696.0", + "@aws-sdk/middleware-host-header": "3.696.0", + "@aws-sdk/middleware-logger": "3.696.0", + "@aws-sdk/middleware-recursion-detection": "3.696.0", + "@aws-sdk/middleware-user-agent": "3.696.0", + "@aws-sdk/region-config-resolver": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-endpoints": "3.696.0", + "@aws-sdk/util-user-agent-browser": "3.696.0", + "@aws-sdk/util-user-agent-node": "3.696.0", + "@smithy/config-resolver": "^3.0.12", + "@smithy/core": "^2.5.3", + "@smithy/fetch-http-handler": "^4.1.1", + "@smithy/hash-node": "^3.0.10", + "@smithy/invalid-dependency": "^3.0.10", + "@smithy/middleware-content-length": "^3.0.12", + "@smithy/middleware-endpoint": "^3.2.3", + "@smithy/middleware-retry": "^3.0.27", + "@smithy/middleware-serde": "^3.0.10", + "@smithy/middleware-stack": "^3.0.10", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/node-http-handler": "^3.3.1", + "@smithy/protocol-http": "^4.1.7", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "@smithy/url-parser": "^3.0.10", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.27", + "@smithy/util-defaults-mode-node": "^3.0.27", + "@smithy/util-endpoints": "^2.1.6", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-retry": "^3.0.10", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.699.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.699.0.tgz", + "integrity": "sha512-u8a1GorY5D1l+4FQAf4XBUC1T10/t7neuwT21r0ymrtMFSK2a9QqVHKMoLkvavAwyhJnARSBM9/UQC797PFOFw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.696.0", + "@aws-sdk/credential-provider-node": "3.699.0", + "@aws-sdk/middleware-host-header": "3.696.0", + "@aws-sdk/middleware-logger": "3.696.0", + "@aws-sdk/middleware-recursion-detection": "3.696.0", + "@aws-sdk/middleware-user-agent": "3.696.0", + "@aws-sdk/region-config-resolver": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-endpoints": "3.696.0", + "@aws-sdk/util-user-agent-browser": "3.696.0", + "@aws-sdk/util-user-agent-node": "3.696.0", + "@smithy/config-resolver": "^3.0.12", + "@smithy/core": "^2.5.3", + "@smithy/fetch-http-handler": "^4.1.1", + "@smithy/hash-node": "^3.0.10", + "@smithy/invalid-dependency": "^3.0.10", + "@smithy/middleware-content-length": "^3.0.12", + "@smithy/middleware-endpoint": "^3.2.3", + "@smithy/middleware-retry": "^3.0.27", + "@smithy/middleware-serde": "^3.0.10", + "@smithy/middleware-stack": "^3.0.10", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/node-http-handler": "^3.3.1", + "@smithy/protocol-http": "^4.1.7", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "@smithy/url-parser": "^3.0.10", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.27", + "@smithy/util-defaults-mode-node": "^3.0.27", + "@smithy/util-endpoints": "^2.1.6", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-retry": "^3.0.10", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.699.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.699.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.699.0.tgz", + "integrity": "sha512-++lsn4x2YXsZPIzFVwv3fSUVM55ZT0WRFmPeNilYIhZClxHLmVAWKH4I55cY9ry60/aTKYjzOXkWwyBKGsGvQg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.699.0", + "@aws-sdk/core": "3.696.0", + "@aws-sdk/credential-provider-node": "3.699.0", + "@aws-sdk/middleware-host-header": "3.696.0", + "@aws-sdk/middleware-logger": "3.696.0", + "@aws-sdk/middleware-recursion-detection": "3.696.0", + "@aws-sdk/middleware-user-agent": "3.696.0", + "@aws-sdk/region-config-resolver": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-endpoints": "3.696.0", + "@aws-sdk/util-user-agent-browser": "3.696.0", + "@aws-sdk/util-user-agent-node": "3.696.0", + "@smithy/config-resolver": "^3.0.12", + "@smithy/core": "^2.5.3", + "@smithy/fetch-http-handler": "^4.1.1", + "@smithy/hash-node": "^3.0.10", + "@smithy/invalid-dependency": "^3.0.10", + "@smithy/middleware-content-length": "^3.0.12", + "@smithy/middleware-endpoint": "^3.2.3", + "@smithy/middleware-retry": "^3.0.27", + "@smithy/middleware-serde": "^3.0.10", + "@smithy/middleware-stack": "^3.0.10", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/node-http-handler": "^3.3.1", + "@smithy/protocol-http": "^4.1.7", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "@smithy/url-parser": "^3.0.10", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.27", + "@smithy/util-defaults-mode-node": "^3.0.27", + "@smithy/util-endpoints": "^2.1.6", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-retry": "^3.0.10", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.696.0.tgz", + "integrity": "sha512-3c9III1k03DgvRZWg8vhVmfIXPG6hAciN9MzQTzqGngzWAELZF/WONRTRQuDFixVtarQatmLHYVw/atGeA2Byw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/core": "^2.5.3", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/property-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.7", + "@smithy/signature-v4": "^4.2.2", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "@smithy/util-middleware": "^3.0.10", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.696.0.tgz", + "integrity": "sha512-T9iMFnJL7YTlESLpVFT3fg1Lkb1lD+oiaIC8KMpepb01gDUBIpj9+Y+pA/cgRWW0yRxmkDXNazAE2qQTVFGJzA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/property-provider": "^3.1.9", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.696.0.tgz", + "integrity": "sha512-GV6EbvPi2eq1+WgY/o2RFA3P7HGmnkIzCNmhwtALFlqMroLYWKE7PSeHw66Uh1dFQeVESn0/+hiUNhu1mB0emA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/fetch-http-handler": "^4.1.1", + "@smithy/node-http-handler": "^3.3.1", + "@smithy/property-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.7", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "@smithy/util-stream": "^3.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.699.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.699.0.tgz", + "integrity": "sha512-dXmCqjJnKmG37Q+nLjPVu22mNkrGHY8hYoOt3Jo9R2zr5MYV7s/NHsCHr+7E+BZ+tfZYLRPeB1wkpTeHiEcdRw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.696.0", + "@aws-sdk/credential-provider-env": "3.696.0", + "@aws-sdk/credential-provider-http": "3.696.0", + "@aws-sdk/credential-provider-process": "3.696.0", + "@aws-sdk/credential-provider-sso": "3.699.0", + "@aws-sdk/credential-provider-web-identity": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/credential-provider-imds": "^3.2.6", + "@smithy/property-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.699.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.699.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.699.0.tgz", + "integrity": "sha512-MmEmNDo1bBtTgRmdNfdQksXu4uXe66s0p1hi1YPrn1h59Q605eq/xiWbGL6/3KdkViH6eGUuABeV2ODld86ylg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.696.0", + "@aws-sdk/credential-provider-http": "3.696.0", + "@aws-sdk/credential-provider-ini": "3.699.0", + "@aws-sdk/credential-provider-process": "3.696.0", + "@aws-sdk/credential-provider-sso": "3.699.0", + "@aws-sdk/credential-provider-web-identity": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/credential-provider-imds": "^3.2.6", + "@smithy/property-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.696.0.tgz", + "integrity": "sha512-mL1RcFDe9sfmyU5K1nuFkO8UiJXXxLX4JO1gVaDIOvPqwStpUAwi3A1BoeZhWZZNQsiKI810RnYGo0E0WB/hUA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/property-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.699.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.699.0.tgz", + "integrity": "sha512-Ekp2cZG4pl9D8+uKWm4qO1xcm8/MeiI8f+dnlZm8aQzizeC+aXYy9GyoclSf6daK8KfRPiRfM7ZHBBL5dAfdMA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.696.0", + "@aws-sdk/core": "3.696.0", + "@aws-sdk/token-providers": "3.699.0", + "@aws-sdk/types": "3.696.0", + "@smithy/property-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.696.0.tgz", + "integrity": "sha512-XJ/CVlWChM0VCoc259vWguFUjJDn/QwDqHwbx+K9cg3v6yrqXfK5ai+p/6lx0nQpnk4JzPVeYYxWRpaTsGC9rg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/property-provider": "^3.1.9", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.696.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.696.0.tgz", + "integrity": "sha512-V07jishKHUS5heRNGFpCWCSTjRJyQLynS/ncUeE8ZYtG66StOOQWftTwDfFOSoXlIqrXgb4oT9atryzXq7Z4LQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-arn-parser": "3.693.0", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "@smithy/util-config-provider": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.696.0.tgz", + "integrity": "sha512-vpVukqY3U2pb+ULeX0shs6L0aadNep6kKzjme/MyulPjtUDJpD3AekHsXRrCCGLmOqSKqRgQn5zhV9pQhHsb6Q==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.701.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.701.0.tgz", + "integrity": "sha512-adNaPCyTT+CiVM0ufDiO1Fe7nlRmJdI9Hcgj0M9S6zR7Dw70Ra5z8Lslkd7syAccYvZaqxLklGjPQH/7GNxwTA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-crypto/util": "5.2.0", + "@aws-sdk/core": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-stream": "^3.3.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.696.0.tgz", + "integrity": "sha512-zELJp9Ta2zkX7ELggMN9qMCgekqZhFC5V2rOr4hJDEb/Tte7gpfKSObAnw/3AYiVqt36sjHKfdkoTsuwGdEoDg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.696.0.tgz", + "integrity": "sha512-FgH12OB0q+DtTrP2aiDBddDKwL4BPOrm7w3VV9BJrSdkqQCNBPz8S1lb0y5eVH4tBG+2j7gKPlOv1wde4jF/iw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.696.0.tgz", + "integrity": "sha512-KhkHt+8AjCxcR/5Zp3++YPJPpFQzxpr+jmONiT/Jw2yqnSngZ0Yspm5wGoRx2hS1HJbyZNuaOWEGuJoxLeBKfA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.696.0.tgz", + "integrity": "sha512-si/maV3Z0hH7qa99f9ru2xpS5HlfSVcasRlNUXKSDm611i7jFMWwGNLUOXFAOLhXotPX5G3Z6BLwL34oDeBMug==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.696.0.tgz", + "integrity": "sha512-M7fEiAiN7DBMHflzOFzh1I2MNSlLpbiH2ubs87bdRc2wZsDPSbs4l3v6h3WLhxoQK0bq6vcfroudrLBgvCuX3Q==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-arn-parser": "3.693.0", + "@smithy/core": "^2.5.3", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/protocol-http": "^4.1.7", + "@smithy/signature-v4": "^4.2.2", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-stream": "^3.3.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.696.0.tgz", + "integrity": "sha512-w/d6O7AOZ7Pg3w2d3BxnX5RmGNWb5X4RNxF19rJqcgu/xqxxE/QwZTNd5a7eTsqLXAUIfbbR8hh0czVfC1pJLA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.696.0.tgz", + "integrity": "sha512-Lvyj8CTyxrHI6GHd2YVZKIRI5Fmnugt3cpJo0VrKKEgK5zMySwEZ1n4dqPK6czYRWKd5+WnYHYAuU+Wdk6Jsjw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-endpoints": "3.696.0", + "@smithy/core": "^2.5.3", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.696.0.tgz", + "integrity": "sha512-7EuH142lBXjI8yH6dVS/CZeiK/WZsmb/8zP6bQbVYpMrppSTgB3MzZZdxVZGzL5r8zPQOU10wLC4kIMy0qdBVQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/types": "^3.7.1", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.703.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.703.0.tgz", + "integrity": "sha512-zW2DVxymjcktvmtAggdXSkD0aXNKXEosR1dqmn759PIWwEtmxrrmcAXeCha0eEH2BpPGMASGeSb22TIZquVw6A==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@aws-sdk/util-format-url": "3.696.0", + "@smithy/middleware-endpoint": "^3.2.3", + "@smithy/protocol-http": "^4.1.7", + "@smithy/smithy-client": "^3.4.4", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.696.0.tgz", + "integrity": "sha512-ijPkoLjXuPtgxAYlDoYls8UaG/VKigROn9ebbvPL/orEY5umedd3iZTcS9T+uAf4Ur3GELLxMQiERZpfDKaz3g==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/protocol-http": "^4.1.7", + "@smithy/signature-v4": "^4.2.2", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.699.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.699.0.tgz", + "integrity": "sha512-kuiEW9DWs7fNos/SM+y58HCPhcIzm1nEZLhe2/7/6+TvAYLuEWURYsbK48gzsxXlaJ2k/jGY3nIsA7RptbMOwA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/property-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.699.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.696.0.tgz", + "integrity": "sha512-9rTvUJIAj5d3//U5FDPWGJ1nFJLuWb30vugGOrWk7aNZ6y9tuA3PI7Cc9dP8WEXKVyK1vuuk8rSFP2iqXnlgrw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.693.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.693.0.tgz", + "integrity": "sha512-WC8x6ca+NRrtpAH64rWu+ryDZI3HuLwlEr8EU6/dbC/pt+r/zC0PBoC15VEygUaBA+isppCikQpGyEDu0Yj7gQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.696.0.tgz", + "integrity": "sha512-T5s0IlBVX+gkb9g/I6CLt4yAZVzMSiGnbUqWihWsHvQR1WOoIcndQy/Oz/IJXT9T2ipoy7a80gzV6a5mglrioA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/types": "^3.7.1", + "@smithy/util-endpoints": "^2.1.6", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.696.0.tgz", + "integrity": "sha512-R6yK1LozUD1GdAZRPhNsIow6VNFJUTyyoIar1OCWaknlucBMcq7musF3DN3TlORBwfFMj5buHc2ET9OtMtzvuA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/querystring-builder": "^3.0.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.693.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.693.0.tgz", + "integrity": "sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.696.0.tgz", + "integrity": "sha512-Z5rVNDdmPOe6ELoM5AhF/ja5tSjbe6ctSctDPb0JdDf4dT0v2MfwhJKzXju2RzX8Es/77Glh7MlaXLE0kCB9+Q==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.696.0", + "@smithy/types": "^3.7.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.696.0.tgz", + "integrity": "sha512-KhKqcfyXIB0SCCt+qsu4eJjsfiOrNzK5dCV7RAW2YIpp+msxGUUX0NdRE9rkzjiv+3EMktgJm3eEIS+yxtlVdQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.696.0", + "@aws-sdk/types": "3.696.0", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.696.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.696.0.tgz", + "integrity": "sha512-dn1mX+EeqivoLYnY7p2qLrir0waPnCgS/0YdRCAVU2x14FgfUYCH6Im3w3oi2dMwhxfKY5lYVB5NKvZu7uI9lQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "license": "MIT", + "optional": true + }, + "node_modules/@hyperbytes/wappler-onesignal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@hyperbytes/wappler-onesignal/-/wappler-onesignal-1.0.3.tgz", + "integrity": "sha512-hP1uuvEzhYyTkFIgaLg6jY9OZAM5Eme1S4Gp9VBK/uAfdcwwL9YvPb3d1TSMR3ebUNSVykHbuiQuoptY+EhRdg==", + "license": "MIT", + "dependencies": { + "@onesignal/node-onesignal": "^5.0.0-alpha-01" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "license": "MIT", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@onesignal/node-onesignal": { + "version": "5.0.0-alpha-01", + "resolved": "https://registry.npmjs.org/@onesignal/node-onesignal/-/node-onesignal-5.0.0-alpha-01.tgz", + "integrity": "sha512-Ed4CwHk6gh7iaettBQ6DLszCWugbT2ldts26HMmcC4b0GQ43riheKpXrf8yuezZppwFF77nYyHOE/JEyRyBBsg==", + "license": "MIT", + "dependencies": { + "@types/node": "^20.12.8", + "@types/node-fetch": "^2.5.7", + "btoa": "^1.2.1", + "es6-promise": "^4.2.4", + "form-data": "^2.5.0", + "node-fetch": "^2.6.0", + "url-parse": "^1.4.3" + } + }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.8.tgz", + "integrity": "sha512-+3DOBcUn5/rVjlxGvUPKc416SExarAQ+Qe0bqk30YSUjbepwpS7QN0cyKUSifvLJhdMZ0WPzPP5ymut0oonrpQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-4.0.0.tgz", + "integrity": "sha512-jSqRnZvkT4egkq/7b6/QRCNXmmYVcHwnJldqJ3IhVpQE2atObVJ137xmGeuGFhjFUr8gCEVAOKwSY79OvpbDaQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.1.tgz", + "integrity": "sha512-VEYtPvh5rs/xlyqpm5NRnfYLZn+q0SRPELbvBV+C/G7IQ+ouTuo+NKKa3ShG5OaFR8NYVMXls9hPYLTvIKKDrQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.12.tgz", + "integrity": "sha512-YAJP9UJFZRZ8N+UruTeq78zkdjUHmzsY62J4qKWZ4SXB4QXJ/+680EfXXgkYA2xj77ooMqtUY9m406zGNqwivQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.11", + "@smithy/types": "^3.7.1", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.4.tgz", + "integrity": "sha512-iFh2Ymn2sCziBRLPuOOxRPkuCx/2gBdXtBGuCUFLUe6bWYjKnhHyIPqGeNkLZ5Aco/5GjebRTBFiWID3sDbrKw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-serde": "^3.0.10", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-stream": "^3.3.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.7.tgz", + "integrity": "sha512-cEfbau+rrWF8ylkmmVAObOmjbTIzKyUC5TkBL58SbLywD0RCBC4JAUKbmtSm2w5KUJNRPGgpGFMvE2FKnuNlWQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.11", + "@smithy/property-provider": "^3.1.10", + "@smithy/types": "^3.7.1", + "@smithy/url-parser": "^3.0.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.9.tgz", + "integrity": "sha512-F574nX0hhlNOjBnP+noLtsPFqXnWh2L0+nZKCwcu7P7J8k+k+rdIDs+RMnrMwrzhUE4mwMgyN0cYnEn0G8yrnQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.7.1", + "@smithy/util-hex-encoding": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.13.tgz", + "integrity": "sha512-Nee9m+97o9Qj6/XeLz2g2vANS2SZgAxV4rDBMKGHvFJHU/xz88x2RwCkwsvEwYjSX4BV1NG1JXmxEaDUzZTAtw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^3.0.12", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.10.tgz", + "integrity": "sha512-K1M0x7P7qbBUKB0UWIL5KOcyi6zqV5mPJoL0/o01HPJr0CSq3A9FYuJC6e11EX6hR8QTIR++DBiGrYveOu6trw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.12.tgz", + "integrity": "sha512-kiZymxXvZ4tnuYsPSMUHe+MMfc4FTeFWJIc0Q5wygJoUQM4rVHNghvd48y7ppuulNMbuYt95ah71pYc2+o4JOA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^3.0.12", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.12.tgz", + "integrity": "sha512-1i8ifhLJrOZ+pEifTlF0EfZzMLUGQggYQ6WmZ4d5g77zEKf7oZ0kvh1yKWHPjofvOwqrkwRDVuxuYC8wVd662A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-codec": "^3.1.9", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.1.1.tgz", + "integrity": "sha512-bH7QW0+JdX0bPBadXt8GwMof/jz0H28I84hU1Uet9ISpzUqXqRQ3fEZJ+ANPOhzSEczYvANNl3uDQDYArSFDtA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.7", + "@smithy/querystring-builder": "^3.0.10", + "@smithy/types": "^3.7.1", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-blob-browser": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.9.tgz", + "integrity": "sha512-wOu78omaUuW5DE+PVWXiRKWRZLecARyP3xcq5SmkXUw9+utgN8HnSnBfrjL2B/4ZxgqPjaAJQkC/+JHf1ITVaQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/chunked-blob-reader": "^4.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.1", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-node": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.10.tgz", + "integrity": "sha512-3zWGWCHI+FlJ5WJwx73Mw2llYR8aflVyZN5JhoqLxbdPZi6UyKSdCeXAWJw9ja22m6S6Tzz1KZ+kAaSwvydi0g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/hash-stream-node": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.9.tgz", + "integrity": "sha512-3XfHBjSP3oDWxLmlxnt+F+FqXpL3WlXs+XXaB6bV9Wo8BBu87fK1dSEsyH7Z4ZHRmwZ4g9lFMdf08m9hoX1iRA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.10.tgz", + "integrity": "sha512-Lp2L65vFi+cj0vFMu2obpPW69DU+6O5g3086lmI4XcnRCG8PxvpWC7XyaVwJCxsZFzueHjXnrOH/E0pl0zikfA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/md5-js": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.10.tgz", + "integrity": "sha512-m3bv6dApflt3fS2Y1PyWPUtRP7iuBlvikEOGwu0HsCZ0vE7zcIX+dBoh3e+31/rddagw8nj92j0kJg2TfV+SJA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.12.tgz", + "integrity": "sha512-1mDEXqzM20yywaMDuf5o9ue8OkJ373lSPbaSjyEvkWdqELhFMyNNgKGWL/rCSf4KME8B+HlHKuR8u9kRj8HzEQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.4.tgz", + "integrity": "sha512-TybiW2LA3kYVd3e+lWhINVu1o26KJbBwOpADnf0L4x/35vLVica77XVR5hvV9+kWeTGeSJ3IHTcYxbRxlbwhsg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.4", + "@smithy/middleware-serde": "^3.0.10", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.11", + "@smithy/types": "^3.7.1", + "@smithy/url-parser": "^3.0.10", + "@smithy/util-middleware": "^3.0.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "3.0.28", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.28.tgz", + "integrity": "sha512-vK2eDfvIXG1U64FEUhYxoZ1JSj4XFbYWkK36iz02i3pFwWiDz1Q7jKhGTBCwx/7KqJNk4VS7d7cDLXFOvP7M+g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.11", + "@smithy/protocol-http": "^4.1.7", + "@smithy/service-error-classification": "^3.0.10", + "@smithy/smithy-client": "^3.4.5", + "@smithy/types": "^3.7.1", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-retry": "^3.0.10", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.10.tgz", + "integrity": "sha512-MnAuhh+dD14F428ubSJuRnmRsfOpxSzvRhaGVTvd/lrUDE3kxzCCmH8lnVTvoNQnV2BbJ4c15QwZ3UdQBtFNZA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.10.tgz", + "integrity": "sha512-grCHyoiARDBBGPyw2BeicpjgpsDFWZZxptbVKb3CRd/ZA15F/T6rZjCCuBUjJwdck1nwUuIxYtsS4H9DDpbP5w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.11.tgz", + "integrity": "sha512-URq3gT3RpDikh/8MBJUB+QGZzfS7Bm6TQTqoh4CqE8NBuyPkWa5eUXj0XFcFfeZVgg3WMh1u19iaXn8FvvXxZw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.10", + "@smithy/shared-ini-file-loader": "^3.1.11", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.3.1.tgz", + "integrity": "sha512-fr+UAOMGWh6bn4YSEezBCpJn9Ukp9oR4D32sCjCo7U81evE11YePOQ58ogzyfgmjIO79YeOdfXXqr0jyhPQeMg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^3.1.8", + "@smithy/protocol-http": "^4.1.7", + "@smithy/querystring-builder": "^3.0.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.10.tgz", + "integrity": "sha512-n1MJZGTorTH2DvyTVj+3wXnd4CzjJxyXeOgnTlgNVFxaaMeT4OteEp4QrzF8p9ee2yg42nvyVK6R/awLCakjeQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.7.tgz", + "integrity": "sha512-FP2LepWD0eJeOTm0SjssPcgqAlDFzOmRXqXmGhfIM52G7Lrox/pcpQf6RP4F21k0+O12zaqQt5fCDOeBtqY6Cg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.10.tgz", + "integrity": "sha512-nT9CQF3EIJtIUepXQuBFb8dxJi3WVZS3XfuDksxSCSn+/CzZowRLdhDn+2acbBv8R6eaJqPupoI/aRFIImNVPQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.10.tgz", + "integrity": "sha512-Oa0XDcpo9SmjhiDD9ua2UyM3uU01ZTuIrNdZvzwUTykW1PM8o2yJvMh1Do1rY5sUQg4NDV70dMi0JhDx4GyxuQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.10.tgz", + "integrity": "sha512-zHe642KCqDxXLuhs6xmHVgRwy078RfqxP2wRDpIyiF8EmsWXptMwnMwbVa50lw+WOGNrYm9zbaEg0oDe3PTtvQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.11.tgz", + "integrity": "sha512-AUdrIZHFtUgmfSN4Gq9nHu3IkHMa1YDcN+s061Nfm+6pQ0mJy85YQDB0tZBCmls0Vuj22pLwDPmL92+Hvfwwlg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.3.tgz", + "integrity": "sha512-pPSQQ2v2vu9vc8iew7sszLd0O09I5TRc5zhY71KA+Ao0xYazIG+uLeHbTJfIWGO3BGVLiXjUr3EEeCcEQLjpWQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.10", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.5.tgz", + "integrity": "sha512-k0sybYT9zlP79sIKd1XGm4TmK0AS1nA2bzDHXx7m0nGi3RQ8dxxQUs4CPkSmQTKAo+KF9aINU3KzpGIpV7UoMw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.4", + "@smithy/middleware-endpoint": "^3.2.4", + "@smithy/middleware-stack": "^3.0.10", + "@smithy/protocol-http": "^4.1.7", + "@smithy/types": "^3.7.1", + "@smithy/util-stream": "^3.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.7.1.tgz", + "integrity": "sha512-XKLcLXZY7sUQgvvWyeaL/qwNPp6V3dWcUjqrQKjSb+tzYiCy340R/c64LV5j+Tnb2GhmunEX0eou+L+m2hJNYA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.10.tgz", + "integrity": "sha512-j90NUalTSBR2NaZTuruEgavSdh8MLirf58LoGSk4AtQfyIymogIhgnGUU2Mga2bkMkpSoC9gxb74xBXL5afKAQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^3.0.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.28", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.28.tgz", + "integrity": "sha512-6bzwAbZpHRFVJsOztmov5PGDmJYsbNSoIEfHSJJyFLzfBGCCChiO3od9k7E/TLgrCsIifdAbB9nqbVbyE7wRUw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.10", + "@smithy/smithy-client": "^3.4.5", + "@smithy/types": "^3.7.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.28", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.28.tgz", + "integrity": "sha512-78ENJDorV1CjOQselGmm3+z7Yqjj5HWCbjzh0Ixuq736dh1oEnD9sAttSBNSLlpZsX8VQnmERqA2fEFlmqWn8w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^3.0.12", + "@smithy/credential-provider-imds": "^3.2.7", + "@smithy/node-config-provider": "^3.1.11", + "@smithy/property-provider": "^3.1.10", + "@smithy/smithy-client": "^3.4.5", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.6.tgz", + "integrity": "sha512-mFV1t3ndBh0yZOJgWxO9J/4cHZVn5UG1D8DeCc6/echfNkeEJWu9LD7mgGH5fHrEdR7LDoWw7PQO6QiGpHXhgA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.11", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.10.tgz", + "integrity": "sha512-eJO+/+RsrG2RpmY68jZdwQtnfsxjmPxzMlQpnHKjFPwrYqvlcT+fHdT+ZVwcjlWSrByOhGr9Ff2GG17efc192A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.10.tgz", + "integrity": "sha512-1l4qatFp4PiU6j7UsbasUHL2VU023NRB/gfaa1M0rDqVrRN4g3mCArLRyH3OuktApA4ye+yjWQHjdziunw2eWA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^3.0.10", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.3.1.tgz", + "integrity": "sha512-Ff68R5lJh2zj+AUTvbAU/4yx+6QPRzg7+pI7M1FbtQHcRIp7xvguxVsQBKyB3fwiOwhAKu0lnNyYBaQfSW6TNw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^4.1.1", + "@smithy/node-http-handler": "^3.3.1", + "@smithy/types": "^3.7.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-waiter": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.9.tgz", + "integrity": "sha512-/aMXPANhMOlMPjfPtSrDfPeVP8l56SJlz93xeiLmhLe5xvlXA5T3abZ2ilEsDEPeY9T/wnN/vNGn9wa1SbufWA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^3.1.8", + "@smithy/types": "^3.7.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "20.17.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.9.tgz", + "integrity": "sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC", + "optional": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "license": "MIT", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "license": "ISC", + "optional": true + }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "license": "Apache-2.0" + }, + "node_modules/bagpipe": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/bagpipe/-/bagpipe-0.3.5.tgz", + "integrity": "sha512-42sAlmPDKes1nLm/aly+0VdaopSU9br+jkRELedhQxI5uXHgtk47I83Mpmf4zoNTRMASdLFtUkimlu/Z9zQ8+g==", + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", + "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", + "license": "Apache-2.0", + "optional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cacache/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "license": "ISC", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/connect-session-knex": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/connect-session-knex/-/connect-session-knex-4.0.2.tgz", + "integrity": "sha512-VgrHKBUOhqqorNRLCSZcwmuzTzRdrYK2qkeYd0JMRor29G1SBWJKjVF/Fq5QB7hgGIN3oR2ee7F1LmLsjhO+aA==", + "license": "ISC", + "dependencies": { + "bluebird": "^3.7.2", + "knex": "3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "license": "ISC", + "optional": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz", + "integrity": "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==", + "license": "MIT", + "dependencies": { + "cookie": "0.7.2", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/cron-parser": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", + "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", + "license": "MIT", + "dependencies": { + "luxon": "^3.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT", + "optional": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.6", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.6.tgz", + "integrity": "sha512-JhcR/+KIjkkjiU8yEpaB/USlzVi3i5whwOjpIRNGi9svKEXZSe+Qp6IWAjFjv+2GViAoDRCUv/QLNziQxsLqDg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz", + "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==", + "license": "MIT", + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "license": "MIT", + "optional": true + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.10", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-end": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/express-end/-/express-end-0.0.8.tgz", + "integrity": "sha512-PPntzICAq006LBpXKBVJtmRUiCRqTMZ+OB8L2RFXgx+OmkMWU66IL4DTEPF/DOcxmsuC7Y0NdbT2R71lb+pBpg==", + "license": "MIT", + "dependencies": { + "debug": "^2.2.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/express-end/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express-end/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express-fileupload": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.5.1.tgz", + "integrity": "sha512-LsYG1ALXEB7vlmjuSw8ABeOctMp8a31aUC5ZF55zuz7O2jLFnmJYrCv10py357ky48aEoBQ/9bVXgFynjvaPmA==", + "license": "MIT", + "dependencies": { + "busboy": "^1.6.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/express-session": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.1.tgz", + "integrity": "sha512-a5mtTqEaZvBCL9A9aqkrtfz+3SMDhOVUnjafjo+s7A9Txkq+SVX2DLvSp1Zrv4uCXa3lMSK3viWnh9Gg07PBUA==", + "license": "MIT", + "dependencies": { + "cookie": "0.7.2", + "cookie-signature": "1.0.7", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/express-session/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express-session/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT" + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.2.tgz", + "integrity": "sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC", + "optional": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "optional": true + }, + "node_modules/gauge/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC", + "optional": true + }, + "node_modules/gauge/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==", + "license": "MIT" + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.1.0.tgz", + "integrity": "sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.1.0.tgz", + "integrity": "sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "license": "ISC", + "optional": true + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause", + "optional": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "license": "ISC" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "license": "ISC", + "optional": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "license": "MIT", + "optional": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "license": "MIT", + "optional": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "license": "MIT", + "optional": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/knex": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-3.1.0.tgz", + "integrity": "sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==", + "license": "MIT", + "dependencies": { + "colorette": "2.0.19", + "commander": "^10.0.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.6.2", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "bin": { + "knex": "bin/cli.js" + }, + "engines": { + "node": ">=16" + }, + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } + } + }, + "node_modules/knex/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/knex/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/kruptein": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-2.2.3.tgz", + "integrity": "sha512-BTwprBPTzkFT9oTugxKd3WnWrX630MqUDsnmBuoa98eQs12oD4n4TeI0GbpdGcYn/73Xueg2rfnw+oK4dovnJg==", + "license": "MIT", + "dependencies": { + "asn1.js": "^5.4.1" + }, + "engines": { + "node": ">6" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/long-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/long-timeout/-/long-timeout-0.1.1.tgz", + "integrity": "sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/luxon": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", + "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "license": "ISC", + "optional": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", + "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "license": "MIT", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" + }, + "node_modules/node-schedule": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/node-schedule/-/node-schedule-2.1.1.tgz", + "integrity": "sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==", + "license": "MIT", + "dependencies": { + "cron-parser": "^4.2.0", + "long-timeout": "0.1.1", + "sorted-array-functions": "^1.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nodemon": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.7.tgz", + "integrity": "sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==", + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pdf-lib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/pg-connection-string": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "license": "ISC", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "license": "MIT", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz", + "integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "license": "MIT" + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/session-file-store": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/session-file-store/-/session-file-store-1.5.0.tgz", + "integrity": "sha512-60IZaJNzyu2tIeHutkYE8RiXVx3KRvacOxfLr2Mj92SIsRIroDsH0IlUUR6fJAjoTW4RQISbaOApa2IZpIwFdQ==", + "license": "Apache-2.0", + "dependencies": { + "bagpipe": "^0.3.5", + "fs-extra": "^8.0.1", + "kruptein": "^2.0.4", + "object-assign": "^4.1.1", + "retry": "^0.12.0", + "write-file-atomic": "3.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/session-file-store/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/session-file-store/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/session-file-store/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC", + "optional": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "license": "MIT", + "optional": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sorted-array-functions": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz", + "integrity": "sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==", + "license": "MIT" + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/sqlite3": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1", + "tar": "^6.1.11" + }, + "optionalDependencies": { + "node-gyp": "8.x" + }, + "peerDependencies": { + "node-gyp": "8.x" + }, + "peerDependenciesMeta": { + "node-gyp": { + "optional": true + } + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/streamx": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.21.0.tgz", + "integrity": "sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==", + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.3.2", + "queue-tick": "^1.0.1", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/tar-fs/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/text-decoder": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz", + "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==", + "license": "Apache-2.0" + }, + "node_modules/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "license": "MIT", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "license": "ISC", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unzipper": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz", + "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==", + "license": "MIT", + "dependencies": { + "bluebird": "~3.7.2", + "duplexer2": "~0.1.4", + "fs-extra": "^11.2.0", + "graceful-fs": "^4.2.2", + "node-int64": "^0.4.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "optional": true + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/package.json b/package.json index 36e6aa0..70918a5 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,11 @@ "author": "Wappler", "license": "ISC", "dependencies": { + "@aws-sdk/client-s3": "^3.41.0", + "@aws-sdk/s3-request-presigner": "^3.41.0", + "@hyperbytes/wappler-all-in-one-ai": "^1.0.2", + "@hyperbytes/wappler-file-to-base64-with-save-option": "^1.0.2", + "@hyperbytes/wappler-onesignal": "^1.0.3", "archiver": "^7.0.1", "compression": "^1.7.4", "connect-session-knex": "^4.0.0", @@ -36,9 +41,9 @@ "qs": "^6.10.1", "session-file-store": "^1.5.0", "socket.io": "^4.7.5", + "sqlite3": "^5.1.6", "unzipper": "^0.12.1", - "uuid": "^10.0.0", - "sqlite3": "^5.1.6" + "uuid": "^10.0.0" }, "nodemonConfig": { "watch": [ @@ -50,4 +55,4 @@ ], "ext": "ejs,js,json" } -} \ No newline at end of file +} diff --git a/public/dmxAppConnect/dmxNotifications/dmxNotifications.css b/public/dmxAppConnect/dmxNotifications/dmxNotifications.css new file mode 100644 index 0000000..7cc042c --- /dev/null +++ b/public/dmxAppConnect/dmxNotifications/dmxNotifications.css @@ -0,0 +1,69 @@ +.dmx-notifications { + position: fixed; + inset: var(--dmx-notify-offset-y, 15px) var(--dmx-notify-offset-x, 15px); + z-index: 999999; + pointer-events: none; + display: flex; + flex-direction: var(--dmx-notify-direction, column); + align-items: var(--dmx-notify-align, flex-end); + gap: var(--gap, 10px); +} + +.dmx-notify { + pointer-events: auto; + animation-fill-mode: forwards; + animation-duration: 400ms; + background: var(--dmx-notify-background, #eee); + color: var(--dmx-notify-color, #333); + opacity: var(--dmx-notify-opacity, .8); + box-shadow: 0 2px 4px rgba(0, 0, 0, .25); + border-radius: var(--dmx-notify-radius, .375rem); + min-width: 250px; + padding: var(--dmx-notify-padding-y, .375rem) var(--dmx-notify-padding-x, .75rem); + display: flex; + gap: var(--dmx-notify-padding-x, .75rem); +} + +.dmx-notify-body { + flex: 1; + font-size: 0.875rem; +} + +.dmx-notify-icon { + display: grid; + place-items: center; +} + +.dmx-notify-title { + font-weight: bold; +} + +.dmx-notify-message { + font-weight: normal; +} + +.dmx-notify-close { + display: grid; + place-items: center; + opacity: .5; + background: transparent; + color: inherit; + border: 0; + padding: 0; + font-size: 0.875rem; + cursor: pointer; +} + +.dmx-notify-close:hover { + opacity: 1; +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1 } +} + +@keyframes fadeOut { + from { opacity: 1 } + to { opacity: 0 } +} diff --git a/public/dmxAppConnect/dmxNotifications/dmxNotifications.js b/public/dmxAppConnect/dmxNotifications/dmxNotifications.js new file mode 100644 index 0000000..dafeab1 --- /dev/null +++ b/public/dmxAppConnect/dmxNotifications/dmxNotifications.js @@ -0,0 +1,8 @@ +/*! + DMXzone Notifications + Version: 2.0.0 + (c) 2024 Wappler.io + @build 2024-04-15 17:48:46 + */ +dmx.Component("notifications",{attributes:{position:{type:String,default:"top",enum:["top","bottom"]},align:{type:String,default:"end",enum:["left","right","full","start","center","end","stretch"]},offsetX:{type:Number,default:15},offsetY:{type:Number,default:15},spacing:{type:Number,default:10},opacity:{type:Number,default:.8},timeout:{type:Number,default:5e3},extendedTimeout:{type:Number,default:1e3},showAnimation:{type:String,default:"fadeIn"},showDuration:{type:Number,default:400},hideAnimation:{type:String,default:"fadeOut"},hideDuration:{type:Number,default:400},closeAnimation:{type:String,default:"fadeOut"},closeDuration:{type:Number,default:400},closeIcon:{type:String,default:"fa fa-times"},closable:{type:Boolean,default:!1},infoBackground:{type:String,default:"#2f96b4"},infoColor:{type:String,default:"#fff"},infoIcon:{type:String,default:"fa fa-info"},successIcon:{type:String,default:"fa fa-check"},successBackground:{type:String,default:"#51a351"},successColor:{type:String,default:"#fff"},warningIcon:{type:String,default:"fa fa-exclamation"},warningBackground:{type:String,default:"#f89406"},warningColor:{type:String,default:"#fff"},dangerIcon:{type:String,default:"fa fa-warning"},dangerBackground:{type:String,default:"#bd362f"},dangerColor:{type:String,default:"#fff"}},methods:{clear(){this._clear()},msg(t,e){this._show("msg",t,e)},info(t,e){this._show("info",t,Object.assign({icon:this.props.infoIcon,color:this.props.infoColor,background:this.props.infoBackground},e))},success(t,e){this._show("success",t,Object.assign({icon:this.props.successIcon,color:this.props.successColor,background:this.props.successBackground},e))},warning(t,e){this._show("warning",t,Object.assign({icon:this.props.warningIcon,color:this.props.warningColor,background:this.props.warningBackground},e))},danger:function(t,e){this._show("danger",t,Object.assign({icon:this.props.dangerIcon,color:this.props.dangerColor,background:this.props.dangerBackground},e))}},events:{click:CustomEvent},init(){this._alignMap={left:"flex-start",right:"flex-end",full:"stretch",start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"}},render(t){t.classList.add("dmx-notifications"),t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic","true"),this._clear(),this._update()},performUpdate(t){this._update()},_clear:function(){this.$node.textContent=""},_update(){this.$node.style.setProperty("--dmx-notify-offset-x",this.props.offsetX+"px"),this.$node.style.setProperty("--dmx-notify-offset-y",this.props.offsetY+"px"),this.$node.style.setProperty("--dmx-notify-align",this._alignMap[this.props.align]),this.$node.style.setProperty("--dmx-notify-gap",this.props.spacing+"px"),this.$node.style.setProperty("--dmx-notify-direction","top"==this.props.position?"column":"column-reverse")},_template(t){let e=`
{{myResult}}
+ console.log(result) + dmx.global.set('myResult', result); + +} + +function generateRandomIdentifier(v) { + return generateRandomFilename(v) +} diff --git a/views/.wappler_folder.json b/views/.wappler_folder.json index d69940d..2e7cb11 100644 --- a/views/.wappler_folder.json +++ b/views/.wappler_folder.json @@ -30,5 +30,9 @@ "index.ejs": { "layoutPage": "main", "description": "Starting page" + }, + "buckets.ejs": { + "layoutPage": "main", + "description": "" } } \ No newline at end of file diff --git a/views/buckets.ejs b/views/buckets.ejs new file mode 100644 index 0000000..7b9ecbe --- /dev/null +++ b/views/buckets.ejs @@ -0,0 +1,14 @@ + + + + + +