@aopslabs/aops 0.3.29 → 0.3.31
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/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/manifest.json +2 -2
- package/agent-assets-release/agent-assets/inventory.json +3 -3
- package/agent-assets-release/agent-assets-release.json +8 -8
- package/agent-assets-release/agent-assets-release.sigstore.json +27 -29
- package/dist/commands/pm/projectman.js +4 -7
- package/dist/lib/agent-assets/native-fs.js +2 -2
- package/dist/lib/cli-error-format.js +12 -1
- package/dist/lib/community-cockpit-lifecycle.js +84 -42
- package/dist/lib/community-native-lifecycle.js +69 -1
- package/native/manifest.json +1 -1
- package/native/qualifications/win32-x64.json +1 -1
- package/native/tui/darwin-arm64/aops-tui +0 -0
- package/native/tui/linux-x64/aops-tui +0 -0
- package/native/tui/win32-x64/aops-tui.exe +0 -0
- package/package.json +3 -2
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"name": "aops",
|
|
11
11
|
"optional": false,
|
|
12
12
|
"packageSha256": "bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb",
|
|
13
|
-
"version": "0.3.
|
|
14
|
-
"versionId": "community-core-0.3.
|
|
13
|
+
"version": "0.3.31",
|
|
14
|
+
"versionId": "community-core-0.3.31"
|
|
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": "
|
|
25
|
+
"commit": "755bece1ea58ea21ad1efec234de9475b61c3964",
|
|
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.
|
|
15
|
-
"versionId": "community-core-0.3.
|
|
14
|
+
"version": "0.3.31",
|
|
15
|
+
"versionId": "community-core-0.3.31"
|
|
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": "
|
|
121
|
+
"sha256": "d5b361556c451a74e231980a7a6fae1d0ae9c66845c57decf157ffda4a9d5859"
|
|
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": "
|
|
131
|
+
"sha256": "63f59b890023ca24ec1ae72abe194ab9ff256afa460d54c17974f1e4fc3d907c"
|
|
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": "
|
|
147
|
+
"sha256": "63f59b890023ca24ec1ae72abe194ab9ff256afa460d54c17974f1e4fc3d907c"
|
|
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": "
|
|
156
|
+
"setSha256": "0b76b120a5a412f0ce1598b77ba1803bbbfaf68a386b057f94f2e1469773d958"
|
|
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.
|
|
164
|
+
"releaseVersion": "0.3.31",
|
|
165
165
|
"schemaVersion": 1,
|
|
166
166
|
"source": {
|
|
167
|
-
"commit": "
|
|
167
|
+
"commit": "755bece1ea58ea21ad1efec234de9475b61c3964",
|
|
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": "
|
|
7
|
+
"rawBytes": "MIIHdTCCBvqgAwIBAgIUYyiSifs5khvDhxEZwcqloZFh3A0wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODIzMDAyMzA4WhcNMjYwODIzMDAzMzA4WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEMPvx7OZCIS9IjvxN5jzlrMuuf4mbheOILb2X7NalzxIEeyxaEP7IQXR8CVEPLfSjJwVS2QLooy96oSxBuQ5N4KOCBhkwggYVMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUCaB1zn2dQmOUyVozg+C25EReUR0wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wdAYDVR0RAQH/BGowaIZmaHR0cHM6Ly9naXRodWIuY29tL2VlZW16cy9hb3BzLXBsYXRmb3JtLy5naXRodWIvd29ya2Zsb3dzL3NpZ24tcHVibGljLWFnZW50LWFzc2V0cy55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoNzU1YmVjZTFlYTU4ZWEyMWFkMWVmZWMyMzRkZTk0NzViNjFjMzk2NDAxBgorBgEEAYO/MAEEBCNTaWduIGV4YWN0IHB1YmxpYyBBT1BTIGFnZW50IGFzc2V0czAiBgorBgEEAYO/MAEFBBRlZWVtenMvYW9wcy1wbGF0Zm9ybTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHYGCisGAQQBg78wAQkEaAxmaHR0cHM6Ly9naXRodWIuY29tL2VlZW16cy9hb3BzLXBsYXRmb3JtLy5naXRodWIvd29ya2Zsb3dzL3NpZ24tcHVibGljLWFnZW50LWFzc2V0cy55bWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoNzU1YmVjZTFlYTU4ZWEyMWFkMWVmZWMyMzRkZTk0NzViNjFjMzk2NDAdBgorBgEEAYO/MAELBA8MDWdpdGh1Yi1ob3N0ZWQwNwYKKwYBBAGDvzABDAQpDCdodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0wOAYKKwYBBAGDvzABDQQqDCg3NTViZWNlMWVhNThlYTIxYWQxZWZlYzIzNGRlOTQ3NWI2MWMzOTY0MB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTMxNjI1NTAyNjApBgorBgEEAYO/MAEQBBsMGWh0dHBzOi8vZ2l0aHViLmNvbS9lZWVtenMwGQYKKwYBBAGDvzABEQQLDAkxMDkzMTA3NzQwdgYKKwYBBAGDvzABEgRoDGZodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0vLmdpdGh1Yi93b3JrZmxvd3Mvc2lnbi1wdWJsaWMtYWdlbnQtYXNzZXRzLnltbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABEwQqDCg3NTViZWNlMWVhNThlYTIxYWQxZWZlYzIzNGRlOTQ3NWI2MWMzOTY0MCEGCisGAQQBg78wARQEEwwRd29ya2Zsb3dfZGlzcGF0Y2gwWwYKKwYBBAGDvzABFQRNDEtodHRwczovL2dpdGh1Yi5jb20vZWVlbXpzL2FvcHMtcGxhdGZvcm0vYWN0aW9ucy9ydW5zLzMyNjA3NjY0NzY4L2F0dGVtcHRzLzEwFwYKKwYBBAGDvzABFgQJDAdwcml2YXRlMFIGCisGAQQBg78wARgERAxCcmVwbzplZWVtenNAMTA5MzEwNzc0L2FvcHMtcGxhdGZvcm1AMTMxNjI1NTAyNjpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGgK//wpQAABAMARzBFAiEA2mWoTG4wqxMYAsn/DrpgGfr5CWgS9YcABZrqf2bur0sCIChIx0UGpgWv9KpmY/ljFwrV2rKV0uorzOn8zcE46GaxMAoGCCqGSM49BAMDA2kAMGYCMQDM5xDCRCz+dEeqpjIIMEWckDEuQPcEtXqZoYYr9I+cxB7P4PXIWRY8hpPv0IsTOQICMQCyYed5g0kD0FvGIsxH+a68HNfQF+n1PLV6penw5Fdxqbfv8T5vfVSwRealeeg8IQM="
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
},
|
|
11
11
|
"tlogEntries": [
|
|
12
12
|
{
|
|
13
|
-
"logIndex": "
|
|
13
|
+
"logIndex": "2568718318",
|
|
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": "
|
|
21
|
+
"integratedTime": "1787444588",
|
|
22
22
|
"inclusionPromise": {
|
|
23
|
-
"signedEntryTimestamp": "
|
|
23
|
+
"signedEntryTimestamp": "MEUCIQD6PZxMX7mO5pCM1D8b6J5YKEYeijn4+tLWR+ZRoztXuwIgRl3ddeFiTk0kCrZf9+qYGx/aaUzK7hAqDINFAy3ORWM="
|
|
24
24
|
},
|
|
25
25
|
"inclusionProof": {
|
|
26
|
-
"logIndex": "
|
|
27
|
-
"rootHash": "
|
|
28
|
-
"treeSize": "
|
|
26
|
+
"logIndex": "2446814056",
|
|
27
|
+
"rootHash": "lzfKRL/pf5FOXlprksGRRlkjb639Zp0zfbWnpwVvzg4=",
|
|
28
|
+
"treeSize": "2446814063",
|
|
29
29
|
"hashes": [
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"+
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"QYQNqQmZx0ueBdHIwSGYc/hOWmM8mw+952pZNEiTllc=",
|
|
47
|
-
"24IMJdpNHM4CBmlq/I5bX+pwIPFu0S2mvApHPIOZVfI=",
|
|
30
|
+
"4NDhuhV+XN3ch7HgEb34VMieDt7ALrzggbFThF20ycI=",
|
|
31
|
+
"DjysFE37WA8HF8IxPizVmEDzmrjuxokU1+1CQjTRB+Y=",
|
|
32
|
+
"cXUHpaN8AEHwFngF+borQFtGGe//o6PixN9BM5qzscQ=",
|
|
33
|
+
"8Csb9kUxYJilZRR4A6YiTiUXVayqbmz7Ygo92Zync74=",
|
|
34
|
+
"Ln5bhvj8sghfgB529R9Ce2UzHOCaiuvuXQFUYKA7A+c=",
|
|
35
|
+
"Q3N6EHNfZ6f8iZCWQ+amkj0DYMfACMJE+LZPiq2j0bo=",
|
|
36
|
+
"NUKMYkVbDJzGSD63+yD8cvHdA8vfwY5yErMyv3siowo=",
|
|
37
|
+
"nn/gUarUQ2grmJFRHNK5kpud1AiEFnettn7ekfPaPKg=",
|
|
38
|
+
"cgCtIML28lkm/SvMk8SBB3pDGVCyCExDXqohMkk31wU=",
|
|
39
|
+
"cv3+osp6wwLAsCMb1JUDdXisMwSc0Dgyenf7dz6KLjA=",
|
|
40
|
+
"ZdiCcLuh3N8g7R+49vYfrtC/ZSzaCRn5nLGirF6k51o=",
|
|
41
|
+
"f/bA8oOi4VWG9Zzu5Jr2SVCZt1rmEiG/rUUI8vAPpPE=",
|
|
42
|
+
"wvcP+DYRoWPaLVUa3WkSFX+cGnUt82C4nmHBz1HM8Q4=",
|
|
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\
|
|
52
|
+
"envelope": "rekor.sigstore.dev - 1193050959916656506\n2446814063\nlzfKRL/pf5FOXlprksGRRlkjb639Zp0zfbWnpwVvzg4=\n\n— rekor.sigstore.dev wNI9ajBFAiEA9we/11mh/mK9WwO69T/lVA0VYWvMhnYz1kBUmeoPy9kCIEen5XuE5iQ2KpmlsuB4AGmbIgxnduete08d/Rv9epj/\n"
|
|
55
53
|
}
|
|
56
54
|
},
|
|
57
|
-
"canonicalizedBody": "
|
|
55
|
+
"canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI0NWQ0MTJlNWJjMjdkZDViN2NhMDZhZjRlZTJhMmZjNjdkMTA4MzZhY2NkMzE5ODdlYjRmYjgyZjEyNjQwNjZmIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJQ0d0TytPSzhGTGQ1SnR2SUVrU054aXFLTk00UFBYbmRpU0RkNzdoQjhRZ0FpRUF0bEU3eUlVMDRLZmx1ekYwcWE0ajJFTE93VjNWZGZ0S05qeElYRXlJeFc4PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaGtWRU5EUW5aeFowRjNTVUpCWjBsVldYbHBVMmxtY3pWcmFIWkVhSGhGV25kamNXeHZXa1pvTTBFd2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1hwTlJFRjVUWHBCTkZkb1kwNU5hbGwzVDBSSmVrMUVRWHBOZWtFMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZOVUhaNE4wOWFRMGxUT1VscWRuaE9OV3A2YkhKTmRYVm1ORzFpYUdWUFNVeGlNbGdLTjA1aGJIcDRTVVZsZVhoaFJWQTNTVkZZVWpoRFZrVlFUR1pUYWtwM1ZsTXlVVXh2YjNrNU5tOVRlRUoxVVRWT05FdFBRMEpvYTNkbloxbFdUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZEWVVJeENucHVNbVJSYlU5VmVWWnZlbWNyUXpJMVJWSmxWVkl3ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJSQldVUldVakJTUVZGSUwwSkhiM2RoU1ZwdFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKV2JGcFhNVFpqZVRsb1lqTkNlZ3BNV0VKeldWaFNiV0l6U25STWVUVnVZVmhTYjJSWFNYWmtNamw1WVRKYWMySXpaSHBNTTA1d1dqSTBkR05JVm1saVIyeHFURmRHYmxwWE5UQk1WMFo2Q21NeVZqQmplVFUxWWxkNFFXTnRWbTFqZVRsdldsZEdhMk41T1hSWlYyeDFUVVJyUjBOcGMwZEJVVkZDWnpjNGQwRlJSVVZMTW1nd1pFaENlazlwT0hZS1pFYzVjbHBYTkhWWlYwNHdZVmM1ZFdONU5XNWhXRkp2WkZkS01XTXlWbmxaTWpsMVpFZFdkV1JETldwaU1qQjNTSGRaUzB0M1dVSkNRVWRFZG5wQlFncEJaMUZTWkRJNWVXRXlXbk5pTTJSbVdrZHNlbU5IUmpCWk1tZDNUbWRaUzB0M1dVSkNRVWRFZG5wQlFrRjNVVzlPZWxVeFdXMVdhbHBVUm14WlZGVTBDbHBYUlhsTlYwWnJUVmRXYlZwWFRYbE5lbEpyV2xSck1FNTZWbWxPYWtacVRYcHJNazVFUVhoQ1oyOXlRbWRGUlVGWlR5OU5RVVZGUWtOT1ZHRlhaSFVLU1VkV05GbFhUakJKU0VJeFdXMTRjRmw1UWtKVU1VSlVTVWRHYmxwWE5UQkpSMFo2WXpKV01HTjZRV2xDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0pTYkFwYVYxWjBaVzVOZGxsWE9YZGplVEYzWWtkR01GcHRPWGxpVkVGa1FtZHZja0puUlVWQldVOHZUVUZGUjBKQk9YbGFWMXA2VERKb2JGbFhVbnBNTWpGb0NtRlhOSGRQZDFsTFMzZFpRa0pCUjBSMmVrRkNRMEZSZEVSRGRHOWtTRkozWTNwdmRrd3pVblpoTWxaMVRHMUdhbVJIYkhaaWJrMTFXakpzTUdGSVZta0taRmhPYkdOdFRuWmlibEpzWW01UmRWa3lPWFJOU0ZsSFEybHpSMEZSVVVKbk56aDNRVkZyUldGQmVHMWhTRkl3WTBoTk5reDVPVzVoV0ZKdlpGZEpkUXBaTWpsMFRESldiRnBYTVRaamVUbG9Zak5DZWt4WVFuTlpXRkp0WWpOS2RFeDVOVzVoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3elRuQmFNalIwQ21OSVZtbGlSMnhxVEZkR2JscFhOVEJNVjBaNll6SldNR041TlRWaVYzaEJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOUkdkSFEybHpSMEZSVVVJS1p6YzRkMEZSYjBWTFozZHZUbnBWTVZsdFZtcGFWRVpzV1ZSVk5GcFhSWGxOVjBaclRWZFdiVnBYVFhsTmVsSnJXbFJyTUU1NlZtbE9ha1pxVFhwck1ncE9SRUZrUW1kdmNrSm5SVVZCV1U4dlRVRkZURUpCT0UxRVYyUndaRWRvTVZscE1XOWlNMDR3V2xkUmQwNTNXVXRMZDFsQ1FrRkhSSFo2UVVKRVFWRndDa1JEWkc5a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFphVjFac1lsaHdla3d5Um5aalNFMTBZMGQ0YUdSSFduWmpiVEIzVDBGWlMwdDNXVUlLUWtGSFJIWjZRVUpFVVZGeFJFTm5NMDVVVm1sYVYwNXNUVmRXYUU1VWFHeFpWRWw0V1ZkUmVGcFhXbXhaZWtsNlRrZFNiRTlVVVROT1Ywa3lUVmROZWdwUFZGa3dUVUk0UjBOcGMwZEJVVkZDWnpjNGQwRlJORVZGVVhkUVkyMVdiV041T1c5YVYwWnJZM2s1ZEZsWGJIVk5RbTlIUTJselIwRlJVVUpuTnpoM0NrRlJPRVZFUVhkTFRWUk5lRTVxU1RGT1ZFRjVUbXBCY0VKbmIzSkNaMFZGUVZsUEwwMUJSVkZDUW5OTlIxZG9NR1JJUW5wUGFUaDJXakpzTUdGSVZta0tURzFPZG1KVE9XeGFWMVowWlc1TmQwZFJXVXRMZDFsQ1FrRkhSSFo2UVVKRlVWRk1SRUZyZUUxRWEzcE5WRUV6VG5wUmQyUm5XVXRMZDFsQ1FrRkhSQXAyZWtGQ1JXZFNiMFJIV205a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFphVjFac1lsaHdla3d5Um5aalNFMTBZMGQ0YUdSSFduWmpiVEIyQ2t4dFpIQmtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbU15Ykc1aWFURjNaRmRLYzJGWFRYUlpWMlJzWW01UmRGbFlUbnBhV0ZKNlRHNXNkR0pGUW5rS1dsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JYZFJjVVJEWnpOT1ZGWnBXbGRPYkUxWFZtaE9WR2hzV1ZSSmVBcFpWMUY0V2xkYWJGbDZTWHBPUjFKc1QxUlJNMDVYU1RKTlYwMTZUMVJaTUUxRFJVZERhWE5IUVZGUlFtYzNPSGRCVWxGRlJYZDNVbVF5T1hsaE1scHpDbUl6WkdaYVIyeDZZMGRHTUZreVozZFhkMWxMUzNkWlFrSkJSMFIyZWtGQ1JsRlNUa1JGZEc5a1NGSjNZM3B2ZGt3eVpIQmtSMmd4V1drMWFtSXlNSFlLV2xkV2JHSlljSHBNTWtaMlkwaE5kR05IZUdoa1IxcDJZMjB3ZGxsWFRqQmhWemwxWTNrNWVXUlhOWHBNZWsxNVRtcEJNMDVxV1RCT2VsazBUREpHTUFwa1IxWjBZMGhTZWt4NlJYZEdkMWxMUzNkWlFrSkJSMFIyZWtGQ1JtZFJTa1JCWkhkamJXd3lXVmhTYkUxR1NVZERhWE5IUVZGUlFtYzNPSGRCVW1kRkNsSkJlRU5qYlZaM1lucHdiRnBYVm5SbGJrNUJUVlJCTlUxNlJYZE9lbU13VERKR2RtTklUWFJqUjNob1pFZGFkbU50TVVGTlZFMTRUbXBKTVU1VVFYa0tUbXB3ZVZwWFdUWmpiVlp0WTNrNWIxcFhSbXRqZVRsMFdWZHNkVTFKUjB0Q1oyOXlRbWRGUlVGa1dqVkJaMUZEUWtoM1JXVm5RalJCU0ZsQk0xUXdkd3BoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLUzFoeWFtVlFTek12YURSd2VXZERPSEEzYnpSQlFVRkhaMHN2TDNkd1VVRkJRa0ZOUVZKNlFrWkJhVVZCQ2pKdFYyOVVSelIzY1hoTldVRnpiaTlFY25CblIyWnlOVU5YWjFNNVdXTkJRbHB5Y1dZeVluVnlNSE5EU1VOb1NYZ3dWVWR3WjFkMk9VdHdiVmt2YkdvS1JuZHlWakp5UzFZd2RXOXllazl1T0hwalJUUTJSMkY0VFVGdlIwTkRjVWRUVFRRNVFrRk5SRUV5YTBGTlIxbERUVkZFVFRWNFJFTlNRM29yWkVWbGNRcHdha2xKVFVWWFkydEVSWFZSVUdORmRGaHhXbTlaV1hJNVNTdGplRUkzVURSUVdFbFhVbGs0YUhCUWRqQkpjMVJQVVVsRFRWRkRlVmxsWkRWbk1HdEVDakJHZGtkSmMzaElLMkUyT0VoT1psRkdLMjR4VUV4V05uQmxibmMxUm1SNGNXSm1kamhVTlhabVZsTjNVbVZoYkdWbFp6aEpVVTA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn19fX0="
|
|
58
56
|
}
|
|
59
57
|
],
|
|
60
58
|
"timestampVerificationData": {}
|
|
@@ -62,8 +60,8 @@
|
|
|
62
60
|
"messageSignature": {
|
|
63
61
|
"messageDigest": {
|
|
64
62
|
"algorithm": "SHA2_256",
|
|
65
|
-
"digest": "
|
|
63
|
+
"digest": "RdQS5bwn3Vt8oGr07iovxn0Qg2rM0xmH60+4LxJkBm8="
|
|
66
64
|
},
|
|
67
|
-
"signature": "
|
|
65
|
+
"signature": "MEUCICGtO+OK8FLd5JtvIEkSNxiqKNM4PPXndiSDd77hB8QgAiEAtlE7yIU04KfluzF0qa4j2ELOwV3VdftKNjxIXEyIxW8="
|
|
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
|
|
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 "
|
|
546
|
+
return typeof "88e8c662234fb095f9b2defc7dd7184b15709dce28298748bd3f9736eb7de5ae" === 'undefined'
|
|
547
547
|
? undefined
|
|
548
|
-
: "
|
|
548
|
+
: "88e8c662234fb095f9b2defc7dd7184b15709dce28298748bd3f9736eb7de5ae";
|
|
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
|
-
:
|
|
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
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
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',
|
|
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
|
|
1975
|
+
repoUrl,
|
|
1908
1976
|
instanceName: params.instanceName,
|
|
1909
1977
|
label: firstPending ? `pre-${firstPending}` : 'pre-migration',
|
|
1910
1978
|
});
|
package/native/manifest.json
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"capabilityClass": "windows-ntfs-crash-recoverable-v1",
|
|
43
43
|
"qualification": {
|
|
44
44
|
"relativePath": "qualifications/win32-x64.json",
|
|
45
|
-
"sha256": "
|
|
45
|
+
"sha256": "b7cc87b57fba8e1df1ce761e522f4b44ac3f648ead439aad5c6f27d8d10f7cf0"
|
|
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": "
|
|
10
|
+
"evidenceSha256": "21bd8544c2bcb7e1aef60d273482fdd916a4c8b4c71ec60c9e067394deb5c6a5",
|
|
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.
|
|
3
|
+
"version": "0.3.31",
|
|
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.
|
|
79
|
+
"@aopslabs/aops-server": "0.2.25",
|
|
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",
|