diff --git a/changelog.md b/changelog.md index dc3afa7..27a8e88 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2025-03-15 - 2.2.0 - feat(plugins) +Add smartproxy support by including the @push.rocks/smartproxy dependency and exporting it in the plugins module. + +- Added '@push.rocks/smartproxy' dependency version '^4.1.0' to package.json +- Updated ts/plugins.ts to export the smartproxy module alongside other push.rocks modules + ## 2025-03-15 - 2.1.0 - feat(MTA) Update readme with detailed Mail Transfer Agent usage and examples diff --git a/package.json b/package.json index aee36d6..095503e 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "@push.rocks/smartmail": "^1.0.24", "@push.rocks/smartpath": "^5.0.5", "@push.rocks/smartpromise": "^4.0.3", + "@push.rocks/smartproxy": "^4.1.0", "@push.rocks/smartrequest": "^2.0.21", "@push.rocks/smartrule": "^2.0.1", "@push.rocks/smartrx": "^3.0.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81db5af..55300a2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,6 +47,9 @@ importers: '@push.rocks/smartpromise': specifier: ^4.0.3 version: 4.2.3 + '@push.rocks/smartproxy': + specifier: ^4.1.0 + version: 4.1.0 '@push.rocks/smartrequest': specifier: ^2.0.21 version: 2.0.23 @@ -751,15 +754,48 @@ packages: '@pdf-lib/upng@1.0.1': resolution: {integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==} + '@peculiar/asn1-cms@2.3.15': + resolution: {integrity: sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg==} + + '@peculiar/asn1-csr@2.3.15': + resolution: {integrity: sha512-caxAOrvw2hUZpxzhz8Kp8iBYKsHbGXZPl2KYRMIPvAfFateRebS3136+orUpcVwHRmpXWX2kzpb6COlIrqCumA==} + + '@peculiar/asn1-ecc@2.3.15': + resolution: {integrity: sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==} + + '@peculiar/asn1-pfx@2.3.15': + resolution: {integrity: sha512-E3kzQe3J2xV9DP6SJS4X6/N1e4cYa2xOAK46VtvpaRk8jlheNri8v0rBezKFVPB1rz/jW8npO+u1xOvpATFMWg==} + + '@peculiar/asn1-pkcs8@2.3.15': + resolution: {integrity: sha512-/PuQj2BIAw1/v76DV1LUOA6YOqh/UvptKLJHtec/DQwruXOCFlUo7k6llegn8N5BTeZTWMwz5EXruBw0Q10TMg==} + + '@peculiar/asn1-pkcs9@2.3.15': + resolution: {integrity: sha512-yiZo/1EGvU1KiQUrbcnaPGWc0C7ElMMskWn7+kHsCFm+/9fU0+V1D/3a5oG0Jpy96iaXggQpA9tzdhnYDgjyFg==} + + '@peculiar/asn1-rsa@2.3.15': + resolution: {integrity: sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==} + '@peculiar/asn1-schema@2.3.13': resolution: {integrity: sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g==} + '@peculiar/asn1-schema@2.3.15': + resolution: {integrity: sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==} + + '@peculiar/asn1-x509-attr@2.3.15': + resolution: {integrity: sha512-TWJVJhqc+IS4MTEML3l6W1b0sMowVqdsnI4dnojg96LvTuP8dga9f76fjP07MUuss60uSyT2ckoti/2qHXA10A==} + '@peculiar/asn1-x509-logotype@2.3.13': resolution: {integrity: sha512-+atb0ws0Svr5wtuLyPvb4K/4fZKOv3Di2Zxl3wREqfeEvMQ/n+iQKWYplfZG9gcw5CuHVJjmfY6tHkIEryHCPQ==} '@peculiar/asn1-x509@2.3.13': resolution: {integrity: sha512-PfeLQl2skXmxX2/AFFCVaWU8U6FKW1Db43mgBhShCOFS1bVxqtvusq1hVjfuEcuSQGedrLdCSvTgabluwN/M9A==} + '@peculiar/asn1-x509@2.3.15': + resolution: {integrity: sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==} + + '@peculiar/x509@1.12.3': + resolution: {integrity: sha512-+Mzq+W7cNEKfkNZzyLl6A6ffqc3r21HGZUezgfKxpZrkORfOqgRXnS80Zu0IV6a9Ue9QBJeKD7kN0iWfc3bhRQ==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -934,6 +970,9 @@ packages: '@push.rocks/smartpromise@4.2.3': resolution: {integrity: sha512-Ycg/TJR+tMt+S3wSFurOpEoW6nXv12QBtKXgBcjMZ4RsdO28geN46U09osPn9N9WuwQy1PkmTV5J/V4F9U8qEw==} + '@push.rocks/smartproxy@4.1.0': + resolution: {integrity: sha512-yNTS+9mbBsO09+RXY7o9SUact9xXqwFFvQfLDz2QK4L/2L5RjFMEnqElmBdHx/vU2Vbv1JexiJiM73aa9XzwCQ==} + '@push.rocks/smartpuppeteer@2.0.5': resolution: {integrity: sha512-yK/qSeWVHIGWRp3c8S5tfdGP6WCKllZC4DR8d8CQlEjszOSBmHtlTdyyqOMBZ/BA4kd+eU5f3A1r4K2tGYty1g==} @@ -1688,6 +1727,10 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} + acme-client@5.4.0: + resolution: {integrity: sha512-mORqg60S8iML6XSmVjqjGHJkINrCGLMj2QvDmFzI9vIlv1RGlyjmw3nrzaINJjkNsYXC41XhhD5pfy7CtuGcbA==} + engines: {node: '>= 16'} + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -1774,6 +1817,9 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} + axios@1.8.3: + resolution: {integrity: sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==} + b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -3864,6 +3910,9 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -4279,6 +4328,10 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsyringe@4.8.0: + resolution: {integrity: sha512-YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA==} + engines: {node: '>= 6.0.0'} + turndown-plugin-gfm@1.0.2: resolution: {integrity: sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg==} @@ -5563,10 +5616,8 @@ snapshots: '@push.rocks/taskbuffer': 3.1.7 transitivePeerDependencies: - '@nuxt/kit' - - bufferutil - react - supports-color - - utf-8-validate - vue '@hapi/bourne@3.0.0': {} @@ -5703,12 +5754,81 @@ snapshots: dependencies: pako: 1.0.11 + '@peculiar/asn1-cms@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + '@peculiar/asn1-x509-attr': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.3.15': + dependencies: + '@peculiar/asn1-cms': 2.3.15 + '@peculiar/asn1-pkcs8': 2.3.15 + '@peculiar/asn1-rsa': 2.3.15 + '@peculiar/asn1-schema': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs9@2.3.15': + dependencies: + '@peculiar/asn1-cms': 2.3.15 + '@peculiar/asn1-pfx': 2.3.15 + '@peculiar/asn1-pkcs8': 2.3.15 + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + '@peculiar/asn1-x509-attr': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + '@peculiar/asn1-schema@2.3.13': dependencies: asn1js: 3.0.5 pvtsutils: 1.3.6 tslib: 2.8.1 + '@peculiar/asn1-schema@2.3.15': + dependencies: + asn1js: 3.0.5 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509-attr@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.5 + tslib: 2.8.1 + '@peculiar/asn1-x509-logotype@2.3.13': dependencies: '@peculiar/asn1-schema': 2.3.13 @@ -5724,6 +5844,27 @@ snapshots: pvtsutils: 1.3.6 tslib: 2.8.1 + '@peculiar/asn1-x509@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + asn1js: 3.0.5 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/x509@1.12.3': + dependencies: + '@peculiar/asn1-cms': 2.3.15 + '@peculiar/asn1-csr': 2.3.15 + '@peculiar/asn1-ecc': 2.3.15 + '@peculiar/asn1-pkcs9': 2.3.15 + '@peculiar/asn1-rsa': 2.3.15 + '@peculiar/asn1-schema': 2.3.13 + '@peculiar/asn1-x509': 2.3.13 + pvtsutils: 1.3.6 + reflect-metadata: 0.2.2 + tslib: 2.8.1 + tsyringe: 4.8.0 + '@pkgjs/parseargs@0.11.0': optional: true @@ -6180,6 +6321,25 @@ snapshots: '@push.rocks/smartpromise@4.2.3': {} + '@push.rocks/smartproxy@4.1.0': + dependencies: + '@push.rocks/lik': 6.1.0 + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartrequest': 2.0.23 + '@push.rocks/smartstring': 4.0.15 + '@tsclass/tsclass': 5.0.0 + '@types/minimatch': 5.1.2 + '@types/ws': 8.18.0 + acme-client: 5.4.0 + minimatch: 10.0.1 + pretty-ms: 9.2.0 + ws: 8.18.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + '@push.rocks/smartpuppeteer@2.0.5(typescript@5.7.3)': dependencies: '@push.rocks/smartdelay': 3.0.5 @@ -7372,6 +7532,16 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 + acme-client@5.4.0: + dependencies: + '@peculiar/x509': 1.12.3 + asn1js: 3.0.5 + axios: 1.8.3(debug@4.4.0) + debug: 4.4.0 + node-forge: 1.3.1 + transitivePeerDependencies: + - supports-color + agent-base@6.0.2: dependencies: debug: 4.4.0 @@ -7443,6 +7613,14 @@ snapshots: axe-core@4.10.3: {} + axios@1.8.3(debug@4.4.0): + dependencies: + follow-redirects: 1.15.9(debug@4.4.0) + form-data: 4.0.2 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + b4a@1.6.7: {} bail@2.0.2: {} @@ -9887,6 +10065,8 @@ snapshots: readdirp@4.1.2: {} + reflect-metadata@0.2.2: {} + regenerator-runtime@0.14.1: {} registry-auth-token@5.1.0: @@ -10394,6 +10574,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsyringe@4.8.0: + dependencies: + tslib: 1.14.1 + turndown-plugin-gfm@1.0.2: {} turndown@7.2.0: diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 9c121d0..e7c9c28 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/platformservice', - version: '2.1.0', + version: '2.2.0', description: 'A multifaceted platform service handling mail, SMS, letter delivery, and AI services.' } diff --git a/ts/dcrouter/classes.dcrouter.ts b/ts/dcrouter/classes.dcrouter.ts new file mode 100644 index 0000000..e69de29 diff --git a/ts/plugins.ts b/ts/plugins.ts index f4b5090..fe1dea5 100644 --- a/ts/plugins.ts +++ b/ts/plugins.ts @@ -45,12 +45,13 @@ import * as smartfile from '@push.rocks/smartfile'; import * as smartlog from '@push.rocks/smartlog'; import * as smartmail from '@push.rocks/smartmail'; import * as smartpath from '@push.rocks/smartpath'; +import * as smartproxy from '@push.rocks/smartproxy'; import * as smartpromise from '@push.rocks/smartpromise'; import * as smartrequest from '@push.rocks/smartrequest'; import * as smartrule from '@push.rocks/smartrule'; import * as smartrx from '@push.rocks/smartrx'; -export { projectinfo, qenv, smartdata, smartfile, smartlog, smartmail, smartpath, smartpromise, smartrequest, smartrule, smartrx }; +export { projectinfo, qenv, smartdata, smartfile, smartlog, smartmail, smartpath, smartproxy, smartpromise, smartrequest, smartrule, smartrx }; // apiclient.xyz scope import * as letterxpress from '@apiclient.xyz/letterxpress';