@gitpod/gitpod-protocol 0.1.5-sh-ace-test.0 → 0.1.5-siddhant-k-code-allow-github-prebuilds-10358.2

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 +163 -74
  2. package/lib/accounting-protocol.d.ts +163 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -0
  4. package/lib/accounting-protocol.js +111 -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 +24 -0
  15. package/lib/attribution.d.ts.map +1 -0
  16. package/lib/attribution.js +54 -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 +90 -0
  79. package/lib/frontend-dashboard-service.d.ts.map +1 -0
  80. package/lib/frontend-dashboard-service.js +49 -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 +241 -50
  90. package/lib/gitpod-service.d.ts.map +1 -1
  91. package/lib/gitpod-service.js +275 -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 +17 -4
  130. package/lib/messaging/error.d.ts.map +1 -1
  131. package/lib/messaging/error.js +34 -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 +211 -0
  158. package/lib/plans.d.ts.map +1 -0
  159. package/lib/plans.js +609 -0
  160. package/lib/plans.js.map +1 -0
  161. package/lib/protocol.d.ts +300 -112
  162. package/lib/protocol.d.ts.map +1 -1
  163. package/lib/protocol.js +393 -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 +92 -0
  178. package/lib/team-subscription-protocol.d.ts.map +1 -0
  179. package/lib/team-subscription-protocol.js +78 -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 +37 -0
  184. package/lib/teams-projects-protocol.js.map +1 -0
  185. package/lib/typings/globals.d.ts +4 -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 -7
  240. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  241. package/lib/util/gitpod-host-url.js +146 -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 +54 -8
  305. package/lib/util/tracing.d.ts.map +1 -1
  306. package/lib/util/tracing.js +200 -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 +75 -0
  325. package/lib/workspace-cluster.d.ts.map +1 -0
  326. package/lib/workspace-cluster.js +31 -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 +244 -0
  339. package/src/admin-protocol.ts +96 -21
  340. package/src/analytics.ts +52 -0
  341. package/src/attribution.ts +63 -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 +125 -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 +534 -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 +47 -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 +683 -0
  378. package/src/protocol.spec.ts +97 -0
  379. package/src/protocol.ts +706 -299
  380. package/src/snapshot-url.spec.ts +27 -0
  381. package/src/snapshot-url.ts +27 -0
  382. package/src/team-subscription-protocol.ts +150 -0
  383. package/src/teams-projects-protocol.ts +177 -0
  384. package/src/typings/globals.ts +7 -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 +121 -38
  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 +202 -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 +110 -0
  422. package/src/workspace-instance.ts +119 -35
  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
@@ -5,20 +5,15 @@
5
5
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
6
6
  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
7
7
  */
8
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
14
8
  Object.defineProperty(exports, "__esModule", { value: true });
15
- var inversify_1 = require("inversify");
16
- var vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
17
- var proxy_factory_1 = require("../proxy-factory");
18
- var reconnecting_websocket_1 = require("reconnecting-websocket");
19
- var WebSocketConnectionProvider = /** @class */ (function () {
20
- function WebSocketConnectionProvider() {
21
- }
9
+ exports.WebSocketConnectionProvider = void 0;
10
+ const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
11
+ const vscode_jsonrpc_1 = require("vscode-jsonrpc");
12
+ const messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
13
+ const messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
14
+ const proxy_factory_1 = require("../proxy-factory");
15
+ const reconnecting_websocket_1 = require("reconnecting-websocket");
16
+ class WebSocketConnectionProvider {
22
17
  /**
23
18
  * Create a proxy object to remote interface of T type
24
19
  * over a web socket connection for the given path.
@@ -26,59 +21,204 @@ var WebSocketConnectionProvider = /** @class */ (function () {
26
21
  * An optional target can be provided to handle
27
22
  * notifications and requests from a remote side.
28
23
  */
29
- WebSocketConnectionProvider.prototype.createProxy = function (path, target, options) {
30
- var factory = new proxy_factory_1.JsonRpcProxyFactory(target);
31
- this.listen({
32
- path: path,
33
- onConnection: function (c) { return factory.listen(c); }
34
- }, options);
24
+ createProxy(path, target, options) {
25
+ const factory = new proxy_factory_1.JsonRpcProxyFactory(target);
26
+ const startListening = (path) => {
27
+ const socket = this.listen({
28
+ path,
29
+ onConnection: (c) => factory.listen(c),
30
+ }, {
31
+ onTransportDidClose: () => factory.fireConnectionClosed(),
32
+ onTransportDidOpen: () => factory.fireConnectionOpened(),
33
+ }, options);
34
+ if (options === null || options === void 0 ? void 0 : options.onListening) {
35
+ options.onListening(socket);
36
+ }
37
+ };
38
+ if (typeof path === "string") {
39
+ startListening(path);
40
+ }
41
+ else {
42
+ path.then((path) => startListening(path));
43
+ }
35
44
  return factory.createProxy();
36
- };
45
+ }
37
46
  /**
38
47
  * Install a connection handler for the given path.
39
48
  */
40
- WebSocketConnectionProvider.prototype.listen = function (handler, options) {
41
- var url = handler.path;
42
- var webSocket = this.createWebSocket(url, options);
43
- var logger = this.createLogger();
49
+ listen(handler, eventHandler, options) {
50
+ const url = handler.path;
51
+ const webSocket = this.createWebSocket(url);
52
+ const logger = this.createLogger();
44
53
  if (options && options.onerror) {
45
- var onerror_1 = options.onerror;
46
- webSocket.addEventListener('error', function (event) {
47
- onerror_1(event);
54
+ const onerror = options.onerror;
55
+ webSocket.addEventListener("error", (event) => {
56
+ onerror(event);
48
57
  });
49
58
  }
50
59
  else {
51
- webSocket.addEventListener('error', function (error) {
60
+ webSocket.addEventListener("error", (error) => {
52
61
  logger.error(JSON.stringify(error));
53
62
  });
54
63
  }
55
- vscode_ws_jsonrpc_1.listen({
56
- webSocket: webSocket,
57
- onConnection: function (connection) { return handler.onConnection(connection); },
58
- logger: logger
59
- });
60
- };
61
- WebSocketConnectionProvider.prototype.createLogger = function () {
64
+ doListen(webSocket, handler, eventHandler, logger);
65
+ return webSocket;
66
+ }
67
+ createLogger() {
62
68
  return new vscode_ws_jsonrpc_1.ConsoleLogger();
63
- };
69
+ }
64
70
  /**
65
71
  * Creates a web socket for the given url
66
72
  */
67
- WebSocketConnectionProvider.prototype.createWebSocket = function (url, options) {
68
- var socketOptions = {
73
+ createWebSocket(url) {
74
+ return new reconnecting_websocket_1.default(url, undefined, {
69
75
  maxReconnectionDelay: 10000,
70
76
  minReconnectionDelay: 1000,
71
77
  reconnectionDelayGrowFactor: 1.3,
72
78
  maxRetries: Infinity,
73
- debug: false
74
- };
75
- var result = new reconnecting_websocket_1.default(url, undefined, socketOptions);
76
- return result; //HACK ReconnectingWebScoket does not fully implement the WebScoket type.
77
- };
78
- WebSocketConnectionProvider = __decorate([
79
- inversify_1.injectable()
80
- ], WebSocketConnectionProvider);
81
- return WebSocketConnectionProvider;
82
- }());
79
+ debug: false,
80
+ WebSocket: WebSocket,
81
+ });
82
+ }
83
+ }
83
84
  exports.WebSocketConnectionProvider = WebSocketConnectionProvider;
85
+ // The following was extracted from vscode-ws-jsonrpc to make these changes:
86
+ // - switch from WebSocket to ReconnectingWebSocket
87
+ // - webSocket.onopen: making sure it's only ever called once so we're re-using MessageConnection
88
+ // - WebSocketMessageWriter: buffer and re-try messages instead of throwing an error immidiately
89
+ // - WebSocketMessageReader: don't close MessageConnection on 'socket.onclose'
90
+ function doListen(resocket, handler, eventHandler, logger) {
91
+ resocket.addEventListener("close", () => eventHandler.onTransportDidClose());
92
+ let alreadyOpened = false;
93
+ resocket.onopen = () => {
94
+ // trigerr "open" every time we re-open the underlying websocket
95
+ eventHandler.onTransportDidOpen();
96
+ // make sure we're only ever creating one MessageConnection, irregardless of how many times we have to re-open the underlying (reconnecting) websocket
97
+ if (alreadyOpened) {
98
+ return;
99
+ }
100
+ alreadyOpened = true;
101
+ const connection = createWebSocketConnection(resocket, logger);
102
+ handler.onConnection(connection);
103
+ };
104
+ }
105
+ function createWebSocketConnection(resocket, logger) {
106
+ const socket = (0, vscode_ws_jsonrpc_1.toSocket)(resocket);
107
+ const messageReader = new NonClosingWebSocketMessageReader(socket);
108
+ const messageWriter = new BufferingWebSocketMessageWriter(resocket, logger);
109
+ const connection = (0, vscode_jsonrpc_1.createMessageConnection)(messageReader, messageWriter, logger);
110
+ connection.onClose(() => connection.dispose());
111
+ return connection;
112
+ }
113
+ /**
114
+ * This takes vscode-ws-jsonrpc/lib/socket/writer/WebSocketMessageWriter and adds a buffer
115
+ */
116
+ class BufferingWebSocketMessageWriter extends messageWriter_1.AbstractMessageWriter {
117
+ constructor(socket, logger) {
118
+ super();
119
+ this.errorCount = 0;
120
+ this.buffer = [];
121
+ this.socket = socket;
122
+ this.logger = logger;
123
+ socket.addEventListener("open", (event) => this.flushBuffer());
124
+ }
125
+ write(msg) {
126
+ if (this.socket.readyState !== reconnecting_websocket_1.default.OPEN) {
127
+ this.bufferMsg(msg);
128
+ return;
129
+ }
130
+ try {
131
+ const content = JSON.stringify(msg);
132
+ this.socket.send(content);
133
+ }
134
+ catch (e) {
135
+ this.errorCount++;
136
+ this.fireError(e, msg, this.errorCount);
137
+ this.bufferMsg(msg);
138
+ }
139
+ }
140
+ flushBuffer() {
141
+ if (this.buffer.length === 0) {
142
+ return;
143
+ }
144
+ const buffer = [...this.buffer];
145
+ this.buffer = [];
146
+ for (const msg of buffer) {
147
+ this.write(msg);
148
+ }
149
+ //this.logger.info(`flushed buffer (${this.buffer.length})`)
150
+ }
151
+ bufferMsg(msg) {
152
+ this.buffer.push(msg);
153
+ //this.logger.info(`buffered message (${this.buffer.length})`);
154
+ }
155
+ }
156
+ /**
157
+ * This takes vscode-ws-jsonrpc/lib/socket/reader/WebSocketMessageReader and removes the "onClose -> fireClose" connection
158
+ */
159
+ class NonClosingWebSocketMessageReader extends messageReader_1.AbstractMessageReader {
160
+ constructor(socket) {
161
+ super();
162
+ this.events = [];
163
+ this.state = "initial";
164
+ this.callback = () => { };
165
+ this.socket = socket;
166
+ this.socket.onMessage((message) => this.readMessage(message));
167
+ this.socket.onError((error) => this.fireError(error));
168
+ this.socket.onClose((code, reason) => {
169
+ if (code !== 1000) {
170
+ const error = {
171
+ name: "" + code,
172
+ message: `Error during socket reconnect: code = ${code}, reason = ${reason}`,
173
+ };
174
+ this.fireError(error);
175
+ }
176
+ // this.fireClose(); // <-- reason for this class to be copied over
177
+ });
178
+ }
179
+ listen(callback) {
180
+ if (this.state === "initial") {
181
+ this.state = "listening";
182
+ this.callback = callback;
183
+ while (this.events.length !== 0) {
184
+ const event = this.events.pop();
185
+ if (event.message) {
186
+ this.readMessage(event.message);
187
+ }
188
+ else if (event.error) {
189
+ this.fireError(event.error);
190
+ }
191
+ else {
192
+ this.fireClose();
193
+ }
194
+ }
195
+ }
196
+ }
197
+ readMessage(message) {
198
+ if (this.state === "initial") {
199
+ this.events.splice(0, 0, { message });
200
+ }
201
+ else if (this.state === "listening") {
202
+ const data = JSON.parse(message);
203
+ this.callback(data);
204
+ }
205
+ }
206
+ fireError(error) {
207
+ if (this.state === "initial") {
208
+ this.events.splice(0, 0, { error });
209
+ }
210
+ else if (this.state === "listening") {
211
+ super.fireError(error);
212
+ }
213
+ }
214
+ fireClose() {
215
+ if (this.state === "initial") {
216
+ this.events.splice(0, 0, {});
217
+ }
218
+ else if (this.state === "listening") {
219
+ super.fireClose();
220
+ }
221
+ this.state = "closed";
222
+ }
223
+ }
84
224
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;AAEH,uCAAuC;AACvC,uDAA8E;AAC9E,kDAAqE;AAErE,iEAA2D;AAO3D;IAAA;IA8DA,CAAC;IA5DG;;;;;;OAMG;IACH,iDAAW,GAAX,UAA8B,IAAY,EAAE,MAAe,EAAE,OAA0B;QACnF,IAAM,OAAO,GAAG,IAAI,mCAAmB,CAAI,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC;YACR,IAAI,MAAA;YACJ,YAAY,EAAE,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAjB,CAAiB;SACvC,EAAE,OAAO,CAAC,CAAC;QACZ,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,4CAAM,GAAN,UAAO,OAA0B,EAAE,OAA0B;QACzD,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAErD,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;YAC5B,IAAM,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAK;gBACtC,SAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACN;aAAM;YACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAY;gBAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACN;QACD,0BAAQ,CAAC;YACL,SAAS,WAAA;YACT,YAAY,EAAE,UAAA,UAAU,IAAI,OAAA,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,EAAhC,CAAgC;YAC5D,MAAM,QAAA;SACT,CAAC,CAAC;IACP,CAAC;IAES,kDAAY,GAAtB;QACI,OAAO,IAAI,iCAAa,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,qDAAe,GAAf,UAAgB,GAAW,EAAE,OAA0B;QACnD,IAAM,aAAa,GAAG;YAClB,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,2BAA2B,EAAE,GAAG;YAChC,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,KAAK;SACf,CAAC;QACF,IAAM,MAAM,GAAG,IAAI,gCAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACxE,OAAO,MAAa,CAAC,CAAC,yEAAyE;IACnG,CAAC;IA5DQ,2BAA2B;QADvC,sBAAU,EAAE;OACA,2BAA2B,CA8DvC;IAAD,kCAAC;CAAA,AA9DD,IA8DC;AA9DY,kEAA2B"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/connection.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
- import { Message } from 'vscode-jsonrpc/lib/messages';
2
- import { AbstractMessageWriter, MessageWriter } from 'vscode-jsonrpc/lib/messageWriter';
3
- import { AbstractMessageReader, MessageReader, DataCallback } from 'vscode-jsonrpc/lib/messageReader';
4
- import { MessageConnection } from 'vscode-jsonrpc/lib/main';
1
+ /**
2
+ * Copyright (c) 2020 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 { Message } from "vscode-jsonrpc/lib/messages";
7
+ import { AbstractMessageWriter, MessageWriter } from "vscode-jsonrpc/lib/messageWriter";
8
+ import { AbstractMessageReader, MessageReader, DataCallback } from "vscode-jsonrpc/lib/messageReader";
9
+ import { MessageConnection } from "vscode-jsonrpc/lib/main";
5
10
  export declare class WindowMessageWriter extends AbstractMessageWriter implements MessageWriter {
6
11
  readonly serviceId: string;
7
12
  readonly window: Window;
@@ -1 +1 @@
1
- {"version":3,"file":"window-connection.d.ts","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAA2B,MAAM,yBAAyB,CAAC;AAYrF,qBAAa,mBAAoB,SAAQ,qBAAsB,YAAW,aAAa;IAEvE,QAAQ,CAAC,SAAS,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM;gBAAzE,SAAS,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM,EAAW,YAAY,EAAE,MAAM;IAI9F,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAK5B;AAED,qBAAa,mBAAoB,SAAQ,qBAAsB,YAAW,aAAa;IAKvE,QAAQ,CAAC,SAAS,EAAE,MAAM;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM;IAHrE,SAAS,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAM;gBAErB,SAAS,EAAE,MAAM,EAAW,YAAY,EAAE,MAAM;IAiBrE,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;CASvC;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,SAAe,GAAG,iBAAiB,CAIrJ"}
1
+ {"version":3,"file":"window-connection.d.ts","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAA2B,MAAM,yBAAyB,CAAC;AAiBrF,qBAAa,mBAAoB,SAAQ,qBAAsB,YAAW,aAAa;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM;gBAAzE,SAAS,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM,EAAW,YAAY,EAAE,MAAM;IAI9F,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,qBAAsB,YAAW,aAAa;IAIvE,QAAQ,CAAC,SAAS,EAAE,MAAM;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM;IAHrE,SAAS,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAM;gBAErB,SAAS,EAAE,MAAM,EAAW,YAAY,EAAE,MAAM;IAqBrE,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;CAQvC;AAED,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,SAAe,GAC5B,iBAAiB,CAInB"}
@@ -1,82 +1,71 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
2
+ /**
3
+ * Copyright (c) 2020 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
+ */
15
7
  Object.defineProperty(exports, "__esModule", { value: true });
16
- var messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
17
- var messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
18
- var main_1 = require("vscode-jsonrpc/lib/main");
19
- var vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
8
+ exports.createWindowMessageConnection = exports.WindowMessageReader = exports.WindowMessageWriter = void 0;
9
+ const messageWriter_1 = require("vscode-jsonrpc/lib/messageWriter");
10
+ const messageReader_1 = require("vscode-jsonrpc/lib/messageReader");
11
+ const main_1 = require("vscode-jsonrpc/lib/main");
12
+ const vscode_ws_jsonrpc_1 = require("vscode-ws-jsonrpc");
20
13
  function isWindowMessage(value) {
21
- return !!value && typeof value === 'object' &&
22
- ('jsonrpc' in value && typeof value['jsonrpc'] === 'string') &&
23
- ('serviceId' in value && typeof value['serviceId'] === 'string');
14
+ return (!!value &&
15
+ typeof value === "object" &&
16
+ "jsonrpc" in value &&
17
+ typeof value["jsonrpc"] === "string" &&
18
+ "serviceId" in value &&
19
+ typeof value["serviceId"] === "string");
24
20
  }
25
- var WindowMessageWriter = /** @class */ (function (_super) {
26
- __extends(WindowMessageWriter, _super);
27
- function WindowMessageWriter(serviceId, window, targetOrigin) {
28
- var _this = _super.call(this) || this;
29
- _this.serviceId = serviceId;
30
- _this.window = window;
31
- _this.targetOrigin = targetOrigin;
32
- return _this;
21
+ class WindowMessageWriter extends messageWriter_1.AbstractMessageWriter {
22
+ constructor(serviceId, window, targetOrigin) {
23
+ super();
24
+ this.serviceId = serviceId;
25
+ this.window = window;
26
+ this.targetOrigin = targetOrigin;
33
27
  }
34
- WindowMessageWriter.prototype.write = function (msg) {
35
- var serviceId = this.serviceId;
36
- this.window.postMessage(Object.assign(msg, { serviceId: serviceId }), this.targetOrigin);
37
- };
38
- return WindowMessageWriter;
39
- }(messageWriter_1.AbstractMessageWriter));
28
+ write(msg) {
29
+ const { serviceId } = this;
30
+ this.window.postMessage(Object.assign(msg, { serviceId }), this.targetOrigin);
31
+ }
32
+ }
40
33
  exports.WindowMessageWriter = WindowMessageWriter;
41
- var WindowMessageReader = /** @class */ (function (_super) {
42
- __extends(WindowMessageReader, _super);
43
- function WindowMessageReader(serviceId, sourceOrigin) {
44
- var _this = _super.call(this) || this;
45
- _this.serviceId = serviceId;
46
- _this.sourceOrigin = sourceOrigin;
47
- _this.buffer = [];
48
- window.addEventListener('message', function (event) {
49
- if (_this.sourceOrigin !== '*' && event.origin !== _this.sourceOrigin) {
34
+ class WindowMessageReader extends messageReader_1.AbstractMessageReader {
35
+ constructor(serviceId, sourceOrigin) {
36
+ super();
37
+ this.serviceId = serviceId;
38
+ this.sourceOrigin = sourceOrigin;
39
+ this.buffer = [];
40
+ window.addEventListener("message", (event) => {
41
+ if (this.sourceOrigin !== "*" && event.origin !== this.sourceOrigin) {
50
42
  return;
51
43
  }
52
- if (!isWindowMessage(event.data) || event.data.serviceId !== _this.serviceId) {
44
+ if (!isWindowMessage(event.data) || event.data.serviceId !== this.serviceId) {
53
45
  return;
54
46
  }
55
- if (_this.callback) {
56
- _this.callback(event.data);
47
+ if (this.callback) {
48
+ this.callback(event.data);
57
49
  }
58
50
  else {
59
- _this.buffer.push(event.data);
51
+ this.buffer.push(event.data);
60
52
  }
61
53
  }, false);
62
- return _this;
63
54
  }
64
- WindowMessageReader.prototype.listen = function (callback) {
65
- var message;
66
- while (message = this.buffer.pop()) {
55
+ listen(callback) {
56
+ let message;
57
+ while ((message = this.buffer.pop())) {
67
58
  callback(message);
68
59
  }
69
60
  Object.freeze(this.buffer);
70
61
  this.callback = callback;
71
- };
72
- return WindowMessageReader;
73
- }(messageReader_1.AbstractMessageReader));
62
+ }
63
+ }
74
64
  exports.WindowMessageReader = WindowMessageReader;
75
- function createWindowMessageConnection(serviceId, window, sourceOrigin, targetOrigin) {
76
- if (targetOrigin === void 0) { targetOrigin = sourceOrigin; }
77
- var reader = new WindowMessageReader(serviceId, sourceOrigin);
78
- var writer = new WindowMessageWriter(serviceId, window, targetOrigin);
79
- return main_1.createMessageConnection(reader, writer, new vscode_ws_jsonrpc_1.ConsoleLogger());
65
+ function createWindowMessageConnection(serviceId, window, sourceOrigin, targetOrigin = sourceOrigin) {
66
+ const reader = new WindowMessageReader(serviceId, sourceOrigin);
67
+ const writer = new WindowMessageWriter(serviceId, window, targetOrigin);
68
+ return (0, main_1.createMessageConnection)(reader, writer, new vscode_ws_jsonrpc_1.ConsoleLogger());
80
69
  }
81
70
  exports.createWindowMessageConnection = createWindowMessageConnection;
82
71
  //# sourceMappingURL=window-connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"window-connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,kEAAwF;AACxF,kEAAsG;AACtG,gDAAqF;AACrF,uDAAkD;AAKlD,SAAS,eAAe,CAAC,KAAU;IAC/B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvC,CAAC,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC5D,CAAC,WAAW,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED;IAAyC,uCAAqB;IAE1D,6BAAqB,SAAiB,EAAW,MAAc,EAAW,YAAoB;QAA9F,YACI,iBAAO,SACV;QAFoB,eAAS,GAAT,SAAS,CAAQ;QAAW,YAAM,GAAN,MAAM,CAAQ;QAAW,kBAAY,GAAZ,YAAY,CAAQ;;IAE9F,CAAC;IAED,mCAAK,GAAL,UAAM,GAAY;QACN,IAAA,0BAAS,CAAU;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,WAAA,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;IAEL,0BAAC;AAAD,CAAC,AAXD,CAAyC,qCAAqB,GAW7D;AAXY,kDAAmB;AAahC;IAAyC,uCAAqB;IAK1D,6BAAqB,SAAiB,EAAW,YAAoB;QAArE,YACI,iBAAO,SAcV;QAfoB,eAAS,GAAT,SAAS,CAAQ;QAAW,kBAAY,GAAZ,YAAY,CAAQ;QAFlD,YAAM,GAAc,EAAE,CAAC;QAItC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAA,KAAK;YACpC,IAAI,KAAI,CAAC,YAAY,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,EAAE;gBACjE,OAAO;aACV;YACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAAE;gBACzE,OAAO;aACV;YACD,IAAI,KAAI,CAAC,QAAQ,EAAE;gBACf,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7B;iBAAM;gBACH,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAChC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;;IACd,CAAC;IAED,oCAAM,GAAN,UAAO,QAAsB;QACzB,IAAI,OAAO,CAAC;QACZ,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YAChC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEL,0BAAC;AAAD,CAAC,AA/BD,CAAyC,qCAAqB,GA+B7D;AA/BY,kDAAmB;AAiChC,SAAgB,6BAA6B,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAoB,EAAE,YAA2B;IAA3B,6BAAA,EAAA,2BAA2B;IAC9H,IAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChE,IAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxE,OAAO,8BAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,iCAAa,EAAE,CAAC,CAAC;AACxE,CAAC;AAJD,sEAIC"}
1
+ {"version":3,"file":"window-connection.js","sourceRoot":"","sources":["../../../src/messaging/browser/window-connection.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,oEAAwF;AACxF,oEAAsG;AACtG,kDAAqF;AACrF,yDAAkD;AAKlD,SAAS,eAAe,CAAC,KAAU;IAC/B,OAAO,CACH,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,SAAS,IAAI,KAAK;QAClB,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ;QACpC,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CACzC,CAAC;AACN,CAAC;AAED,MAAa,mBAAoB,SAAQ,qCAAqB;IAC1D,YAAqB,SAAiB,EAAW,MAAc,EAAW,YAAoB;QAC1F,KAAK,EAAE,CAAC;QADS,cAAS,GAAT,SAAS,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAQ;IAE9F,CAAC;IAED,KAAK,CAAC,GAAY;QACd,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;CACJ;AATD,kDASC;AAED,MAAa,mBAAoB,SAAQ,qCAAqB;IAI1D,YAAqB,SAAiB,EAAW,YAAoB;QACjE,KAAK,EAAE,CAAC;QADS,cAAS,GAAT,SAAS,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAFlD,WAAM,GAAc,EAAE,CAAC;QAItC,MAAM,CAAC,gBAAgB,CACnB,SAAS,EACT,CAAC,KAAK,EAAE,EAAE;YACN,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE;gBACjE,OAAO;aACV;YACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACzE,OAAO;aACV;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7B;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAChC;QACL,CAAC,EACD,KAAK,CACR,CAAC;IACN,CAAC;IAED,MAAM,CAAC,QAAsB;QACzB,IAAI,OAAO,CAAC;QACZ,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE;YAClC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAjCD,kDAiCC;AAED,SAAgB,6BAA6B,CACzC,SAAiB,EACjB,MAAc,EACd,YAAoB,EACpB,YAAY,GAAG,YAAY;IAE3B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxE,OAAO,IAAA,8BAAuB,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,iCAAa,EAAE,CAAC,CAAC;AACxE,CAAC;AATD,sEASC"}
@@ -0,0 +1,21 @@
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 * as prometheusClient from "prom-client";
7
+ import { IClientCallMetrics, IGrpcCallMetricsLabels, IGrpcCallMetricsLabelsWithCode } from "../util/grpc";
8
+ export declare class PrometheusClientCallMetrics implements IClientCallMetrics {
9
+ readonly startedCounter: prometheusClient.Counter<string>;
10
+ readonly sentCounter: prometheusClient.Counter<string>;
11
+ readonly receivedCounter: prometheusClient.Counter<string>;
12
+ readonly handledCounter: prometheusClient.Counter<string>;
13
+ readonly handledSecondsHistogram: prometheusClient.Histogram<string>;
14
+ constructor();
15
+ started(labels: IGrpcCallMetricsLabels): void;
16
+ sent(labels: IGrpcCallMetricsLabels): void;
17
+ received(labels: IGrpcCallMetricsLabels): void;
18
+ handled(labels: IGrpcCallMetricsLabelsWithCode): void;
19
+ startHandleTimer(labels: IGrpcCallMetricsLabelsWithCode): (labels?: Partial<Record<string, string | number>> | undefined) => number;
20
+ }
21
+ //# sourceMappingURL=client-call-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-call-metrics.d.ts","sourceRoot":"","sources":["../../src/messaging/client-call-metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,gBAAgB,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAE1G,qBACa,2BAA4B,YAAW,kBAAkB;IAClE,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;;IAmCrE,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAQ7C,IAAI,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAQ1C,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAQ9C,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI;IASrD,gBAAgB,CACZ,MAAM,EAAE,8BAA8B,GACvC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,KAAK,MAAM;CAO/E"}
@@ -0,0 +1,95 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.PrometheusClientCallMetrics = void 0;
18
+ const inversify_1 = require("inversify");
19
+ const prometheusClient = require("prom-client");
20
+ let PrometheusClientCallMetrics = class PrometheusClientCallMetrics {
21
+ constructor() {
22
+ this.startedCounter = new prometheusClient.Counter({
23
+ name: "grpc_client_started_total",
24
+ help: "Total number of RPCs started on the client.",
25
+ labelNames: ["grpc_service", "grpc_method", "grpc_type"],
26
+ registers: [prometheusClient.register],
27
+ });
28
+ this.sentCounter = new prometheusClient.Counter({
29
+ name: "grpc_client_msg_sent_total",
30
+ help: " Total number of gRPC stream messages sent by the client.",
31
+ labelNames: ["grpc_service", "grpc_method", "grpc_type"],
32
+ registers: [prometheusClient.register],
33
+ });
34
+ this.receivedCounter = new prometheusClient.Counter({
35
+ name: "grpc_client_msg_received_total",
36
+ help: "Total number of RPC stream messages received by the client.",
37
+ labelNames: ["grpc_service", "grpc_method", "grpc_type"],
38
+ registers: [prometheusClient.register],
39
+ });
40
+ this.handledCounter = new prometheusClient.Counter({
41
+ name: "grpc_client_handled_total",
42
+ help: "Total number of RPCs completed by the client, regardless of success or failure.",
43
+ labelNames: ["grpc_service", "grpc_method", "grpc_type", "grpc_code"],
44
+ registers: [prometheusClient.register],
45
+ });
46
+ this.handledSecondsHistogram = new prometheusClient.Histogram({
47
+ name: "grpc_client_handling_seconds",
48
+ help: "Histogram of response latency (seconds) of the gRPC until it is finished by the application.",
49
+ labelNames: ["grpc_service", "grpc_method", "grpc_type", "grpc_code"],
50
+ registers: [prometheusClient.register],
51
+ });
52
+ }
53
+ started(labels) {
54
+ this.startedCounter.inc({
55
+ grpc_service: labels.service,
56
+ grpc_method: labels.method,
57
+ grpc_type: labels.type,
58
+ });
59
+ }
60
+ sent(labels) {
61
+ this.sentCounter.inc({
62
+ grpc_service: labels.service,
63
+ grpc_method: labels.method,
64
+ grpc_type: labels.type,
65
+ });
66
+ }
67
+ received(labels) {
68
+ this.receivedCounter.inc({
69
+ grpc_service: labels.service,
70
+ grpc_method: labels.method,
71
+ grpc_type: labels.type,
72
+ });
73
+ }
74
+ handled(labels) {
75
+ this.handledCounter.inc({
76
+ grpc_service: labels.service,
77
+ grpc_method: labels.method,
78
+ grpc_type: labels.type,
79
+ grpc_code: labels.code,
80
+ });
81
+ }
82
+ startHandleTimer(labels) {
83
+ return this.handledSecondsHistogram.startTimer({
84
+ grpc_service: labels.service,
85
+ grpc_method: labels.method,
86
+ grpc_type: labels.type,
87
+ });
88
+ }
89
+ };
90
+ PrometheusClientCallMetrics = __decorate([
91
+ (0, inversify_1.injectable)(),
92
+ __metadata("design:paramtypes", [])
93
+ ], PrometheusClientCallMetrics);
94
+ exports.PrometheusClientCallMetrics = PrometheusClientCallMetrics;
95
+ //# sourceMappingURL=client-call-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-call-metrics.js","sourceRoot":"","sources":["../../src/messaging/client-call-metrics.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,41 @@
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 namespace ErrorCodes {
7
+ const BAD_REQUEST = 400;
7
8
  const NOT_AUTHENTICATED = 401;
8
9
  const NOT_ENOUGH_CREDIT = 402;
9
10
  const PERMISSION_DENIED = 403;
10
11
  const NOT_FOUND = 404;
11
12
  const CONFLICT = 409;
12
13
  const SETUP_REQUIRED = 410;
14
+ const NEEDS_VERIFICATION = 411;
15
+ const TOO_MANY_REQUESTS = 429;
13
16
  const REPOSITORY_NOT_WHITELISTED = 430;
14
- const CONTEXT_PARSE_ERROR = 460;
17
+ const PROJECT_REQUIRED = 440;
15
18
  const PAYMENT_ERROR = 450;
19
+ const PAYMENT_SPENDING_LIMIT_REACHED = 451;
20
+ const SUBSCRIPTION_ERROR = 452;
21
+ const INVALID_COST_CENTER = 455;
22
+ const CONTEXT_PARSE_ERROR = 460;
23
+ const INVALID_GITPOD_YML = 461;
16
24
  const USER_BLOCKED = 470;
17
25
  const USER_DELETED = 471;
26
+ const USER_TERMS_ACCEPTANCE_REQUIRED = 472;
18
27
  const PLAN_DOES_NOT_ALLOW_PRIVATE_REPOS = 480;
19
28
  const PLAN_PROFESSIONAL_REQUIRED = 481;
20
29
  const PLAN_ONLY_ALLOWED_FOR_STUDENTS = 485;
21
30
  const TOO_MANY_RUNNING_WORKSPACES = 490;
31
+ const INTERNAL_SERVER_ERROR = 500;
22
32
  const EE_FEATURE = 501;
23
33
  const EE_LICENSE_REQUIRED = 555;
34
+ const SAAS_FEATURE = 601;
24
35
  const TEAM_SUBSCRIPTION_INVALID_QUANTITY = 610;
25
36
  const TEAM_SUBSCRIPTION_ASSIGNMENT_FAILED = 620;
26
- const NOT_IMPLEMENTED = 666;
37
+ const SNAPSHOT_ERROR = 630;
38
+ const HEADLESS_LOG_NOT_YET_AVAILABLE = 640;
39
+ const INVALID_VALUE = 650;
27
40
  }
28
41
  //# sourceMappingURL=error.d.ts.map