@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
package/README.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  This repo contains the Node client for the [Synapse API](https://science.xyz/technologies/synapse). More information about the API can be found in the [docs](https://science.xyz/docs/d/synapse/index).
4
4
 
5
+ ## Installation
6
+
7
+ ```sh
8
+ npm i @science-corporation/synapse
9
+ ```
10
+
11
+ ```typescript
12
+ import { Config, Device, StreamOut, BroadbandSource } from "@science-corporation/synapse";
13
+ ```
14
+
15
+ This repo wraps a gRPC client and so is not compatible with browser environments. However, utils and types may still be used in browser contexts with the `browser` export.
16
+
17
+ ```typescript
18
+ import { Status, StatusCode, BroadbandSource, StreamOut } from "@science-corporation/synapse/browser";
19
+ ```
20
+
5
21
  ## Building
6
22
 
7
23
  ### Prerequisites
@@ -18,39 +34,45 @@ To build:
18
34
  ## Writing clients
19
35
 
20
36
  ```typescript
21
- import { Config, Device, StreamOut, ElectricalBroadband } from "@science-corporation/synapse";
37
+ import { Config, Device, StreamOut, BroadbandSource } from "@science-corporation/synapse";
22
38
 
23
39
  const device = new Device("127.0.0.1:647");
24
40
  const info = await device.info();
25
41
 
26
42
  console.log("Device info: ", info);
27
43
 
28
- const streamOut = new StreamOut({
29
- multicastGroup: "239.0.0.1",
30
- onMessage: (msg: Buffer) => {
31
- console.log("StreamOut | recv: ", msg);
44
+ const streamOut = new StreamOut(
45
+ {
46
+ multicastGroup: "224.0.0.1",
32
47
  },
33
- });
48
+ (msg: Buffer) => {
49
+ console.log("StreamOut | recv: ", msg);
50
+ }
51
+ );
34
52
 
35
- const eBroadband = new ElectricalBroadband({
53
+ const broadband = new BroadbandSource({
36
54
  peripheralId: 1,
37
- channels: [
38
- { id: 0, electrodeId: 0, referenceId: 1 },
39
- { id: 1, electrodeId: 2, referenceId: 3 },
40
- { id: 2, electrodeId: 4, referenceId: 5 },
41
- // ...
42
- ],
43
- sampleRate: 30000,
55
+ sampleRateHz: 30000,
44
56
  bitWidth: 12,
45
57
  gain: 20.0,
46
- lowCutoffHz: 500.0,
47
- highCutoffHz: 6000.0,
58
+ signal: {
59
+ electrode: {
60
+ channels: [
61
+ { id: 0, electrodeId: 0, referenceId: 1 },
62
+ { id: 1, electrodeId: 2, referenceId: 3 },
63
+ { id: 2, electrodeId: 4, referenceId: 5 },
64
+ // ...
65
+ ],
66
+ lowCutoffHz: 500.0,
67
+ highCutoffHz: 6000.0,
68
+ },
69
+ },
48
70
  });
49
71
 
50
72
  const config = new Config();
51
73
  config.addNode(streamOut);
52
- config.addNode(eBroadband);
53
- config.connect(eBroadband, streamOut);
74
+ config.addNode(broadband);
75
+ config.connect(broadband, streamOut);
54
76
 
55
77
  await device.configure(config);
56
78
  await device.start();