@githolon/runtime 0.110.1 → 0.111.1
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/dist/RUNTIME-SOURCES.sha256 +9 -8
- package/dist/nomos-native-runtime.js +165 -71
- package/dist/nomos-runner.js +159 -73
- package/dist/remote-reception.cjs +1 -1
- package/dist/remote-reception.js +1 -1
- package/dist/typescript-application-desk.js +1 -1
- package/package.json +1 -1
- package/runner/node-entry.mjs +166 -71
- package/src/protocol/nomos/runtime/v2/observability_desk_pb.d.ts +30 -0
- package/src/protocol/nomos/runtime/v2/observability_desk_pb.js +8 -1
package/runner/node-entry.mjs
CHANGED
|
@@ -5995,7 +5995,7 @@ var CustodyBreakPolicySchema = /* @__PURE__ */ enumDesc(file_nomos_runtime_v2_re
|
|
|
5995
5995
|
var CustodyBreakPolicy = /* @__PURE__ */ tsEnum(CustodyBreakPolicySchema);
|
|
5996
5996
|
|
|
5997
5997
|
// ../../adapter/proto/nomos/runtime/v2/observability_desk_pb.js
|
|
5998
|
-
var file_nomos_runtime_v2_observability_desk = /* @__PURE__ */ fileDesc("Cilub21vcy9ydW50aW1lL3YyL29ic2VydmFiaWxpdHlfZGVzay5wcm90bxIQbm9tb3MucnVudGltZS52MiJCCgxUcmFjZUNvbnRleHQSEAoIdHJhY2VfaWQYASABKAwSDwoHc3Bhbl9pZBgCIAEoDBIPCgdzYW1wbGVkGAMgASgIIp0CCg5SdW50aW1lRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEQoJY29tcG9uZW50GAMgASgJEhYKCXdvcmtzcGFjZRgEIAEoCUgAiAEBEhMKBmRvbWFpbhgFIAEoCUgBiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgCiAEBEjkKCmF0dHJpYnV0ZXMYByADKAsyJS5ub21vcy5ydW50aW1lLnYyLkRpYWdub3N0aWNBdHRyaWJ1dGUSMgoEa2luZBgIIAEoDjIkLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUZhaWx1cmVLaW5kQgwKCl93b3Jrc3BhY2VCCQoHX2RvbWFpbkIMCgpfZGlyZWN0aXZlIr4BChJSdW50aW1lVW5hdmFpbGFibGUSOgoGcmVhc29uGAEgASgOMioubm9tb3MucnVudGltZS52Mi5SdW50aW1lVW5hdmFpbGFibGVSZWFzb24SEQoJd29ya3NwYWNlGAIgASgJEhEKCXJldHJ5YWJsZRgDIAEoCBIfChJyZXRyeV9hZnRlcl9taWxsaXMYBCABKA1IAIgBARIOCgZkZXRhaWwYBSABKAlCFQoTX3JldHJ5X2FmdGVyX21pbGxpcyJ+
|
|
5998
|
+
var file_nomos_runtime_v2_observability_desk = /* @__PURE__ */ fileDesc("Cilub21vcy9ydW50aW1lL3YyL29ic2VydmFiaWxpdHlfZGVzay5wcm90bxIQbm9tb3MucnVudGltZS52MiJCCgxUcmFjZUNvbnRleHQSEAoIdHJhY2VfaWQYASABKAwSDwoHc3Bhbl9pZBgCIAEoDBIPCgdzYW1wbGVkGAMgASgIIp0CCg5SdW50aW1lRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEQoJY29tcG9uZW50GAMgASgJEhYKCXdvcmtzcGFjZRgEIAEoCUgAiAEBEhMKBmRvbWFpbhgFIAEoCUgBiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgCiAEBEjkKCmF0dHJpYnV0ZXMYByADKAsyJS5ub21vcy5ydW50aW1lLnYyLkRpYWdub3N0aWNBdHRyaWJ1dGUSMgoEa2luZBgIIAEoDjIkLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUZhaWx1cmVLaW5kQgwKCl93b3Jrc3BhY2VCCQoHX2RvbWFpbkIMCgpfZGlyZWN0aXZlIr4BChJSdW50aW1lVW5hdmFpbGFibGUSOgoGcmVhc29uGAEgASgOMioubm9tb3MucnVudGltZS52Mi5SdW50aW1lVW5hdmFpbGFibGVSZWFzb24SEQoJd29ya3NwYWNlGAIgASgJEhEKCXJldHJ5YWJsZRgDIAEoCBIfChJyZXRyeV9hZnRlcl9taWxsaXMYBCABKA1IAIgBARIOCgZkZXRhaWwYBSABKAlCFQoTX3JldHJ5X2FmdGVyX21pbGxpcyJ+Cg5SdW50aW1lUmVmdXNhbBI2CgZyZWFzb24YASABKA4yJi5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVSZWZ1c2FsUmVhc29uEhEKCXdvcmtzcGFjZRgCIAEoCRIRCglyZXRyeWFibGUYAyABKAgSDgoGZGV0YWlsGAQgASgJIqUBChNEaWFnbm9zdGljQXR0cmlidXRlEgwKBG5hbWUYASABKAkSFgoMc3RyaW5nX3ZhbHVlGAIgASgJSAASFwoNaW50ZWdlcl92YWx1ZRgDIAEoEkgAEhYKDGRvdWJsZV92YWx1ZRgEIAEoAUgAEhcKDWJvb2xlYW5fdmFsdWUYBSABKAhIABIVCgtieXRlc192YWx1ZRgGIAEoDEgAQgcKBXZhbHVlIqQLCgxSdW50aW1lRXZlbnQSEAoIc2VxdWVuY2UYASABKAQSFAoHc2Vzc2lvbhgCIAEoCUgBiAEBEi8KBXJlYWR5GAogASgLMh4ubm9tb3MucnVudGltZS52Mi5SdW50aW1lUmVhZHlIABI3Cg13YXRjaF9jaGFuZ2VkGAsgASgLMh4ubm9tb3MucnVudGltZS52Mi5XYXRjaENoYW5nZWRIABI5Cg5zeW5jX2NvbXBsZXRlZBgMIAEoCzIfLm5vbW9zLnJ1bnRpbWUudjIuU3luY0NvbXBsZXRlZEgAEjUKDGxpbmtfY2hhbmdlZBgNIAEoCzIdLm5vbW9zLnJ1bnRpbWUudjIuTGlua0NoYW5nZWRIABI5Cg5zaWduYWxfY2hhbmdlZBgOIAEoCzIfLm5vbW9zLnJ1bnRpbWUudjIuU2lnbmFsQ2hhbmdlZEgAEjsKD2N1c3RvZHlfY2hhbmdlZBgPIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUNoYW5nZWRIABJCChNsb2NhbF93b3JrX3JlamVjdGVkGBAgASgLMiMubm9tb3MucnVudGltZS52Mi5Mb2NhbFdvcmtSZWplY3RlZEgAEjMKC2xhd19jaGFuZ2VkGBEgASgLMhwubm9tb3MucnVudGltZS52Mi5MYXdDaGFuZ2VkSAASQwoPa2VybmVsX3Byb2dyZXNzGBIgASgLMigubm9tb3MucnVudGltZS52Mi5LZXJuZWxQcm9ncmVzc09ic2VydmVkSAASLQoEc3BhbhgTIAEoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZVNwYW5IABI/ChF0cmFuc2Zlcl9wcm9ncmVzcxgUIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuVHJhbnNmZXJQcm9ncmVzc0gAEkkKFG1haW50ZW5hbmNlX3Byb2dyZXNzGBUgASgLMikubm9tb3MucnVudGltZS52Mi5SZWFkTWFpbnRlbmFuY2VQcm9ncmVzc0gAEjsKDXNvY2tldF9lZmZlY3QYFiABKAsyIi5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRFZmZlY3RIABJUChxjcmVkZW50aWFsX3JlZnJlc2hfcmVxdWVzdGVkGBcgASgLMiwubm9tb3MucnVudGltZS52Mi5DcmVkZW50aWFsUmVmcmVzaFJlcXVlc3RlZEgAElIKG3JlY2VpdmluZ19ncm91cF9jb252ZXJnZW5jZRgYIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuUmVjZWl2aW5nR3JvdXBDb252ZXJnZW5jZUgAEkoKF21vZGVsX2Fkb3B0aW9uX3Byb2dyZXNzGBkgASgLMicubm9tb3MucnVudGltZS52Mi5Nb2RlbEFkb3B0aW9uUHJvZ3Jlc3NIABI7Cg9mb2xsb3dzX3N1bW1hcnkYGiABKAsyIC5ub21vcy5ydW50aW1lLnYyLkZvbGxvd3NTdW1tYXJ5SAASRAoUbG9jYWxfY29weV9wcmVzZXJ2ZWQYGyABKAsyJC5ub21vcy5ydW50aW1lLnYyLlByZXNlcnZlZExvY2FsQ29weUgAEk4KGWZvcmVpZ25fcGxhY2VtZW50X2lnbm9yZWQYHCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkZvcmVpZ25QbGFjZW1lbnRJZ25vcmVkSAASQwoTYmluZGluZ19xdWFyYW50aW5lZBgdIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuUXVhcmFudGluZWRCaW5kaW5nSAASPwoRd3JpdGVfcHJlcGFyYXRpb24YHiABKAsyIi5ub21vcy5ydW50aW1lLnYyLldyaXRlUHJlcGFyYXRpb25IAEIHCgVldmVudEIKCghfc2Vzc2lvbiK8AQoORm9sbG93c1N1bW1hcnkSEAoIZm9sbG93ZWQYASABKA0SDwoHc2V0dGxlZBgCIAEoDRIMCgRsaXZlGAMgASgNEjcKCndvcmtzcGFjZXMYBCADKAsyIy5ub21vcy5ydW50aW1lLnYyLkZvbGxvd09ic2VydmF0aW9uEiQKF29ic2VydmVkX2F0X3VuaXhfbWlsbGlzGAUgASgESACIAQFCGgoYX29ic2VydmVkX2F0X3VuaXhfbWlsbGlzItECChFGb2xsb3dPYnNlcnZhdGlvbhIRCgl3b3Jrc3BhY2UYASABKAkSNwoFcGhhc2UYAiABKA4yKC5ub21vcy5ydW50aW1lLnYyLkZvbGxvd09ic2VydmF0aW9uUGhhc2USDAoEbGl2ZRgDIAEoCBITCgZkZXRhaWwYBCABKAlIAIgBARIhChRyZXRyeV9hdF91bml4X21pbGxpcxgFIAEoBEgBiAEBEh8KEmR1ZV9hdF91bml4X21pbGxpcxgGIAEoBEgCiAEBEhQKB2F0dGVtcHQYByABKA1IA4gBARIaCg1hY3RpdmVfZWZmZWN0GAggASgJSASIAQFCCQoHX2RldGFpbEIXChVfcmV0cnlfYXRfdW5peF9taWxsaXNCFQoTX2R1ZV9hdF91bml4X21pbGxpc0IKCghfYXR0ZW1wdEIQCg5fYWN0aXZlX2VmZmVjdCJWChpDcmVkZW50aWFsUmVmcmVzaFJlcXVlc3RlZBI4CgdwZW5kaW5nGAEgASgLMicubm9tb3MucnVudGltZS52Mi5Db3JyZXNwb25kZW5jZVBlbmRpbmciPgoMUnVudGltZVJlYWR5EhcKD3J1bnRpbWVfdmVyc2lvbhgBIAEoCRIVCg1rZXJuZWxfc2hhMjU2GAIgASgMIvwBCgxXYXRjaENoYW5nZWQSFwoPc3Vic2NyaXB0aW9uX2lkGAEgASgJEhMKC3Jlc3VsdF91c2RhGAIgASgMEjYKB2ZhaWx1cmUYAyABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVGYWlsdXJlSACIAQESNQoSYXBwbGljYXRpb25fcmVzdWx0GAQgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUgBiAEBEhoKDWludGVnZXJfdmFsdWUYBSABKANIAogBAUIKCghfZmFpbHVyZUIVChNfYXBwbGljYXRpb25fcmVzdWx0QhAKDl9pbnRlZ2VyX3ZhbHVlIpwBCg1TeW5jQ29tcGxldGVkEg4KBnJlYXNvbhgBIAEoCRI3CgZyZXN1bHQYAiABKAsyJy5ub21vcy5ydW50aW1lLnYyLlN5bmNXb3Jrc3BhY2VSZXNwb25zZRI2CgdmYWlsdXJlGAMgASgLMiAubm9tb3MucnVudGltZS52Mi5SdW50aW1lRmFpbHVyZUgAiAEBQgoKCF9mYWlsdXJlIjsKC0xpbmtDaGFuZ2VkEiwKBnN0YXR1cxgBIAEoDjIcLm5vbW9zLnJ1bnRpbWUudjIuTGlua1N0YXR1cyI4Cg1TaWduYWxDaGFuZ2VkEg4KBmRvbWFpbhgBIAEoCRIXCg9wcm9qZWN0aW9uX3VzZGEYAiABKAwiUAoKTGF3Q2hhbmdlZBIOCgZkb21haW4YASABKAkSFgoOcGFja2FnZV9zaGEyNTYYAiABKAkSGgoSY29tcGF0aWJpbGl0eV91c2RhGAMgASgMIt0BCgtSdW50aW1lU3BhbhIQCgh0cmFjZV9pZBgBIAEoDBIPCgdzcGFuX2lkGAIgASgMEhsKDnBhcmVudF9zcGFuX2lkGAMgASgMSACIAQESDAoEbmFtZRgEIAEoCRIaChJzdGFydGVkX3VuaXhfbmFub3MYBSABKAQSFgoOZHVyYXRpb25fbmFub3MYBiABKAQSOQoKYXR0cmlidXRlcxgHIAMoCzIlLm5vbW9zLnJ1bnRpbWUudjIuRGlhZ25vc3RpY0F0dHJpYnV0ZUIRCg9fcGFyZW50X3NwYW5faWQi6gEKFktlcm5lbFByb2dyZXNzT2JzZXJ2ZWQSOQoIc25hcHNob3QYASABKAsyJy5ub21vcy5rZXJuZWwudjEuS2VybmVsUHJvZ3Jlc3NTbmFwc2hvdBIkChxob3N0X29ic2VydmVkX2VsYXBzZWRfbWljcm9zGAIgASgEEioKImhvc3Rfb2JzZXJ2ZWRfcGhhc2VfZWxhcHNlZF9taWNyb3MYAyABKAQSHgoWcHJvY2Vzc19yZXNpZGVudF9ieXRlcxgEIAEoBBIjChtwcm9jZXNzX3BlYWtfcmVzaWRlbnRfYnl0ZXMYBSABKAQiggEKEFRyYW5zZmVyUHJvZ3Jlc3MSFgoOcmVjZWl2ZWRfYnl0ZXMYASABKAQSGAoLdG90YWxfYnl0ZXMYAiABKARIAIgBARIsCgRraW5kGAMgASgOMh4ubm9tb3MucnVudGltZS52Mi5UcmFuc2ZlcktpbmRCDgoMX3RvdGFsX2J5dGVzIjkKEFdyaXRlUHJlcGFyYXRpb24SEgoKcmVxdWVzdF9pZBgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkqygEKElJ1bnRpbWVGYWlsdXJlS2luZBIkCiBSVU5USU1FX0ZBSUxVUkVfS0lORF9VTlNQRUNJRklFRBAAEiEKHVJVTlRJTUVfRkFJTFVSRV9LSU5EX0lOVEVSTkFMEAESIQodUlVOVElNRV9GQUlMVVJFX0tJTkRfUFJPVE9DT0wQAhIiCh5SVU5USU1FX0ZBSUxVUkVfS0lORF9JTlRFR1JJVFkQAxIkCiBSVU5USU1FX0ZBSUxVUkVfS0lORF9VTlNVUFBPUlRFRBAEKqcDChhSdW50aW1lVW5hdmFpbGFibGVSZWFzb24SKgomUlVOVElNRV9VTkFWQUlMQUJMRV9SRUFTT05fVU5TUEVDSUZJRUQQABIyCi5SVU5USU1FX1VOQVZBSUxBQkxFX1JFQVNPTl9SRU1PVEVfT05MWV9PRkZMSU5FEAESMQotUlVOVElNRV9VTkFWQUlMQUJMRV9SRUFTT05fUkVNT1RFX1VOUkVBQ0hBQkxFEAISLQopUlVOVElNRV9VTkFWQUlMQUJMRV9SRUFTT05fUkVNT1RFX1RJTUVPVVQQAxI2CjJSVU5USU1FX1VOQVZBSUxBQkxFX1JFQVNPTl9MT0NBTF9SRVBMSUNBX05PVF9SRUFEWRAEEjUKMVJVTlRJTUVfVU5BVkFJTEFCTEVfUkVBU09OX0NSRURFTlRJQUxfVU5BVkFJTEFCTEUQBRIwCixSVU5USU1FX1VOQVZBSUxBQkxFX1JFQVNPTl9XT1JLU1BBQ0VfT1BFTklORxAGEigKJFJVTlRJTUVfVU5BVkFJTEFCTEVfUkVBU09OX1BFRVJfQlVTWRAHKvABChRSdW50aW1lUmVmdXNhbFJlYXNvbhImCiJSVU5USU1FX1JFRlVTQUxfUkVBU09OX1VOU1BFQ0lGSUVEEAASLQopUlVOVElNRV9SRUZVU0FMX1JFQVNPTl9JTlZBTElEX0NSRURFTlRJQUwQARIoCiRSVU5USU1FX1JFRlVTQUxfUkVBU09OX0FDQ0VTU19ERU5JRUQQAhIrCidSVU5USU1FX1JFRlVTQUxfUkVBU09OX1BMQUNFTUVOVF9QT0xJQ1kQAxIqCiZSVU5USU1FX1JFRlVTQUxfUkVBU09OX1NFU1NJT05fVU5CT1VORBAEKpUEChZGb2xsb3dPYnNlcnZhdGlvblBoYXNlEigKJEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9VTlNQRUNJRklFRBAAEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9ERVNJUkVEEAESIAocRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX0RVRRACEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9SVU5OSU5HEAMSJAogRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX1NFVFRMRUQQBBIwCixGT0xMT1dfT0JTRVJWQVRJT05fUEhBU0VfQVdBSVRJTkdfREVQRU5ERU5DWRAFEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9PRkZMSU5FEAYSLworRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX0lOVkFMSURfQ1JFREVOVElBTBAHEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9CQUNLT0ZGEAgSLAooRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX1JFQk9STl9SRU1PVEVMWRAJEiwKKEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9SRVBMQUNJTkdfTE9DQUwQChIyCi5GT0xMT1dfT0JTRVJWQVRJT05fUEhBU0VfTE9DQUxfQ09QWV9VTlJFQURBQkxFEAsqVwoKTGlua1N0YXR1cxIbChdMSU5LX1NUQVRVU19VTlNQRUNJRklFRBAAEhQKEExJTktfU1RBVFVTX09QRU4QARIWChJMSU5LX1NUQVRVU19DTE9TRUQQAip2CgxUcmFuc2ZlcktpbmQSHQoZVFJBTlNGRVJfS0lORF9VTlNQRUNJRklFRBAAEhcKE1RSQU5TRkVSX0tJTkRfREVMVEEQARIWChJUUkFOU0ZFUl9LSU5EX0ZVTEwQAhIWChJUUkFOU0ZFUl9LSU5EX1BVU0gQA2IGcHJvdG8z", [file_google_protobuf_any, file_nomos_kernel_v1_progress, file_nomos_runtime_v2_correspondence_desk, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_placement_desk, file_nomos_runtime_v2_maintenance_desk, file_nomos_runtime_v2_model_adoption_desk, file_nomos_runtime_v2_receiving_group_desk, file_nomos_runtime_v2_recovery_desk]);
|
|
5999
5999
|
var RuntimeFailureSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_observability_desk, 1);
|
|
6000
6000
|
var RuntimeUnavailableSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_observability_desk, 2);
|
|
6001
6001
|
var RuntimeRefusalSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_observability_desk, 3);
|
|
@@ -6009,6 +6009,7 @@ var WatchChangedSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_obser
|
|
|
6009
6009
|
var SyncCompletedSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_observability_desk, 11);
|
|
6010
6010
|
var LinkChangedSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_observability_desk, 12);
|
|
6011
6011
|
var RuntimeSpanSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_observability_desk, 15);
|
|
6012
|
+
var WritePreparationSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_observability_desk, 18);
|
|
6012
6013
|
var RuntimeFailureKindSchema = /* @__PURE__ */ enumDesc(file_nomos_runtime_v2_observability_desk, 0);
|
|
6013
6014
|
var RuntimeFailureKind = /* @__PURE__ */ tsEnum(RuntimeFailureKindSchema);
|
|
6014
6015
|
var RuntimeUnavailableReasonSchema = /* @__PURE__ */ enumDesc(file_nomos_runtime_v2_observability_desk, 1);
|
|
@@ -16356,6 +16357,18 @@ var CredentialSessions = class {
|
|
|
16356
16357
|
// ../src/runtime/credential_recovery_desk.ts
|
|
16357
16358
|
init_define_NOMOS_KERNEL_RELEASE();
|
|
16358
16359
|
|
|
16360
|
+
// ../src/runtime/credential_failure.ts
|
|
16361
|
+
init_define_NOMOS_KERNEL_RELEASE();
|
|
16362
|
+
function recoverableCredential(failure) {
|
|
16363
|
+
return failure.code === "nomos.auth.token_expired" || failure.code === "nomos.auth.token_missing";
|
|
16364
|
+
}
|
|
16365
|
+
function syncNeedsCredentialRefresh(result, failure) {
|
|
16366
|
+
if (failure !== void 0 && recoverableCredential(failure)) return true;
|
|
16367
|
+
const offer = result?.offerReceipt?.outcome;
|
|
16368
|
+
const pushNeedsRefresh = offer?.case === "failure" ? recoverableCredential(offer.value) : result?.pushError?.status === 401;
|
|
16369
|
+
return pushNeedsRefresh || result?.discoveryError?.status === 401;
|
|
16370
|
+
}
|
|
16371
|
+
|
|
16359
16372
|
// ../src/runtime/credential_renewal.ts
|
|
16360
16373
|
init_define_NOMOS_KERNEL_RELEASE();
|
|
16361
16374
|
var RENEW_BEFORE_MILLIS = 5 * 6e4;
|
|
@@ -16621,7 +16634,7 @@ var CredentialRecoveryDesk = class {
|
|
|
16621
16634
|
return false;
|
|
16622
16635
|
}
|
|
16623
16636
|
observeSync(session, event) {
|
|
16624
|
-
if (!syncNeedsCredentialRefresh(event) || this.#tokenless(session)) return;
|
|
16637
|
+
if (!syncNeedsCredentialRefresh(event.result, event.failure) || this.#tokenless(session)) return;
|
|
16625
16638
|
this.#prune();
|
|
16626
16639
|
const capability = this.#ports.capabilityFor(session);
|
|
16627
16640
|
const existing = this.#active.get(capability);
|
|
@@ -16823,15 +16836,6 @@ var CredentialRecoveryDesk = class {
|
|
|
16823
16836
|
this.#completed.clear();
|
|
16824
16837
|
}
|
|
16825
16838
|
};
|
|
16826
|
-
function recoverableCredential(failure) {
|
|
16827
|
-
return failure.code === "nomos.auth.token_expired" || failure.code === "nomos.auth.token_missing";
|
|
16828
|
-
}
|
|
16829
|
-
function syncNeedsCredentialRefresh(event) {
|
|
16830
|
-
const failures = [event.result?.pushError, event.result?.discoveryError];
|
|
16831
|
-
if (failures.some((failure) => failure?.status === 401 || failure?.status === 403)) return true;
|
|
16832
|
-
const text = `${event.failure?.message ?? ""} ${failures.map((failure) => failure?.message ?? "").join(" ")}`.toLowerCase();
|
|
16833
|
-
return text.includes("unauthenticated") || text.includes("token expired") || text.includes("invalid token");
|
|
16834
|
-
}
|
|
16835
16839
|
|
|
16836
16840
|
// ../src/runtime/device_identity_desk.ts
|
|
16837
16841
|
init_define_NOMOS_KERNEL_RELEASE();
|
|
@@ -17750,6 +17754,7 @@ var ReceivingGroupDesk = class {
|
|
|
17750
17754
|
#accounts = /* @__PURE__ */ new Map();
|
|
17751
17755
|
/** D22: device key hash → the workspaces the console reported this key enrolled in (this process's memory, not truth). */
|
|
17752
17756
|
#consoleEnrolments = /* @__PURE__ */ new Map();
|
|
17757
|
+
#preparingWrites = /* @__PURE__ */ new Map();
|
|
17753
17758
|
#sequence = 0;
|
|
17754
17759
|
#internalRequestId = 30000000000n;
|
|
17755
17760
|
constructor(ports) {
|
|
@@ -17789,16 +17794,124 @@ var ReceivingGroupDesk = class {
|
|
|
17789
17794
|
if (head === account.observedHead) return;
|
|
17790
17795
|
this.#tails.set(workspace, { ...account, inFlight: false, attempts: 0, notBefore: 0n });
|
|
17791
17796
|
}
|
|
17792
|
-
/**
|
|
17793
|
-
*
|
|
17797
|
+
/** Only a proven non-admission can enter recovery. Console-enrolled children
|
|
17798
|
+
* share the owning application's route, selected by credential capability and
|
|
17799
|
+
* principal, never by workspace-name guessing or an unverified payload. */
|
|
17794
17800
|
recoverOffer(request, response) {
|
|
17795
|
-
if (!this.#ports.call || request.command.case !== "kernelCall" || request.command.value.credentialUse !== CredentialUse.SESSION || request.command.value.request?.operation.case !== "offer" || request.command.value.request.operation.value.intent.case !== "call"
|
|
17801
|
+
if (!this.#ports.call || request.command.case !== "kernelCall" || request.command.value.credentialUse !== CredentialUse.SESSION || request.command.value.request?.operation.case !== "offer" || request.command.value.request.operation.value.intent.case !== "call") return;
|
|
17802
|
+
const missing = response.outcome.case === "failure" ? response.outcome.value.code === "nomos.authz.signer_enrollment_missing" : response.outcome.case === "offer" && response.outcome.value.outcome.case === "refused" && response.outcome.value.outcome.value.refusal?.code === KernelRefusalCode.FORGED_PRINCIPAL && response.outcome.value.outcome.value.refusal.details?.fields.actor?.kind.case === "text" && response.outcome.value.outcome.value.refusal.details.fields.actor.kind.value === "unenrolled-signer-key";
|
|
17803
|
+
const revoked = response.outcome.case === "failure" && response.outcome.value.code === "nomos.authz.device_key_revoked";
|
|
17804
|
+
if (!missing && !revoked) return;
|
|
17796
17805
|
const binding = this.#ports.binding(request.command.value.session);
|
|
17797
|
-
|
|
17798
|
-
|
|
17806
|
+
if (!binding) return;
|
|
17807
|
+
const enrolled = [...this.#accounts.values()].find((account2) => {
|
|
17808
|
+
const owner = this.#ports.binding(account2.session);
|
|
17809
|
+
return account2.enrolment && owner?.credentialCapability === binding.credentialCapability && owner.principal === binding.principal;
|
|
17810
|
+
});
|
|
17799
17811
|
const copy3 = fromBinary(RuntimeRequestSchema, toBinary(RuntimeRequestSchema, request));
|
|
17812
|
+
if (enrolled?.enrolment) {
|
|
17813
|
+
if (revoked) return this.#writeRefused(binding.workspace, "This device's access has been revoked.");
|
|
17814
|
+
return this.#begin(request, `enrolled-write-${++this.#sequence}`, (workId2) => this.#prepareEnrolledWrite(copy3, binding, enrolled.application, enrolled.enrolment, workId2));
|
|
17815
|
+
}
|
|
17816
|
+
const account = this.#accounts.get(binding.workspace);
|
|
17817
|
+
if (!account) return;
|
|
17800
17818
|
return this.#begin(request, `receiving-group-authoring-${++this.#sequence}`, (workId2) => this.#recoverOffer(copy3, response, account, workId2));
|
|
17801
17819
|
}
|
|
17820
|
+
#writeRefused(workspace, detail, reason = RuntimeRefusalReason.ACCESS_DENIED) {
|
|
17821
|
+
return { case: "refused", value: create(RuntimeRefusalSchema, {
|
|
17822
|
+
reason,
|
|
17823
|
+
workspace,
|
|
17824
|
+
retryable: false,
|
|
17825
|
+
detail
|
|
17826
|
+
}) };
|
|
17827
|
+
}
|
|
17828
|
+
#writeWaiting(workspace, detail) {
|
|
17829
|
+
return { case: "unavailable", value: create(RuntimeUnavailableSchema, {
|
|
17830
|
+
reason: RuntimeUnavailableReason.CREDENTIAL_UNAVAILABLE,
|
|
17831
|
+
workspace,
|
|
17832
|
+
retryable: true,
|
|
17833
|
+
retryAfterMillis: 1e3,
|
|
17834
|
+
detail
|
|
17835
|
+
}) };
|
|
17836
|
+
}
|
|
17837
|
+
*#prepareEnrolledWrite(request, binding, application, route, workId2) {
|
|
17838
|
+
if (request.command.case !== "kernelCall") throw new Error("write preparation lost its call");
|
|
17839
|
+
const command = request.command.value;
|
|
17840
|
+
const principal = binding.principal;
|
|
17841
|
+
const unavailable = () => this.#writeWaiting(
|
|
17842
|
+
binding.workspace,
|
|
17843
|
+
"This device is still being prepared to save changes. Your change has not been saved. Try again when connected."
|
|
17844
|
+
);
|
|
17845
|
+
this.#ports.emit(binding.session, { case: "writePreparation", value: create(WritePreparationSchema, {
|
|
17846
|
+
requestId: command.request.requestId,
|
|
17847
|
+
workspace: binding.workspace
|
|
17848
|
+
}) });
|
|
17849
|
+
const key = JSON.stringify([binding.credentialCapability, principal, binding.workspace]);
|
|
17850
|
+
const shared = this.#preparingWrites.get(key);
|
|
17851
|
+
const deadline = this.#ports.clock.monotonicNanoseconds() + 30000000000n;
|
|
17852
|
+
let wake = 0;
|
|
17853
|
+
if (shared) {
|
|
17854
|
+
while (!shared.settled) {
|
|
17855
|
+
if (this.#ports.clock.monotonicNanoseconds() >= deadline) return unavailable();
|
|
17856
|
+
const receipt = yield { case: "wake", value: create(PeerWakeEffectSchema, {
|
|
17857
|
+
effectId: `${workId2}:join-${++wake}`,
|
|
17858
|
+
delayMillis: 250
|
|
17859
|
+
}) };
|
|
17860
|
+
if (receipt.outcome.case !== "woken") return unavailable();
|
|
17861
|
+
}
|
|
17862
|
+
if (shared.result) return shared.result;
|
|
17863
|
+
} else {
|
|
17864
|
+
const preparation = { settled: false };
|
|
17865
|
+
this.#preparingWrites.set(key, preparation);
|
|
17866
|
+
try {
|
|
17867
|
+
const secret = this.#ports.authorSecretIfPresent(binding.session);
|
|
17868
|
+
if (!secret) return preparation.result = this.#writeRefused(binding.workspace, "Sign in again to set up this device.", RuntimeRefusalReason.INVALID_CREDENTIAL);
|
|
17869
|
+
const keyHash = sha256Hex(this.#ports.deriveSigningPublicKey(secret));
|
|
17870
|
+
let posture = this.#ports.posture(request, binding.session, principal, secret, false);
|
|
17871
|
+
if (posture.deviceSignerStatus === DeviceSignerStatus.REVOKED) {
|
|
17872
|
+
return preparation.result = this.#writeRefused(binding.workspace, "This device's access has been revoked.");
|
|
17873
|
+
}
|
|
17874
|
+
if (!posture.enrolledDevice || posture.deviceSignerStatus !== DeviceSignerStatus.ACTIVE) {
|
|
17875
|
+
const enrolled = yield* this.#enrolAtConsole(
|
|
17876
|
+
route,
|
|
17877
|
+
binding,
|
|
17878
|
+
`${application}|${principal}`,
|
|
17879
|
+
principal,
|
|
17880
|
+
keyHash,
|
|
17881
|
+
[binding.workspace],
|
|
17882
|
+
`${workId2}:console`
|
|
17883
|
+
);
|
|
17884
|
+
if (enrolled.case === "deferred") return preparation.result = enrolled.credentialRefused ? this.#writeRefused(binding.workspace, "Sign in again to set up this device.", RuntimeRefusalReason.INVALID_CREDENTIAL) : unavailable();
|
|
17885
|
+
if (!(binding.workspace in enrolled.value.heads)) {
|
|
17886
|
+
return preparation.result = this.#writeRefused(binding.workspace, "This device could not obtain access to save changes in this workspace.");
|
|
17887
|
+
}
|
|
17888
|
+
while (true) {
|
|
17889
|
+
posture = this.#ports.posture(request, binding.session, principal, secret, false);
|
|
17890
|
+
if (posture.deviceSignerStatus === DeviceSignerStatus.REVOKED) {
|
|
17891
|
+
return preparation.result = this.#writeRefused(binding.workspace, "This device's access has been revoked.");
|
|
17892
|
+
}
|
|
17893
|
+
if (posture.enrolledDevice && posture.deviceSignerStatus === DeviceSignerStatus.ACTIVE) break;
|
|
17894
|
+
if (this.#ports.clock.monotonicNanoseconds() >= deadline) return preparation.result = unavailable();
|
|
17895
|
+
const receipt = yield { case: "wake", value: create(PeerWakeEffectSchema, {
|
|
17896
|
+
effectId: `${workId2}:observe-${++wake}`,
|
|
17897
|
+
delayMillis: 500
|
|
17898
|
+
}) };
|
|
17899
|
+
if (receipt.outcome.case !== "woken") return preparation.result = unavailable();
|
|
17900
|
+
}
|
|
17901
|
+
}
|
|
17902
|
+
} catch (error) {
|
|
17903
|
+
if (error instanceof ReceivingGroupRefusal) {
|
|
17904
|
+
return preparation.result = this.#writeRefused(binding.workspace, "This device could not obtain access to save changes in this workspace.");
|
|
17905
|
+
}
|
|
17906
|
+
preparation.result = unavailable();
|
|
17907
|
+
throw error;
|
|
17908
|
+
} finally {
|
|
17909
|
+
preparation.settled = true;
|
|
17910
|
+
this.#preparingWrites.delete(key);
|
|
17911
|
+
}
|
|
17912
|
+
}
|
|
17913
|
+
return { case: "retried", request, response: this.#ports.call(request, command) };
|
|
17914
|
+
}
|
|
17802
17915
|
*#recoverOffer(request, response, account, workId2) {
|
|
17803
17916
|
const workspace = this.#ports.binding(account.session).workspace;
|
|
17804
17917
|
const deadline = this.#ports.clock.monotonicNanoseconds() + 60000000000n;
|
|
@@ -17866,6 +17979,7 @@ var ReceivingGroupDesk = class {
|
|
|
17866
17979
|
this.#opening.clear();
|
|
17867
17980
|
this.#accounts.clear();
|
|
17868
17981
|
this.#consoleEnrolments.clear();
|
|
17982
|
+
this.#preparingWrites.clear();
|
|
17869
17983
|
}
|
|
17870
17984
|
#begin(request, workId2, procedure) {
|
|
17871
17985
|
const held = {
|
|
@@ -21821,12 +21935,12 @@ var ReplicaFollowController = class {
|
|
|
21821
21935
|
this.#desk.transition(result.workspace, { case: ReplicaFollowEventKind.WentOffline, nowUnixMillis });
|
|
21822
21936
|
return delayUntilDue(this.#desk.get(result.workspace), nowUnixMillis);
|
|
21823
21937
|
}
|
|
21824
|
-
|
|
21825
|
-
|
|
21938
|
+
if (syncNeedsCredentialRefresh(result)) {
|
|
21939
|
+
const offer = result.offerReceipt?.outcome;
|
|
21826
21940
|
const transition = this.#desk.transition(result.workspace, {
|
|
21827
21941
|
case: ReplicaFollowEventKind.CredentialRejected,
|
|
21828
21942
|
nowUnixMillis,
|
|
21829
|
-
failure:
|
|
21943
|
+
failure: (offer?.case === "failure" ? offer.value.message : void 0) || result.pushError?.message || result.discoveryError?.message || "remote requires a refreshed credential"
|
|
21830
21944
|
});
|
|
21831
21945
|
if (transition.effects.some((effect) => effect.case === ReplicaFollowEffectKind.RefreshCredential)) {
|
|
21832
21946
|
return 0;
|
|
@@ -23913,7 +24027,6 @@ var WorkspaceSyncPhase = Object.freeze({
|
|
|
23913
24027
|
Done: "done"
|
|
23914
24028
|
});
|
|
23915
24029
|
var trackedMain = "refs/remotes/nomos/main";
|
|
23916
|
-
var NO_COMMON_BASE = "this replica holds local history with no frontier its upstream ever confirmed; convergence needs a common admitted base \u2014 drop the local copy to refetch it, or re-discover a provider holding this lineage";
|
|
23917
24030
|
var deferredRemote = "refs/remotes/nomos/deferred";
|
|
23918
24031
|
var deferredLocal = "refs/nomos/sync-deferred-local";
|
|
23919
24032
|
var judgedThisLifetime = /* @__PURE__ */ new Map();
|
|
@@ -24124,38 +24237,13 @@ var WorkspaceSyncWork = class {
|
|
|
24124
24237
|
}), { case: "awaiting", requestId });
|
|
24125
24238
|
}
|
|
24126
24239
|
/**
|
|
24127
|
-
*
|
|
24128
|
-
*
|
|
24129
|
-
*
|
|
24130
|
-
*
|
|
24131
|
-
* state ("a non-empty live ledger requires a common admitted base"), so every step after the
|
|
24132
|
-
* O(1) frontier probe is wasted work — and it is not cheap waste: the fetch negotiates with
|
|
24133
|
-
* no `have` (a full-history pack), and the dependency planner decodes EVERY intent from
|
|
24134
|
-
* genesis and inspects every change, once per round. That is O(history) per follow round,
|
|
24135
|
-
* repeated at every retry, for a round that can only end in a refusal.
|
|
24136
|
-
*
|
|
24137
|
-
* The one base this round can establish costs nothing and is established before this is
|
|
24138
|
-
* asked: an upstream holding exactly this replica's head (the probe's answer) converges it
|
|
24139
|
-
* and records the tracking frontier. Anything else needs the local copy to be dropped and
|
|
24140
|
-
* refetched (an application decision, which preserves the copy), or a re-discovery that
|
|
24141
|
-
* names a provider holding this lineage. Both are reported, at O(1), as this failure.
|
|
24142
|
-
*/
|
|
24143
|
-
/**
|
|
24144
|
-
* Establish this round's base when none is tracked, without walking any history it can avoid.
|
|
24145
|
-
*
|
|
24146
|
-
* The upstream just named its own frontier. If that commit is in THIS replica's lineage, it is
|
|
24147
|
-
* a common admitted base by definition — both sides hold it — and adopting it turns the round
|
|
24148
|
-
* into an ordinary fast-forward: the offer carries only the suffix above it, the fetch can name
|
|
24149
|
-
* it as a truthful `have`, and convergence has the base the kernel requires. One commit walk
|
|
24150
|
-
* (no change decoding, no pack, no network) decides it.
|
|
24151
|
-
*
|
|
24152
|
-
* If it is not in this replica's lineage, no base exists to establish and the round is refused
|
|
24153
|
-
* (#noCommonBase) before it leases, fetches or plans anything.
|
|
24154
|
-
*
|
|
24155
|
-
* A kernel without the commit walk cannot be asked, so it keeps the previous behaviour.
|
|
24240
|
+
* Establish a cheap base when the provider's current tip is in our local chain.
|
|
24241
|
+
* A negative answer means the base is unknown: both sides may have advanced from
|
|
24242
|
+
* an earlier shared commit. Acquire the candidate and let the kernel discover
|
|
24243
|
+
* and judge that history. A tracking bookmark is not an admission prerequisite.
|
|
24156
24244
|
*/
|
|
24157
24245
|
#establishBase(upstreamHead) {
|
|
24158
|
-
if (!this.#
|
|
24246
|
+
if (!this.#missingTrackedBase() || !this.#kernel.historySummary) return true;
|
|
24159
24247
|
const summary = this.#kernel.historySummary(this.#mount, this.#requestId, upstreamHead, this.#localHead);
|
|
24160
24248
|
if (!summary.reachedBase) return false;
|
|
24161
24249
|
this.#previousHead = upstreamHead;
|
|
@@ -24170,26 +24258,9 @@ var WorkspaceSyncWork = class {
|
|
|
24170
24258
|
get establishedBase() {
|
|
24171
24259
|
return this.#establishedBase;
|
|
24172
24260
|
}
|
|
24173
|
-
#
|
|
24261
|
+
#missingTrackedBase() {
|
|
24174
24262
|
return this.#previousHead === void 0 && this.#localHead !== void 0 && this.#replaceLocalHead === void 0;
|
|
24175
24263
|
}
|
|
24176
|
-
#noCommonBaseResult() {
|
|
24177
|
-
return this.#finish(create(SyncWorkspaceResponseSchema, {
|
|
24178
|
-
workspace: this.#mount.workspace,
|
|
24179
|
-
...this.#localHead === void 0 ? {} : { currentHead: this.#localHead },
|
|
24180
|
-
stillAhead: true,
|
|
24181
|
-
...this.#offerReceipt === void 0 ? {} : { offerReceipt: this.#offerReceipt },
|
|
24182
|
-
pushError: create(RuntimeTransportFailureSchema, {
|
|
24183
|
-
endpoint: this.#offerEndpoint(),
|
|
24184
|
-
status: 409,
|
|
24185
|
-
refused: true,
|
|
24186
|
-
message: NO_COMMON_BASE
|
|
24187
|
-
}),
|
|
24188
|
-
timings: create(SyncPhaseTimingsSchema, {
|
|
24189
|
-
convergeMillis: elapsedMillis(this.#clock, this.#started)
|
|
24190
|
-
})
|
|
24191
|
-
}));
|
|
24192
|
-
}
|
|
24193
24264
|
#holdsLocalWork() {
|
|
24194
24265
|
return this.#command.admit && !!this.#localHead && this.#localHead !== this.#previousHead;
|
|
24195
24266
|
}
|
|
@@ -24341,7 +24412,6 @@ var WorkspaceSyncWork = class {
|
|
|
24341
24412
|
if (!this.#desiredHead) return this.#transportFailure("resident peer returned no admitted frontier", false);
|
|
24342
24413
|
this.#candidateDurable = admission.sealedMain === this.#desiredHead;
|
|
24343
24414
|
if (state.phase === WorkspaceSyncPhase.Probe && this.#desiredHead !== this.#localHead) {
|
|
24344
|
-
if (!this.#establishBase(this.#desiredHead)) return this.#noCommonBaseResult();
|
|
24345
24415
|
if (this.#alreadyJudged(this.#desiredHead)) {
|
|
24346
24416
|
return this.#finish(create(SyncWorkspaceResponseSchema, {
|
|
24347
24417
|
workspace: this.#mount.workspace,
|
|
@@ -24353,6 +24423,22 @@ var WorkspaceSyncWork = class {
|
|
|
24353
24423
|
offerReceipt: this.#offerReceipt
|
|
24354
24424
|
}));
|
|
24355
24425
|
}
|
|
24426
|
+
if (!this.#establishBase(this.#desiredHead)) {
|
|
24427
|
+
this.#offerAfterConverge = this.#command.admit;
|
|
24428
|
+
this.#rebaseFrom = void 0;
|
|
24429
|
+
return this.#leaseEffect();
|
|
24430
|
+
}
|
|
24431
|
+
if (this.#establishedBase && !this.#candidateDurable && this.#kernel.resolveRef(this.#mount, this.#requestId, trackedMain) === void 0) {
|
|
24432
|
+
return this.#finish(create(SyncWorkspaceResponseSchema, {
|
|
24433
|
+
workspace: this.#mount.workspace,
|
|
24434
|
+
currentHead: this.#localHead,
|
|
24435
|
+
previousHead: this.#previousHead,
|
|
24436
|
+
stillAhead: true,
|
|
24437
|
+
directOfferDeferred: true,
|
|
24438
|
+
reconnectRequired: false,
|
|
24439
|
+
offerReceipt: this.#offerReceipt
|
|
24440
|
+
}));
|
|
24441
|
+
}
|
|
24356
24442
|
if (this.#probeOnly) {
|
|
24357
24443
|
this.#needsReconciliation = true;
|
|
24358
24444
|
return this.#finish(create(SyncWorkspaceResponseSchema, {
|
|
@@ -24398,7 +24484,7 @@ var WorkspaceSyncWork = class {
|
|
|
24398
24484
|
return this.#converge(this.#desiredHead, admission.resultPack.byteLength, 0);
|
|
24399
24485
|
}
|
|
24400
24486
|
if (this.#desiredHead === this.#previousHead) return this.#converge(this.#desiredHead, 0, 0);
|
|
24401
|
-
|
|
24487
|
+
this.#establishBase(this.#desiredHead);
|
|
24402
24488
|
if (admission.recoveryRequired !== false) return this.#leaseEffect();
|
|
24403
24489
|
return this.#transportFailure("resident peer supplied neither the missing delta nor a history gap", false);
|
|
24404
24490
|
}
|
|
@@ -24621,7 +24707,7 @@ var WorkspaceSyncWork = class {
|
|
|
24621
24707
|
}
|
|
24622
24708
|
}
|
|
24623
24709
|
#converge(candidateHead, receivedBytes, prefetchMillis) {
|
|
24624
|
-
|
|
24710
|
+
this.#establishBase(candidateHead);
|
|
24625
24711
|
this.#beforeConverge?.(candidateHead, this.#previousHead);
|
|
24626
24712
|
const convergeStarted = this.#clock.monotonicNanoseconds();
|
|
24627
24713
|
let judged;
|
|
@@ -27076,13 +27162,21 @@ var CorrespondenceDesk = class {
|
|
|
27076
27162
|
}
|
|
27077
27163
|
#observeSyncResult(requestId, workId2, result) {
|
|
27078
27164
|
const timings = result.timings;
|
|
27165
|
+
const receipt = result.offerReceipt?.outcome;
|
|
27166
|
+
const admission = receipt?.case === "admission" ? receipt.value : void 0;
|
|
27079
27167
|
this.#events.instant("peer.follow.sync-result", {
|
|
27080
27168
|
request: create(RuntimeRequestSchema, { protocolVersion: 2, requestId }),
|
|
27081
27169
|
workspace: result.workspace
|
|
27082
27170
|
}, {
|
|
27083
27171
|
"sync.workId": workId2,
|
|
27084
27172
|
...result.currentHead ? { "sync.head": result.currentHead } : {},
|
|
27173
|
+
...result.previousHead ? { "sync.previousHead": result.previousHead } : {},
|
|
27174
|
+
...admission?.main ? { "sync.providerHead": admission.main } : {},
|
|
27175
|
+
...admission?.sealedMain ? { "sync.sealedHead": admission.sealedMain } : {},
|
|
27085
27176
|
"sync.stillAhead": result.stillAhead,
|
|
27177
|
+
"sync.reconnectRequired": result.reconnectRequired,
|
|
27178
|
+
"sync.refused": result.refused,
|
|
27179
|
+
"sync.deferred": result.deferred,
|
|
27086
27180
|
"sync.directOfferDeferred": result.directOfferDeferred,
|
|
27087
27181
|
"sync.offline": result.offline,
|
|
27088
27182
|
...timings ? {
|
|
@@ -30172,6 +30266,7 @@ var PeerOffice = class {
|
|
|
30172
30266
|
return this.#responses.modelAdoption(request, step);
|
|
30173
30267
|
}
|
|
30174
30268
|
#receivingGroupResponse(request, step) {
|
|
30269
|
+
if (step.case === "refused") return this.#response(request, { case: "refused", value: step.value });
|
|
30175
30270
|
if (step.case === "retried") return this.#birthCustodyResponse(step.request, this.#birthCustody.afterKernelCall(step.request, step.response));
|
|
30176
30271
|
if (step.case === "pending") return this.#response(request, { case: "correspondencePending", value: step.value });
|
|
30177
30272
|
if (step.case === "failure") return this.#failure(request, step.code, step.message);
|
|
@@ -360,6 +360,12 @@ export declare type RuntimeEvent = Message<"nomos.runtime.v2.RuntimeEvent"> & {
|
|
|
360
360
|
*/
|
|
361
361
|
value: QuarantinedBinding;
|
|
362
362
|
case: "bindingQuarantined";
|
|
363
|
+
} | {
|
|
364
|
+
/**
|
|
365
|
+
* @generated from field: nomos.runtime.v2.WritePreparation write_preparation = 30;
|
|
366
|
+
*/
|
|
367
|
+
value: WritePreparation;
|
|
368
|
+
case: "writePreparation";
|
|
363
369
|
} | { case: undefined; value?: undefined };
|
|
364
370
|
};
|
|
365
371
|
|
|
@@ -754,6 +760,30 @@ export declare type TransferProgress = Message<"nomos.runtime.v2.TransferProgres
|
|
|
754
760
|
*/
|
|
755
761
|
export declare const TransferProgressSchema: GenMessage<TransferProgress>;
|
|
756
762
|
|
|
763
|
+
/**
|
|
764
|
+
* Transient observation for one refused, not-yet-admitted generated call. The
|
|
765
|
+
* office owns recovery; observing this event is never required for correctness.
|
|
766
|
+
*
|
|
767
|
+
* @generated from message nomos.runtime.v2.WritePreparation
|
|
768
|
+
*/
|
|
769
|
+
export declare type WritePreparation = Message<"nomos.runtime.v2.WritePreparation"> & {
|
|
770
|
+
/**
|
|
771
|
+
* @generated from field: string request_id = 1;
|
|
772
|
+
*/
|
|
773
|
+
requestId: string;
|
|
774
|
+
|
|
775
|
+
/**
|
|
776
|
+
* @generated from field: string workspace = 2;
|
|
777
|
+
*/
|
|
778
|
+
workspace: string;
|
|
779
|
+
};
|
|
780
|
+
|
|
781
|
+
/**
|
|
782
|
+
* Describes the message nomos.runtime.v2.WritePreparation.
|
|
783
|
+
* Use `create(WritePreparationSchema)` to create a new message.
|
|
784
|
+
*/
|
|
785
|
+
export declare const WritePreparationSchema: GenMessage<WritePreparation>;
|
|
786
|
+
|
|
757
787
|
/**
|
|
758
788
|
* A runtime defect, malformed paper or violated integrity invariant. Expected
|
|
759
789
|
* environmental absence and lawful refusal have their own response arms; a
|
|
@@ -17,7 +17,7 @@ import { file_nomos_runtime_v2_recovery_desk } from "./recovery_desk_pb.js";
|
|
|
17
17
|
* Describes the file nomos/runtime/v2/observability_desk.proto.
|
|
18
18
|
*/
|
|
19
19
|
export const file_nomos_runtime_v2_observability_desk = /*@__PURE__*/
|
|
20
|
-
fileDesc("Cilub21vcy9ydW50aW1lL3YyL29ic2VydmFiaWxpdHlfZGVzay5wcm90bxIQbm9tb3MucnVudGltZS52MiJCCgxUcmFjZUNvbnRleHQSEAoIdHJhY2VfaWQYASABKAwSDwoHc3Bhbl9pZBgCIAEoDBIPCgdzYW1wbGVkGAMgASgIIp0CCg5SdW50aW1lRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEQoJY29tcG9uZW50GAMgASgJEhYKCXdvcmtzcGFjZRgEIAEoCUgAiAEBEhMKBmRvbWFpbhgFIAEoCUgBiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgCiAEBEjkKCmF0dHJpYnV0ZXMYByADKAsyJS5ub21vcy5ydW50aW1lLnYyLkRpYWdub3N0aWNBdHRyaWJ1dGUSMgoEa2luZBgIIAEoDjIkLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUZhaWx1cmVLaW5kQgwKCl93b3Jrc3BhY2VCCQoHX2RvbWFpbkIMCgpfZGlyZWN0aXZlIr4BChJSdW50aW1lVW5hdmFpbGFibGUSOgoGcmVhc29uGAEgASgOMioubm9tb3MucnVudGltZS52Mi5SdW50aW1lVW5hdmFpbGFibGVSZWFzb24SEQoJd29ya3NwYWNlGAIgASgJEhEKCXJldHJ5YWJsZRgDIAEoCBIfChJyZXRyeV9hZnRlcl9taWxsaXMYBCABKA1IAIgBARIOCgZkZXRhaWwYBSABKAlCFQoTX3JldHJ5X2FmdGVyX21pbGxpcyJ+
|
|
20
|
+
fileDesc("Cilub21vcy9ydW50aW1lL3YyL29ic2VydmFiaWxpdHlfZGVzay5wcm90bxIQbm9tb3MucnVudGltZS52MiJCCgxUcmFjZUNvbnRleHQSEAoIdHJhY2VfaWQYASABKAwSDwoHc3Bhbl9pZBgCIAEoDBIPCgdzYW1wbGVkGAMgASgIIp0CCg5SdW50aW1lRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEQoJY29tcG9uZW50GAMgASgJEhYKCXdvcmtzcGFjZRgEIAEoCUgAiAEBEhMKBmRvbWFpbhgFIAEoCUgBiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgCiAEBEjkKCmF0dHJpYnV0ZXMYByADKAsyJS5ub21vcy5ydW50aW1lLnYyLkRpYWdub3N0aWNBdHRyaWJ1dGUSMgoEa2luZBgIIAEoDjIkLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUZhaWx1cmVLaW5kQgwKCl93b3Jrc3BhY2VCCQoHX2RvbWFpbkIMCgpfZGlyZWN0aXZlIr4BChJSdW50aW1lVW5hdmFpbGFibGUSOgoGcmVhc29uGAEgASgOMioubm9tb3MucnVudGltZS52Mi5SdW50aW1lVW5hdmFpbGFibGVSZWFzb24SEQoJd29ya3NwYWNlGAIgASgJEhEKCXJldHJ5YWJsZRgDIAEoCBIfChJyZXRyeV9hZnRlcl9taWxsaXMYBCABKA1IAIgBARIOCgZkZXRhaWwYBSABKAlCFQoTX3JldHJ5X2FmdGVyX21pbGxpcyJ+Cg5SdW50aW1lUmVmdXNhbBI2CgZyZWFzb24YASABKA4yJi5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVSZWZ1c2FsUmVhc29uEhEKCXdvcmtzcGFjZRgCIAEoCRIRCglyZXRyeWFibGUYAyABKAgSDgoGZGV0YWlsGAQgASgJIqUBChNEaWFnbm9zdGljQXR0cmlidXRlEgwKBG5hbWUYASABKAkSFgoMc3RyaW5nX3ZhbHVlGAIgASgJSAASFwoNaW50ZWdlcl92YWx1ZRgDIAEoEkgAEhYKDGRvdWJsZV92YWx1ZRgEIAEoAUgAEhcKDWJvb2xlYW5fdmFsdWUYBSABKAhIABIVCgtieXRlc192YWx1ZRgGIAEoDEgAQgcKBXZhbHVlIqQLCgxSdW50aW1lRXZlbnQSEAoIc2VxdWVuY2UYASABKAQSFAoHc2Vzc2lvbhgCIAEoCUgBiAEBEi8KBXJlYWR5GAogASgLMh4ubm9tb3MucnVudGltZS52Mi5SdW50aW1lUmVhZHlIABI3Cg13YXRjaF9jaGFuZ2VkGAsgASgLMh4ubm9tb3MucnVudGltZS52Mi5XYXRjaENoYW5nZWRIABI5Cg5zeW5jX2NvbXBsZXRlZBgMIAEoCzIfLm5vbW9zLnJ1bnRpbWUudjIuU3luY0NvbXBsZXRlZEgAEjUKDGxpbmtfY2hhbmdlZBgNIAEoCzIdLm5vbW9zLnJ1bnRpbWUudjIuTGlua0NoYW5nZWRIABI5Cg5zaWduYWxfY2hhbmdlZBgOIAEoCzIfLm5vbW9zLnJ1bnRpbWUudjIuU2lnbmFsQ2hhbmdlZEgAEjsKD2N1c3RvZHlfY2hhbmdlZBgPIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUNoYW5nZWRIABJCChNsb2NhbF93b3JrX3JlamVjdGVkGBAgASgLMiMubm9tb3MucnVudGltZS52Mi5Mb2NhbFdvcmtSZWplY3RlZEgAEjMKC2xhd19jaGFuZ2VkGBEgASgLMhwubm9tb3MucnVudGltZS52Mi5MYXdDaGFuZ2VkSAASQwoPa2VybmVsX3Byb2dyZXNzGBIgASgLMigubm9tb3MucnVudGltZS52Mi5LZXJuZWxQcm9ncmVzc09ic2VydmVkSAASLQoEc3BhbhgTIAEoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZVNwYW5IABI/ChF0cmFuc2Zlcl9wcm9ncmVzcxgUIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuVHJhbnNmZXJQcm9ncmVzc0gAEkkKFG1haW50ZW5hbmNlX3Byb2dyZXNzGBUgASgLMikubm9tb3MucnVudGltZS52Mi5SZWFkTWFpbnRlbmFuY2VQcm9ncmVzc0gAEjsKDXNvY2tldF9lZmZlY3QYFiABKAsyIi5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRFZmZlY3RIABJUChxjcmVkZW50aWFsX3JlZnJlc2hfcmVxdWVzdGVkGBcgASgLMiwubm9tb3MucnVudGltZS52Mi5DcmVkZW50aWFsUmVmcmVzaFJlcXVlc3RlZEgAElIKG3JlY2VpdmluZ19ncm91cF9jb252ZXJnZW5jZRgYIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuUmVjZWl2aW5nR3JvdXBDb252ZXJnZW5jZUgAEkoKF21vZGVsX2Fkb3B0aW9uX3Byb2dyZXNzGBkgASgLMicubm9tb3MucnVudGltZS52Mi5Nb2RlbEFkb3B0aW9uUHJvZ3Jlc3NIABI7Cg9mb2xsb3dzX3N1bW1hcnkYGiABKAsyIC5ub21vcy5ydW50aW1lLnYyLkZvbGxvd3NTdW1tYXJ5SAASRAoUbG9jYWxfY29weV9wcmVzZXJ2ZWQYGyABKAsyJC5ub21vcy5ydW50aW1lLnYyLlByZXNlcnZlZExvY2FsQ29weUgAEk4KGWZvcmVpZ25fcGxhY2VtZW50X2lnbm9yZWQYHCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkZvcmVpZ25QbGFjZW1lbnRJZ25vcmVkSAASQwoTYmluZGluZ19xdWFyYW50aW5lZBgdIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuUXVhcmFudGluZWRCaW5kaW5nSAASPwoRd3JpdGVfcHJlcGFyYXRpb24YHiABKAsyIi5ub21vcy5ydW50aW1lLnYyLldyaXRlUHJlcGFyYXRpb25IAEIHCgVldmVudEIKCghfc2Vzc2lvbiK8AQoORm9sbG93c1N1bW1hcnkSEAoIZm9sbG93ZWQYASABKA0SDwoHc2V0dGxlZBgCIAEoDRIMCgRsaXZlGAMgASgNEjcKCndvcmtzcGFjZXMYBCADKAsyIy5ub21vcy5ydW50aW1lLnYyLkZvbGxvd09ic2VydmF0aW9uEiQKF29ic2VydmVkX2F0X3VuaXhfbWlsbGlzGAUgASgESACIAQFCGgoYX29ic2VydmVkX2F0X3VuaXhfbWlsbGlzItECChFGb2xsb3dPYnNlcnZhdGlvbhIRCgl3b3Jrc3BhY2UYASABKAkSNwoFcGhhc2UYAiABKA4yKC5ub21vcy5ydW50aW1lLnYyLkZvbGxvd09ic2VydmF0aW9uUGhhc2USDAoEbGl2ZRgDIAEoCBITCgZkZXRhaWwYBCABKAlIAIgBARIhChRyZXRyeV9hdF91bml4X21pbGxpcxgFIAEoBEgBiAEBEh8KEmR1ZV9hdF91bml4X21pbGxpcxgGIAEoBEgCiAEBEhQKB2F0dGVtcHQYByABKA1IA4gBARIaCg1hY3RpdmVfZWZmZWN0GAggASgJSASIAQFCCQoHX2RldGFpbEIXChVfcmV0cnlfYXRfdW5peF9taWxsaXNCFQoTX2R1ZV9hdF91bml4X21pbGxpc0IKCghfYXR0ZW1wdEIQCg5fYWN0aXZlX2VmZmVjdCJWChpDcmVkZW50aWFsUmVmcmVzaFJlcXVlc3RlZBI4CgdwZW5kaW5nGAEgASgLMicubm9tb3MucnVudGltZS52Mi5Db3JyZXNwb25kZW5jZVBlbmRpbmciPgoMUnVudGltZVJlYWR5EhcKD3J1bnRpbWVfdmVyc2lvbhgBIAEoCRIVCg1rZXJuZWxfc2hhMjU2GAIgASgMIvwBCgxXYXRjaENoYW5nZWQSFwoPc3Vic2NyaXB0aW9uX2lkGAEgASgJEhMKC3Jlc3VsdF91c2RhGAIgASgMEjYKB2ZhaWx1cmUYAyABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVGYWlsdXJlSACIAQESNQoSYXBwbGljYXRpb25fcmVzdWx0GAQgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUgBiAEBEhoKDWludGVnZXJfdmFsdWUYBSABKANIAogBAUIKCghfZmFpbHVyZUIVChNfYXBwbGljYXRpb25fcmVzdWx0QhAKDl9pbnRlZ2VyX3ZhbHVlIpwBCg1TeW5jQ29tcGxldGVkEg4KBnJlYXNvbhgBIAEoCRI3CgZyZXN1bHQYAiABKAsyJy5ub21vcy5ydW50aW1lLnYyLlN5bmNXb3Jrc3BhY2VSZXNwb25zZRI2CgdmYWlsdXJlGAMgASgLMiAubm9tb3MucnVudGltZS52Mi5SdW50aW1lRmFpbHVyZUgAiAEBQgoKCF9mYWlsdXJlIjsKC0xpbmtDaGFuZ2VkEiwKBnN0YXR1cxgBIAEoDjIcLm5vbW9zLnJ1bnRpbWUudjIuTGlua1N0YXR1cyI4Cg1TaWduYWxDaGFuZ2VkEg4KBmRvbWFpbhgBIAEoCRIXCg9wcm9qZWN0aW9uX3VzZGEYAiABKAwiUAoKTGF3Q2hhbmdlZBIOCgZkb21haW4YASABKAkSFgoOcGFja2FnZV9zaGEyNTYYAiABKAkSGgoSY29tcGF0aWJpbGl0eV91c2RhGAMgASgMIt0BCgtSdW50aW1lU3BhbhIQCgh0cmFjZV9pZBgBIAEoDBIPCgdzcGFuX2lkGAIgASgMEhsKDnBhcmVudF9zcGFuX2lkGAMgASgMSACIAQESDAoEbmFtZRgEIAEoCRIaChJzdGFydGVkX3VuaXhfbmFub3MYBSABKAQSFgoOZHVyYXRpb25fbmFub3MYBiABKAQSOQoKYXR0cmlidXRlcxgHIAMoCzIlLm5vbW9zLnJ1bnRpbWUudjIuRGlhZ25vc3RpY0F0dHJpYnV0ZUIRCg9fcGFyZW50X3NwYW5faWQi6gEKFktlcm5lbFByb2dyZXNzT2JzZXJ2ZWQSOQoIc25hcHNob3QYASABKAsyJy5ub21vcy5rZXJuZWwudjEuS2VybmVsUHJvZ3Jlc3NTbmFwc2hvdBIkChxob3N0X29ic2VydmVkX2VsYXBzZWRfbWljcm9zGAIgASgEEioKImhvc3Rfb2JzZXJ2ZWRfcGhhc2VfZWxhcHNlZF9taWNyb3MYAyABKAQSHgoWcHJvY2Vzc19yZXNpZGVudF9ieXRlcxgEIAEoBBIjChtwcm9jZXNzX3BlYWtfcmVzaWRlbnRfYnl0ZXMYBSABKAQiggEKEFRyYW5zZmVyUHJvZ3Jlc3MSFgoOcmVjZWl2ZWRfYnl0ZXMYASABKAQSGAoLdG90YWxfYnl0ZXMYAiABKARIAIgBARIsCgRraW5kGAMgASgOMh4ubm9tb3MucnVudGltZS52Mi5UcmFuc2ZlcktpbmRCDgoMX3RvdGFsX2J5dGVzIjkKEFdyaXRlUHJlcGFyYXRpb24SEgoKcmVxdWVzdF9pZBgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkqygEKElJ1bnRpbWVGYWlsdXJlS2luZBIkCiBSVU5USU1FX0ZBSUxVUkVfS0lORF9VTlNQRUNJRklFRBAAEiEKHVJVTlRJTUVfRkFJTFVSRV9LSU5EX0lOVEVSTkFMEAESIQodUlVOVElNRV9GQUlMVVJFX0tJTkRfUFJPVE9DT0wQAhIiCh5SVU5USU1FX0ZBSUxVUkVfS0lORF9JTlRFR1JJVFkQAxIkCiBSVU5USU1FX0ZBSUxVUkVfS0lORF9VTlNVUFBPUlRFRBAEKqcDChhSdW50aW1lVW5hdmFpbGFibGVSZWFzb24SKgomUlVOVElNRV9VTkFWQUlMQUJMRV9SRUFTT05fVU5TUEVDSUZJRUQQABIyCi5SVU5USU1FX1VOQVZBSUxBQkxFX1JFQVNPTl9SRU1PVEVfT05MWV9PRkZMSU5FEAESMQotUlVOVElNRV9VTkFWQUlMQUJMRV9SRUFTT05fUkVNT1RFX1VOUkVBQ0hBQkxFEAISLQopUlVOVElNRV9VTkFWQUlMQUJMRV9SRUFTT05fUkVNT1RFX1RJTUVPVVQQAxI2CjJSVU5USU1FX1VOQVZBSUxBQkxFX1JFQVNPTl9MT0NBTF9SRVBMSUNBX05PVF9SRUFEWRAEEjUKMVJVTlRJTUVfVU5BVkFJTEFCTEVfUkVBU09OX0NSRURFTlRJQUxfVU5BVkFJTEFCTEUQBRIwCixSVU5USU1FX1VOQVZBSUxBQkxFX1JFQVNPTl9XT1JLU1BBQ0VfT1BFTklORxAGEigKJFJVTlRJTUVfVU5BVkFJTEFCTEVfUkVBU09OX1BFRVJfQlVTWRAHKvABChRSdW50aW1lUmVmdXNhbFJlYXNvbhImCiJSVU5USU1FX1JFRlVTQUxfUkVBU09OX1VOU1BFQ0lGSUVEEAASLQopUlVOVElNRV9SRUZVU0FMX1JFQVNPTl9JTlZBTElEX0NSRURFTlRJQUwQARIoCiRSVU5USU1FX1JFRlVTQUxfUkVBU09OX0FDQ0VTU19ERU5JRUQQAhIrCidSVU5USU1FX1JFRlVTQUxfUkVBU09OX1BMQUNFTUVOVF9QT0xJQ1kQAxIqCiZSVU5USU1FX1JFRlVTQUxfUkVBU09OX1NFU1NJT05fVU5CT1VORBAEKpUEChZGb2xsb3dPYnNlcnZhdGlvblBoYXNlEigKJEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9VTlNQRUNJRklFRBAAEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9ERVNJUkVEEAESIAocRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX0RVRRACEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9SVU5OSU5HEAMSJAogRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX1NFVFRMRUQQBBIwCixGT0xMT1dfT0JTRVJWQVRJT05fUEhBU0VfQVdBSVRJTkdfREVQRU5ERU5DWRAFEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9PRkZMSU5FEAYSLworRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX0lOVkFMSURfQ1JFREVOVElBTBAHEiQKIEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9CQUNLT0ZGEAgSLAooRk9MTE9XX09CU0VSVkFUSU9OX1BIQVNFX1JFQk9STl9SRU1PVEVMWRAJEiwKKEZPTExPV19PQlNFUlZBVElPTl9QSEFTRV9SRVBMQUNJTkdfTE9DQUwQChIyCi5GT0xMT1dfT0JTRVJWQVRJT05fUEhBU0VfTE9DQUxfQ09QWV9VTlJFQURBQkxFEAsqVwoKTGlua1N0YXR1cxIbChdMSU5LX1NUQVRVU19VTlNQRUNJRklFRBAAEhQKEExJTktfU1RBVFVTX09QRU4QARIWChJMSU5LX1NUQVRVU19DTE9TRUQQAip2CgxUcmFuc2ZlcktpbmQSHQoZVFJBTlNGRVJfS0lORF9VTlNQRUNJRklFRBAAEhcKE1RSQU5TRkVSX0tJTkRfREVMVEEQARIWChJUUkFOU0ZFUl9LSU5EX0ZVTEwQAhIWChJUUkFOU0ZFUl9LSU5EX1BVU0gQA2IGcHJvdG8z", [file_google_protobuf_any, file_nomos_kernel_v1_progress, file_nomos_runtime_v2_correspondence_desk, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_placement_desk, file_nomos_runtime_v2_maintenance_desk, file_nomos_runtime_v2_model_adoption_desk, file_nomos_runtime_v2_receiving_group_desk, file_nomos_runtime_v2_recovery_desk]);
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Describes the message nomos.runtime.v2.TraceContext.
|
|
@@ -145,6 +145,13 @@ export const KernelProgressObservedSchema = /*@__PURE__*/
|
|
|
145
145
|
export const TransferProgressSchema = /*@__PURE__*/
|
|
146
146
|
messageDesc(file_nomos_runtime_v2_observability_desk, 17);
|
|
147
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Describes the message nomos.runtime.v2.WritePreparation.
|
|
150
|
+
* Use `create(WritePreparationSchema)` to create a new message.
|
|
151
|
+
*/
|
|
152
|
+
export const WritePreparationSchema = /*@__PURE__*/
|
|
153
|
+
messageDesc(file_nomos_runtime_v2_observability_desk, 18);
|
|
154
|
+
|
|
148
155
|
/**
|
|
149
156
|
* Describes the enum nomos.runtime.v2.RuntimeFailureKind.
|
|
150
157
|
*/
|