@sockethub/server 5.0.0-alpha.3 → 5.0.0-alpha.6

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 (127) hide show
  1. package/README.md +54 -60
  2. package/bin/sockethub +4 -3
  3. package/package.json +42 -60
  4. package/res/socket.io.js +4908 -0
  5. package/res/sockethub-client.js +602 -0
  6. package/res/sockethub-client.min.js +19 -0
  7. package/sockethub.config.example.json +2 -3
  8. package/src/bootstrap/init.d.ts +20 -7
  9. package/src/bootstrap/init.test.ts +211 -0
  10. package/src/bootstrap/init.ts +152 -75
  11. package/src/bootstrap/load-platforms.ts +151 -0
  12. package/src/config.test.ts +27 -22
  13. package/src/config.ts +82 -78
  14. package/src/defaults.json +24 -16
  15. package/src/index.ts +67 -27
  16. package/src/janitor.test.ts +211 -0
  17. package/src/janitor.ts +145 -77
  18. package/src/listener.ts +151 -57
  19. package/src/middleware/create-activity-object.test.ts +28 -8
  20. package/src/middleware/create-activity-object.ts +17 -8
  21. package/src/middleware/expand-activity-stream.test.data.ts +332 -346
  22. package/src/middleware/expand-activity-stream.test.ts +65 -66
  23. package/src/middleware/expand-activity-stream.ts +29 -19
  24. package/src/middleware/store-credentials.test.ts +74 -62
  25. package/src/middleware/store-credentials.ts +15 -15
  26. package/src/middleware/validate.test.data.ts +240 -242
  27. package/src/middleware/validate.test.ts +39 -78
  28. package/src/middleware/validate.ts +63 -39
  29. package/src/middleware.test.ts +168 -138
  30. package/src/middleware.ts +62 -43
  31. package/src/platform-instance.test.ts +507 -213
  32. package/src/platform-instance.ts +337 -219
  33. package/src/platform.test.ts +375 -0
  34. package/src/platform.ts +306 -139
  35. package/src/process-manager.ts +75 -51
  36. package/src/routes.test.ts +43 -89
  37. package/src/routes.ts +40 -77
  38. package/src/sentry.test.ts +106 -0
  39. package/src/sentry.ts +19 -0
  40. package/src/sockethub.ts +186 -153
  41. package/src/util.ts +5 -0
  42. package/coverage/tmp/coverage-93126-1649152190997-0.json +0 -1
  43. package/dist/bootstrap/init.d.ts +0 -18
  44. package/dist/bootstrap/init.js +0 -63
  45. package/dist/bootstrap/init.js.map +0 -1
  46. package/dist/bootstrap/platforms.js +0 -75
  47. package/dist/common.d.ts +0 -3
  48. package/dist/common.js +0 -20
  49. package/dist/common.js.map +0 -1
  50. package/dist/config.d.ts +0 -6
  51. package/dist/config.js +0 -102
  52. package/dist/config.js.map +0 -1
  53. package/dist/crypto.d.ts +0 -10
  54. package/dist/crypto.js +0 -38
  55. package/dist/crypto.js.map +0 -1
  56. package/dist/defaults.json +0 -28
  57. package/dist/index.d.ts +0 -2
  58. package/dist/index.js +0 -25
  59. package/dist/index.js.map +0 -1
  60. package/dist/janitor.d.ts +0 -15
  61. package/dist/janitor.js +0 -89
  62. package/dist/janitor.js.map +0 -1
  63. package/dist/listener.d.ts +0 -28
  64. package/dist/listener.js +0 -91
  65. package/dist/listener.js.map +0 -1
  66. package/dist/middleware/create-activity-object.d.ts +0 -6
  67. package/dist/middleware/create-activity-object.js +0 -19
  68. package/dist/middleware/create-activity-object.js.map +0 -1
  69. package/dist/middleware/expand-activity-stream.d.ts +0 -2
  70. package/dist/middleware/expand-activity-stream.js +0 -33
  71. package/dist/middleware/expand-activity-stream.js.map +0 -1
  72. package/dist/middleware/expand-activity-stream.test.data.d.ts +0 -480
  73. package/dist/middleware/expand-activity-stream.test.data.js +0 -360
  74. package/dist/middleware/expand-activity-stream.test.data.js.map +0 -1
  75. package/dist/middleware/store-credentials.d.ts +0 -3
  76. package/dist/middleware/store-credentials.js +0 -19
  77. package/dist/middleware/store-credentials.js.map +0 -1
  78. package/dist/middleware/validate.d.ts +0 -2
  79. package/dist/middleware/validate.js +0 -58
  80. package/dist/middleware/validate.js.map +0 -1
  81. package/dist/middleware/validate.test.data.d.ts +0 -532
  82. package/dist/middleware/validate.test.data.js +0 -263
  83. package/dist/middleware/validate.test.data.js.map +0 -1
  84. package/dist/middleware.d.ts +0 -10
  85. package/dist/middleware.js +0 -54
  86. package/dist/middleware.js.map +0 -1
  87. package/dist/platform-instance.d.ts +0 -77
  88. package/dist/platform-instance.js +0 -211
  89. package/dist/platform-instance.js.map +0 -1
  90. package/dist/platform.d.ts +0 -6
  91. package/dist/platform.js +0 -187
  92. package/dist/platform.js.map +0 -1
  93. package/dist/process-manager.d.ts +0 -11
  94. package/dist/process-manager.js +0 -78
  95. package/dist/process-manager.js.map +0 -1
  96. package/dist/routes.d.ts +0 -13
  97. package/dist/routes.js +0 -83
  98. package/dist/routes.js.map +0 -1
  99. package/dist/sockethub.d.ts +0 -39
  100. package/dist/sockethub.js +0 -119
  101. package/dist/sockethub.js.map +0 -1
  102. package/dist/store.d.ts +0 -5
  103. package/dist/store.js +0 -17
  104. package/dist/store.js.map +0 -1
  105. package/src/bootstrap/platforms.js +0 -75
  106. package/src/common.test.ts +0 -54
  107. package/src/common.ts +0 -14
  108. package/src/config.d.ts +0 -2
  109. package/src/crypto.d.ts +0 -5
  110. package/src/crypto.test.ts +0 -41
  111. package/src/crypto.ts +0 -41
  112. package/src/janitor.d.ts +0 -8
  113. package/src/middleware/validate.d.ts +0 -1
  114. package/src/middleware.d.ts +0 -21
  115. package/src/sockethub.d.ts +0 -1
  116. package/src/store.test.ts +0 -28
  117. package/src/store.ts +0 -17
  118. package/test/init-suite.js +0 -41
  119. package/test/queue.functional.test.js +0 -0
  120. package/test/sockethub-suite.js +0 -25
  121. package/tsconfig.json +0 -18
  122. package/views/examples/dummy.ejs +0 -93
  123. package/views/examples/feeds.ejs +0 -90
  124. package/views/examples/irc.ejs +0 -239
  125. package/views/examples/shared.js +0 -72
  126. package/views/examples/xmpp.ejs +0 -191
  127. package/views/index.ejs +0 -17
@@ -1,18 +0,0 @@
1
- export interface IInitObject {
2
- version: string;
3
- platforms: Map<string, {
4
- id: string;
5
- moduleName: string;
6
- config: {
7
- persist?: boolean;
8
- };
9
- schemas: {
10
- credentials?: object;
11
- messages?: object;
12
- };
13
- version: string;
14
- types: Array<string>;
15
- }>;
16
- }
17
- declare const init: IInitObject;
18
- export default init;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const debug_1 = __importDefault(require("debug"));
7
- const config_1 = __importDefault(require("../config"));
8
- const platforms_1 = __importDefault(require("./platforms"));
9
- const log = (0, debug_1.default)('sockethub:server:bootstrap:init');
10
- log('running init routines');
11
- const packageJSON = require('./../../package.json');
12
- const platforms = (0, platforms_1.default)(config_1.default.get('platforms'));
13
- if (config_1.default.get('info')) {
14
- // eslint-disable-next-line security-node/detect-crlf
15
- console.log('sockethub ' + packageJSON.version);
16
- console.log();
17
- // eslint-disable-next-line security-node/detect-crlf
18
- console.log('websocket: ws://' + config_1.default.get('sockethub:host') + ':'
19
- + config_1.default.get('sockethub:port')
20
- + config_1.default.get('sockethub:path'));
21
- console.log();
22
- // eslint-disable-next-line security-node/detect-crlf
23
- console.log('examples: ' + (config_1.default.get('examples:enabled') ?
24
- 'http://' +
25
- config_1.default.get('public:host') + ':' + config_1.default.get('public:port') + config_1.default.get('public:path')
26
- : 'disabled'));
27
- console.log();
28
- if (config_1.default.get('redis:url')) {
29
- // eslint-disable-next-line security-node/detect-crlf
30
- console.log('redis URL: ' + config_1.default.get('redis:url'));
31
- }
32
- else {
33
- // eslint-disable-next-line security-node/detect-crlf
34
- console.log('redis: ' + config_1.default.get('redis:host') + ':' + config_1.default.get('redis:port'));
35
- }
36
- console.log();
37
- // eslint-disable-next-line security-node/detect-crlf
38
- console.log('platforms: ' + Array.from(platforms.keys()).join(', '));
39
- if (platforms.size > 0) {
40
- for (let platform of platforms.values()) {
41
- console.log();
42
- // eslint-disable-next-line security-node/detect-crlf
43
- console.log(platform.moduleName);
44
- // eslint-disable-next-line security-node/detect-crlf
45
- console.log(' name: ' + platform.id + ' version: ' + platform.version);
46
- // eslint-disable-next-line security-node/detect-crlf
47
- console.log(' AS types: ' + platform.types.join(', '));
48
- }
49
- console.log();
50
- process.exit();
51
- }
52
- else {
53
- console.log();
54
- process.exit();
55
- }
56
- }
57
- log('finished init routines');
58
- const init = {
59
- version: packageJSON.version,
60
- platforms: platforms
61
- };
62
- exports.default = init;
63
- //# sourceMappingURL=/bootstrap/init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"/","sources":["bootstrap/init.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- /**
2
- * bootstrap/platforms.js
3
- *
4
- * A Singleton responsible for finding and loading all valid Sockethub
5
- * platforms, and whitelisting or blacklisting (or neither) based on the
6
- * config.
7
- */
8
- const debug = require('debug'),
9
- schemas = require('@sockethub/schemas').default;
10
-
11
- const log = debug('sockethub:server:bootstrap:platforms');
12
-
13
- log('loading platforms');
14
-
15
- // if the platform schema lists valid types it implements (essentially methods/verbs for
16
- // Sockethub to call) then add it to the supported types list.
17
- function platformListsSupportedTypes(p) {
18
- return ((p.schema.messages.properties) && (p.schema.messages.properties.type) &&
19
- (p.schema.messages.properties.type.enum) &&
20
- (p.schema.messages.properties.type.enum.length > 0));
21
- }
22
-
23
- module.exports = function platformLoad(platformsList, requireModule) {
24
- if (!requireModule) {
25
- requireModule = require;
26
- }
27
- // load platforms from config.platforms
28
- const platforms = new Map();
29
-
30
- if (platformsList.length <= 0) {
31
- throw new Error('No platforms defined. Please check your sockethub.config.json');
32
- }
33
-
34
- for (let moduleName of platformsList) {
35
- log(`loading ${moduleName}`);
36
- // try to load platform
37
- // eslint-disable-next-line security-node/detect-non-literal-require-calls
38
- const P = requireModule(moduleName);
39
- const p = new P();
40
- let types = [];
41
-
42
- const err = schemas.validatePlatformSchema(p.schema);
43
- if (err) {
44
- throw new Error(`${moduleName} ${err}`);
45
- } else if (typeof p.config !== 'object') {
46
- throw new Error(
47
- `${moduleName} platform must have a config property that is an object.`);
48
- } else {
49
- if (p.schema.credentials) {
50
- // register the platforms credentials schema
51
- types.push('credentials');
52
- } else {
53
- p.config.noCredentials = true;
54
- }
55
- }
56
-
57
- if (platformListsSupportedTypes(p)) {
58
- types = [...types, ...p.schema.messages.properties.type.enum];
59
- }
60
-
61
- const platformName = p.schema.name;
62
- platforms.set(platformName, {
63
- id: platformName,
64
- moduleName: moduleName,
65
- config: p.config,
66
- schemas: {
67
- credentials: p.schema.credentials || {},
68
- messages: p.schema.messages || {}
69
- },
70
- version: p.schema.version,
71
- types: types
72
- });
73
- }
74
- return platforms;
75
- };
package/dist/common.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { JobDataDecrypted, JobEncrypted } from "./sockethub";
2
- export declare function getPlatformId(platform: string, actor?: string): string;
3
- export declare function decryptJobData(job: JobEncrypted, secret: string): JobDataDecrypted;
package/dist/common.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.decryptJobData = exports.getPlatformId = void 0;
7
- const crypto_1 = __importDefault(require("./crypto"));
8
- function getPlatformId(platform, actor) {
9
- return actor ? crypto_1.default.hash(platform + actor) : crypto_1.default.hash(platform);
10
- }
11
- exports.getPlatformId = getPlatformId;
12
- function decryptJobData(job, secret) {
13
- return {
14
- title: job.data.title,
15
- msg: crypto_1.default.decrypt(job.data.msg, secret),
16
- sessionId: job.data.sessionId
17
- };
18
- }
19
- exports.decryptJobData = decryptJobData;
20
- //# sourceMappingURL=/common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"/","sources":["common.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAG9B,SAAgB,aAAa,CAAC,QAAgB,EAAE,KAAc;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvE,CAAC;AAFD,sCAEC;AAED,SAAgB,cAAc,CAAC,GAAiB,EAAE,MAAc;IAC9D,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;QACrB,GAAG,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QACzC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC;AAND,wCAMC"}
package/dist/config.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export declare class Config {
2
- constructor();
3
- get: (key: string) => any;
4
- }
5
- declare const config: Config;
6
- export default config;
package/dist/config.js DELETED
@@ -1,102 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.Config = void 0;
26
- const nconf_1 = __importDefault(require("nconf"));
27
- const debug_1 = require("debug");
28
- const fs = __importStar(require("fs"));
29
- const log = (0, debug_1.debug)('sockethub:server:bootstrap:config');
30
- class Config {
31
- constructor() {
32
- this.get = (key) => nconf_1.default.get(key);
33
- log('initializing config');
34
- // assign config loading priorities (command-line, environment, cfg, defaults)
35
- nconf_1.default.argv({
36
- 'info': {
37
- type: 'boolean',
38
- describe: 'Display Sockethub runtime information'
39
- },
40
- 'examples': {
41
- type: 'boolean',
42
- describe: 'Enable the examples pages served at [host]:[port]/examples'
43
- },
44
- 'config': {
45
- alias: 'c',
46
- default: '',
47
- describe: 'Path to sockethub.config.json'
48
- },
49
- 'port': {
50
- alias: 'sockethub.port'
51
- },
52
- 'host': {
53
- alias: 'sockethub.host'
54
- },
55
- 'redis_host': {
56
- alias: 'redis.host'
57
- },
58
- 'redis_port': {
59
- alias: 'redis.port'
60
- },
61
- 'redis_url': {
62
- alias: 'redis.url'
63
- }
64
- });
65
- nconf_1.default.env();
66
- // get value of flags defined by any command-line params
67
- const examples = nconf_1.default.get('examples');
68
- // Load the main config
69
- let configFile = nconf_1.default.get('config');
70
- if (configFile) {
71
- if (!fs.existsSync(configFile)) {
72
- throw new Error(`Config file not found: ${configFile}`);
73
- }
74
- }
75
- else {
76
- configFile = __dirname + '/../sockethub.config.json';
77
- }
78
- nconf_1.default.file(configFile);
79
- // only override config file if explicitly mentioned in command-line params
80
- nconf_1.default.set('examples:enabled', (examples ? true : nconf_1.default.get('examples:enabled')));
81
- // load defaults
82
- const defaults = require(__dirname + '/defaults.json');
83
- nconf_1.default.defaults(defaults);
84
- nconf_1.default.required(['platforms']);
85
- function defaultEnvParams(host, port, prop) {
86
- nconf_1.default.set(prop + ':host', host);
87
- nconf_1.default.set(prop + ':port', port);
88
- }
89
- defaultEnvParams(process.env.HOST || nconf_1.default.get('sockethub:host'), process.env.PORT || nconf_1.default.get('sockethub:port'), 'sockethub');
90
- defaultEnvParams(process.env.REDIS_HOST || nconf_1.default.get('redis:host'), process.env.REDIS_PORT || nconf_1.default.get('redis:port'), 'redis');
91
- // allow a redis://user:host:port url, takes precedence
92
- if (process.env.REDIS_URL) {
93
- nconf_1.default.set('redis:url', process.env.REDIS_URL);
94
- nconf_1.default.clear('redis:host');
95
- nconf_1.default.clear('redis:port');
96
- }
97
- }
98
- }
99
- exports.Config = Config;
100
- const config = new Config();
101
- exports.default = config;
102
- //# sourceMappingURL=/config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"/","sources":["config.ts"],"names":[],"mappings":"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"}
package/dist/crypto.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { IActivityStream } from "@sockethub/schemas";
2
- declare class Crypto {
3
- constructor();
4
- encrypt(json: IActivityStream, secret: string): string;
5
- decrypt(text: string, secret: string): IActivityStream;
6
- hash(text: string): string;
7
- randToken(len: number): string;
8
- }
9
- declare const crypto: Crypto;
10
- export default crypto;
package/dist/crypto.js DELETED
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const crypto_1 = require("crypto");
4
- const ALGORITHM = 'aes-256-cbc', IV_LENGTH = 16; // For AES, this is always 16
5
- class Crypto {
6
- constructor() { }
7
- encrypt(json, secret) {
8
- const iv = (0, crypto_1.randomBytes)(IV_LENGTH);
9
- const cipher = (0, crypto_1.createCipheriv)(ALGORITHM, Buffer.from(secret), iv);
10
- let encrypted = cipher.update(JSON.stringify(json));
11
- encrypted = Buffer.concat([encrypted, cipher.final()]);
12
- return iv.toString('hex') + ':' + encrypted.toString('hex');
13
- }
14
- decrypt(text, secret) {
15
- let parts = text.split(':');
16
- const iv = Buffer.from(parts.shift(), 'hex');
17
- const encryptedText = Buffer.from(parts.join(':'), 'hex');
18
- const decipher = (0, crypto_1.createDecipheriv)(ALGORITHM, Buffer.from(secret), iv);
19
- let decrypted = decipher.update(encryptedText);
20
- decrypted = Buffer.concat([decrypted, decipher.final()]);
21
- return JSON.parse(decrypted.toString());
22
- }
23
- hash(text) {
24
- const shasum = (0, crypto_1.createHash)('sha1');
25
- shasum.update(text);
26
- return shasum.digest('hex').substring(0, 7);
27
- }
28
- randToken(len) {
29
- if (len > 32) {
30
- throw new Error(`crypto.randToken supports a length param of up to 32, ${len} given`);
31
- }
32
- const buf = (0, crypto_1.randomBytes)(len);
33
- return buf.toString('hex').substring(0, len);
34
- }
35
- }
36
- const crypto = new Crypto();
37
- exports.default = crypto;
38
- //# sourceMappingURL=/crypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"/","sources":["crypto.ts"],"names":[],"mappings":";;AAAA,mCAAmF;AAGnF,MAAM,SAAS,GAAG,aAAa,EACzB,SAAS,GAAG,EAAE,CAAC,CAAC,6BAA6B;AAEnD,MAAM,MAAM;IACV,gBAAe,CAAC;IAChB,OAAO,CAAC,IAAqB,EAAE,MAAc;QAC3C,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,MAAc;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAA,yBAAgB,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,IAAY;QACf,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,SAAS,CAAC,GAAW;QACnB,IAAI,GAAG,GAAG,EAAE,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,QAAQ,CAAC,CAAC;SACvF;QACD,MAAM,GAAG,GAAG,IAAA,oBAAW,EAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,kBAAe,MAAM,CAAC"}
@@ -1,28 +0,0 @@
1
- {
2
- "activity-streams": {
3
- "opts": {
4
- "specialObjs": [ "credentials" ]
5
- }
6
- },
7
- "examples": {
8
- "enabled": false,
9
- "secret": 1234567890
10
- },
11
- "sockethub": {
12
- "port": 10550,
13
- "host": "localhost",
14
- "path": "/sockethub"
15
- },
16
- "log_file": "",
17
- "platforms": [],
18
- "public": {
19
- "protocol": "http",
20
- "host": "localhost",
21
- "port": 10550,
22
- "path": "/"
23
- },
24
- "redis": {
25
- "host": "127.0.0.1",
26
- "port": 6379
27
- }
28
- }
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare const Sockethub: any;
2
- declare const sockethub: any;
package/dist/index.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- const Sockethub = require('./sockethub').default;
3
- const sockethub = new Sockethub();
4
- module.exports = async () => {
5
- process.once('uncaughtException', function (err) {
6
- console.log('UNCAUGHT EXCEPTION');
7
- // eslint-disable-next-line security-node/detect-crlf
8
- console.log(err.stack);
9
- process.exit(1);
10
- });
11
- process.once('SIGTERM', function () {
12
- console.log('Received TERM signal. Exiting.');
13
- process.exit(0);
14
- });
15
- process.once('SIGINT', function () {
16
- console.log('Received INT signal. Exiting.');
17
- process.exit(0);
18
- });
19
- process.once('exit', async function () {
20
- console.log('destroying all platform instances');
21
- await sockethub.removeAllPlatformInstances();
22
- });
23
- sockethub.boot();
24
- };
25
- //# sourceMappingURL=/index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":";AAAA,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;AACjD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAElC,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;IAC1B,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG;QAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,qDAAqD;QACrD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK;QACxB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,0BAA0B,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,IAAI,EAAE,CAAC;AACnB,CAAC,CAAC"}
package/dist/janitor.d.ts DELETED
@@ -1,15 +0,0 @@
1
- /**
2
- * Every TICK the Janitor will compare existing platform instances with socket.ids (aka. sessionId)
3
- * If all of the sessionIds associated with a platformInstance have no corresponding socket.id
4
- * (from the http.io socket.io instance), then the platformInstance will first be flagged, if after
5
- * the next TICK the same state is determined, the platform will be destroyed (this allows for page
6
- * refreshes not destroying platform instances)
7
- */
8
- declare function janitorCycle(): void;
9
- declare const janitor: {
10
- clean: typeof janitorCycle;
11
- alreadyCalled: boolean;
12
- cycleCount: number;
13
- reportCount: number;
14
- };
15
- export default janitor;
package/dist/janitor.js DELETED
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const debug_1 = __importDefault(require("debug"));
7
- const platform_instance_1 = require("./platform-instance");
8
- const listener_1 = __importDefault(require("./listener"));
9
- const rmLog = (0, debug_1.default)('sockethub:server:janitor');
10
- const TICK = 15000;
11
- let alreadyCalled = false;
12
- let cycleCount = 0; // a counter for each setInterval call
13
- let reportCount = 0; // number of times a report is printed
14
- /**
15
- * Every TICK the Janitor will compare existing platform instances with socket.ids (aka. sessionId)
16
- * If all of the sessionIds associated with a platformInstance have no corresponding socket.id
17
- * (from the http.io socket.io instance), then the platformInstance will first be flagged, if after
18
- * the next TICK the same state is determined, the platform will be destroyed (this allows for page
19
- * refreshes not destroying platform instances)
20
- */
21
- function janitorCycle() {
22
- if (!alreadyCalled) {
23
- alreadyCalled = true;
24
- }
25
- else {
26
- return;
27
- }
28
- rmLog('initializing resource manager');
29
- setInterval(async () => {
30
- cycleCount++;
31
- const sockets = await listener_1.default.io.fetchSockets();
32
- if (!(cycleCount % 4)) {
33
- reportCount++;
34
- rmLog(`socket sessions: ${sockets.length} platform instances: ${platform_instance_1.platformInstances.size}`);
35
- }
36
- for (let platformInstance of platform_instance_1.platformInstances.values()) {
37
- removeStaleSocketSessions(platformInstance, sockets);
38
- // Static platforms are for global use, not tied to a unique to session / eg. credentials)
39
- if ((!platformInstance.global) && (platformInstance.sessions.size === 0)) {
40
- removeStalePlatformInstance(platformInstance);
41
- }
42
- else {
43
- platformInstance.flaggedForTermination = false;
44
- }
45
- }
46
- }, TICK);
47
- }
48
- function socketExists(sessionId, sockets) {
49
- for (let socket of sockets) {
50
- if (socket.id === sessionId) {
51
- return true;
52
- }
53
- }
54
- return false;
55
- }
56
- function removeSessionCallbacks(platformInstance, sessionId) {
57
- for (const key in platformInstance.sessionCallbacks) {
58
- platformInstance.sessionCallbacks[key].delete(sessionId);
59
- }
60
- }
61
- function removeStaleSocketSessions(platformInstance, sockets) {
62
- for (const sessionId of platformInstance.sessions.values()) {
63
- if (!socketExists(sessionId, sockets)) {
64
- rmLog('removing stale socket session reference ' + sessionId + ' in platform instance '
65
- + platformInstance.id);
66
- platformInstance.sessions.delete(sessionId);
67
- removeSessionCallbacks(platformInstance, sessionId);
68
- }
69
- }
70
- }
71
- function removeStalePlatformInstance(platformInstance) {
72
- if (platformInstance.flaggedForTermination) {
73
- rmLog(`terminating platform instance ${platformInstance.id}`);
74
- platformInstance.destroy(); // terminate
75
- }
76
- else {
77
- rmLog(`flagging for termination platform instance ${platformInstance.id} ` +
78
- `(no registered sessions found)`);
79
- platformInstance.flaggedForTermination = true;
80
- }
81
- }
82
- const janitor = {
83
- clean: janitorCycle,
84
- alreadyCalled: alreadyCalled,
85
- cycleCount: cycleCount,
86
- reportCount: reportCount
87
- };
88
- exports.default = janitor;
89
- //# sourceMappingURL=/janitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"janitor.js","sourceRoot":"/","sources":["janitor.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /// <reference types="node" />
2
- import * as HTTP from 'http';
3
- import { Server } from 'socket.io';
4
- /**
5
- * Handles the initialization and access of Sockethub resources.
6
- *
7
- * - HTTP Server
8
- * - Express (serves resources and example routes)
9
- * - Socket.io (bidirectional websocket communication)
10
- */
11
- declare class Listener {
12
- io: Server;
13
- http: HTTP.Server;
14
- /**
15
- * Starts the services needed for Sockethub to operate. After this command completes,
16
- * the `http` and `io` class properties will be set.
17
- */
18
- start(): void;
19
- private startHttp;
20
- private static initExpress;
21
- }
22
- declare const listener: Listener;
23
- export interface SocketInstance {
24
- id: string;
25
- emit: Function;
26
- }
27
- export declare function getSocket(sessionId: string): Promise<SocketInstance>;
28
- export default listener;