@sockethub/server 5.0.0-alpha.4 → 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 (105) hide show
  1. package/README.md +54 -60
  2. package/bin/sockethub +4 -3
  3. package/package.json +42 -54
  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 +16 -13
  9. package/src/bootstrap/init.test.ts +211 -0
  10. package/src/bootstrap/init.ts +152 -76
  11. package/src/bootstrap/load-platforms.ts +151 -0
  12. package/src/config.test.ts +27 -22
  13. package/src/config.ts +82 -86
  14. package/src/defaults.json +24 -16
  15. package/src/index.ts +61 -22
  16. package/src/janitor.test.ts +191 -169
  17. package/src/janitor.ts +141 -118
  18. package/src/listener.ts +148 -58
  19. package/src/middleware/create-activity-object.test.ts +28 -8
  20. package/src/middleware/create-activity-object.ts +16 -10
  21. package/src/middleware/expand-activity-stream.test.data.ts +331 -345
  22. package/src/middleware/expand-activity-stream.test.ts +65 -66
  23. package/src/middleware/expand-activity-stream.ts +26 -21
  24. package/src/middleware/store-credentials.test.ts +74 -60
  25. package/src/middleware/store-credentials.ts +14 -8
  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 +62 -36
  29. package/src/middleware.test.ts +168 -138
  30. package/src/middleware.ts +57 -55
  31. package/src/platform-instance.test.ts +508 -214
  32. package/src/platform-instance.ts +324 -231
  33. package/src/platform.test.ts +375 -0
  34. package/src/platform.ts +306 -117
  35. package/src/process-manager.ts +75 -51
  36. package/src/routes.test.ts +43 -89
  37. package/src/routes.ts +40 -78
  38. package/src/sentry.test.ts +106 -0
  39. package/src/sentry.ts +19 -0
  40. package/src/sockethub.ts +190 -129
  41. package/src/util.ts +5 -0
  42. package/coverage/tmp/coverage-39338-1663949520416-0.json +0 -1
  43. package/dist/bootstrap/init.d.ts +0 -18
  44. package/dist/bootstrap/init.js +0 -64
  45. package/dist/bootstrap/init.js.map +0 -1
  46. package/dist/bootstrap/platforms.js +0 -75
  47. package/dist/config.d.ts +0 -12
  48. package/dist/config.js +0 -107
  49. package/dist/config.js.map +0 -1
  50. package/dist/defaults.json +0 -28
  51. package/dist/index.d.ts +0 -1
  52. package/dist/index.js +0 -29
  53. package/dist/index.js.map +0 -1
  54. package/dist/janitor.d.ts +0 -30
  55. package/dist/janitor.js +0 -120
  56. package/dist/janitor.js.map +0 -1
  57. package/dist/listener.d.ts +0 -31
  58. package/dist/listener.js +0 -94
  59. package/dist/listener.js.map +0 -1
  60. package/dist/middleware/create-activity-object.d.ts +0 -8
  61. package/dist/middleware/create-activity-object.js +0 -19
  62. package/dist/middleware/create-activity-object.js.map +0 -1
  63. package/dist/middleware/expand-activity-stream.d.ts +0 -3
  64. package/dist/middleware/expand-activity-stream.js +0 -36
  65. package/dist/middleware/expand-activity-stream.js.map +0 -1
  66. package/dist/middleware/expand-activity-stream.test.data.d.ts +0 -480
  67. package/dist/middleware/expand-activity-stream.test.data.js +0 -360
  68. package/dist/middleware/expand-activity-stream.test.data.js.map +0 -1
  69. package/dist/middleware/store-credentials.d.ts +0 -3
  70. package/dist/middleware/store-credentials.js +0 -9
  71. package/dist/middleware/store-credentials.js.map +0 -1
  72. package/dist/middleware/validate.d.ts +0 -2
  73. package/dist/middleware/validate.js +0 -56
  74. package/dist/middleware/validate.js.map +0 -1
  75. package/dist/middleware/validate.test.data.d.ts +0 -532
  76. package/dist/middleware/validate.test.data.js +0 -263
  77. package/dist/middleware/validate.test.data.js.map +0 -1
  78. package/dist/middleware.d.ts +0 -21
  79. package/dist/middleware.js +0 -56
  80. package/dist/middleware.js.map +0 -1
  81. package/dist/platform-instance.d.ts +0 -78
  82. package/dist/platform-instance.js +0 -226
  83. package/dist/platform-instance.js.map +0 -1
  84. package/dist/platform.d.ts +0 -6
  85. package/dist/platform.js +0 -176
  86. package/dist/platform.js.map +0 -1
  87. package/dist/process-manager.d.ts +0 -11
  88. package/dist/process-manager.js +0 -82
  89. package/dist/process-manager.js.map +0 -1
  90. package/dist/routes.d.ts +0 -13
  91. package/dist/routes.js +0 -83
  92. package/dist/routes.js.map +0 -1
  93. package/dist/sockethub.d.ts +0 -18
  94. package/dist/sockethub.js +0 -112
  95. package/dist/sockethub.js.map +0 -1
  96. package/src/bootstrap/platforms.js +0 -75
  97. package/test/init-suite.js +0 -41
  98. package/test/sockethub-suite.js +0 -25
  99. package/tsconfig.json +0 -18
  100. package/views/examples/dummy.ejs +0 -95
  101. package/views/examples/feeds.ejs +0 -90
  102. package/views/examples/irc.ejs +0 -239
  103. package/views/examples/shared.js +0 -72
  104. package/views/examples/xmpp.ejs +0 -217
  105. package/views/index.ejs +0 -17
@@ -1,365 +1,351 @@
1
1
  export default [
2
- {
3
- "name": "not an object",
4
- "valid": false,
5
- "type": "message",
6
- "input": "hello world",
7
- "error": "Error: message received is not an object."
8
- },
9
- {
10
- "name": "basic invalid type",
11
- "valid":true,
12
- "type":"credentials",
13
- "input":{
14
- "id":"foo",
15
- "type":"send",
16
- "context":"dummy",
17
- "actor":{
18
- "id":"dood@irc.freenode.net",
19
- "type":"person",
20
- "name":"dood"
21
- },
22
- "target":{
23
- "id":"irc.freenode.net/service",
24
- "type":"person",
25
- "name":"service"
26
- },
27
- "object":{
28
- "type":"credentials"
29
- }
2
+ {
3
+ name: "not an object",
4
+ valid: false,
5
+ type: "message",
6
+ input: "hello world",
7
+ error: "Error: message received is not an object.",
30
8
  },
31
- "output": "same"
32
- },
33
- {
34
- "name": "basic valid type",
35
- "valid":true,
36
- "type":"credentials",
37
- "input":{
38
- "id":"foo",
39
- "type":"credentials",
40
- "context":"dummy",
41
- "actor":{
42
- "id":"dood@irc.freenode.net",
43
- "type":"person",
44
- "name":"dood"
45
- },
46
- "target":{
47
- "id":"irc.freenode.net/service",
48
- "type":"person",
49
- "name":"service"
50
- },
51
- "object":{
52
- "type":"credentials"
53
- }
9
+ {
10
+ name: "basic invalid type",
11
+ valid: true,
12
+ type: "credentials",
13
+ input: {
14
+ id: "foo",
15
+ type: "send",
16
+ context: "dummy",
17
+ actor: {
18
+ id: "dood@irc.freenode.net",
19
+ type: "person",
20
+ name: "dood",
21
+ },
22
+ target: {
23
+ id: "irc.freenode.net/service",
24
+ type: "person",
25
+ name: "service",
26
+ },
27
+ object: {
28
+ type: "credentials",
29
+ },
30
+ },
31
+ output: "same",
54
32
  },
55
- "output":"same"
56
- },
57
- {
58
- "name":"new format",
59
- "valid":true,
60
- "type":"credentials",
61
- "input":{
62
- "type":"credentials",
63
- "context":"irc",
64
- "actor":{
65
- "id":"sh-9K3Vk@irc.freenode.net",
66
- "type":"person",
67
- "name":"sh-9K3Vk",
68
- "image":{
69
- "height":250,
70
- "mediaType":"image/jpeg",
71
- "url":"https://example.org/image.jpg",
72
- "width":250
33
+ {
34
+ name: "basic valid type",
35
+ valid: true,
36
+ type: "credentials",
37
+ input: {
38
+ id: "foo",
39
+ type: "credentials",
40
+ context: "dummy",
41
+ actor: {
42
+ id: "dood@irc.freenode.net",
43
+ type: "person",
44
+ name: "dood",
45
+ },
46
+ target: {
47
+ id: "irc.freenode.net/service",
48
+ type: "person",
49
+ name: "service",
50
+ },
51
+ object: {
52
+ type: "credentials",
53
+ },
73
54
  },
74
- "url":"https://sockethub.org"
75
- },
76
- "object":{
77
- "type":"credentials",
78
- "nick":"sh-9K3Vk",
79
- "port":6667,
80
- "secure":false,
81
- "server":"irc.freenode.net"
82
- }
55
+ output: "same",
83
56
  },
84
- "output":"same"
85
- },
86
- {
87
- "name":"no type specified",
88
- "valid":false,
89
- "type":"credentials",
90
- "input":{
91
- "actor":"hyper_rau@localhost",
92
- "context":"xmpp",
93
- "object":{
94
- "username":"hyper_rau",
95
- "password":"123",
96
- "server":"localhost",
97
- "port":5222,
98
- "resource":"laptop"
99
- }
57
+ {
58
+ name: "new format",
59
+ valid: true,
60
+ type: "credentials",
61
+ input: {
62
+ type: "credentials",
63
+ context: "irc",
64
+ actor: {
65
+ id: "sh-9K3Vk@irc.freenode.net",
66
+ type: "person",
67
+ name: "sh-9K3Vk",
68
+ image: {
69
+ height: 250,
70
+ mediaType: "image/jpeg",
71
+ url: "https://example.org/image.jpg",
72
+ width: 250,
73
+ },
74
+ url: "https://sockethub.org",
75
+ },
76
+ object: {
77
+ type: "credentials",
78
+ nick: "sh-9K3Vk",
79
+ port: 6667,
80
+ secure: false,
81
+ server: "irc.freenode.net",
82
+ },
83
+ },
84
+ output: "same",
100
85
  },
101
- "error": "Error: activity stream must contain a type property."
102
- },
103
- {
104
- "name": "expand unknown actor",
105
- "type": "message",
106
- "valid": "true",
107
- "input": {
108
- "context": "foo",
109
- "type": "bar",
110
- "actor": "foo@bar",
111
- "object": {
112
- "content": "bar"
113
- }
86
+ {
87
+ name: "no type specified",
88
+ valid: false,
89
+ type: "credentials",
90
+ input: {
91
+ actor: "hyper_rau@localhost",
92
+ context: "xmpp",
93
+ object: {
94
+ username: "hyper_rau",
95
+ password: "123",
96
+ server: "localhost",
97
+ port: 5222,
98
+ resource: "laptop",
99
+ },
100
+ },
101
+ error: "Error: activity stream must contain a type property.",
114
102
  },
115
- "output": {
116
- "context": "foo",
117
- "type": "bar",
118
- "actor": {
119
- "id": "foo@bar"
120
- },
121
- "object": {
122
- "content": "bar"
123
- }
124
- }
125
- },
126
- {
127
- "name": "expand unknown actor 2",
128
- "type": "message",
129
- "valid": "true",
130
- "input": {
131
- "context": "foo",
132
- "type": "bar",
133
- "actor": "someone@example.org/resource",
134
- "object": {
135
- "content": "bar"
136
- }
103
+ {
104
+ name: "expand unknown actor",
105
+ type: "message",
106
+ valid: "true",
107
+ input: {
108
+ context: "foo",
109
+ type: "bar",
110
+ actor: "foo@bar",
111
+ object: {
112
+ content: "bar",
113
+ },
114
+ },
115
+ output: {
116
+ context: "foo",
117
+ type: "bar",
118
+ actor: {
119
+ id: "foo@bar",
120
+ },
121
+ object: {
122
+ content: "bar",
123
+ },
124
+ },
137
125
  },
138
- "output": {
139
- "context": "foo",
140
- "type": "bar",
141
- "actor": {
142
- "id": "someone@example.org/resource"
143
- },
144
- "object": {
145
- "content": "bar"
146
- }
147
- }
148
- },
149
- {
150
- "name": "expand unknown actor 2",
151
- "type": "message",
152
- "valid": "true",
153
- "input": {
154
- "context": "foo",
155
- "type": "bar",
156
- "actor": "xmpp:someone@example.org/resource",
157
- "object": {
158
- "content": "bar"
159
- }
126
+ {
127
+ name: "expand unknown actor 2",
128
+ type: "message",
129
+ valid: "true",
130
+ input: {
131
+ context: "foo",
132
+ type: "bar",
133
+ actor: "someone@example.org/resource",
134
+ object: {
135
+ content: "bar",
136
+ },
137
+ },
138
+ output: {
139
+ context: "foo",
140
+ type: "bar",
141
+ actor: {
142
+ id: "someone@example.org/resource",
143
+ },
144
+ object: {
145
+ content: "bar",
146
+ },
147
+ },
160
148
  },
161
- "output": {
162
- "context": "foo",
163
- "type": "bar",
164
- "actor": {
165
- "id": "xmpp:someone@example.org/resource"
166
- },
167
- "object": {
168
- "content": "bar"
169
- }
170
- }
171
- },
172
- {
173
- "name":"person",
174
- "type":"message",
175
- "valid":true,
176
- "input":{
177
- "context": "some context",
178
- "type": "some type",
179
- "actor": "blah",
180
- "object": {}
149
+ {
150
+ name: "expand unknown actor 2",
151
+ type: "message",
152
+ valid: "true",
153
+ input: {
154
+ context: "foo",
155
+ type: "bar",
156
+ actor: "xmpp:someone@example.org/resource",
157
+ object: {
158
+ content: "bar",
159
+ },
160
+ },
161
+ output: {
162
+ context: "foo",
163
+ type: "bar",
164
+ actor: {
165
+ id: "xmpp:someone@example.org/resource",
166
+ },
167
+ object: {
168
+ content: "bar",
169
+ },
170
+ },
181
171
  },
182
- "output": {
183
- "context": "some context",
184
- "type": "some type",
185
- "actor": {
186
- "id":"blah",
187
- "type":"person",
188
- "name":"dood"
189
- },
190
- "object": {}
191
- }
192
- },
193
- {
194
- "name":"person with extras",
195
- "valid":true,
196
- "type":"message",
197
- "input": {
198
- "context": "some context",
199
- "type": "some type",
200
- "actor": "blah2",
201
- "object": {}
172
+ {
173
+ name: "person",
174
+ type: "message",
175
+ valid: true,
176
+ input: {
177
+ context: "some context",
178
+ type: "some type",
179
+ actor: "blah",
180
+ object: {},
181
+ },
182
+ output: {
183
+ context: "some context",
184
+ type: "some type",
185
+ actor: {
186
+ id: "blah",
187
+ type: "person",
188
+ name: "dood",
189
+ },
190
+ object: {},
191
+ },
202
192
  },
203
- "output": {
204
- "context": "some context",
205
- "type": "some type",
206
- "actor": {
207
- "id":"blah2",
208
- "type":"person",
209
- "name":"bob",
210
- "hello":"there",
211
- "i":[
212
- "am",
213
- "extras"
214
- ]
215
- },
216
- "object": {}
217
- }
218
- },
219
- {
220
- "name":"bad parent object",
221
- "valid":false,
222
- "type":"message",
223
- "input":{
224
- "string":"this is a string",
225
- "array":[
226
- "this",
227
- "is",
228
- {
229
- "an":"array"
230
- }
231
- ],
232
- "as":{
233
- "id":"blah",
234
- "type":"send",
235
- "context":"hello",
236
- "actor":{
237
- "name":"dood"
193
+ {
194
+ name: "person with extras",
195
+ valid: true,
196
+ type: "message",
197
+ input: {
198
+ context: "some context",
199
+ type: "some type",
200
+ actor: "blah2",
201
+ object: {},
238
202
  },
239
- "target":{
240
- "type":"person",
241
- "name":"bob"
203
+ output: {
204
+ context: "some context",
205
+ type: "some type",
206
+ actor: {
207
+ id: "blah2",
208
+ type: "person",
209
+ name: "bob",
210
+ hello: "there",
211
+ i: ["am", "extras"],
212
+ },
213
+ object: {},
242
214
  },
243
- "object":{
244
- "type":"credentials"
245
- }
246
- },
247
- "noId":{
248
- "name":"dood"
249
- },
250
- "noId2":{
251
- "type":"person",
252
- "name":"bob"
253
- },
254
- "noDisplayName":{
255
- "id":"larg"
256
- }
257
215
  },
258
- "error": "Error: activity stream must contain a context property"
259
- },
260
- {
261
- "name":"no actor specified",
262
- "valid":false,
263
- "type":"message",
264
- "input":{
265
- "type": "some type",
266
- "context":"xmpp",
267
- "object":{
268
- "type": "error",
269
- "content": "error message"
270
- }
216
+ {
217
+ name: "bad parent object",
218
+ valid: false,
219
+ type: "message",
220
+ input: {
221
+ string: "this is a string",
222
+ array: [
223
+ "this",
224
+ "is",
225
+ {
226
+ an: "array",
227
+ },
228
+ ],
229
+ as: {
230
+ id: "blah",
231
+ type: "send",
232
+ context: "hello",
233
+ actor: {
234
+ name: "dood",
235
+ },
236
+ target: {
237
+ type: "person",
238
+ name: "bob",
239
+ },
240
+ object: {
241
+ type: "credentials",
242
+ },
243
+ },
244
+ noId: {
245
+ name: "dood",
246
+ },
247
+ noId2: {
248
+ type: "person",
249
+ name: "bob",
250
+ },
251
+ noDisplayName: {
252
+ id: "larg",
253
+ },
254
+ },
255
+ error: "Error: activity stream must contain a context property",
271
256
  },
272
- "error": "Error: activity stream must contain an actor property."
273
- },
274
- {
275
- "name":"expand actor and target of unknowns",
276
- "valid":true,
277
- "type":"message",
278
- "input":{
279
- "actor":"irc://uuu@localhost",
280
- "type":"join",
281
- "context":"irc",
282
- "target":"irc://irc.dooder.net/a-room"
257
+ {
258
+ name: "no actor specified",
259
+ valid: false,
260
+ type: "message",
261
+ input: {
262
+ type: "some type",
263
+ context: "xmpp",
264
+ object: {
265
+ type: "error",
266
+ content: "error message",
267
+ },
268
+ },
269
+ error: "Error: activity stream must contain an actor property.",
283
270
  },
284
- "output":{
285
- "actor":{
286
- "id":"irc://uuu@localhost"
287
- },
288
- "type":"join",
289
- "context":"irc",
290
- "target":{
291
- "id":"irc://irc.dooder.net/a-room"
292
- }
293
- }
294
- },
295
- {
296
- "name":"expand actor and target of unknowns",
297
- "valid":true,
298
- "type":"message",
299
- "input":{
300
- "actor":"hyper_rau@localhost",
301
- "type":"join",
302
- "context":"xmpp",
303
- "object":{
304
-
305
- },
306
- "target":"dooder"
271
+ {
272
+ name: "expand actor and target of unknowns",
273
+ valid: true,
274
+ type: "message",
275
+ input: {
276
+ actor: "irc://uuu@localhost",
277
+ type: "join",
278
+ context: "irc",
279
+ target: "irc://irc.dooder.net/a-room",
280
+ },
281
+ output: {
282
+ actor: {
283
+ id: "irc://uuu@localhost",
284
+ },
285
+ type: "join",
286
+ context: "irc",
287
+ target: {
288
+ id: "irc://irc.dooder.net/a-room",
289
+ },
290
+ },
307
291
  },
308
- "output":{
309
- "actor":{
310
- "id":"hyper_rau@localhost"
311
- },
312
- "type":"join",
313
- "context":"xmpp",
314
- "object":{
315
-
316
- },
317
- "target":{
318
- "id":"dooder"
319
- }
320
- }
321
- },
322
- {
323
- "name":"expand known person",
324
- "valid":true,
325
- "type":"message",
326
- "input":{
327
- "actor":"sh-9K3Vk@irc.freenode.net",
328
- "target":"blah3",
329
- "type":"send",
330
- "context":"irc",
331
- "object":{
332
-
333
- }
292
+ {
293
+ name: "expand actor and target of unknowns",
294
+ valid: true,
295
+ type: "message",
296
+ input: {
297
+ actor: "hyper_rau@localhost",
298
+ type: "join",
299
+ context: "xmpp",
300
+ object: {},
301
+ target: "dooder",
302
+ },
303
+ output: {
304
+ actor: {
305
+ id: "hyper_rau@localhost",
306
+ },
307
+ type: "join",
308
+ context: "xmpp",
309
+ object: {},
310
+ target: {
311
+ id: "dooder",
312
+ },
313
+ },
334
314
  },
335
- "output":{
336
- "actor":{
337
- "id":"sh-9K3Vk@irc.freenode.net",
338
- "type":"person",
339
- "name":"sh-9K3Vk",
340
- "image":{
341
- "height":250,
342
- "mediaType":"image/jpeg",
343
- "url":"https://example.org/image.jpg",
344
- "width":250
315
+ {
316
+ name: "expand known person",
317
+ valid: true,
318
+ type: "message",
319
+ input: {
320
+ actor: "sh-9K3Vk@irc.freenode.net",
321
+ target: "blah3",
322
+ type: "send",
323
+ context: "irc",
324
+ object: {},
345
325
  },
346
- "url":"https://sockethub.org"
347
- },
348
- "target":{
349
- "id":"blah3",
350
- "type":"person",
351
- "name":"bob",
352
- "hello":"there",
353
- "i":[
354
- "am",
355
- "extras"
356
- ]
357
- },
358
- "type":"send",
359
- "context":"irc",
360
- "object":{
361
-
362
- }
363
- }
364
- }
326
+ output: {
327
+ actor: {
328
+ id: "sh-9K3Vk@irc.freenode.net",
329
+ type: "person",
330
+ name: "sh-9K3Vk",
331
+ image: {
332
+ height: 250,
333
+ mediaType: "image/jpeg",
334
+ url: "https://example.org/image.jpg",
335
+ width: 250,
336
+ },
337
+ url: "https://sockethub.org",
338
+ },
339
+ target: {
340
+ id: "blah3",
341
+ type: "person",
342
+ name: "bob",
343
+ hello: "there",
344
+ i: ["am", "extras"],
345
+ },
346
+ type: "send",
347
+ context: "irc",
348
+ object: {},
349
+ },
350
+ },
365
351
  ];