@science-corporation/synapse 0.10.0 → 0.12.0

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 (131) hide show
  1. package/README.md +40 -18
  2. package/dist/api/api.d.ts +3186 -1788
  3. package/dist/api/api.js +9243 -6074
  4. package/dist/api/api.js.map +1 -1
  5. package/dist/api/proto.json +273 -77
  6. package/dist/api-science-device/api.d.ts +3 -0
  7. package/dist/api-science-device/api.d.ts.map +1 -0
  8. package/dist/api-science-device/api.js +3822 -0
  9. package/dist/api-science-device/api.js.map +1 -0
  10. package/dist/api-science-device/proto.json +258 -0
  11. package/dist/browser.d.ts +4 -0
  12. package/dist/browser.d.ts.map +1 -0
  13. package/dist/browser.js +22 -0
  14. package/dist/browser.js.map +1 -0
  15. package/dist/config.d.ts +5 -4
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +25 -17
  18. package/dist/config.js.map +1 -1
  19. package/dist/demo.js +42 -38
  20. package/dist/demo.js.map +1 -1
  21. package/dist/device.d.ts +20 -8
  22. package/dist/device.d.ts.map +1 -1
  23. package/dist/device.js +66 -23
  24. package/dist/device.js.map +1 -1
  25. package/dist/index.d.ts +4 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +5 -3
  28. package/dist/index.js.map +1 -1
  29. package/dist/nodejs.d.ts +8 -0
  30. package/dist/nodejs.d.ts.map +1 -0
  31. package/dist/nodejs.js +32 -0
  32. package/dist/nodejs.js.map +1 -0
  33. package/dist/nodes/broadband_source.d.ts +11 -0
  34. package/dist/nodes/broadband_source.d.ts.map +1 -0
  35. package/dist/nodes/{optical_broadband.js → broadband_source.js} +9 -9
  36. package/dist/nodes/broadband_source.js.map +1 -0
  37. package/dist/nodes/index.d.ts +3 -2
  38. package/dist/nodes/index.d.ts.map +1 -1
  39. package/dist/nodes/index.js +5 -5
  40. package/dist/nodes/index.js.map +1 -1
  41. package/dist/nodes/spike_source.d.ts +11 -0
  42. package/dist/nodes/spike_source.d.ts.map +1 -0
  43. package/dist/nodes/{electrical_broadband.js → spike_source.js} +9 -9
  44. package/dist/nodes/spike_source.js.map +1 -0
  45. package/dist/nodes/stream_in.js +1 -1
  46. package/dist/nodes/stream_in.js.map +1 -1
  47. package/dist/nodes/stream_out.d.ts +2 -2
  48. package/dist/nodes/stream_out.d.ts.map +1 -1
  49. package/dist/nodes/stream_out.js +2 -2
  50. package/dist/nodes/stream_out.js.map +1 -1
  51. package/dist/science-device-api/api.d.ts +3 -0
  52. package/dist/science-device-api/api.d.ts.map +1 -0
  53. package/dist/science-device-api/api.js +3822 -0
  54. package/dist/science-device-api/api.js.map +1 -0
  55. package/dist/types/index.d.ts +3 -0
  56. package/dist/types/index.d.ts.map +1 -0
  57. package/dist/types/index.js +19 -0
  58. package/dist/types/index.js.map +1 -0
  59. package/dist/types.d.ts +5 -0
  60. package/dist/types.d.ts.map +1 -0
  61. package/dist/types.js +19 -0
  62. package/dist/types.js.map +1 -0
  63. package/dist/utils/client.d.ts +8 -1
  64. package/dist/utils/client.d.ts.map +1 -1
  65. package/dist/utils/client.js +30 -16
  66. package/dist/utils/client.js.map +1 -1
  67. package/dist/utils/device-management.d.ts +37 -0
  68. package/dist/utils/device-management.d.ts.map +1 -0
  69. package/dist/utils/device-management.js +126 -0
  70. package/dist/utils/device-management.js.map +1 -0
  71. package/dist/utils/discover.d.ts +3 -8
  72. package/dist/utils/discover.d.ts.map +1 -1
  73. package/dist/utils/discover.js +17 -32
  74. package/dist/utils/discover.js.map +1 -1
  75. package/dist/utils/enum.d.ts +1 -1
  76. package/dist/utils/enum.d.ts.map +1 -1
  77. package/dist/utils/enum.js.map +1 -1
  78. package/dist/utils/index.d.ts +1 -1
  79. package/dist/utils/index.d.ts.map +1 -1
  80. package/dist/utils/index.js +3 -0
  81. package/dist/utils/index.js.map +1 -1
  82. package/dist/utils/status.d.ts +28 -0
  83. package/dist/utils/status.d.ts.map +1 -0
  84. package/dist/utils/status.js +54 -0
  85. package/dist/utils/status.js.map +1 -0
  86. package/package.json +31 -5
  87. package/scripts/postinstall.sh +95 -0
  88. package/src/api/api.d.ts +3186 -1788
  89. package/src/api/api.js +9640 -6257
  90. package/src/api/proto.json +273 -77
  91. package/src/browser.ts +4 -0
  92. package/src/config.ts +31 -20
  93. package/src/demo.ts +43 -33
  94. package/src/device.ts +83 -36
  95. package/src/index.ts +5 -2
  96. package/src/nodes/broadband_source.ts +30 -0
  97. package/src/nodes/index.ts +4 -2
  98. package/src/nodes/spike_source.ts +30 -0
  99. package/src/nodes/stream_in.ts +1 -1
  100. package/src/nodes/stream_out.ts +4 -4
  101. package/src/utils/client.ts +38 -13
  102. package/src/utils/discover.ts +25 -45
  103. package/src/utils/enum.ts +1 -1
  104. package/src/utils/index.ts +1 -1
  105. package/src/utils/status.ts +57 -0
  106. package/synapse-api/.github/workflows/proto-check.yaml +33 -0
  107. package/synapse-api/README.md +1 -1
  108. package/synapse-api/api/logging.proto +44 -0
  109. package/synapse-api/api/node.proto +9 -9
  110. package/synapse-api/api/nodes/broadband_source.proto +20 -0
  111. package/synapse-api/api/nodes/signal_config.proto +22 -0
  112. package/synapse-api/api/nodes/signal_status.proto +18 -0
  113. package/synapse-api/api/nodes/spectral_filter.proto +0 -1
  114. package/synapse-api/api/nodes/spike_source.proto +15 -0
  115. package/synapse-api/api/query.proto +19 -0
  116. package/synapse-api/api/synapse.proto +5 -2
  117. package/synapse-api/build.sh +17 -0
  118. package/dist/channel_mask.d.ts +0 -7
  119. package/dist/channel_mask.d.ts.map +0 -1
  120. package/dist/channel_mask.js +0 -14
  121. package/dist/channel_mask.js.map +0 -1
  122. package/dist/nodes/electrical_broadband.d.ts +0 -11
  123. package/dist/nodes/electrical_broadband.d.ts.map +0 -1
  124. package/dist/nodes/electrical_broadband.js.map +0 -1
  125. package/dist/nodes/optical_broadband.d.ts +0 -11
  126. package/dist/nodes/optical_broadband.d.ts.map +0 -1
  127. package/dist/nodes/optical_broadband.js.map +0 -1
  128. package/src/nodes/electrical_broadband.ts +0 -30
  129. package/src/nodes/optical_broadband.ts +0 -30
  130. package/synapse-api/api/nodes/electrical_broadband.proto +0 -19
  131. package/synapse-api/api/nodes/optical_broadband.proto +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/science-device-api/api.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "../api/api";
2
+ export * from "../api-science-device/api";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../api/api"), exports);
18
+ __exportStar(require("../api-science-device/api"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4DAA0C"}
@@ -0,0 +1,5 @@
1
+ export * from "./api/api";
2
+ export * from "./api-science-device/api";
3
+ export type { CallOptions } from "./utils/client";
4
+ export type { Status, IStatus } from "./utils/status";
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./api/api"), exports);
18
+ __exportStar(require("./api-science-device/api"), exports);
19
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2DAAyC"}
@@ -1,3 +1,10 @@
1
1
  import { ChannelCredentials, ChannelOptions } from "@grpc/grpc-js";
2
- export declare const create: (address: string, credentials: ChannelCredentials, options?: ChannelOptions) => any;
2
+ import { Status } from "./status";
3
+ export interface CallOptions {
4
+ deadline?: Date;
5
+ }
6
+ export declare const create: (protoJson: object, serviceName: string) => (address: string, credentials: ChannelCredentials, options?: ChannelOptions) => {
7
+ status: Status;
8
+ client?: any;
9
+ };
3
10
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAyB,MAAM,eAAe,CAAC;AAiB1F,eAAO,MAAM,MAAM,YAAa,MAAM,eAAe,kBAAkB,YAAY,cAAc,QAEhG,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAyB,MAAM,eAAe,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAc,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AA6BD,eAAO,MAAM,MAAM,cACL,MAAM,eAAe,MAAM,eAC7B,MAAM,eAAe,kBAAkB,YAAY,cAAc,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAO3G,CAAC"}
@@ -1,25 +1,39 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.create = void 0;
7
4
  const grpc_js_1 = require("@grpc/grpc-js");
8
5
  const proto_loader_1 = require("@grpc/proto-loader");
9
- const proto_json_1 = __importDefault(require("../api/proto.json"));
10
- const loadClient = () => {
11
- const definition = (0, proto_loader_1.fromJSON)(proto_json_1.default, {
12
- keepCase: false,
13
- arrays: true,
14
- enums: Number,
15
- defaults: true,
16
- oneofs: true,
17
- });
18
- const descriptor = (0, grpc_js_1.loadPackageDefinition)(definition);
19
- return descriptor.synapse.SynapseDevice;
6
+ const status_1 = require("./status");
7
+ const pick = (obj, path) => {
8
+ return path.split(".").reduce((acc, part) => (acc && acc[part]) || null, obj);
9
+ };
10
+ const loadClient = (protoJson, serviceName) => {
11
+ try {
12
+ const definition = (0, proto_loader_1.fromJSON)(protoJson, {
13
+ keepCase: false,
14
+ arrays: true,
15
+ enums: Number,
16
+ defaults: true,
17
+ oneofs: true,
18
+ });
19
+ const descriptor = (0, grpc_js_1.loadPackageDefinition)(definition);
20
+ const service = pick(descriptor, serviceName);
21
+ if (!service) {
22
+ return { status: new status_1.Status(status_1.StatusCode.INTERNAL, `service ${serviceName} not found in proto definition`) };
23
+ }
24
+ return { status: new status_1.Status(status_1.StatusCode.OK), factory: service };
25
+ }
26
+ catch (error) {
27
+ return { status: new status_1.Status(status_1.StatusCode.INTERNAL, "failed to load proto definition: " + error) };
28
+ }
20
29
  };
21
- const create = (address, credentials, options) => {
22
- return new (loadClient())(address, credentials, options);
30
+ const create = (protoJson, serviceName) => (address, credentials, options) => {
31
+ const { status, factory } = loadClient(protoJson, serviceName);
32
+ if (!status.ok()) {
33
+ return { status };
34
+ }
35
+ const client = new factory(address, credentials, options);
36
+ return { status, client };
23
37
  };
24
38
  exports.create = create;
25
39
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA0F;AAC1F,qDAA8C;AAE9C,mEAA0C;AAE1C,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,MAAM,UAAU,GAAG,IAAA,uBAAQ,EAAC,oBAAgB,EAAE;QAC5C,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,UAAiB,CAAC,CAAC;IAC5D,OAAQ,UAAU,CAAC,OAAe,CAAC,aAAa,CAAC;AACnD,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,WAA+B,EAAE,OAAwB,EAAE,EAAE;IACnG,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":";;;AAAA,2CAA0F;AAC1F,qDAA8C;AAC9C,qCAA8C;AAM9C,MAAM,IAAI,GAAG,CAAC,GAAQ,EAAE,IAAY,EAAE,EAAE;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,WAAmB,EAAqC,EAAE;IAC/F,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,uBAAQ,EAAC,SAAgB,EAAE;YAC5C,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,UAAiB,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,IAAI,eAAM,CAAC,mBAAU,CAAC,QAAQ,EAAE,WAAW,WAAW,gCAAgC,CAAC,EAAE,CAAC;QAC7G,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,eAAM,CAAC,mBAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,IAAI,eAAM,CAAC,mBAAU,CAAC,QAAQ,EAAE,mCAAmC,GAAG,KAAK,CAAC,EAAE,CAAC;IAClG,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,MAAM,GACjB,CAAC,SAAiB,EAAE,WAAmB,EAAE,EAAE,CAC3C,CAAC,OAAe,EAAE,WAA+B,EAAE,OAAwB,EAAoC,EAAE;IAC/G,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC;AATS,QAAA,MAAM,UASf"}
@@ -0,0 +1,37 @@
1
+ import { Channel } from "@grpc/grpc-js";
2
+ import { science } from "../api-science-device/api";
3
+ import { CallOptions } from "./client";
4
+ import { Status } from "./status";
5
+ declare class DeviceManager {
6
+ uri: string;
7
+ rpc_auth: any | null;
8
+ rpc_update: any | null;
9
+ channel: Channel | null;
10
+ constructor(uri: string);
11
+ authenticateDevice(request: science.IDeviceAuthenticationRequest, options?: CallOptions): Promise<{
12
+ status: Status;
13
+ response?: science.DeviceAuthenticationResponse;
14
+ }>;
15
+ listKeys(request: science.IListKeysRequest, options?: CallOptions): Promise<{
16
+ status: Status;
17
+ response?: science.ListKeysResponse;
18
+ }>;
19
+ revokeKey(request: science.IRevokeKeyRequest, options?: CallOptions): Promise<{
20
+ status: Status;
21
+ response?: science.RevokeKeyResponse;
22
+ }>;
23
+ listPackages(request: science.IListPackagesRequest, options?: CallOptions): Promise<{
24
+ status: Status;
25
+ response?: science.ListPackagesResponse;
26
+ }>;
27
+ updatePackages(request: science.IUpdatePackagesRequest, options?: CallOptions): Promise<{
28
+ status: Status;
29
+ response?: science.UpdateResult;
30
+ }>;
31
+ uploadPackage(request: science.IUpdatePackageChunk, options?: CallOptions): Promise<{
32
+ status: Status;
33
+ response?: science.UpdateResult;
34
+ }>;
35
+ }
36
+ export default DeviceManager;
37
+ //# sourceMappingURL=device-management.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-management.d.ts","sourceRoot":"","sources":["../../src/utils/device-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA6B,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAU,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,cAAM,aAAa;IAKE,GAAG,EAAE,MAAM;IAJ9B,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAQ;IAC5B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAQ;IAC9B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;gBAEZ,GAAG,EAAE,MAAM;IAsBxB,kBAAkB,CACtB,OAAO,EAAE,OAAO,CAAC,4BAA4B,EAC7C,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAA;KAAE,CAAC;IAgBzE,QAAQ,CACZ,OAAO,EAAE,OAAO,CAAC,gBAAgB,EACjC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAA;KAAE,CAAC;IAY7D,SAAS,CACb,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAClC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAA;KAAE,CAAC;IAc9D,YAAY,CAChB,OAAO,EAAE,OAAO,CAAC,oBAAoB,EACrC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAA;KAAE,CAAC;IAYjE,cAAc,CAClB,OAAO,EAAE,OAAO,CAAC,sBAAsB,EACvC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,CAAA;KAAE,CAAC;IAYzD,aAAa,CACjB,OAAO,EAAE,OAAO,CAAC,mBAAmB,EACpC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,CAAA;KAAE,CAAC;CAWhE;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const grpc_js_1 = require("@grpc/grpc-js");
16
+ const proto_json_1 = __importDefault(require("../api-science-device/proto.json"));
17
+ const client_1 = require("./client");
18
+ const status_1 = require("./status");
19
+ const kDeviceAuthService = "science.DeviceAuthService";
20
+ const kDeviceUpdateService = "science.SynapseUpdate";
21
+ class DeviceManager {
22
+ constructor(uri) {
23
+ this.uri = uri;
24
+ this.rpc_auth = null;
25
+ this.rpc_update = null;
26
+ this.channel = null;
27
+ const { status: statusAuth, client: clientAuth } = (0, client_1.create)(proto_json_1.default, kDeviceAuthService)(uri, grpc_js_1.credentials.createInsecure());
28
+ if (!statusAuth.ok() || !clientAuth) {
29
+ throw new Error(`Failed to create client for ${uri}: ${statusAuth.message}`);
30
+ }
31
+ this.rpc_auth = clientAuth;
32
+ const { status: statusUpdate, client: clientUpdate } = (0, client_1.create)(proto_json_1.default, kDeviceUpdateService)(uri, grpc_js_1.credentials.createInsecure());
33
+ if (!statusUpdate.ok() || !clientUpdate) {
34
+ throw new Error(`Failed to create client for ${uri}: ${statusUpdate.message}`);
35
+ }
36
+ this.rpc_update = clientUpdate;
37
+ }
38
+ // Authentication
39
+ authenticateDevice(request, options) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ return new Promise((resolve, reject) => {
42
+ this.rpc_auth.authenticateDevice(request, options, (err, response) => {
43
+ if (err) {
44
+ reject(err);
45
+ }
46
+ else {
47
+ resolve({ status: new status_1.Status(), response });
48
+ }
49
+ });
50
+ });
51
+ });
52
+ }
53
+ listKeys(request, options) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ return new Promise((resolve, reject) => {
56
+ this.rpc_auth.listKeys(request, options, (err, response) => {
57
+ if (err) {
58
+ reject(err);
59
+ }
60
+ else {
61
+ resolve({ status: new status_1.Status(), response });
62
+ }
63
+ });
64
+ });
65
+ });
66
+ }
67
+ revokeKey(request, options) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return new Promise((resolve, reject) => {
70
+ this.rpc_auth.revokeKey(request, options, (err, response) => {
71
+ if (err) {
72
+ reject(err);
73
+ }
74
+ else {
75
+ resolve({ status: new status_1.Status(), response });
76
+ }
77
+ });
78
+ });
79
+ });
80
+ }
81
+ // Update
82
+ listPackages(request, options) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ return new Promise((resolve, reject) => {
85
+ this.rpc_update.listPackages(request, options, (err, response) => {
86
+ if (err) {
87
+ reject(err);
88
+ }
89
+ else {
90
+ resolve({ status: new status_1.Status(), response });
91
+ }
92
+ });
93
+ });
94
+ });
95
+ }
96
+ updatePackages(request, options) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ return new Promise((resolve, reject) => {
99
+ this.rpc_update.updatePackages(request, options, (err, response) => {
100
+ if (err) {
101
+ reject(err);
102
+ }
103
+ else {
104
+ resolve({ status: new status_1.Status(), response });
105
+ }
106
+ });
107
+ });
108
+ });
109
+ }
110
+ uploadPackage(request, options) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ return new Promise((resolve, reject) => {
113
+ this.rpc_update.uploadPackage(request, options, (err, response) => {
114
+ if (err) {
115
+ reject(err);
116
+ }
117
+ else {
118
+ resolve({ status: new status_1.Status(), response });
119
+ }
120
+ });
121
+ });
122
+ });
123
+ }
124
+ }
125
+ exports.default = DeviceManager;
126
+ //# sourceMappingURL=device-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-management.js","sourceRoot":"","sources":["../../src/utils/device-management.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,10 @@
1
- interface DiscoverArgs {
1
+ interface DeviceInfo {
2
2
  host: string;
3
3
  port: number;
4
- timeoutMs?: number;
5
- }
6
- declare class DeviceAdvertisement {
7
- host: string;
8
- port: number;
9
- serial: string;
10
4
  capability: string;
11
5
  name: string;
6
+ serial: string;
12
7
  }
13
- export declare const discover: (args?: DiscoverArgs) => Promise<DeviceAdvertisement[]>;
8
+ export declare const discover: (timeoutMs?: number) => Promise<DeviceInfo[]>;
14
9
  export {};
15
10
  //# sourceMappingURL=discover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/utils/discover.ts"],"names":[],"mappings":"AAIA,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,cAAM,mBAAmB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD,eAAO,MAAM,QAAQ,2BAAkC,OAAO,CAAC,mBAAmB,EAAE,CAyDnF,CAAC"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/utils/discover.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,0BAAuB,OAAO,CAAC,UAAU,EAAE,CAiD/D,CAAC"}
@@ -5,59 +5,44 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.discover = void 0;
7
7
  const dgram_1 = __importDefault(require("dgram"));
8
- const kDefaultTimeout = 3000;
9
- class DeviceAdvertisement {
10
- }
11
- const kDefaultDiscoverArgs = {
12
- host: "224.0.0.245",
13
- port: 6470,
14
- timeoutMs: kDefaultTimeout,
15
- };
16
- const discover = (args = kDefaultDiscoverArgs) => {
8
+ const BROADCAST_PORT = 6470;
9
+ const discover = (timeoutMs = 1000) => {
17
10
  return new Promise((resolve, reject) => {
18
11
  const devices = [];
19
- const socket = dgram_1.default.createSocket("udp4");
12
+ const socket = dgram_1.default.createSocket({ type: "udp4", reuseAddr: true });
13
+ socket.bind(BROADCAST_PORT);
20
14
  socket.on("message", (msg, rinfo) => {
21
- const server = `${rinfo.address}:${rinfo.port}`;
22
15
  const message = msg.toString("ascii");
23
16
  const split = message.split(" ");
24
- if (split.length < 5) {
25
- return;
26
- }
27
- if (split[0] !== "ID") {
17
+ if (split[0] !== "ID" || split.length !== 5) {
28
18
  return;
29
19
  }
30
- const host = rinfo.address;
31
- const [_, serial, capability, portstr, name] = split;
32
- const port = parseInt(portstr);
20
+ const [, serial, capability, portStr, name] = split;
21
+ const port = parseInt(portStr);
33
22
  if (isNaN(port)) {
34
23
  return;
35
24
  }
36
- const service = capability.split(/(\d+)/)[0];
37
- if (service !== "SYN") {
38
- return;
39
- }
40
- devices.push({
41
- host,
25
+ const deviceInfo = {
26
+ host: rinfo.address,
42
27
  port,
43
- serial,
44
28
  capability,
45
29
  name,
46
- });
47
- });
48
- const payload = Buffer.from(`DISCOVER`, "ascii");
49
- socket.send(payload, 0, payload.length, args.port, args.host, () => {
50
- if (!args.timeoutMs) {
51
- return;
30
+ serial,
31
+ };
32
+ if (!devices.find((d) => d.host === deviceInfo.host && d.port === deviceInfo.port && d.serial === deviceInfo.serial)) {
33
+ devices.push(deviceInfo);
52
34
  }
53
- setTimeout(() => socket.close(), kDefaultTimeout);
54
35
  });
55
36
  socket.on("error", (err) => {
37
+ socket.close();
56
38
  reject(err);
57
39
  });
58
40
  socket.on("close", () => {
59
41
  resolve(devices);
60
42
  });
43
+ setTimeout(() => {
44
+ socket.close();
45
+ }, timeoutMs);
61
46
  });
62
47
  };
63
48
  exports.discover = discover;