@aopslabs/aops 0.3.29 → 0.3.30

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.
@@ -112,6 +112,6 @@
112
112
  },
113
113
  "schemaVersion": 1,
114
114
  "standard": "aops-community-core-v1",
115
- "version": "0.3.29",
116
- "versionId": "community-core-0.3.29"
115
+ "version": "0.3.30",
116
+ "versionId": "community-core-0.3.30"
117
117
  }
@@ -10,8 +10,8 @@
10
10
  "name": "aops",
11
11
  "optional": false,
12
12
  "packageSha256": "bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb",
13
- "version": "0.3.29",
14
- "versionId": "community-core-0.3.29"
13
+ "version": "0.3.30",
14
+ "versionId": "community-core-0.3.30"
15
15
  },
16
16
  "gateway": {
17
17
  "byteLength": 621,
@@ -22,7 +22,7 @@
22
22
  "kind": "aops-community-agent-assets-inventory-v1",
23
23
  "schemaVersion": 1,
24
24
  "source": {
25
- "commit": "940d0ec66f682efc8e8048df6b4be3cd78f4d180",
25
+ "commit": "8d084ef76e3ea1057aa82cf25280dce207cde47f",
26
26
  "repository": "git+https://github.com/eeemzs/aops-platform",
27
27
  "root": "apps/aops-cli/assets/agent-assets"
28
28
  }
@@ -11,8 +11,8 @@
11
11
  "name": "aops",
12
12
  "optional": false,
13
13
  "packageSha256": "bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb",
14
- "version": "0.3.29",
15
- "versionId": "community-core-0.3.29"
14
+ "version": "0.3.30",
15
+ "versionId": "community-core-0.3.30"
16
16
  },
17
17
  "files": [
18
18
  {
@@ -118,7 +118,7 @@
118
118
  {
119
119
  "byteLength": 3811,
120
120
  "ref": "agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/manifest.json",
121
- "sha256": "0eccb48450d12a1d5d95bc5f16c0461449144989d142c8a2ea09179dbd55650d"
121
+ "sha256": "b73902ff389f02df01e917fcec610aa501a01edf2fba3f59785a15070aa345c1"
122
122
  },
123
123
  {
124
124
  "byteLength": 621,
@@ -128,7 +128,7 @@
128
128
  {
129
129
  "byteLength": 926,
130
130
  "ref": "agent-assets/inventory.json",
131
- "sha256": "f1c89a17b291a8a09915d7d4f51b322e55c51edc9368500ea24d44ca11f7ceb9"
131
+ "sha256": "80d09adabe66ddb276b74dde9cc90db52e88e698a0da2f26abac3f5843f61533"
132
132
  },
133
133
  {
134
134
  "byteLength": 281,
@@ -144,7 +144,7 @@
144
144
  },
145
145
  "inventory": {
146
146
  "ref": "agent-assets/inventory.json",
147
- "sha256": "f1c89a17b291a8a09915d7d4f51b322e55c51edc9368500ea24d44ca11f7ceb9"
147
+ "sha256": "80d09adabe66ddb276b74dde9cc90db52e88e698a0da2f26abac3f5843f61533"
148
148
  },
149
149
  "kind": "aops-community-agent-assets-release-v1",
150
150
  "projection": {
@@ -153,7 +153,7 @@
153
153
  },
154
154
  "root": "agent-assets",
155
155
  "schemaVersion": 1,
156
- "setSha256": "971d27634c354b7694cb121fda19879e869a67af35f0a039b185d37497c1a440"
156
+ "setSha256": "54f7a9b2533f458cba54371d6495006b6b13e2cad7f95a685ae4c69780af43c8"
157
157
  },
158
158
  "evidence": {
159
159
  "signature": {
@@ -161,10 +161,10 @@
161
161
  }
162
162
  },
163
163
  "kind": "aops-community-agent-assets-bundle-v1",
164
- "releaseVersion": "0.3.29",
164
+ "releaseVersion": "0.3.30",
165
165
  "schemaVersion": 1,
166
166
  "source": {
167
- "commit": "940d0ec66f682efc8e8048df6b4be3cd78f4d180",
167
+ "commit": "8d084ef76e3ea1057aa82cf25280dce207cde47f",
168
168
  "repository": "git+https://github.com/eeemzs/aops-platform",
169
169
  "root": "apps/aops-cli/assets/agent-assets"
170
170
  }
@@ -4,13 +4,13 @@
4
4
  "x509CertificateChain": {
5
5
  "certificates": [
6
6
  {
7
- "rawBytes": "MIIHczCCBvmgAwIBAgIUWM4xyIHxp4fzhxhR6kQk1qvW1WswCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODIyMTM1MDEzWhcNMjYwODIyMTQwMDEzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkBzJsGvzW4Ml8Q3pAn9ajJ0FctgRh9r+eDyWST/O/fKyM1yOkbWgr5GgrH7wJYL2O7L+U7B64pMChNr4DIC9NaOCBhgwggYUMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUhj76kjavIXeY/GU8ezBGHNdCf1gwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wdAYDVR0RAQH/BGowaIZmaHR0cHM6Ly9naXRodWIuY29tL2VlZW16cy9hb3BzLXBsYXRmb3JtLy5naXRodWIvd29ya2Zsb3dzL3NpZ24tcHVibGljLWFnZW50LWFzc2V0cy55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoOTQwZDBlYzY2ZjY4MmVmYzhlODA0OGRmNmI0YmUzY2Q3OGY0ZDE4MDAxBgorBgEEAYO/MAEEBCNTaWduIGV4YWN0IHB1YmxpYyBBT1BTIGFnZW50IGFzc2V0czAiBgorBgEEAYO/MAEFBBRlZWVtenMvYW9wcy1wbGF0Zm9ybTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHYGCisGAQQBg78wAQkEaAxmaHR0cHM6Ly9naXRodWIuY29tL2VlZW16cy9hb3BzLXBsYXRmb3JtLy5naXRodWIvd29ya2Zsb3dzL3NpZ24tcHVibGljLWFnZW50LWFzc2V0cy55bWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoOTQwZDBlYzY2ZjY4MmVmYzhlODA0OGRmNmI0YmUzY2Q3OGY0ZDE4MDAdBgorBgEEAYO/MAELBA8MDWdpdGh1Yi1ob3N0ZWQwNwYKKwYBBAGDvzABDAQpDCdodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0wOAYKKwYBBAGDvzABDQQqDCg5NDBkMGVjNjZmNjgyZWZjOGU4MDQ4ZGY2YjRiZTNjZDc4ZjRkMTgwMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTMxNjI1NTAyNjApBgorBgEEAYO/MAEQBBsMGWh0dHBzOi8vZ2l0aHViLmNvbS9lZWVtenMwGQYKKwYBBAGDvzABEQQLDAkxMDkzMTA3NzQwdgYKKwYBBAGDvzABEgRoDGZodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0vLmdpdGh1Yi93b3JrZmxvd3Mvc2lnbi1wdWJsaWMtYWdlbnQtYXNzZXRzLnltbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDCg5NDBkMGVjNjZmNjgyZWZjOGU4MDQ4ZGY2YjRiZTNjZDc4ZjRkMTgwMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwWwYKKwYBBAGDvzABFQRNDEtodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0vYWN0aW9ucy9ydW5zLzMyNTc2ODc1ODUzL2F0dGVtcHRzLzEwFwYKKwYBBAGDvzABFgQJDAdwcml2YXRlMFIGCisGAQQBg78wARgERAxCcmVwbzplZWVtenNAMTA5MzEwNzc0L2FvcHMtcGxhdGZvcm1AMTMxNjI1NTAyNjpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGgKbx9kAAABAMARjBEAiBYBcJIEIWb8TR3vNRIxEn+Qnmxy8KnNSTmTKYwHKmzJAIgOC8/xgboSPGwnv8j9/XSiJ+OgkK1tUKhV48FuRVafXswCgYIKoZIzj0EAwMDaAAwZQIwdCfAEFHnCfOfV76405IcOVIIebwXjOcgpLQ4DFs3kETduBh+sJ1W1WCSD8KHDZqZAjEAkeDWG04VtSkR8tooOIOhA90L32g7esdtIJhpsiZ+rouUTxyCmfB92LqrhM1cpuFg"
7
+ "rawBytes": "MIIHdDCCBvugAwIBAgIUJeTQynLDfVWGotuKWeCr+a+LLBwwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODIyMjMzODQxWhcNMjYwODIyMjM0ODQxWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAYamXNAqdEOwiY8UDX+T5acekli+eT6ioszttvMlh6f8uhEq+njXgF8IibHkJWTrbfx3/SqnsH00BXsbOVBhIKOCBhowggYWMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUn6gKgChbkn/Nmc0TWJpsyenJr4MwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wdAYDVR0RAQH/BGowaIZmaHR0cHM6Ly9naXRodWIuY29tL2VlZW16cy9hb3BzLXBsYXRmb3JtLy5naXRodWIvd29ya2Zsb3dzL3NpZ24tcHVibGljLWFnZW50LWFzc2V0cy55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoOGQwODRlZjc2ZTNlYTEwNTdhYTgyY2YyNTI4MGRjZTIwN2NkZTQ3ZjAxBgorBgEEAYO/MAEEBCNTaWduIGV4YWN0IHB1YmxpYyBBT1BTIGFnZW50IGFzc2V0czAiBgorBgEEAYO/MAEFBBRlZWVtenMvYW9wcy1wbGF0Zm9ybTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHYGCisGAQQBg78wAQkEaAxmaHR0cHM6Ly9naXRodWIuY29tL2VlZW16cy9hb3BzLXBsYXRmb3JtLy5naXRodWIvd29ya2Zsb3dzL3NpZ24tcHVibGljLWFnZW50LWFzc2V0cy55bWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoOGQwODRlZjc2ZTNlYTEwNTdhYTgyY2YyNTI4MGRjZTIwN2NkZTQ3ZjAdBgorBgEEAYO/MAELBA8MDWdpdGh1Yi1ob3N0ZWQwNwYKKwYBBAGDvzABDAQpDCdodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0wOAYKKwYBBAGDvzABDQQqDCg4ZDA4NGVmNzZlM2VhMTA1N2FhODJjZjI1MjgwZGNlMjA3Y2RlNDdmMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTMxNjI1NTAyNjApBgorBgEEAYO/MAEQBBsMGWh0dHBzOi8vZ2l0aHViLmNvbS9lZWVtenMwGQYKKwYBBAGDvzABEQQLDAkxMDkzMTA3NzQwdgYKKwYBBAGDvzABEgRoDGZodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0vLmdpdGh1Yi93b3JrZmxvd3Mvc2lnbi1wdWJsaWMtYWdlbnQtYXNzZXRzLnltbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDCg4ZDA4NGVmNzZlM2VhMTA1N2FhODJjZjI1MjgwZGNlMjA3Y2RlNDdmMCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwWwYKKwYBBAGDvzABFQRNDEtodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0vYWN0aW9ucy9ydW5zLzMyNjA1NzM3MjQ3L2F0dGVtcHRzLzEwFwYKKwYBBAGDvzABFgQJDAdwcml2YXRlMFIGCisGAQQBg78wARgERAxCcmVwbzplZWVtenNAMTA5MzEwNzc0L2FvcHMtcGxhdGZvcm1AMTMxNjI1NTAyNjpyZWY6cmVmcy9oZWFkcy9tYWluMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGgK9c+LAAABAMASDBGAiEAsbBsJrjvUpKQ86Jb+3a8jhLauMtVyOlhfdUDLVjl8XoCIQCCTc8Li7ahj8xTpExRvHwAMeT2hWh2Af891jhxt4jg6TAKBggqhkjOPQQDAwNnADBkAjAIaRI53Y1+mxmTcEzCwxYRDNeDI42gHBGVJujzbQJtmMo1muol3IDnYL4UgyVJu3QCMDpHVAi2yIEltU7D/d9fHR2cpp7WueYhSLNQUagDvb9CGx8O32iIGzJpWdkdmXGXZw=="
8
8
  }
9
9
  ]
10
10
  },
11
11
  "tlogEntries": [
12
12
  {
13
- "logIndex": "2565511877",
13
+ "logIndex": "2568618496",
14
14
  "logId": {
15
15
  "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="
16
16
  },
@@ -18,43 +18,41 @@
18
18
  "kind": "hashedrekord",
19
19
  "version": "0.0.1"
20
20
  },
21
- "integratedTime": "1787406614",
21
+ "integratedTime": "1787441921",
22
22
  "inclusionPromise": {
23
- "signedEntryTimestamp": "MEUCIHH7dtm4urIY2+2+jzWlngGQyTFxPsfEpZEiaZtuGTP4AiEA9twygiG1WrnLZRcCo6OF3R/iOv2Qk/3eLXaY9jJ2ql4="
23
+ "signedEntryTimestamp": "MEUCIEBmlxBObH+L+CbJ8u9gEXOPYFcDEwRo1k3OBLpCuKzqAiEAqXCjRgm1uL6/w3FUxfcvdCK/dAJ8+RQzKtBLPdXPwYg="
24
24
  },
25
25
  "inclusionProof": {
26
- "logIndex": "2443607615",
27
- "rootHash": "VOvm2ArPTUqNdOWBbQ1pZecquFMu3j8vP71wEs0P1wU=",
28
- "treeSize": "2443607823",
26
+ "logIndex": "2446714234",
27
+ "rootHash": "8laHha00MN6C4h64tVunZwR6MUDSfanBBbkjeQtm/j8=",
28
+ "treeSize": "2446714240",
29
29
  "hashes": [
30
- "vgfGqGEsqLLVTy7b2HiBTqVYC5Htp6HUBbQwysP5YiQ=",
31
- "Fn1Q7w/AxR6Z1RYwU6+8gGUVX1979XbpLjmnMbDaH5w=",
32
- "/SlFcsC3NYh4j9rwCy7pdC7Ya9p8YxEbAcxcnw+ZH+U=",
33
- "CfMi8ANS8LimJc1atlgt0qSN7hNQE+3Sow2VmNsgGEE=",
34
- "AvU21up370gnJi4C6E91VM+unJ86vQtlIP84EHAyv1M=",
35
- "+JQlipTrSNIbQQWzenBTcS0AbO65rz1fYcwnF53LJYU=",
36
- "A20r/YYq8Mb0ewqDXX1c2PsvU7NytT4HWByCP85q+cw=",
37
- "eQuhCaWm/4x0JeLKrlpbcBYsFalp16oK0d0x4SQppuk=",
38
- "i5+KOKJz03P4AE0s5bjz3JKR5Mz2Tocw3bSZDSiqV8M=",
39
- "JlbxoqRArH+zS1WuPHozzh/g1zmMFQelfH5RgcM6d00=",
40
- "tFJ6d1lQpYAH/fErb89AhRqMS3PlaNK7Rxx2XKW1rG4=",
41
- "Y1wq4a6hc3LeCMoWLXJ/VEB5Lli60GG7KB+RO0nfdDw=",
42
- "1CTVNdvE/DUGaPxk3yc9HGhFWlG91nDPMyJk3l6OkOg=",
43
- "9Xvik1WvYBEDs5qBoKpD8oJqf18yMAXbQVWK9AOH+3w=",
44
- "9IGHBNGs8zyik4vrff9gZtSXjzHfJNjpiFrgOOm3U5I=",
45
- "nLs2S6+ujI7/+4Y8fm4+QEaJ+5GjbNvhAutNdrSn0U0=",
46
- "QYQNqQmZx0ueBdHIwSGYc/hOWmM8mw+952pZNEiTllc=",
47
- "24IMJdpNHM4CBmlq/I5bX+pwIPFu0S2mvApHPIOZVfI=",
30
+ "WliWGG+I/CBOlDyhT2j6lrWwwq7FAY8AsXPM5aXmQOg=",
31
+ "kH1mC6wTxgoUECZobmBkzQdy4qQYlTCcHnhDbJ77DVc=",
32
+ "Yrtoc0uCSqRorgS5ybjIeqHxWU3Xg1FANIFSXfvoj7k=",
33
+ "z0jUZvBAEFLsfFTr1N2XXgeI1SUhIRB6Ooeoj92CFcI=",
34
+ "JAdYuw7kMFywoTfMMzdPEysY5lXlyK5ALZYl4R6LsMM=",
35
+ "2hq8hUBv987v7T40Np/2EAKSgpTjNFx3p0jGltgsD6A=",
36
+ "13w16bBc0OetK24m+HvPpxw2hqVPL/28VTWaAKBggu4=",
37
+ "bPsB0sOjk4/Qky39DCb4shiTf5QtaB1CMKDYL9dFZ3g=",
38
+ "HW0oKNI5h0SYhIcmtWomcR2pSU/Jw09V5XY1uNsCO7A=",
39
+ "xmTqnXMtmQlNXf1eA5DahAzqA1nXFslKUBwJxM6QgQQ=",
40
+ "6IHOlQWHpw6yU6IIdPUwY5ulwgUrlXBWkU8D7M0K5LM=",
41
+ "cyhAFCMnUp2HVo2BUZpPJ1cbvIRLkJZkaDEMJGNWXeA=",
42
+ "LxNtjDCe5liczgqeIkEEzOlrJSPANTCvmdetW7WIz1o=",
43
+ "adJzjmUgvlBqwoyQLgW5SawFbOJQDn55uZBtnnAr0Jo=",
44
+ "2z9rAkb9ewmVlWnAfIjOClfWYsj6zK8r468UUiMWkCc=",
45
+ "NPi3S6XllwAthkOeUVjvUt0Xgk6WrmLUYMroLeDPwmI=",
48
46
  "bJAtWgiq8wqDN8pmhbZdBJcDVJrYD0SnlDHhruu1M2w=",
49
47
  "xugBqqOa94v0FTyXEeKUuA9kiXCOb3WSyGGy52n2JdA=",
50
48
  "SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=",
51
49
  "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="
52
50
  ],
53
51
  "checkpoint": {
54
- "envelope": "rekor.sigstore.dev - 1193050959916656506\n2443607823\nVOvm2ArPTUqNdOWBbQ1pZecquFMu3j8vP71wEs0P1wU=\n\n— rekor.sigstore.dev wNI9ajBFAiEA8WOuqN3/9s1RzYOzxKBqL1FSkuklqiK9RoADhQJ7RoACICoCYWnlzt/ho9RiTTeDBvv7t2V/fY6RWI8ndfxKloTY\n"
52
+ "envelope": "rekor.sigstore.dev - 1193050959916656506\n2446714240\n8laHha00MN6C4h64tVunZwR6MUDSfanBBbkjeQtm/j8=\n\n— rekor.sigstore.dev wNI9ajBEAiAIFCdIQlNgSf9W/wtCUarVANy7f2dRK6XnRKrA0FJGbgIgCgWKFxXV2/KYEfZAjrKwyK3TCZ38HnD3zLz93/tkshA=\n"
55
53
  }
56
54
  },
57
- "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ZDUwYWE1ODRkNDVjZWZiNDI3NmRiMDY2ZjdkN2Q1ZTVlYWQ0ZGEwMzI4ZDc0ZDI5MjhjOGI3NTQzNWY0OTU0In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUNNbmNkNVMxa3J5dDRtc3BiYnpLUzcwN3hUQXUrNjVZdG9NUUp4Rk5MWFBRSWhBSWtjUkwwUmNXNGVDSEpMRU5uSVpWTHN6V0R0VHJEcERxUWprS1FlNEZqciIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaGpla05EUW5adFowRjNTVUpCWjBsVlYwMDBlSGxKU0hod05HWjZhSGhvVWpaclVXc3hjWFpYTVZkemQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1hsTlZFMHhUVVJGZWxkb1kwNU5hbGwzVDBSSmVVMVVVWGROUkVWNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZyUW5wS2MwZDJlbGMwVFd3NFVUTndRVzQ1WVdwS01FWmpkR2RTYURseUsyVkVlVmNLVTFRdlR5OW1TM2xOTVhsUGEySlhaM0kxUjJkeVNEZDNTbGxNTWs4M1RDdFZOMEkyTkhCTlEyaE9jalJFU1VNNVRtRlBRMEpvWjNkbloxbFZUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZvYWpjMkNtdHFZWFpKV0dWWkwwZFZPR1Y2UWtkSVRtUkRaakZuZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJSQldVUldVakJTUVZGSUwwSkhiM2RoU1ZwdFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKV2JGcFhNVFpqZVRsb1lqTkNlZ3BNV0VKeldWaFNiV0l6U25STWVUVnVZVmhTYjJSWFNYWmtNamw1WVRKYWMySXpaSHBNTTA1d1dqSTBkR05JVm1saVIyeHFURmRHYmxwWE5UQk1WMFo2Q21NeVZqQmplVFUxWWxkNFFXTnRWbTFqZVRsdldsZEdhMk41T1hSWlYyeDFUVVJyUjBOcGMwZEJVVkZDWnpjNGQwRlJSVVZMTW1nd1pFaENlazlwT0hZS1pFYzVjbHBYTkhWWlYwNHdZVmM1ZFdONU5XNWhXRkp2WkZkS01XTXlWbmxaTWpsMVpFZFdkV1JETldwaU1qQjNTSGRaUzB0M1dVSkNRVWRFZG5wQlFncEJaMUZTWkRJNWVXRXlXbk5pTTJSbVdrZHNlbU5IUmpCWk1tZDNUbWRaUzB0M1dVSkNRVWRFZG5wQlFrRjNVVzlQVkZGM1drUkNiRmw2V1RKYWFsazBDazF0Vm0xWmVtaHNUMFJCTUU5SFVtMU9iVWt3V1cxVmVsa3lVVE5QUjFrd1drUkZORTFFUVhoQ1oyOXlRbWRGUlVGWlR5OU5RVVZGUWtOT1ZHRlhaSFVLU1VkV05GbFhUakJKU0VJeFdXMTRjRmw1UWtKVU1VSlVTVWRHYmxwWE5UQkpSMFo2WXpKV01HTjZRV2xDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0pTYkFwYVYxWjBaVzVOZGxsWE9YZGplVEYzWWtkR01GcHRPWGxpVkVGa1FtZHZja0puUlVWQldVOHZUVUZGUjBKQk9YbGFWMXA2VERKb2JGbFhVbnBNTWpGb0NtRlhOSGRQZDFsTFMzZFpRa0pCUjBSMmVrRkNRMEZSZEVSRGRHOWtTRkozWTNwdmRrd3pVblpoTWxaMVRHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZta0taRmhPYkdOdFRuWmlibEpzWW01UmRWa3lPWFJOU0ZsSFEybHpSMEZSVVVKbk56aDNRVkZyUldGQmVHMWhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkUXBaTWpsMFRESldiRnBYTVRaamVUbG9Zak5DZWt4WVFuTlpXRkp0WWpOS2RFeDVOVzVoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3elRuQmFNalIwQ21OSVZtbGlSMnhxVEZkR2JscFhOVEJNVjBaNll6SldNR041TlRWaVYzaEJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOUkdkSFEybHpSMEZSVVVJS1p6YzRkMEZSYjBWTFozZHZUMVJSZDFwRVFteFplbGt5V21wWk5FMXRWbTFaZW1oc1QwUkJNRTlIVW0xT2JVa3dXVzFWZWxreVVUTlBSMWt3V2tSRk5BcE5SRUZrUW1kdmNrSm5SVVZCV1U4dlRVRkZURUpCT0UxRVYyUndaRWRvTVZscE1XOWlNMDR3V2xkUmQwNTNXVXRMZDFsQ1FrRkhSSFo2UVVKRVFWRndDa1JEWkc5a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFphVjFac1lsaHdla3d5Um5aalNFMTBZMGQ0YUdSSFduWmpiVEIzVDBGWlMwdDNXVUlLUWtGSFJIWjZRVUpFVVZGeFJFTm5OVTVFUW10TlIxWnFUbXBhYlU1cVozbGFWMXBxVDBkVk5FMUVVVFJhUjFreVdXcFNhVnBVVG1wYVJHTTBXbXBTYXdwTlZHZDNUVUk0UjBOcGMwZEJVVkZDWnpjNGQwRlJORVZGVVhkUVkyMVdiV041T1c5YVYwWnJZM2s1ZEZsWGJIVk5RbTlIUTJselIwRlJVVUpuTnpoM0NrRlJPRVZFUVhkTFRWUk5lRTVxU1RGT1ZFRjVUbXBCY0VKbmIzSkNaMFZGUVZsUEwwMUJSVkZDUW5OTlIxZG9NR1JJUW5wUGFUaDJXakpzTUdGSVZta0tURzFPZG1KVE9XeGFWMVowWlc1TmQwZFJXVXRMZDFsQ1FrRkhSSFo2UVVKRlVWRk1SRUZyZUUxRWEzcE5WRUV6VG5wUmQyUm5XVXRMZDFsQ1FrRkhSQXAyZWtGQ1JXZFNiMFJIV205a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFphVjFac1lsaHdla3d5Um5aalNFMTBZMGQ0YUdSSFduWmpiVEIyQ2t4dFpIQmtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbU15Ykc1aWFURjNaRmRLYzJGWFRYUlpWMlJzWW01UmRGbFlUbnBhV0ZKNlRHNXNkR0pGUW5rS1dsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JYZFJjVVJEWnpWT1JFSnJUVWRXYWs1cVdtMU9hbWQ1V2xkYWFncFBSMVUwVFVSUk5GcEhXVEpaYWxKcFdsUk9hbHBFWXpSYWFsSnJUVlJuZDAxRFJVZERhWE5IUVZGUlFtYzNPSGRCVWxGRlJYZDNVbVF5T1hsaE1scHpDbUl6WkdaYVIyeDZZMGRHTUZreVozZFhkMWxMUzNkWlFrSkJSMFIyZWtGQ1JsRlNUa1JGZEc5a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFlLV2xkV2JHSlljSHBNTWtaMlkwaE5kR05IZUdoa1IxcDJZMjB3ZGxsWFRqQmhWemwxWTNrNWVXUlhOWHBNZWsxNVRsUmpNazlFWXpGUFJGVjZUREpHTUFwa1IxWjBZMGhTZWt4NlJYZEdkMWxMUzNkWlFrSkJSMFIyZWtGQ1JtZFJTa1JCWkhkamJXd3lXVmhTYkUxR1NVZERhWE5IUVZGUlFtYzNPSGRCVW1kRkNsSkJlRU5qYlZaM1lucHdiRnBYVm5SbGJrNUJUVlJCTlUxNlJYZE9lbU13VERKR2RtTklUWFJqUjNob1pFZGFkbU50TVVGTlZFMTRUbXBKTVU1VVFYa0tUbXB3ZVZwWFdUWmpiVlp0WTNrNWIxcFhSbXRqZVRsMFdWZHNkVTFKUjBwQ1oyOXlRbWRGUlVGa1dqVkJaMUZEUWtoelJXVlJRak5CU0ZWQk0xUXdkd3BoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLUzFoeWFtVlFTek12YURSd2VXZERPSEEzYnpSQlFVRkhaMHRpZURsclFVRkJRa0ZOUVZKcVFrVkJhVUpaQ2tKalNrbEZTVmRpT0ZSU00zWk9Va2w0Ulc0clVXNXRlSGs0UzI1T1UxUnRWRXRaZDBoTGJYcEtRVWxuVDBNNEwzaG5ZbTlUVUVkM2JuWTRhamt2V0ZNS2FVb3JUMmRyU3pGMFZVdG9WalE0Um5WU1ZtRm1XSE4zUTJkWlNVdHZXa2w2YWpCRlFYZE5SR0ZCUVhkYVVVbDNaRU5tUVVWR1NHNURaazltVmpjMk5Bb3dOVWxqVDFaSlNXVmlkMWhxVDJObmNFeFJORVJHY3pOclJWUmtkVUpvSzNOS01WY3hWME5UUkRoTFNFUmFjVnBCYWtWQmEyVkVWMGN3TkZaMFUydFNDamgwYjI5UFNVOW9RVGt3VERNeVp6ZGxjMlIwU1Vwb2NITnBXaXR5YjNWVlZIaDVRMjFtUWpreVRIRnlhRTB4WTNCMVJtY0tMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0ifX19fQ=="
55
+ "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4ZDliNDUxYjlmNjczM2QxNWEwZmU0ZWNiN2ZkNGRiMGU1NjQ3YTZhMWQ4MTIzZTZmNWIyZjJkZDgyNmZjMzE1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJQXpva0tNeGRFS056UjdjTGZ0NUdqZUg3TXE0akY3UDNPR1cvOG1ta1ZpeEFpRUFnT1oxRlIxNm11bFZCRFlmK0RVejhGd2QrVWo3NHl5WERRemJuZ0lzY1lnPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaGtSRU5EUW5aMVowRjNTVUpCWjBsVlNtVlVVWGx1VEVSbVZsZEhiM1IxUzFkbFEzSXJZU3RNVEVKM2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1hsTmFrMTZUMFJSZUZkb1kwNU5hbGwzVDBSSmVVMXFUVEJQUkZGNFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZCV1dGdFdFNUJjV1JGVDNkcFdUaFZSRmdyVkRWaFkyVnJiR2tyWlZRMmFXOXplblFLZEhaTmJHZzJaamgxYUVWeEsyNXFXR2RHT0VscFlraHJTbGRVY21KbWVETXZVM0Z1YzBnd01FSlljMkpQVmtKb1NVdFBRMEpvYjNkbloxbFhUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZ1Tm1kTENtZERhR0pyYmk5T2JXTXdWRmRLY0hONVpXNUtjalJOZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJSQldVUldVakJTUVZGSUwwSkhiM2RoU1ZwdFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKV2JGcFhNVFpqZVRsb1lqTkNlZ3BNV0VKeldWaFNiV0l6U25STWVUVnVZVmhTYjJSWFNYWmtNamw1WVRKYWMySXpaSHBNTTA1d1dqSTBkR05JVm1saVIyeHFURmRHYmxwWE5UQk1WMFo2Q21NeVZqQmplVFUxWWxkNFFXTnRWbTFqZVRsdldsZEdhMk41T1hSWlYyeDFUVVJyUjBOcGMwZEJVVkZDWnpjNGQwRlJSVVZMTW1nd1pFaENlazlwT0hZS1pFYzVjbHBYTkhWWlYwNHdZVmM1ZFdONU5XNWhXRkp2WkZkS01XTXlWbmxaTWpsMVpFZFdkV1JETldwaU1qQjNTSGRaUzB0M1dVSkNRVWRFZG5wQlFncEJaMUZTWkRJNWVXRXlXbk5pTTJSbVdrZHNlbU5IUmpCWk1tZDNUbWRaUzB0M1dVSkNRVWRFZG5wQlFrRjNVVzlQUjFGM1QwUlNiRnBxWXpKYVZFNXNDbGxVUlhkT1ZHUm9XVlJuZVZreVdYbE9WRWswVFVkU2FscFVTWGRPTWs1cldsUlJNMXBxUVhoQ1oyOXlRbWRGUlVGWlR5OU5RVVZGUWtOT1ZHRlhaSFVLU1VkV05GbFhUakJKU0VJeFdXMTRjRmw1UWtKVU1VSlVTVWRHYmxwWE5UQkpSMFo2WXpKV01HTjZRV2xDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0pTYkFwYVYxWjBaVzVOZGxsWE9YZGplVEYzWWtkR01GcHRPWGxpVkVGa1FtZHZja0puUlVWQldVOHZUVUZGUjBKQk9YbGFWMXA2VERKb2JGbFhVbnBNTWpGb0NtRlhOSGRQZDFsTFMzZFpRa0pCUjBSMmVrRkNRMEZSZEVSRGRHOWtTRkozWTNwdmRrd3pVblpoTWxaMVRHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZta0taRmhPYkdOdFRuWmlibEpzWW01UmRWa3lPWFJOU0ZsSFEybHpSMEZSVVVKbk56aDNRVkZyUldGQmVHMWhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkUXBaTWpsMFRESldiRnBYTVRaamVUbG9Zak5DZWt4WVFuTlpXRkp0WWpOS2RFeDVOVzVoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3elRuQmFNalIwQ21OSVZtbGlSMnhxVEZkR2JscFhOVEJNVjBaNll6SldNR041TlRWaVYzaEJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOUkdkSFEybHpSMEZSVVVJS1p6YzRkMEZSYjBWTFozZHZUMGRSZDA5RVVteGFhbU15V2xST2JGbFVSWGRPVkdSb1dWUm5lVmt5V1hsT1ZFazBUVWRTYWxwVVNYZE9NazVyV2xSUk13cGFha0ZrUW1kdmNrSm5SVVZCV1U4dlRVRkZURUpCT0UxRVYyUndaRWRvTVZscE1XOWlNMDR3V2xkUmQwNTNXVXRMZDFsQ1FrRkhSSFo2UVVKRVFWRndDa1JEWkc5a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFphVjFac1lsaHdla3d5Um5aalNFMTBZMGQ0YUdSSFduWmpiVEIzVDBGWlMwdDNXVUlLUWtGSFJIWjZRVUpFVVZGeFJFTm5ORnBFUVRST1IxWnRUbnBhYkUweVZtaE5WRUV4VGpKR2FFOUVTbXBhYWtreFRXcG5kMXBIVG14TmFrRXpXVEpTYkFwT1JHUnRUVUk0UjBOcGMwZEJVVkZDWnpjNGQwRlJORVZGVVhkUVkyMVdiV041T1c5YVYwWnJZM2s1ZEZsWGJIVk5RbTlIUTJselIwRlJVVUpuTnpoM0NrRlJPRVZFUVhkTFRWUk5lRTVxU1RGT1ZFRjVUbXBCY0VKbmIzSkNaMFZGUVZsUEwwMUJSVkZDUW5OTlIxZG9NR1JJUW5wUGFUaDJXakpzTUdGSVZta0tURzFPZG1KVE9XeGFWMVowWlc1TmQwZFJXVXRMZDFsQ1FrRkhSSFo2UVVKRlVWRk1SRUZyZUUxRWEzcE5WRUV6VG5wUmQyUm5XVXRMZDFsQ1FrRkhSQXAyZWtGQ1JXZFNiMFJIV205a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFphVjFac1lsaHdla3d5Um5aalNFMTBZMGQ0YUdSSFduWmpiVEIyQ2t4dFpIQmtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbU15Ykc1aWFURjNaRmRLYzJGWFRYUlpWMlJzWW01UmRGbFlUbnBhV0ZKNlRHNXNkR0pGUW5rS1dsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JYZFJjVVJEWnpSYVJFRTBUa2RXYlU1NldteE5NbFpvVFZSQk1RcE9Na1pvVDBSS2FscHFTVEZOYW1kM1drZE9iRTFxUVROWk1sSnNUa1JrYlUxRFJVZERhWE5IUVZGUlFtYzNPSGRCVWxGRlJYZDNVbVF5T1hsaE1scHpDbUl6WkdaYVIyeDZZMGRHTUZreVozZFhkMWxMUzNkWlFrSkJSMFIyZWtGQ1JsRlNUa1JGZEc5a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFlLV2xkV2JHSlljSHBNTWtaMlkwaE5kR05IZUdoa1IxcDJZMjB3ZGxsWFRqQmhWemwxWTNrNWVXUlhOWHBNZWsxNVRtcEJNVTU2VFROTmFsRXpUREpHTUFwa1IxWjBZMGhTZWt4NlJYZEdkMWxMUzNkWlFrSkJSMFIyZWtGQ1JtZFJTa1JCWkhkamJXd3lXVmhTYkUxR1NVZERhWE5IUVZGUlFtYzNPSGRCVW1kRkNsSkJlRU5qYlZaM1lucHdiRnBYVm5SbGJrNUJUVlJCTlUxNlJYZE9lbU13VERKR2RtTklUWFJqUjNob1pFZGFkbU50TVVGTlZFMTRUbXBKTVU1VVFYa0tUbXB3ZVZwWFdUWmpiVlp0WTNrNWIxcFhSbXRqZVRsMFdWZHNkVTFKUjB4Q1oyOXlRbWRGUlVGa1dqVkJaMUZEUWtnd1JXVjNRalZCU0dOQk0xUXdkd3BoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLUzFoeWFtVlFTek12YURSd2VXZERPSEEzYnpSQlFVRkhaMHM1WXl0TVFVRkJRa0ZOUVZORVFrZEJhVVZCQ25OaVFuTktjbXAyVlhCTFVUZzJTbUlyTTJFNGFtaE1ZWFZOZEZaNVQyeG9abVJWUkV4V2FtdzRXRzlEU1ZGRFExUmpPRXhwTjJGb2FqaDRWSEJGZUZJS2RraDNRVTFsVkRKb1YyZ3lRV1k0T1RGcWFIaDBOR3BuTmxSQlMwSm5aM0ZvYTJwUFVGRlJSRUYzVG01QlJFSnJRV3BCU1dGU1NUVXpXVEVyYlhodFZBcGpSWHBEZDNoWlVrUk9aVVJKTkRKblNFSkhWa3AxYW5waVVVcDBiVTF2TVcxMWIyd3pTVVJ1V1V3MFZXZDVWa3AxTTFGRFRVUndTRlpCYVRKNVNVVnNDblJWTjBRdlpEbG1TRkl5WTNCd04xZDFaVmxvVTB4T1VWVmhaMFIyWWpsRFIzZzRUek15YVVsSGVrcHdWMlJyWkcxWVIxaGFkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn19fX0="
58
56
  }
59
57
  ],
60
58
  "timestampVerificationData": {}
@@ -62,8 +60,8 @@
62
60
  "messageSignature": {
63
61
  "messageDigest": {
64
62
  "algorithm": "SHA2_256",
65
- "digest": "fVCqWE1FzvtCdtsGb319Xl6tTaAyjXTSkoyLdUNfSVQ="
63
+ "digest": "jZtFG59nM9FaD+Tst/1NsOVkemodgSPm9bLy3YJvwxU="
66
64
  },
67
- "signature": "MEYCIQCMncd5S1kryt4mspbbzKS707xTAu+65YtoMQJxFNLXPQIhAIkcRL0RcW4eCHJLENnIZVLszWDtTrDpDqQjkKQe4Fjr"
65
+ "signature": "MEUCIAzokKMxdEKNzR7cLft5GjeH7Mq4jF7P3OGW/8mmkVixAiEAgOZ1FR16mulVBDYf+DUz8Fwd+Uj74yyXDQzbngIscYg="
68
66
  }
69
67
  }
@@ -4192,19 +4192,16 @@ export async function runPmSprintList(options = {}) {
4192
4192
  input.kanbanTask = task;
4193
4193
  if (name)
4194
4194
  input.name = name;
4195
- if (status)
4196
- input.status = status;
4197
- if (limit !== undefined)
4198
- input.limit = limit;
4199
- if (options.summary)
4200
- input.summary = true;
4201
4195
  if (options.includeArchived === true)
4202
4196
  input.includeArchived = true;
4203
4197
  const rawPayload = await invokeProjectmanTool(execution, options, {
4204
4198
  toolId: 'projectman.sprint.list',
4205
4199
  input,
4206
4200
  });
4207
- const records = toRecordArray(unwrapHostedToolResult(rawPayload));
4201
+ const allRecords = toRecordArray(unwrapHostedToolResult(rawPayload));
4202
+ const records = status
4203
+ ? allRecords.filter((record) => String(record.status ?? '') === status)
4204
+ : allRecords;
4208
4205
  const counts = archiveCounts(records);
4209
4206
  const visibleRecords = limit === undefined ? records : records.slice(0, limit);
4210
4207
  const data = options.summary ? visibleRecords.map(summarizeSprintListRecord) : visibleRecords;
@@ -543,9 +543,9 @@ function defaultNativeRoot() {
543
543
  return moduleDirectory.endsWith(`${path.sep}dist`) ? bundled : compiledOrSource;
544
544
  }
545
545
  function injectedNativeManifestSha256() {
546
- return typeof "d822aae713ec279700deea89e879c3040bf7d4376aa21b461004f725ac064661" === 'undefined'
546
+ return typeof "b429f740097ec2394395f09f5eeff82328cf9d5577b5155f00b219bbe10a6c6d" === 'undefined'
547
547
  ? undefined
548
- : "d822aae713ec279700deea89e879c3040bf7d4376aa21b461004f725ac064661";
548
+ : "b429f740097ec2394395f09f5eeff82328cf9d5577b5155f00b219bbe10a6c6d";
549
549
  }
550
550
  function sha256(bytes) {
551
551
  return createHash('sha256').update(bytes).digest('hex');
@@ -12,6 +12,17 @@ const MEMBER_AUTH_REASONS = new Set([
12
12
  function record(value) {
13
13
  return typeof value === 'object' && value !== null && !Array.isArray(value);
14
14
  }
15
+ const PROMOTABLE_CLASSIFIER_PREFIXES = Object.freeze([
16
+ 'community_strict_',
17
+ 'community_cockpit_',
18
+ ]);
19
+ function codeShapedMessage(message) {
20
+ if (!PROMOTABLE_CLASSIFIER_PREFIXES.some((prefix) => message.startsWith(prefix)))
21
+ return undefined;
22
+ return /^[a-z][a-z0-9_]*(?::[A-Za-z0-9_.\-]+)*$/u.test(message) && message.length <= 200
23
+ ? message
24
+ : undefined;
25
+ }
15
26
  export function buildCliJsonError(error) {
16
27
  const candidate = record(error) ? error : null;
17
28
  const details = record(candidate?.details) ? candidate.details : null;
@@ -20,7 +31,7 @@ export function buildCliJsonError(error) {
20
31
  ? candidate.errorCode
21
32
  : typeof candidate?.code === 'string'
22
33
  ? candidate.code
23
- : undefined;
34
+ : codeShapedMessage(messageOf(error));
24
35
  return {
25
36
  schemaVersion: 1,
26
37
  ok: false,
@@ -221,56 +221,75 @@ export function classifyTerminalCockpitPids(params) {
221
221
  const findings = [];
222
222
  let blocked = null;
223
223
  for (const { pid, role } of params.livePids) {
224
- let inspection;
225
- try {
226
- inspection = params.inspect(pid);
227
- }
228
- catch (error) {
229
- inspection = {
230
- outcome: 'undetermined',
231
- pid,
232
- reason: error instanceof Error ? error.message : 'community_cockpit_pid_inspection_threw',
233
- };
234
- }
235
- if (inspection.outcome === 'absent') {
236
- findings.push({ pid, role, outcome: 'absent', disagreedOn: ['identity', 'start-time', 'host-entry'], reason: null });
237
- continue;
238
- }
239
- if (inspection.outcome === 'undetermined') {
240
- findings.push({ pid, role, outcome: 'undetermined', disagreedOn: [], reason: inspection.reason });
241
- blocked ??= `community_cockpit_pid_inspection_undetermined:${pid}:${inspection.reason}`;
242
- continue;
243
- }
244
- const observedStart = Date.parse(inspection.startedAt);
245
- if (!Number.isFinite(observedStart)) {
246
- findings.push({ pid, role, outcome: 'inspected', disagreedOn: [], reason: 'start_time_unparsable' });
247
- blocked ??= `community_cockpit_pid_start_time_unparsable:${pid}`;
248
- continue;
249
- }
250
- if (inspection.command.trim() === '') {
251
- findings.push({ pid, role, outcome: 'inspected', disagreedOn: [], reason: 'command_unavailable' });
252
- blocked ??= `community_cockpit_pid_command_unavailable:${pid}`;
253
- continue;
254
- }
255
- const disagreedOn = ['identity'];
256
- if (Math.abs(observedStart - recordedStart) > tolerance)
257
- disagreedOn.push('start-time');
258
- if (!commandNamesHostEntry(inspection.command, params.record.hostEntry))
259
- disagreedOn.push('host-entry');
260
- findings.push({ pid, role, outcome: 'inspected', disagreedOn, reason: null });
261
- if (disagreedOn.length !== 3) {
262
- blocked ??= `community_cockpit_pid_may_be_owned:${pid}:${disagreedOn.join('+')}`;
263
- }
224
+ const verdict = inspectForeignPid({
225
+ pid, role, record: params.record, inspect: params.inspect, startToleranceMs: tolerance,
226
+ });
227
+ findings.push(verdict.finding);
228
+ if (verdict.blockedReason)
229
+ blocked ??= verdict.blockedReason;
264
230
  }
265
231
  if (blocked)
266
232
  return { stale: false, reason: blocked, findings };
267
233
  return { stale: true, reason: 'community_cockpit_terminal_record_pid_reused', findings };
268
234
  }
235
+ function inspectForeignPid(params) {
236
+ const { pid, role } = params;
237
+ let inspection;
238
+ try {
239
+ inspection = params.inspect(pid);
240
+ }
241
+ catch (error) {
242
+ inspection = {
243
+ outcome: 'undetermined',
244
+ pid,
245
+ reason: error instanceof Error ? error.message : 'community_cockpit_pid_inspection_threw',
246
+ };
247
+ }
248
+ if (inspection.outcome === 'absent') {
249
+ return {
250
+ foreign: true,
251
+ finding: { pid, role, outcome: 'absent', disagreedOn: ['identity', 'start-time', 'host-entry'], reason: null },
252
+ blockedReason: null,
253
+ };
254
+ }
255
+ if (inspection.outcome === 'undetermined') {
256
+ return {
257
+ foreign: false,
258
+ finding: { pid, role, outcome: 'undetermined', disagreedOn: [], reason: inspection.reason },
259
+ blockedReason: `community_cockpit_pid_inspection_undetermined:${pid}:${inspection.reason}`,
260
+ };
261
+ }
262
+ const observedStart = Date.parse(inspection.startedAt);
263
+ const recordedStart = Date.parse(params.record.startedAt);
264
+ if (!Number.isFinite(observedStart)) {
265
+ return {
266
+ foreign: false,
267
+ finding: { pid, role, outcome: 'inspected', disagreedOn: [], reason: 'start_time_unparsable' },
268
+ blockedReason: `community_cockpit_pid_start_time_unparsable:${pid}`,
269
+ };
270
+ }
271
+ if (inspection.command.trim() === '') {
272
+ return {
273
+ foreign: false,
274
+ finding: { pid, role, outcome: 'inspected', disagreedOn: [], reason: 'command_unavailable' },
275
+ blockedReason: `community_cockpit_pid_command_unavailable:${pid}`,
276
+ };
277
+ }
278
+ const disagreedOn = ['identity'];
279
+ if (Math.abs(observedStart - recordedStart) > params.startToleranceMs)
280
+ disagreedOn.push('start-time');
281
+ if (!commandNamesHostEntry(inspection.command, params.record.hostEntry))
282
+ disagreedOn.push('host-entry');
283
+ const finding = { pid, role, outcome: 'inspected', disagreedOn, reason: null };
284
+ return disagreedOn.length === 3
285
+ ? { foreign: true, finding, blockedReason: null }
286
+ : { foreign: false, finding, blockedReason: `community_cockpit_pid_may_be_owned:${pid}:${disagreedOn.join('+')}` };
287
+ }
269
288
  function commandNamesHostEntry(command, hostEntry) {
270
289
  const normalise = (value) => value.split('\\').join('/').toLowerCase();
271
290
  return normalise(command).includes(normalise(hostEntry));
272
291
  }
273
- async function observeCockpit(params) {
292
+ export async function observeCockpit(params) {
274
293
  const record = params.processRecord;
275
294
  const identityPresent = existsSync(params.paths.identityPath);
276
295
  const port = record?.port ?? params.state.cockpit.port;
@@ -384,10 +403,33 @@ async function observeCockpit(params) {
384
403
  };
385
404
  }
386
405
  if (!supervisorAlive && hostAlive) {
406
+ const foreign = hostPid
407
+ ? inspectForeignPid({
408
+ pid: hostPid,
409
+ role: 'host',
410
+ record,
411
+ inspect: params.runtime.inspectProcess ?? ((pid) => ({
412
+ outcome: 'undetermined',
413
+ pid,
414
+ reason: 'community_cockpit_pid_inspection_unavailable',
415
+ })),
416
+ startToleranceMs: COCKPIT_PID_START_TOLERANCE_MS,
417
+ })
418
+ : null;
419
+ if (foreign?.foreign) {
420
+ return {
421
+ ...base,
422
+ runtimeState: 'crashed', recoverable: true, process: record, identity,
423
+ supervisorAlive, hostAlive: false, health: 'not-checked',
424
+ reason: 'community_cockpit_host_pid_reused',
425
+ terminalObservation: terminalObservation(record, params.now().toISOString(), true),
426
+ };
427
+ }
387
428
  return {
388
429
  ...base,
389
430
  runtimeState: 'orphaned', recoverable: false, process: record, identity,
390
- supervisorAlive, hostAlive, health: 'not-checked', reason: 'community_cockpit_host_orphaned',
431
+ supervisorAlive, hostAlive, health: 'not-checked',
432
+ reason: foreign?.blockedReason ?? 'community_cockpit_host_orphaned',
391
433
  terminalObservation: null,
392
434
  };
393
435
  }
@@ -1899,12 +1899,80 @@ export async function resolveCommunityNativeSnapshotEvidence(params) {
1899
1899
  }
1900
1900
  return loadExternalPostgresUrl(configRef, state.tlsPolicy);
1901
1901
  });
1902
+ const runOwnedSetSnapshot = (input) => {
1903
+ const result = spawnSync(process.execPath, [
1904
+ input.entry,
1905
+ '--bundle-dir', input.bundleDirectory,
1906
+ '--receipt', input.receiptPath,
1907
+ '--set-id', input.backupSetId,
1908
+ ], {
1909
+ encoding: 'utf8',
1910
+ env: { ...process.env, AOPS_PG_URL: input.repoUrl },
1911
+ maxBuffer: 32 * 1024 * 1024,
1912
+ });
1913
+ if (result.error)
1914
+ throw result.error;
1915
+ if (result.status !== 0) {
1916
+ const stderr = String(result.stderr ?? '');
1917
+ if (stderr.includes('owned_set_snapshot_not_eligible'))
1918
+ return null;
1919
+ throw new Error(`community_native_owned_set_snapshot_failed:${stderr.trim().slice(0, 200)}`);
1920
+ }
1921
+ const summary = JSON.parse(String(result.stdout ?? '{}'));
1922
+ if (typeof summary.bundleSha256 !== 'string') {
1923
+ throw new Error('community_native_owned_set_snapshot_summary_invalid');
1924
+ }
1925
+ return {
1926
+ bundleDirectory: input.bundleDirectory,
1927
+ receiptPath: input.receiptPath,
1928
+ bundleSha256: summary.bundleSha256,
1929
+ };
1930
+ };
1931
+ const ownedSetSnapshotEntry = (sourceRoot) => {
1932
+ for (const relative of [
1933
+ 'scripts/owned-set-snapshot.mjs',
1934
+ 'apps/aops-server/scripts/owned-set-snapshot.mjs',
1935
+ ]) {
1936
+ const candidate = path.join(sourceRoot, relative);
1937
+ if (existsSync(candidate))
1938
+ return candidate;
1939
+ }
1940
+ return null;
1941
+ };
1902
1942
  const createBackup = params.createExternalBackup ?? createCommunityNativeBackupV1;
1903
1943
  const writeAttestation = params.writeExternalAttestation ?? writeCommunityExternalSnapshotAttestationV1;
1904
1944
  const firstPending = params.context.planning.migrationPlan.pendingMigrations?.[0]?.tag;
1945
+ const repoUrl = loadUrl(postgres);
1946
+ const snapshotEntry = ownedSetSnapshotEntry(params.context.sourceRoot);
1947
+ const bundleDirectory = path.join(params.backupRoot, `${params.instanceName}-${firstPending ? `pre-${firstPending}` : 'pre-migration'}-owned-set`);
1948
+ const receiptPath = `${bundleDirectory}.receipt.json`;
1949
+ const snapshot = snapshotEntry
1950
+ ? runOwnedSetSnapshot({
1951
+ entry: snapshotEntry,
1952
+ repoUrl,
1953
+ bundleDirectory,
1954
+ receiptPath,
1955
+ backupSetId: `${params.instanceName}-${Date.now()}`,
1956
+ })
1957
+ : null;
1958
+ if (snapshot) {
1959
+ const written = writeAttestation({
1960
+ planning: params.context.planning,
1961
+ policy: params.context.policy,
1962
+ evidenceRoot: params.evidenceRoot,
1963
+ provider: 'aops-cli-owned-set-snapshot',
1964
+ snapshotRef: snapshot.bundleDirectory,
1965
+ snapshotDigest: snapshot.bundleSha256,
1966
+ attestedBy: 'aops-cli',
1967
+ restoreInstructionsRef: `node <server-package>/scripts/owned-set-restore.mjs --bundle-dir ${snapshot.bundleDirectory}`
1968
+ + ` --receipt ${snapshot.receiptPath} --mode existing-exact-predecessor`
1969
+ + ' --confirm confirm-data-rewind',
1970
+ });
1971
+ return { path: written.evidencePath, policy: 'managed-or-external-attested-v1' };
1972
+ }
1905
1973
  const { record } = await createBackup({
1906
1974
  backupRoot: params.backupRoot,
1907
- repoUrl: loadUrl(postgres),
1975
+ repoUrl,
1908
1976
  instanceName: params.instanceName,
1909
1977
  label: firstPending ? `pre-${firstPending}` : 'pre-migration',
1910
1978
  });
@@ -42,7 +42,7 @@
42
42
  "capabilityClass": "windows-ntfs-crash-recoverable-v1",
43
43
  "qualification": {
44
44
  "relativePath": "qualifications/win32-x64.json",
45
- "sha256": "def9dbe73ee1276a31e2a0ae3cf361aa1072c0dcdbea8c3b6f99a8cddc7be624"
45
+ "sha256": "7c6fa6a24cc44933795f919a76c2183c0d0a859e151cd0edb34c0aea25fa87a9"
46
46
  }
47
47
  }
48
48
  ]
@@ -7,7 +7,7 @@
7
7
  "filesystem": "NTFS",
8
8
  "primitiveProfile": "windows-createfile-flush-movefileex-v1",
9
9
  "capabilityClass": "windows-ntfs-crash-recoverable-v1",
10
- "evidenceSha256": "8d3e3c73efd524330622969b89e1872d407095f1e88e85a76505781724264c06",
10
+ "evidenceSha256": "44bab3d71e1ffb585ec4911a12aaf657898f22fb94655667faa8ef4e3e70b465",
11
11
  "crashInjectionPoints": [
12
12
  "authority-history",
13
13
  "authority-current",
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aopslabs/aops",
3
- "version": "0.3.29",
3
+ "version": "0.3.30",
4
4
  "type": "module",
5
5
  "description": "AOPS CLI and terminal setup application.",
6
6
  "aopsDockerServerVersion": "0.2.17",
@@ -24,6 +24,7 @@
24
24
  "test:native-lifecycle": "node --test test/community-native-lifecycle.test.mjs",
25
25
  "test:migration-snapshot-gate": "node --test test/community-migration-snapshot-gate.test.mjs",
26
26
  "test:backup-gate-parity": "node --test test/community-backup-gate-parity.test.mjs test/community-backup-list.test.mjs test/community-native-backup.test.mjs test/pg-client-acquisition.test.mjs",
27
+ "test:owned-set-seam": "node --test test/owned-set-snapshot-seam.test.mjs",
27
28
  "test:migration-auto-dump": "node --test test/community-migration-auto-dump.test.mjs",
28
29
  "test:memory-search-window": "node --test test/memory-search-window-shape.test.mjs",
29
30
  "test:db-restore-source-root": "node --test test/db-restore-source-root.test.mjs",
@@ -75,7 +76,7 @@
75
76
  },
76
77
  "dependencies": {
77
78
  "@aopslabs/aops-agent-runtime": "0.1.0",
78
- "@aopslabs/aops-server": "0.2.23",
79
+ "@aopslabs/aops-server": "0.2.24",
79
80
  "@aopslabs/artifact-trust-contracts": "0.3.1",
80
81
  "@aopslabs/cli-kit": "0.1.0",
81
82
  "@aopslabs/aops-host-registration": "0.2.2",