@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.
- package/README.md +40 -18
- package/dist/api/api.d.ts +3881 -1739
- package/dist/api/api.js +10023 -5111
- package/dist/api/api.js.map +1 -1
- package/dist/api/proto.json +370 -63
- package/dist/api-science-device/api.d.ts +3 -0
- package/dist/api-science-device/api.d.ts.map +1 -0
- package/dist/api-science-device/api.js +3822 -0
- package/dist/api-science-device/api.js.map +1 -0
- package/dist/api-science-device/proto.json +258 -0
- package/dist/browser.d.ts +4 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +22 -0
- package/dist/browser.js.map +1 -0
- package/dist/config.d.ts +5 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +25 -17
- package/dist/config.js.map +1 -1
- package/dist/demo.js +42 -38
- package/dist/demo.js.map +1 -1
- package/dist/device.d.ts +20 -5
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +75 -27
- package/dist/device.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/nodejs.d.ts +8 -0
- package/dist/nodejs.d.ts.map +1 -0
- package/dist/nodejs.js +32 -0
- package/dist/nodejs.js.map +1 -0
- package/dist/nodes/broadband_source.d.ts +11 -0
- package/dist/nodes/broadband_source.d.ts.map +1 -0
- package/dist/nodes/{optical_broadband.js → broadband_source.js} +9 -9
- package/dist/nodes/broadband_source.js.map +1 -0
- package/dist/nodes/index.d.ts +3 -2
- package/dist/nodes/index.d.ts.map +1 -1
- package/dist/nodes/index.js +5 -5
- package/dist/nodes/index.js.map +1 -1
- package/dist/nodes/spike_source.d.ts +11 -0
- package/dist/nodes/spike_source.d.ts.map +1 -0
- package/dist/nodes/{electrical_broadband.js → spike_source.js} +9 -9
- package/dist/nodes/spike_source.js.map +1 -0
- package/dist/nodes/stream_in.d.ts +0 -4
- package/dist/nodes/stream_in.d.ts.map +1 -1
- package/dist/nodes/stream_in.js +1 -1
- package/dist/nodes/stream_in.js.map +1 -1
- package/dist/nodes/stream_out.d.ts +2 -2
- package/dist/nodes/stream_out.d.ts.map +1 -1
- package/dist/nodes/stream_out.js +2 -2
- package/dist/nodes/stream_out.js.map +1 -1
- package/dist/science-device-api/api.d.ts +3 -0
- package/dist/science-device-api/api.d.ts.map +1 -0
- package/dist/science-device-api/api.js +3822 -0
- package/dist/science-device-api/api.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +19 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/client.d.ts +8 -1
- package/dist/utils/client.d.ts.map +1 -1
- package/dist/utils/client.js +30 -16
- package/dist/utils/client.js.map +1 -1
- package/dist/utils/device-management.d.ts +37 -0
- package/dist/utils/device-management.d.ts.map +1 -0
- package/dist/utils/device-management.js +126 -0
- package/dist/utils/device-management.js.map +1 -0
- package/dist/utils/discover.d.ts +3 -8
- package/dist/utils/discover.d.ts.map +1 -1
- package/dist/utils/discover.js +17 -32
- package/dist/utils/discover.js.map +1 -1
- package/dist/utils/enum.d.ts +1 -1
- package/dist/utils/enum.d.ts.map +1 -1
- package/dist/utils/enum.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/status.d.ts +28 -0
- package/dist/utils/status.d.ts.map +1 -0
- package/dist/utils/status.js +54 -0
- package/dist/utils/status.js.map +1 -0
- package/package.json +35 -9
- package/scripts/postinstall.sh +95 -0
- package/src/api/api.d.ts +3881 -1739
- package/src/api/api.js +10524 -5282
- package/src/api/proto.json +370 -63
- package/src/browser.ts +4 -0
- package/src/config.ts +31 -20
- package/src/demo.ts +43 -33
- package/src/device.ts +84 -30
- package/src/index.ts +4 -1
- package/src/nodes/broadband_source.ts +30 -0
- package/src/nodes/index.ts +4 -2
- package/src/nodes/spike_source.ts +30 -0
- package/src/nodes/stream_in.ts +1 -6
- package/src/nodes/stream_out.ts +4 -4
- package/src/utils/client.ts +38 -13
- package/src/utils/discover.ts +25 -45
- package/src/utils/enum.ts +1 -1
- package/src/utils/index.ts +1 -1
- package/src/utils/status.ts +57 -0
- package/synapse-api/.github/workflows/proto-check.yaml +33 -0
- package/synapse-api/COPYRIGHT +1 -0
- package/synapse-api/README.md +1 -1
- package/synapse-api/api/logging.proto +44 -0
- package/synapse-api/api/node.proto +22 -8
- package/synapse-api/api/nodes/broadband_source.proto +20 -0
- package/synapse-api/api/nodes/disk_writer.proto +7 -0
- package/synapse-api/api/nodes/electrical_stimulation.proto +4 -0
- package/synapse-api/api/nodes/signal_config.proto +22 -0
- package/synapse-api/api/nodes/signal_status.proto +18 -0
- package/synapse-api/api/nodes/spike_source.proto +15 -0
- package/synapse-api/api/nodes/stream_in.proto +5 -0
- package/synapse-api/api/nodes/stream_out.proto +4 -0
- package/synapse-api/api/query.proto +19 -0
- package/synapse-api/api/status.proto +6 -0
- package/synapse-api/api/synapse.proto +6 -2
- package/synapse-api/build.sh +17 -0
- package/dist/channel_mask.d.ts +0 -7
- package/dist/channel_mask.d.ts.map +0 -1
- package/dist/channel_mask.js +0 -14
- package/dist/channel_mask.js.map +0 -1
- package/dist/nodes/electrical_broadband.d.ts +0 -11
- package/dist/nodes/electrical_broadband.d.ts.map +0 -1
- package/dist/nodes/electrical_broadband.js.map +0 -1
- package/dist/nodes/optical_broadband.d.ts +0 -11
- package/dist/nodes/optical_broadband.d.ts.map +0 -1
- package/dist/nodes/optical_broadband.js.map +0 -1
- package/src/nodes/electrical_broadband.ts +0 -30
- package/src/nodes/optical_broadband.ts +0 -30
- package/synapse-api/api/nodes/electrical_broadband.proto +0 -15
- 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 @@
|
|
|
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"}
|
package/dist/types.d.ts
ADDED
|
@@ -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"}
|
package/dist/utils/client.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import { ChannelCredentials, ChannelOptions } from "@grpc/grpc-js";
|
|
2
|
-
|
|
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;
|
|
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"}
|
package/dist/utils/client.js
CHANGED
|
@@ -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
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
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
|
package/dist/utils/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"
|
|
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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"}
|
package/dist/utils/discover.d.ts
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
interface
|
|
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: (
|
|
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,
|
|
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"}
|
package/dist/utils/discover.js
CHANGED
|
@@ -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
|
|
9
|
-
|
|
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
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (split[0] !== "ID") {
|
|
17
|
+
if (split[0] !== "ID" || split.length !== 5) {
|
|
28
18
|
return;
|
|
29
19
|
}
|
|
30
|
-
const
|
|
31
|
-
const
|
|
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
|
|
37
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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;
|