@dxos/client 2.33.9-dev.7c8c6a09 → 2.33.9-dev.9246a07b

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.
Files changed (58) hide show
  1. package/dist/browser.js +187 -84
  2. package/dist/src/proto/gen/dxos/client.d.ts +216 -18
  3. package/dist/src/proto/gen/dxos/client.d.ts.map +1 -1
  4. package/dist/src/proto/gen/dxos/client.js +4 -0
  5. package/dist/src/proto/gen/dxos/client.js.map +1 -1
  6. package/dist/src/proto/gen/dxos/config.d.ts +457 -0
  7. package/dist/src/proto/gen/dxos/config.d.ts.map +1 -1
  8. package/dist/src/proto/gen/dxos/config.js +10 -0
  9. package/dist/src/proto/gen/dxos/config.js.map +1 -1
  10. package/dist/src/proto/gen/dxos/credentials.d.ts +39 -0
  11. package/dist/src/proto/gen/dxos/credentials.d.ts.map +1 -1
  12. package/dist/src/proto/gen/dxos/devtools.d.ts +266 -30
  13. package/dist/src/proto/gen/dxos/devtools.d.ts.map +1 -1
  14. package/dist/src/proto/gen/dxos/echo/feed.d.ts +65 -6
  15. package/dist/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  16. package/dist/src/proto/gen/dxos/echo/feed.js +4 -0
  17. package/dist/src/proto/gen/dxos/echo/feed.js.map +1 -1
  18. package/dist/src/proto/gen/dxos/echo/invitation.d.ts +19 -3
  19. package/dist/src/proto/gen/dxos/echo/invitation.d.ts.map +1 -1
  20. package/dist/src/proto/gen/dxos/echo/invitation.js +6 -0
  21. package/dist/src/proto/gen/dxos/echo/invitation.js.map +1 -1
  22. package/dist/src/proto/gen/dxos/echo/service.d.ts +49 -13
  23. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  24. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts +45 -13
  25. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  26. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts +9 -2
  27. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  28. package/dist/src/proto/gen/dxos/halo/keys.d.ts +44 -2
  29. package/dist/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  30. package/dist/src/proto/gen/dxos/halo/keys.js +4 -0
  31. package/dist/src/proto/gen/dxos/halo/keys.js.map +1 -1
  32. package/dist/src/proto/gen/dxos/rpc.d.ts +58 -8
  33. package/dist/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  34. package/dist/src/proto/gen/dxos/rpc.js +4 -0
  35. package/dist/src/proto/gen/dxos/rpc.js.map +1 -1
  36. package/dist/src/proto/gen/google/protobuf.d.ts +82 -82
  37. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -1
  38. package/dist/src/proto/gen/index.d.ts.map +1 -1
  39. package/dist/src/proto/gen/index.js +1 -1
  40. package/dist/src/proto/gen/index.js.map +1 -1
  41. package/dist/src/services/services.test.js +3 -1
  42. package/dist/src/services/services.test.js.map +1 -1
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +17 -17
  45. package/src/proto/gen/dxos/client.ts +216 -18
  46. package/src/proto/gen/dxos/config.ts +457 -0
  47. package/src/proto/gen/dxos/credentials.ts +39 -0
  48. package/src/proto/gen/dxos/devtools.ts +266 -30
  49. package/src/proto/gen/dxos/echo/feed.ts +65 -6
  50. package/src/proto/gen/dxos/echo/invitation.ts +19 -3
  51. package/src/proto/gen/dxos/echo/service.ts +49 -13
  52. package/src/proto/gen/dxos/echo/snapshot.ts +45 -13
  53. package/src/proto/gen/dxos/echo/timeframe.ts +9 -2
  54. package/src/proto/gen/dxos/halo/keys.ts +44 -2
  55. package/src/proto/gen/dxos/rpc.ts +58 -8
  56. package/src/proto/gen/google/protobuf.ts +82 -82
  57. package/src/proto/gen/index.ts +1 -1
  58. package/src/services/services.test.ts +2 -1
package/dist/browser.js CHANGED
@@ -37869,7 +37869,7 @@ var require_gen = __commonJS({
37869
37869
  exports.schema = exports.schemaJson = void 0;
37870
37870
  var codec_protobuf_1 = require("@dxos/codec-protobuf");
37871
37871
  var substitutions_1 = __importDefault(require_substitutions());
37872
- exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"credentials":{"nested":{"auth":{"nested":{"Auth":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":"The publicKey of the target Party for these credentials."},"deviceKey":{"type":"PubKey","id":2,"comment":"The publicKey of the authenticating Device."},"identityKey":{"type":"PubKey","id":3,"comment":"The publicKey of the authenticating Identity."},"feedKey":{"type":"PubKey","id":4,"comment":"The publicKey of the authenticating Identity."},"feedAdmit":{"type":"google.protobuf.Any","id":5,"comment":"FeedAdmit message to the should be written to a control feed in case the `feedKey` is not admitted to the party."}},"comment":"The payload for a SignedMessage sent during handshake for replication authentication."}}},"greet":{"nested":{"BeginResponse":{"fields":{"info":{"keyType":"string","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"ClaimResponse":{"fields":{"id":{"type":"bytes","id":1,"comment":null},"rendezvousKey":{"type":"bytes","id":2,"comment":null}},"comment":null},"Command":{"fields":{"command":{"type":"Type","id":1,"comment":null},"secret":{"type":"bytes","id":2,"comment":null},"params":{"rule":"repeated","type":"google.protobuf.Any","id":10,"comment":null}},"nested":{"Type":{"values":{"BEGIN":0,"HANDSHAKE":1,"NOTARIZE":2,"FINISH":3,"CLAIM":10},"comment":null,"comments":{"BEGIN":null,"HANDSHAKE":null,"NOTARIZE":null,"FINISH":null,"CLAIM":null}}},"comment":"A Greeter command."},"HandshakeResponse":{"fields":{"nonce":{"type":"bytes","id":1,"comment":null},"partyKey":{"type":"PubKey","id":2,"comment":null}},"comment":null},"KeyHint":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":null},"type":{"type":"KeyType","id":2,"comment":null}},"comment":null},"NotarizeResponse":{"fields":{"copies":{"rule":"repeated","type":"google.protobuf.Any","id":1,"comment":null},"genesisFeed":{"type":"PubKey","id":3,"comment":null}},"comment":null}}},"identity":{"nested":{"DeviceInfo":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"comment":null}},"comment":null},"IdentityInfo":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"comment":null}},"comment":null}}},"Message":{"fields":{"payload":{"rule":"required","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"party":{"nested":{"Envelope":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"message":{"type":"Message","id":2,"comment":null}},"comment":null},"FeedAdmit":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"feedKey":{"type":"PubKey","id":2,"comment":null}},"comment":null},"FeedGenesis":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"ownerKey":{"type":"PubKey","id":2,"comment":null}},"comment":null},"KeyAdmit":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"admitKey":{"type":"PubKey","id":2,"comment":null},"admitKeyType":{"type":"KeyType","id":3,"comment":null}},"comment":null},"PartyCredential":{"oneofs":{"contents":{"oneof":["envelope","partyGenesis","keyAdmit","feedAdmit","feedGenesis"],"comment":null}},"fields":{"type":{"type":"Type","id":1,"comment":null},"envelope":{"type":"Envelope","id":10,"comment":null},"partyGenesis":{"type":"PartyGenesis","id":11,"comment":null},"keyAdmit":{"type":"KeyAdmit","id":12,"comment":null},"feedAdmit":{"type":"FeedAdmit","id":13,"comment":null},"feedGenesis":{"type":"FeedGenesis","id":14,"comment":null}},"nested":{"Type":{"values":{"ENVELOPE":0,"PARTY_GENESIS":1,"FEED_GENESIS":2,"KEY_ADMIT":3,"FEED_ADMIT":4},"comment":null,"comments":{"ENVELOPE":null,"PARTY_GENESIS":null,"FEED_GENESIS":null,"KEY_ADMIT":null,"FEED_ADMIT":null}}},"comment":null},"PartyGenesis":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"feedKey":{"type":"PubKey","id":2,"comment":null},"admitKey":{"type":"PubKey","id":3,"comment":null},"admitKeyType":{"type":"KeyType","id":4,"comment":null}},"comment":null},"PartyInvitation":{"fields":{"id":{"type":"bytes","id":1,"comment":null},"partyKey":{"type":"PubKey","id":2,"comment":null},"issuerKey":{"type":"PubKey","id":3,"comment":null},"inviteeKey":{"type":"PubKey","id":4,"comment":null}},"comment":null}}},"SignedMessage":{"fields":{"signed":{"rule":"required","type":"Signed","id":1,"comment":null},"signatures":{"rule":"repeated","type":"Signature","id":2,"comment":null}},"nested":{"Signature":{"fields":{"key":{"rule":"required","type":"PubKey","id":1,"comment":null},"signature":{"rule":"required","type":"bytes","id":2,"comment":null},"keyChain":{"type":"KeyChain","id":3,"comment":null}},"comment":null},"Signed":{"fields":{"created":{"rule":"required","type":"string","id":1,"comment":null},"nonce":{"rule":"required","type":"bytes","id":2,"comment":null},"payload":{"rule":"required","type":"google.protobuf.Any","id":10,"comment":null}},"comment":null}},"comment":"A generic container message used whenever messages are signed (e.g. PartyCredential)"}}},"halo":{"nested":{"keys":{"nested":{"KeyChain":{"fields":{"publicKey":{"rule":"required","type":"PubKey","id":1,"comment":null},"message":{"rule":"required","type":"SignedMessage","id":2,"comment":null},"parents":{"rule":"repeated","type":"KeyChain","id":3,"comment":null}},"comment":null},"KeyRecord":{"fields":{"type":{"rule":"required","type":"KeyType","id":1,"comment":"The `KeyType` type of the key. This is often unknown for keys from other sources."},"publicKey":{"rule":"required","type":"PubKey","id":2,"comment":"The public key as a Buffer (required)."},"secretKey":{"type":"PrivKey","id":3,"comment":"The secret key as a Buffer (this will never be visible outside the Keyring)."},"hint":{"type":"bool","id":4,"comment":"Is this key from a Greeting \\"hint\\"?"},"own":{"type":"bool","id":5,"comment":"Determines if this is our key?\\nUsually true if `secretKey` is present; may be false for \\"inception keys\\" such as the Party key."},"trusted":{"type":"bool","id":6,"comment":"Is this key to be trusted?"},"added":{"type":"string","id":7,"comment":"An RFC-3339 date/time string for when the key was added to the Keyring."},"created":{"type":"string","id":8,"comment":"An RFC-3339 date/time string for when the key was created."}},"comment":null},"KeyRecordList":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"KeyType":{"values":{"UNKNOWN":0,"IDENTITY":1,"DEVICE":2,"PARTY":3,"FEED":4,"DXNS_ADDRESS":5},"comment":null,"comments":{"UNKNOWN":null,"IDENTITY":null,"DEVICE":null,"PARTY":null,"FEED":null,"DXNS_ADDRESS":null}},"PrivKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null},"PubKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null},"BoolValue":{"fields":{"value":{"type":"bool","id":1}},"comment":null},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}},"comment":null},"DoubleValue":{"fields":{"value":{"type":"double","id":1}},"comment":null},"FloatValue":{"fields":{"value":{"type":"float","id":1}},"comment":null},"Int32Value":{"fields":{"value":{"type":"int32","id":1}},"comment":null},"Int64Value":{"fields":{"value":{"type":"int64","id":1}},"comment":null},"StringValue":{"fields":{"value":{"type":"string","id":1}},"comment":null},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}},"comment":null},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}},"comment":null}}}}}}}');
37872
+ exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"credentials":{"nested":{"auth":{"nested":{"Auth":{"oneofs":{"_feedKey":{"oneof":["feedKey"]},"_feedAdmit":{"oneof":["feedAdmit"]}},"fields":{"partyKey":{"type":"PubKey","id":1,"comment":"The publicKey of the target Party for these credentials."},"deviceKey":{"type":"PubKey","id":2,"comment":"The publicKey of the authenticating Device."},"identityKey":{"type":"PubKey","id":3,"comment":"The publicKey of the authenticating Identity."},"feedKey":{"type":"PubKey","id":4,"options":{"proto3_optional":true},"comment":"The publicKey of the authenticating Identity."},"feedAdmit":{"type":"google.protobuf.Any","id":5,"options":{"proto3_optional":true},"comment":"FeedAdmit message to the should be written to a control feed in case the `feedKey` is not admitted to the party."}},"comment":"The payload for a SignedMessage sent during handshake for replication authentication."}}},"greet":{"nested":{"BeginResponse":{"fields":{"info":{"keyType":"string","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"ClaimResponse":{"fields":{"id":{"type":"bytes","id":1,"comment":null},"rendezvousKey":{"type":"bytes","id":2,"comment":null}},"comment":null},"Command":{"oneofs":{"_secret":{"oneof":["secret"]}},"fields":{"command":{"type":"Type","id":1,"comment":null},"secret":{"type":"bytes","id":2,"options":{"proto3_optional":true},"comment":null},"params":{"rule":"repeated","type":"google.protobuf.Any","id":10,"comment":null}},"nested":{"Type":{"values":{"BEGIN":0,"HANDSHAKE":1,"NOTARIZE":2,"FINISH":3,"CLAIM":10},"comment":null,"comments":{"BEGIN":null,"HANDSHAKE":null,"NOTARIZE":null,"FINISH":null,"CLAIM":null}}},"comment":"A Greeter command."},"HandshakeResponse":{"fields":{"nonce":{"type":"bytes","id":1,"comment":null},"partyKey":{"type":"PubKey","id":2,"comment":null}},"comment":null},"KeyHint":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":null},"type":{"type":"KeyType","id":2,"comment":null}},"comment":null},"NotarizeResponse":{"fields":{"copies":{"rule":"repeated","type":"google.protobuf.Any","id":1,"comment":null},"genesisFeed":{"type":"PubKey","id":3,"comment":null}},"comment":null}}},"identity":{"nested":{"DeviceInfo":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"comment":null}},"comment":null},"IdentityInfo":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"comment":null}},"comment":null}}},"Message":{"fields":{"payload":{"rule":"required","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"party":{"nested":{"Envelope":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"message":{"type":"Message","id":2,"comment":null}},"comment":null},"FeedAdmit":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"feedKey":{"type":"PubKey","id":2,"comment":null}},"comment":null},"FeedGenesis":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"ownerKey":{"type":"PubKey","id":2,"comment":null}},"comment":null},"KeyAdmit":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"admitKey":{"type":"PubKey","id":2,"comment":null},"admitKeyType":{"type":"KeyType","id":3,"comment":null}},"comment":null},"PartyCredential":{"oneofs":{"contents":{"oneof":["envelope","partyGenesis","keyAdmit","feedAdmit","feedGenesis"],"comment":null}},"fields":{"type":{"type":"Type","id":1,"comment":null},"envelope":{"type":"Envelope","id":10,"comment":null},"partyGenesis":{"type":"PartyGenesis","id":11,"comment":null},"keyAdmit":{"type":"KeyAdmit","id":12,"comment":null},"feedAdmit":{"type":"FeedAdmit","id":13,"comment":null},"feedGenesis":{"type":"FeedGenesis","id":14,"comment":null}},"nested":{"Type":{"values":{"ENVELOPE":0,"PARTY_GENESIS":1,"FEED_GENESIS":2,"KEY_ADMIT":3,"FEED_ADMIT":4},"comment":null,"comments":{"ENVELOPE":null,"PARTY_GENESIS":null,"FEED_GENESIS":null,"KEY_ADMIT":null,"FEED_ADMIT":null}}},"comment":null},"PartyGenesis":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"feedKey":{"type":"PubKey","id":2,"comment":null},"admitKey":{"type":"PubKey","id":3,"comment":null},"admitKeyType":{"type":"KeyType","id":4,"comment":null}},"comment":null},"PartyInvitation":{"fields":{"id":{"type":"bytes","id":1,"comment":null},"partyKey":{"type":"PubKey","id":2,"comment":null},"issuerKey":{"type":"PubKey","id":3,"comment":null},"inviteeKey":{"type":"PubKey","id":4,"comment":null}},"comment":null}}},"SignedMessage":{"fields":{"signed":{"rule":"required","type":"Signed","id":1,"comment":"The signed message contents."},"signatures":{"rule":"repeated","type":"Signature","id":2,"comment":"An array of Signatures, one for each key that signed the message."}},"nested":{"Signature":{"oneofs":{"_keyChain":{"oneof":["keyChain"]}},"fields":{"key":{"rule":"required","type":"PubKey","id":1,"comment":"The publicKey of the keypair that made this signature."},"signature":{"rule":"required","type":"bytes","id":2,"comment":"The bytes of the signature."},"keyChain":{"type":"KeyChain","id":3,"options":{"proto3_optional":true},"comment":"The certification chain of SignedMessages for this key."}},"comment":null},"Signed":{"fields":{"created":{"rule":"required","type":"string","id":1,"comment":"RFC-3339 datetime string."},"nonce":{"rule":"required","type":"bytes","id":2,"comment":null},"payload":{"rule":"required","type":"google.protobuf.Any","id":10,"comment":"The payload to be signed."}},"comment":null}},"comment":"A generic container message used whenever messages are signed (e.g. PartyCredential)"}}},"halo":{"nested":{"keys":{"nested":{"KeyChain":{"fields":{"publicKey":{"rule":"required","type":"PubKey","id":1,"comment":null},"message":{"rule":"required","type":"SignedMessage","id":2,"comment":null},"parents":{"rule":"repeated","type":"KeyChain","id":3,"comment":null}},"comment":null},"KeyRecord":{"oneofs":{"_secretKey":{"oneof":["secretKey"]},"_hint":{"oneof":["hint"]},"_own":{"oneof":["own"]},"_trusted":{"oneof":["trusted"]},"_added":{"oneof":["added"]},"_created":{"oneof":["created"]}},"fields":{"type":{"rule":"required","type":"KeyType","id":1,"comment":"The `KeyType` type of the key. This is often unknown for keys from other sources."},"publicKey":{"rule":"required","type":"PubKey","id":2,"comment":"The public key as a Buffer (required)."},"secretKey":{"type":"PrivKey","id":3,"options":{"proto3_optional":true},"comment":"The secret key as a Buffer (this will never be visible outside the Keyring)."},"hint":{"type":"bool","id":4,"options":{"proto3_optional":true},"comment":"Is this key from a Greeting \\"hint\\"?"},"own":{"type":"bool","id":5,"options":{"proto3_optional":true},"comment":"Determines if this is our key?\\nUsually true if `secretKey` is present; may be false for \\"inception keys\\" such as the Party key."},"trusted":{"type":"bool","id":6,"options":{"proto3_optional":true},"comment":"Is this key to be trusted?"},"added":{"type":"string","id":7,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was added to the Keyring."},"created":{"type":"string","id":8,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was created."}},"comment":null},"KeyRecordList":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"KeyType":{"values":{"UNKNOWN":0,"IDENTITY":1,"DEVICE":2,"PARTY":3,"FEED":4,"DXNS_ADDRESS":5},"comment":null,"comments":{"UNKNOWN":null,"IDENTITY":null,"DEVICE":null,"PARTY":null,"FEED":null,"DXNS_ADDRESS":null}},"PrivKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null},"PubKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null},"BoolValue":{"fields":{"value":{"type":"bool","id":1}},"comment":null},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}},"comment":null},"DoubleValue":{"fields":{"value":{"type":"double","id":1}},"comment":null},"FloatValue":{"fields":{"value":{"type":"float","id":1}},"comment":null},"Int32Value":{"fields":{"value":{"type":"int32","id":1}},"comment":null},"Int64Value":{"fields":{"value":{"type":"int64","id":1}},"comment":null},"StringValue":{"fields":{"value":{"type":"string","id":1}},"comment":null},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}},"comment":null},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}},"comment":null}}}}}}}');
37873
37873
  exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson, substitutions_1.default);
37874
37874
  }
37875
37875
  });
@@ -82346,7 +82346,7 @@ var require_gen3 = __commonJS({
82346
82346
  exports.schema = exports.schemaJson = void 0;
82347
82347
  var codec_protobuf_1 = require("@dxos/codec-protobuf");
82348
82348
  var substitutions_1 = __importDefault(require_substitutions3());
82349
- exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"credentials":{"nested":{"Message":{"fields":{"payload":{"rule":"required","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"SignedMessage":{"fields":{"signed":{"rule":"required","type":"Signed","id":1,"comment":null},"signatures":{"rule":"repeated","type":"Signature","id":2,"comment":null}},"nested":{"Signature":{"fields":{"key":{"rule":"required","type":"PubKey","id":1,"comment":null},"signature":{"rule":"required","type":"bytes","id":2,"comment":null},"keyChain":{"type":"KeyChain","id":3,"comment":null}},"comment":null},"Signed":{"fields":{"created":{"rule":"required","type":"string","id":1,"comment":null},"nonce":{"rule":"required","type":"bytes","id":2,"comment":null},"payload":{"rule":"required","type":"google.protobuf.Any","id":10,"comment":null}},"comment":null}},"comment":"A generic container message used whenever messages are signed (e.g. PartyCredential)"}}},"echo":{"nested":{"feed":{"nested":{"CredentialsMessage":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":"A container for dxos.credentials.Message"},"EchoEnvelope":{"fields":{"itemId":{"type":"string","id":1,"comment":null},"genesis":{"type":"ItemGenesis","id":10,"comment":null},"itemMutation":{"type":"ItemMutation","id":11,"comment":null},"mutation":{"type":"bytes","id":12,"comment":null},"snapshot":{"type":"ModelSnapshot","id":13,"comment":"Set the model to the provided snapshot."}},"comment":"Wrapper for all ECHO messages."},"FeedMessage":{"oneofs":{"payload":{"oneof":["halo","echo"],"comment":null}},"fields":{"timeframe":{"type":"TimeframeVector","id":1,"comment":null},"halo":{"type":"CredentialsMessage","id":10,"comment":null},"echo":{"type":"EchoEnvelope","id":11,"comment":null}},"comment":"Outer message type decoded by Codec.\\nThis is what is written to the feeds."},"ItemGenesis":{"fields":{"itemType":{"type":"string","id":1,"comment":null},"modelType":{"type":"string","id":2,"comment":null},"modelVersion":{"type":"string","id":3,"comment":null},"link":{"type":"LinkData","id":4,"comment":null}},"comment":null},"ItemMutation":{"fields":{"parentId":{"type":"string","id":1,"comment":null},"action":{"type":"Action","id":2,"comment":null}},"nested":{"Action":{"values":{"NOOP":0,"DELETE":1,"RESTORE":2},"comment":null,"comments":{"NOOP":null,"DELETE":null,"RESTORE":null}}},"comment":"Item mutation."},"LinkData":{"fields":{"source":{"type":"string","id":1,"comment":null},"target":{"type":"string","id":2,"comment":null}},"comment":null}}},"invitation":{"nested":{"InvitationDescriptor":{"fields":{"type":{"type":"Type","id":1,"comment":null},"swarmKey":{"type":"bytes","id":2,"comment":null},"invitation":{"type":"bytes","id":3,"comment":null},"identityKey":{"type":"bytes","id":4,"comment":"Only present if type == OFFLINE."},"secret":{"type":"bytes","id":5,"comment":"Must be stripped out when passing to another peer."}},"nested":{"Type":{"values":{"INTERACTIVE":1,"OFFLINE":2},"comment":"Defines an invitation type.","comments":{"INTERACTIVE":"Interactive invitation is when both peers are online at the same time.","OFFLINE":"Offline is when only a single peer needs to be online at the time."}}},"comment":null}}},"metadata":{"nested":{"EchoMetadata":{"fields":{"version":{"type":"int32","id":1,"comment":"Version number that is inceremnted every time there\'s a breaking change to the storage schema.\\n\\nThis is used to detect if the storage schema has changed since the last time the client was run.\\nLoading data from a different version will might result in an error."},"parties":{"rule":"repeated","type":"PartyMetadata","id":2,"comment":null},"created":{"type":"google.protobuf.Timestamp","id":3,"comment":null},"updated":{"type":"google.protobuf.Timestamp","id":4,"comment":null}},"comment":null},"PartyMetadata":{"fields":{"key":{"type":"PubKey","id":1,"comment":"Party key."},"genesisFeedKey":{"type":"PubKey","id":6,"comment":null},"controlFeedKey":{"type":"PubKey","id":4,"comment":"Key of the wriatable control feed."},"dataFeedKey":{"type":"PubKey","id":3,"comment":"Key of the wriatable data feed."},"latestTimeframe":{"type":"TimeframeVector","id":5,"comment":null},"feedKeys":{"rule":"repeated","type":"PubKey","id":2,"comment":"List of all feed associated with the party."}},"comment":null}}},"service":{"nested":{"DataService":{"methods":{"SubscribeEntitySet":{"requestType":"SubscribeEntitySetRequest","responseType":"SubscribeEntitySetResponse","responseStream":true,"comment":null},"SubscribeEntityStream":{"requestType":"SubscribeEntityStreamRequest","responseType":"SubscribeEntityStreamResponse","responseStream":true,"comment":null},"Write":{"requestType":"WriteRequest","responseType":"MutationReceipt","comment":null}},"comment":null},"MutationReceipt":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"seq":{"type":"int32","id":2,"comment":null}},"comment":null},"SubscribeEntitySetRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null}},"comment":null},"SubscribeEntitySetResponse":{"fields":{"added":{"rule":"repeated","type":"EchoEnvelope","id":1,"comment":null},"deleted":{"rule":"repeated","type":"EchoEnvelope","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"itemId":{"type":"string","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamResponse":{"oneofs":{"kind":{"oneof":["snapshot","mutation"],"comment":null}},"fields":{"snapshot":{"type":"ItemSnapshot","id":1,"comment":null},"mutation":{"type":"Mutation","id":2,"comment":null}},"nested":{"Mutation":{"fields":{"data":{"type":"EchoEnvelope","id":1,"comment":null},"meta":{"type":"Metadata","id":2,"comment":null}},"nested":{"Metadata":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"memberKey":{"type":"PubKey","id":2,"comment":null},"seq":{"type":"int32","id":3,"comment":null},"timeframe":{"type":"TimeframeVector","id":4,"comment":null}},"comment":null}},"comment":null}},"comment":null},"WriteRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"mutation":{"type":"EchoEnvelope","id":2,"comment":null}},"comment":null}}},"snapshot":{"nested":{"DatabaseSnapshot":{"fields":{"items":{"rule":"repeated","type":"ItemSnapshot","id":1,"comment":null},"links":{"rule":"repeated","type":"LinkSnapshot","id":2,"comment":null}},"comment":null},"HaloStateSnapshot":{"fields":{"messages":{"rule":"repeated","type":"dxos.CredentialsMessage","id":1,"comment":null}},"comment":null},"ItemSnapshot":{"oneofs":{"_itemId":{"oneof":["itemId"]},"_itemType":{"oneof":["itemType"]},"_modelType":{"oneof":["modelType"]},"_modelVersion":{"oneof":["modelVersion"]},"_parentId":{"oneof":["parentId"]},"_model":{"oneof":["model"]}},"fields":{"itemId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"itemType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"parentId":{"type":"string","id":5,"options":{"proto3_optional":true},"comment":null},"model":{"type":"ModelSnapshot","id":6,"options":{"proto3_optional":true},"comment":null}},"comment":null},"LinkSnapshot":{"oneofs":{"_linkId":{"oneof":["linkId"]},"_linkType":{"oneof":["linkType"]},"_modelType":{"oneof":["modelType"]},"_modelVersion":{"oneof":["modelVersion"]},"_model":{"oneof":["model"]}},"fields":{"linkId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"linkType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"source":{"rule":"required","type":"string","id":5,"comment":null},"target":{"rule":"required","type":"string","id":6,"comment":null},"model":{"type":"ModelSnapshot","id":7,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ModelMutation":{"fields":{"mutation":{"rule":"required","type":"bytes","id":1,"comment":null},"meta":{"rule":"required","type":"ModelMutationMeta","id":2,"comment":null}},"comment":null},"ModelMutationMeta":{"fields":{"feedKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"seq":{"rule":"required","type":"int32","id":2,"comment":null},"memberKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":3,"comment":null}},"comment":null},"ModelSnapshot":{"oneofs":{"_snapshot":{"oneof":["snapshot"]}},"fields":{"snapshot":{"type":"bytes","id":1,"options":{"proto3_optional":true},"comment":"Encoded model snapshot (defined by the model\'s codec).\\nIf undefined the state machine will be initialized with it\'s default state."},"mutations":{"rule":"repeated","type":"ModelMutation","id":2,"comment":"Mutations to be applied on top of the snapshot, or on top of initial state if the snapshot is undefined."}},"comment":null},"PartySnapshot":{"fields":{"partyKey":{"type":"bytes","id":1,"comment":null},"timeframe":{"type":"TimeframeVector","id":2,"comment":null},"timestamp":{"type":"int32","id":3,"comment":null},"halo":{"type":"HaloStateSnapshot","id":11,"comment":null},"database":{"type":"DatabaseSnapshot","id":12,"comment":null}},"comment":null}}},"testing":{"nested":{"TestItemMutation":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"string","id":2,"comment":null}},"comment":null},"TestItemSnapshot":{"fields":{"keys":{"rule":"repeated","type":"TestItemMutation","id":1,"comment":null}},"comment":null},"TestListMutation":{"fields":{"data":{"type":"string","id":1,"comment":null}},"comment":null}}},"timeframe":{"nested":{"TimeframeVector":{"fields":{"frames":{"rule":"repeated","type":"Frame","id":1,"comment":null}},"nested":{"Frame":{"fields":{"feedKey":{"type":"bytes","id":1,"comment":null},"seq":{"type":"int32","id":3,"comment":null}},"comment":null}},"comment":"Vector timestamp used to order messages."}}}}},"halo":{"nested":{"keys":{"nested":{"KeyChain":{"fields":{"publicKey":{"rule":"required","type":"PubKey","id":1,"comment":null},"message":{"rule":"required","type":"SignedMessage","id":2,"comment":null},"parents":{"rule":"repeated","type":"KeyChain","id":3,"comment":null}},"comment":null},"KeyRecord":{"fields":{"type":{"rule":"required","type":"KeyType","id":1,"comment":"The `KeyType` type of the key. This is often unknown for keys from other sources."},"publicKey":{"rule":"required","type":"PubKey","id":2,"comment":"The public key as a Buffer (required)."},"secretKey":{"type":"PrivKey","id":3,"comment":"The secret key as a Buffer (this will never be visible outside the Keyring)."},"hint":{"type":"bool","id":4,"comment":"Is this key from a Greeting \\"hint\\"?"},"own":{"type":"bool","id":5,"comment":"Determines if this is our key?\\nUsually true if `secretKey` is present; may be false for \\"inception keys\\" such as the Party key."},"trusted":{"type":"bool","id":6,"comment":"Is this key to be trusted?"},"added":{"type":"string","id":7,"comment":"An RFC-3339 date/time string for when the key was added to the Keyring."},"created":{"type":"string","id":8,"comment":"An RFC-3339 date/time string for when the key was created."}},"comment":null},"KeyRecordList":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"KeyType":{"values":{"UNKNOWN":0,"IDENTITY":1,"DEVICE":2,"PARTY":3,"FEED":4,"DXNS_ADDRESS":5},"comment":null,"comments":{"UNKNOWN":null,"IDENTITY":null,"DEVICE":null,"PARTY":null,"FEED":null,"DXNS_ADDRESS":null}},"PrivKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null},"PubKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null}}}}},"test":{"nested":{"echo":{"nested":{"TestItemMutation":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"string","id":2,"comment":null}},"comment":null},"TestItemSnapshot":{"fields":{"keys":{"rule":"repeated","type":"TestItemMutation","id":1,"comment":null}},"comment":null},"TestListMutation":{"fields":{"data":{"type":"string","id":1,"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}},"comment":null}}}}}}}');
82349
+ exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"credentials":{"nested":{"Message":{"fields":{"payload":{"rule":"required","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"SignedMessage":{"fields":{"signed":{"rule":"required","type":"Signed","id":1,"comment":"The signed message contents."},"signatures":{"rule":"repeated","type":"Signature","id":2,"comment":"An array of Signatures, one for each key that signed the message."}},"nested":{"Signature":{"oneofs":{"_keyChain":{"oneof":["keyChain"]}},"fields":{"key":{"rule":"required","type":"PubKey","id":1,"comment":"The publicKey of the keypair that made this signature."},"signature":{"rule":"required","type":"bytes","id":2,"comment":"The bytes of the signature."},"keyChain":{"type":"KeyChain","id":3,"options":{"proto3_optional":true},"comment":"The certification chain of SignedMessages for this key."}},"comment":null},"Signed":{"fields":{"created":{"rule":"required","type":"string","id":1,"comment":"RFC-3339 datetime string."},"nonce":{"rule":"required","type":"bytes","id":2,"comment":null},"payload":{"rule":"required","type":"google.protobuf.Any","id":10,"comment":"The payload to be signed."}},"comment":null}},"comment":"A generic container message used whenever messages are signed (e.g. PartyCredential)"}}},"echo":{"nested":{"feed":{"nested":{"CredentialsMessage":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":"A container for dxos.credentials.Message"},"EchoEnvelope":{"oneofs":{"_genesis":{"oneof":["genesis"]},"_itemMutation":{"oneof":["itemMutation"]},"_mutation":{"oneof":["mutation"]},"_snapshot":{"oneof":["snapshot"]}},"fields":{"itemId":{"type":"string","id":1,"comment":null},"genesis":{"type":"ItemGenesis","id":10,"options":{"proto3_optional":true},"comment":null},"itemMutation":{"type":"ItemMutation","id":11,"options":{"proto3_optional":true},"comment":null},"mutation":{"type":"bytes","id":12,"options":{"proto3_optional":true},"comment":null},"snapshot":{"type":"ModelSnapshot","id":13,"options":{"proto3_optional":true},"comment":"Set the model to the provided snapshot."}},"comment":"Wrapper for all ECHO messages."},"FeedMessage":{"oneofs":{"payload":{"oneof":["halo","echo"],"comment":null}},"fields":{"timeframe":{"type":"TimeframeVector","id":1,"comment":null},"halo":{"type":"CredentialsMessage","id":10,"comment":null},"echo":{"type":"EchoEnvelope","id":11,"comment":null}},"comment":"Outer message type decoded by Codec.\\nThis is what is written to the feeds."},"ItemGenesis":{"oneofs":{"_itemType":{"oneof":["itemType"]},"_modelVersion":{"oneof":["modelVersion"]},"_link":{"oneof":["link"]}},"fields":{"itemType":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":2,"comment":null},"modelVersion":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"link":{"type":"LinkData","id":4,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ItemMutation":{"oneofs":{"_parentId":{"oneof":["parentId"]},"_action":{"oneof":["action"]}},"fields":{"parentId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"action":{"type":"Action","id":2,"options":{"proto3_optional":true},"comment":null}},"nested":{"Action":{"values":{"NOOP":0,"DELETE":1,"RESTORE":2},"comment":null,"comments":{"NOOP":null,"DELETE":null,"RESTORE":null}}},"comment":"Item mutation."},"LinkData":{"fields":{"source":{"type":"string","id":1,"comment":null},"target":{"type":"string","id":2,"comment":null}},"comment":null}}},"invitation":{"nested":{"InvitationDescriptor":{"oneofs":{"_identityKey":{"oneof":["identityKey"]},"_secret":{"oneof":["secret"]}},"fields":{"type":{"type":"Type","id":1,"comment":null},"swarmKey":{"type":"bytes","id":2,"comment":null},"invitation":{"type":"bytes","id":3,"comment":null},"identityKey":{"type":"bytes","id":4,"options":{"proto3_optional":true},"comment":"Only present if type == OFFLINE."},"secret":{"type":"bytes","id":5,"options":{"proto3_optional":true},"comment":"Must be stripped out when passing to another peer."}},"nested":{"Type":{"values":{"INTERACTIVE":1,"OFFLINE":2},"comment":"Defines an invitation type.","comments":{"INTERACTIVE":"Interactive invitation is when both peers are online at the same time.","OFFLINE":"Offline is when only a single peer needs to be online at the time."}}},"comment":null}}},"metadata":{"nested":{"EchoMetadata":{"fields":{"version":{"type":"int32","id":1,"comment":"Version number that is inceremnted every time there\'s a breaking change to the storage schema.\\n\\nThis is used to detect if the storage schema has changed since the last time the client was run.\\nLoading data from a different version will might result in an error."},"parties":{"rule":"repeated","type":"PartyMetadata","id":2,"comment":null},"created":{"type":"google.protobuf.Timestamp","id":3,"comment":null},"updated":{"type":"google.protobuf.Timestamp","id":4,"comment":null}},"comment":null},"PartyMetadata":{"oneofs":{"_genesisFeedKey":{"oneof":["genesisFeedKey"]},"_controlFeedKey":{"oneof":["controlFeedKey"]},"_dataFeedKey":{"oneof":["dataFeedKey"]},"_latestTimeframe":{"oneof":["latestTimeframe"]}},"fields":{"key":{"type":"PubKey","id":1,"comment":"Party key."},"genesisFeedKey":{"type":"PubKey","id":6,"options":{"proto3_optional":true},"comment":null},"controlFeedKey":{"type":"PubKey","id":4,"options":{"proto3_optional":true},"comment":"Key of the wriatable control feed."},"dataFeedKey":{"type":"PubKey","id":3,"options":{"proto3_optional":true},"comment":"Key of the wriatable data feed."},"latestTimeframe":{"type":"TimeframeVector","id":5,"options":{"proto3_optional":true},"comment":null},"feedKeys":{"rule":"repeated","type":"PubKey","id":2,"comment":"List of all feed associated with the party."}},"comment":null}}},"service":{"nested":{"DataService":{"methods":{"SubscribeEntitySet":{"requestType":"SubscribeEntitySetRequest","responseType":"SubscribeEntitySetResponse","responseStream":true,"comment":null},"SubscribeEntityStream":{"requestType":"SubscribeEntityStreamRequest","responseType":"SubscribeEntityStreamResponse","responseStream":true,"comment":null},"Write":{"requestType":"WriteRequest","responseType":"MutationReceipt","comment":null}},"comment":null},"MutationReceipt":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"seq":{"type":"int32","id":2,"comment":null}},"comment":null},"SubscribeEntitySetRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null}},"comment":null},"SubscribeEntitySetResponse":{"fields":{"added":{"rule":"repeated","type":"EchoEnvelope","id":1,"comment":null},"deleted":{"rule":"repeated","type":"EchoEnvelope","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"itemId":{"type":"string","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamResponse":{"oneofs":{"kind":{"oneof":["snapshot","mutation"],"comment":null}},"fields":{"snapshot":{"type":"ItemSnapshot","id":1,"comment":null},"mutation":{"type":"Mutation","id":2,"comment":null}},"nested":{"Mutation":{"fields":{"data":{"type":"EchoEnvelope","id":1,"comment":null},"meta":{"type":"Metadata","id":2,"comment":null}},"nested":{"Metadata":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"memberKey":{"type":"PubKey","id":2,"comment":null},"seq":{"type":"int32","id":3,"comment":null},"timeframe":{"type":"TimeframeVector","id":4,"comment":null}},"comment":null}},"comment":null}},"comment":null},"WriteRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"mutation":{"type":"EchoEnvelope","id":2,"comment":null}},"comment":null}}},"snapshot":{"nested":{"DatabaseSnapshot":{"fields":{"items":{"rule":"repeated","type":"ItemSnapshot","id":1,"comment":null},"links":{"rule":"repeated","type":"LinkSnapshot","id":2,"comment":null}},"comment":null},"HaloStateSnapshot":{"fields":{"messages":{"rule":"repeated","type":"dxos.CredentialsMessage","id":1,"comment":null}},"comment":null},"ItemSnapshot":{"oneofs":{"_itemId":{"oneof":["itemId"]},"_itemType":{"oneof":["itemType"]},"_modelVersion":{"oneof":["modelVersion"]},"_parentId":{"oneof":["parentId"]},"_model":{"oneof":["model"]}},"fields":{"itemId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"itemType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"parentId":{"type":"string","id":5,"options":{"proto3_optional":true},"comment":null},"model":{"type":"ModelSnapshot","id":6,"options":{"proto3_optional":true},"comment":null}},"comment":null},"LinkSnapshot":{"oneofs":{"_linkId":{"oneof":["linkId"]},"_linkType":{"oneof":["linkType"]},"_modelVersion":{"oneof":["modelVersion"]},"_model":{"oneof":["model"]}},"fields":{"linkId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"linkType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"source":{"rule":"required","type":"string","id":5,"comment":null},"target":{"rule":"required","type":"string","id":6,"comment":null},"model":{"type":"ModelSnapshot","id":7,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ModelMutation":{"fields":{"mutation":{"rule":"required","type":"bytes","id":1,"comment":null},"meta":{"rule":"required","type":"ModelMutationMeta","id":2,"comment":null}},"comment":null},"ModelMutationMeta":{"fields":{"feedKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"seq":{"rule":"required","type":"int32","id":2,"comment":null},"memberKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":3,"comment":null}},"comment":null},"ModelSnapshot":{"oneofs":{"_snapshot":{"oneof":["snapshot"]}},"fields":{"snapshot":{"type":"bytes","id":1,"options":{"proto3_optional":true},"comment":"Encoded model snapshot (defined by the model\'s codec).\\nIf undefined the state machine will be initialized with it\'s default state."},"mutations":{"rule":"repeated","type":"ModelMutation","id":2,"comment":"Mutations to be applied on top of the snapshot, or on top of initial state if the snapshot is undefined."}},"comment":null},"PartySnapshot":{"oneofs":{"_timeframe":{"oneof":["timeframe"]},"_timestamp":{"oneof":["timestamp"]}},"fields":{"partyKey":{"type":"bytes","id":1,"comment":null},"timeframe":{"type":"TimeframeVector","id":2,"options":{"proto3_optional":true},"comment":null},"timestamp":{"type":"int32","id":3,"options":{"proto3_optional":true},"comment":null},"halo":{"type":"HaloStateSnapshot","id":11,"comment":null},"database":{"type":"DatabaseSnapshot","id":12,"comment":null}},"comment":null}}},"testing":{"nested":{"TestItemMutation":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"string","id":2,"comment":null}},"comment":null},"TestItemSnapshot":{"fields":{"keys":{"rule":"repeated","type":"TestItemMutation","id":1,"comment":null}},"comment":null},"TestListMutation":{"fields":{"data":{"type":"string","id":1,"comment":null}},"comment":null}}},"timeframe":{"nested":{"TimeframeVector":{"fields":{"frames":{"rule":"repeated","type":"Frame","id":1,"comment":null}},"nested":{"Frame":{"fields":{"feedKey":{"type":"bytes","id":1,"comment":null},"seq":{"type":"int32","id":3,"comment":null}},"comment":null}},"comment":"Vector timestamp used to order messages."}}}}},"halo":{"nested":{"keys":{"nested":{"KeyChain":{"fields":{"publicKey":{"rule":"required","type":"PubKey","id":1,"comment":null},"message":{"rule":"required","type":"SignedMessage","id":2,"comment":null},"parents":{"rule":"repeated","type":"KeyChain","id":3,"comment":null}},"comment":null},"KeyRecord":{"oneofs":{"_secretKey":{"oneof":["secretKey"]},"_hint":{"oneof":["hint"]},"_own":{"oneof":["own"]},"_trusted":{"oneof":["trusted"]},"_added":{"oneof":["added"]},"_created":{"oneof":["created"]}},"fields":{"type":{"rule":"required","type":"KeyType","id":1,"comment":"The `KeyType` type of the key. This is often unknown for keys from other sources."},"publicKey":{"rule":"required","type":"PubKey","id":2,"comment":"The public key as a Buffer (required)."},"secretKey":{"type":"PrivKey","id":3,"options":{"proto3_optional":true},"comment":"The secret key as a Buffer (this will never be visible outside the Keyring)."},"hint":{"type":"bool","id":4,"options":{"proto3_optional":true},"comment":"Is this key from a Greeting \\"hint\\"?"},"own":{"type":"bool","id":5,"options":{"proto3_optional":true},"comment":"Determines if this is our key?\\nUsually true if `secretKey` is present; may be false for \\"inception keys\\" such as the Party key."},"trusted":{"type":"bool","id":6,"options":{"proto3_optional":true},"comment":"Is this key to be trusted?"},"added":{"type":"string","id":7,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was added to the Keyring."},"created":{"type":"string","id":8,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was created."}},"comment":null},"KeyRecordList":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"KeyType":{"values":{"UNKNOWN":0,"IDENTITY":1,"DEVICE":2,"PARTY":3,"FEED":4,"DXNS_ADDRESS":5},"comment":null,"comments":{"UNKNOWN":null,"IDENTITY":null,"DEVICE":null,"PARTY":null,"FEED":null,"DXNS_ADDRESS":null}},"PrivKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null},"PubKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null}}}}},"test":{"nested":{"echo":{"nested":{"TestItemMutation":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"string","id":2,"comment":null}},"comment":null},"TestItemSnapshot":{"fields":{"keys":{"rule":"repeated","type":"TestItemMutation","id":1,"comment":null}},"comment":null},"TestListMutation":{"fields":{"data":{"type":"string","id":1,"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}},"comment":null}}}}}}}');
82350
82350
  exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson, substitutions_1.default);
82351
82351
  }
82352
82352
  });
@@ -82423,17 +82423,10 @@ var require_messages3 = __commonJS({
82423
82423
  "../../echo/echo-protocol/dist/src/proto/messages.js"(exports) {
82424
82424
  "use strict";
82425
82425
  Object.defineProperty(exports, "__esModule", { value: true });
82426
- exports.createTestItemMutation = exports.createItemGenesis = void 0;
82426
+ exports.createTestItemMutation = void 0;
82427
+ var protocols_1 = require("@dxos/protocols");
82427
82428
  var gen_1 = require_gen3();
82428
- var createItemGenesis = (itemId, itemType) => ({
82429
- echo: {
82430
- genesis: {
82431
- itemType
82432
- }
82433
- }
82434
- });
82435
- exports.createItemGenesis = createItemGenesis;
82436
- var createTestItemMutation = (itemId, key, value, timeframe) => ({
82429
+ var createTestItemMutation = (itemId, key, value, timeframe = new protocols_1.Timeframe()) => ({
82437
82430
  timeframe,
82438
82431
  echo: {
82439
82432
  itemId,
@@ -83850,7 +83843,7 @@ var require_gen4 = __commonJS({
83850
83843
  Object.defineProperty(exports, "__esModule", { value: true });
83851
83844
  exports.schema = exports.schemaJson = void 0;
83852
83845
  var codec_protobuf_1 = require("@dxos/codec-protobuf");
83853
- exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"echo":{"nested":{"object":{"nested":{"Array":{"fields":{"values":{"rule":"repeated","type":"Value","id":1,"comment":null}},"comment":"Ordered collection of values."},"KeyValue":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"Value","id":2,"comment":null}},"comment":"Key x Value tuple."},"KeyValueObject":{"fields":{"properties":{"rule":"repeated","type":"KeyValue","id":1,"comment":null}},"comment":"Object data definition."},"ObjectMutation":{"fields":{"operation":{"type":"Operation","id":1,"comment":null},"key":{"type":"string","id":2,"comment":null},"value":{"type":"Value","id":3,"comment":null}},"nested":{"Operation":{"values":{"SET":0,"DELETE":1,"ARRAY_PUSH":2,"SET_ADD":4,"SET_DELETE":5},"comment":null,"comments":{"SET":null,"DELETE":null,"ARRAY_PUSH":null,"SET_ADD":null,"SET_DELETE":null}}},"comment":"Atomic mutation."},"ObjectMutationSet":{"fields":{"mutations":{"rule":"repeated","type":"ObjectMutation","id":1,"comment":null}},"comment":"Set of mutations."},"ObjectSnapshot":{"fields":{"root":{"type":"Value","id":1,"comment":null}},"comment":"State snapshot."},"Predicate":{"fields":{"op":{"type":"Operation","id":1,"comment":null},"key":{"type":"string","id":2,"comment":null},"value":{"type":"Value","id":3,"comment":null},"predicates":{"rule":"repeated","type":"Predicate","id":4,"comment":null}},"nested":{"Operation":{"values":{"OR":0,"AND":1,"NOT":2,"IN":10,"EQUALS":11,"GTE":12,"GT":13,"LTE":14,"LT":15,"PREFIX_MATCH":20,"TEXT_MATCH":21},"comment":null,"comments":{"OR":null,"AND":null,"NOT":null,"IN":null,"EQUALS":null,"GTE":null,"GT":null,"LTE":null,"LT":null,"PREFIX_MATCH":null,"TEXT_MATCH":null}}},"comment":"Query predicate."},"Query":{"fields":{"root":{"type":"Predicate","id":1,"comment":null}},"comment":"Query."},"Value":{"oneofs":{"Type":{"oneof":["null","bool","int","float","string","timestamp","datetime","bytes","object","array"],"comment":null}},"fields":{"null":{"type":"bool","id":1,"comment":null},"bool":{"type":"bool","id":2,"comment":null},"int":{"type":"int64","id":3,"comment":null},"float":{"type":"float","id":4,"comment":null},"string":{"type":"string","id":5,"comment":null},"timestamp":{"type":"string","id":10,"comment":null},"datetime":{"type":"string","id":11,"comment":null},"bytes":{"type":"bytes","id":12,"comment":null},"object":{"type":"KeyValueObject","id":20,"comment":null},"array":{"type":"Array","id":21,"comment":null}},"comment":"Generic value."}}}}}}}}}');
83846
+ exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"echo":{"nested":{"object":{"nested":{"Array":{"fields":{"values":{"rule":"repeated","type":"Value","id":1,"comment":null}},"comment":"Ordered collection of values."},"KeyValue":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"Value","id":2,"comment":null}},"comment":"Key x Value tuple."},"KeyValueObject":{"fields":{"properties":{"rule":"repeated","type":"KeyValue","id":1,"comment":null}},"comment":"Object data definition."},"ObjectMutation":{"oneofs":{"_value":{"oneof":["value"]}},"fields":{"operation":{"type":"Operation","id":1,"comment":null},"key":{"type":"string","id":2,"comment":null},"value":{"type":"Value","id":3,"options":{"proto3_optional":true},"comment":null}},"nested":{"Operation":{"values":{"SET":0,"DELETE":1,"ARRAY_PUSH":2,"SET_ADD":4,"SET_DELETE":5},"comment":null,"comments":{"SET":null,"DELETE":null,"ARRAY_PUSH":null,"SET_ADD":null,"SET_DELETE":null}}},"comment":"Atomic mutation."},"ObjectMutationSet":{"fields":{"mutations":{"rule":"repeated","type":"ObjectMutation","id":1,"comment":null}},"comment":"Set of mutations."},"ObjectSnapshot":{"fields":{"root":{"type":"Value","id":1,"comment":null}},"comment":"State snapshot."},"Predicate":{"oneofs":{"_key":{"oneof":["key"]},"_value":{"oneof":["value"]}},"fields":{"op":{"type":"Operation","id":1,"comment":null},"key":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"value":{"type":"Value","id":3,"options":{"proto3_optional":true},"comment":null},"predicates":{"rule":"repeated","type":"Predicate","id":4,"comment":null}},"nested":{"Operation":{"values":{"OR":0,"AND":1,"NOT":2,"IN":10,"EQUALS":11,"GTE":12,"GT":13,"LTE":14,"LT":15,"PREFIX_MATCH":20,"TEXT_MATCH":21},"comment":null,"comments":{"OR":null,"AND":null,"NOT":null,"IN":null,"EQUALS":null,"GTE":null,"GT":null,"LTE":null,"LT":null,"PREFIX_MATCH":null,"TEXT_MATCH":null}}},"comment":"Query predicate."},"Query":{"fields":{"root":{"type":"Predicate","id":1,"comment":null}},"comment":"Query."},"Value":{"oneofs":{"Type":{"oneof":["null","bool","int","float","string","timestamp","datetime","bytes","object","array"],"comment":null}},"fields":{"null":{"type":"bool","id":1,"comment":null},"bool":{"type":"bool","id":2,"comment":null},"int":{"type":"int64","id":3,"comment":null},"float":{"type":"float","id":4,"comment":null},"string":{"type":"string","id":5,"comment":null},"timestamp":{"type":"string","id":10,"comment":null},"datetime":{"type":"string","id":11,"comment":null},"bytes":{"type":"bytes","id":12,"comment":null},"object":{"type":"KeyValueObject","id":20,"comment":null},"array":{"type":"Array","id":21,"comment":null}},"comment":"Generic value."}}}}}}}}}');
83854
83847
  exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson);
83855
83848
  }
83856
83849
  });
@@ -87337,7 +87330,7 @@ var require_swarm = __commonJS({
87337
87330
  }
87338
87331
  async onOffer(message) {
87339
87332
  var _a, _b;
87340
- log3(`Offer from ${message.id} topic=${this._topic}`);
87333
+ log3(`Offer from ${JSON.stringify(message)}`);
87341
87334
  (0, node_assert_1.default)(message.id);
87342
87335
  const remoteId = message.id;
87343
87336
  (0, node_assert_1.default)((_a = message.remoteId) === null || _a === void 0 ? void 0 : _a.equals(this._ownPeerId));
@@ -87776,6 +87769,34 @@ var require_signal_api = __commonJS({
87776
87769
  }
87777
87770
  });
87778
87771
 
87772
+ // ../../mesh/network-manager/dist/src/proto/substitutions.js
87773
+ var require_substitutions4 = __commonJS({
87774
+ "../../mesh/network-manager/dist/src/proto/substitutions.js"(exports) {
87775
+ "use strict";
87776
+ Object.defineProperty(exports, "__esModule", { value: true });
87777
+ var protocols_1 = require("@dxos/protocols");
87778
+ exports.default = {
87779
+ ...protocols_1.publicKeySubstitutions
87780
+ };
87781
+ }
87782
+ });
87783
+
87784
+ // ../../mesh/network-manager/dist/src/proto/gen/index.js
87785
+ var require_gen5 = __commonJS({
87786
+ "../../mesh/network-manager/dist/src/proto/gen/index.js"(exports) {
87787
+ "use strict";
87788
+ var __importDefault = exports && exports.__importDefault || function(mod) {
87789
+ return mod && mod.__esModule ? mod : { "default": mod };
87790
+ };
87791
+ Object.defineProperty(exports, "__esModule", { value: true });
87792
+ exports.schema = exports.schemaJson = void 0;
87793
+ var codec_protobuf_1 = require("@dxos/codec-protobuf");
87794
+ var substitutions_1 = __importDefault(require_substitutions4());
87795
+ exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"credentials":{"nested":{"Message":{"fields":{"payload":{"rule":"required","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"SignedMessage":{"fields":{"signed":{"rule":"required","type":"Signed","id":1,"comment":"The signed message contents."},"signatures":{"rule":"repeated","type":"Signature","id":2,"comment":"An array of Signatures, one for each key that signed the message."}},"nested":{"Signature":{"oneofs":{"_keyChain":{"oneof":["keyChain"]}},"fields":{"key":{"rule":"required","type":"PubKey","id":1,"comment":"The publicKey of the keypair that made this signature."},"signature":{"rule":"required","type":"bytes","id":2,"comment":"The bytes of the signature."},"keyChain":{"type":"KeyChain","id":3,"options":{"proto3_optional":true},"comment":"The certification chain of SignedMessages for this key."}},"comment":null},"Signed":{"fields":{"created":{"rule":"required","type":"string","id":1,"comment":"RFC-3339 datetime string."},"nonce":{"rule":"required","type":"bytes","id":2,"comment":null},"payload":{"rule":"required","type":"google.protobuf.Any","id":10,"comment":"The payload to be signed."}},"comment":null}},"comment":"A generic container message used whenever messages are signed (e.g. PartyCredential)"}}},"halo":{"nested":{"keys":{"nested":{"KeyChain":{"fields":{"publicKey":{"rule":"required","type":"PubKey","id":1,"comment":null},"message":{"rule":"required","type":"SignedMessage","id":2,"comment":null},"parents":{"rule":"repeated","type":"KeyChain","id":3,"comment":null}},"comment":null},"KeyRecord":{"oneofs":{"_secretKey":{"oneof":["secretKey"]},"_hint":{"oneof":["hint"]},"_own":{"oneof":["own"]},"_trusted":{"oneof":["trusted"]},"_added":{"oneof":["added"]},"_created":{"oneof":["created"]}},"fields":{"type":{"rule":"required","type":"KeyType","id":1,"comment":"The `KeyType` type of the key. This is often unknown for keys from other sources."},"publicKey":{"rule":"required","type":"PubKey","id":2,"comment":"The public key as a Buffer (required)."},"secretKey":{"type":"PrivKey","id":3,"options":{"proto3_optional":true},"comment":"The secret key as a Buffer (this will never be visible outside the Keyring)."},"hint":{"type":"bool","id":4,"options":{"proto3_optional":true},"comment":"Is this key from a Greeting \\"hint\\"?"},"own":{"type":"bool","id":5,"options":{"proto3_optional":true},"comment":"Determines if this is our key?\\nUsually true if `secretKey` is present; may be false for \\"inception keys\\" such as the Party key."},"trusted":{"type":"bool","id":6,"options":{"proto3_optional":true},"comment":"Is this key to be trusted?"},"added":{"type":"string","id":7,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was added to the Keyring."},"created":{"type":"string","id":8,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was created."}},"comment":null},"KeyRecordList":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"KeyType":{"values":{"UNKNOWN":0,"IDENTITY":1,"DEVICE":2,"PARTY":3,"FEED":4,"DXNS_ADDRESS":5},"comment":null,"comments":{"UNKNOWN":null,"IDENTITY":null,"DEVICE":null,"PARTY":null,"FEED":null,"DXNS_ADDRESS":null}},"PrivKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null},"PubKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null}}}}},"mesh":{"nested":{"signal":{"nested":{"Acknowledgement":{"fields":{"messageId":{"type":"PubKey","id":1,"comment":null}},"comment":null},"Answer":{"oneofs":{"_offerMessageId":{"oneof":["offerMessageId"]}},"fields":{"accept":{"type":"bool","id":1,"comment":null},"offerMessageId":{"type":"PubKey","id":2,"options":{"proto3_optional":true},"comment":"MessageId of the Offer being answered."}},"comment":null},"Message":{"oneofs":{"_messageId":{"oneof":["messageId"]}},"fields":{"id":{"type":"PubKey","id":1,"comment":"Sender\'s public key."},"remoteId":{"type":"PubKey","id":2,"comment":"Receiver`s public key."},"topic":{"type":"PubKey","id":3,"comment":"Swarm identefier."},"sessionId":{"type":"PubKey","id":4,"comment":"Unique connection identifier."},"data":{"type":"MessageData","id":5,"comment":"Message payload."},"messageId":{"type":"PubKey","id":6,"options":{"proto3_optional":true},"comment":"Unique message identifier. Used for Acknolegment and matching Anwers to Offers."}},"comment":null},"MessageData":{"oneofs":{"payload":{"oneof":["offer","answer","signal","ack"],"comment":null}},"fields":{"offer":{"type":"Offer","id":1,"comment":null},"answer":{"type":"Answer","id":2,"comment":null},"signal":{"type":"Signal","id":3,"comment":null},"ack":{"type":"Acknowledgement","id":4,"comment":null}},"comment":null},"Offer":{"fields":{},"comment":null},"Signal":{"fields":{"json":{"type":"string","id":1,"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null}}}}}}}');
87796
+ exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson, substitutions_1.default);
87797
+ }
87798
+ });
87799
+
87779
87800
  // ../../../common/temp/node_modules/.pnpm/isomorphic-ws@4.0.1_ws@7.5.6/node_modules/isomorphic-ws/browser.js
87780
87801
  var require_browser18 = __commonJS({
87781
87802
  "../../../common/temp/node_modules/.pnpm/isomorphic-ws@4.0.1_ws@7.5.6/node_modules/isomorphic-ws/browser.js"(exports, module2) {
@@ -88745,7 +88766,9 @@ var require_signal_client = __commonJS({
88745
88766
  exports.SignalClient = void 0;
88746
88767
  var debug_1 = __importDefault(require("debug"));
88747
88768
  var async_1 = require("@dxos/async");
88769
+ var debug_2 = require("@dxos/debug");
88748
88770
  var protocols_1 = require("@dxos/protocols");
88771
+ var gen_1 = require_gen5();
88749
88772
  var signal_api_1 = require_signal_api();
88750
88773
  var websocket_rpc_1 = require_websocket_rpc();
88751
88774
  var log3 = (0, debug_1.default)("dxos:network-manager:signal-client");
@@ -88790,13 +88813,17 @@ var require_signal_client = __commonJS({
88790
88813
  sessionId: protocols_1.PublicKey.from(message.sessionId),
88791
88814
  data: message.data
88792
88815
  }));
88793
- this._client.subscribe("signal", (msg) => this._onSignal({
88794
- id: protocols_1.PublicKey.from(msg.id),
88795
- remoteId: protocols_1.PublicKey.from(msg.remoteId),
88796
- topic: protocols_1.PublicKey.from(msg.topic),
88797
- sessionId: protocols_1.PublicKey.from(msg.sessionId),
88798
- data: msg.data
88799
- }));
88816
+ this._client.subscribe("signal", (msg) => {
88817
+ var _a;
88818
+ return this._onSignal({
88819
+ id: protocols_1.PublicKey.from(msg.id),
88820
+ remoteId: protocols_1.PublicKey.from(msg.remoteId),
88821
+ topic: protocols_1.PublicKey.from(msg.topic),
88822
+ sessionId: protocols_1.PublicKey.from(msg.sessionId),
88823
+ data: gen_1.schema.getCodecForType("dxos.mesh.signal.MessageData").decode((_a = msg.data) !== null && _a !== void 0 ? _a : (0, debug_2.failUndefined)()),
88824
+ messageId: msg.messageId ? protocols_1.PublicKey.from(msg.messageId) : void 0
88825
+ });
88826
+ });
88800
88827
  this._clientCleanup.push(this._client.connected.on(() => {
88801
88828
  log3("Socket connected");
88802
88829
  this._lastError = void 0;
@@ -88895,15 +88922,17 @@ var require_signal_client = __commonJS({
88895
88922
  data: msg.data
88896
88923
  });
88897
88924
  }
88898
- async signal(payload) {
88899
- var _a, _b, _c, _d;
88900
- return this._client.emit("signal", {
88901
- id: (_a = payload.id) === null || _a === void 0 ? void 0 : _a.asBuffer(),
88902
- remoteId: (_b = payload.remoteId) === null || _b === void 0 ? void 0 : _b.asBuffer(),
88903
- topic: (_c = payload.topic) === null || _c === void 0 ? void 0 : _c.asBuffer(),
88904
- sessionId: (_d = payload.sessionId) === null || _d === void 0 ? void 0 : _d.asBuffer(),
88905
- data: payload.data
88906
- });
88925
+ async signal(message) {
88926
+ var _a, _b, _c, _d, _e, _f;
88927
+ const signalMessage = {
88928
+ messageId: (_a = message.messageId) === null || _a === void 0 ? void 0 : _a.asBuffer(),
88929
+ id: (_b = message.id) === null || _b === void 0 ? void 0 : _b.asBuffer(),
88930
+ remoteId: (_c = message.remoteId) === null || _c === void 0 ? void 0 : _c.asBuffer(),
88931
+ topic: (_d = message.topic) === null || _d === void 0 ? void 0 : _d.asBuffer(),
88932
+ sessionId: (_e = message.sessionId) === null || _e === void 0 ? void 0 : _e.asBuffer(),
88933
+ data: Buffer.from(gen_1.schema.getCodecForType("dxos.mesh.signal.MessageData").encode((_f = message.data) !== null && _f !== void 0 ? _f : (0, debug_2.failUndefined)()))
88934
+ };
88935
+ return this._client.emit("signal", signalMessage);
88907
88936
  }
88908
88937
  };
88909
88938
  exports.SignalClient = SignalClient;
@@ -89096,49 +89125,96 @@ var require_message_router = __commonJS({
89096
89125
  Object.defineProperty(exports, "__esModule", { value: true });
89097
89126
  exports.MessageRouter = void 0;
89098
89127
  var assert_1 = __importDefault(require("assert"));
89128
+ var debug_1 = __importDefault(require("debug"));
89129
+ var protocols_1 = require("@dxos/protocols");
89099
89130
  var util_1 = require("@dxos/util");
89131
+ var log3 = (0, debug_1.default)("dxos:network-manager:message-router");
89100
89132
  var MessageRouter = class {
89101
- constructor({ sendMessage, onSignal, onOffer }) {
89133
+ constructor({ sendMessage, onSignal, onOffer, retryDelay = 100, timeout = 3e3 } = {}) {
89102
89134
  this._offerRecords = new util_1.ComplexMap((key) => key.toHex());
89135
+ this._onAckCallbacks = new util_1.ComplexMap((key) => key.toHex());
89136
+ this._receivedMessages = new util_1.ComplexSet((key) => key.toHex());
89137
+ this._subscriptions = new util_1.SubscriptionGroup();
89138
+ (0, assert_1.default)(sendMessage);
89103
89139
  this._sendMessage = sendMessage;
89140
+ (0, assert_1.default)(onSignal);
89104
89141
  this._onSignal = onSignal;
89142
+ (0, assert_1.default)(onOffer);
89105
89143
  this._onOffer = onOffer;
89144
+ this._retryDelay = retryDelay;
89145
+ this._timeout = timeout;
89106
89146
  }
89107
89147
  async receiveMessage(message) {
89108
- var _a, _b, _c;
89109
- if ((_a = message.data) === null || _a === void 0 ? void 0 : _a.offer) {
89148
+ var _a, _b, _c, _d, _e;
89149
+ log3(`receive message: ${JSON.stringify(message)}`);
89150
+ if (!((_a = message.data) === null || _a === void 0 ? void 0 : _a.ack)) {
89151
+ if (this._receivedMessages.has(message.messageId)) {
89152
+ return;
89153
+ }
89154
+ this._receivedMessages.add(message.messageId);
89155
+ await this._sendAcknowledgement(message);
89156
+ }
89157
+ if ((_b = message.data) === null || _b === void 0 ? void 0 : _b.offer) {
89110
89158
  await this._handleOffer(message);
89111
- } else if ((_b = message.data) === null || _b === void 0 ? void 0 : _b.answer) {
89159
+ } else if ((_c = message.data) === null || _c === void 0 ? void 0 : _c.answer) {
89112
89160
  await this._resolveAnswers(message);
89113
- } else if ((_c = message.data) === null || _c === void 0 ? void 0 : _c.signal) {
89114
- await this._onSignal(message);
89161
+ } else if ((_d = message.data) === null || _d === void 0 ? void 0 : _d.signal) {
89162
+ await this._handleSignal(message);
89163
+ } else if ((_e = message.data) === null || _e === void 0 ? void 0 : _e.ack) {
89164
+ await this._handleAcknowledgement(message);
89115
89165
  }
89116
89166
  }
89117
89167
  async signal(message) {
89118
89168
  var _a;
89119
89169
  (0, assert_1.default)((_a = message.data) === null || _a === void 0 ? void 0 : _a.signal);
89120
- await this._sendMessage(message);
89170
+ await this._sendReliableMessage(message);
89121
89171
  }
89122
89172
  async offer(message) {
89173
+ message.messageId = protocols_1.PublicKey.random();
89123
89174
  const promise = new Promise((resolve, reject) => {
89124
- (0, assert_1.default)(message.sessionId);
89125
- this._offerRecords.set(message.sessionId, { resolve, reject });
89175
+ this._offerRecords.set(message.messageId, { resolve, reject });
89176
+ return this._sendReliableMessage(message);
89126
89177
  });
89127
- await this._sendMessage(message);
89128
89178
  return promise;
89129
89179
  }
89130
- async _resolveAnswers(message) {
89180
+ async _sendReliableMessage(message) {
89131
89181
  var _a;
89132
- (0, assert_1.default)(message.sessionId);
89133
- const offerRecord = this._offerRecords.get(message.sessionId);
89182
+ message.messageId = (_a = message.messageId) !== null && _a !== void 0 ? _a : protocols_1.PublicKey.random();
89183
+ log3(`sent message: ${JSON.stringify(message)}`);
89184
+ const cancelRetry = (0, util_1.exponentialBackoffInterval)(async () => {
89185
+ log3(`retrying message: ${JSON.stringify(message)}`);
89186
+ await this._sendMessage(message);
89187
+ }, this._retryDelay);
89188
+ const timeout = setTimeout(() => {
89189
+ log3("Signal was not delivered!");
89190
+ this._onAckCallbacks.delete(message.messageId);
89191
+ cancelRetry();
89192
+ }, this._timeout);
89193
+ (0, assert_1.default)(!this._onAckCallbacks.has(message.messageId));
89194
+ this._onAckCallbacks.set(message.messageId, () => {
89195
+ this._onAckCallbacks.delete(message.messageId);
89196
+ cancelRetry();
89197
+ clearTimeout(timeout);
89198
+ });
89199
+ this._subscriptions.push(cancelRetry);
89200
+ this._subscriptions.push(() => clearTimeout(timeout));
89201
+ await this._sendMessage(message);
89202
+ return message.messageId;
89203
+ }
89204
+ async _resolveAnswers(message) {
89205
+ var _a, _b, _c;
89206
+ (0, assert_1.default)((_b = (_a = message.data) === null || _a === void 0 ? void 0 : _a.answer) === null || _b === void 0 ? void 0 : _b.offerMessageId, "No offerMessageId");
89207
+ const offerRecord = this._offerRecords.get(message.data.answer.offerMessageId);
89134
89208
  if (offerRecord) {
89135
- this._offerRecords.delete(message.sessionId);
89136
- (0, assert_1.default)((_a = message.data) === null || _a === void 0 ? void 0 : _a.answer);
89209
+ this._offerRecords.delete(message.data.answer.offerMessageId);
89210
+ (0, assert_1.default)((_c = message.data) === null || _c === void 0 ? void 0 : _c.answer, "No Answer");
89211
+ log3(`resolving answer with ${message.data.answer}`);
89137
89212
  offerRecord.resolve(message.data.answer);
89138
89213
  }
89139
89214
  }
89140
89215
  async _handleOffer(message) {
89141
89216
  const answer = await this._onOffer(message);
89217
+ answer.offerMessageId = message.messageId;
89142
89218
  const answerMessage = {
89143
89219
  id: message.remoteId,
89144
89220
  remoteId: message.id,
@@ -89146,7 +89222,31 @@ var require_message_router = __commonJS({
89146
89222
  sessionId: message.sessionId,
89147
89223
  data: { answer }
89148
89224
  };
89149
- await this._sendMessage(answerMessage);
89225
+ await this._sendReliableMessage(answerMessage);
89226
+ }
89227
+ async _handleSignal(message) {
89228
+ (0, assert_1.default)(message.messageId);
89229
+ await this._onSignal(message);
89230
+ }
89231
+ async _handleAcknowledgement(message) {
89232
+ var _a, _b, _c;
89233
+ (0, assert_1.default)((_b = (_a = message.data) === null || _a === void 0 ? void 0 : _a.ack) === null || _b === void 0 ? void 0 : _b.messageId);
89234
+ (_c = this._onAckCallbacks.get(message.data.ack.messageId)) === null || _c === void 0 ? void 0 : _c();
89235
+ }
89236
+ async _sendAcknowledgement(message) {
89237
+ (0, assert_1.default)(message.messageId);
89238
+ const ackMessage = {
89239
+ id: message.remoteId,
89240
+ remoteId: message.id,
89241
+ topic: message.topic,
89242
+ sessionId: message.sessionId,
89243
+ data: { ack: { messageId: message.messageId } }
89244
+ };
89245
+ log3(`sent ack: ${JSON.stringify(ackMessage)}`);
89246
+ await this._sendMessage(ackMessage);
89247
+ }
89248
+ destroy() {
89249
+ this._subscriptions.unsubscribe();
89150
89250
  }
89151
89251
  };
89152
89252
  exports.MessageRouter = MessageRouter;
@@ -90415,6 +90515,7 @@ var require_network_manager = __commonJS({
90415
90515
  log3(err);
90416
90516
  });
90417
90517
  }
90518
+ await this._messageRouter.destroy();
90418
90519
  await this._signalManager.destroy();
90419
90520
  }
90420
90521
  };
@@ -92369,13 +92470,13 @@ var require_tiny_lru = __commonJS({
92369
92470
  });
92370
92471
 
92371
92472
  // ../../mesh/broadcast/dist/src/proto/gen/index.js
92372
- var require_gen5 = __commonJS({
92473
+ var require_gen6 = __commonJS({
92373
92474
  "../../mesh/broadcast/dist/src/proto/gen/index.js"(exports) {
92374
92475
  "use strict";
92375
92476
  Object.defineProperty(exports, "__esModule", { value: true });
92376
92477
  exports.schema = exports.schemaJson = void 0;
92377
92478
  var codec_protobuf_1 = require("@dxos/codec-protobuf");
92378
- exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"broadcast":{"nested":{"Packet":{"fields":{"seqno":{"type":"bytes","id":1,"comment":null},"origin":{"type":"bytes","id":2,"comment":null},"from":{"type":"bytes","id":3,"comment":null},"data":{"type":"bytes","id":4,"comment":null}},"comment":null}}}}}}}');
92479
+ exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"broadcast":{"nested":{"Packet":{"oneofs":{"_from":{"oneof":["from"]}},"fields":{"seqno":{"type":"bytes","id":1,"comment":null},"origin":{"type":"bytes","id":2,"comment":null},"from":{"type":"bytes","id":3,"options":{"proto3_optional":true},"comment":null},"data":{"type":"bytes","id":4,"comment":null}},"comment":null}}}}}}}');
92379
92480
  exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson);
92380
92481
  }
92381
92482
  });
@@ -92394,7 +92495,7 @@ var require_broadcast = __commonJS({
92394
92495
  var tiny_lru_1 = __importDefault(require_tiny_lru());
92395
92496
  var async_1 = require("@dxos/async");
92396
92497
  var crypto_1 = require_src2();
92397
- var gen_1 = require_gen5();
92498
+ var gen_1 = require_gen6();
92398
92499
  debug_1.default.formatters.h = (v) => v.toString("hex").slice(0, 6);
92399
92500
  var log3 = (0, debug_1.default)("broadcast");
92400
92501
  var Broadcast = class {
@@ -92548,7 +92649,7 @@ var require_src11 = __commonJS({
92548
92649
  });
92549
92650
 
92550
92651
  // ../../mesh/protocol-plugin-presence/dist/src/proto/substitutions.js
92551
- var require_substitutions4 = __commonJS({
92652
+ var require_substitutions5 = __commonJS({
92552
92653
  "../../mesh/protocol-plugin-presence/dist/src/proto/substitutions.js"(exports) {
92553
92654
  "use strict";
92554
92655
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -92560,7 +92661,7 @@ var require_substitutions4 = __commonJS({
92560
92661
  });
92561
92662
 
92562
92663
  // ../../mesh/protocol-plugin-presence/dist/src/proto/gen/index.js
92563
- var require_gen6 = __commonJS({
92664
+ var require_gen7 = __commonJS({
92564
92665
  "../../mesh/protocol-plugin-presence/dist/src/proto/gen/index.js"(exports) {
92565
92666
  "use strict";
92566
92667
  var __importDefault = exports && exports.__importDefault || function(mod) {
@@ -92569,8 +92670,8 @@ var require_gen6 = __commonJS({
92569
92670
  Object.defineProperty(exports, "__esModule", { value: true });
92570
92671
  exports.schema = exports.schemaJson = void 0;
92571
92672
  var codec_protobuf_1 = require("@dxos/codec-protobuf");
92572
- var substitutions_1 = __importDefault(require_substitutions4());
92573
- exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"protocol":{"nested":{"presence":{"nested":{"Alive":{"fields":{"peerId":{"type":"bytes","id":1,"comment":null},"connections":{"rule":"repeated","type":"Connection","id":2,"comment":null},"metadata":{"type":"bytes","id":3,"comment":null}},"nested":{"Connection":{"fields":{"peerId":{"type":"bytes","id":1,"comment":null},"initiator":{"type":"bool","id":2,"comment":null}},"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null}}}}}}}');
92673
+ var substitutions_1 = __importDefault(require_substitutions5());
92674
+ exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"protocol":{"nested":{"presence":{"nested":{"Alive":{"oneofs":{"_metadata":{"oneof":["metadata"]}},"fields":{"peerId":{"type":"bytes","id":1,"comment":null},"connections":{"rule":"repeated","type":"Connection","id":2,"comment":null},"metadata":{"type":"bytes","id":3,"options":{"proto3_optional":true},"comment":null}},"nested":{"Connection":{"oneofs":{"_initiator":{"oneof":["initiator"]}},"fields":{"peerId":{"type":"bytes","id":1,"comment":null},"initiator":{"type":"bool","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null}}}}}}}');
92574
92675
  exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson, substitutions_1.default);
92575
92676
  }
92576
92677
  });
@@ -92594,7 +92695,7 @@ var require_presence_plugin = __commonJS({
92594
92695
  var broadcast_1 = require_src11();
92595
92696
  var mesh_protocol_1 = require_src4();
92596
92697
  var protocols_1 = require("@dxos/protocols");
92597
- var gen_1 = require_gen6();
92698
+ var gen_1 = require_gen7();
92598
92699
  var log3 = (0, debug_1.default)("dxos:mesh:presence");
92599
92700
  var PresencePlugin = class {
92600
92701
  constructor(_peerId, options = {}) {
@@ -93404,15 +93505,16 @@ var require_metadata_store = __commonJS({
93404
93505
  var protocols_1 = require("@dxos/protocols");
93405
93506
  exports.STORAGE_VERSION = 1;
93406
93507
  var log3 = (0, debug_1.default)("dxos:snapshot-store");
93508
+ var emptyEchoMetadata = () => ({
93509
+ version: exports.STORAGE_VERSION,
93510
+ parties: [],
93511
+ created: new Date(),
93512
+ updated: new Date()
93513
+ });
93407
93514
  var MetadataStore = class {
93408
93515
  constructor(_directory) {
93409
93516
  this._directory = _directory;
93410
- this._metadata = {
93411
- version: exports.STORAGE_VERSION,
93412
- parties: [],
93413
- created: new Date(),
93414
- updated: new Date()
93415
- };
93517
+ this._metadata = emptyEchoMetadata();
93416
93518
  }
93417
93519
  get version() {
93418
93520
  var _a;
@@ -93425,18 +93527,22 @@ var require_metadata_store = __commonJS({
93425
93527
  async load() {
93426
93528
  const file = this._directory.createOrOpen("EchoMetadata");
93427
93529
  try {
93428
- const { size } = await file.stat();
93429
- if (size === 0) {
93530
+ const { size: fileLength } = await file.stat();
93531
+ if (fileLength < 4) {
93430
93532
  return;
93431
93533
  }
93432
- const data = await file.read(0, size);
93534
+ const dataSize = fromBytesInt32(await file.read(0, 4));
93535
+ log3(`Load: data size ${dataSize}`);
93536
+ {
93537
+ if (fileLength < dataSize + 4) {
93538
+ throw new Error("Metadata storage is corrupted");
93539
+ }
93540
+ }
93541
+ const data = await file.read(4, dataSize);
93433
93542
  this._metadata = echo_protocol_1.schema.getCodecForType("dxos.echo.metadata.EchoMetadata").decode(data);
93434
93543
  } catch (err) {
93435
- if (err.code === "ENOENT") {
93436
- return;
93437
- } else {
93438
- throw err;
93439
- }
93544
+ log3(`Error loading metadata: ${err}`);
93545
+ this._metadata = emptyEchoMetadata();
93440
93546
  } finally {
93441
93547
  await file.close();
93442
93548
  }
@@ -93452,18 +93558,9 @@ var require_metadata_store = __commonJS({
93452
93558
  const file = this._directory.createOrOpen("EchoMetadata");
93453
93559
  try {
93454
93560
  const encoded = Buffer.from(echo_protocol_1.schema.getCodecForType("dxos.echo.metadata.EchoMetadata").encode(data));
93455
- await file.write(0, encoded);
93456
- {
93457
- const { size: size2 } = await file.stat();
93458
- if (size2 > encoded.length) {
93459
- await file.truncate(encoded.length, size2);
93460
- }
93461
- }
93462
- const { size } = await file.stat();
93463
- if (size !== encoded.length) {
93464
- console.log("SANITY!");
93465
- }
93466
- (0, node_assert_1.default)(size === encoded.length);
93561
+ log3(`Save: data size ${encoded.length}`);
93562
+ await file.write(0, toBytesInt32(encoded.length));
93563
+ await file.write(4, encoded);
93467
93564
  } finally {
93468
93565
  await file.close();
93469
93566
  }
@@ -93540,6 +93637,12 @@ var require_metadata_store = __commonJS({
93540
93637
  async_1.synchronized
93541
93638
  ], MetadataStore.prototype, "_save", null);
93542
93639
  exports.MetadataStore = MetadataStore;
93640
+ var toBytesInt32 = (num) => {
93641
+ const buf = Buffer.alloc(4);
93642
+ buf.writeInt32LE(num, 0);
93643
+ return buf;
93644
+ };
93645
+ var fromBytesInt32 = (buf) => buf.readInt32LE(0);
93543
93646
  }
93544
93647
  });
93545
93648
 
@@ -93719,13 +93822,13 @@ var require_peer = __commonJS({
93719
93822
  });
93720
93823
 
93721
93824
  // ../../mesh/protocol-plugin-replicator/dist/src/proto/gen/index.js
93722
- var require_gen7 = __commonJS({
93825
+ var require_gen8 = __commonJS({
93723
93826
  "../../mesh/protocol-plugin-replicator/dist/src/proto/gen/index.js"(exports) {
93724
93827
  "use strict";
93725
93828
  Object.defineProperty(exports, "__esModule", { value: true });
93726
93829
  exports.schema = exports.schemaJson = void 0;
93727
93830
  var codec_protobuf_1 = require("@dxos/codec-protobuf");
93728
- exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"protocol":{"nested":{"replicator":{"nested":{"Container":{"fields":{"type":{"type":"string","id":1,"comment":null},"data":{"rule":"repeated","type":"google.protobuf.Any","id":2,"comment":null}},"comment":null},"Feed":{"fields":{"key":{"type":"bytes","id":1,"comment":null},"discoveryKey":{"type":"bytes","id":2,"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null}}}}}}}');
93831
+ exports.schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"protocol":{"nested":{"replicator":{"nested":{"Container":{"fields":{"type":{"type":"string","id":1,"comment":null},"data":{"rule":"repeated","type":"google.protobuf.Any","id":2,"comment":null}},"comment":null},"Feed":{"oneofs":{"_key":{"oneof":["key"]},"_discoveryKey":{"oneof":["discoveryKey"]}},"fields":{"key":{"type":"bytes","id":1,"options":{"proto3_optional":true},"comment":null},"discoveryKey":{"type":"bytes","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null}}}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null}}}}}}}');
93729
93832
  exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson);
93730
93833
  }
93731
93834
  });
@@ -93743,7 +93846,7 @@ var require_replicator = __commonJS({
93743
93846
  var node_assert_1 = __importDefault(require_assert());
93744
93847
  var mesh_protocol_1 = require_src4();
93745
93848
  var peer_1 = require_peer();
93746
- var gen_1 = require_gen7();
93849
+ var gen_1 = require_gen8();
93747
93850
  var log3 = (0, debug_1.default)("dxos:protocol-plugin-replicator");
93748
93851
  var defaultReplicate = async () => [];
93749
93852
  var defaultSubscribe = () => () => {
@@ -96911,7 +97014,7 @@ var substitutions_default = {
96911
97014
  };
96912
97015
 
96913
97016
  // src/proto/gen/index.ts
96914
- var schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"client":{"nested":{"AddKeyRecordRequest":{"fields":{"keyRecord":{"type":"KeyRecord","id":1,"comment":null}},"comment":null},"AuthenticateInvitationRequest":{"fields":{"processId":{"type":"string","id":1,"comment":"Id from corresponding RedeemedInvitation."},"secret":{"type":"bytes","id":2,"comment":null}},"comment":null},"Contact":{"fields":{"publicKey":{"type":"dxos.halo.keys.PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"comment":null}},"comment":null},"Contacts":{"fields":{"contacts":{"rule":"repeated","type":"Contact","id":1,"comment":null}},"comment":null},"CreateInvitationRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"inviteeKey":{"type":"dxos.halo.keys.PubKey","id":2,"comment":"When specified the invitation will be of OFFLINE type, not requiring secret exchange."}},"comment":null},"CreateProfileRequest":{"fields":{"username":{"type":"string","id":1,"comment":null},"publicKey":{"type":"bytes","id":2,"comment":null},"secretKey":{"type":"bytes","id":3,"comment":null}},"comment":null},"CreateSnaspotRequest":{"fields":{"partyKey":{"type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"GetPartyDetailsRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"GetPreferenceRequest":{"fields":{"key":{"type":"string","id":1,"comment":null}},"comment":null},"GetPreferenceResponse":{"fields":{"value":{"type":"string","id":1,"comment":null}},"comment":null},"HaloService":{"methods":{"Sign":{"requestType":"SignRequest","responseType":"SignResponse","comment":null},"AddKeyRecord":{"requestType":"AddKeyRecordRequest","responseType":"google.protobuf.Empty","comment":null},"SubscribeContacts":{"requestType":"google.protobuf.Empty","responseType":"Contacts","responseStream":true,"comment":null},"SetGlobalPreference":{"requestType":"SetPreferenceRequest","responseType":"google.protobuf.Empty","comment":null},"GetGlobalPreference":{"requestType":"GetPreferenceRequest","responseType":"GetPreferenceResponse","comment":null},"SetDevicePreference":{"requestType":"SetPreferenceRequest","responseType":"google.protobuf.Empty","comment":null},"GetDevicePreference":{"requestType":"GetPreferenceRequest","responseType":"GetPreferenceResponse","comment":null}},"comment":null},"InvitationRequest":{"fields":{"descriptor":{"type":"InvitationDescriptor","id":1,"comment":null},"state":{"type":"InvitationState","id":2,"comment":null},"error":{"type":"string","id":3,"comment":"Only if state == ERROR."}},"comment":"Invitation process created by sender."},"InvitationState":{"values":{"WAITING_FOR_CONNECTION":1,"CONNECTED":2,"SUCCESS":3,"ERROR":4},"comment":null,"comments":{"WAITING_FOR_CONNECTION":null,"CONNECTED":null,"SUCCESS":null,"ERROR":null}},"Party":{"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"isOpen":{"rule":"required","type":"bool","id":2,"comment":null},"isActive":{"rule":"required","type":"bool","id":3,"comment":null},"members":{"rule":"repeated","type":"Member","id":4,"comment":null}},"nested":{"Member":{"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"comment":null}},"comment":null}},"comment":null},"PartyActivationOptions":{"fields":{"global":{"type":"bool","id":1,"comment":null},"device":{"type":"bool","id":2,"comment":null}},"comment":null},"PartyDetails":{"fields":{"processedTimeframe":{"rule":"required","type":"dxos.echo.timeframe.TimeframeVector","id":1,"comment":"The timeframe of mutations processed by the client."}},"comment":null},"PartyService":{"methods":{"SubscribeToParty":{"requestType":"SubscribePartyRequest","responseType":"SubscribePartyResponse","responseStream":true,"comment":null},"SubscribeParties":{"requestType":"google.protobuf.Empty","responseType":"SubscribePartiesResponse","responseStream":true,"comment":null},"GetPartyDetails":{"requestType":"GetPartyDetailsRequest","responseType":"PartyDetails","comment":null},"CreateParty":{"requestType":"google.protobuf.Empty","responseType":"Party","comment":null},"CloneParty":{"requestType":"PartySnapshot","responseType":"Party","comment":null},"SetPartyState":{"requestType":"SetPartyStateRequest","responseType":"Party","comment":"Open and close or activate and deactivate a party."},"CreateInvitation":{"requestType":"CreateInvitationRequest","responseType":"InvitationRequest","responseStream":true,"comment":null},"AcceptInvitation":{"requestType":"InvitationDescriptor","responseType":"RedeemedInvitation","responseStream":true,"comment":null},"AuthenticateInvitation":{"requestType":"AuthenticateInvitationRequest","responseType":"google.protobuf.Empty","comment":null},"SubscribeMembers":{"requestType":"SubscribeMembersRequest","responseType":"SubscribeMembersResponse","responseStream":true,"comment":null},"CreateSnapshot":{"requestType":"CreateSnaspotRequest","responseType":"PartySnapshot","comment":null}},"comment":null},"Profile":{"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"username":{"type":"string","id":2,"comment":null}},"comment":null},"ProfileService":{"methods":{"SubscribeProfile":{"requestType":"google.protobuf.Empty","responseType":"SubscribeProfileResponse","responseStream":true,"comment":null},"CreateProfile":{"requestType":"CreateProfileRequest","responseType":"Profile","comment":null},"RecoverProfile":{"requestType":"RecoverProfileRequest","responseType":"Profile","comment":null},"CreateInvitation":{"requestType":"google.protobuf.Empty","responseType":"InvitationRequest","responseStream":true,"comment":null},"AcceptInvitation":{"requestType":"InvitationDescriptor","responseType":"RedeemedInvitation","responseStream":true,"comment":null},"AuthenticateInvitation":{"requestType":"AuthenticateInvitationRequest","responseType":"google.protobuf.Empty","comment":null}},"comment":null},"RecoverProfileRequest":{"fields":{"seedPhrase":{"type":"string","id":1,"comment":null}},"comment":null},"RedeemedInvitation":{"fields":{"id":{"type":"string","id":1,"comment":null},"state":{"type":"InvitationState","id":2,"comment":null},"error":{"type":"string","id":3,"comment":"Only if state == ERROR."},"partyKey":{"type":"dxos.halo.keys.PubKey","id":4,"comment":"Only on party invitations that are finished."}},"comment":"Invitation that is being redeemed."},"SetPartyStateRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"open":{"type":"bool","id":2,"comment":null},"activeGlobal":{"type":"bool","id":3,"comment":null},"activeDevice":{"type":"bool","id":4,"comment":null}},"comment":null},"SetPreferenceRequest":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"string","id":2,"comment":null}},"comment":null},"SignRequest":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":"- The public key of the key that is supposed to be used for signing."},"payload":{"type":"bytes","id":2,"comment":null}},"comment":null},"SignResponse":{"fields":{"signed":{"type":"bytes","id":2,"comment":null}},"comment":null},"SubscribeMembersRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"SubscribeMembersResponse":{"fields":{"members":{"rule":"repeated","type":"PartyMember","id":1,"comment":null}},"nested":{"PartyMember":{"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"comment":null}},"comment":null}},"comment":null},"SubscribePartiesResponse":{"fields":{"parties":{"rule":"repeated","type":"Party","id":1,"comment":null}},"comment":null},"SubscribePartyRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"SubscribePartyResponse":{"fields":{"party":{"type":"Party","id":1,"comment":null}},"comment":null},"SubscribeProfileResponse":{"fields":{"profile":{"type":"Profile","id":1,"comment":null}},"comment":null},"SystemService":{"methods":{"GetConfig":{"requestType":"google.protobuf.Empty","responseType":"Config","comment":null},"Reset":{"requestType":"google.protobuf.Empty","responseType":"google.protobuf.Empty","comment":null}},"comment":null}}},"config":{"nested":{"Config":{"fields":{"version":{"type":"int32","id":1,"comment":null},"package":{"type":"Package","id":2,"comment":null},"runtime":{"type":"Runtime","id":3,"comment":null}},"comment":null},"Module":{"fields":{"name":{"type":"string","id":1,"comment":null},"type":{"type":"string","id":2,"comment":null},"displayName":{"type":"string","id":3,"comment":null},"description":{"type":"string","id":4,"comment":null},"tags":{"rule":"repeated","type":"string","id":5,"comment":null},"build":{"type":"Build","id":100,"comment":null},"repos":{"rule":"repeated","type":"Repo","id":101,"comment":null},"record":{"type":"google.protobuf.Any","id":200,"comment":"The data will be validated based on the type when being published."}},"nested":{"Build":{"fields":{"command":{"type":"string","id":1,"comment":null},"outdir":{"type":"string","id":2,"comment":null},"version":{"type":"string","id":3,"comment":null},"tag":{"type":"string","id":4,"comment":null}},"comment":null}},"comment":null},"Package":{"fields":{"license":{"type":"string","id":1,"comment":null},"repos":{"rule":"repeated","type":"Repo","id":2,"comment":null},"modules":{"rule":"repeated","type":"Module","id":3,"comment":null}},"comment":null},"Repo":{"fields":{"name":{"type":"string","id":1,"comment":null},"url":{"type":"string","id":2,"comment":null},"version":{"type":"string","id":3,"comment":null}},"comment":null},"Runtime":{"fields":{"client":{"type":"Client","id":1,"comment":null},"app":{"type":"App","id":2,"comment":null},"cli":{"type":"CLI","id":3,"comment":null},"props":{"type":"Props","id":4,"comment":null},"services":{"type":"Services","id":5,"comment":null},"system":{"type":"System","id":6,"comment":null}},"nested":{"App":{"fields":{"org":{"type":"string","id":1,"comment":null},"theme":{"type":"string","id":2,"comment":null},"website":{"type":"string","id":3,"comment":null},"publicUrl":{"type":"string","id":4,"options":{"(env)":"PUBLIC_URL"},"comment":null}},"comment":null},"CLI":{"fields":{"nodePath":{"type":"string","id":1,"comment":null},"app":{"type":"AppServe","id":2,"comment":null},"console":{"type":"Package","id":3,"comment":null},"mdns":{"type":"Package","id":4,"comment":null},"signal":{"type":"Package","id":5,"comment":null},"npmClient":{"type":"string","id":6,"comment":null},"channel":{"type":"string","id":7,"comment":null}},"nested":{"AppServe":{"fields":{"serve":{"type":"Serve","id":1,"comment":null}},"nested":{"Serve":{"fields":{"config":{"type":"string","id":1,"comment":null},"loginApp":{"type":"string","id":2,"comment":null},"keyPhrase":{"type":"string","id":3,"comment":null}},"comment":null}},"comment":null},"Package":{"fields":{"package":{"type":"string","id":1,"comment":null},"channel":{"type":"string","id":2,"comment":null},"bin":{"type":"string","id":3,"comment":null},"config":{"type":"string","id":4,"comment":null}},"comment":null}},"comment":null},"Client":{"fields":{"debug":{"type":"string","id":1,"options":{"(env)":"DEBUG"},"comment":null},"storage":{"type":"Storage","id":2,"comment":null},"enableSnapshots":{"type":"bool","id":3,"comment":null},"snapshotInterval":{"type":"int32","id":4,"comment":"Milliseconds"},"invitationExpiration":{"type":"int32","id":5,"comment":"Milliseconds"},"mode":{"type":"Mode","id":6,"comment":null}},"nested":{"Mode":{"values":{"AUTOMATIC":0,"LOCAL":1,"REMOTE":2},"comment":"Whether the client services are local with ClientServiceHost or remote and need to be accessed via ClientServiceProxy. Defaults to AUTOMATIC.","comments":{"AUTOMATIC":"Connects to the browser wallet if avialable, otherwise runs services in the local mode.","LOCAL":"Run services in the local mode.","REMOTE":"Connect to the browser wallet or to the remote services through the RPC port."}},"Storage":{"fields":{"persistent":{"type":"bool","id":1,"comment":null},"storageType":{"type":"StorageDriver","id":2,"comment":null},"keyStorage":{"type":"StorageDriver","id":3,"comment":null},"path":{"type":"string","id":4,"comment":null}},"nested":{"StorageDriver":{"values":{"RAM":0,"IDB":1,"CHROME":2,"FIREFOX":3,"NODE":4,"LEVELJS":11,"JSONDOWN":12},"comment":null,"comments":{"RAM":null,"IDB":null,"CHROME":null,"FIREFOX":null,"NODE":null,"LEVELJS":null,"JSONDOWN":null}}},"comment":null}},"comment":null},"Props":{"fields":{"title":{"type":"string","id":1,"comment":null}},"comment":null},"Services":{"fields":{"kube":{"type":"Kube","id":1,"comment":null},"app":{"type":"AppServer","id":2,"comment":null},"dxns":{"type":"Dxns","id":3,"comment":null},"ipfs":{"type":"Ipfs","id":4,"comment":null},"signal":{"type":"Signal","id":5,"comment":null},"ice":{"rule":"repeated","type":"Ice","id":6,"comment":null},"machine":{"type":"Machine","id":7,"comment":null},"bot":{"type":"BotFactory","id":8,"comment":null}},"nested":{"AppServer":{"fields":{"prefix":{"type":"string","id":1,"comment":null},"server":{"type":"string","id":2,"comment":null}},"comment":null},"BotFactory":{"fields":{"topic":{"type":"string","id":1,"comment":null},"persistent":{"type":"bool","id":2,"comment":null},"retryAttempts":{"type":"int32","id":3,"comment":null},"retryInterval":{"type":"int32","id":4,"comment":null}},"comment":null},"Dxns":{"fields":{"server":{"type":"string","id":1,"comment":"DXNS endpoint."},"accountUri":{"type":"string","id":2,"comment":"Substrate account URI. This is a secret.\\nKUBEs do not serve this with the config but we store it in profile.yml.\\n\\nTODO(dmaretskyi): Deprecate this and move it to keyring."},"address":{"type":"string","id":3,"comment":"Public Polkadot Address."},"account":{"type":"string","id":4,"comment":"Public address of a DXNS Account."},"faucet":{"type":"string","id":5,"comment":null}},"comment":null},"Ice":{"fields":{"urls":{"type":"string","id":1,"comment":null},"username":{"type":"string","id":2,"comment":null},"credential":{"type":"string","id":3,"comment":null}},"comment":null},"Ipfs":{"fields":{"server":{"type":"string","id":1,"comment":null},"gateway":{"type":"string","id":2,"comment":null}},"comment":null},"Kube":{"fields":{"endpoints":{"type":"Endpoints","id":1,"comment":null},"publicUrl":{"type":"string","id":2,"comment":null}},"nested":{"Endpoints":{"fields":{"logs":{"type":"string","id":1,"comment":null},"services":{"type":"string","id":2,"comment":null},"cert":{"type":"string","id":3,"comment":null}},"comment":null}},"comment":null},"Machine":{"fields":{"doAccessToken":{"type":"string","id":1,"comment":null},"githubAccessToken":{"type":"string","id":2,"comment":null},"githubUsername":{"type":"string","id":3,"comment":null},"dnsDomain":{"type":"string","id":4,"comment":null},"npmAccessToken":{"type":"string","id":5,"comment":null}},"comment":null},"Signal":{"fields":{"server":{"type":"string","id":1,"comment":null},"api":{"type":"string","id":2,"comment":null},"status":{"type":"string","id":3,"comment":null}},"comment":null}},"comment":null},"System":{"fields":{"debug":{"type":"string","id":1,"comment":null}},"comment":null}},"comment":null}}},"credentials":{"nested":{"Message":{"fields":{"payload":{"rule":"required","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"SignedMessage":{"fields":{"signed":{"rule":"required","type":"Signed","id":1,"comment":null},"signatures":{"rule":"repeated","type":"Signature","id":2,"comment":null}},"nested":{"Signature":{"fields":{"key":{"rule":"required","type":"PubKey","id":1,"comment":null},"signature":{"rule":"required","type":"bytes","id":2,"comment":null},"keyChain":{"type":"KeyChain","id":3,"comment":null}},"comment":null},"Signed":{"fields":{"created":{"rule":"required","type":"string","id":1,"comment":null},"nonce":{"rule":"required","type":"bytes","id":2,"comment":null},"payload":{"rule":"required","type":"google.protobuf.Any","id":10,"comment":null}},"comment":null}},"comment":"A generic container message used whenever messages are signed (e.g. PartyCredential)"}}},"devtools":{"nested":{"ClearSnapshotsRequest":{"fields":{},"comment":null},"DevtoolsHost":{"methods":{"Events":{"requestType":"google.protobuf.Empty","responseType":"Event","responseStream":true,"comment":null},"GetConfig":{"requestType":"google.protobuf.Empty","responseType":"GetConfigResponse","comment":null},"ResetStorage":{"requestType":"ResetStorageRequest","responseType":"google.protobuf.Empty","comment":null},"EnableDebugLogging":{"requestType":"EnableDebugLoggingRequest","responseType":"EnableDebugLoggingResponse","comment":null},"DisableDebugLogging":{"requestType":"EnableDebugLoggingRequest","responseType":"EnableDebugLoggingResponse","comment":null},"SubscribeToKeyringKeys":{"requestType":"SubscribeToKeyringKeysRequest","responseType":"SubscribeToKeyringKeysResponse","responseStream":true,"comment":null},"SubscribeToCredentialMessages":{"requestType":"SubscribeToCredentialMessagesRequest","responseType":"SubscribeToCredentialMessagesResponse","responseStream":true,"comment":null},"SubscribeToParties":{"requestType":"SubscribeToPartiesRequest","responseType":"SubscribeToPartiesResponse","responseStream":true,"comment":null},"SubscribeToItems":{"requestType":"SubscribeToItemsRequest","responseType":"SubscribeToItemsResponse","responseStream":true,"comment":null},"SubscribeToFeeds":{"requestType":"SubscribeToFeedsRequest","responseType":"SubscribeToFeedsResponse","responseStream":true,"comment":null},"SubscribeToFeedBlocks":{"requestType":"SubscribeToFeedBlocksRequest","responseType":"SubscribeToFeedBlocksResponse","responseStream":true,"comment":null},"GetPartySnapshot":{"requestType":"GetPartySnapshotRequest","responseType":"GetPartySnapshotResponse","comment":null},"SavePartySnapshot":{"requestType":"SavePartySnapshotRequest","responseType":"SavePartySnapshotResponse","comment":null},"ClearSnapshots":{"requestType":"ClearSnapshotsRequest","responseType":"google.protobuf.Empty","comment":null},"GetNetworkPeers":{"requestType":"GetNetworkPeersRequest","responseType":"GetNetworkPeersResponse","comment":null},"SubscribeToNetworkTopics":{"requestType":"google.protobuf.Empty","responseType":"SubscribeToNetworkTopicsResponse","responseStream":true,"comment":null},"SubscribeToSignalStatus":{"requestType":"google.protobuf.Empty","responseType":"SubscribeToSignalStatusResponse","responseStream":true,"comment":null},"SubscribeToSignalTrace":{"requestType":"google.protobuf.Empty","responseType":"SubscribeToSignalTraceResponse","responseStream":true,"comment":null},"SubscribeToSwarmInfo":{"requestType":"SubscribeToSwarmInfoRequest","responseType":"SubscribeToSwarmInfoResponse","responseStream":true,"comment":null}},"comment":null},"DisableDebugLoggingRequest":{"fields":{"namespaces":{"type":"string","id":1,"comment":null}},"comment":null},"DisableDebugLoggingResponse":{"fields":{"enabledNamespaces":{"type":"string","id":1,"comment":null}},"comment":null},"EnableDebugLoggingRequest":{"fields":{"namespaces":{"type":"string","id":1,"comment":null}},"comment":null},"EnableDebugLoggingResponse":{"fields":{"enabledNamespaces":{"type":"string","id":1,"comment":null}},"comment":null},"Event":{"oneofs":{"payload":{"oneof":["ready"],"comment":null}},"fields":{"ready":{"type":"ReadyEvent","id":1,"comment":null}},"comment":null},"GetConfigResponse":{"fields":{"config":{"type":"string","id":1,"comment":null}},"comment":null},"GetNetworkPeersRequest":{"fields":{"topic":{"type":"bytes","id":1,"comment":null}},"comment":null},"GetNetworkPeersResponse":{"fields":{"peers":{"rule":"repeated","type":"PeerInfo","id":1,"comment":null}},"nested":{"PeerInfo":{"fields":{"id":{"type":"PubKey","id":1,"comment":null},"state":{"type":"string","id":2,"comment":null},"connections":{"rule":"repeated","type":"bytes","id":3,"comment":null}},"comment":null}},"comment":null},"GetPartySnapshotRequest":{"fields":{"partyKey":{"rule":"required","type":"PubKey","id":1,"comment":null}},"comment":null},"GetPartySnapshotResponse":{"fields":{"snapshot":{"type":"PartySnapshot","id":1,"comment":null}},"comment":null},"ReadyEvent":{"fields":{},"comment":null},"ResetStorageRequest":{"fields":{},"comment":null},"SavePartySnapshotRequest":{"fields":{"partyKey":{"rule":"required","type":"PubKey","id":1,"comment":null}},"comment":null},"SavePartySnapshotResponse":{"fields":{"snapshot":{"type":"PartySnapshot","id":1,"comment":null}},"comment":null},"SetTracingOptionsRequest":{"fields":{"enable":{"type":"bool","id":1,"comment":null}},"comment":null},"SubscribeToCredentialMessagesRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null}},"comment":null},"SubscribeToCredentialMessagesResponse":{"fields":{"messages":{"rule":"repeated","type":"SignedMessage","id":1,"comment":null}},"comment":null},"SubscribeToFeedBlocksRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"feedKey":{"type":"PubKey","id":2,"comment":null},"maxBlocks":{"type":"int32","id":3,"comment":null}},"comment":null},"SubscribeToFeedBlocksResponse":{"fields":{"blocks":{"rule":"repeated","type":"Block","id":1,"comment":null}},"nested":{"Block":{"fields":{"key":{"type":"bytes","id":1,"comment":null},"seq":{"type":"int32","id":2,"comment":null},"sync":{"type":"bool","id":3,"comment":null},"path":{"type":"string","id":4,"comment":null},"data":{"type":"FeedMessage","id":5,"comment":null}},"comment":null}},"comment":null},"SubscribeToFeedsRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"feedKeys":{"rule":"repeated","type":"PubKey","id":2,"comment":null}},"comment":null},"SubscribeToFeedsResponse":{"fields":{"feeds":{"rule":"repeated","type":"Feed","id":1,"comment":null}},"nested":{"Feed":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"length":{"type":"int32","id":2,"comment":null}},"comment":null}},"comment":null},"SubscribeToItemsRequest":{"fields":{},"comment":null},"SubscribeToItemsResponse":{"fields":{"data":{"type":"string","id":1,"comment":null}},"comment":null},"SubscribeToKeyringKeysRequest":{"fields":{},"comment":null},"SubscribeToKeyringKeysResponse":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"SubscribeToNetworkTopicsResponse":{"fields":{"topics":{"rule":"repeated","type":"Topic","id":1,"comment":null}},"nested":{"Topic":{"fields":{"topic":{"type":"PubKey","id":1,"comment":null},"label":{"type":"string","id":2,"comment":null}},"comment":null}},"comment":null},"SubscribeToPartiesRequest":{"fields":{"partyKeys":{"rule":"repeated","type":"PubKey","id":1,"comment":null}},"comment":null},"SubscribeToPartiesResponse":{"fields":{"parties":{"rule":"repeated","type":"PartyInfo","id":1,"comment":null}},"nested":{"PartyInfo":{"fields":{"key":{"type":"PubKey","id":1,"comment":null},"isOpen":{"type":"bool","id":2,"comment":null},"isActive":{"type":"bool","id":3,"comment":null},"timeframe":{"type":"TimeframeVector","id":4,"comment":null},"feeds":{"rule":"repeated","type":"PubKey","id":5,"comment":null},"properties":{"keyType":"string","type":"string","id":6,"comment":null}},"comment":null}},"comment":null},"SubscribeToSignalStatusResponse":{"fields":{"servers":{"rule":"repeated","type":"SignalServer","id":1,"comment":null}},"nested":{"SignalServer":{"fields":{"host":{"type":"string","id":1,"comment":null},"state":{"type":"string","id":2,"comment":null},"error":{"type":"string","id":3,"comment":null},"reconnectIn":{"type":"int32","id":4,"comment":null},"connectionStarted":{"type":"int32","id":5,"comment":null},"lastStateChange":{"type":"int32","id":6,"comment":null}},"comment":null}},"comment":null},"SubscribeToSignalTraceResponse":{"fields":{"events":{"rule":"repeated","type":"string","id":1,"comment":null}},"comment":null},"SubscribeToSwarmInfoRequest":{"fields":{},"comment":null},"SubscribeToSwarmInfoResponse":{"fields":{"data":{"rule":"repeated","type":"SwarmInfo","id":1,"comment":null}},"nested":{"SwarmInfo":{"fields":{"id":{"type":"PubKey","id":1,"comment":null},"topic":{"type":"PubKey","id":2,"comment":null},"label":{"type":"string","id":3,"comment":null},"isActive":{"type":"bool","id":4,"comment":null},"connections":{"rule":"repeated","type":"ConnectionInfo","id":5,"comment":null}},"nested":{"ConnectionInfo":{"fields":{"state":{"type":"string","id":1,"comment":null},"sessionId":{"type":"PubKey","id":2,"comment":null},"remotePeerId":{"type":"PubKey","id":3,"comment":null},"transport":{"type":"string","id":4,"comment":null},"protocolExtensions":{"rule":"repeated","type":"string","id":5,"comment":null},"events":{"rule":"repeated","type":"Json","id":6,"comment":null}},"nested":{"Json":{"fields":{"data":{"type":"string","id":1,"comment":null}},"comment":null}},"comment":null}},"comment":null}},"comment":null},"TracingService":{"methods":{"SetTracingOptions":{"requestType":"SetTracingOptionsRequest","responseType":"google.protobuf.Empty","comment":null},"SubscribeToRpcTrace":{"requestType":"google.protobuf.Empty","responseType":"RpcMessage","responseStream":true,"comment":null}},"comment":null}}},"echo":{"nested":{"feed":{"nested":{"CredentialsMessage":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":"A container for dxos.credentials.Message"},"EchoEnvelope":{"fields":{"itemId":{"type":"string","id":1,"comment":null},"genesis":{"type":"ItemGenesis","id":10,"comment":null},"itemMutation":{"type":"ItemMutation","id":11,"comment":null},"mutation":{"type":"bytes","id":12,"comment":null},"snapshot":{"type":"ModelSnapshot","id":13,"comment":"Set the model to the provided snapshot."}},"comment":"Wrapper for all ECHO messages."},"FeedMessage":{"oneofs":{"payload":{"oneof":["halo","echo"],"comment":null}},"fields":{"timeframe":{"type":"TimeframeVector","id":1,"comment":null},"halo":{"type":"CredentialsMessage","id":10,"comment":null},"echo":{"type":"EchoEnvelope","id":11,"comment":null}},"comment":"Outer message type decoded by Codec.\\nThis is what is written to the feeds."},"ItemGenesis":{"fields":{"itemType":{"type":"string","id":1,"comment":null},"modelType":{"type":"string","id":2,"comment":null},"modelVersion":{"type":"string","id":3,"comment":null},"link":{"type":"LinkData","id":4,"comment":null}},"comment":null},"ItemMutation":{"fields":{"parentId":{"type":"string","id":1,"comment":null},"action":{"type":"Action","id":2,"comment":null}},"nested":{"Action":{"values":{"NOOP":0,"DELETE":1,"RESTORE":2},"comment":null,"comments":{"NOOP":null,"DELETE":null,"RESTORE":null}}},"comment":"Item mutation."},"LinkData":{"fields":{"source":{"type":"string","id":1,"comment":null},"target":{"type":"string","id":2,"comment":null}},"comment":null}}},"invitation":{"nested":{"InvitationDescriptor":{"fields":{"type":{"type":"Type","id":1,"comment":null},"swarmKey":{"type":"bytes","id":2,"comment":null},"invitation":{"type":"bytes","id":3,"comment":null},"identityKey":{"type":"bytes","id":4,"comment":"Only present if type == OFFLINE."},"secret":{"type":"bytes","id":5,"comment":"Must be stripped out when passing to another peer."}},"nested":{"Type":{"values":{"INTERACTIVE":1,"OFFLINE":2},"comment":"Defines an invitation type.","comments":{"INTERACTIVE":"Interactive invitation is when both peers are online at the same time.","OFFLINE":"Offline is when only a single peer needs to be online at the time."}}},"comment":null}}},"service":{"nested":{"DataService":{"methods":{"SubscribeEntitySet":{"requestType":"SubscribeEntitySetRequest","responseType":"SubscribeEntitySetResponse","responseStream":true,"comment":null},"SubscribeEntityStream":{"requestType":"SubscribeEntityStreamRequest","responseType":"SubscribeEntityStreamResponse","responseStream":true,"comment":null},"Write":{"requestType":"WriteRequest","responseType":"MutationReceipt","comment":null}},"comment":null},"MutationReceipt":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"seq":{"type":"int32","id":2,"comment":null}},"comment":null},"SubscribeEntitySetRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null}},"comment":null},"SubscribeEntitySetResponse":{"fields":{"added":{"rule":"repeated","type":"EchoEnvelope","id":1,"comment":null},"deleted":{"rule":"repeated","type":"EchoEnvelope","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"itemId":{"type":"string","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamResponse":{"oneofs":{"kind":{"oneof":["snapshot","mutation"],"comment":null}},"fields":{"snapshot":{"type":"ItemSnapshot","id":1,"comment":null},"mutation":{"type":"Mutation","id":2,"comment":null}},"nested":{"Mutation":{"fields":{"data":{"type":"EchoEnvelope","id":1,"comment":null},"meta":{"type":"Metadata","id":2,"comment":null}},"nested":{"Metadata":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"memberKey":{"type":"PubKey","id":2,"comment":null},"seq":{"type":"int32","id":3,"comment":null},"timeframe":{"type":"TimeframeVector","id":4,"comment":null}},"comment":null}},"comment":null}},"comment":null},"WriteRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"mutation":{"type":"EchoEnvelope","id":2,"comment":null}},"comment":null}}},"snapshot":{"nested":{"DatabaseSnapshot":{"fields":{"items":{"rule":"repeated","type":"ItemSnapshot","id":1,"comment":null},"links":{"rule":"repeated","type":"LinkSnapshot","id":2,"comment":null}},"comment":null},"HaloStateSnapshot":{"fields":{"messages":{"rule":"repeated","type":"dxos.CredentialsMessage","id":1,"comment":null}},"comment":null},"ItemSnapshot":{"oneofs":{"_itemId":{"oneof":["itemId"]},"_itemType":{"oneof":["itemType"]},"_modelType":{"oneof":["modelType"]},"_modelVersion":{"oneof":["modelVersion"]},"_parentId":{"oneof":["parentId"]},"_model":{"oneof":["model"]}},"fields":{"itemId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"itemType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"parentId":{"type":"string","id":5,"options":{"proto3_optional":true},"comment":null},"model":{"type":"ModelSnapshot","id":6,"options":{"proto3_optional":true},"comment":null}},"comment":null},"LinkSnapshot":{"oneofs":{"_linkId":{"oneof":["linkId"]},"_linkType":{"oneof":["linkType"]},"_modelType":{"oneof":["modelType"]},"_modelVersion":{"oneof":["modelVersion"]},"_model":{"oneof":["model"]}},"fields":{"linkId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"linkType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"source":{"rule":"required","type":"string","id":5,"comment":null},"target":{"rule":"required","type":"string","id":6,"comment":null},"model":{"type":"ModelSnapshot","id":7,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ModelMutation":{"fields":{"mutation":{"rule":"required","type":"bytes","id":1,"comment":null},"meta":{"rule":"required","type":"ModelMutationMeta","id":2,"comment":null}},"comment":null},"ModelMutationMeta":{"fields":{"feedKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"seq":{"rule":"required","type":"int32","id":2,"comment":null},"memberKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":3,"comment":null}},"comment":null},"ModelSnapshot":{"oneofs":{"_snapshot":{"oneof":["snapshot"]}},"fields":{"snapshot":{"type":"bytes","id":1,"options":{"proto3_optional":true},"comment":"Encoded model snapshot (defined by the model\'s codec).\\nIf undefined the state machine will be initialized with it\'s default state."},"mutations":{"rule":"repeated","type":"ModelMutation","id":2,"comment":"Mutations to be applied on top of the snapshot, or on top of initial state if the snapshot is undefined."}},"comment":null},"PartySnapshot":{"fields":{"partyKey":{"type":"bytes","id":1,"comment":null},"timeframe":{"type":"TimeframeVector","id":2,"comment":null},"timestamp":{"type":"int32","id":3,"comment":null},"halo":{"type":"HaloStateSnapshot","id":11,"comment":null},"database":{"type":"DatabaseSnapshot","id":12,"comment":null}},"comment":null}}},"timeframe":{"nested":{"TimeframeVector":{"fields":{"frames":{"rule":"repeated","type":"Frame","id":1,"comment":null}},"nested":{"Frame":{"fields":{"feedKey":{"type":"bytes","id":1,"comment":null},"seq":{"type":"int32","id":3,"comment":null}},"comment":null}},"comment":"Vector timestamp used to order messages."}}}}},"halo":{"nested":{"keys":{"nested":{"KeyChain":{"fields":{"publicKey":{"rule":"required","type":"PubKey","id":1,"comment":null},"message":{"rule":"required","type":"SignedMessage","id":2,"comment":null},"parents":{"rule":"repeated","type":"KeyChain","id":3,"comment":null}},"comment":null},"KeyRecord":{"fields":{"type":{"rule":"required","type":"KeyType","id":1,"comment":"The `KeyType` type of the key. This is often unknown for keys from other sources."},"publicKey":{"rule":"required","type":"PubKey","id":2,"comment":"The public key as a Buffer (required)."},"secretKey":{"type":"PrivKey","id":3,"comment":"The secret key as a Buffer (this will never be visible outside the Keyring)."},"hint":{"type":"bool","id":4,"comment":"Is this key from a Greeting \\"hint\\"?"},"own":{"type":"bool","id":5,"comment":"Determines if this is our key?\\nUsually true if `secretKey` is present; may be false for \\"inception keys\\" such as the Party key."},"trusted":{"type":"bool","id":6,"comment":"Is this key to be trusted?"},"added":{"type":"string","id":7,"comment":"An RFC-3339 date/time string for when the key was added to the Keyring."},"created":{"type":"string","id":8,"comment":"An RFC-3339 date/time string for when the key was created."}},"comment":null},"KeyRecordList":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"KeyType":{"values":{"UNKNOWN":0,"IDENTITY":1,"DEVICE":2,"PARTY":3,"FEED":4,"DXNS_ADDRESS":5},"comment":null,"comments":{"UNKNOWN":null,"IDENTITY":null,"DEVICE":null,"PARTY":null,"FEED":null,"DXNS_ADDRESS":null}},"PrivKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null},"PubKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null}}}}},"rpc":{"nested":{"Error":{"fields":{"name":{"type":"string","id":1,"comment":null},"message":{"type":"string","id":2,"comment":null},"stack":{"type":"string","id":3,"comment":null}},"comment":null},"MessageTrace":{"fields":{"direction":{"type":"Direction","id":1,"comment":null},"data":{"type":"bytes","id":2,"comment":null}},"nested":{"Direction":{"values":{"INCOMING":0,"OUTGOING":1},"comment":null,"comments":{"INCOMING":null,"OUTGOING":null}}},"comment":null},"Request":{"fields":{"id":{"type":"int32","id":1,"comment":null},"method":{"type":"string","id":2,"comment":null},"payload":{"type":"google.protobuf.Any","id":3,"comment":null},"stream":{"type":"bool","id":4,"comment":null}},"comment":null},"Response":{"oneofs":{"content":{"oneof":["payload","error","close"],"comment":null}},"fields":{"id":{"type":"int32","id":1,"comment":null},"payload":{"type":"google.protobuf.Any","id":2,"comment":null},"error":{"type":"Error","id":3,"comment":null},"close":{"type":"bool","id":4,"comment":null}},"comment":null},"RpcMessage":{"oneofs":{"content":{"oneof":["request","response","open","openAck","streamClose"],"comment":null}},"fields":{"request":{"type":"Request","id":1,"comment":null},"response":{"type":"Response","id":2,"comment":null},"open":{"type":"bool","id":3,"comment":"Means that the node is trying to open the connection."},"openAck":{"type":"bool","id":4,"comment":"Means that the node has received the \\"open\\" message and is ready to perform requests."},"streamClose":{"type":"StreamClose","id":5,"comment":null}},"comment":null},"StreamClose":{"fields":{"id":{"type":"int32","id":1,"comment":null}},"comment":null}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}},"comment":null},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}},"comment":null}},"comment":null},"Empty":{"fields":{},"comment":null},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3}},"comment":null},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}},"comment":null},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8}},"nested":{"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REQUIRED":2,"LABEL_REPEATED":3},"comments":{}},"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18},"comments":{}}},"comment":null},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5},"deprecated":{"type":"bool","id":3},"weak":{"type":"bool","id":10},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"reserved":[[4,4]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2},"comments":{}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2},"comments":{}}},"comment":null},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12}},"comment":null},"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}},"comment":null},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16},"javaGenericServices":{"type":"bool","id":17},"pyGenericServices":{"type":"bool","id":18},"deprecated":{"type":"bool","id":23},"ccEnableArenas":{"type":"bool","id":31},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"reserved":[[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3},"comments":{}}},"comment":null},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4}},"comment":null}},"comment":null},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1},"noStandardDescriptorAccessor":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3},"mapEntry":{"type":"bool","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"reserved":[[8,8]],"comment":null},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5},"serverStreaming":{"type":"bool","id":6}},"comment":null},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}},"comment":null},"OneofOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}},"comment":null},"ServiceOptions":{"fields":{"deprecated":{"type":"bool","id":33},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}},"comment":null}},"comment":null},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}},"comment":null},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}},"comment":null}},"comment":null}}}}}}}');
97017
+ var schemaJson = JSON.parse('{"nested":{"dxos":{"nested":{"client":{"nested":{"AddKeyRecordRequest":{"fields":{"keyRecord":{"type":"KeyRecord","id":1,"comment":null}},"comment":null},"AuthenticateInvitationRequest":{"fields":{"processId":{"type":"string","id":1,"comment":"Id from corresponding RedeemedInvitation."},"secret":{"type":"bytes","id":2,"comment":null}},"comment":null},"Contact":{"oneofs":{"_displayName":{"oneof":["displayName"]}},"fields":{"publicKey":{"type":"dxos.halo.keys.PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Contacts":{"fields":{"contacts":{"rule":"repeated","type":"Contact","id":1,"comment":null}},"comment":null},"CreateInvitationRequest":{"oneofs":{"_inviteeKey":{"oneof":["inviteeKey"]}},"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"inviteeKey":{"type":"dxos.halo.keys.PubKey","id":2,"options":{"proto3_optional":true},"comment":"When specified the invitation will be of OFFLINE type, not requiring secret exchange."}},"comment":null},"CreateProfileRequest":{"oneofs":{"_username":{"oneof":["username"]},"_publicKey":{"oneof":["publicKey"]},"_secretKey":{"oneof":["secretKey"]}},"fields":{"username":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"publicKey":{"type":"bytes","id":2,"options":{"proto3_optional":true},"comment":null},"secretKey":{"type":"bytes","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null},"CreateSnaspotRequest":{"fields":{"partyKey":{"type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"GetPartyDetailsRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"GetPreferenceRequest":{"fields":{"key":{"type":"string","id":1,"comment":null}},"comment":null},"GetPreferenceResponse":{"fields":{"value":{"type":"string","id":1,"comment":null}},"comment":null},"HaloService":{"methods":{"Sign":{"requestType":"SignRequest","responseType":"SignResponse","comment":null},"AddKeyRecord":{"requestType":"AddKeyRecordRequest","responseType":"google.protobuf.Empty","comment":null},"SubscribeContacts":{"requestType":"google.protobuf.Empty","responseType":"Contacts","responseStream":true,"comment":null},"SetGlobalPreference":{"requestType":"SetPreferenceRequest","responseType":"google.protobuf.Empty","comment":null},"GetGlobalPreference":{"requestType":"GetPreferenceRequest","responseType":"GetPreferenceResponse","comment":null},"SetDevicePreference":{"requestType":"SetPreferenceRequest","responseType":"google.protobuf.Empty","comment":null},"GetDevicePreference":{"requestType":"GetPreferenceRequest","responseType":"GetPreferenceResponse","comment":null}},"comment":null},"InvitationRequest":{"oneofs":{"_descriptor":{"oneof":["descriptor"]},"_error":{"oneof":["error"]}},"fields":{"descriptor":{"type":"InvitationDescriptor","id":1,"options":{"proto3_optional":true},"comment":null},"state":{"type":"InvitationState","id":2,"comment":null},"error":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":"Only if state == ERROR."}},"comment":"Invitation process created by sender."},"InvitationState":{"values":{"WAITING_FOR_CONNECTION":1,"CONNECTED":2,"SUCCESS":3,"ERROR":4},"comment":null,"comments":{"WAITING_FOR_CONNECTION":null,"CONNECTED":null,"SUCCESS":null,"ERROR":null}},"Party":{"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"isOpen":{"rule":"required","type":"bool","id":2,"comment":null},"isActive":{"rule":"required","type":"bool","id":3,"comment":null},"members":{"rule":"repeated","type":"Member","id":4,"comment":null}},"nested":{"Member":{"oneofs":{"_displayName":{"oneof":["displayName"]}},"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"PartyActivationOptions":{"fields":{"global":{"type":"bool","id":1,"comment":null},"device":{"type":"bool","id":2,"comment":null}},"comment":null},"PartyDetails":{"fields":{"processedTimeframe":{"rule":"required","type":"dxos.echo.timeframe.TimeframeVector","id":1,"comment":"The timeframe of mutations processed by the client."}},"comment":null},"PartyService":{"methods":{"SubscribeToParty":{"requestType":"SubscribePartyRequest","responseType":"SubscribePartyResponse","responseStream":true,"comment":null},"SubscribeParties":{"requestType":"google.protobuf.Empty","responseType":"SubscribePartiesResponse","responseStream":true,"comment":null},"GetPartyDetails":{"requestType":"GetPartyDetailsRequest","responseType":"PartyDetails","comment":null},"CreateParty":{"requestType":"google.protobuf.Empty","responseType":"Party","comment":null},"CloneParty":{"requestType":"PartySnapshot","responseType":"Party","comment":null},"SetPartyState":{"requestType":"SetPartyStateRequest","responseType":"Party","comment":"Open and close or activate and deactivate a party."},"CreateInvitation":{"requestType":"CreateInvitationRequest","responseType":"InvitationRequest","responseStream":true,"comment":null},"AcceptInvitation":{"requestType":"InvitationDescriptor","responseType":"RedeemedInvitation","responseStream":true,"comment":null},"AuthenticateInvitation":{"requestType":"AuthenticateInvitationRequest","responseType":"google.protobuf.Empty","comment":null},"SubscribeMembers":{"requestType":"SubscribeMembersRequest","responseType":"SubscribeMembersResponse","responseStream":true,"comment":null},"CreateSnapshot":{"requestType":"CreateSnaspotRequest","responseType":"PartySnapshot","comment":null}},"comment":null},"Profile":{"oneofs":{"_username":{"oneof":["username"]}},"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"username":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ProfileService":{"methods":{"SubscribeProfile":{"requestType":"google.protobuf.Empty","responseType":"SubscribeProfileResponse","responseStream":true,"comment":null},"CreateProfile":{"requestType":"CreateProfileRequest","responseType":"Profile","comment":null},"RecoverProfile":{"requestType":"RecoverProfileRequest","responseType":"Profile","comment":null},"CreateInvitation":{"requestType":"google.protobuf.Empty","responseType":"InvitationRequest","responseStream":true,"comment":null},"AcceptInvitation":{"requestType":"InvitationDescriptor","responseType":"RedeemedInvitation","responseStream":true,"comment":null},"AuthenticateInvitation":{"requestType":"AuthenticateInvitationRequest","responseType":"google.protobuf.Empty","comment":null}},"comment":null},"RecoverProfileRequest":{"fields":{"seedPhrase":{"type":"string","id":1,"comment":null}},"comment":null},"RedeemedInvitation":{"oneofs":{"_error":{"oneof":["error"]},"_partyKey":{"oneof":["partyKey"]}},"fields":{"id":{"type":"string","id":1,"comment":null},"state":{"type":"InvitationState","id":2,"comment":null},"error":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":"Only if state == ERROR."},"partyKey":{"type":"dxos.halo.keys.PubKey","id":4,"options":{"proto3_optional":true},"comment":"Only on party invitations that are finished."}},"comment":"Invitation that is being redeemed."},"SetPartyStateRequest":{"oneofs":{"_open":{"oneof":["open"]},"_activeGlobal":{"oneof":["activeGlobal"]},"_activeDevice":{"oneof":["activeDevice"]}},"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"open":{"type":"bool","id":2,"options":{"proto3_optional":true},"comment":null},"activeGlobal":{"type":"bool","id":3,"options":{"proto3_optional":true},"comment":null},"activeDevice":{"type":"bool","id":4,"options":{"proto3_optional":true},"comment":null}},"comment":null},"SetPreferenceRequest":{"fields":{"key":{"type":"string","id":1,"comment":null},"value":{"type":"string","id":2,"comment":null}},"comment":null},"SignRequest":{"fields":{"publicKey":{"type":"PubKey","id":1,"comment":"- The public key of the key that is supposed to be used for signing."},"payload":{"type":"bytes","id":2,"comment":null}},"comment":null},"SignResponse":{"fields":{"signed":{"type":"bytes","id":2,"comment":null}},"comment":null},"SubscribeMembersRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"SubscribeMembersResponse":{"fields":{"members":{"rule":"repeated","type":"PartyMember","id":1,"comment":null}},"nested":{"PartyMember":{"oneofs":{"_displayName":{"oneof":["displayName"]}},"fields":{"publicKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"displayName":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"SubscribePartiesResponse":{"fields":{"parties":{"rule":"repeated","type":"Party","id":1,"comment":null}},"comment":null},"SubscribePartyRequest":{"fields":{"partyKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null}},"comment":null},"SubscribePartyResponse":{"oneofs":{"_party":{"oneof":["party"]}},"fields":{"party":{"type":"Party","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"SubscribeProfileResponse":{"oneofs":{"_profile":{"oneof":["profile"]}},"fields":{"profile":{"type":"Profile","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"SystemService":{"methods":{"GetConfig":{"requestType":"google.protobuf.Empty","responseType":"Config","comment":null},"Reset":{"requestType":"google.protobuf.Empty","responseType":"google.protobuf.Empty","comment":null}},"comment":null}}},"config":{"nested":{"Config":{"oneofs":{"_version":{"oneof":["version"]},"_package":{"oneof":["package"]},"_runtime":{"oneof":["runtime"]}},"fields":{"version":{"type":"int32","id":1,"options":{"proto3_optional":true},"comment":null},"package":{"type":"Package","id":2,"options":{"proto3_optional":true},"comment":null},"runtime":{"type":"Runtime","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Module":{"oneofs":{"_name":{"oneof":["name"]},"_type":{"oneof":["type"]},"_displayName":{"oneof":["displayName"]},"_description":{"oneof":["description"]},"_build":{"oneof":["build"]},"_record":{"oneof":["record"]}},"fields":{"name":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"type":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"displayName":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"description":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"tags":{"rule":"repeated","type":"string","id":5,"comment":null},"build":{"type":"Build","id":100,"options":{"proto3_optional":true},"comment":null},"repos":{"rule":"repeated","type":"Repo","id":101,"comment":null},"record":{"type":"google.protobuf.Any","id":200,"options":{"proto3_optional":true},"comment":"The data will be validated based on the type when being published."}},"nested":{"Build":{"oneofs":{"_command":{"oneof":["command"]},"_outdir":{"oneof":["outdir"]},"_version":{"oneof":["version"]},"_tag":{"oneof":["tag"]}},"fields":{"command":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"outdir":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"version":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"tag":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"Package":{"oneofs":{"_license":{"oneof":["license"]}},"fields":{"license":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"repos":{"rule":"repeated","type":"Repo","id":2,"comment":null},"modules":{"rule":"repeated","type":"Module","id":3,"comment":null}},"comment":null},"Repo":{"oneofs":{"_name":{"oneof":["name"]},"_url":{"oneof":["url"]},"_version":{"oneof":["version"]}},"fields":{"name":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"url":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"version":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Runtime":{"oneofs":{"_client":{"oneof":["client"]},"_app":{"oneof":["app"]},"_cli":{"oneof":["cli"]},"_props":{"oneof":["props"]},"_services":{"oneof":["services"]},"_system":{"oneof":["system"]}},"fields":{"client":{"type":"Client","id":1,"options":{"proto3_optional":true},"comment":null},"app":{"type":"App","id":2,"options":{"proto3_optional":true},"comment":null},"cli":{"type":"CLI","id":3,"options":{"proto3_optional":true},"comment":null},"props":{"type":"Props","id":4,"options":{"proto3_optional":true},"comment":null},"services":{"type":"Services","id":5,"options":{"proto3_optional":true},"comment":null},"system":{"type":"System","id":6,"options":{"proto3_optional":true},"comment":null}},"nested":{"App":{"oneofs":{"_org":{"oneof":["org"]},"_theme":{"oneof":["theme"]},"_website":{"oneof":["website"]},"_publicUrl":{"oneof":["publicUrl"]}},"fields":{"org":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"theme":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"website":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"publicUrl":{"type":"string","id":4,"options":{"(env)":"PUBLIC_URL","proto3_optional":true},"comment":null}},"comment":null},"CLI":{"oneofs":{"_nodePath":{"oneof":["nodePath"]},"_app":{"oneof":["app"]},"_console":{"oneof":["console"]},"_mdns":{"oneof":["mdns"]},"_signal":{"oneof":["signal"]},"_npmClient":{"oneof":["npmClient"]},"_channel":{"oneof":["channel"]}},"fields":{"nodePath":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"app":{"type":"AppServe","id":2,"options":{"proto3_optional":true},"comment":null},"console":{"type":"Package","id":3,"options":{"proto3_optional":true},"comment":null},"mdns":{"type":"Package","id":4,"options":{"proto3_optional":true},"comment":null},"signal":{"type":"Package","id":5,"options":{"proto3_optional":true},"comment":null},"npmClient":{"type":"string","id":6,"options":{"proto3_optional":true},"comment":null},"channel":{"type":"string","id":7,"options":{"proto3_optional":true},"comment":null}},"nested":{"AppServe":{"oneofs":{"_serve":{"oneof":["serve"]}},"fields":{"serve":{"type":"Serve","id":1,"options":{"proto3_optional":true},"comment":null}},"nested":{"Serve":{"oneofs":{"_config":{"oneof":["config"]},"_loginApp":{"oneof":["loginApp"]},"_keyPhrase":{"oneof":["keyPhrase"]}},"fields":{"config":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"loginApp":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"keyPhrase":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"Package":{"oneofs":{"_package":{"oneof":["package"]},"_channel":{"oneof":["channel"]},"_bin":{"oneof":["bin"]},"_config":{"oneof":["config"]}},"fields":{"package":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"channel":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"bin":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"config":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"Client":{"oneofs":{"_debug":{"oneof":["debug"]},"_storage":{"oneof":["storage"]},"_enableSnapshots":{"oneof":["enableSnapshots"]},"_snapshotInterval":{"oneof":["snapshotInterval"]},"_invitationExpiration":{"oneof":["invitationExpiration"]},"_mode":{"oneof":["mode"]}},"fields":{"debug":{"type":"string","id":1,"options":{"(env)":"DEBUG","proto3_optional":true},"comment":null},"storage":{"type":"Storage","id":2,"options":{"proto3_optional":true},"comment":null},"enableSnapshots":{"type":"bool","id":3,"options":{"proto3_optional":true},"comment":null},"snapshotInterval":{"type":"int32","id":4,"options":{"proto3_optional":true},"comment":"Milliseconds"},"invitationExpiration":{"type":"int32","id":5,"options":{"proto3_optional":true},"comment":"Milliseconds"},"mode":{"type":"Mode","id":6,"options":{"proto3_optional":true},"comment":null}},"nested":{"Mode":{"values":{"AUTOMATIC":0,"LOCAL":1,"REMOTE":2},"comment":"Whether the client services are local with ClientServiceHost or remote and need to be accessed via ClientServiceProxy. Defaults to AUTOMATIC.","comments":{"AUTOMATIC":"Connects to the browser wallet if avialable, otherwise runs services in the local mode.","LOCAL":"Run services in the local mode.","REMOTE":"Connect to the browser wallet or to the remote services through the RPC port."}},"Storage":{"oneofs":{"_persistent":{"oneof":["persistent"]},"_storageType":{"oneof":["storageType"]},"_keyStorage":{"oneof":["keyStorage"]},"_path":{"oneof":["path"]}},"fields":{"persistent":{"type":"bool","id":1,"options":{"proto3_optional":true},"comment":null},"storageType":{"type":"StorageDriver","id":2,"options":{"proto3_optional":true},"comment":null},"keyStorage":{"type":"StorageDriver","id":3,"options":{"proto3_optional":true},"comment":null},"path":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null}},"nested":{"StorageDriver":{"values":{"RAM":0,"IDB":1,"CHROME":2,"FIREFOX":3,"NODE":4,"LEVELJS":11,"JSONDOWN":12},"comment":null,"comments":{"RAM":null,"IDB":null,"CHROME":null,"FIREFOX":null,"NODE":null,"LEVELJS":null,"JSONDOWN":null}}},"comment":null}},"comment":null},"Props":{"oneofs":{"_title":{"oneof":["title"]}},"fields":{"title":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Services":{"oneofs":{"_kube":{"oneof":["kube"]},"_app":{"oneof":["app"]},"_dxns":{"oneof":["dxns"]},"_ipfs":{"oneof":["ipfs"]},"_signal":{"oneof":["signal"]},"_machine":{"oneof":["machine"]},"_bot":{"oneof":["bot"]}},"fields":{"kube":{"type":"Kube","id":1,"options":{"proto3_optional":true},"comment":null},"app":{"type":"AppServer","id":2,"options":{"proto3_optional":true},"comment":null},"dxns":{"type":"Dxns","id":3,"options":{"proto3_optional":true},"comment":null},"ipfs":{"type":"Ipfs","id":4,"options":{"proto3_optional":true},"comment":null},"signal":{"type":"Signal","id":5,"options":{"proto3_optional":true},"comment":null},"ice":{"rule":"repeated","type":"Ice","id":6,"comment":null},"machine":{"type":"Machine","id":7,"options":{"proto3_optional":true},"comment":null},"bot":{"type":"BotFactory","id":8,"options":{"proto3_optional":true},"comment":null}},"nested":{"AppServer":{"oneofs":{"_prefix":{"oneof":["prefix"]},"_server":{"oneof":["server"]}},"fields":{"prefix":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"server":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null},"BotFactory":{"oneofs":{"_topic":{"oneof":["topic"]},"_persistent":{"oneof":["persistent"]},"_retryAttempts":{"oneof":["retryAttempts"]},"_retryInterval":{"oneof":["retryInterval"]}},"fields":{"topic":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"persistent":{"type":"bool","id":2,"options":{"proto3_optional":true},"comment":null},"retryAttempts":{"type":"int32","id":3,"options":{"proto3_optional":true},"comment":null},"retryInterval":{"type":"int32","id":4,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Dxns":{"oneofs":{"_server":{"oneof":["server"]},"_accountUri":{"oneof":["accountUri"]},"_address":{"oneof":["address"]},"_account":{"oneof":["account"]},"_faucet":{"oneof":["faucet"]}},"fields":{"server":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":"DXNS endpoint."},"accountUri":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":"Substrate account URI. This is a secret.\\nKUBEs do not serve this with the config but we store it in profile.yml.\\n\\nTODO(dmaretskyi): Deprecate this and move it to keyring."},"address":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":"Public Polkadot Address."},"account":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":"Public address of a DXNS Account."},"faucet":{"type":"string","id":5,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Ice":{"oneofs":{"_urls":{"oneof":["urls"]},"_username":{"oneof":["username"]},"_credential":{"oneof":["credential"]}},"fields":{"urls":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"username":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"credential":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Ipfs":{"oneofs":{"_server":{"oneof":["server"]},"_gateway":{"oneof":["gateway"]}},"fields":{"server":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"gateway":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Kube":{"oneofs":{"_endpoints":{"oneof":["endpoints"]},"_publicUrl":{"oneof":["publicUrl"]}},"fields":{"endpoints":{"type":"Endpoints","id":1,"options":{"proto3_optional":true},"comment":null},"publicUrl":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"nested":{"Endpoints":{"oneofs":{"_logs":{"oneof":["logs"]},"_services":{"oneof":["services"]},"_cert":{"oneof":["cert"]}},"fields":{"logs":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"services":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"cert":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"Machine":{"oneofs":{"_doAccessToken":{"oneof":["doAccessToken"]},"_githubAccessToken":{"oneof":["githubAccessToken"]},"_githubUsername":{"oneof":["githubUsername"]},"_dnsDomain":{"oneof":["dnsDomain"]},"_npmAccessToken":{"oneof":["npmAccessToken"]}},"fields":{"doAccessToken":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"githubAccessToken":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"githubUsername":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"dnsDomain":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"npmAccessToken":{"type":"string","id":5,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Signal":{"oneofs":{"_server":{"oneof":["server"]},"_api":{"oneof":["api"]},"_status":{"oneof":["status"]}},"fields":{"server":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"api":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"status":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"System":{"oneofs":{"_debug":{"oneof":["debug"]}},"fields":{"debug":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null}}},"credentials":{"nested":{"Message":{"fields":{"payload":{"rule":"required","type":"google.protobuf.Any","id":1,"comment":null}},"comment":null},"SignedMessage":{"fields":{"signed":{"rule":"required","type":"Signed","id":1,"comment":"The signed message contents."},"signatures":{"rule":"repeated","type":"Signature","id":2,"comment":"An array of Signatures, one for each key that signed the message."}},"nested":{"Signature":{"oneofs":{"_keyChain":{"oneof":["keyChain"]}},"fields":{"key":{"rule":"required","type":"PubKey","id":1,"comment":"The publicKey of the keypair that made this signature."},"signature":{"rule":"required","type":"bytes","id":2,"comment":"The bytes of the signature."},"keyChain":{"type":"KeyChain","id":3,"options":{"proto3_optional":true},"comment":"The certification chain of SignedMessages for this key."}},"comment":null},"Signed":{"fields":{"created":{"rule":"required","type":"string","id":1,"comment":"RFC-3339 datetime string."},"nonce":{"rule":"required","type":"bytes","id":2,"comment":null},"payload":{"rule":"required","type":"google.protobuf.Any","id":10,"comment":"The payload to be signed."}},"comment":null}},"comment":"A generic container message used whenever messages are signed (e.g. PartyCredential)"}}},"devtools":{"nested":{"ClearSnapshotsRequest":{"fields":{},"comment":null},"DevtoolsHost":{"methods":{"Events":{"requestType":"google.protobuf.Empty","responseType":"Event","responseStream":true,"comment":null},"GetConfig":{"requestType":"google.protobuf.Empty","responseType":"GetConfigResponse","comment":null},"ResetStorage":{"requestType":"ResetStorageRequest","responseType":"google.protobuf.Empty","comment":null},"EnableDebugLogging":{"requestType":"EnableDebugLoggingRequest","responseType":"EnableDebugLoggingResponse","comment":null},"DisableDebugLogging":{"requestType":"EnableDebugLoggingRequest","responseType":"EnableDebugLoggingResponse","comment":null},"SubscribeToKeyringKeys":{"requestType":"SubscribeToKeyringKeysRequest","responseType":"SubscribeToKeyringKeysResponse","responseStream":true,"comment":null},"SubscribeToCredentialMessages":{"requestType":"SubscribeToCredentialMessagesRequest","responseType":"SubscribeToCredentialMessagesResponse","responseStream":true,"comment":null},"SubscribeToParties":{"requestType":"SubscribeToPartiesRequest","responseType":"SubscribeToPartiesResponse","responseStream":true,"comment":null},"SubscribeToItems":{"requestType":"SubscribeToItemsRequest","responseType":"SubscribeToItemsResponse","responseStream":true,"comment":null},"SubscribeToFeeds":{"requestType":"SubscribeToFeedsRequest","responseType":"SubscribeToFeedsResponse","responseStream":true,"comment":null},"SubscribeToFeedBlocks":{"requestType":"SubscribeToFeedBlocksRequest","responseType":"SubscribeToFeedBlocksResponse","responseStream":true,"comment":null},"GetPartySnapshot":{"requestType":"GetPartySnapshotRequest","responseType":"GetPartySnapshotResponse","comment":null},"SavePartySnapshot":{"requestType":"SavePartySnapshotRequest","responseType":"SavePartySnapshotResponse","comment":null},"ClearSnapshots":{"requestType":"ClearSnapshotsRequest","responseType":"google.protobuf.Empty","comment":null},"GetNetworkPeers":{"requestType":"GetNetworkPeersRequest","responseType":"GetNetworkPeersResponse","comment":null},"SubscribeToNetworkTopics":{"requestType":"google.protobuf.Empty","responseType":"SubscribeToNetworkTopicsResponse","responseStream":true,"comment":null},"SubscribeToSignalStatus":{"requestType":"google.protobuf.Empty","responseType":"SubscribeToSignalStatusResponse","responseStream":true,"comment":null},"SubscribeToSignalTrace":{"requestType":"google.protobuf.Empty","responseType":"SubscribeToSignalTraceResponse","responseStream":true,"comment":null},"SubscribeToSwarmInfo":{"requestType":"SubscribeToSwarmInfoRequest","responseType":"SubscribeToSwarmInfoResponse","responseStream":true,"comment":null}},"comment":null},"DisableDebugLoggingRequest":{"oneofs":{"_namespaces":{"oneof":["namespaces"]}},"fields":{"namespaces":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"DisableDebugLoggingResponse":{"oneofs":{"_enabledNamespaces":{"oneof":["enabledNamespaces"]}},"fields":{"enabledNamespaces":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"EnableDebugLoggingRequest":{"oneofs":{"_namespaces":{"oneof":["namespaces"]}},"fields":{"namespaces":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"EnableDebugLoggingResponse":{"oneofs":{"_enabledNamespaces":{"oneof":["enabledNamespaces"]}},"fields":{"enabledNamespaces":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"Event":{"oneofs":{"payload":{"oneof":["ready"],"comment":null}},"fields":{"ready":{"type":"ReadyEvent","id":1,"comment":null}},"comment":null},"GetConfigResponse":{"fields":{"config":{"type":"string","id":1,"comment":null}},"comment":null},"GetNetworkPeersRequest":{"fields":{"topic":{"type":"bytes","id":1,"comment":null}},"comment":null},"GetNetworkPeersResponse":{"fields":{"peers":{"rule":"repeated","type":"PeerInfo","id":1,"comment":null}},"nested":{"PeerInfo":{"fields":{"id":{"type":"PubKey","id":1,"comment":null},"state":{"type":"string","id":2,"comment":null},"connections":{"rule":"repeated","type":"bytes","id":3,"comment":null}},"comment":null}},"comment":null},"GetPartySnapshotRequest":{"fields":{"partyKey":{"rule":"required","type":"PubKey","id":1,"comment":null}},"comment":null},"GetPartySnapshotResponse":{"oneofs":{"_snapshot":{"oneof":["snapshot"]}},"fields":{"snapshot":{"type":"PartySnapshot","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ReadyEvent":{"fields":{},"comment":null},"ResetStorageRequest":{"fields":{},"comment":null},"SavePartySnapshotRequest":{"fields":{"partyKey":{"rule":"required","type":"PubKey","id":1,"comment":null}},"comment":null},"SavePartySnapshotResponse":{"oneofs":{"_snapshot":{"oneof":["snapshot"]}},"fields":{"snapshot":{"type":"PartySnapshot","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"SetTracingOptionsRequest":{"fields":{"enable":{"type":"bool","id":1,"comment":null}},"comment":null},"SubscribeToCredentialMessagesRequest":{"oneofs":{"_partyKey":{"oneof":["partyKey"]}},"fields":{"partyKey":{"type":"PubKey","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null},"SubscribeToCredentialMessagesResponse":{"fields":{"messages":{"rule":"repeated","type":"SignedMessage","id":1,"comment":null}},"comment":null},"SubscribeToFeedBlocksRequest":{"oneofs":{"_partyKey":{"oneof":["partyKey"]},"_feedKey":{"oneof":["feedKey"]},"_maxBlocks":{"oneof":["maxBlocks"]}},"fields":{"partyKey":{"type":"PubKey","id":1,"options":{"proto3_optional":true},"comment":null},"feedKey":{"type":"PubKey","id":2,"options":{"proto3_optional":true},"comment":null},"maxBlocks":{"type":"int32","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null},"SubscribeToFeedBlocksResponse":{"fields":{"blocks":{"rule":"repeated","type":"Block","id":1,"comment":null}},"nested":{"Block":{"fields":{"key":{"type":"bytes","id":1,"comment":null},"seq":{"type":"int32","id":2,"comment":null},"sync":{"type":"bool","id":3,"comment":null},"path":{"type":"string","id":4,"comment":null},"data":{"type":"FeedMessage","id":5,"comment":null}},"comment":null}},"comment":null},"SubscribeToFeedsRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"feedKeys":{"rule":"repeated","type":"PubKey","id":2,"comment":null}},"comment":null},"SubscribeToFeedsResponse":{"fields":{"feeds":{"rule":"repeated","type":"Feed","id":1,"comment":null}},"nested":{"Feed":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"length":{"type":"int32","id":2,"comment":null}},"comment":null}},"comment":null},"SubscribeToItemsRequest":{"fields":{},"comment":null},"SubscribeToItemsResponse":{"fields":{"data":{"type":"string","id":1,"comment":null}},"comment":null},"SubscribeToKeyringKeysRequest":{"fields":{},"comment":null},"SubscribeToKeyringKeysResponse":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"SubscribeToNetworkTopicsResponse":{"fields":{"topics":{"rule":"repeated","type":"Topic","id":1,"comment":null}},"nested":{"Topic":{"oneofs":{"_label":{"oneof":["label"]}},"fields":{"topic":{"type":"PubKey","id":1,"comment":null},"label":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null},"SubscribeToPartiesRequest":{"fields":{"partyKeys":{"rule":"repeated","type":"PubKey","id":1,"comment":null}},"comment":null},"SubscribeToPartiesResponse":{"fields":{"parties":{"rule":"repeated","type":"PartyInfo","id":1,"comment":null}},"nested":{"PartyInfo":{"fields":{"key":{"type":"PubKey","id":1,"comment":null},"isOpen":{"type":"bool","id":2,"comment":null},"isActive":{"type":"bool","id":3,"comment":null},"timeframe":{"type":"TimeframeVector","id":4,"comment":null},"feeds":{"rule":"repeated","type":"PubKey","id":5,"comment":null},"properties":{"keyType":"string","type":"string","id":6,"comment":null}},"comment":null}},"comment":null},"SubscribeToSignalStatusResponse":{"fields":{"servers":{"rule":"repeated","type":"SignalServer","id":1,"comment":null}},"nested":{"SignalServer":{"oneofs":{"_error":{"oneof":["error"]}},"fields":{"host":{"type":"string","id":1,"comment":null},"state":{"type":"string","id":2,"comment":null},"error":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"reconnectIn":{"type":"int32","id":4,"comment":null},"connectionStarted":{"type":"int32","id":5,"comment":null},"lastStateChange":{"type":"int32","id":6,"comment":null}},"comment":null}},"comment":null},"SubscribeToSignalTraceResponse":{"fields":{"events":{"rule":"repeated","type":"string","id":1,"comment":null}},"comment":null},"SubscribeToSwarmInfoRequest":{"fields":{},"comment":null},"SubscribeToSwarmInfoResponse":{"fields":{"data":{"rule":"repeated","type":"SwarmInfo","id":1,"comment":null}},"nested":{"SwarmInfo":{"oneofs":{"_label":{"oneof":["label"]}},"fields":{"id":{"type":"PubKey","id":1,"comment":null},"topic":{"type":"PubKey","id":2,"comment":null},"label":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"isActive":{"type":"bool","id":4,"comment":null},"connections":{"rule":"repeated","type":"ConnectionInfo","id":5,"comment":null}},"nested":{"ConnectionInfo":{"oneofs":{"_transport":{"oneof":["transport"]}},"fields":{"state":{"type":"string","id":1,"comment":null},"sessionId":{"type":"PubKey","id":2,"comment":null},"remotePeerId":{"type":"PubKey","id":3,"comment":null},"transport":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"protocolExtensions":{"rule":"repeated","type":"string","id":5,"comment":null},"events":{"rule":"repeated","type":"Json","id":6,"comment":null}},"nested":{"Json":{"oneofs":{"_data":{"oneof":["data"]}},"fields":{"data":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null}},"comment":null}},"comment":null}},"comment":null}},"comment":null},"TracingService":{"methods":{"SetTracingOptions":{"requestType":"SetTracingOptionsRequest","responseType":"google.protobuf.Empty","comment":null},"SubscribeToRpcTrace":{"requestType":"google.protobuf.Empty","responseType":"RpcMessage","responseStream":true,"comment":null}},"comment":null}}},"echo":{"nested":{"feed":{"nested":{"CredentialsMessage":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":"A container for dxos.credentials.Message"},"EchoEnvelope":{"oneofs":{"_genesis":{"oneof":["genesis"]},"_itemMutation":{"oneof":["itemMutation"]},"_mutation":{"oneof":["mutation"]},"_snapshot":{"oneof":["snapshot"]}},"fields":{"itemId":{"type":"string","id":1,"comment":null},"genesis":{"type":"ItemGenesis","id":10,"options":{"proto3_optional":true},"comment":null},"itemMutation":{"type":"ItemMutation","id":11,"options":{"proto3_optional":true},"comment":null},"mutation":{"type":"bytes","id":12,"options":{"proto3_optional":true},"comment":null},"snapshot":{"type":"ModelSnapshot","id":13,"options":{"proto3_optional":true},"comment":"Set the model to the provided snapshot."}},"comment":"Wrapper for all ECHO messages."},"FeedMessage":{"oneofs":{"payload":{"oneof":["halo","echo"],"comment":null}},"fields":{"timeframe":{"type":"TimeframeVector","id":1,"comment":null},"halo":{"type":"CredentialsMessage","id":10,"comment":null},"echo":{"type":"EchoEnvelope","id":11,"comment":null}},"comment":"Outer message type decoded by Codec.\\nThis is what is written to the feeds."},"ItemGenesis":{"oneofs":{"_itemType":{"oneof":["itemType"]},"_modelVersion":{"oneof":["modelVersion"]},"_link":{"oneof":["link"]}},"fields":{"itemType":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":2,"comment":null},"modelVersion":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null},"link":{"type":"LinkData","id":4,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ItemMutation":{"oneofs":{"_parentId":{"oneof":["parentId"]},"_action":{"oneof":["action"]}},"fields":{"parentId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"action":{"type":"Action","id":2,"options":{"proto3_optional":true},"comment":null}},"nested":{"Action":{"values":{"NOOP":0,"DELETE":1,"RESTORE":2},"comment":null,"comments":{"NOOP":null,"DELETE":null,"RESTORE":null}}},"comment":"Item mutation."},"LinkData":{"fields":{"source":{"type":"string","id":1,"comment":null},"target":{"type":"string","id":2,"comment":null}},"comment":null}}},"invitation":{"nested":{"InvitationDescriptor":{"oneofs":{"_identityKey":{"oneof":["identityKey"]},"_secret":{"oneof":["secret"]}},"fields":{"type":{"type":"Type","id":1,"comment":null},"swarmKey":{"type":"bytes","id":2,"comment":null},"invitation":{"type":"bytes","id":3,"comment":null},"identityKey":{"type":"bytes","id":4,"options":{"proto3_optional":true},"comment":"Only present if type == OFFLINE."},"secret":{"type":"bytes","id":5,"options":{"proto3_optional":true},"comment":"Must be stripped out when passing to another peer."}},"nested":{"Type":{"values":{"INTERACTIVE":1,"OFFLINE":2},"comment":"Defines an invitation type.","comments":{"INTERACTIVE":"Interactive invitation is when both peers are online at the same time.","OFFLINE":"Offline is when only a single peer needs to be online at the time."}}},"comment":null}}},"service":{"nested":{"DataService":{"methods":{"SubscribeEntitySet":{"requestType":"SubscribeEntitySetRequest","responseType":"SubscribeEntitySetResponse","responseStream":true,"comment":null},"SubscribeEntityStream":{"requestType":"SubscribeEntityStreamRequest","responseType":"SubscribeEntityStreamResponse","responseStream":true,"comment":null},"Write":{"requestType":"WriteRequest","responseType":"MutationReceipt","comment":null}},"comment":null},"MutationReceipt":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"seq":{"type":"int32","id":2,"comment":null}},"comment":null},"SubscribeEntitySetRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null}},"comment":null},"SubscribeEntitySetResponse":{"fields":{"added":{"rule":"repeated","type":"EchoEnvelope","id":1,"comment":null},"deleted":{"rule":"repeated","type":"EchoEnvelope","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"itemId":{"type":"string","id":2,"comment":null}},"comment":null},"SubscribeEntityStreamResponse":{"oneofs":{"kind":{"oneof":["snapshot","mutation"],"comment":null}},"fields":{"snapshot":{"type":"ItemSnapshot","id":1,"comment":null},"mutation":{"type":"Mutation","id":2,"comment":null}},"nested":{"Mutation":{"fields":{"data":{"type":"EchoEnvelope","id":1,"comment":null},"meta":{"type":"Metadata","id":2,"comment":null}},"nested":{"Metadata":{"fields":{"feedKey":{"type":"PubKey","id":1,"comment":null},"memberKey":{"type":"PubKey","id":2,"comment":null},"seq":{"type":"int32","id":3,"comment":null},"timeframe":{"type":"TimeframeVector","id":4,"comment":null}},"comment":null}},"comment":null}},"comment":null},"WriteRequest":{"fields":{"partyKey":{"type":"PubKey","id":1,"comment":null},"mutation":{"type":"EchoEnvelope","id":2,"comment":null}},"comment":null}}},"snapshot":{"nested":{"DatabaseSnapshot":{"fields":{"items":{"rule":"repeated","type":"ItemSnapshot","id":1,"comment":null},"links":{"rule":"repeated","type":"LinkSnapshot","id":2,"comment":null}},"comment":null},"HaloStateSnapshot":{"fields":{"messages":{"rule":"repeated","type":"dxos.CredentialsMessage","id":1,"comment":null}},"comment":null},"ItemSnapshot":{"oneofs":{"_itemId":{"oneof":["itemId"]},"_itemType":{"oneof":["itemType"]},"_modelVersion":{"oneof":["modelVersion"]},"_parentId":{"oneof":["parentId"]},"_model":{"oneof":["model"]}},"fields":{"itemId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"itemType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"parentId":{"type":"string","id":5,"options":{"proto3_optional":true},"comment":null},"model":{"type":"ModelSnapshot","id":6,"options":{"proto3_optional":true},"comment":null}},"comment":null},"LinkSnapshot":{"oneofs":{"_linkId":{"oneof":["linkId"]},"_linkType":{"oneof":["linkType"]},"_modelVersion":{"oneof":["modelVersion"]},"_model":{"oneof":["model"]}},"fields":{"linkId":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"linkType":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"modelType":{"type":"string","id":3,"comment":null},"modelVersion":{"type":"string","id":4,"options":{"proto3_optional":true},"comment":null},"source":{"rule":"required","type":"string","id":5,"comment":null},"target":{"rule":"required","type":"string","id":6,"comment":null},"model":{"type":"ModelSnapshot","id":7,"options":{"proto3_optional":true},"comment":null}},"comment":null},"ModelMutation":{"fields":{"mutation":{"rule":"required","type":"bytes","id":1,"comment":null},"meta":{"rule":"required","type":"ModelMutationMeta","id":2,"comment":null}},"comment":null},"ModelMutationMeta":{"fields":{"feedKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":1,"comment":null},"seq":{"rule":"required","type":"int32","id":2,"comment":null},"memberKey":{"rule":"required","type":"dxos.halo.keys.PubKey","id":3,"comment":null}},"comment":null},"ModelSnapshot":{"oneofs":{"_snapshot":{"oneof":["snapshot"]}},"fields":{"snapshot":{"type":"bytes","id":1,"options":{"proto3_optional":true},"comment":"Encoded model snapshot (defined by the model\'s codec).\\nIf undefined the state machine will be initialized with it\'s default state."},"mutations":{"rule":"repeated","type":"ModelMutation","id":2,"comment":"Mutations to be applied on top of the snapshot, or on top of initial state if the snapshot is undefined."}},"comment":null},"PartySnapshot":{"oneofs":{"_timeframe":{"oneof":["timeframe"]},"_timestamp":{"oneof":["timestamp"]}},"fields":{"partyKey":{"type":"bytes","id":1,"comment":null},"timeframe":{"type":"TimeframeVector","id":2,"options":{"proto3_optional":true},"comment":null},"timestamp":{"type":"int32","id":3,"options":{"proto3_optional":true},"comment":null},"halo":{"type":"HaloStateSnapshot","id":11,"comment":null},"database":{"type":"DatabaseSnapshot","id":12,"comment":null}},"comment":null}}},"timeframe":{"nested":{"TimeframeVector":{"fields":{"frames":{"rule":"repeated","type":"Frame","id":1,"comment":null}},"nested":{"Frame":{"fields":{"feedKey":{"type":"bytes","id":1,"comment":null},"seq":{"type":"int32","id":3,"comment":null}},"comment":null}},"comment":"Vector timestamp used to order messages."}}}}},"halo":{"nested":{"keys":{"nested":{"KeyChain":{"fields":{"publicKey":{"rule":"required","type":"PubKey","id":1,"comment":null},"message":{"rule":"required","type":"SignedMessage","id":2,"comment":null},"parents":{"rule":"repeated","type":"KeyChain","id":3,"comment":null}},"comment":null},"KeyRecord":{"oneofs":{"_secretKey":{"oneof":["secretKey"]},"_hint":{"oneof":["hint"]},"_own":{"oneof":["own"]},"_trusted":{"oneof":["trusted"]},"_added":{"oneof":["added"]},"_created":{"oneof":["created"]}},"fields":{"type":{"rule":"required","type":"KeyType","id":1,"comment":"The `KeyType` type of the key. This is often unknown for keys from other sources."},"publicKey":{"rule":"required","type":"PubKey","id":2,"comment":"The public key as a Buffer (required)."},"secretKey":{"type":"PrivKey","id":3,"options":{"proto3_optional":true},"comment":"The secret key as a Buffer (this will never be visible outside the Keyring)."},"hint":{"type":"bool","id":4,"options":{"proto3_optional":true},"comment":"Is this key from a Greeting \\"hint\\"?"},"own":{"type":"bool","id":5,"options":{"proto3_optional":true},"comment":"Determines if this is our key?\\nUsually true if `secretKey` is present; may be false for \\"inception keys\\" such as the Party key."},"trusted":{"type":"bool","id":6,"options":{"proto3_optional":true},"comment":"Is this key to be trusted?"},"added":{"type":"string","id":7,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was added to the Keyring."},"created":{"type":"string","id":8,"options":{"proto3_optional":true},"comment":"An RFC-3339 date/time string for when the key was created."}},"comment":null},"KeyRecordList":{"fields":{"keys":{"rule":"repeated","type":"KeyRecord","id":1,"comment":null}},"comment":null},"KeyType":{"values":{"UNKNOWN":0,"IDENTITY":1,"DEVICE":2,"PARTY":3,"FEED":4,"DXNS_ADDRESS":5},"comment":null,"comments":{"UNKNOWN":null,"IDENTITY":null,"DEVICE":null,"PARTY":null,"FEED":null,"DXNS_ADDRESS":null}},"PrivKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null},"PubKey":{"fields":{"data":{"type":"bytes","id":1,"comment":null}},"comment":null}}}}},"rpc":{"options":{"go_package":"github.com/dxos/kube/go/dxrpc/pb"},"nested":{"Error":{"oneofs":{"_name":{"oneof":["name"]},"_message":{"oneof":["message"]},"_stack":{"oneof":["stack"]}},"fields":{"name":{"type":"string","id":1,"options":{"proto3_optional":true},"comment":null},"message":{"type":"string","id":2,"options":{"proto3_optional":true},"comment":null},"stack":{"type":"string","id":3,"options":{"proto3_optional":true},"comment":null}},"comment":null},"MessageTrace":{"fields":{"direction":{"type":"Direction","id":1,"comment":null},"data":{"type":"bytes","id":2,"comment":null}},"nested":{"Direction":{"values":{"INCOMING":0,"OUTGOING":1},"comment":null,"comments":{"INCOMING":null,"OUTGOING":null}}},"comment":null},"Request":{"fields":{"id":{"type":"int32","id":1,"comment":null},"method":{"type":"string","id":2,"comment":null},"payload":{"type":"google.protobuf.Any","id":3,"comment":null},"stream":{"type":"bool","id":4,"comment":null}},"comment":null},"Response":{"oneofs":{"content":{"oneof":["payload","error","close","streamReady"],"comment":null}},"fields":{"id":{"type":"int32","id":1,"comment":null},"payload":{"type":"google.protobuf.Any","id":2,"comment":null},"error":{"type":"Error","id":3,"comment":null},"close":{"type":"bool","id":4,"comment":"Sent when stream is closed without an error."},"streamReady":{"type":"bool","id":5,"comment":"Sent when the server has processed a request with a streaming response.\\n\\nCan be skipped by the server.\\nIn this case the first payload should be treated as the server being ready."}},"comment":null},"RpcMessage":{"oneofs":{"content":{"oneof":["request","response","open","openAck","streamClose"],"comment":null}},"fields":{"request":{"type":"Request","id":1,"comment":null},"response":{"type":"Response","id":2,"comment":null},"open":{"type":"bool","id":3,"comment":"Means that the node is trying to open the connection."},"openAck":{"type":"bool","id":4,"comment":"Means that the node has received the \\"open\\" message and is ready to perform requests."},"streamClose":{"type":"StreamClose","id":5,"comment":null}},"comment":null},"StreamClose":{"fields":{"id":{"type":"int32","id":1,"comment":null}},"comment":null}}}}},"google":{"nested":{"protobuf":{"nested":{"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}},"comment":null},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}},"comment":null},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}},"comment":null}},"comment":null},"Empty":{"fields":{},"comment":null},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3}},"comment":null},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}},"comment":null},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8}},"nested":{"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REQUIRED":2,"LABEL_REPEATED":3},"comments":{}},"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18},"comments":{}}},"comment":null},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5},"deprecated":{"type":"bool","id":3},"weak":{"type":"bool","id":10},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"reserved":[[4,4]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2},"comments":{}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2},"comments":{}}},"comment":null},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12}},"comment":null},"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}},"comment":null},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16},"javaGenericServices":{"type":"bool","id":17},"pyGenericServices":{"type":"bool","id":18},"deprecated":{"type":"bool","id":23},"ccEnableArenas":{"type":"bool","id":31},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"reserved":[[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3},"comments":{}}},"comment":null},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4}},"comment":null}},"comment":null},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1},"noStandardDescriptorAccessor":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3},"mapEntry":{"type":"bool","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"reserved":[[8,8]],"comment":null},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5},"serverStreaming":{"type":"bool","id":6}},"comment":null},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}},"comment":null},"OneofOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}},"comment":null},"ServiceOptions":{"fields":{"deprecated":{"type":"bool","id":33},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1000,536870911]],"comment":null},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}},"comment":null}},"comment":null},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}},"comment":null},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}},"comment":null}},"comment":null}}}}}}}');
96915
97018
  var schema = import_codec_protobuf6.Schema.fromJson(schemaJson, substitutions_default);
96916
97019
 
96917
97020
  // src/services/client-service.ts