@swimlane/turbine-sdk 0.6.1 → 1.2.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 (87) hide show
  1. package/README.md +11 -12
  2. package/dist/Sensor/BaseSensor.d.ts +3 -3
  3. package/dist/Sensor/BaseSensor.js +3 -3
  4. package/dist/Sensor/{HttpSensorPodInterface.d.ts → HttpSensorAgentInterface.d.ts} +6 -6
  5. package/dist/Sensor/HttpSensorAgentInterface.js +81 -0
  6. package/dist/Sensor/{MockSensorPodInterface.d.ts → MockSensorAgentInterface.d.ts} +6 -6
  7. package/dist/Sensor/MockSensorAgentInterface.js +76 -0
  8. package/dist/Sensor/{SensorPodInterface.d.ts → SensorAgentInterface.d.ts} +4 -4
  9. package/dist/Sensor/SensorAgentInterface.js +24 -0
  10. package/dist/Sensor/SensorConfig.d.ts +4 -4
  11. package/dist/Sensor/SensorConfig.js +1 -1
  12. package/dist/Sensor/index.d.ts +3 -3
  13. package/dist/Sensor/index.js +4 -4
  14. package/node_modules/axios/CHANGELOG.md +348 -0
  15. package/node_modules/axios/LICENSE +19 -0
  16. package/node_modules/axios/README.md +684 -0
  17. package/node_modules/axios/UPGRADE_GUIDE.md +162 -0
  18. package/node_modules/axios/dist/axios.js +1668 -0
  19. package/node_modules/axios/dist/axios.map +1 -0
  20. package/node_modules/axios/dist/axios.min.js +9 -0
  21. package/node_modules/axios/dist/axios.min.map +1 -0
  22. package/node_modules/axios/index.d.ts +152 -0
  23. package/node_modules/axios/index.js +1 -0
  24. package/node_modules/axios/lib/adapters/README.md +37 -0
  25. package/node_modules/axios/lib/adapters/http.js +275 -0
  26. package/node_modules/axios/lib/adapters/xhr.js +174 -0
  27. package/node_modules/axios/lib/axios.js +53 -0
  28. package/node_modules/axios/lib/cancel/Cancel.js +19 -0
  29. package/node_modules/axios/lib/cancel/CancelToken.js +57 -0
  30. package/node_modules/axios/lib/cancel/isCancel.js +5 -0
  31. package/node_modules/axios/lib/core/Axios.js +86 -0
  32. package/node_modules/axios/lib/core/InterceptorManager.js +52 -0
  33. package/node_modules/axios/lib/core/README.md +7 -0
  34. package/node_modules/axios/lib/core/createError.js +18 -0
  35. package/node_modules/axios/lib/core/dispatchRequest.js +86 -0
  36. package/node_modules/axios/lib/core/enhanceError.js +42 -0
  37. package/node_modules/axios/lib/core/mergeConfig.js +51 -0
  38. package/node_modules/axios/lib/core/settle.js +25 -0
  39. package/node_modules/axios/lib/core/transformData.js +20 -0
  40. package/node_modules/axios/lib/defaults.js +98 -0
  41. package/node_modules/axios/lib/helpers/README.md +7 -0
  42. package/node_modules/axios/lib/helpers/bind.js +11 -0
  43. package/node_modules/axios/lib/helpers/buildURL.js +71 -0
  44. package/node_modules/axios/lib/helpers/combineURLs.js +14 -0
  45. package/node_modules/axios/lib/helpers/cookies.js +53 -0
  46. package/node_modules/axios/lib/helpers/deprecatedMethod.js +24 -0
  47. package/node_modules/axios/lib/helpers/isAbsoluteURL.js +14 -0
  48. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +68 -0
  49. package/node_modules/axios/lib/helpers/normalizeHeaderName.js +12 -0
  50. package/node_modules/axios/lib/helpers/parseHeaders.js +53 -0
  51. package/node_modules/axios/lib/helpers/spread.js +27 -0
  52. package/node_modules/axios/lib/utils.js +334 -0
  53. package/node_modules/axios/package.json +115 -0
  54. package/node_modules/debug/.coveralls.yml +1 -0
  55. package/node_modules/debug/.eslintrc +14 -0
  56. package/node_modules/debug/.npmignore +9 -0
  57. package/node_modules/debug/.travis.yml +20 -0
  58. package/node_modules/debug/CHANGELOG.md +395 -0
  59. package/node_modules/debug/LICENSE +19 -0
  60. package/node_modules/debug/Makefile +58 -0
  61. package/node_modules/debug/README.md +368 -0
  62. package/node_modules/debug/karma.conf.js +70 -0
  63. package/node_modules/debug/node.js +1 -0
  64. package/node_modules/debug/package.json +87 -0
  65. package/node_modules/debug/src/browser.js +195 -0
  66. package/node_modules/debug/src/debug.js +225 -0
  67. package/node_modules/debug/src/index.js +10 -0
  68. package/node_modules/debug/src/node.js +186 -0
  69. package/node_modules/follow-redirects/LICENSE +18 -0
  70. package/node_modules/follow-redirects/README.md +155 -0
  71. package/node_modules/follow-redirects/http.js +1 -0
  72. package/node_modules/follow-redirects/https.js +1 -0
  73. package/node_modules/follow-redirects/index.js +322 -0
  74. package/node_modules/follow-redirects/package.json +99 -0
  75. package/node_modules/is-buffer/LICENSE +21 -0
  76. package/node_modules/is-buffer/README.md +56 -0
  77. package/node_modules/is-buffer/index.d.ts +2 -0
  78. package/node_modules/is-buffer/index.js +11 -0
  79. package/node_modules/is-buffer/package.json +81 -0
  80. package/node_modules/ms/index.js +152 -0
  81. package/node_modules/ms/license.md +21 -0
  82. package/node_modules/ms/package.json +73 -0
  83. package/node_modules/ms/readme.md +51 -0
  84. package/package.json +34 -31
  85. package/dist/Sensor/HttpSensorPodInterface.js +0 -78
  86. package/dist/Sensor/MockSensorPodInterface.js +0 -73
  87. package/dist/Sensor/SensorPodInterface.js +0 -10
package/README.md CHANGED
@@ -13,7 +13,7 @@ The easiest way to create a new sensor would be to extend the `BaseSensor` class
13
13
  `BaseSensor` provides the following class properties:
14
14
 
15
15
  - `config`: [SensorConfig](#sensorconfig) This is all the configuration information for your instance
16
- - `turbine`: [SensorPodInterface](#sensorpodinterface) This is a collection of helper functions
16
+ - `sdk`: [SensorAgentInterface](#sensoragentinterface) This is a collection of helper functions
17
17
 
18
18
  #### Example
19
19
 
@@ -35,18 +35,18 @@ export class MySensor extends BaseSensor {
35
35
  body.push(chunk);
36
36
  })
37
37
  .on('end', () => {
38
- this.turbine.pod.sendEvent('MyEvent', Buffer.concat(body).toString());
38
+ this.sdk.sendEvent('MyEvent', Buffer.concat(body).toString());
39
39
  res.end('ok');
40
40
  });
41
41
  });
42
42
 
43
43
  this.server.on('error', err => {
44
- this.turbine.logger.error(err.message);
44
+ this.sdk.log.error(err.message);
45
45
  reject(err);
46
46
  });
47
47
 
48
48
  this.server.listen(parseInt(this.config.inputs.port, 10), () => {
49
- this.turbine.logger.debug(`Server started on port: ${this.config.inputs.port}`);
49
+ this.sdk.log.debug(`Server started on port: ${this.config.inputs.port}`);
50
50
  resolve();
51
51
  });
52
52
  });
@@ -77,18 +77,18 @@ class MySensor extends BaseSensor {
77
77
  body.push(chunk);
78
78
  })
79
79
  .on('end', () => {
80
- this.turbine.pod.sendEvent('MyEvent', Buffer.concat(body).toString());
80
+ this.sdk.sendEvent('MyEvent', Buffer.concat(body).toString());
81
81
  res.end('ok');
82
82
  });
83
83
  });
84
84
 
85
85
  this.server.on('error', err => {
86
- this.turbine.logger.error(err.message);
86
+ this.sdk.log.error(err.message);
87
87
  reject(err);
88
88
  });
89
89
 
90
90
  this.server.listen(parseInt(this.config.inputs.port, 10), () => {
91
- this.turbine.logger.info(`Server started on port: ${this.config.inputs.port}`);
91
+ this.sdk.log.info(`Server started on port: ${this.config.inputs.port}`);
92
92
  resolve();
93
93
  });
94
94
  });
@@ -113,7 +113,7 @@ If you wish to build your own Sensor class, your class will need to match the fo
113
113
 
114
114
  **constructor**: Your constructor will receive two arguments:
115
115
 
116
- - an instance of the [SensorPodInterface](#sensorpodinterface)
116
+ - an instance of the [SensorAgentInterface](#sensoragentinterface)
117
117
  - a [SensorConfig](#sensorconfig) object
118
118
 
119
119
  **start()**: a start method that returns a `Promise` that resolves when the sensor is started
@@ -128,13 +128,12 @@ An object with all the configuration information for your sensor:
128
128
  - `sensor`: The sensor manifest
129
129
  - `inputs`: Values for any inputs your instance may need
130
130
 
131
- ## SensorPodInterface
131
+ ## SensorAgentInterface
132
132
 
133
133
  An object that contains helper functions so your sensor can interface with Turbine
134
134
 
135
- - `pod`: contains functions to communicate with Turbine
136
- - `sendEvent(type, message)`: Send an event to Turbine
137
- - `logger`: contains functions to log data back to Turbine
135
+ - `sendEvent(type, message)`: Send an event to Turbine
136
+ - `log`: contains functions to log data back to Turbine
138
137
  - `critical(message, ...opts)`: Send a critical log message
139
138
  - `error(message, ...opts)`: Send an error log message
140
139
  - `warn(message, ...opts)`: Send a warning log message
@@ -1,9 +1,9 @@
1
- import { SensorPodInterface } from './SensorPodInterface';
1
+ import { SensorAgentInterface } from './SensorAgentInterface';
2
2
  import { SensorConfig } from './SensorConfig';
3
3
  export declare abstract class BaseSensor<T = any> {
4
- protected turbine: SensorPodInterface;
4
+ protected sdk: SensorAgentInterface;
5
5
  protected config: SensorConfig<T>;
6
- constructor(turbine: SensorPodInterface, config: SensorConfig<T>);
6
+ constructor(sdk: SensorAgentInterface, config: SensorConfig<T>);
7
7
  abstract start(): Promise<void>;
8
8
  abstract stop(): Promise<void>;
9
9
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class BaseSensor {
4
- constructor(turbine, config) {
5
- this.turbine = turbine;
4
+ constructor(sdk, config) {
5
+ this.sdk = sdk;
6
6
  this.config = config;
7
7
  }
8
8
  }
9
9
  exports.BaseSensor = BaseSensor;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNlbnNvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZW5zb3IvQmFzZVNlbnNvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE1BQXNCLFVBQVU7SUFDOUIsWUFBc0IsT0FBMkIsRUFBWSxNQUF1QjtRQUE5RCxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUFZLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztDQUt6RjtBQU5ELGdDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vuc29yUG9kSW50ZXJmYWNlIH0gZnJvbSAnLi9TZW5zb3JQb2RJbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2Vuc29yQ29uZmlnIH0gZnJvbSAnLi9TZW5zb3JDb25maWcnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNlbnNvcjxUID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0dXJiaW5lOiBTZW5zb3JQb2RJbnRlcmZhY2UsIHByb3RlY3RlZCBjb25maWc6IFNlbnNvckNvbmZpZzxUPikge31cblxuICBhYnN0cmFjdCBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGFic3RyYWN0IGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNlbnNvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZW5zb3IvQmFzZVNlbnNvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE1BQXNCLFVBQVU7SUFDOUIsWUFBc0IsR0FBeUIsRUFBWSxNQUF1QjtRQUE1RCxRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUFZLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztDQUt2RjtBQU5ELGdDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vuc29yQWdlbnRJbnRlcmZhY2UgfSBmcm9tICcuL1NlbnNvckFnZW50SW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbnNvckNvbmZpZyB9IGZyb20gJy4vU2Vuc29yQ29uZmlnJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZW5zb3I8VCA9IGFueT4ge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2RrOiBTZW5zb3JBZ2VudEludGVyZmFjZSwgcHJvdGVjdGVkIGNvbmZpZzogU2Vuc29yQ29uZmlnPFQ+KSB7fVxuXG4gIGFic3RyYWN0IGFzeW5jIHN0YXJ0KCk6IFByb21pc2U8dm9pZD47XG5cbiAgYWJzdHJhY3QgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
@@ -1,21 +1,21 @@
1
- import { SensorPodInterface } from './SensorPodInterface';
1
+ import { SensorAgentInterface } from './SensorAgentInterface';
2
2
  import { AxiosInstance } from 'axios';
3
3
  import { SensorHelloResponse } from './SensorConfig';
4
- export declare class HttpSensorPodInterface extends SensorPodInterface {
4
+ export declare class HttpSensorAgentInterface extends SensorAgentInterface {
5
5
  private socketPath;
6
- readonly logger: {
6
+ readonly log: {
7
7
  crit: (message: string, ...opts: any[]) => void;
8
8
  error: (message: string, ...opts: any[]) => void;
9
9
  warn: (message: string, ...opts: any[]) => void;
10
10
  info: (message: string, ...opts: any[]) => void;
11
11
  debug: (message: string, ...opts: any[]) => void;
12
12
  };
13
- readonly pod: {
13
+ readonly system: {
14
14
  hello: () => Promise<SensorHelloResponse>;
15
15
  newState: (state: string) => Promise<void>;
16
- sendEvent: (type: string, data: any) => Promise<void>;
17
16
  };
18
17
  request: AxiosInstance;
19
18
  constructor(id: string, socketPath: string);
20
- private log;
19
+ sendEvent(type: string, data: any): Promise<void>;
20
+ private _log;
21
21
  }
@@ -0,0 +1,81 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const SensorAgentInterface_1 = require("./SensorAgentInterface");
13
+ const axios_1 = require("axios");
14
+ class HttpSensorAgentInterface extends SensorAgentInterface_1.SensorAgentInterface {
15
+ constructor(id, socketPath) {
16
+ super(id);
17
+ this.socketPath = socketPath;
18
+ // bug in typings
19
+ this.request = axios_1.default.create({
20
+ socketPath
21
+ });
22
+ }
23
+ get log() {
24
+ return {
25
+ crit: (message, ...opts) => this._log('crit', message, ...opts),
26
+ error: (message, ...opts) => this._log('error', message, ...opts),
27
+ warn: (message, ...opts) => this._log('warn', message, ...opts),
28
+ info: (message, ...opts) => this._log('info', message, ...opts),
29
+ debug: (message, ...opts) => this._log('debug', message, ...opts)
30
+ };
31
+ }
32
+ get system() {
33
+ return {
34
+ hello: () => __awaiter(this, void 0, void 0, function* () {
35
+ try {
36
+ const response = yield this.request.post('/hello');
37
+ return response.data;
38
+ }
39
+ catch (err) {
40
+ this.log.error('Unable to get hello message from agent', err);
41
+ throw new Error('Unable to get hello message from agent');
42
+ }
43
+ }),
44
+ newState: (state) => __awaiter(this, void 0, void 0, function* () {
45
+ this.request.post('/state', { state }).catch(err => this.log.error('Unable to send new state to agent', err));
46
+ })
47
+ };
48
+ }
49
+ sendEvent(type, data) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ this.request.post('/event', { type, data }).catch(err => this.log.error('Unable to send event to agent', err));
52
+ });
53
+ }
54
+ _log(level, message, ...opts) {
55
+ // log it remotely
56
+ this.request
57
+ .post('/log', {
58
+ level,
59
+ message,
60
+ opts
61
+ })
62
+ .catch(err => console.error('Unable to send log message to Pod', err));
63
+ // log it locally
64
+ const optionalParams = opts.length ? opts : '';
65
+ switch (level) {
66
+ case 'error':
67
+ case 'crit':
68
+ console.error(message, optionalParams);
69
+ break;
70
+ case 'debug':
71
+ // Set to .log vs .debug for pre Node 9.3 compat
72
+ // See https://nodejs.org/api/console.html#console_console_debug_data_args
73
+ console.log(message, optionalParams);
74
+ break;
75
+ default:
76
+ console.info(message, optionalParams);
77
+ }
78
+ }
79
+ }
80
+ exports.HttpSensorAgentInterface = HttpSensorAgentInterface;
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFNlbnNvckFnZW50SW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9IdHRwU2Vuc29yQWdlbnRJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxpRUFBOEQ7QUFDOUQsaUNBQTZDO0FBRzdDLE1BQWEsd0JBQXlCLFNBQVEsMkNBQW9CO0lBOEJoRSxZQUFZLEVBQVUsRUFBVSxVQUFrQjtRQUNoRCxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEb0IsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUdoRCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFLLENBQUMsTUFBTSxDQUFNO1lBQy9CLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBcENELElBQUksR0FBRztRQUNMLE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2RSxLQUFLLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN6RSxJQUFJLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2RSxJQUFJLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2RSxLQUFLLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztTQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU87WUFDTCxLQUFLLEVBQUUsR0FBdUMsRUFBRTtnQkFDOUMsSUFBSTtvQkFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNuRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7aUJBQ3RCO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7aUJBQzNEO1lBQ0gsQ0FBQyxDQUFBO1lBQ0QsUUFBUSxFQUFFLENBQU8sS0FBYSxFQUFpQixFQUFFO2dCQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEgsQ0FBQyxDQUFBO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFhSyxTQUFTLENBQUMsSUFBWSxFQUFFLElBQVM7O1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakgsQ0FBQztLQUFBO0lBRU8sSUFBSSxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsR0FBRyxJQUFJO1FBQ2xELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWixLQUFLO1lBQ0wsT0FBTztZQUNQLElBQUk7U0FDTCxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpFLGlCQUFpQjtRQUNqQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxNQUFNO2dCQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLGdEQUFnRDtnQkFDaEQsMEVBQTBFO2dCQUMxRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDckMsTUFBTTtZQUNSO2dCQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztDQUNGO0FBckVELDREQXFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbnNvckFnZW50SW50ZXJmYWNlIH0gZnJvbSAnLi9TZW5zb3JBZ2VudEludGVyZmFjZSc7XG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NJbnN0YW5jZSB9IGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IFNlbnNvckhlbGxvUmVzcG9uc2UgfSBmcm9tICcuL1NlbnNvckNvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBIdHRwU2Vuc29yQWdlbnRJbnRlcmZhY2UgZXh0ZW5kcyBTZW5zb3JBZ2VudEludGVyZmFjZSB7XG4gIGdldCBsb2coKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNyaXQ6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnY3JpdCcsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgZXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnZXJyb3InLCBtZXNzYWdlLCAuLi5vcHRzKSxcbiAgICAgIHdhcm46IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnd2FybicsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgaW5mbzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdpbmZvJywgbWVzc2FnZSwgLi4ub3B0cyksXG4gICAgICBkZWJ1ZzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdkZWJ1ZycsIG1lc3NhZ2UsIC4uLm9wdHMpXG4gICAgfTtcbiAgfVxuXG4gIGdldCBzeXN0ZW0oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlbGxvOiBhc3luYyAoKTogUHJvbWlzZTxTZW5zb3JIZWxsb1Jlc3BvbnNlPiA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QucG9zdCgnL2hlbGxvJyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHRoaXMubG9nLmVycm9yKCdVbmFibGUgdG8gZ2V0IGhlbGxvIG1lc3NhZ2UgZnJvbSBhZ2VudCcsIGVycik7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZ2V0IGhlbGxvIG1lc3NhZ2UgZnJvbSBhZ2VudCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbmV3U3RhdGU6IGFzeW5jIChzdGF0ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIHRoaXMucmVxdWVzdC5wb3N0KCcvc3RhdGUnLCB7IHN0YXRlIH0pLmNhdGNoKGVyciA9PiB0aGlzLmxvZy5lcnJvcignVW5hYmxlIHRvIHNlbmQgbmV3IHN0YXRlIHRvIGFnZW50JywgZXJyKSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJlcXVlc3Q6IEF4aW9zSW5zdGFuY2U7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcHJpdmF0ZSBzb2NrZXRQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcihpZCk7XG5cbiAgICAvLyBidWcgaW4gdHlwaW5nc1xuICAgIHRoaXMucmVxdWVzdCA9IGF4aW9zLmNyZWF0ZSg8YW55PntcbiAgICAgIHNvY2tldFBhdGhcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNlbmRFdmVudCh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucmVxdWVzdC5wb3N0KCcvZXZlbnQnLCB7IHR5cGUsIGRhdGEgfSkuY2F0Y2goZXJyID0+IHRoaXMubG9nLmVycm9yKCdVbmFibGUgdG8gc2VuZCBldmVudCB0byBhZ2VudCcsIGVycikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nKGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cyk6IHZvaWQge1xuICAgIC8vIGxvZyBpdCByZW1vdGVseVxuICAgIHRoaXMucmVxdWVzdFxuICAgICAgLnBvc3QoJy9sb2cnLCB7XG4gICAgICAgIGxldmVsLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBvcHRzXG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKCdVbmFibGUgdG8gc2VuZCBsb2cgbWVzc2FnZSB0byBQb2QnLCBlcnIpKTtcblxuICAgIC8vIGxvZyBpdCBsb2NhbGx5XG4gICAgY29uc3Qgb3B0aW9uYWxQYXJhbXMgPSBvcHRzLmxlbmd0aCA/IG9wdHMgOiAnJztcbiAgICBzd2l0Y2ggKGxldmVsKSB7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICBjYXNlICdjcml0JzpcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVidWcnOlxuICAgICAgICAvLyBTZXQgdG8gLmxvZyB2cyAuZGVidWcgZm9yIHByZSBOb2RlIDkuMyBjb21wYXRcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvY29uc29sZS5odG1sI2NvbnNvbGVfY29uc29sZV9kZWJ1Z19kYXRhX2FyZ3NcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSwgb3B0aW9uYWxQYXJhbXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUuaW5mbyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,22 +1,22 @@
1
- import { SensorPodInterface } from './SensorPodInterface';
1
+ import { SensorAgentInterface } from './SensorAgentInterface';
2
2
  import { SensorHelloResponse } from '.';
3
- export declare class MockSensorPodInterface extends SensorPodInterface {
3
+ export declare class MockSensorPodInterface extends SensorAgentInterface {
4
4
  events: Array<{
5
5
  type: string;
6
6
  data: any;
7
7
  }>;
8
- readonly logger: {
8
+ readonly log: {
9
9
  crit: (message: string, ...opts: any[]) => void;
10
10
  error: (message: string, ...opts: any[]) => void;
11
11
  warn: (message: string, ...opts: any[]) => void;
12
12
  info: (message: string, ...opts: any[]) => void;
13
13
  debug: (message: string, ...opts: any[]) => void;
14
14
  };
15
- readonly pod: {
15
+ readonly system: {
16
16
  hello: () => Promise<SensorHelloResponse>;
17
17
  newState: (state: string) => Promise<void>;
18
- sendEvent: (type: string, data: any) => Promise<void>;
19
18
  };
20
19
  constructor(id: string);
21
- private log;
20
+ sendEvent(type: string, data: any): Promise<void>;
21
+ private _log;
22
22
  }
@@ -0,0 +1,76 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const SensorAgentInterface_1 = require("./SensorAgentInterface");
13
+ class MockSensorPodInterface extends SensorAgentInterface_1.SensorAgentInterface {
14
+ constructor(id) {
15
+ super(id);
16
+ this.events = [];
17
+ }
18
+ get log() {
19
+ return {
20
+ crit: (message, ...opts) => this._log('crit', message, ...opts),
21
+ error: (message, ...opts) => this._log('error', message, ...opts),
22
+ warn: (message, ...opts) => this._log('warn', message, ...opts),
23
+ info: (message, ...opts) => this._log('info', message, ...opts),
24
+ debug: (message, ...opts) => this._log('debug', message, ...opts)
25
+ };
26
+ }
27
+ get system() {
28
+ return {
29
+ hello: () => __awaiter(this, void 0, void 0, function* () {
30
+ return {
31
+ plugin: {
32
+ name: 'mock',
33
+ checksum: 'asdf1234'
34
+ },
35
+ inputs: {},
36
+ sensor: {
37
+ schema: 'sensor/1',
38
+ name: 'mock',
39
+ title: 'Mock Sensor',
40
+ description: 'A Mock Sensor',
41
+ entrypoint: '',
42
+ inputs: {},
43
+ events: {}
44
+ }
45
+ };
46
+ }),
47
+ newState: (state) => __awaiter(this, void 0, void 0, function* () {
48
+ return;
49
+ })
50
+ };
51
+ }
52
+ sendEvent(type, data) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ this.events.push({ type, data });
55
+ });
56
+ }
57
+ _log(level, message, ...opts) {
58
+ // log it locally
59
+ const optionalParams = opts.length ? opts : '';
60
+ switch (level) {
61
+ case 'error':
62
+ case 'crit':
63
+ console.error(message, optionalParams);
64
+ break;
65
+ case 'debug':
66
+ // Set to .log vs .debug for pre Node 9.3 compat
67
+ // See https://nodejs.org/api/console.html#console_console_debug_data_args
68
+ console.log(message, optionalParams);
69
+ break;
70
+ default:
71
+ console.info(message, optionalParams);
72
+ }
73
+ }
74
+ }
75
+ exports.MockSensorPodInterface = MockSensorPodInterface;
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9ja1NlbnNvckFnZW50SW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9Nb2NrU2Vuc29yQWdlbnRJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxpRUFBOEQ7QUFHOUQsTUFBYSxzQkFBdUIsU0FBUSwyQ0FBb0I7SUF1QzlELFlBQVksRUFBVTtRQUNwQixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUF2Q1osV0FBTSxHQUF1QyxFQUFFLENBQUM7SUF3Q2hELENBQUM7SUF0Q0QsSUFBSSxHQUFHO1FBQ0wsT0FBTztZQUNMLElBQUksRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3pFLElBQUksRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3ZFLElBQUksRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTztZQUNMLEtBQUssRUFBRSxHQUF1QyxFQUFFO2dCQUM5QyxPQUFPO29CQUNMLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsTUFBTTt3QkFDWixRQUFRLEVBQUUsVUFBVTtxQkFDckI7b0JBQ0QsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsTUFBTSxFQUFFO3dCQUNOLE1BQU0sRUFBRSxVQUFVO3dCQUNsQixJQUFJLEVBQUUsTUFBTTt3QkFDWixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsV0FBVyxFQUFFLGVBQWU7d0JBQzVCLFVBQVUsRUFBRSxFQUFFO3dCQUNkLE1BQU0sRUFBRSxFQUFFO3dCQUNWLE1BQU0sRUFBRSxFQUFFO3FCQUNYO2lCQUNGLENBQUM7WUFDSixDQUFDLENBQUE7WUFDRCxRQUFRLEVBQUUsQ0FBTyxLQUFhLEVBQWlCLEVBQUU7Z0JBQy9DLE9BQU87WUFDVCxDQUFDLENBQUE7U0FDRixDQUFDO0lBQ0osQ0FBQztJQU1LLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBUzs7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO0tBQUE7SUFFTyxJQUFJLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxHQUFHLElBQUk7UUFDbEQsaUJBQWlCO1FBQ2pCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9DLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsZ0RBQWdEO2dCQUNoRCwwRUFBMEU7Z0JBQzFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1I7Z0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0NBQ0Y7QUFoRUQsd0RBZ0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vuc29yQWdlbnRJbnRlcmZhY2UgfSBmcm9tICcuL1NlbnNvckFnZW50SW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbnNvckhlbGxvUmVzcG9uc2UgfSBmcm9tICcuJztcblxuZXhwb3J0IGNsYXNzIE1vY2tTZW5zb3JQb2RJbnRlcmZhY2UgZXh0ZW5kcyBTZW5zb3JBZ2VudEludGVyZmFjZSB7XG4gIGV2ZW50czogQXJyYXk8eyB0eXBlOiBzdHJpbmc7IGRhdGE6IGFueSB9PiA9IFtdO1xuXG4gIGdldCBsb2coKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNyaXQ6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnY3JpdCcsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgZXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnZXJyb3InLCBtZXNzYWdlLCAuLi5vcHRzKSxcbiAgICAgIHdhcm46IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnd2FybicsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgaW5mbzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdpbmZvJywgbWVzc2FnZSwgLi4ub3B0cyksXG4gICAgICBkZWJ1ZzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdkZWJ1ZycsIG1lc3NhZ2UsIC4uLm9wdHMpXG4gICAgfTtcbiAgfVxuXG4gIGdldCBzeXN0ZW0oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlbGxvOiBhc3luYyAoKTogUHJvbWlzZTxTZW5zb3JIZWxsb1Jlc3BvbnNlPiA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGx1Z2luOiB7XG4gICAgICAgICAgICBuYW1lOiAnbW9jaycsXG4gICAgICAgICAgICBjaGVja3N1bTogJ2FzZGYxMjM0J1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5wdXRzOiB7fSxcbiAgICAgICAgICBzZW5zb3I6IHtcbiAgICAgICAgICAgIHNjaGVtYTogJ3NlbnNvci8xJyxcbiAgICAgICAgICAgIG5hbWU6ICdtb2NrJyxcbiAgICAgICAgICAgIHRpdGxlOiAnTW9jayBTZW5zb3InLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdBIE1vY2sgU2Vuc29yJyxcbiAgICAgICAgICAgIGVudHJ5cG9pbnQ6ICcnLFxuICAgICAgICAgICAgaW5wdXRzOiB7fSxcbiAgICAgICAgICAgIGV2ZW50czoge31cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgbmV3U3RhdGU6IGFzeW5jIChzdGF0ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKGlkKTtcbiAgfVxuXG4gIGFzeW5jIHNlbmRFdmVudCh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZXZlbnRzLnB1c2goeyB0eXBlLCBkYXRhIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nKGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cyk6IHZvaWQge1xuICAgIC8vIGxvZyBpdCBsb2NhbGx5XG4gICAgY29uc3Qgb3B0aW9uYWxQYXJhbXMgPSBvcHRzLmxlbmd0aCA/IG9wdHMgOiAnJztcbiAgICBzd2l0Y2ggKGxldmVsKSB7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICBjYXNlICdjcml0JzpcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVidWcnOlxuICAgICAgICAvLyBTZXQgdG8gLmxvZyB2cyAuZGVidWcgZm9yIHByZSBOb2RlIDkuMyBjb21wYXRcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvY29uc29sZS5odG1sI2NvbnNvbGVfY29uc29sZV9kZWJ1Z19kYXRhX2FyZ3NcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSwgb3B0aW9uYWxQYXJhbXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUuaW5mbyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,17 +1,17 @@
1
1
  import { SensorHelloResponse } from './SensorConfig';
2
- export declare abstract class SensorPodInterface {
2
+ export declare abstract class SensorAgentInterface {
3
3
  readonly id: string;
4
- readonly logger: {
4
+ readonly log: {
5
5
  crit: (message: string, ...opts: any[]) => void;
6
6
  error: (message: string, ...opts: any[]) => void;
7
7
  warn: (message: string, ...opts: any[]) => void;
8
8
  info: (message: string, ...opts: any[]) => void;
9
9
  debug: (message: string, ...opts: any[]) => void;
10
10
  };
11
- readonly pod: {
11
+ readonly system: {
12
12
  hello: () => Promise<SensorHelloResponse>;
13
13
  newState: (state: string) => Promise<void>;
14
- sendEvent: (type: string, data: any) => Promise<void>;
15
14
  };
16
15
  constructor(id: string);
16
+ sendEvent(type: string, data: any): Promise<void>;
17
17
  }
@@ -0,0 +1,24 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ class SensorAgentInterface {
13
+ constructor(id) {
14
+ this.id = id;
15
+ /* */
16
+ }
17
+ sendEvent(type, data) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ /* */
20
+ });
21
+ }
22
+ }
23
+ exports.SensorAgentInterface = SensorAgentInterface;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Vuc29yQWdlbnRJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2Vuc29yL1NlbnNvckFnZW50SW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUEsTUFBc0Isb0JBQW9CO0lBYXhDLFlBQXFCLEVBQVU7UUFBVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQzdCLE1BQU07SUFDUixDQUFDO0lBRUssU0FBUyxDQUFDLElBQVksRUFBRSxJQUFTOztZQUNyQyxNQUFNO1FBQ1IsQ0FBQztLQUFBO0NBQ0Y7QUFwQkQsb0RBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vuc29ySGVsbG9SZXNwb25zZSB9IGZyb20gJy4vU2Vuc29yQ29uZmlnJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlbnNvckFnZW50SW50ZXJmYWNlIHtcbiAgcmVhZG9ubHkgbG9nOiB7XG4gICAgY3JpdDogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0czogYW55W10pID0+IHZvaWQ7XG4gICAgZXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHM6IGFueVtdKSA9PiB2b2lkO1xuICAgIHdhcm46IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHM6IGFueVtdKSA9PiB2b2lkO1xuICAgIGluZm86IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHM6IGFueVtdKSA9PiB2b2lkO1xuICAgIGRlYnVnOiAobWVzc2FnZTogc3RyaW5nLCAuLi5vcHRzOiBhbnlbXSkgPT4gdm9pZDtcbiAgfTtcbiAgcmVhZG9ubHkgc3lzdGVtOiB7XG4gICAgaGVsbG86ICgpID0+IFByb21pc2U8U2Vuc29ySGVsbG9SZXNwb25zZT47XG4gICAgbmV3U3RhdGU6IChzdGF0ZTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGlkOiBzdHJpbmcpIHtcbiAgICAvKiAgKi9cbiAgfVxuXG4gIGFzeW5jIHNlbmRFdmVudCh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8qICAqL1xuICB9XG59XG4iXX0=
@@ -1,17 +1,17 @@
1
1
  export interface SensorConfig<T = any> {
2
2
  id: string;
3
- sensor: Sensor;
3
+ sensor: SensorManifest;
4
4
  inputs: T;
5
5
  }
6
6
  export interface SensorHelloResponse {
7
- bundle: {
7
+ plugin: {
8
8
  name: string;
9
9
  checksum: string;
10
10
  };
11
11
  inputs: any;
12
- sensor: Sensor;
12
+ sensor: SensorManifest;
13
13
  }
14
- export interface Sensor {
14
+ export interface SensorManifest {
15
15
  schema: string;
16
16
  name: string;
17
17
  title: string;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Vuc29yQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9TZW5zb3JDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2Vuc29yQ29uZmlnPFQgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZzsgLy8gVGhlIElEIG9mIHRoZSBpbnN0YW5jZVxuXG4gIHNlbnNvcjogU2Vuc29yOyAvLyBUaGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlbnNvclxuXG4gIGlucHV0czogVDsgLy8gQW55IGlucHV0cyBuZWVkZWQgZm9yIHRoZSBzZW5zb3Jcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5zb3JIZWxsb1Jlc3BvbnNlIHtcbiAgYnVuZGxlOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNoZWNrc3VtOiBzdHJpbmc7XG4gIH07XG4gIGlucHV0czogYW55O1xuICBzZW5zb3I6IFNlbnNvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5zb3Ige1xuICBzY2hlbWE6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBlbnRyeXBvaW50OiBzdHJpbmc7XG4gIGlucHV0czogYW55O1xuICBldmVudHM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Vuc29yQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9TZW5zb3JDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2Vuc29yQ29uZmlnPFQgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZzsgLy8gVGhlIElEIG9mIHRoZSBpbnN0YW5jZVxuXG4gIHNlbnNvcjogU2Vuc29yTWFuaWZlc3Q7IC8vIFRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2Vuc29yXG5cbiAgaW5wdXRzOiBUOyAvLyBBbnkgaW5wdXRzIG5lZWRlZCBmb3IgdGhlIHNlbnNvclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbnNvckhlbGxvUmVzcG9uc2Uge1xuICBwbHVnaW46IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY2hlY2tzdW06IHN0cmluZztcbiAgfTtcbiAgaW5wdXRzOiBhbnk7XG4gIHNlbnNvcjogU2Vuc29yTWFuaWZlc3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vuc29yTWFuaWZlc3Qge1xuICBzY2hlbWE6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBlbnRyeXBvaW50OiBzdHJpbmc7XG4gIGlucHV0czogYW55O1xuICBldmVudHM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  export * from './BaseSensor';
2
- export * from './SensorPodInterface';
3
- export * from './HttpSensorPodInterface';
4
- export * from './MockSensorPodInterface';
2
+ export * from './HttpSensorAgentInterface';
3
+ export * from './MockSensorAgentInterface';
5
4
  export * from './SensorConfig';
5
+ export * from './SensorAgentInterface';
@@ -4,7 +4,7 @@ function __export(m) {
4
4
  }
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  __export(require("./BaseSensor"));
7
- __export(require("./SensorPodInterface"));
8
- __export(require("./HttpSensorPodInterface"));
9
- __export(require("./MockSensorPodInterface"));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2Vuc29yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0NBQTZCO0FBQzdCLDBDQUFxQztBQUNyQyw4Q0FBeUM7QUFDekMsOENBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9CYXNlU2Vuc29yJztcbmV4cG9ydCAqIGZyb20gJy4vU2Vuc29yUG9kSW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vSHR0cFNlbnNvclBvZEludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL01vY2tTZW5zb3JQb2RJbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9TZW5zb3JDb25maWcnO1xuIl19
7
+ __export(require("./HttpSensorAgentInterface"));
8
+ __export(require("./MockSensorAgentInterface"));
9
+ __export(require("./SensorAgentInterface"));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2Vuc29yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0NBQTZCO0FBQzdCLGdEQUEyQztBQUMzQyxnREFBMkM7QUFFM0MsNENBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9CYXNlU2Vuc29yJztcbmV4cG9ydCAqIGZyb20gJy4vSHR0cFNlbnNvckFnZW50SW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vTW9ja1NlbnNvckFnZW50SW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vU2Vuc29yQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vU2Vuc29yQWdlbnRJbnRlcmZhY2UnO1xuIl19