@gitpod/gitpod-protocol 0.1.5-update-ovsx.0 → 0.1.5-update-yarnlock.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 (455) hide show
  1. package/data/gitpod-schema.json +159 -25
  2. package/lib/accounting-protocol.d.ts +165 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -0
  4. package/lib/accounting-protocol.js +120 -0
  5. package/lib/accounting-protocol.js.map +1 -0
  6. package/lib/admin-protocol.d.ts +51 -6
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +17 -2
  9. package/lib/admin-protocol.js.map +1 -1
  10. package/lib/analytics.d.ts +44 -0
  11. package/lib/analytics.d.ts.map +1 -0
  12. package/lib/analytics.js +10 -0
  13. package/lib/analytics.js.map +1 -0
  14. package/lib/attribution.d.ts +25 -0
  15. package/lib/attribution.d.ts.map +1 -0
  16. package/lib/attribution.js +58 -0
  17. package/lib/attribution.js.map +1 -0
  18. package/lib/auth.d.ts +25 -0
  19. package/lib/auth.d.ts.map +1 -0
  20. package/lib/auth.js +16 -0
  21. package/lib/auth.js.map +1 -0
  22. package/lib/billing-mode.d.ts +45 -0
  23. package/lib/billing-mode.d.ts.map +1 -0
  24. package/lib/billing-mode.js +44 -0
  25. package/lib/billing-mode.js.map +1 -0
  26. package/lib/blocked-repositories-protocol.d.ts +13 -0
  27. package/lib/blocked-repositories-protocol.d.ts.map +1 -0
  28. package/lib/blocked-repositories-protocol.js +8 -0
  29. package/lib/blocked-repositories-protocol.js.map +1 -0
  30. package/lib/context-url.d.ts +30 -0
  31. package/lib/context-url.d.ts.map +1 -0
  32. package/lib/context-url.js +100 -0
  33. package/lib/context-url.js.map +1 -0
  34. package/lib/context-url.spec.d.ts +12 -0
  35. package/lib/context-url.spec.d.ts.map +1 -0
  36. package/lib/context-url.spec.js +81 -0
  37. package/lib/context-url.spec.js.map +1 -0
  38. package/lib/encryption/container-module.d.ts +2 -2
  39. package/lib/encryption/container-module.d.ts.map +1 -1
  40. package/lib/encryption/container-module.js +8 -6
  41. package/lib/encryption/container-module.js.map +1 -1
  42. package/lib/encryption/encryption-engine.d.ts +2 -2
  43. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  44. package/lib/encryption/encryption-engine.js +28 -28
  45. package/lib/encryption/encryption-engine.js.map +1 -1
  46. package/lib/encryption/encryption-engine.spec.d.ts +3 -3
  47. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  48. package/lib/encryption/encryption-engine.spec.js +32 -39
  49. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  50. package/lib/encryption/encryption-service.d.ts +2 -2
  51. package/lib/encryption/encryption-service.d.ts.map +1 -1
  52. package/lib/encryption/encryption-service.js +33 -46
  53. package/lib/encryption/encryption-service.js.map +1 -1
  54. package/lib/encryption/key-provider.d.ts +3 -3
  55. package/lib/encryption/key-provider.d.ts.map +1 -1
  56. package/lib/encryption/key-provider.js +34 -40
  57. package/lib/encryption/key-provider.js.map +1 -1
  58. package/lib/env.d.ts +2 -8
  59. package/lib/env.d.ts.map +1 -1
  60. package/lib/env.js +10 -29
  61. package/lib/env.js.map +1 -1
  62. package/lib/experiments/always-default.d.ts +8 -0
  63. package/lib/experiments/always-default.d.ts.map +1 -0
  64. package/lib/experiments/always-default.js +20 -0
  65. package/lib/experiments/always-default.js.map +1 -0
  66. package/lib/experiments/configcat-server.d.ts +10 -0
  67. package/lib/experiments/configcat-server.d.ts.map +1 -0
  68. package/lib/experiments/configcat-server.js +37 -0
  69. package/lib/experiments/configcat-server.js.map +1 -0
  70. package/lib/experiments/configcat.d.ts +21 -0
  71. package/lib/experiments/configcat.d.ts.map +1 -0
  72. package/lib/experiments/configcat.js +51 -0
  73. package/lib/experiments/configcat.js.map +1 -0
  74. package/lib/experiments/types.d.ts +22 -0
  75. package/lib/experiments/types.d.ts.map +1 -0
  76. package/lib/experiments/types.js +10 -0
  77. package/lib/experiments/types.js.map +1 -0
  78. package/lib/frontend-dashboard-service.d.ts +99 -0
  79. package/lib/frontend-dashboard-service.d.ts.map +1 -0
  80. package/lib/frontend-dashboard-service.js +55 -0
  81. package/lib/frontend-dashboard-service.js.map +1 -0
  82. package/lib/gitpod-file-parser.d.ts +2 -2
  83. package/lib/gitpod-file-parser.d.ts.map +1 -1
  84. package/lib/gitpod-file-parser.js +29 -44
  85. package/lib/gitpod-file-parser.js.map +1 -1
  86. package/lib/gitpod-file-parser.spec.d.ts +2 -2
  87. package/lib/gitpod-file-parser.spec.js +147 -144
  88. package/lib/gitpod-file-parser.spec.js.map +1 -1
  89. package/lib/gitpod-service.d.ts +290 -50
  90. package/lib/gitpod-service.d.ts.map +1 -1
  91. package/lib/gitpod-service.js +288 -123
  92. package/lib/gitpod-service.js.map +1 -1
  93. package/lib/headless-workspace-log.d.ts +11 -13
  94. package/lib/headless-workspace-log.d.ts.map +1 -1
  95. package/lib/headless-workspace-log.js +8 -9
  96. package/lib/headless-workspace-log.js.map +1 -1
  97. package/lib/ide-frontend-service.d.ts +26 -0
  98. package/lib/ide-frontend-service.d.ts.map +1 -0
  99. package/lib/ide-frontend-service.js +8 -0
  100. package/lib/ide-frontend-service.js.map +1 -0
  101. package/lib/ide-protocol.d.ts +126 -0
  102. package/lib/ide-protocol.d.ts.map +1 -0
  103. package/lib/ide-protocol.js +18 -0
  104. package/lib/ide-protocol.js.map +1 -0
  105. package/lib/index.d.ts +18 -12
  106. package/lib/index.d.ts.map +1 -1
  107. package/lib/index.js +28 -13
  108. package/lib/index.js.map +1 -1
  109. package/lib/installation-admin-protocol.d.ts +30 -0
  110. package/lib/installation-admin-protocol.d.ts.map +1 -0
  111. package/lib/installation-admin-protocol.js +31 -0
  112. package/lib/installation-admin-protocol.js.map +1 -0
  113. package/lib/license-protocol.d.ts +9 -2
  114. package/lib/license-protocol.d.ts.map +1 -1
  115. package/lib/license-protocol.js +3 -2
  116. package/lib/license-protocol.js.map +1 -1
  117. package/lib/messaging/browser/connection.d.ts +6 -4
  118. package/lib/messaging/browser/connection.d.ts.map +1 -1
  119. package/lib/messaging/browser/connection.js +188 -48
  120. package/lib/messaging/browser/connection.js.map +1 -1
  121. package/lib/messaging/browser/window-connection.d.ts +9 -4
  122. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  123. package/lib/messaging/browser/window-connection.js +48 -59
  124. package/lib/messaging/browser/window-connection.js.map +1 -1
  125. package/lib/messaging/client-call-metrics.d.ts +21 -0
  126. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  127. package/lib/messaging/client-call-metrics.js +95 -0
  128. package/lib/messaging/client-call-metrics.js.map +1 -0
  129. package/lib/messaging/error.d.ts +18 -4
  130. package/lib/messaging/error.d.ts.map +1 -1
  131. package/lib/messaging/error.js +38 -7
  132. package/lib/messaging/error.js.map +1 -1
  133. package/lib/messaging/handler.d.ts +10 -0
  134. package/lib/messaging/handler.d.ts.map +1 -1
  135. package/lib/messaging/handler.js +2 -1
  136. package/lib/messaging/handler.js.map +1 -1
  137. package/lib/messaging/node/connection.d.ts +1 -17
  138. package/lib/messaging/node/connection.d.ts.map +1 -1
  139. package/lib/messaging/node/connection.js +24 -59
  140. package/lib/messaging/node/connection.js.map +1 -1
  141. package/lib/messaging/proxy-factory.d.ts +3 -1
  142. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  143. package/lib/messaging/proxy-factory.js +76 -162
  144. package/lib/messaging/proxy-factory.js.map +1 -1
  145. package/lib/oss-allowlist.d.ts +14 -0
  146. package/lib/oss-allowlist.d.ts.map +1 -0
  147. package/lib/oss-allowlist.js +8 -0
  148. package/lib/oss-allowlist.js.map +1 -0
  149. package/lib/payment-protocol.d.ts +18 -0
  150. package/lib/payment-protocol.d.ts.map +1 -0
  151. package/lib/payment-protocol.js +13 -0
  152. package/lib/payment-protocol.js.map +1 -0
  153. package/lib/permission.d.ts +26 -15
  154. package/lib/permission.d.ts.map +1 -1
  155. package/lib/permission.js +50 -36
  156. package/lib/permission.js.map +1 -1
  157. package/lib/plans.d.ts +213 -0
  158. package/lib/plans.d.ts.map +1 -0
  159. package/lib/plans.js +625 -0
  160. package/lib/plans.js.map +1 -0
  161. package/lib/protocol.d.ts +338 -111
  162. package/lib/protocol.d.ts.map +1 -1
  163. package/lib/protocol.js +422 -201
  164. package/lib/protocol.js.map +1 -1
  165. package/lib/protocol.spec.d.ts +7 -0
  166. package/lib/protocol.spec.d.ts.map +1 -0
  167. package/lib/protocol.spec.js +127 -0
  168. package/lib/protocol.spec.js.map +1 -0
  169. package/lib/snapshot-url.d.ts +14 -0
  170. package/lib/snapshot-url.d.ts.map +1 -0
  171. package/lib/snapshot-url.js +26 -0
  172. package/lib/snapshot-url.js.map +1 -0
  173. package/lib/snapshot-url.spec.d.ts +7 -0
  174. package/lib/snapshot-url.spec.d.ts.map +1 -0
  175. package/lib/snapshot-url.spec.js +41 -0
  176. package/lib/snapshot-url.spec.js.map +1 -0
  177. package/lib/team-subscription-protocol.d.ts +93 -0
  178. package/lib/team-subscription-protocol.d.ts.map +1 -0
  179. package/lib/team-subscription-protocol.js +82 -0
  180. package/lib/team-subscription-protocol.js.map +1 -0
  181. package/lib/teams-projects-protocol.d.ts +136 -0
  182. package/lib/teams-projects-protocol.d.ts.map +1 -0
  183. package/lib/teams-projects-protocol.js +41 -0
  184. package/lib/teams-projects-protocol.js.map +1 -0
  185. package/lib/typings/globals.d.ts +8 -3
  186. package/lib/typings/globals.d.ts.map +1 -1
  187. package/lib/typings/globals.js +2 -2
  188. package/lib/usage.d.ts +73 -0
  189. package/lib/usage.d.ts.map +1 -0
  190. package/lib/usage.js +20 -0
  191. package/lib/usage.js.map +1 -0
  192. package/lib/util/analytics.d.ts +8 -0
  193. package/lib/util/analytics.d.ts.map +1 -0
  194. package/lib/util/analytics.js +88 -0
  195. package/lib/util/analytics.js.map +1 -0
  196. package/lib/util/async-iterator.d.ts +2 -2
  197. package/lib/util/async-iterator.d.ts.map +1 -1
  198. package/lib/util/async-iterator.js +60 -137
  199. package/lib/util/async-iterator.js.map +1 -1
  200. package/lib/util/cancelable.d.ts +2 -2
  201. package/lib/util/cancelable.js +20 -61
  202. package/lib/util/cancelable.js.map +1 -1
  203. package/lib/util/date-time.d.ts +2 -2
  204. package/lib/util/date-time.js +14 -13
  205. package/lib/util/date-time.js.map +1 -1
  206. package/lib/util/debug-app.d.ts +25 -0
  207. package/lib/util/debug-app.d.ts.map +1 -0
  208. package/lib/util/debug-app.js +100 -0
  209. package/lib/util/debug-app.js.map +1 -0
  210. package/lib/util/deep-partial.d.ts +2 -2
  211. package/lib/util/deep-partial.js +2 -2
  212. package/lib/util/deferred.d.ts +2 -2
  213. package/lib/util/deferred.js +13 -14
  214. package/lib/util/deferred.js.map +1 -1
  215. package/lib/util/disposable.d.ts +2 -2
  216. package/lib/util/disposable.d.ts.map +1 -1
  217. package/lib/util/disposable.js +28 -40
  218. package/lib/util/disposable.js.map +1 -1
  219. package/lib/util/event.d.ts +1 -1
  220. package/lib/util/event.d.ts.map +1 -1
  221. package/lib/util/event.js +64 -77
  222. package/lib/util/event.js.map +1 -1
  223. package/lib/util/garbage-collected-cache.d.ts +3 -2
  224. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  225. package/lib/util/garbage-collected-cache.js +35 -49
  226. package/lib/util/garbage-collected-cache.js.map +1 -1
  227. package/lib/util/generate-workspace-id.d.ts +9 -0
  228. package/lib/util/generate-workspace-id.d.ts.map +1 -0
  229. package/lib/util/generate-workspace-id.js +491 -0
  230. package/lib/util/generate-workspace-id.js.map +1 -0
  231. package/lib/util/generate-workspace-id.spec.d.ts +7 -0
  232. package/lib/util/generate-workspace-id.spec.d.ts.map +1 -0
  233. package/lib/util/generate-workspace-id.spec.js +98 -0
  234. package/lib/util/generate-workspace-id.spec.js.map +1 -0
  235. package/lib/util/gitpod-cookie.d.ts +20 -0
  236. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  237. package/lib/util/gitpod-cookie.js +41 -0
  238. package/lib/util/gitpod-cookie.js.map +1 -0
  239. package/lib/util/gitpod-host-url.d.ts +20 -8
  240. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  241. package/lib/util/gitpod-host-url.js +143 -85
  242. package/lib/util/gitpod-host-url.js.map +1 -1
  243. package/lib/util/gitpod-host-url.spec.d.ts +16 -0
  244. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -0
  245. package/lib/util/gitpod-host-url.spec.js +134 -0
  246. package/lib/util/gitpod-host-url.spec.js.map +1 -0
  247. package/lib/util/grpc.d.ts +35 -0
  248. package/lib/util/grpc.d.ts.map +1 -0
  249. package/lib/util/grpc.js +90 -0
  250. package/lib/util/grpc.js.map +1 -0
  251. package/lib/util/jaeger-client-types.d.ts +68 -0
  252. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  253. package/lib/util/jaeger-client-types.js +8 -0
  254. package/lib/util/jaeger-client-types.js.map +1 -0
  255. package/lib/util/logging.d.ts +58 -35
  256. package/lib/util/logging.d.ts.map +1 -1
  257. package/lib/util/logging.js +144 -129
  258. package/lib/util/logging.js.map +1 -1
  259. package/lib/util/logging.spec.d.ts +7 -0
  260. package/lib/util/logging.spec.d.ts.map +1 -0
  261. package/lib/util/logging.spec.js +52 -0
  262. package/lib/util/logging.spec.js.map +1 -0
  263. package/lib/util/make-link.d.ts +2 -2
  264. package/lib/util/make-link.js +8 -7
  265. package/lib/util/make-link.js.map +1 -1
  266. package/lib/util/nice-grpc.d.ts +9 -0
  267. package/lib/util/nice-grpc.d.ts.map +1 -0
  268. package/lib/util/nice-grpc.js +121 -0
  269. package/lib/util/nice-grpc.js.map +1 -0
  270. package/lib/util/parse-workspace-id.d.ts +15 -5
  271. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  272. package/lib/util/parse-workspace-id.js +39 -9
  273. package/lib/util/parse-workspace-id.js.map +1 -1
  274. package/lib/util/parse-workspace-id.spec.d.ts +10 -2
  275. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  276. package/lib/util/parse-workspace-id.spec.js +130 -49
  277. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  278. package/lib/util/queue.d.ts +2 -2
  279. package/lib/util/queue.js +19 -57
  280. package/lib/util/queue.js.map +1 -1
  281. package/lib/util/queue.spec.d.ts +2 -2
  282. package/lib/util/queue.spec.js +149 -288
  283. package/lib/util/queue.spec.js.map +1 -1
  284. package/lib/util/repeat.d.ts +15 -0
  285. package/lib/util/repeat.d.ts.map +1 -0
  286. package/lib/util/repeat.js +55 -0
  287. package/lib/util/repeat.js.map +1 -0
  288. package/lib/util/semaphore.d.ts +2 -2
  289. package/lib/util/semaphore.d.ts.map +1 -1
  290. package/lib/util/semaphore.js +18 -48
  291. package/lib/util/semaphore.js.map +1 -1
  292. package/lib/util/skip-if.d.ts +2 -2
  293. package/lib/util/skip-if.d.ts.map +1 -1
  294. package/lib/util/skip-if.js +9 -8
  295. package/lib/util/skip-if.js.map +1 -1
  296. package/lib/util/timeutil.d.ts +4 -2
  297. package/lib/util/timeutil.d.ts.map +1 -1
  298. package/lib/util/timeutil.js +43 -18
  299. package/lib/util/timeutil.js.map +1 -1
  300. package/lib/util/timeutil.spec.d.ts +4 -2
  301. package/lib/util/timeutil.spec.d.ts.map +1 -1
  302. package/lib/util/timeutil.spec.js +57 -25
  303. package/lib/util/timeutil.spec.js.map +1 -1
  304. package/lib/util/tracing.d.ts +55 -8
  305. package/lib/util/tracing.d.ts.map +1 -1
  306. package/lib/util/tracing.js +210 -66
  307. package/lib/util/tracing.js.map +1 -1
  308. package/lib/util/tracing.spec.d.ts +7 -0
  309. package/lib/util/tracing.spec.d.ts.map +1 -0
  310. package/lib/util/tracing.spec.js +121 -0
  311. package/lib/util/tracing.spec.js.map +1 -0
  312. package/lib/util/workspace-port-authentication.d.ts +9 -9
  313. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  314. package/lib/util/workspace-port-authentication.js +13 -14
  315. package/lib/util/workspace-port-authentication.js.map +1 -1
  316. package/lib/webhook-event.d.ts +44 -0
  317. package/lib/webhook-event.d.ts.map +1 -0
  318. package/lib/webhook-event.js +8 -0
  319. package/lib/webhook-event.js.map +1 -0
  320. package/lib/workspace-class.d.ts +14 -0
  321. package/lib/workspace-class.d.ts.map +1 -0
  322. package/lib/workspace-class.js +8 -0
  323. package/lib/workspace-class.js.map +1 -0
  324. package/lib/workspace-cluster.d.ts +80 -0
  325. package/lib/workspace-cluster.d.ts.map +1 -0
  326. package/lib/workspace-cluster.js +36 -0
  327. package/lib/workspace-cluster.js.map +1 -0
  328. package/lib/workspace-instance.d.ts +51 -8
  329. package/lib/workspace-instance.d.ts.map +1 -1
  330. package/lib/workspace-instance.js +2 -2
  331. package/lib/wsready.d.ts +8 -2
  332. package/lib/wsready.d.ts.map +1 -1
  333. package/lib/wsready.js +4 -3
  334. package/lib/wsready.js.map +1 -1
  335. package/package.json +42 -18
  336. package/pkg-yarn.lock +24 -10
  337. package/provenance-bundle.jsonl +2 -0
  338. package/src/accounting-protocol.ts +253 -0
  339. package/src/admin-protocol.ts +96 -21
  340. package/src/analytics.ts +52 -0
  341. package/src/attribution.ts +67 -0
  342. package/src/auth.ts +27 -0
  343. package/src/billing-mode.ts +84 -0
  344. package/src/blocked-repositories-protocol.ts +13 -0
  345. package/src/context-url.spec.ts +49 -0
  346. package/src/context-url.ts +107 -0
  347. package/src/encryption/container-module.ts +4 -5
  348. package/src/encryption/encryption-engine.spec.ts +11 -10
  349. package/src/encryption/encryption-engine.ts +22 -18
  350. package/src/encryption/encryption-service.ts +6 -7
  351. package/src/encryption/key-provider.ts +18 -21
  352. package/src/env.ts +3 -26
  353. package/src/experiments/always-default.ts +24 -0
  354. package/src/experiments/configcat-server.ts +42 -0
  355. package/src/experiments/configcat.ts +56 -0
  356. package/src/experiments/types.ts +34 -0
  357. package/src/frontend-dashboard-service.ts +148 -0
  358. package/src/gitpod-file-parser.spec.ts +57 -63
  359. package/src/gitpod-file-parser.ts +18 -19
  360. package/src/gitpod-service.ts +602 -99
  361. package/src/headless-workspace-log.ts +14 -16
  362. package/src/ide-frontend-service.ts +28 -0
  363. package/src/ide-protocol.ts +147 -0
  364. package/src/index.ts +18 -12
  365. package/src/installation-admin-protocol.ts +45 -0
  366. package/src/license-protocol.ts +14 -8
  367. package/src/messaging/browser/connection.ts +202 -26
  368. package/src/messaging/browser/window-connection.ts +45 -29
  369. package/src/messaging/client-call-metrics.ts +94 -0
  370. package/src/messaging/error.ts +51 -10
  371. package/src/messaging/handler.ts +13 -1
  372. package/src/messaging/node/connection.ts +23 -70
  373. package/src/messaging/proxy-factory.ts +35 -34
  374. package/src/oss-allowlist.ts +15 -0
  375. package/src/payment-protocol.ts +20 -0
  376. package/src/permission.ts +53 -40
  377. package/src/plans.ts +699 -0
  378. package/src/protocol.spec.ts +97 -0
  379. package/src/protocol.ts +790 -302
  380. package/src/snapshot-url.spec.ts +27 -0
  381. package/src/snapshot-url.ts +27 -0
  382. package/src/team-subscription-protocol.ts +153 -0
  383. package/src/teams-projects-protocol.ts +180 -0
  384. package/src/typings/globals.ts +13 -5
  385. package/src/usage.ts +85 -0
  386. package/src/util/analytics.ts +109 -0
  387. package/src/util/async-iterator.ts +6 -7
  388. package/src/util/cancelable.ts +5 -5
  389. package/src/util/date-time.ts +10 -10
  390. package/src/util/debug-app.ts +81 -0
  391. package/src/util/deep-partial.ts +2 -2
  392. package/src/util/deferred.ts +8 -8
  393. package/src/util/disposable.ts +3 -6
  394. package/src/util/event.ts +9 -11
  395. package/src/util/garbage-collected-cache.ts +18 -10
  396. package/src/util/generate-workspace-id.spec.ts +58 -0
  397. package/src/util/generate-workspace-id.ts +481 -0
  398. package/src/util/gitpod-cookie.ts +38 -0
  399. package/src/util/gitpod-host-url.spec.ts +76 -0
  400. package/src/util/gitpod-host-url.ts +119 -40
  401. package/src/util/grpc.ts +107 -0
  402. package/src/util/jaeger-client-types.ts +102 -0
  403. package/src/util/logging.spec.ts +23 -0
  404. package/src/util/logging.ts +163 -73
  405. package/src/util/make-link.ts +8 -9
  406. package/src/util/nice-grpc.ts +96 -0
  407. package/src/util/parse-workspace-id.spec.ts +62 -12
  408. package/src/util/parse-workspace-id.ts +40 -10
  409. package/src/util/queue.spec.ts +30 -28
  410. package/src/util/queue.ts +2 -2
  411. package/src/util/repeat.ts +45 -0
  412. package/src/util/semaphore.ts +8 -10
  413. package/src/util/skip-if.ts +12 -9
  414. package/src/util/timeutil.spec.ts +42 -16
  415. package/src/util/timeutil.ts +33 -17
  416. package/src/util/tracing.spec.ts +88 -0
  417. package/src/util/tracing.ts +211 -33
  418. package/src/util/workspace-port-authentication.ts +12 -15
  419. package/src/webhook-event.ts +55 -0
  420. package/src/workspace-class.ts +14 -0
  421. package/src/workspace-cluster.ts +121 -0
  422. package/src/workspace-instance.ts +120 -36
  423. package/src/wsready.ts +11 -4
  424. package/data/builtin-theia-plugins.json +0 -362
  425. package/lib/email-protocol.d.ts +0 -49
  426. package/lib/email-protocol.d.ts.map +0 -1
  427. package/lib/email-protocol.js +0 -27
  428. package/lib/email-protocol.js.map +0 -1
  429. package/lib/messaging/connection-error-handler.d.ts +0 -27
  430. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  431. package/lib/messaging/connection-error-handler.js +0 -45
  432. package/lib/messaging/connection-error-handler.js.map +0 -1
  433. package/lib/theia-plugins.d.ts +0 -11
  434. package/lib/theia-plugins.d.ts.map +0 -1
  435. package/lib/theia-plugins.js +0 -8
  436. package/lib/theia-plugins.js.map +0 -1
  437. package/lib/util/repeater.d.ts +0 -22
  438. package/lib/util/repeater.d.ts.map +0 -1
  439. package/lib/util/repeater.js +0 -117
  440. package/lib/util/repeater.js.map +0 -1
  441. package/lib/util/safe-promise.d.ts +0 -11
  442. package/lib/util/safe-promise.d.ts.map +0 -1
  443. package/lib/util/safe-promise.js +0 -33
  444. package/lib/util/safe-promise.js.map +0 -1
  445. package/lib/util/without.d.ts +0 -7
  446. package/lib/util/without.d.ts.map +0 -1
  447. package/lib/util/without.js +0 -8
  448. package/lib/util/without.js.map +0 -1
  449. package/src/email-protocol.ts +0 -67
  450. package/src/messaging/connection-error-handler.ts +0 -62
  451. package/src/theia-plugins.ts +0 -11
  452. package/src/util/jaeger-client.d.ts +0 -105
  453. package/src/util/repeater.ts +0 -49
  454. package/src/util/safe-promise.ts +0 -26
  455. package/src/util/without.ts +0 -8
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License.AGPL.txt in the project root for license information.
5
+ */
6
+ import { PrebuiltWorkspaceState, WorkspaceClasses } from "./protocol";
7
+ import { DeepPartial } from "./util/deep-partial";
8
+ import { WebhookEvent } from "./webhook-event";
9
+ export interface ProjectConfig {
10
+ ".gitpod.yml": string;
11
+ }
12
+ export interface ProjectSettings {
13
+ useIncrementalPrebuilds?: boolean;
14
+ keepOutdatedPrebuildsRunning?: boolean;
15
+ allowUsingPreviousPrebuilds?: boolean;
16
+ prebuildEveryNthCommit?: number;
17
+ workspaceClasses?: WorkspaceClasses;
18
+ }
19
+ export interface Project {
20
+ id: string;
21
+ name: string;
22
+ slug?: string;
23
+ cloneUrl: string;
24
+ teamId?: string;
25
+ userId?: string;
26
+ appInstallationId: string;
27
+ settings?: ProjectSettings;
28
+ creationTime: string;
29
+ /** This is a flag that triggers the HARD DELETION of this entity */
30
+ deleted?: boolean;
31
+ markedDeleted?: boolean;
32
+ }
33
+ export declare namespace Project {
34
+ const create: (project: Omit<Project, "id" | "creationTime">) => Project;
35
+ function slug(p: Project): string;
36
+ interface Overview {
37
+ branches: BranchDetails[];
38
+ isConsideredInactive?: boolean;
39
+ }
40
+ namespace Overview {
41
+ function is(data?: any): data is Project.Overview;
42
+ }
43
+ interface BranchDetails {
44
+ name: string;
45
+ url: string;
46
+ isDefault: boolean;
47
+ changeTitle: string;
48
+ changeDate?: string;
49
+ changeAuthor?: string;
50
+ changeAuthorAvatar?: string;
51
+ changePR?: string;
52
+ changeUrl?: string;
53
+ changeHash: string;
54
+ }
55
+ }
56
+ export declare type PartialProject = DeepPartial<Project> & Pick<Project, "id">;
57
+ export interface ProjectUsage {
58
+ lastWebhookReceived: string;
59
+ lastWorkspaceStart: string;
60
+ }
61
+ export interface PrebuildWithStatus {
62
+ info: PrebuildInfo;
63
+ status: PrebuiltWorkspaceState;
64
+ error?: string;
65
+ }
66
+ export interface PrebuildInfo {
67
+ id: string;
68
+ buildWorkspaceId: string;
69
+ basedOnPrebuildId?: string;
70
+ teamId?: string;
71
+ userId?: string;
72
+ projectId: string;
73
+ projectName: string;
74
+ cloneUrl: string;
75
+ branch: string;
76
+ startedAt: string;
77
+ startedBy: string;
78
+ startedByAvatar?: string;
79
+ changeTitle: string;
80
+ changeDate: string;
81
+ changeAuthor: string;
82
+ changeAuthorAvatar?: string;
83
+ changePR?: string;
84
+ changeUrl?: string;
85
+ changeHash: string;
86
+ }
87
+ export declare namespace PrebuildInfo {
88
+ function is(data?: any): data is PrebuildInfo;
89
+ }
90
+ export interface StartPrebuildResult {
91
+ prebuildId: string;
92
+ wsid: string;
93
+ done: boolean;
94
+ }
95
+ export interface Team {
96
+ id: string;
97
+ name: string;
98
+ creationTime: string;
99
+ markedDeleted?: boolean;
100
+ /** This is a flag that triggers the HARD DELETION of this entity */
101
+ deleted?: boolean;
102
+ }
103
+ export declare type TeamMemberRole = "owner" | "member";
104
+ export declare namespace TeamMemberRole {
105
+ function isValid(role: any): role is TeamMemberRole;
106
+ }
107
+ export interface TeamMemberInfo {
108
+ userId: string;
109
+ fullName?: string;
110
+ primaryEmail?: string;
111
+ avatarUrl?: string;
112
+ role: TeamMemberRole;
113
+ memberSince: string;
114
+ }
115
+ export interface TeamMembershipInvite {
116
+ id: string;
117
+ teamId: string;
118
+ role: TeamMemberRole;
119
+ creationTime: string;
120
+ invalidationTime: string;
121
+ invitedEmail?: string;
122
+ /** This is a flag that triggers the HARD DELETION of this entity */
123
+ deleted?: boolean;
124
+ }
125
+ export interface PrebuildEvent {
126
+ id: string;
127
+ creationTime: string;
128
+ status: WebhookEvent.Status | WebhookEvent.PrebuildStatus;
129
+ message?: string;
130
+ prebuildId?: string;
131
+ projectId?: string;
132
+ cloneUrl?: string;
133
+ branch?: string;
134
+ commit?: string;
135
+ }
136
+ //# sourceMappingURL=teams-projects-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-projects-protocol.d.ts","sourceRoot":"","sources":["../src/teams-projects-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License.AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.TeamMemberRole = exports.PrebuildInfo = exports.Project = void 0;
9
+ const uuid_1 = require("uuid");
10
+ var Project;
11
+ (function (Project) {
12
+ Project.create = (project) => {
13
+ return Object.assign(Object.assign({}, project), { id: (0, uuid_1.v4)(), creationTime: new Date().toISOString() });
14
+ };
15
+ function slug(p) {
16
+ return p.slug || p.name || p.id;
17
+ }
18
+ Project.slug = slug;
19
+ let Overview;
20
+ (function (Overview) {
21
+ function is(data) {
22
+ return Array.isArray(data === null || data === void 0 ? void 0 : data.branches);
23
+ }
24
+ Overview.is = is;
25
+ })(Overview = Project.Overview || (Project.Overview = {}));
26
+ })(Project = exports.Project || (exports.Project = {}));
27
+ var PrebuildInfo;
28
+ (function (PrebuildInfo) {
29
+ function is(data) {
30
+ return typeof data === "object" && ["id", "buildWorkspaceId", "projectId", "branch"].every((p) => p in data);
31
+ }
32
+ PrebuildInfo.is = is;
33
+ })(PrebuildInfo = exports.PrebuildInfo || (exports.PrebuildInfo = {}));
34
+ var TeamMemberRole;
35
+ (function (TeamMemberRole) {
36
+ function isValid(role) {
37
+ return role === "owner" || role === "member";
38
+ }
39
+ TeamMemberRole.isValid = isValid;
40
+ })(TeamMemberRole = exports.TeamMemberRole || (exports.TeamMemberRole = {}));
41
+ //# sourceMappingURL=teams-projects-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-projects-protocol.js","sourceRoot":"","sources":["../src/teams-projects-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,+BAAoC;AAkCpC,IAAiB,OAAO,CAsCvB;AAtCD,WAAiB,OAAO;IACP,cAAM,GAAG,CAAC,OAA6C,EAAW,EAAE;QAC7E,uCACO,OAAO,KACV,EAAE,EAAE,IAAA,SAAM,GAAE,EACZ,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IACxC;IACN,CAAC,CAAC;IAEF,SAAgB,IAAI,CAAC,CAAU;QAC3B,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IAFe,YAAI,OAEnB,CAAA;IAOD,IAAiB,QAAQ,CAIxB;IAJD,WAAiB,QAAQ;QACrB,SAAgB,EAAE,CAAC,IAAU;YACzB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QAFe,WAAE,KAEjB,CAAA;IACL,CAAC,EAJgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAIxB;AAgBL,CAAC,EAtCgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAsCvB;AAyCD,IAAiB,YAAY,CAI5B;AAJD,WAAiB,YAAY;IACzB,SAAgB,EAAE,CAAC,IAAU;QACzB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACjH,CAAC;IAFe,eAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAI5B;AAkBD,IAAiB,cAAc,CAI9B;AAJD,WAAiB,cAAc;IAC3B,SAAgB,OAAO,CAAC,IAAS;QAC7B,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC;IACjD,CAAC;IAFe,sBAAO,UAEtB,CAAA;AACL,CAAC,EAJgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAI9B"}
@@ -1,11 +1,16 @@
1
1
  /**
2
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
  interface Window {
7
7
  gitpod: {
8
- service: import('../gitpod-service').GitpodService;
8
+ ideService?: import("../ide-frontend-service").IDEFrontendService;
9
+ loggedUserID?: string;
10
+ openDesktopIDE(url: string): void;
11
+ encrypt(content: string): string;
12
+ decrypt(content: string): string;
13
+ isEncryptedData(content: string): boolean;
9
14
  };
10
15
  }
11
16
  //# sourceMappingURL=globals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../src/typings/globals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU,MAAM;IACZ,MAAM,EAAE;QACJ,OAAO,EAAE,OAAO,mBAAmB,EAAE,aAAa,CAAA;KACrD,CAAA;CACJ"}
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../src/typings/globals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU,MAAM;IAEZ,MAAM,EAAE;QACJ,UAAU,CAAC,EAAE,OAAO,yBAAyB,EAAE,kBAAkB,CAAC;QAClE,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAElC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACjC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACjC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;KAC7C,CAAC;CACL"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
- * See License-AGPL.txt in the project root for license information.
5
+ * See License.AGPL.txt in the project root for license information.
6
6
  */
7
7
  //# sourceMappingURL=globals.js.map
package/lib/usage.d.ts ADDED
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License.AGPL.txt in the project root for license information.
5
+ */
6
+ import { WorkspaceType } from "./protocol";
7
+ export interface ListUsageRequest {
8
+ attributionId: string;
9
+ from?: number;
10
+ to?: number;
11
+ order: Ordering;
12
+ pagination?: PaginationRequest;
13
+ }
14
+ export declare enum Ordering {
15
+ ORDERING_DESCENDING = 0,
16
+ ORDERING_ASCENDING = 1
17
+ }
18
+ export interface PaginationRequest {
19
+ perPage: number;
20
+ page: number;
21
+ }
22
+ export interface ListUsageResponse {
23
+ usageEntriesList: Usage[];
24
+ pagination?: PaginationResponse;
25
+ creditsUsed: number;
26
+ }
27
+ export interface PaginationResponse {
28
+ perPage: number;
29
+ totalPages: number;
30
+ total: number;
31
+ page: number;
32
+ }
33
+ export declare type UsageKind = "workspaceinstance" | "invoice";
34
+ export interface Usage {
35
+ id: string;
36
+ attributionId: string;
37
+ description: string;
38
+ credits: number;
39
+ effectiveTime?: number;
40
+ kind: UsageKind;
41
+ workspaceInstanceId: string;
42
+ draft: boolean;
43
+ metadata: WorkspaceInstanceUsageData | InvoiceUsageData;
44
+ }
45
+ export interface WorkspaceInstanceUsageData {
46
+ workspaceId: string;
47
+ workspaceType: WorkspaceType;
48
+ workspaceClass: string;
49
+ contextURL: string;
50
+ startTime: string;
51
+ endTime?: string;
52
+ userId: string;
53
+ userName: string;
54
+ userAvatarURL: string;
55
+ }
56
+ export interface InvoiceUsageData {
57
+ invoiceId: string;
58
+ startDate: string;
59
+ endDate: string;
60
+ }
61
+ export interface CostCenterJSON {
62
+ attributionId: string;
63
+ spendingLimit: number;
64
+ billingStrategy: CostCenter_BillingStrategy;
65
+ nextBillingTime?: string;
66
+ billingCycleStart?: string;
67
+ }
68
+ export declare enum CostCenter_BillingStrategy {
69
+ BILLING_STRATEGY_STRIPE = "BILLING_STRATEGY_STRIPE",
70
+ BILLING_STRATEGY_OTHER = "BILLING_STRATEGY_OTHER",
71
+ UNRECOGNIZED = "UNRECOGNIZED"
72
+ }
73
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,oBAAY,QAAQ;IAChB,mBAAmB,IAAI;IACvB,kBAAkB,IAAI;CACzB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAC9B,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,oBAAY,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAAC;AACxD,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,0BAA0B,GAAG,gBAAgB,CAAC;CAC3D;AAGD,MAAM,WAAW,0BAA0B;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,0BAA0B,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,oBAAY,0BAA0B;IAClC,uBAAuB,4BAA4B;IACnD,sBAAsB,2BAA2B;IACjD,YAAY,iBAAiB;CAChC"}
package/lib/usage.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License.AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.CostCenter_BillingStrategy = exports.Ordering = void 0;
9
+ var Ordering;
10
+ (function (Ordering) {
11
+ Ordering[Ordering["ORDERING_DESCENDING"] = 0] = "ORDERING_DESCENDING";
12
+ Ordering[Ordering["ORDERING_ASCENDING"] = 1] = "ORDERING_ASCENDING";
13
+ })(Ordering = exports.Ordering || (exports.Ordering = {}));
14
+ var CostCenter_BillingStrategy;
15
+ (function (CostCenter_BillingStrategy) {
16
+ CostCenter_BillingStrategy["BILLING_STRATEGY_STRIPE"] = "BILLING_STRATEGY_STRIPE";
17
+ CostCenter_BillingStrategy["BILLING_STRATEGY_OTHER"] = "BILLING_STRATEGY_OTHER";
18
+ CostCenter_BillingStrategy["UNRECOGNIZED"] = "UNRECOGNIZED";
19
+ })(CostCenter_BillingStrategy = exports.CostCenter_BillingStrategy || (exports.CostCenter_BillingStrategy = {}));
20
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAaH,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,qEAAuB,CAAA;IACvB,mEAAsB,CAAA;AAC1B,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AA4DD,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IAClC,iFAAmD,CAAA;IACnD,+EAAiD,CAAA;IACjD,2DAA6B,CAAA;AACjC,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License.AGPL.txt in the project root for license information.
5
+ */
6
+ import { IAnalyticsWriter } from "../analytics";
7
+ export declare function newAnalyticsWriterFromEnv(): IAnalyticsWriter;
8
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/util/analytics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAA8C,MAAM,cAAc,CAAC;AAG5F,wBAAgB,yBAAyB,IAAI,gBAAgB,CAS5D"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License.AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.newAnalyticsWriterFromEnv = void 0;
9
+ const Analytics = require("analytics-node");
10
+ const logging_1 = require("./logging");
11
+ function newAnalyticsWriterFromEnv() {
12
+ switch (process.env.GITPOD_ANALYTICS_WRITER) {
13
+ case "segment":
14
+ return new SegmentAnalyticsWriter(process.env.GITPOD_ANALYTICS_SEGMENT_KEY || "");
15
+ case "log":
16
+ return new LogAnalyticsWriter();
17
+ default:
18
+ return new NoAnalyticsWriter();
19
+ }
20
+ }
21
+ exports.newAnalyticsWriterFromEnv = newAnalyticsWriterFromEnv;
22
+ class SegmentAnalyticsWriter {
23
+ constructor(writeKey) {
24
+ this.analytics = new Analytics(writeKey);
25
+ }
26
+ identify(msg) {
27
+ try {
28
+ this.analytics.identify(Object.assign(Object.assign({}, msg), { integrations: {
29
+ All: true,
30
+ Mixpanel: !!msg.userId,
31
+ } }), (err) => {
32
+ if (err) {
33
+ logging_1.log.warn("analytics.identify failed", err);
34
+ }
35
+ });
36
+ }
37
+ catch (err) {
38
+ logging_1.log.warn("analytics.identify failed", err);
39
+ }
40
+ }
41
+ track(msg) {
42
+ try {
43
+ this.analytics.track(Object.assign(Object.assign({}, msg), { integrations: {
44
+ All: true,
45
+ Mixpanel: !!msg.userId,
46
+ } }), (err) => {
47
+ if (err) {
48
+ logging_1.log.warn("analytics.track failed", err);
49
+ }
50
+ });
51
+ }
52
+ catch (err) {
53
+ logging_1.log.warn("analytics.track failed", err);
54
+ }
55
+ }
56
+ page(msg) {
57
+ try {
58
+ this.analytics.page(Object.assign(Object.assign({}, msg), { integrations: {
59
+ All: true,
60
+ Mixpanel: !!msg.userId,
61
+ } }), (err) => {
62
+ if (err) {
63
+ logging_1.log.warn("analytics.page failed", err);
64
+ }
65
+ });
66
+ }
67
+ catch (err) {
68
+ logging_1.log.warn("analytics.page failed", err);
69
+ }
70
+ }
71
+ }
72
+ class LogAnalyticsWriter {
73
+ identify(msg) {
74
+ logging_1.log.debug("analytics identify", msg);
75
+ }
76
+ track(msg) {
77
+ logging_1.log.debug("analytics track", msg);
78
+ }
79
+ page(msg) {
80
+ logging_1.log.debug("analytics page", msg);
81
+ }
82
+ }
83
+ class NoAnalyticsWriter {
84
+ identify(msg) { }
85
+ track(msg) { }
86
+ page(msg) { }
87
+ }
88
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/util/analytics.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,4CAA6C;AAE7C,uCAAgC;AAEhC,SAAgB,yBAAyB;IACrC,QAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE;QACzC,KAAK,SAAS;YACV,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;QACtF,KAAK,KAAK;YACN,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACpC;YACI,OAAO,IAAI,iBAAiB,EAAE,CAAC;KACtC;AACL,CAAC;AATD,8DASC;AAED,MAAM,sBAAsB;IAGxB,YAAY,QAAgB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,GAAoB;QACzB,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,QAAQ,iCAEZ,GAAG,KACN,YAAY,EAAE;oBACV,GAAG,EAAE,IAAI;oBACT,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;iBACzB,KAEL,CAAC,GAAU,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE;oBACL,aAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;iBAC9C;YACL,CAAC,CACJ,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,aAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,KAAK,CAAC,GAAiB;QACnB,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,KAAK,iCAET,GAAG,KACN,YAAY,EAAE;oBACV,GAAG,EAAE,IAAI;oBACT,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;iBACzB,KAEL,CAAC,GAAU,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE;oBACL,aAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;iBAC3C;YACL,CAAC,CACJ,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,aAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,IAAI,CAAC,GAAgB;QACjB,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,IAAI,iCAER,GAAG,KACN,YAAY,EAAE;oBACV,GAAG,EAAE,IAAI;oBACT,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;iBACzB,KAEL,CAAC,GAAU,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE;oBACL,aAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;iBAC1C;YACL,CAAC,CACJ,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,aAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;SAC1C;IACL,CAAC;CACJ;AAED,MAAM,kBAAkB;IACpB,QAAQ,CAAC,GAAoB;QACzB,aAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,CAAC,GAAiB;QACnB,aAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,GAAgB;QACjB,aAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,MAAM,iBAAiB;IACnB,QAAQ,CAAC,GAAoB,IAAS,CAAC;IACvC,KAAK,CAAC,GAAiB,IAAS,CAAC;IACjC,IAAI,CAAC,GAAgB,IAAS,CAAC;CAClC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
- * See License-AGPL.txt in the project root for license information.
4
+ * See License.AGPL.txt in the project root for license information.
5
5
  */
6
6
  export declare function find<T>(it: AsyncIterableIterator<T>, predicate: (value: T) => boolean): Promise<T | undefined>;
7
7
  export declare function filter<T>(it: AsyncIterableIterator<T>, predicate: (value: T) => boolean): Promise<T[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"async-iterator.d.ts","sourceRoot":"","sources":["../../src/util/async-iterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,wBAAsB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOpH;AACD,wBAAsB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAQ5G;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IACrE,WAAW,IAAI,IAAI,CAAC;CACvB;AACD,qBAAa,wBAAwB,CAAC,CAAC,CAAE,YAAW,qBAAqB,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAMrF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAJjE,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAM;IAC1B,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,SAAS,UAAS;gBAEG,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE1D,WAAW;IAKL,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAgB1D,CAAC,MAAM,CAAC,aAAa,CAAC;CAGzB"}
1
+ {"version":3,"file":"async-iterator.d.ts","sourceRoot":"","sources":["../../src/util/async-iterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,wBAAsB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOpH;AACD,wBAAsB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAQ5G;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IACrE,WAAW,IAAI,IAAI,CAAC;CACvB;AACD,qBAAa,wBAAwB,CAAC,CAAC,CAAE,YAAW,qBAAqB,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAKrF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAJjE,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAM;IAC1B,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,SAAS,UAAS;gBAEG,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE1D,WAAW;IAKL,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAgB1D,CAAC,MAAM,CAAC,aAAa,CAAC;CAGzB"}