@science-corporation/synapse 0.9.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 (138) hide show
  1. package/README.md +40 -18
  2. package/dist/api/api.d.ts +3881 -1739
  3. package/dist/api/api.js +10023 -5111
  4. package/dist/api/api.js.map +1 -1
  5. package/dist/api/proto.json +370 -63
  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 -5
  22. package/dist/device.d.ts.map +1 -1
  23. package/dist/device.js +75 -27
  24. package/dist/device.js.map +1 -1
  25. package/dist/index.d.ts +3 -1
  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.d.ts +0 -4
  46. package/dist/nodes/stream_in.d.ts.map +1 -1
  47. package/dist/nodes/stream_in.js +1 -1
  48. package/dist/nodes/stream_in.js.map +1 -1
  49. package/dist/nodes/stream_out.d.ts +2 -2
  50. package/dist/nodes/stream_out.d.ts.map +1 -1
  51. package/dist/nodes/stream_out.js +2 -2
  52. package/dist/nodes/stream_out.js.map +1 -1
  53. package/dist/science-device-api/api.d.ts +3 -0
  54. package/dist/science-device-api/api.d.ts.map +1 -0
  55. package/dist/science-device-api/api.js +3822 -0
  56. package/dist/science-device-api/api.js.map +1 -0
  57. package/dist/types/index.d.ts +3 -0
  58. package/dist/types/index.d.ts.map +1 -0
  59. package/dist/types/index.js +19 -0
  60. package/dist/types/index.js.map +1 -0
  61. package/dist/types.d.ts +5 -0
  62. package/dist/types.d.ts.map +1 -0
  63. package/dist/types.js +19 -0
  64. package/dist/types.js.map +1 -0
  65. package/dist/utils/client.d.ts +8 -1
  66. package/dist/utils/client.d.ts.map +1 -1
  67. package/dist/utils/client.js +30 -16
  68. package/dist/utils/client.js.map +1 -1
  69. package/dist/utils/device-management.d.ts +37 -0
  70. package/dist/utils/device-management.d.ts.map +1 -0
  71. package/dist/utils/device-management.js +126 -0
  72. package/dist/utils/device-management.js.map +1 -0
  73. package/dist/utils/discover.d.ts +3 -8
  74. package/dist/utils/discover.d.ts.map +1 -1
  75. package/dist/utils/discover.js +17 -32
  76. package/dist/utils/discover.js.map +1 -1
  77. package/dist/utils/enum.d.ts +1 -1
  78. package/dist/utils/enum.d.ts.map +1 -1
  79. package/dist/utils/enum.js.map +1 -1
  80. package/dist/utils/index.d.ts +1 -1
  81. package/dist/utils/index.d.ts.map +1 -1
  82. package/dist/utils/index.js +3 -0
  83. package/dist/utils/index.js.map +1 -1
  84. package/dist/utils/status.d.ts +28 -0
  85. package/dist/utils/status.d.ts.map +1 -0
  86. package/dist/utils/status.js +54 -0
  87. package/dist/utils/status.js.map +1 -0
  88. package/package.json +35 -9
  89. package/scripts/postinstall.sh +95 -0
  90. package/src/api/api.d.ts +3881 -1739
  91. package/src/api/api.js +10524 -5282
  92. package/src/api/proto.json +370 -63
  93. package/src/browser.ts +4 -0
  94. package/src/config.ts +31 -20
  95. package/src/demo.ts +43 -33
  96. package/src/device.ts +84 -30
  97. package/src/index.ts +4 -1
  98. package/src/nodes/broadband_source.ts +30 -0
  99. package/src/nodes/index.ts +4 -2
  100. package/src/nodes/spike_source.ts +30 -0
  101. package/src/nodes/stream_in.ts +1 -6
  102. package/src/nodes/stream_out.ts +4 -4
  103. package/src/utils/client.ts +38 -13
  104. package/src/utils/discover.ts +25 -45
  105. package/src/utils/enum.ts +1 -1
  106. package/src/utils/index.ts +1 -1
  107. package/src/utils/status.ts +57 -0
  108. package/synapse-api/.github/workflows/proto-check.yaml +33 -0
  109. package/synapse-api/COPYRIGHT +1 -0
  110. package/synapse-api/README.md +1 -1
  111. package/synapse-api/api/logging.proto +44 -0
  112. package/synapse-api/api/node.proto +22 -8
  113. package/synapse-api/api/nodes/broadband_source.proto +20 -0
  114. package/synapse-api/api/nodes/disk_writer.proto +7 -0
  115. package/synapse-api/api/nodes/electrical_stimulation.proto +4 -0
  116. package/synapse-api/api/nodes/signal_config.proto +22 -0
  117. package/synapse-api/api/nodes/signal_status.proto +18 -0
  118. package/synapse-api/api/nodes/spike_source.proto +15 -0
  119. package/synapse-api/api/nodes/stream_in.proto +5 -0
  120. package/synapse-api/api/nodes/stream_out.proto +4 -0
  121. package/synapse-api/api/query.proto +19 -0
  122. package/synapse-api/api/status.proto +6 -0
  123. package/synapse-api/api/synapse.proto +6 -2
  124. package/synapse-api/build.sh +17 -0
  125. package/dist/channel_mask.d.ts +0 -7
  126. package/dist/channel_mask.d.ts.map +0 -1
  127. package/dist/channel_mask.js +0 -14
  128. package/dist/channel_mask.js.map +0 -1
  129. package/dist/nodes/electrical_broadband.d.ts +0 -11
  130. package/dist/nodes/electrical_broadband.d.ts.map +0 -1
  131. package/dist/nodes/electrical_broadband.js.map +0 -1
  132. package/dist/nodes/optical_broadband.d.ts +0 -11
  133. package/dist/nodes/optical_broadband.d.ts.map +0 -1
  134. package/dist/nodes/optical_broadband.js.map +0 -1
  135. package/src/nodes/electrical_broadband.ts +0 -30
  136. package/src/nodes/optical_broadband.ts +0 -30
  137. package/synapse-api/api/nodes/electrical_broadband.proto +0 -15
  138. 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();