4runr-os 2.10.66 → 2.10.68
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.
- package/apps/gateway/dist/apps/gateway/src/index.js +2 -0
- package/apps/gateway/dist/apps/gateway/src/index.js.map +1 -1
- package/apps/gateway/dist/apps/gateway/src/routes/sentinel-policies.d.ts.map +1 -1
- package/apps/gateway/dist/apps/gateway/src/routes/sentinel-policies.js +8 -3
- package/apps/gateway/dist/apps/gateway/src/routes/sentinel-policies.js.map +1 -1
- package/apps/gateway/dist/apps/gateway/src/security/sentinel-config-store.d.ts +14 -0
- package/apps/gateway/dist/apps/gateway/src/security/sentinel-config-store.d.ts.map +1 -0
- package/apps/gateway/dist/apps/gateway/src/security/sentinel-config-store.js +168 -0
- package/apps/gateway/dist/apps/gateway/src/security/sentinel-config-store.js.map +1 -0
- package/apps/gateway/package-lock.json +125 -125
- package/apps/gateway/src/__tests__/run-kill.test.ts +80 -80
- package/apps/gateway/src/__tests__/sentinel-events.test.ts +95 -95
- package/apps/gateway/src/__tests__/sentinel-execute-watch.test.ts +45 -45
- package/apps/gateway/src/__tests__/sentinel-policies.test.ts +90 -90
- package/apps/gateway/src/__tests__/sentinel-publish-kill.test.ts +30 -30
- package/apps/gateway/src/__tests__/sentinel-run-failure.test.ts +89 -89
- package/apps/gateway/src/adapters/gateway-cancel-adapter.ts +32 -32
- package/apps/gateway/src/queue/sentinel-execute-watch.ts +42 -42
- package/apps/gateway/src/runs/run-kill.ts +117 -117
- package/apps/gateway/src/security/sentinel-run-failure.ts +85 -85
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +47 -26
- package/dist/version-check.js.map +1 -1
- package/package.json +4 -4
- package/scripts/os-tools-smoke.cjs +460 -460
|
@@ -199,16 +199,16 @@
|
|
|
199
199
|
}
|
|
200
200
|
},
|
|
201
201
|
"node_modules/@aws-sdk/client-kms": {
|
|
202
|
-
"version": "3.
|
|
203
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.
|
|
204
|
-
"integrity": "sha512-
|
|
202
|
+
"version": "3.1063.0",
|
|
203
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.1063.0.tgz",
|
|
204
|
+
"integrity": "sha512-nRq2Hcyxh6nl3dZ6dVXIF5lh650u8eIcpVZ1Ur6Lk/IiuQw9OFCP7KL4TDRpePzpIDL15aUFPjc9gLMmI6Q1zw==",
|
|
205
205
|
"license": "Apache-2.0",
|
|
206
206
|
"dependencies": {
|
|
207
207
|
"@aws-crypto/sha256-browser": "5.2.0",
|
|
208
208
|
"@aws-crypto/sha256-js": "5.2.0",
|
|
209
|
-
"@aws-sdk/core": "^3.974.
|
|
210
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
211
|
-
"@aws-sdk/types": "^3.973.
|
|
209
|
+
"@aws-sdk/core": "^3.974.18",
|
|
210
|
+
"@aws-sdk/credential-provider-node": "^3.972.52",
|
|
211
|
+
"@aws-sdk/types": "^3.973.11",
|
|
212
212
|
"@smithy/core": "^3.24.6",
|
|
213
213
|
"@smithy/fetch-http-handler": "^5.4.6",
|
|
214
214
|
"@smithy/node-http-handler": "^4.7.6",
|
|
@@ -220,16 +220,16 @@
|
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"node_modules/@aws-sdk/client-secrets-manager": {
|
|
223
|
-
"version": "3.
|
|
224
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.
|
|
225
|
-
"integrity": "sha512-
|
|
223
|
+
"version": "3.1063.0",
|
|
224
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.1063.0.tgz",
|
|
225
|
+
"integrity": "sha512-oP3/vHpo93rb/0JWhNcLA7fVbV1I6fBV9DrprScf71t3EVzwMyqLnVuv+5q2/3o32sCZ58YouZmqL0CqczyQzA==",
|
|
226
226
|
"license": "Apache-2.0",
|
|
227
227
|
"dependencies": {
|
|
228
228
|
"@aws-crypto/sha256-browser": "5.2.0",
|
|
229
229
|
"@aws-crypto/sha256-js": "5.2.0",
|
|
230
|
-
"@aws-sdk/core": "^3.974.
|
|
231
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
232
|
-
"@aws-sdk/types": "^3.973.
|
|
230
|
+
"@aws-sdk/core": "^3.974.18",
|
|
231
|
+
"@aws-sdk/credential-provider-node": "^3.972.52",
|
|
232
|
+
"@aws-sdk/types": "^3.973.11",
|
|
233
233
|
"@smithy/core": "^3.24.6",
|
|
234
234
|
"@smithy/fetch-http-handler": "^5.4.6",
|
|
235
235
|
"@smithy/node-http-handler": "^4.7.6",
|
|
@@ -241,16 +241,16 @@
|
|
|
241
241
|
}
|
|
242
242
|
},
|
|
243
243
|
"node_modules/@aws-sdk/client-ssm": {
|
|
244
|
-
"version": "3.
|
|
245
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.
|
|
246
|
-
"integrity": "sha512-
|
|
244
|
+
"version": "3.1063.0",
|
|
245
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.1063.0.tgz",
|
|
246
|
+
"integrity": "sha512-qLXNofwgCB7/3mhWR9pz/bnNgyvSxjp38SvhTazESrt3mLtX9+kMg8UOKTZol0mvZg209UVIS82xY1JhJDtGpA==",
|
|
247
247
|
"license": "Apache-2.0",
|
|
248
248
|
"dependencies": {
|
|
249
249
|
"@aws-crypto/sha256-browser": "5.2.0",
|
|
250
250
|
"@aws-crypto/sha256-js": "5.2.0",
|
|
251
|
-
"@aws-sdk/core": "^3.974.
|
|
252
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
253
|
-
"@aws-sdk/types": "^3.973.
|
|
251
|
+
"@aws-sdk/core": "^3.974.18",
|
|
252
|
+
"@aws-sdk/credential-provider-node": "^3.972.52",
|
|
253
|
+
"@aws-sdk/types": "^3.973.11",
|
|
254
254
|
"@smithy/core": "^3.24.6",
|
|
255
255
|
"@smithy/fetch-http-handler": "^5.4.6",
|
|
256
256
|
"@smithy/node-http-handler": "^4.7.6",
|
|
@@ -262,13 +262,13 @@
|
|
|
262
262
|
}
|
|
263
263
|
},
|
|
264
264
|
"node_modules/@aws-sdk/core": {
|
|
265
|
-
"version": "3.974.
|
|
266
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.
|
|
267
|
-
"integrity": "sha512-
|
|
265
|
+
"version": "3.974.18",
|
|
266
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.18.tgz",
|
|
267
|
+
"integrity": "sha512-JDYCPI0j7zGrzXTDFsLB346cxss7J/AxH7+O0MzWlqppJBEyB9Qe6TQXRL6iwLUo/xZkNv9KFmBL2hqElmwW0g==",
|
|
268
268
|
"license": "Apache-2.0",
|
|
269
269
|
"dependencies": {
|
|
270
|
-
"@aws-sdk/types": "^3.973.
|
|
271
|
-
"@aws-sdk/xml-builder": "^3.972.
|
|
270
|
+
"@aws-sdk/types": "^3.973.11",
|
|
271
|
+
"@aws-sdk/xml-builder": "^3.972.28",
|
|
272
272
|
"@aws/lambda-invoke-store": "^0.2.2",
|
|
273
273
|
"@smithy/core": "^3.24.6",
|
|
274
274
|
"@smithy/signature-v4": "^5.4.6",
|
|
@@ -281,13 +281,13 @@
|
|
|
281
281
|
}
|
|
282
282
|
},
|
|
283
283
|
"node_modules/@aws-sdk/credential-provider-env": {
|
|
284
|
-
"version": "3.972.
|
|
285
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.
|
|
286
|
-
"integrity": "sha512-
|
|
284
|
+
"version": "3.972.44",
|
|
285
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.44.tgz",
|
|
286
|
+
"integrity": "sha512-3hKJVrZ7bqXzDAXCQp+OaQ1ASN+vWstaNuEH418wQVl//cRZhqhfR9Bjk1qIWmgUGe8/D3gdO73PgidRj378EQ==",
|
|
287
287
|
"license": "Apache-2.0",
|
|
288
288
|
"dependencies": {
|
|
289
|
-
"@aws-sdk/core": "^3.974.
|
|
290
|
-
"@aws-sdk/types": "^3.973.
|
|
289
|
+
"@aws-sdk/core": "^3.974.18",
|
|
290
|
+
"@aws-sdk/types": "^3.973.11",
|
|
291
291
|
"@smithy/core": "^3.24.6",
|
|
292
292
|
"@smithy/types": "^4.14.3",
|
|
293
293
|
"tslib": "^2.6.2"
|
|
@@ -297,13 +297,13 @@
|
|
|
297
297
|
}
|
|
298
298
|
},
|
|
299
299
|
"node_modules/@aws-sdk/credential-provider-http": {
|
|
300
|
-
"version": "3.972.
|
|
301
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.
|
|
302
|
-
"integrity": "sha512-
|
|
300
|
+
"version": "3.972.46",
|
|
301
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.46.tgz",
|
|
302
|
+
"integrity": "sha512-VhwC9pGAZHhiQ2xSViyOPDFqvr9aRxGCAXZtADsUhU3R65nad7y//CwynE6mQnWNR+suRlqE79W36IVayL+m1g==",
|
|
303
303
|
"license": "Apache-2.0",
|
|
304
304
|
"dependencies": {
|
|
305
|
-
"@aws-sdk/core": "^3.974.
|
|
306
|
-
"@aws-sdk/types": "^3.973.
|
|
305
|
+
"@aws-sdk/core": "^3.974.18",
|
|
306
|
+
"@aws-sdk/types": "^3.973.11",
|
|
307
307
|
"@smithy/core": "^3.24.6",
|
|
308
308
|
"@smithy/fetch-http-handler": "^5.4.6",
|
|
309
309
|
"@smithy/node-http-handler": "^4.7.6",
|
|
@@ -315,20 +315,20 @@
|
|
|
315
315
|
}
|
|
316
316
|
},
|
|
317
317
|
"node_modules/@aws-sdk/credential-provider-ini": {
|
|
318
|
-
"version": "3.972.
|
|
319
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.
|
|
320
|
-
"integrity": "sha512-
|
|
318
|
+
"version": "3.972.50",
|
|
319
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.50.tgz",
|
|
320
|
+
"integrity": "sha512-09Xi6ovxiK42+De/qBGF71sT5F2bWgYM+1fFyDwSOpy1xpsQ5R/naIu7MVDpH6Dic36QNc8dAv4KADtMGK2JYg==",
|
|
321
321
|
"license": "Apache-2.0",
|
|
322
322
|
"dependencies": {
|
|
323
|
-
"@aws-sdk/core": "^3.974.
|
|
324
|
-
"@aws-sdk/credential-provider-env": "^3.972.
|
|
325
|
-
"@aws-sdk/credential-provider-http": "^3.972.
|
|
326
|
-
"@aws-sdk/credential-provider-login": "^3.972.
|
|
327
|
-
"@aws-sdk/credential-provider-process": "^3.972.
|
|
328
|
-
"@aws-sdk/credential-provider-sso": "^3.972.
|
|
329
|
-
"@aws-sdk/credential-provider-web-identity": "^3.972.
|
|
330
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
331
|
-
"@aws-sdk/types": "^3.973.
|
|
323
|
+
"@aws-sdk/core": "^3.974.18",
|
|
324
|
+
"@aws-sdk/credential-provider-env": "^3.972.44",
|
|
325
|
+
"@aws-sdk/credential-provider-http": "^3.972.46",
|
|
326
|
+
"@aws-sdk/credential-provider-login": "^3.972.49",
|
|
327
|
+
"@aws-sdk/credential-provider-process": "^3.972.44",
|
|
328
|
+
"@aws-sdk/credential-provider-sso": "^3.972.49",
|
|
329
|
+
"@aws-sdk/credential-provider-web-identity": "^3.972.49",
|
|
330
|
+
"@aws-sdk/nested-clients": "^3.997.17",
|
|
331
|
+
"@aws-sdk/types": "^3.973.11",
|
|
332
332
|
"@smithy/core": "^3.24.6",
|
|
333
333
|
"@smithy/credential-provider-imds": "^4.3.7",
|
|
334
334
|
"@smithy/types": "^4.14.3",
|
|
@@ -339,14 +339,14 @@
|
|
|
339
339
|
}
|
|
340
340
|
},
|
|
341
341
|
"node_modules/@aws-sdk/credential-provider-login": {
|
|
342
|
-
"version": "3.972.
|
|
343
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.
|
|
344
|
-
"integrity": "sha512
|
|
342
|
+
"version": "3.972.49",
|
|
343
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.49.tgz",
|
|
344
|
+
"integrity": "sha512-EfJF/1Fh9mI4pZyoheU2RY9xUhTcugIZNkD63+orXMkYj/QXacJNbKVDUK90Yv5hE+aX+rt9J/EZ9Qr3vKOa7g==",
|
|
345
345
|
"license": "Apache-2.0",
|
|
346
346
|
"dependencies": {
|
|
347
|
-
"@aws-sdk/core": "^3.974.
|
|
348
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
349
|
-
"@aws-sdk/types": "^3.973.
|
|
347
|
+
"@aws-sdk/core": "^3.974.18",
|
|
348
|
+
"@aws-sdk/nested-clients": "^3.997.17",
|
|
349
|
+
"@aws-sdk/types": "^3.973.11",
|
|
350
350
|
"@smithy/core": "^3.24.6",
|
|
351
351
|
"@smithy/types": "^4.14.3",
|
|
352
352
|
"tslib": "^2.6.2"
|
|
@@ -356,18 +356,18 @@
|
|
|
356
356
|
}
|
|
357
357
|
},
|
|
358
358
|
"node_modules/@aws-sdk/credential-provider-node": {
|
|
359
|
-
"version": "3.972.
|
|
360
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.
|
|
361
|
-
"integrity": "sha512-
|
|
359
|
+
"version": "3.972.52",
|
|
360
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.52.tgz",
|
|
361
|
+
"integrity": "sha512-7QX+PbyiWBEOVipJq8Nke/TqXT6lAPLE7fvTaopa39/IVWuLfS+Fzdy71sZJONf/mLGgmtj6aU17+REw3+aRrw==",
|
|
362
362
|
"license": "Apache-2.0",
|
|
363
363
|
"dependencies": {
|
|
364
|
-
"@aws-sdk/credential-provider-env": "^3.972.
|
|
365
|
-
"@aws-sdk/credential-provider-http": "^3.972.
|
|
366
|
-
"@aws-sdk/credential-provider-ini": "^3.972.
|
|
367
|
-
"@aws-sdk/credential-provider-process": "^3.972.
|
|
368
|
-
"@aws-sdk/credential-provider-sso": "^3.972.
|
|
369
|
-
"@aws-sdk/credential-provider-web-identity": "^3.972.
|
|
370
|
-
"@aws-sdk/types": "^3.973.
|
|
364
|
+
"@aws-sdk/credential-provider-env": "^3.972.44",
|
|
365
|
+
"@aws-sdk/credential-provider-http": "^3.972.46",
|
|
366
|
+
"@aws-sdk/credential-provider-ini": "^3.972.50",
|
|
367
|
+
"@aws-sdk/credential-provider-process": "^3.972.44",
|
|
368
|
+
"@aws-sdk/credential-provider-sso": "^3.972.49",
|
|
369
|
+
"@aws-sdk/credential-provider-web-identity": "^3.972.49",
|
|
370
|
+
"@aws-sdk/types": "^3.973.11",
|
|
371
371
|
"@smithy/core": "^3.24.6",
|
|
372
372
|
"@smithy/credential-provider-imds": "^4.3.7",
|
|
373
373
|
"@smithy/types": "^4.14.3",
|
|
@@ -378,13 +378,13 @@
|
|
|
378
378
|
}
|
|
379
379
|
},
|
|
380
380
|
"node_modules/@aws-sdk/credential-provider-process": {
|
|
381
|
-
"version": "3.972.
|
|
382
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.
|
|
383
|
-
"integrity": "sha512-
|
|
381
|
+
"version": "3.972.44",
|
|
382
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.44.tgz",
|
|
383
|
+
"integrity": "sha512-V+UUhZpRP7QDRhi+qgBDisM9tUBnYmMje8Bk77A6MZsfeGeGdMsQXmaHP1CDYFcept0o/Rz5g2Y0TMeVlG9dzg==",
|
|
384
384
|
"license": "Apache-2.0",
|
|
385
385
|
"dependencies": {
|
|
386
|
-
"@aws-sdk/core": "^3.974.
|
|
387
|
-
"@aws-sdk/types": "^3.973.
|
|
386
|
+
"@aws-sdk/core": "^3.974.18",
|
|
387
|
+
"@aws-sdk/types": "^3.973.11",
|
|
388
388
|
"@smithy/core": "^3.24.6",
|
|
389
389
|
"@smithy/types": "^4.14.3",
|
|
390
390
|
"tslib": "^2.6.2"
|
|
@@ -394,15 +394,15 @@
|
|
|
394
394
|
}
|
|
395
395
|
},
|
|
396
396
|
"node_modules/@aws-sdk/credential-provider-sso": {
|
|
397
|
-
"version": "3.972.
|
|
398
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.
|
|
399
|
-
"integrity": "sha512-
|
|
397
|
+
"version": "3.972.49",
|
|
398
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.49.tgz",
|
|
399
|
+
"integrity": "sha512-9QqOYGuh5tZ76OzaT68kwI78AH+5lS/uZGGvkfxb3fc8FzRrIz2jOufNTliEBEeSAwmgK2rWLNsK+IB3zbtNPA==",
|
|
400
400
|
"license": "Apache-2.0",
|
|
401
401
|
"dependencies": {
|
|
402
|
-
"@aws-sdk/core": "^3.974.
|
|
403
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
404
|
-
"@aws-sdk/token-providers": "3.
|
|
405
|
-
"@aws-sdk/types": "^3.973.
|
|
402
|
+
"@aws-sdk/core": "^3.974.18",
|
|
403
|
+
"@aws-sdk/nested-clients": "^3.997.17",
|
|
404
|
+
"@aws-sdk/token-providers": "3.1063.0",
|
|
405
|
+
"@aws-sdk/types": "^3.973.11",
|
|
406
406
|
"@smithy/core": "^3.24.6",
|
|
407
407
|
"@smithy/types": "^4.14.3",
|
|
408
408
|
"tslib": "^2.6.2"
|
|
@@ -412,14 +412,14 @@
|
|
|
412
412
|
}
|
|
413
413
|
},
|
|
414
414
|
"node_modules/@aws-sdk/credential-provider-web-identity": {
|
|
415
|
-
"version": "3.972.
|
|
416
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.
|
|
417
|
-
"integrity": "sha512-
|
|
415
|
+
"version": "3.972.49",
|
|
416
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.49.tgz",
|
|
417
|
+
"integrity": "sha512-IYx1lN38MnnPXv+NBLpuATu0cZakbZ321TAfjW+aVkw7HIJF38YnEwdeEO55MSl3pl7hIX1IvvnD6EmnAzmAJw==",
|
|
418
418
|
"license": "Apache-2.0",
|
|
419
419
|
"dependencies": {
|
|
420
|
-
"@aws-sdk/core": "^3.974.
|
|
421
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
422
|
-
"@aws-sdk/types": "^3.973.
|
|
420
|
+
"@aws-sdk/core": "^3.974.18",
|
|
421
|
+
"@aws-sdk/nested-clients": "^3.997.17",
|
|
422
|
+
"@aws-sdk/types": "^3.973.11",
|
|
423
423
|
"@smithy/core": "^3.24.6",
|
|
424
424
|
"@smithy/types": "^4.14.3",
|
|
425
425
|
"tslib": "^2.6.2"
|
|
@@ -429,16 +429,16 @@
|
|
|
429
429
|
}
|
|
430
430
|
},
|
|
431
431
|
"node_modules/@aws-sdk/nested-clients": {
|
|
432
|
-
"version": "3.997.
|
|
433
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.
|
|
434
|
-
"integrity": "sha512-
|
|
432
|
+
"version": "3.997.17",
|
|
433
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.17.tgz",
|
|
434
|
+
"integrity": "sha512-lDRgraoTfKRawUyc176Ow93mrNrOho/x+EoK4C+lKU+vKkHWhNhzvSMVAx0WEJUJoeQxxDN5ZdKMfiGEyNejig==",
|
|
435
435
|
"license": "Apache-2.0",
|
|
436
436
|
"dependencies": {
|
|
437
437
|
"@aws-crypto/sha256-browser": "5.2.0",
|
|
438
438
|
"@aws-crypto/sha256-js": "5.2.0",
|
|
439
|
-
"@aws-sdk/core": "^3.974.
|
|
440
|
-
"@aws-sdk/signature-v4-multi-region": "^3.996.
|
|
441
|
-
"@aws-sdk/types": "^3.973.
|
|
439
|
+
"@aws-sdk/core": "^3.974.18",
|
|
440
|
+
"@aws-sdk/signature-v4-multi-region": "^3.996.32",
|
|
441
|
+
"@aws-sdk/types": "^3.973.11",
|
|
442
442
|
"@smithy/core": "^3.24.6",
|
|
443
443
|
"@smithy/fetch-http-handler": "^5.4.6",
|
|
444
444
|
"@smithy/node-http-handler": "^4.7.6",
|
|
@@ -450,12 +450,12 @@
|
|
|
450
450
|
}
|
|
451
451
|
},
|
|
452
452
|
"node_modules/@aws-sdk/signature-v4-multi-region": {
|
|
453
|
-
"version": "3.996.
|
|
454
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.
|
|
455
|
-
"integrity": "sha512-
|
|
453
|
+
"version": "3.996.32",
|
|
454
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.32.tgz",
|
|
455
|
+
"integrity": "sha512-llvApLcsWtmRFhG2wT3WIp1CmDeRaIYutqty1ZZXoMzK7TiJ6MOLOimk9eXUS8PwgG4ew4pa4QAbt0lfhn++1w==",
|
|
456
456
|
"license": "Apache-2.0",
|
|
457
457
|
"dependencies": {
|
|
458
|
-
"@aws-sdk/types": "^3.973.
|
|
458
|
+
"@aws-sdk/types": "^3.973.11",
|
|
459
459
|
"@smithy/signature-v4": "^5.4.6",
|
|
460
460
|
"@smithy/types": "^4.14.3",
|
|
461
461
|
"tslib": "^2.6.2"
|
|
@@ -465,14 +465,14 @@
|
|
|
465
465
|
}
|
|
466
466
|
},
|
|
467
467
|
"node_modules/@aws-sdk/token-providers": {
|
|
468
|
-
"version": "3.
|
|
469
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.
|
|
470
|
-
"integrity": "sha512-
|
|
468
|
+
"version": "3.1063.0",
|
|
469
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1063.0.tgz",
|
|
470
|
+
"integrity": "sha512-nYDaWWdzjKiDP5xj8k4oUgcYd4WPgzfAOgdU5vJsaqH/07Dfvm7ffisHCFJ+NEl7kUC9JEIUxh0kznvenbo3NQ==",
|
|
471
471
|
"license": "Apache-2.0",
|
|
472
472
|
"dependencies": {
|
|
473
|
-
"@aws-sdk/core": "^3.974.
|
|
474
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
475
|
-
"@aws-sdk/types": "^3.973.
|
|
473
|
+
"@aws-sdk/core": "^3.974.18",
|
|
474
|
+
"@aws-sdk/nested-clients": "^3.997.17",
|
|
475
|
+
"@aws-sdk/types": "^3.973.11",
|
|
476
476
|
"@smithy/core": "^3.24.6",
|
|
477
477
|
"@smithy/types": "^4.14.3",
|
|
478
478
|
"tslib": "^2.6.2"
|
|
@@ -482,9 +482,9 @@
|
|
|
482
482
|
}
|
|
483
483
|
},
|
|
484
484
|
"node_modules/@aws-sdk/types": {
|
|
485
|
-
"version": "3.973.
|
|
486
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.
|
|
487
|
-
"integrity": "sha512-
|
|
485
|
+
"version": "3.973.11",
|
|
486
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.11.tgz",
|
|
487
|
+
"integrity": "sha512-YjS0qFuECClRh4qhEyW8XagW0fwEPBeZ1cfsW/gU73Kh/ExFILxbzxOfPCmzF/2DwEvhvsHYt0b0qnvStwKYrg==",
|
|
488
488
|
"license": "Apache-2.0",
|
|
489
489
|
"dependencies": {
|
|
490
490
|
"@smithy/types": "^4.14.3",
|
|
@@ -495,9 +495,9 @@
|
|
|
495
495
|
}
|
|
496
496
|
},
|
|
497
497
|
"node_modules/@aws-sdk/util-locate-window": {
|
|
498
|
-
"version": "3.965.
|
|
499
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.
|
|
500
|
-
"integrity": "sha512-
|
|
498
|
+
"version": "3.965.6",
|
|
499
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.6.tgz",
|
|
500
|
+
"integrity": "sha512-ZfHjfwSzeXj+Lg9AK5ZNmeDkXev6V+w2tn1t4kgDdRtUaRCthepTQiFwbD06EF9oNGH4LaLg+Mb6U16Ypv5bSw==",
|
|
501
501
|
"license": "Apache-2.0",
|
|
502
502
|
"dependencies": {
|
|
503
503
|
"tslib": "^2.6.2"
|
|
@@ -507,9 +507,9 @@
|
|
|
507
507
|
}
|
|
508
508
|
},
|
|
509
509
|
"node_modules/@aws-sdk/xml-builder": {
|
|
510
|
-
"version": "3.972.
|
|
511
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.
|
|
512
|
-
"integrity": "sha512-
|
|
510
|
+
"version": "3.972.28",
|
|
511
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.28.tgz",
|
|
512
|
+
"integrity": "sha512-lI/l3c/vPvsxmspzV63NfS3x9q4CkMmdhJy4QiM+NThAufVkDvi/PZZQ6xETnICL0UD7jI808pY83gllf86RFg==",
|
|
513
513
|
"license": "Apache-2.0",
|
|
514
514
|
"dependencies": {
|
|
515
515
|
"@smithy/types": "^4.14.3",
|
|
@@ -2709,9 +2709,9 @@
|
|
|
2709
2709
|
}
|
|
2710
2710
|
},
|
|
2711
2711
|
"node_modules/@smithy/credential-provider-imds": {
|
|
2712
|
-
"version": "4.3.
|
|
2713
|
-
"resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.
|
|
2714
|
-
"integrity": "sha512-
|
|
2712
|
+
"version": "4.3.8",
|
|
2713
|
+
"resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.8.tgz",
|
|
2714
|
+
"integrity": "sha512-5cAM+KZC02sTqDt6NaLXyu50M/GNMd1eTzDVR8Lb0BBsVtu7RWHo47VPPEEv1vt3Yub6uzr+M5FHC+GtoT0USg==",
|
|
2715
2715
|
"license": "Apache-2.0",
|
|
2716
2716
|
"dependencies": {
|
|
2717
2717
|
"@smithy/core": "^3.24.6",
|
|
@@ -2749,9 +2749,9 @@
|
|
|
2749
2749
|
}
|
|
2750
2750
|
},
|
|
2751
2751
|
"node_modules/@smithy/node-http-handler": {
|
|
2752
|
-
"version": "4.7.
|
|
2753
|
-
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.
|
|
2754
|
-
"integrity": "sha512-
|
|
2752
|
+
"version": "4.7.7",
|
|
2753
|
+
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.7.tgz",
|
|
2754
|
+
"integrity": "sha512-ZAFvHXrEk6K180EVhmZVg8GU5pUH5BSFqRs27JW3j1qEFx9YyYwWFx17x/MHcjALYimGAji7qEOlF1++be+G5A==",
|
|
2755
2755
|
"license": "Apache-2.0",
|
|
2756
2756
|
"dependencies": {
|
|
2757
2757
|
"@smithy/core": "^3.24.6",
|
|
@@ -3546,9 +3546,9 @@
|
|
|
3546
3546
|
"license": "MIT"
|
|
3547
3547
|
},
|
|
3548
3548
|
"node_modules/baseline-browser-mapping": {
|
|
3549
|
-
"version": "2.10.
|
|
3550
|
-
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.
|
|
3551
|
-
"integrity": "sha512-
|
|
3549
|
+
"version": "2.10.34",
|
|
3550
|
+
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz",
|
|
3551
|
+
"integrity": "sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==",
|
|
3552
3552
|
"dev": true,
|
|
3553
3553
|
"license": "Apache-2.0",
|
|
3554
3554
|
"bin": {
|
|
@@ -4123,9 +4123,9 @@
|
|
|
4123
4123
|
}
|
|
4124
4124
|
},
|
|
4125
4125
|
"node_modules/electron-to-chromium": {
|
|
4126
|
-
"version": "1.5.
|
|
4127
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.
|
|
4128
|
-
"integrity": "sha512-
|
|
4126
|
+
"version": "1.5.368",
|
|
4127
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.368.tgz",
|
|
4128
|
+
"integrity": "sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw==",
|
|
4129
4129
|
"dev": true,
|
|
4130
4130
|
"license": "ISC"
|
|
4131
4131
|
},
|
|
@@ -5361,9 +5361,9 @@
|
|
|
5361
5361
|
"license": "ISC"
|
|
5362
5362
|
},
|
|
5363
5363
|
"node_modules/ioredis": {
|
|
5364
|
-
"version": "5.11.
|
|
5365
|
-
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.11.
|
|
5366
|
-
"integrity": "sha512-
|
|
5364
|
+
"version": "5.11.1",
|
|
5365
|
+
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.11.1.tgz",
|
|
5366
|
+
"integrity": "sha512-ehuGcf94bQXhfagULNXrJdfnWO38v070jxSx/qE87Kjzmu2fU7ro5EFAb+OPituLqgfyuQaym5DlrNydW2sJ9A==",
|
|
5367
5367
|
"license": "MIT",
|
|
5368
5368
|
"dependencies": {
|
|
5369
5369
|
"@ioredis/commands": "1.10.0",
|
|
@@ -6747,9 +6747,9 @@
|
|
|
6747
6747
|
"license": "MIT"
|
|
6748
6748
|
},
|
|
6749
6749
|
"node_modules/msgpackr": {
|
|
6750
|
-
"version": "1.11.
|
|
6751
|
-
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.
|
|
6752
|
-
"integrity": "sha512-
|
|
6750
|
+
"version": "1.11.13",
|
|
6751
|
+
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.13.tgz",
|
|
6752
|
+
"integrity": "sha512-pWaxg0k1iiNdkAayUQ7Zlz/vYNfVefUttmHxqFcQjjtyqFa3w4x5rginOEzy/GvbWhBDD9K65/ZXyq8qz8utaQ==",
|
|
6753
6753
|
"license": "MIT",
|
|
6754
6754
|
"optionalDependencies": {
|
|
6755
6755
|
"msgpackr-extract": "^3.0.2"
|
|
@@ -7907,9 +7907,9 @@
|
|
|
7907
7907
|
"license": "BSD-3-Clause"
|
|
7908
7908
|
},
|
|
7909
7909
|
"node_modules/semver": {
|
|
7910
|
-
"version": "7.8.
|
|
7911
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.
|
|
7912
|
-
"integrity": "sha512-
|
|
7910
|
+
"version": "7.8.2",
|
|
7911
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz",
|
|
7912
|
+
"integrity": "sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==",
|
|
7913
7913
|
"license": "ISC",
|
|
7914
7914
|
"bin": {
|
|
7915
7915
|
"semver": "bin/semver.js"
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* applyRunKill unit tests
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { describe, it, expect, beforeEach, jest } from '@jest/globals';
|
|
6
|
-
import { MemoryRunStore } from '../runs/memoryRunStore.js';
|
|
7
|
-
import {
|
|
8
|
-
applyRunKill,
|
|
9
|
-
setRunKillSideEffects,
|
|
10
|
-
isTerminalRunStatus,
|
|
11
|
-
} from '../runs/run-kill.js';
|
|
12
|
-
import { resetMetrics, sentinelKillsTotal } from '../metrics/index.js';
|
|
13
|
-
|
|
14
|
-
const mockPublish = jest.fn<() => Promise<void>>().mockResolvedValue(undefined);
|
|
15
|
-
|
|
16
|
-
jest.mock('../db/redis.js', () => ({
|
|
17
|
-
getRedisClient: jest.fn(() => Promise.resolve({ publish: mockPublish })),
|
|
18
|
-
}));
|
|
19
|
-
|
|
20
|
-
jest.mock('../queue/index.js', () => ({
|
|
21
|
-
removeRunExecutionJob: jest.fn(() => Promise.resolve()),
|
|
22
|
-
}));
|
|
23
|
-
|
|
24
|
-
const storeRef: { current: MemoryRunStore } = { current: new MemoryRunStore() };
|
|
25
|
-
|
|
26
|
-
jest.mock('../runs/index.js', () => ({
|
|
27
|
-
getRunStore: () => storeRef.current,
|
|
28
|
-
}));
|
|
29
|
-
|
|
30
|
-
describe('applyRunKill', () => {
|
|
31
|
-
beforeEach(async () => {
|
|
32
|
-
resetMetrics();
|
|
33
|
-
mockPublish.mockClear();
|
|
34
|
-
setRunKillSideEffects({});
|
|
35
|
-
storeRef.current = new MemoryRunStore();
|
|
36
|
-
await storeRef.current.createRun({ id: 'run-1', name: 'Test', input: {} });
|
|
37
|
-
await storeRef.current.updateRunStatus('run-1', 'running', {
|
|
38
|
-
startedAt: new Date().toISOString(),
|
|
39
|
-
logs: [{ timestamp: 't0', level: 'info', message: 'started' }],
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('persists killed status, appends logs, and publishes once', async () => {
|
|
44
|
-
const result = await applyRunKill('run-1', 'policy_violation:timeout');
|
|
45
|
-
|
|
46
|
-
expect(result.applied).toBe(true);
|
|
47
|
-
expect(result.idempotent).toBe(false);
|
|
48
|
-
|
|
49
|
-
const run = await storeRef.current.getRunById('run-1');
|
|
50
|
-
expect(run?.status).toBe('killed');
|
|
51
|
-
expect(run?.logs).toHaveLength(2);
|
|
52
|
-
expect(run?.logs?.[0]?.message).toBe('started');
|
|
53
|
-
expect(run?.output).toMatchObject({
|
|
54
|
-
source: 'sentinel',
|
|
55
|
-
action: 'deny',
|
|
56
|
-
policy: 'timeout',
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
expect(mockPublish).toHaveBeenCalled();
|
|
60
|
-
const metrics = await sentinelKillsTotal.get();
|
|
61
|
-
expect(metrics.values.some((v) => v.labels.trigger === 'policy')).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('is idempotent for terminal runs and does not publish', async () => {
|
|
65
|
-
await applyRunKill('run-1', 'manual_cancellation');
|
|
66
|
-
mockPublish.mockClear();
|
|
67
|
-
resetMetrics();
|
|
68
|
-
|
|
69
|
-
const result = await applyRunKill('run-1', 'manual_cancellation');
|
|
70
|
-
|
|
71
|
-
expect(result.applied).toBe(false);
|
|
72
|
-
expect(result.idempotent).toBe(true);
|
|
73
|
-
expect(mockPublish).not.toHaveBeenCalled();
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
it('isTerminalRunStatus covers killed/completed/failed', () => {
|
|
77
|
-
expect(isTerminalRunStatus('killed')).toBe(true);
|
|
78
|
-
expect(isTerminalRunStatus('running')).toBe(false);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
1
|
+
/**
|
|
2
|
+
* applyRunKill unit tests
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { describe, it, expect, beforeEach, jest } from '@jest/globals';
|
|
6
|
+
import { MemoryRunStore } from '../runs/memoryRunStore.js';
|
|
7
|
+
import {
|
|
8
|
+
applyRunKill,
|
|
9
|
+
setRunKillSideEffects,
|
|
10
|
+
isTerminalRunStatus,
|
|
11
|
+
} from '../runs/run-kill.js';
|
|
12
|
+
import { resetMetrics, sentinelKillsTotal } from '../metrics/index.js';
|
|
13
|
+
|
|
14
|
+
const mockPublish = jest.fn<() => Promise<void>>().mockResolvedValue(undefined);
|
|
15
|
+
|
|
16
|
+
jest.mock('../db/redis.js', () => ({
|
|
17
|
+
getRedisClient: jest.fn(() => Promise.resolve({ publish: mockPublish })),
|
|
18
|
+
}));
|
|
19
|
+
|
|
20
|
+
jest.mock('../queue/index.js', () => ({
|
|
21
|
+
removeRunExecutionJob: jest.fn(() => Promise.resolve()),
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
const storeRef: { current: MemoryRunStore } = { current: new MemoryRunStore() };
|
|
25
|
+
|
|
26
|
+
jest.mock('../runs/index.js', () => ({
|
|
27
|
+
getRunStore: () => storeRef.current,
|
|
28
|
+
}));
|
|
29
|
+
|
|
30
|
+
describe('applyRunKill', () => {
|
|
31
|
+
beforeEach(async () => {
|
|
32
|
+
resetMetrics();
|
|
33
|
+
mockPublish.mockClear();
|
|
34
|
+
setRunKillSideEffects({});
|
|
35
|
+
storeRef.current = new MemoryRunStore();
|
|
36
|
+
await storeRef.current.createRun({ id: 'run-1', name: 'Test', input: {} });
|
|
37
|
+
await storeRef.current.updateRunStatus('run-1', 'running', {
|
|
38
|
+
startedAt: new Date().toISOString(),
|
|
39
|
+
logs: [{ timestamp: 't0', level: 'info', message: 'started' }],
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('persists killed status, appends logs, and publishes once', async () => {
|
|
44
|
+
const result = await applyRunKill('run-1', 'policy_violation:timeout');
|
|
45
|
+
|
|
46
|
+
expect(result.applied).toBe(true);
|
|
47
|
+
expect(result.idempotent).toBe(false);
|
|
48
|
+
|
|
49
|
+
const run = await storeRef.current.getRunById('run-1');
|
|
50
|
+
expect(run?.status).toBe('killed');
|
|
51
|
+
expect(run?.logs).toHaveLength(2);
|
|
52
|
+
expect(run?.logs?.[0]?.message).toBe('started');
|
|
53
|
+
expect(run?.output).toMatchObject({
|
|
54
|
+
source: 'sentinel',
|
|
55
|
+
action: 'deny',
|
|
56
|
+
policy: 'timeout',
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
expect(mockPublish).toHaveBeenCalled();
|
|
60
|
+
const metrics = await sentinelKillsTotal.get();
|
|
61
|
+
expect(metrics.values.some((v) => v.labels.trigger === 'policy')).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('is idempotent for terminal runs and does not publish', async () => {
|
|
65
|
+
await applyRunKill('run-1', 'manual_cancellation');
|
|
66
|
+
mockPublish.mockClear();
|
|
67
|
+
resetMetrics();
|
|
68
|
+
|
|
69
|
+
const result = await applyRunKill('run-1', 'manual_cancellation');
|
|
70
|
+
|
|
71
|
+
expect(result.applied).toBe(false);
|
|
72
|
+
expect(result.idempotent).toBe(true);
|
|
73
|
+
expect(mockPublish).not.toHaveBeenCalled();
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it('isTerminalRunStatus covers killed/completed/failed', () => {
|
|
77
|
+
expect(isTerminalRunStatus('killed')).toBe(true);
|
|
78
|
+
expect(isTerminalRunStatus('running')).toBe(false);
|
|
79
|
+
});
|
|
80
|
+
});
|