4runr-os 2.9.132 → 2.9.134

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2995,16 +2995,16 @@
2995
2995
  }
2996
2996
  },
2997
2997
  "node_modules/@smithy/config-resolver": {
2998
- "version": "4.4.15",
2999
- "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.15.tgz",
3000
- "integrity": "sha512-BJdMBY5YO9iHh+lPLYdHv6LbX+J8IcPCYMl1IJdBt2KDWNHwONHrPVHk3ttYBqJd9wxv84wlbN0f7GlQzcQtNQ==",
2998
+ "version": "4.4.16",
2999
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.16.tgz",
3000
+ "integrity": "sha512-GFlGPNLZKrGfqWpqVb31z7hvYCA9ZscfX1buYnvvMGcRYsQQnhH+4uN6mWWflcD5jB4OXP/LBrdpukEdjl41tg==",
3001
3001
  "license": "Apache-2.0",
3002
3002
  "dependencies": {
3003
- "@smithy/node-config-provider": "^4.3.13",
3004
- "@smithy/types": "^4.14.0",
3003
+ "@smithy/node-config-provider": "^4.3.14",
3004
+ "@smithy/types": "^4.14.1",
3005
3005
  "@smithy/util-config-provider": "^4.2.2",
3006
- "@smithy/util-endpoints": "^3.4.0",
3007
- "@smithy/util-middleware": "^4.2.13",
3006
+ "@smithy/util-endpoints": "^3.4.1",
3007
+ "@smithy/util-middleware": "^4.2.14",
3008
3008
  "tslib": "^2.6.2"
3009
3009
  },
3010
3010
  "engines": {
@@ -3012,18 +3012,18 @@
3012
3012
  }
3013
3013
  },
3014
3014
  "node_modules/@smithy/core": {
3015
- "version": "3.23.14",
3016
- "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.23.14.tgz",
3017
- "integrity": "sha512-vJ0IhpZxZAkFYOegMKSrxw7ujhhT2pass/1UEcZ4kfl5srTAqtPU5I7MdYQoreVas3204ykCiNhY1o7Xlz6Yyg==",
3015
+ "version": "3.23.15",
3016
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.23.15.tgz",
3017
+ "integrity": "sha512-E7GVCgsQttzfujEZb6Qep005wWf4xiL4x06apFEtzQMWYBPggZh/0cnOxPficw5cuK/YjjkehKoIN4YUaSh0UQ==",
3018
3018
  "license": "Apache-2.0",
3019
3019
  "dependencies": {
3020
- "@smithy/protocol-http": "^5.3.13",
3021
- "@smithy/types": "^4.14.0",
3022
- "@smithy/url-parser": "^4.2.13",
3020
+ "@smithy/protocol-http": "^5.3.14",
3021
+ "@smithy/types": "^4.14.1",
3022
+ "@smithy/url-parser": "^4.2.14",
3023
3023
  "@smithy/util-base64": "^4.3.2",
3024
3024
  "@smithy/util-body-length-browser": "^4.2.2",
3025
- "@smithy/util-middleware": "^4.2.13",
3026
- "@smithy/util-stream": "^4.5.22",
3025
+ "@smithy/util-middleware": "^4.2.14",
3026
+ "@smithy/util-stream": "^4.5.23",
3027
3027
  "@smithy/util-utf8": "^4.2.2",
3028
3028
  "@smithy/uuid": "^1.1.2",
3029
3029
  "tslib": "^2.6.2"
@@ -3033,15 +3033,15 @@
3033
3033
  }
3034
3034
  },
3035
3035
  "node_modules/@smithy/credential-provider-imds": {
3036
- "version": "4.2.13",
3037
- "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.13.tgz",
3038
- "integrity": "sha512-wboCPijzf6RJKLOvnjDAiBxGSmSnGXj35o5ZAWKDaHa/cvQ5U3ZJ13D4tMCE8JG4dxVAZFy/P0x/V9CwwdfULQ==",
3036
+ "version": "4.2.14",
3037
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.14.tgz",
3038
+ "integrity": "sha512-Au28zBN48ZAoXdooGUHemuVBrkE+Ie6RPmGNIAJsFqj33Vhb6xAgRifUydZ2aY+M+KaMAETAlKk5NC5h1G7wpg==",
3039
3039
  "license": "Apache-2.0",
3040
3040
  "dependencies": {
3041
- "@smithy/node-config-provider": "^4.3.13",
3042
- "@smithy/property-provider": "^4.2.13",
3043
- "@smithy/types": "^4.14.0",
3044
- "@smithy/url-parser": "^4.2.13",
3041
+ "@smithy/node-config-provider": "^4.3.14",
3042
+ "@smithy/property-provider": "^4.2.14",
3043
+ "@smithy/types": "^4.14.1",
3044
+ "@smithy/url-parser": "^4.2.14",
3045
3045
  "tslib": "^2.6.2"
3046
3046
  },
3047
3047
  "engines": {
@@ -3049,14 +3049,14 @@
3049
3049
  }
3050
3050
  },
3051
3051
  "node_modules/@smithy/fetch-http-handler": {
3052
- "version": "5.3.16",
3053
- "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.16.tgz",
3054
- "integrity": "sha512-nYDRUIvNd4mFmuXraRWt6w5UsZTNqtj4hXJA/iiOD4tuseIdLP9Lq38teH/SZTcIFCa2f+27o7hYpIsWktJKEQ==",
3052
+ "version": "5.3.17",
3053
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.17.tgz",
3054
+ "integrity": "sha512-bXOvQzaSm6MnmLaWA1elgfQcAtN4UP3vXqV97bHuoOrHQOJiLT3ds6o9eo5bqd0TJfRFpzdGnDQdW3FACiAVdw==",
3055
3055
  "license": "Apache-2.0",
3056
3056
  "dependencies": {
3057
- "@smithy/protocol-http": "^5.3.13",
3058
- "@smithy/querystring-builder": "^4.2.13",
3059
- "@smithy/types": "^4.14.0",
3057
+ "@smithy/protocol-http": "^5.3.14",
3058
+ "@smithy/querystring-builder": "^4.2.14",
3059
+ "@smithy/types": "^4.14.1",
3060
3060
  "@smithy/util-base64": "^4.3.2",
3061
3061
  "tslib": "^2.6.2"
3062
3062
  },
@@ -3065,12 +3065,12 @@
3065
3065
  }
3066
3066
  },
3067
3067
  "node_modules/@smithy/hash-node": {
3068
- "version": "4.2.13",
3069
- "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.13.tgz",
3070
- "integrity": "sha512-4/oy9h0jjmY80a2gOIo75iLl8TOPhmtx4E2Hz+PfMjvx/vLtGY4TMU/35WRyH2JHPfT5CVB38u4JRow7gnmzJA==",
3068
+ "version": "4.2.14",
3069
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.14.tgz",
3070
+ "integrity": "sha512-8ZBDY2DD4wr+GGjTpPtiglEsqr0lUP+KHqgZcWczFf6qeZ/YRjMIOoQWVQlmwu7EtxKTd8YXD8lblmYcpBIA1g==",
3071
3071
  "license": "Apache-2.0",
3072
3072
  "dependencies": {
3073
- "@smithy/types": "^4.14.0",
3073
+ "@smithy/types": "^4.14.1",
3074
3074
  "@smithy/util-buffer-from": "^4.2.2",
3075
3075
  "@smithy/util-utf8": "^4.2.2",
3076
3076
  "tslib": "^2.6.2"
@@ -3080,12 +3080,12 @@
3080
3080
  }
3081
3081
  },
3082
3082
  "node_modules/@smithy/invalid-dependency": {
3083
- "version": "4.2.13",
3084
- "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.13.tgz",
3085
- "integrity": "sha512-jvC0RB/8BLj2SMIkY0Npl425IdnxZJxInpZJbu563zIRnVjpDMXevU3VMCRSabaLB0kf/eFIOusdGstrLJ8IDg==",
3083
+ "version": "4.2.14",
3084
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.14.tgz",
3085
+ "integrity": "sha512-c21qJiTSb25xvvOp+H2TNZzPCngrvl5vIPqPB8zQ/DmJF4QWXO19x1dWfMJZ6wZuuWUPPm0gV8C0cU3+ifcWuw==",
3086
3086
  "license": "Apache-2.0",
3087
3087
  "dependencies": {
3088
- "@smithy/types": "^4.14.0",
3088
+ "@smithy/types": "^4.14.1",
3089
3089
  "tslib": "^2.6.2"
3090
3090
  },
3091
3091
  "engines": {
@@ -3105,13 +3105,13 @@
3105
3105
  }
3106
3106
  },
3107
3107
  "node_modules/@smithy/middleware-content-length": {
3108
- "version": "4.2.13",
3109
- "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.13.tgz",
3110
- "integrity": "sha512-IPMLm/LE4AZwu6qiE8Rr8vJsWhs9AtOdySRXrOM7xnvclp77Tyh7hMs/FRrMf26kgIe67vFJXXOSmVxS7oKeig==",
3108
+ "version": "4.2.14",
3109
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.14.tgz",
3110
+ "integrity": "sha512-xhHq7fX4/3lv5NHxLUk3OeEvl0xZ+Ek3qIbWaCL4f9JwgDZEclPBElljaZCAItdGPQl/kSM4LPMOpy1MYgprpw==",
3111
3111
  "license": "Apache-2.0",
3112
3112
  "dependencies": {
3113
- "@smithy/protocol-http": "^5.3.13",
3114
- "@smithy/types": "^4.14.0",
3113
+ "@smithy/protocol-http": "^5.3.14",
3114
+ "@smithy/types": "^4.14.1",
3115
3115
  "tslib": "^2.6.2"
3116
3116
  },
3117
3117
  "engines": {
@@ -3119,18 +3119,18 @@
3119
3119
  }
3120
3120
  },
3121
3121
  "node_modules/@smithy/middleware-endpoint": {
3122
- "version": "4.4.29",
3123
- "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.29.tgz",
3124
- "integrity": "sha512-R9Q/58U+qBiSARGWbAbFLczECg/RmysRksX6Q8BaQEpt75I7LI6WGDZnjuC9GXSGKljEbA7N118LhGaMbfrTXw==",
3122
+ "version": "4.4.30",
3123
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.30.tgz",
3124
+ "integrity": "sha512-qS2XqhKeXmdZ4nEQ4cOxIczSP/Y91wPAHYuRwmWDCh975B7/57uxsm5d6sisnUThn2u2FwzMdJNM7AbO1YPsPg==",
3125
3125
  "license": "Apache-2.0",
3126
3126
  "dependencies": {
3127
- "@smithy/core": "^3.23.14",
3128
- "@smithy/middleware-serde": "^4.2.17",
3129
- "@smithy/node-config-provider": "^4.3.13",
3130
- "@smithy/shared-ini-file-loader": "^4.4.8",
3131
- "@smithy/types": "^4.14.0",
3132
- "@smithy/url-parser": "^4.2.13",
3133
- "@smithy/util-middleware": "^4.2.13",
3127
+ "@smithy/core": "^3.23.15",
3128
+ "@smithy/middleware-serde": "^4.2.18",
3129
+ "@smithy/node-config-provider": "^4.3.14",
3130
+ "@smithy/shared-ini-file-loader": "^4.4.9",
3131
+ "@smithy/types": "^4.14.1",
3132
+ "@smithy/url-parser": "^4.2.14",
3133
+ "@smithy/util-middleware": "^4.2.14",
3134
3134
  "tslib": "^2.6.2"
3135
3135
  },
3136
3136
  "engines": {
@@ -3138,19 +3138,19 @@
3138
3138
  }
3139
3139
  },
3140
3140
  "node_modules/@smithy/middleware-retry": {
3141
- "version": "4.5.1",
3142
- "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.5.1.tgz",
3143
- "integrity": "sha512-/zY+Gp7Qj2D2hVm3irkCyONER7E9MiX3cUUm/k2ZmhkzZkrPgwVS4aJ5NriZUEN/M0D1hhjrgjUmX04HhRwdWA==",
3141
+ "version": "4.5.3",
3142
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.5.3.tgz",
3143
+ "integrity": "sha512-TE8dJNi6JuxzGSxMCVd3i9IEWDndCl3bmluLsBNDWok8olgj65OfkndMhl9SZ7m14c+C5SQn/PcUmrDl57rSFw==",
3144
3144
  "license": "Apache-2.0",
3145
3145
  "dependencies": {
3146
- "@smithy/core": "^3.23.14",
3147
- "@smithy/node-config-provider": "^4.3.13",
3148
- "@smithy/protocol-http": "^5.3.13",
3149
- "@smithy/service-error-classification": "^4.2.13",
3150
- "@smithy/smithy-client": "^4.12.9",
3151
- "@smithy/types": "^4.14.0",
3152
- "@smithy/util-middleware": "^4.2.13",
3153
- "@smithy/util-retry": "^4.3.1",
3146
+ "@smithy/core": "^3.23.15",
3147
+ "@smithy/node-config-provider": "^4.3.14",
3148
+ "@smithy/protocol-http": "^5.3.14",
3149
+ "@smithy/service-error-classification": "^4.2.14",
3150
+ "@smithy/smithy-client": "^4.12.11",
3151
+ "@smithy/types": "^4.14.1",
3152
+ "@smithy/util-middleware": "^4.2.14",
3153
+ "@smithy/util-retry": "^4.3.2",
3154
3154
  "@smithy/uuid": "^1.1.2",
3155
3155
  "tslib": "^2.6.2"
3156
3156
  },
@@ -3159,14 +3159,14 @@
3159
3159
  }
3160
3160
  },
3161
3161
  "node_modules/@smithy/middleware-serde": {
3162
- "version": "4.2.17",
3163
- "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.17.tgz",
3164
- "integrity": "sha512-0T2mcaM6v9W1xku86Dk0bEW7aEseG6KenFkPK98XNw0ZhOqOiD1MrMsdnQw9QsL3/Oa85T53iSMlm0SZdSuIEQ==",
3162
+ "version": "4.2.18",
3163
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.18.tgz",
3164
+ "integrity": "sha512-M6CSgnp3v4tYz9ynj2JHbA60woBZcGqEwNjTKjBsNHPV26R1ZX52+0wW8WsZU18q45jD0tw2wL22S17Ze9LpEw==",
3165
3165
  "license": "Apache-2.0",
3166
3166
  "dependencies": {
3167
- "@smithy/core": "^3.23.14",
3168
- "@smithy/protocol-http": "^5.3.13",
3169
- "@smithy/types": "^4.14.0",
3167
+ "@smithy/core": "^3.23.15",
3168
+ "@smithy/protocol-http": "^5.3.14",
3169
+ "@smithy/types": "^4.14.1",
3170
3170
  "tslib": "^2.6.2"
3171
3171
  },
3172
3172
  "engines": {
@@ -3174,12 +3174,12 @@
3174
3174
  }
3175
3175
  },
3176
3176
  "node_modules/@smithy/middleware-stack": {
3177
- "version": "4.2.13",
3178
- "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.13.tgz",
3179
- "integrity": "sha512-g72jN/sGDLyTanrCLH9fhg3oysO3f7tQa6eWWsMyn2BiYNCgjF24n4/I9wff/5XidFvjj9ilipAoQrurTUrLvw==",
3177
+ "version": "4.2.14",
3178
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.14.tgz",
3179
+ "integrity": "sha512-2dvkUKLuFdKsCRmOE4Mn63co0Djtsm+JMh0bYZQupN1pJwMeE8FmQmRLLzzEMN0dnNi7CDCYYH8F0EVwWiPBeA==",
3180
3180
  "license": "Apache-2.0",
3181
3181
  "dependencies": {
3182
- "@smithy/types": "^4.14.0",
3182
+ "@smithy/types": "^4.14.1",
3183
3183
  "tslib": "^2.6.2"
3184
3184
  },
3185
3185
  "engines": {
@@ -3187,14 +3187,14 @@
3187
3187
  }
3188
3188
  },
3189
3189
  "node_modules/@smithy/node-config-provider": {
3190
- "version": "4.3.13",
3191
- "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.13.tgz",
3192
- "integrity": "sha512-iGxQ04DsKXLckbgnX4ipElrOTk+IHgTyu0q0WssZfYhDm9CQWHmu6cOeI5wmWRxpXbBDhIIfXMWz5tPEtcVqbw==",
3190
+ "version": "4.3.14",
3191
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.14.tgz",
3192
+ "integrity": "sha512-S+gFjyo/weSVL0P1b9Ts8C/CwIfNCgUPikk3sl6QVsfE/uUuO+QsF+NsE/JkpvWqqyz1wg7HFdiaZuj5CoBMRg==",
3193
3193
  "license": "Apache-2.0",
3194
3194
  "dependencies": {
3195
- "@smithy/property-provider": "^4.2.13",
3196
- "@smithy/shared-ini-file-loader": "^4.4.8",
3197
- "@smithy/types": "^4.14.0",
3195
+ "@smithy/property-provider": "^4.2.14",
3196
+ "@smithy/shared-ini-file-loader": "^4.4.9",
3197
+ "@smithy/types": "^4.14.1",
3198
3198
  "tslib": "^2.6.2"
3199
3199
  },
3200
3200
  "engines": {
@@ -3202,14 +3202,14 @@
3202
3202
  }
3203
3203
  },
3204
3204
  "node_modules/@smithy/node-http-handler": {
3205
- "version": "4.5.2",
3206
- "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.5.2.tgz",
3207
- "integrity": "sha512-/oD7u8M0oj2ZTFw7GkuuHWpIxtWdLlnyNkbrWcyVYhd5RJNDuczdkb0wfnQICyNFrVPlr8YHOhamjNy3zidhmA==",
3205
+ "version": "4.5.3",
3206
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.5.3.tgz",
3207
+ "integrity": "sha512-lc5jFL++x17sPhIwMWJ3YOnqmSjw/2Po6VLDlUIXvxVWRuJwRXnJ4jOBBLB0cfI5BB5ehIl02Fxr1PDvk/kxDw==",
3208
3208
  "license": "Apache-2.0",
3209
3209
  "dependencies": {
3210
- "@smithy/protocol-http": "^5.3.13",
3211
- "@smithy/querystring-builder": "^4.2.13",
3212
- "@smithy/types": "^4.14.0",
3210
+ "@smithy/protocol-http": "^5.3.14",
3211
+ "@smithy/querystring-builder": "^4.2.14",
3212
+ "@smithy/types": "^4.14.1",
3213
3213
  "tslib": "^2.6.2"
3214
3214
  },
3215
3215
  "engines": {
@@ -3217,12 +3217,12 @@
3217
3217
  }
3218
3218
  },
3219
3219
  "node_modules/@smithy/property-provider": {
3220
- "version": "4.2.13",
3221
- "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.13.tgz",
3222
- "integrity": "sha512-bGzUCthxRmezuxkbu9wD33wWg9KX3hJpCXpQ93vVkPrHn9ZW6KNNdY5xAUWNuRCwQ+VyboFuWirG1lZhhkcyRQ==",
3220
+ "version": "4.2.14",
3221
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.14.tgz",
3222
+ "integrity": "sha512-WuM31CgfsnQ/10i7NYr0PyxqknD72Y5uMfUMVSniPjbEPceiTErb4eIqJQ+pdxNEAUEWrewrGjIRjVbVHsxZiQ==",
3223
3223
  "license": "Apache-2.0",
3224
3224
  "dependencies": {
3225
- "@smithy/types": "^4.14.0",
3225
+ "@smithy/types": "^4.14.1",
3226
3226
  "tslib": "^2.6.2"
3227
3227
  },
3228
3228
  "engines": {
@@ -3230,12 +3230,12 @@
3230
3230
  }
3231
3231
  },
3232
3232
  "node_modules/@smithy/protocol-http": {
3233
- "version": "5.3.13",
3234
- "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.13.tgz",
3235
- "integrity": "sha512-+HsmuJUF4u8POo6s8/a2Yb/AQ5t/YgLovCuHF9oxbocqv+SZ6gd8lC2duBFiCA/vFHoHQhoq7QjqJqZC6xOxxg==",
3233
+ "version": "5.3.14",
3234
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.14.tgz",
3235
+ "integrity": "sha512-dN5F8kHx8RNU0r+pCwNmFZyz6ChjMkzShy/zup6MtkRmmix4vZzJdW+di7x//b1LiynIev88FM18ie+wwPcQtQ==",
3236
3236
  "license": "Apache-2.0",
3237
3237
  "dependencies": {
3238
- "@smithy/types": "^4.14.0",
3238
+ "@smithy/types": "^4.14.1",
3239
3239
  "tslib": "^2.6.2"
3240
3240
  },
3241
3241
  "engines": {
@@ -3243,12 +3243,12 @@
3243
3243
  }
3244
3244
  },
3245
3245
  "node_modules/@smithy/querystring-builder": {
3246
- "version": "4.2.13",
3247
- "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.13.tgz",
3248
- "integrity": "sha512-tG4aOYFCZdPMjbgfhnIQ322H//ojujldp1SrHPHpBSb3NqgUp3dwiUGRJzie87hS1DYwWGqDuPaowoDF+rYCbQ==",
3246
+ "version": "4.2.14",
3247
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.14.tgz",
3248
+ "integrity": "sha512-XYA5Z0IqTeF+5XDdh4BBmSA0HvbgVZIyv4cmOoUheDNR57K1HgBp9ukUMx3Cr3XpDHHpLBnexPE3LAtDsZkj2A==",
3249
3249
  "license": "Apache-2.0",
3250
3250
  "dependencies": {
3251
- "@smithy/types": "^4.14.0",
3251
+ "@smithy/types": "^4.14.1",
3252
3252
  "@smithy/util-uri-escape": "^4.2.2",
3253
3253
  "tslib": "^2.6.2"
3254
3254
  },
@@ -3257,12 +3257,12 @@
3257
3257
  }
3258
3258
  },
3259
3259
  "node_modules/@smithy/querystring-parser": {
3260
- "version": "4.2.13",
3261
- "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.13.tgz",
3262
- "integrity": "sha512-hqW3Q4P+CDzUyQ87GrboGMeD7XYNMOF+CuTwu936UQRB/zeYn3jys8C3w+wMkDfY7CyyyVwZQ5cNFoG0x1pYmA==",
3260
+ "version": "4.2.14",
3261
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.14.tgz",
3262
+ "integrity": "sha512-hr+YyqBD23GVvRxGGrcc/oOeNlK3PzT5Fu4dzrDXxzS1LpFiuL2PQQqKPs87M79aW7ziMs+nvB3qdw77SqE7Lw==",
3263
3263
  "license": "Apache-2.0",
3264
3264
  "dependencies": {
3265
- "@smithy/types": "^4.14.0",
3265
+ "@smithy/types": "^4.14.1",
3266
3266
  "tslib": "^2.6.2"
3267
3267
  },
3268
3268
  "engines": {
@@ -3270,24 +3270,24 @@
3270
3270
  }
3271
3271
  },
3272
3272
  "node_modules/@smithy/service-error-classification": {
3273
- "version": "4.2.13",
3274
- "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.13.tgz",
3275
- "integrity": "sha512-a0s8XZMfOC/qpqq7RCPvJlk93rWFrElH6O++8WJKz0FqnA4Y7fkNi/0mnGgSH1C4x6MFsuBA8VKu4zxFrMe5Vw==",
3273
+ "version": "4.2.14",
3274
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.14.tgz",
3275
+ "integrity": "sha512-vVimoUnGxlx4eLLQbZImdOZFOe+Zh+5ACntv8VxZuGP72LdWu5GV3oEmCahSEReBgRJoWjypFkrehSj7BWx1HQ==",
3276
3276
  "license": "Apache-2.0",
3277
3277
  "dependencies": {
3278
- "@smithy/types": "^4.14.0"
3278
+ "@smithy/types": "^4.14.1"
3279
3279
  },
3280
3280
  "engines": {
3281
3281
  "node": ">=18.0.0"
3282
3282
  }
3283
3283
  },
3284
3284
  "node_modules/@smithy/shared-ini-file-loader": {
3285
- "version": "4.4.8",
3286
- "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.8.tgz",
3287
- "integrity": "sha512-VZCZx2bZasxdqxVgEAhREvDSlkatTPnkdWy1+Kiy8w7kYPBosW0V5IeDwzDUMvWBt56zpK658rx1cOBFOYaPaw==",
3285
+ "version": "4.4.9",
3286
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.9.tgz",
3287
+ "integrity": "sha512-495/V2I15SHgedSJoDPD23JuSfKAp726ZI1V0wtjB07Wh7q/0tri/0e0DLefZCHgxZonrGKt/OCTpAtP1wE1kQ==",
3288
3288
  "license": "Apache-2.0",
3289
3289
  "dependencies": {
3290
- "@smithy/types": "^4.14.0",
3290
+ "@smithy/types": "^4.14.1",
3291
3291
  "tslib": "^2.6.2"
3292
3292
  },
3293
3293
  "engines": {
@@ -3295,16 +3295,16 @@
3295
3295
  }
3296
3296
  },
3297
3297
  "node_modules/@smithy/signature-v4": {
3298
- "version": "5.3.13",
3299
- "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.13.tgz",
3300
- "integrity": "sha512-YpYSyM0vMDwKbHD/JA7bVOF6kToVRpa+FM5ateEVRpsTNu564g1muBlkTubXhSKKYXInhpADF46FPyrZcTLpXg==",
3298
+ "version": "5.3.14",
3299
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.14.tgz",
3300
+ "integrity": "sha512-1D9Y/nmlVjCeSivCbhZ7hgEpmHyY1h0GvpSZt3l0xcD9JjmjVC1CHOozS6+Gh+/ldMH8JuJ6cujObQqfayAVFA==",
3301
3301
  "license": "Apache-2.0",
3302
3302
  "dependencies": {
3303
3303
  "@smithy/is-array-buffer": "^4.2.2",
3304
- "@smithy/protocol-http": "^5.3.13",
3305
- "@smithy/types": "^4.14.0",
3304
+ "@smithy/protocol-http": "^5.3.14",
3305
+ "@smithy/types": "^4.14.1",
3306
3306
  "@smithy/util-hex-encoding": "^4.2.2",
3307
- "@smithy/util-middleware": "^4.2.13",
3307
+ "@smithy/util-middleware": "^4.2.14",
3308
3308
  "@smithy/util-uri-escape": "^4.2.2",
3309
3309
  "@smithy/util-utf8": "^4.2.2",
3310
3310
  "tslib": "^2.6.2"
@@ -3314,17 +3314,17 @@
3314
3314
  }
3315
3315
  },
3316
3316
  "node_modules/@smithy/smithy-client": {
3317
- "version": "4.12.9",
3318
- "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.12.9.tgz",
3319
- "integrity": "sha512-ovaLEcTU5olSeHcRXcxV6viaKtpkHZumn6Ps0yn7dRf2rRSfy794vpjOtrWDO0d1auDSvAqxO+lyhERSXQ03EQ==",
3317
+ "version": "4.12.11",
3318
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.12.11.tgz",
3319
+ "integrity": "sha512-wzz/Wa1CH/Tlhxh0s4DQPEcXSxSVfJ59AZcUh9Gu0c6JTlKuwGf4o/3P2TExv0VbtPFt8odIBG+eQGK2+vTECg==",
3320
3320
  "license": "Apache-2.0",
3321
3321
  "dependencies": {
3322
- "@smithy/core": "^3.23.14",
3323
- "@smithy/middleware-endpoint": "^4.4.29",
3324
- "@smithy/middleware-stack": "^4.2.13",
3325
- "@smithy/protocol-http": "^5.3.13",
3326
- "@smithy/types": "^4.14.0",
3327
- "@smithy/util-stream": "^4.5.22",
3322
+ "@smithy/core": "^3.23.15",
3323
+ "@smithy/middleware-endpoint": "^4.4.30",
3324
+ "@smithy/middleware-stack": "^4.2.14",
3325
+ "@smithy/protocol-http": "^5.3.14",
3326
+ "@smithy/types": "^4.14.1",
3327
+ "@smithy/util-stream": "^4.5.23",
3328
3328
  "tslib": "^2.6.2"
3329
3329
  },
3330
3330
  "engines": {
@@ -3332,9 +3332,9 @@
3332
3332
  }
3333
3333
  },
3334
3334
  "node_modules/@smithy/types": {
3335
- "version": "4.14.0",
3336
- "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.0.tgz",
3337
- "integrity": "sha512-OWgntFLW88kx2qvf/c/67Vno1yuXm/f9M7QFAtVkkO29IJXGBIg0ycEaBTH0kvCtwmvZxRujrgP5a86RvsXJAQ==",
3335
+ "version": "4.14.1",
3336
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.1.tgz",
3337
+ "integrity": "sha512-59b5HtSVrVR/eYNei3BUj3DCPKD/G7EtDDe7OEJE7i7FtQFugYo6MxbotS8mVJkLNVf8gYaAlEBwwtJ9HzhWSg==",
3338
3338
  "license": "Apache-2.0",
3339
3339
  "dependencies": {
3340
3340
  "tslib": "^2.6.2"
@@ -3344,13 +3344,13 @@
3344
3344
  }
3345
3345
  },
3346
3346
  "node_modules/@smithy/url-parser": {
3347
- "version": "4.2.13",
3348
- "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.13.tgz",
3349
- "integrity": "sha512-2G03yoboIRZlZze2+PT4GZEjgwQsJjUgn6iTsvxA02bVceHR6vp4Cuk7TUnPFWKF+ffNUk3kj4COwkENS2K3vw==",
3347
+ "version": "4.2.14",
3348
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.14.tgz",
3349
+ "integrity": "sha512-p06BiBigJ8bTA3MgnOfCtDUWnAMY0YfedO/GRpmc7p+wg3KW8vbXy1xwSu5ASy0wV7rRYtlfZOIKH4XqfhjSQQ==",
3350
3350
  "license": "Apache-2.0",
3351
3351
  "dependencies": {
3352
- "@smithy/querystring-parser": "^4.2.13",
3353
- "@smithy/types": "^4.14.0",
3352
+ "@smithy/querystring-parser": "^4.2.14",
3353
+ "@smithy/types": "^4.14.1",
3354
3354
  "tslib": "^2.6.2"
3355
3355
  },
3356
3356
  "engines": {
@@ -3421,14 +3421,14 @@
3421
3421
  }
3422
3422
  },
3423
3423
  "node_modules/@smithy/util-defaults-mode-browser": {
3424
- "version": "4.3.45",
3425
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.45.tgz",
3426
- "integrity": "sha512-ag9sWc6/nWZAuK3Wm9KlFJUnRkXLrXn33RFjIAmCTFThqLHY+7wCst10BGq56FxslsDrjhSie46c8OULS+BiIw==",
3424
+ "version": "4.3.47",
3425
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.47.tgz",
3426
+ "integrity": "sha512-zlIuXai3/SHjQUQ8y3g/woLvrH573SK2wNjcDaHu5e9VOcC0JwM1MI0Sq0GZJyN3BwSUneIhpjZ18nsiz5AtQw==",
3427
3427
  "license": "Apache-2.0",
3428
3428
  "dependencies": {
3429
- "@smithy/property-provider": "^4.2.13",
3430
- "@smithy/smithy-client": "^4.12.9",
3431
- "@smithy/types": "^4.14.0",
3429
+ "@smithy/property-provider": "^4.2.14",
3430
+ "@smithy/smithy-client": "^4.12.11",
3431
+ "@smithy/types": "^4.14.1",
3432
3432
  "tslib": "^2.6.2"
3433
3433
  },
3434
3434
  "engines": {
@@ -3436,17 +3436,17 @@
3436
3436
  }
3437
3437
  },
3438
3438
  "node_modules/@smithy/util-defaults-mode-node": {
3439
- "version": "4.2.50",
3440
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.50.tgz",
3441
- "integrity": "sha512-xpjncL5XozFA3No7WypTsPU1du0fFS8flIyO+Wh2nhCy7bpEapvU7BR55Bg+wrfw+1cRA+8G8UsTjaxgzrMzXg==",
3439
+ "version": "4.2.52",
3440
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.52.tgz",
3441
+ "integrity": "sha512-cQBz8g68Vnw1W2meXlkb3D/hXJU+Taiyj9P8qLJtjREEV9/Td65xi4A/H1sRQ8EIgX5qbZbvdYPKygKLholZ3w==",
3442
3442
  "license": "Apache-2.0",
3443
3443
  "dependencies": {
3444
- "@smithy/config-resolver": "^4.4.15",
3445
- "@smithy/credential-provider-imds": "^4.2.13",
3446
- "@smithy/node-config-provider": "^4.3.13",
3447
- "@smithy/property-provider": "^4.2.13",
3448
- "@smithy/smithy-client": "^4.12.9",
3449
- "@smithy/types": "^4.14.0",
3444
+ "@smithy/config-resolver": "^4.4.16",
3445
+ "@smithy/credential-provider-imds": "^4.2.14",
3446
+ "@smithy/node-config-provider": "^4.3.14",
3447
+ "@smithy/property-provider": "^4.2.14",
3448
+ "@smithy/smithy-client": "^4.12.11",
3449
+ "@smithy/types": "^4.14.1",
3450
3450
  "tslib": "^2.6.2"
3451
3451
  },
3452
3452
  "engines": {
@@ -3454,13 +3454,13 @@
3454
3454
  }
3455
3455
  },
3456
3456
  "node_modules/@smithy/util-endpoints": {
3457
- "version": "3.4.0",
3458
- "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.4.0.tgz",
3459
- "integrity": "sha512-QQHGPKkw6NPcU6TJ1rNEEa201srPtZiX4k61xL163vvs9sTqW/XKz+UEuJ00uvPqoN+5Rs4Ka1UJ7+Mp03IXJw==",
3457
+ "version": "3.4.1",
3458
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.4.1.tgz",
3459
+ "integrity": "sha512-wMxNDZJrgS5mQV9oxCs4TWl5767VMgOfqfZ3JHyCkMtGC2ykW9iPqMvFur695Otcc5yxLG8OKO/80tsQBxrhXg==",
3460
3460
  "license": "Apache-2.0",
3461
3461
  "dependencies": {
3462
- "@smithy/node-config-provider": "^4.3.13",
3463
- "@smithy/types": "^4.14.0",
3462
+ "@smithy/node-config-provider": "^4.3.14",
3463
+ "@smithy/types": "^4.14.1",
3464
3464
  "tslib": "^2.6.2"
3465
3465
  },
3466
3466
  "engines": {
@@ -3480,12 +3480,12 @@
3480
3480
  }
3481
3481
  },
3482
3482
  "node_modules/@smithy/util-middleware": {
3483
- "version": "4.2.13",
3484
- "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.13.tgz",
3485
- "integrity": "sha512-GTooyrlmRTqvUen4eK7/K1p6kryF7bnDfq6XsAbIsf2mo51B/utaH+XThY6dKgNCWzMAaH/+OLmqaBuLhLWRow==",
3483
+ "version": "4.2.14",
3484
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.14.tgz",
3485
+ "integrity": "sha512-1Su2vj9RYNDEv/V+2E+jXkkwGsgR7dc4sfHn9Z7ruzQHJIEni9zzw5CauvRXlFJfmgcqYP8fWa0dkh2Q2YaQyw==",
3486
3486
  "license": "Apache-2.0",
3487
3487
  "dependencies": {
3488
- "@smithy/types": "^4.14.0",
3488
+ "@smithy/types": "^4.14.1",
3489
3489
  "tslib": "^2.6.2"
3490
3490
  },
3491
3491
  "engines": {
@@ -3493,13 +3493,13 @@
3493
3493
  }
3494
3494
  },
3495
3495
  "node_modules/@smithy/util-retry": {
3496
- "version": "4.3.1",
3497
- "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.3.1.tgz",
3498
- "integrity": "sha512-FwmicpgWOkP5kZUjN3y+3JIom8NLGqSAJBeoIgK0rIToI817TEBHCrd0A2qGeKQlgDeP+Jzn4i0H/NLAXGy9uQ==",
3496
+ "version": "4.3.2",
3497
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.3.2.tgz",
3498
+ "integrity": "sha512-2+KTsJEwTi63NUv4uR9IQ+IFT1yu6Rf6JuoBK2WKaaJ/TRvOiOVGcXAsEqX/TQN2thR9yII21kPUJq1UV/WI2A==",
3499
3499
  "license": "Apache-2.0",
3500
3500
  "dependencies": {
3501
- "@smithy/service-error-classification": "^4.2.13",
3502
- "@smithy/types": "^4.14.0",
3501
+ "@smithy/service-error-classification": "^4.2.14",
3502
+ "@smithy/types": "^4.14.1",
3503
3503
  "tslib": "^2.6.2"
3504
3504
  },
3505
3505
  "engines": {
@@ -3507,14 +3507,14 @@
3507
3507
  }
3508
3508
  },
3509
3509
  "node_modules/@smithy/util-stream": {
3510
- "version": "4.5.22",
3511
- "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.22.tgz",
3512
- "integrity": "sha512-3H8iq/0BfQjUs2/4fbHZ9aG9yNzcuZs24LPkcX1Q7Z+qpqaGM8+qbGmE8zo9m2nCRgamyvS98cHdcWvR6YUsew==",
3510
+ "version": "4.5.23",
3511
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.23.tgz",
3512
+ "integrity": "sha512-N6on1+ngJ3RznZOnDWNveIwnTSlqxNnXuNAh7ez889ZZaRdXoNRTXKgmYOLe6dB0gCmAVtuRScE1hymQFl4hpg==",
3513
3513
  "license": "Apache-2.0",
3514
3514
  "dependencies": {
3515
- "@smithy/fetch-http-handler": "^5.3.16",
3516
- "@smithy/node-http-handler": "^4.5.2",
3517
- "@smithy/types": "^4.14.0",
3515
+ "@smithy/fetch-http-handler": "^5.3.17",
3516
+ "@smithy/node-http-handler": "^4.5.3",
3517
+ "@smithy/types": "^4.14.1",
3518
3518
  "@smithy/util-base64": "^4.3.2",
3519
3519
  "@smithy/util-buffer-from": "^4.2.2",
3520
3520
  "@smithy/util-hex-encoding": "^4.2.2",
@@ -3551,12 +3551,12 @@
3551
3551
  }
3552
3552
  },
3553
3553
  "node_modules/@smithy/util-waiter": {
3554
- "version": "4.2.15",
3555
- "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.15.tgz",
3556
- "integrity": "sha512-oUt9o7n8hBv3BL56sLSneL0XeigZSuem0Hr78JaoK33D9oKieyCvVP8eTSe3j7g2mm/S1DvzxKieG7JEWNJUNg==",
3554
+ "version": "4.2.16",
3555
+ "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.16.tgz",
3556
+ "integrity": "sha512-GtclrKoZ3Lt7jPQ7aTIYKfjY92OgceScftVnkTsG8e1KV8rkvZgN+ny6YSRhd9hxB8rZtwVbmln7NTvE5O3GmQ==",
3557
3557
  "license": "Apache-2.0",
3558
3558
  "dependencies": {
3559
- "@smithy/types": "^4.14.0",
3559
+ "@smithy/types": "^4.14.1",
3560
3560
  "tslib": "^2.6.2"
3561
3561
  },
3562
3562
  "engines": {
@@ -4884,9 +4884,9 @@
4884
4884
  }
4885
4885
  },
4886
4886
  "node_modules/electron-to-chromium": {
4887
- "version": "1.5.338",
4888
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.338.tgz",
4889
- "integrity": "sha512-KVQQ3xko9/coDX3qXLUEEbqkKT8L+1DyAovrtu0Khtrt9wjSZ+7CZV4GVzxFy9Oe1NbrIU1oVXCwHJruIA1PNg==",
4887
+ "version": "1.5.339",
4888
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.339.tgz",
4889
+ "integrity": "sha512-Is+0BBHJ4NrdpAYiperrmp53pLywG/yV/6lIMTAnhxvzj/Cmn5Q/ogSHC6AKe7X+8kPLxxFk0cs5oc/3j/fxIg==",
4890
4890
  "dev": true,
4891
4891
  "license": "ISC"
4892
4892
  },
@@ -3,4 +3,12 @@
3
3
  * npm may return the queried package as the JSON root (name + version) or nested under dependencies.
4
4
  */
5
5
  export declare function parseNpmListGlobalVersion(stdout: string | Buffer, packageName: string): string | null;
6
+ /** Looks like a normal x.y.z (or x.y) semver string from npm. */
7
+ export declare function looksLikeNpmVersion(v: string): boolean;
8
+ /**
9
+ * Read globally installed version from `npm list -g` JSON.
10
+ * Important: `npm list` often exits with code 1 (extraneous/missing peers) even when JSON is valid —
11
+ * do not treat non-zero status as "no install".
12
+ */
13
+ export declare function getInstalledGlobalPackageVersion(packageName: string): string | null;
6
14
  //# sourceMappingURL=npm-list-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm-list-version.d.ts","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8CrG"}
1
+ {"version":3,"file":"npm-list-version.d.ts","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8CrG;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWnF"}
@@ -2,10 +2,37 @@
2
2
  * Parse installed version from `npm list -g <pkg> --depth=0 --json` output.
3
3
  * npm may return the queried package as the JSON root (name + version) or nested under dependencies.
4
4
  */
5
+ import { spawnNpmSync } from './npm-spawn.js';
5
6
  import { sanitizePackageName } from './security/validation.js';
6
7
  function stdoutToString(stdout) {
7
8
  return typeof stdout === 'string' ? stdout : stdout.toString('utf-8');
8
9
  }
10
+ /** Deep scan (npm global tree shapes vary by npm major). */
11
+ function deepFindPackageVersion(node, targetName) {
12
+ if (node === null || typeof node !== 'object') {
13
+ return null;
14
+ }
15
+ if (Array.isArray(node)) {
16
+ for (const el of node) {
17
+ const f = deepFindPackageVersion(el, targetName);
18
+ if (f) {
19
+ return f;
20
+ }
21
+ }
22
+ return null;
23
+ }
24
+ const o = node;
25
+ if (o.name === targetName && typeof o.version === 'string') {
26
+ return o.version;
27
+ }
28
+ for (const v of Object.values(o)) {
29
+ const f = deepFindPackageVersion(v, targetName);
30
+ if (f) {
31
+ return f;
32
+ }
33
+ }
34
+ return null;
35
+ }
9
36
  export function parseNpmListGlobalVersion(stdout, packageName) {
10
37
  const validation = sanitizePackageName(packageName);
11
38
  if (!validation.valid || !validation.sanitized) {
@@ -47,6 +74,27 @@ export function parseNpmListGlobalVersion(stdout, packageName) {
47
74
  }
48
75
  }
49
76
  }
50
- return null;
77
+ return deepFindPackageVersion(data, n);
78
+ }
79
+ /** Looks like a normal x.y.z (or x.y) semver string from npm. */
80
+ export function looksLikeNpmVersion(v) {
81
+ return /^\d+\.\d+(\.\d+)?/.test(v.trim());
82
+ }
83
+ /**
84
+ * Read globally installed version from `npm list -g` JSON.
85
+ * Important: `npm list` often exits with code 1 (extraneous/missing peers) even when JSON is valid —
86
+ * do not treat non-zero status as "no install".
87
+ */
88
+ export function getInstalledGlobalPackageVersion(packageName) {
89
+ const validation = sanitizePackageName(packageName);
90
+ if (!validation.valid || !validation.sanitized) {
91
+ return null;
92
+ }
93
+ const result = spawnNpmSync(['list', '-g', validation.sanitized, '--depth=0', '--json']);
94
+ if (!result.stdout) {
95
+ return null;
96
+ }
97
+ const v = parseNpmListGlobalVersion(result.stdout, packageName);
98
+ return v && looksLikeNpmVersion(v) ? v : null;
51
99
  }
52
100
  //# sourceMappingURL=npm-list-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm-list-version.js","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,SAAS,cAAc,CAAC,MAAuB;IAC7C,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAuB,EAAE,WAAmB;IACpF,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;IAE/B,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,IAA+B,CAAC;IAE1C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;IAC5B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAI,MAAgC,CAAC,OAAO,CAAC;YACpD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACnD,MAAM,CAAC,GAAI,GAA6B,CAAC,OAAO,CAAC;oBACjD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,OAAO,CAAC,CAAC;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"npm-list-version.js","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"package-integrity.d.ts","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBvF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAkB9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAoB5F;AAwCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2DzG"}
1
+ {"version":3,"file":"package-integrity.d.ts","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBvF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAkB9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAW5F;AAwCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAyFzG"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import * as crypto from 'crypto';
6
6
  import * as fs from 'fs';
7
- import { parseNpmListGlobalVersion } from '../npm-list-version.js';
7
+ import { getInstalledGlobalPackageVersion } from '../npm-list-version.js';
8
8
  import { spawnNpmSync } from '../npm-spawn.js';
9
9
  import { sanitizePackageName } from './validation.js';
10
10
  /**
@@ -58,11 +58,7 @@ export function verifyInstalledVersion(packageName, expectedVersion) {
58
58
  if (!validation.valid || !validation.sanitized) {
59
59
  return false;
60
60
  }
61
- const result = spawnNpmSync(['list', '-g', validation.sanitized, '--depth=0', '--json']);
62
- if (result.status !== 0 || !result.stdout) {
63
- return false;
64
- }
65
- const installedVersion = parseNpmListGlobalVersion(result.stdout, packageName);
61
+ const installedVersion = getInstalledGlobalPackageVersion(packageName);
66
62
  return installedVersion === expectedVersion;
67
63
  }
68
64
  catch {
@@ -128,10 +124,24 @@ export function safeNpmInstall(packageName, version) {
128
124
  if (result.status !== 0) {
129
125
  return { success: false, error: npmErrorResult(result) };
130
126
  }
131
- const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
132
- const verified = expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
127
+ const installed = getInstalledGlobalPackageVersion(validation.sanitized);
128
+ // @latest: npm list exit code is often 1 for noisy global trees; registry can move during install.
129
+ // Trust a readable installed semver after a successful npm install, not strict equality to resolveTagVersion.
130
+ const verified = version === 'latest'
131
+ ? Boolean(installed)
132
+ : (() => {
133
+ const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
134
+ return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
135
+ })();
133
136
  if (!verified) {
134
- return { success: false, error: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest' };
137
+ return {
138
+ success: false,
139
+ error: installed == null
140
+ ? 'Could not read installed version after update (npm list). Run: npm install -g ' +
141
+ validation.sanitized +
142
+ '@latest'
143
+ : 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
144
+ };
135
145
  }
136
146
  return { success: true };
137
147
  }
@@ -144,10 +154,22 @@ export function safeNpmInstall(packageName, version) {
144
154
  if (result.status !== 0) {
145
155
  return { success: false, error: npmErrorResult(result) };
146
156
  }
147
- const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
148
- const verified = expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
157
+ const installed = getInstalledGlobalPackageVersion(validation.sanitized);
158
+ const verified = version === 'latest'
159
+ ? Boolean(installed)
160
+ : (() => {
161
+ const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
162
+ return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
163
+ })();
149
164
  if (!verified) {
150
- return { success: false, error: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest' };
165
+ return {
166
+ success: false,
167
+ error: installed == null
168
+ ? 'Could not read installed version after update (npm list). Run: npm install -g ' +
169
+ validation.sanitized +
170
+ '@latest'
171
+ : 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
172
+ };
151
173
  }
152
174
  return { success: true };
153
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package-integrity.js","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-integrity.js","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AA2FD;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,GAAE,MAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAM5F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAmB,GAAG,IAAI,CAGpG;AAgGD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,WAAW,GAAE,MAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,CA2EjF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,WAAW,GAAE,MAAmB,EAAE,iBAAiB,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvH"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AAsFD;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,GAAE,MAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAM5F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAmB,GAAG,IAAI,CAGpG;AAgGD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,WAAW,GAAE,MAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,CA2EjF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,WAAW,GAAE,MAAmB,EAAE,iBAAiB,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvH"}
@@ -7,7 +7,7 @@ import * as fs from 'fs';
7
7
  import * as path from 'path';
8
8
  import { fileURLToPath } from 'url';
9
9
  import { dirname } from 'path';
10
- import { parseNpmListGlobalVersion } from './npm-list-version.js';
10
+ import { getInstalledGlobalPackageVersion } from './npm-list-version.js';
11
11
  import { spawnNpmSync } from './npm-spawn.js';
12
12
  const __filename = fileURLToPath(import.meta.url);
13
13
  const __dirname = dirname(__filename);
@@ -16,13 +16,9 @@ const __dirname = dirname(__filename);
16
16
  */
17
17
  function getCurrentVersion() {
18
18
  try {
19
- // Installed global version via npm list (spawnNpmSync → npm-cli.js on Windows)
20
- const result = spawnNpmSync(['list', '-g', '4runr-os', '--depth=0', '--json']);
21
- if (result.status === 0 && result.stdout) {
22
- const installedVersion = parseNpmListGlobalVersion(result.stdout, '4runr-os');
23
- if (installedVersion) {
24
- return installedVersion;
25
- }
19
+ const installedVersion = getInstalledGlobalPackageVersion('4runr-os');
20
+ if (installedVersion) {
21
+ return installedVersion;
26
22
  }
27
23
  }
28
24
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "4runr-os",
3
- "version": "2.9.132",
3
+ "version": "2.9.134",
4
4
  "type": "module",
5
- "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.132: npm publish prep (vendored Gateway + @4runr/* dist + package.json). Same as 2.9.131: TUI stderr-only WS logs, ESC clears portal state, 65s autostart, npm list verify fix. ⚠️ Pre-MVP / Development Phase",
5
+ "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.134: CRITICAL copy-gateway no longer drops memory-logger.js (bad *.log regex). Gateway @4runr/shared bundle complete. Prior: 2.9.133 auto-update verify, TUI stderr logs. ⚠️ Pre-MVP / Development Phase",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
8
  "4runr": "dist/index.js",
@@ -0,0 +1,16 @@
1
+ export interface LogEntry {
2
+ timestamp: number;
3
+ level: 'error' | 'warn' | 'info' | 'debug';
4
+ message: string;
5
+ data?: any;
6
+ }
7
+ export declare const memoryLogger: {
8
+ error: (message: string, data?: any) => void;
9
+ warn: (message: string, data?: any) => void;
10
+ info: (message: string, data?: any) => void;
11
+ debug: (message: string, data?: any) => void;
12
+ getLogs(limit?: number): LogEntry[];
13
+ clear(): void;
14
+ size(): number;
15
+ };
16
+ //# sourceMappingURL=memory-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-logger.d.ts","sourceRoot":"","sources":["../../src/persistence/memory-logger.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AA8CD,eAAO,MAAM,YAAY;qBACN,MAAM,SAAS,GAAG,KAAG,IAAI;oBAI1B,MAAM,SAAS,GAAG,KAAG,IAAI;oBAIzB,MAAM,SAAS,GAAG,KAAG,IAAI;qBAIxB,MAAM,SAAS,GAAG,KAAG,IAAI;oBAO1B,MAAM,GAAG,QAAQ,EAAE;aAW1B,IAAI;YAOL,MAAM;CAGf,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.memoryLogger = void 0;
4
+ const MAX_LOG_BUFFER = 200;
5
+ const logBuffer = [];
6
+ function addLogEntry(level, message, data) {
7
+ const entry = {
8
+ timestamp: Date.now(),
9
+ level,
10
+ message,
11
+ data
12
+ };
13
+ logBuffer.push(entry);
14
+ if (logBuffer.length > MAX_LOG_BUFFER) {
15
+ logBuffer.shift();
16
+ }
17
+ const timestamp = new Date(entry.timestamp).toISOString();
18
+ const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
19
+ switch (level) {
20
+ case 'error':
21
+ console.error(`${prefix} ${message}`, data || '');
22
+ break;
23
+ case 'warn':
24
+ console.warn(`${prefix} ${message}`, data || '');
25
+ break;
26
+ case 'info':
27
+ console.log(`${prefix} ${message}`, data || '');
28
+ break;
29
+ case 'debug':
30
+ console.debug(`${prefix} ${message}`, data || '');
31
+ break;
32
+ }
33
+ }
34
+ exports.memoryLogger = {
35
+ error: (message, data) => {
36
+ addLogEntry('error', message, data);
37
+ },
38
+ warn: (message, data) => {
39
+ addLogEntry('warn', message, data);
40
+ },
41
+ info: (message, data) => {
42
+ addLogEntry('info', message, data);
43
+ },
44
+ debug: (message, data) => {
45
+ addLogEntry('debug', message, data);
46
+ },
47
+ getLogs(limit) {
48
+ const logs = [...logBuffer];
49
+ if (limit && limit > 0) {
50
+ return logs.slice(-limit);
51
+ }
52
+ return logs;
53
+ },
54
+ clear() {
55
+ logBuffer.length = 0;
56
+ },
57
+ size() {
58
+ return logBuffer.length;
59
+ }
60
+ };
61
+ //# sourceMappingURL=memory-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-logger.js","sourceRoot":"","sources":["../../src/persistence/memory-logger.ts"],"names":[],"mappings":";;;AAcA,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,SAAS,GAAe,EAAE,CAAC;AAKjC,SAAS,WAAW,CAAC,KAAwB,EAAE,OAAe,EAAE,IAAU;IACxE,MAAM,KAAK,GAAa;QACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK;QACL,OAAO;QACP,IAAI;KACL,CAAC;IAEF,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAGtB,IAAI,SAAS,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QACtC,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAGD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IAEzD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM;IACV,CAAC;AACH,CAAC;AAKY,QAAA,YAAY,GAAG;IAC1B,KAAK,EAAE,CAAC,OAAe,EAAE,IAAU,EAAQ,EAAE;QAC3C,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,EAAE,CAAC,OAAe,EAAE,IAAU,EAAQ,EAAE;QAC1C,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,EAAE,CAAC,OAAe,EAAE,IAAU,EAAQ,EAAE;QAC1C,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,EAAE,CAAC,OAAe,EAAE,IAAU,EAAQ,EAAE;QAC3C,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAKD,OAAO,CAAC,KAAc;QACpB,MAAM,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC5B,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,KAAK;QACH,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,CAAC;IAKD,IAAI;QACF,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;CACF,CAAC"}
@@ -3,12 +3,40 @@
3
3
  * npm may return the queried package as the JSON root (name + version) or nested under dependencies.
4
4
  */
5
5
 
6
+ import { spawnNpmSync } from './npm-spawn.js';
6
7
  import { sanitizePackageName } from './security/validation.js';
7
8
 
8
9
  function stdoutToString(stdout: string | Buffer): string {
9
10
  return typeof stdout === 'string' ? stdout : stdout.toString('utf-8');
10
11
  }
11
12
 
13
+ /** Deep scan (npm global tree shapes vary by npm major). */
14
+ function deepFindPackageVersion(node: unknown, targetName: string): string | null {
15
+ if (node === null || typeof node !== 'object') {
16
+ return null;
17
+ }
18
+ if (Array.isArray(node)) {
19
+ for (const el of node) {
20
+ const f = deepFindPackageVersion(el, targetName);
21
+ if (f) {
22
+ return f;
23
+ }
24
+ }
25
+ return null;
26
+ }
27
+ const o = node as Record<string, unknown>;
28
+ if (o.name === targetName && typeof o.version === 'string') {
29
+ return o.version;
30
+ }
31
+ for (const v of Object.values(o)) {
32
+ const f = deepFindPackageVersion(v, targetName);
33
+ if (f) {
34
+ return f;
35
+ }
36
+ }
37
+ return null;
38
+ }
39
+
12
40
  export function parseNpmListGlobalVersion(stdout: string | Buffer, packageName: string): string | null {
13
41
  const validation = sanitizePackageName(packageName);
14
42
  if (!validation.valid || !validation.sanitized) {
@@ -54,5 +82,28 @@ export function parseNpmListGlobalVersion(stdout: string | Buffer, packageName:
54
82
  }
55
83
  }
56
84
 
57
- return null;
85
+ return deepFindPackageVersion(data, n);
86
+ }
87
+
88
+ /** Looks like a normal x.y.z (or x.y) semver string from npm. */
89
+ export function looksLikeNpmVersion(v: string): boolean {
90
+ return /^\d+\.\d+(\.\d+)?/.test(v.trim());
91
+ }
92
+
93
+ /**
94
+ * Read globally installed version from `npm list -g` JSON.
95
+ * Important: `npm list` often exits with code 1 (extraneous/missing peers) even when JSON is valid —
96
+ * do not treat non-zero status as "no install".
97
+ */
98
+ export function getInstalledGlobalPackageVersion(packageName: string): string | null {
99
+ const validation = sanitizePackageName(packageName);
100
+ if (!validation.valid || !validation.sanitized) {
101
+ return null;
102
+ }
103
+ const result = spawnNpmSync(['list', '-g', validation.sanitized, '--depth=0', '--json']);
104
+ if (!result.stdout) {
105
+ return null;
106
+ }
107
+ const v = parseNpmListGlobalVersion(result.stdout, packageName);
108
+ return v && looksLikeNpmVersion(v) ? v : null;
58
109
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  import * as crypto from 'crypto';
7
7
  import * as fs from 'fs';
8
- import { parseNpmListGlobalVersion } from '../npm-list-version.js';
8
+ import { getInstalledGlobalPackageVersion } from '../npm-list-version.js';
9
9
  import { spawnNpmSync } from '../npm-spawn.js';
10
10
  import { sanitizePackageName } from './validation.js';
11
11
 
@@ -64,19 +64,10 @@ export function verifyPackageIntegrity(tarballPath: string, expectedIntegrity: s
64
64
  export function verifyInstalledVersion(packageName: string, expectedVersion: string): boolean {
65
65
  try {
66
66
  const validation = sanitizePackageName(packageName);
67
-
68
67
  if (!validation.valid || !validation.sanitized) {
69
68
  return false;
70
69
  }
71
-
72
- const result = spawnNpmSync(['list', '-g', validation.sanitized, '--depth=0', '--json']);
73
-
74
- if (result.status !== 0 || !result.stdout) {
75
- return false;
76
- }
77
-
78
- const installedVersion = parseNpmListGlobalVersion(result.stdout, packageName);
79
-
70
+ const installedVersion = getInstalledGlobalPackageVersion(packageName);
80
71
  return installedVersion === expectedVersion;
81
72
  } catch {
82
73
  return false;
@@ -155,12 +146,28 @@ export function safeNpmInstall(packageName: string, version: string): { success:
155
146
  return { success: false, error: npmErrorResult(result) };
156
147
  }
157
148
 
158
- const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
159
- const verified = expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
149
+ const installed = getInstalledGlobalPackageVersion(validation.sanitized);
150
+ // @latest: npm list exit code is often 1 for noisy global trees; registry can move during install.
151
+ // Trust a readable installed semver after a successful npm install, not strict equality to resolveTagVersion.
152
+ const verified =
153
+ version === 'latest'
154
+ ? Boolean(installed)
155
+ : (() => {
156
+ const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
157
+ return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
158
+ })();
160
159
  if (!verified) {
161
- return { success: false, error: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest' };
160
+ return {
161
+ success: false,
162
+ error:
163
+ installed == null
164
+ ? 'Could not read installed version after update (npm list). Run: npm install -g ' +
165
+ validation.sanitized +
166
+ '@latest'
167
+ : 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
168
+ };
162
169
  }
163
-
170
+
164
171
  return { success: true };
165
172
  }
166
173
 
@@ -175,12 +182,26 @@ export function safeNpmInstall(packageName: string, version: string): { success:
175
182
  return { success: false, error: npmErrorResult(result) };
176
183
  }
177
184
 
178
- const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
179
- const verified = expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
185
+ const installed = getInstalledGlobalPackageVersion(validation.sanitized);
186
+ const verified =
187
+ version === 'latest'
188
+ ? Boolean(installed)
189
+ : (() => {
190
+ const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
191
+ return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
192
+ })();
180
193
  if (!verified) {
181
- return { success: false, error: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest' };
194
+ return {
195
+ success: false,
196
+ error:
197
+ installed == null
198
+ ? 'Could not read installed version after update (npm list). Run: npm install -g ' +
199
+ validation.sanitized +
200
+ '@latest'
201
+ : 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
202
+ };
182
203
  }
183
-
204
+
184
205
  return { success: true };
185
206
  } catch (error: any) {
186
207
  return { success: false, error: error?.message || String(error) };