@gitpod/gitpod-protocol 0.1.5-main.648 → 0.1.5-main.6480

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 +157 -29
  2. package/lib/accounting-protocol.d.ts +19 -14
  3. package/lib/accounting-protocol.d.ts.map +1 -1
  4. package/lib/accounting-protocol.js +44 -48
  5. package/lib/accounting-protocol.js.map +1 -1
  6. package/lib/admin-protocol.d.ts +44 -5
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +16 -1
  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 +1 -1
  19. package/lib/auth.d.ts.map +1 -1
  20. package/lib/auth.js +1 -1
  21. package/lib/billing-mode.d.ts +45 -0
  22. package/lib/billing-mode.d.ts.map +1 -0
  23. package/lib/billing-mode.js +44 -0
  24. package/lib/billing-mode.js.map +1 -0
  25. package/lib/blocked-repositories-protocol.d.ts +13 -0
  26. package/lib/blocked-repositories-protocol.d.ts.map +1 -0
  27. package/lib/blocked-repositories-protocol.js +8 -0
  28. package/lib/blocked-repositories-protocol.js.map +1 -0
  29. package/lib/context-url.d.ts +30 -0
  30. package/lib/context-url.d.ts.map +1 -0
  31. package/lib/context-url.js +100 -0
  32. package/lib/context-url.js.map +1 -0
  33. package/lib/context-url.spec.d.ts +12 -0
  34. package/lib/context-url.spec.d.ts.map +1 -0
  35. package/lib/context-url.spec.js +81 -0
  36. package/lib/context-url.spec.js.map +1 -0
  37. package/lib/encryption/container-module.d.ts +1 -1
  38. package/lib/encryption/container-module.d.ts.map +1 -1
  39. package/lib/encryption/container-module.js +5 -5
  40. package/lib/encryption/container-module.js.map +1 -1
  41. package/lib/encryption/encryption-engine.d.ts +1 -1
  42. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  43. package/lib/encryption/encryption-engine.js +26 -27
  44. package/lib/encryption/encryption-engine.js.map +1 -1
  45. package/lib/encryption/encryption-engine.spec.d.ts +1 -1
  46. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  47. package/lib/encryption/encryption-engine.spec.js +30 -38
  48. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  49. package/lib/encryption/encryption-service.d.ts +1 -1
  50. package/lib/encryption/encryption-service.d.ts.map +1 -1
  51. package/lib/encryption/encryption-service.js +31 -45
  52. package/lib/encryption/encryption-service.js.map +1 -1
  53. package/lib/encryption/key-provider.d.ts +1 -1
  54. package/lib/encryption/key-provider.d.ts.map +1 -1
  55. package/lib/encryption/key-provider.js +32 -39
  56. package/lib/encryption/key-provider.js.map +1 -1
  57. package/lib/env.d.ts +1 -7
  58. package/lib/env.d.ts.map +1 -1
  59. package/lib/env.js +8 -28
  60. package/lib/env.js.map +1 -1
  61. package/lib/experiments/always-default.d.ts +8 -0
  62. package/lib/experiments/always-default.d.ts.map +1 -0
  63. package/lib/experiments/always-default.js +20 -0
  64. package/lib/experiments/always-default.js.map +1 -0
  65. package/lib/experiments/configcat-server.d.ts +10 -0
  66. package/lib/experiments/configcat-server.d.ts.map +1 -0
  67. package/lib/experiments/configcat-server.js +37 -0
  68. package/lib/experiments/configcat-server.js.map +1 -0
  69. package/lib/experiments/configcat.d.ts +21 -0
  70. package/lib/experiments/configcat.d.ts.map +1 -0
  71. package/lib/experiments/configcat.js +51 -0
  72. package/lib/experiments/configcat.js.map +1 -0
  73. package/lib/experiments/types.d.ts +22 -0
  74. package/lib/experiments/types.d.ts.map +1 -0
  75. package/lib/experiments/types.js +10 -0
  76. package/lib/experiments/types.js.map +1 -0
  77. package/lib/frontend-dashboard-service.d.ts +90 -0
  78. package/lib/frontend-dashboard-service.d.ts.map +1 -0
  79. package/lib/frontend-dashboard-service.js +49 -0
  80. package/lib/frontend-dashboard-service.js.map +1 -0
  81. package/lib/gitpod-file-parser.d.ts +1 -1
  82. package/lib/gitpod-file-parser.d.ts.map +1 -1
  83. package/lib/gitpod-file-parser.js +27 -43
  84. package/lib/gitpod-file-parser.js.map +1 -1
  85. package/lib/gitpod-file-parser.spec.d.ts +1 -1
  86. package/lib/gitpod-file-parser.spec.js +146 -143
  87. package/lib/gitpod-file-parser.spec.js.map +1 -1
  88. package/lib/gitpod-service.d.ts +191 -55
  89. package/lib/gitpod-service.d.ts.map +1 -1
  90. package/lib/gitpod-service.js +204 -298
  91. package/lib/gitpod-service.js.map +1 -1
  92. package/lib/headless-workspace-log.d.ts +10 -12
  93. package/lib/headless-workspace-log.d.ts.map +1 -1
  94. package/lib/headless-workspace-log.js +7 -9
  95. package/lib/headless-workspace-log.js.map +1 -1
  96. package/lib/ide-frontend-service.d.ts +2 -2
  97. package/lib/ide-frontend-service.js +1 -1
  98. package/lib/ide-protocol.d.ts +126 -0
  99. package/lib/ide-protocol.d.ts.map +1 -0
  100. package/lib/ide-protocol.js +18 -0
  101. package/lib/ide-protocol.js.map +1 -0
  102. package/lib/index.d.ts +17 -11
  103. package/lib/index.d.ts.map +1 -1
  104. package/lib/index.js +8 -2
  105. package/lib/index.js.map +1 -1
  106. package/lib/installation-admin-protocol.d.ts +30 -0
  107. package/lib/installation-admin-protocol.d.ts.map +1 -0
  108. package/lib/installation-admin-protocol.js +31 -0
  109. package/lib/installation-admin-protocol.js.map +1 -0
  110. package/lib/license-protocol.d.ts +8 -1
  111. package/lib/license-protocol.d.ts.map +1 -1
  112. package/lib/license-protocol.js +1 -1
  113. package/lib/license-protocol.js.map +1 -1
  114. package/lib/messaging/browser/connection.d.ts +4 -6
  115. package/lib/messaging/browser/connection.d.ts.map +1 -1
  116. package/lib/messaging/browser/connection.js +176 -45
  117. package/lib/messaging/browser/connection.js.map +1 -1
  118. package/lib/messaging/browser/window-connection.d.ts +5 -5
  119. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  120. package/lib/messaging/browser/window-connection.js +43 -60
  121. package/lib/messaging/browser/window-connection.js.map +1 -1
  122. package/lib/messaging/client-call-metrics.d.ts +21 -0
  123. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  124. package/lib/messaging/client-call-metrics.js +95 -0
  125. package/lib/messaging/client-call-metrics.js.map +1 -0
  126. package/lib/messaging/error.d.ts +13 -3
  127. package/lib/messaging/error.d.ts.map +1 -1
  128. package/lib/messaging/error.js +25 -5
  129. package/lib/messaging/error.js.map +1 -1
  130. package/lib/messaging/handler.d.ts +10 -0
  131. package/lib/messaging/handler.d.ts.map +1 -1
  132. package/lib/messaging/handler.js +1 -1
  133. package/lib/messaging/node/connection.d.ts +1 -17
  134. package/lib/messaging/node/connection.d.ts.map +1 -1
  135. package/lib/messaging/node/connection.js +24 -60
  136. package/lib/messaging/node/connection.js.map +1 -1
  137. package/lib/messaging/proxy-factory.d.ts +3 -1
  138. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  139. package/lib/messaging/proxy-factory.js +75 -162
  140. package/lib/messaging/proxy-factory.js.map +1 -1
  141. package/lib/oss-allowlist.d.ts +14 -0
  142. package/lib/oss-allowlist.d.ts.map +1 -0
  143. package/lib/oss-allowlist.js +8 -0
  144. package/lib/oss-allowlist.js.map +1 -0
  145. package/lib/payment-protocol.d.ts +1 -1
  146. package/lib/payment-protocol.d.ts.map +1 -1
  147. package/lib/payment-protocol.js +2 -2
  148. package/lib/payment-protocol.js.map +1 -1
  149. package/lib/permission.d.ts +14 -4
  150. package/lib/permission.d.ts.map +1 -1
  151. package/lib/permission.js +45 -32
  152. package/lib/permission.js.map +1 -1
  153. package/lib/plans.d.ts +6 -5
  154. package/lib/plans.d.ts.map +1 -1
  155. package/lib/plans.js +230 -210
  156. package/lib/plans.js.map +1 -1
  157. package/lib/protocol.d.ts +261 -105
  158. package/lib/protocol.d.ts.map +1 -1
  159. package/lib/protocol.js +346 -205
  160. package/lib/protocol.js.map +1 -1
  161. package/{src/util/without.ts → lib/protocol.spec.d.ts} +3 -4
  162. package/lib/protocol.spec.d.ts.map +1 -0
  163. package/lib/protocol.spec.js +127 -0
  164. package/lib/protocol.spec.js.map +1 -0
  165. package/lib/snapshot-url.d.ts +14 -0
  166. package/lib/snapshot-url.d.ts.map +1 -0
  167. package/lib/snapshot-url.js +26 -0
  168. package/lib/snapshot-url.js.map +1 -0
  169. package/lib/snapshot-url.spec.d.ts +7 -0
  170. package/lib/snapshot-url.spec.d.ts.map +1 -0
  171. package/lib/snapshot-url.spec.js +41 -0
  172. package/lib/snapshot-url.spec.js.map +1 -0
  173. package/lib/team-subscription-protocol.d.ts +24 -5
  174. package/lib/team-subscription-protocol.d.ts.map +1 -1
  175. package/lib/team-subscription-protocol.js +36 -18
  176. package/lib/team-subscription-protocol.js.map +1 -1
  177. package/lib/teams-projects-protocol.d.ts +137 -0
  178. package/lib/teams-projects-protocol.d.ts.map +1 -0
  179. package/lib/teams-projects-protocol.js +41 -0
  180. package/lib/teams-projects-protocol.js.map +1 -0
  181. package/lib/typings/globals.d.ts +3 -3
  182. package/lib/typings/globals.d.ts.map +1 -1
  183. package/lib/typings/globals.js +1 -1
  184. package/lib/usage.d.ts +73 -0
  185. package/lib/usage.d.ts.map +1 -0
  186. package/lib/usage.js +20 -0
  187. package/lib/usage.js.map +1 -0
  188. package/lib/util/analytics.d.ts +8 -0
  189. package/lib/util/analytics.d.ts.map +1 -0
  190. package/lib/util/analytics.js +88 -0
  191. package/lib/util/analytics.js.map +1 -0
  192. package/lib/util/async-iterator.d.ts +1 -1
  193. package/lib/util/async-iterator.d.ts.map +1 -1
  194. package/lib/util/async-iterator.js +58 -136
  195. package/lib/util/async-iterator.js.map +1 -1
  196. package/lib/util/cancelable.d.ts +1 -1
  197. package/lib/util/cancelable.js +18 -60
  198. package/lib/util/cancelable.js.map +1 -1
  199. package/lib/util/date-time.d.ts +1 -1
  200. package/lib/util/date-time.js +12 -12
  201. package/lib/util/date-time.js.map +1 -1
  202. package/lib/util/debug-app.d.ts +25 -0
  203. package/lib/util/debug-app.d.ts.map +1 -0
  204. package/lib/util/debug-app.js +100 -0
  205. package/lib/util/debug-app.js.map +1 -0
  206. package/lib/util/deep-partial.d.ts +1 -1
  207. package/lib/util/deep-partial.js +1 -1
  208. package/lib/util/deferred.d.ts +1 -1
  209. package/lib/util/deferred.js +11 -13
  210. package/lib/util/deferred.js.map +1 -1
  211. package/lib/util/disposable.d.ts.map +1 -1
  212. package/lib/util/disposable.js +27 -40
  213. package/lib/util/disposable.js.map +1 -1
  214. package/lib/util/event.d.ts.map +1 -1
  215. package/lib/util/event.js +63 -77
  216. package/lib/util/event.js.map +1 -1
  217. package/lib/util/garbage-collected-cache.d.ts +2 -1
  218. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  219. package/lib/util/garbage-collected-cache.js +33 -48
  220. package/lib/util/garbage-collected-cache.js.map +1 -1
  221. package/lib/util/generate-workspace-id.d.ts +6 -1
  222. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  223. package/lib/util/generate-workspace-id.js +469 -502
  224. package/lib/util/generate-workspace-id.js.map +1 -1
  225. package/lib/util/generate-workspace-id.spec.d.ts +1 -1
  226. package/lib/util/generate-workspace-id.spec.js +69 -79
  227. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  228. package/lib/util/gitpod-cookie.d.ts +20 -0
  229. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  230. package/lib/util/gitpod-cookie.js +41 -0
  231. package/lib/util/gitpod-cookie.js.map +1 -0
  232. package/lib/util/gitpod-host-url.d.ts +12 -7
  233. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  234. package/lib/util/gitpod-host-url.js +132 -110
  235. package/lib/util/gitpod-host-url.js.map +1 -1
  236. package/lib/util/gitpod-host-url.spec.d.ts +7 -1
  237. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  238. package/lib/util/gitpod-host-url.spec.js +113 -31
  239. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  240. package/lib/util/grpc.d.ts +35 -0
  241. package/lib/util/grpc.d.ts.map +1 -0
  242. package/lib/util/grpc.js +90 -0
  243. package/lib/util/grpc.js.map +1 -0
  244. package/lib/util/jaeger-client-types.d.ts +68 -0
  245. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  246. package/lib/{theia-plugins.js → util/jaeger-client-types.js} +2 -2
  247. package/lib/util/jaeger-client-types.js.map +1 -0
  248. package/lib/util/logging.d.ts +50 -34
  249. package/lib/util/logging.d.ts.map +1 -1
  250. package/lib/util/logging.js +133 -130
  251. package/lib/util/logging.js.map +1 -1
  252. package/lib/util/logging.spec.d.ts +7 -0
  253. package/lib/util/logging.spec.d.ts.map +1 -0
  254. package/lib/util/logging.spec.js +52 -0
  255. package/lib/util/logging.spec.js.map +1 -0
  256. package/lib/util/make-link.d.ts +1 -1
  257. package/lib/util/make-link.js +6 -6
  258. package/lib/util/make-link.js.map +1 -1
  259. package/lib/util/nice-grpc.d.ts +9 -0
  260. package/lib/util/nice-grpc.d.ts.map +1 -0
  261. package/lib/util/nice-grpc.js +121 -0
  262. package/lib/util/nice-grpc.js.map +1 -0
  263. package/lib/util/parse-workspace-id.d.ts +11 -1
  264. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  265. package/lib/util/parse-workspace-id.js +31 -8
  266. package/lib/util/parse-workspace-id.js.map +1 -1
  267. package/lib/util/parse-workspace-id.spec.d.ts +5 -1
  268. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  269. package/lib/util/parse-workspace-id.spec.js +124 -85
  270. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  271. package/lib/util/queue.d.ts +1 -1
  272. package/lib/util/queue.js +17 -56
  273. package/lib/util/queue.js.map +1 -1
  274. package/lib/util/queue.spec.d.ts +1 -1
  275. package/lib/util/queue.spec.js +148 -289
  276. package/lib/util/queue.spec.js.map +1 -1
  277. package/lib/util/repeat.d.ts +15 -0
  278. package/lib/util/repeat.d.ts.map +1 -0
  279. package/lib/util/repeat.js +55 -0
  280. package/lib/util/repeat.js.map +1 -0
  281. package/lib/util/semaphore.d.ts +1 -1
  282. package/lib/util/semaphore.d.ts.map +1 -1
  283. package/lib/util/semaphore.js +16 -47
  284. package/lib/util/semaphore.js.map +1 -1
  285. package/lib/util/skip-if.d.ts +1 -1
  286. package/lib/util/skip-if.d.ts.map +1 -1
  287. package/lib/util/skip-if.js +7 -7
  288. package/lib/util/skip-if.js.map +1 -1
  289. package/lib/util/timeutil.d.ts +3 -1
  290. package/lib/util/timeutil.d.ts.map +1 -1
  291. package/lib/util/timeutil.js +30 -18
  292. package/lib/util/timeutil.js.map +1 -1
  293. package/lib/util/timeutil.spec.d.ts +3 -1
  294. package/lib/util/timeutil.spec.d.ts.map +1 -1
  295. package/lib/util/timeutil.spec.js +55 -24
  296. package/lib/util/timeutil.spec.js.map +1 -1
  297. package/lib/util/tracing.d.ts +53 -7
  298. package/lib/util/tracing.d.ts.map +1 -1
  299. package/lib/util/tracing.js +198 -65
  300. package/lib/util/tracing.js.map +1 -1
  301. package/lib/util/tracing.spec.d.ts +7 -0
  302. package/lib/util/tracing.spec.d.ts.map +1 -0
  303. package/lib/util/tracing.spec.js +121 -0
  304. package/lib/util/tracing.spec.js.map +1 -0
  305. package/lib/util/workspace-port-authentication.d.ts +8 -8
  306. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  307. package/lib/util/workspace-port-authentication.js +10 -13
  308. package/lib/util/workspace-port-authentication.js.map +1 -1
  309. package/lib/webhook-event.d.ts +44 -0
  310. package/lib/webhook-event.d.ts.map +1 -0
  311. package/lib/webhook-event.js +8 -0
  312. package/lib/webhook-event.js.map +1 -0
  313. package/lib/workspace-class.d.ts +14 -0
  314. package/lib/workspace-class.d.ts.map +1 -0
  315. package/lib/workspace-class.js +8 -0
  316. package/lib/workspace-class.js.map +1 -0
  317. package/lib/workspace-cluster.d.ts +28 -8
  318. package/lib/workspace-cluster.d.ts.map +1 -1
  319. package/lib/workspace-cluster.js +20 -5
  320. package/lib/workspace-cluster.js.map +1 -1
  321. package/lib/workspace-instance.d.ts +46 -6
  322. package/lib/workspace-instance.d.ts.map +1 -1
  323. package/lib/workspace-instance.js +1 -1
  324. package/lib/wsready.d.ts +8 -2
  325. package/lib/wsready.d.ts.map +1 -1
  326. package/lib/wsready.js +3 -3
  327. package/package.json +40 -18
  328. package/pkg-yarn.lock +23 -10
  329. package/provenance-bundle.jsonl +2 -0
  330. package/src/accounting-protocol.ts +67 -58
  331. package/src/admin-protocol.ts +88 -20
  332. package/src/analytics.ts +52 -0
  333. package/src/attribution.ts +63 -0
  334. package/src/auth.ts +3 -3
  335. package/src/billing-mode.ts +84 -0
  336. package/src/blocked-repositories-protocol.ts +13 -0
  337. package/src/context-url.spec.ts +49 -0
  338. package/src/context-url.ts +107 -0
  339. package/src/encryption/container-module.ts +3 -4
  340. package/src/encryption/encryption-engine.spec.ts +10 -9
  341. package/src/encryption/encryption-engine.ts +21 -17
  342. package/src/encryption/encryption-service.ts +5 -6
  343. package/src/encryption/key-provider.ts +17 -20
  344. package/src/env.ts +2 -25
  345. package/src/experiments/always-default.ts +24 -0
  346. package/src/experiments/configcat-server.ts +42 -0
  347. package/src/experiments/configcat.ts +56 -0
  348. package/src/experiments/types.ts +34 -0
  349. package/src/frontend-dashboard-service.ts +125 -0
  350. package/src/gitpod-file-parser.spec.ts +56 -62
  351. package/src/gitpod-file-parser.ts +17 -18
  352. package/src/gitpod-service.ts +369 -146
  353. package/src/headless-workspace-log.ts +13 -15
  354. package/src/ide-frontend-service.ts +3 -3
  355. package/src/ide-protocol.ts +147 -0
  356. package/src/index.ts +17 -11
  357. package/src/installation-admin-protocol.ts +45 -0
  358. package/src/license-protocol.ts +13 -7
  359. package/src/messaging/browser/connection.ts +187 -28
  360. package/src/messaging/browser/window-connection.ts +40 -30
  361. package/src/messaging/client-call-metrics.ts +94 -0
  362. package/src/messaging/error.ts +36 -8
  363. package/src/messaging/handler.ts +13 -1
  364. package/src/messaging/node/connection.ts +23 -70
  365. package/src/messaging/proxy-factory.ts +35 -34
  366. package/src/oss-allowlist.ts +15 -0
  367. package/src/payment-protocol.ts +3 -3
  368. package/src/permission.ts +47 -34
  369. package/src/plans.ts +250 -199
  370. package/src/protocol.spec.ts +97 -0
  371. package/src/protocol.ts +636 -293
  372. package/src/snapshot-url.spec.ts +27 -0
  373. package/src/snapshot-url.ts +27 -0
  374. package/src/team-subscription-protocol.ts +62 -23
  375. package/src/teams-projects-protocol.ts +181 -0
  376. package/src/typings/globals.ts +6 -5
  377. package/src/usage.ts +85 -0
  378. package/src/util/analytics.ts +109 -0
  379. package/src/util/async-iterator.ts +5 -6
  380. package/src/util/cancelable.ts +4 -4
  381. package/src/util/date-time.ts +9 -9
  382. package/src/util/debug-app.ts +81 -0
  383. package/src/util/deep-partial.ts +1 -1
  384. package/src/util/deferred.ts +7 -7
  385. package/src/util/disposable.ts +3 -6
  386. package/src/util/event.ts +9 -11
  387. package/src/util/garbage-collected-cache.ts +17 -9
  388. package/src/util/generate-workspace-id.spec.ts +38 -11
  389. package/src/util/generate-workspace-id.ts +465 -439
  390. package/src/util/gitpod-cookie.ts +38 -0
  391. package/src/util/gitpod-host-url.spec.ts +59 -8
  392. package/src/util/gitpod-host-url.ts +88 -48
  393. package/src/util/grpc.ts +107 -0
  394. package/src/util/jaeger-client-types.ts +102 -0
  395. package/src/util/logging.spec.ts +23 -0
  396. package/src/util/logging.ts +157 -75
  397. package/src/util/make-link.ts +7 -8
  398. package/src/util/nice-grpc.ts +96 -0
  399. package/src/util/parse-workspace-id.spec.ts +38 -9
  400. package/src/util/parse-workspace-id.ts +33 -8
  401. package/src/util/queue.spec.ts +28 -26
  402. package/src/util/queue.ts +1 -1
  403. package/src/util/repeat.ts +45 -0
  404. package/src/util/semaphore.ts +7 -9
  405. package/src/util/skip-if.ts +11 -8
  406. package/src/util/timeutil.spec.ts +41 -15
  407. package/src/util/timeutil.ts +32 -16
  408. package/src/util/tracing.spec.ts +88 -0
  409. package/src/util/tracing.ts +201 -32
  410. package/src/util/workspace-port-authentication.ts +11 -14
  411. package/src/webhook-event.ts +55 -0
  412. package/src/workspace-class.ts +14 -0
  413. package/src/workspace-cluster.ts +47 -17
  414. package/src/workspace-instance.ts +106 -32
  415. package/src/wsready.ts +11 -4
  416. package/data/builtin-theia-plugins.json +0 -372
  417. package/lib/email-protocol.d.ts +0 -50
  418. package/lib/email-protocol.d.ts.map +0 -1
  419. package/lib/email-protocol.js +0 -28
  420. package/lib/email-protocol.js.map +0 -1
  421. package/lib/messaging/connection-error-handler.d.ts +0 -27
  422. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  423. package/lib/messaging/connection-error-handler.js +0 -46
  424. package/lib/messaging/connection-error-handler.js.map +0 -1
  425. package/lib/theia-plugins.d.ts +0 -11
  426. package/lib/theia-plugins.d.ts.map +0 -1
  427. package/lib/theia-plugins.js.map +0 -1
  428. package/lib/util/context-url.d.ts +0 -13
  429. package/lib/util/context-url.d.ts.map +0 -1
  430. package/lib/util/context-url.js +0 -26
  431. package/lib/util/context-url.js.map +0 -1
  432. package/lib/util/context-url.spec.d.ts +0 -10
  433. package/lib/util/context-url.spec.d.ts.map +0 -1
  434. package/lib/util/context-url.spec.js +0 -52
  435. package/lib/util/context-url.spec.js.map +0 -1
  436. package/lib/util/repeater.d.ts +0 -22
  437. package/lib/util/repeater.d.ts.map +0 -1
  438. package/lib/util/repeater.js +0 -118
  439. package/lib/util/repeater.js.map +0 -1
  440. package/lib/util/safe-promise.d.ts +0 -11
  441. package/lib/util/safe-promise.d.ts.map +0 -1
  442. package/lib/util/safe-promise.js +0 -34
  443. package/lib/util/safe-promise.js.map +0 -1
  444. package/lib/util/without.d.ts +0 -7
  445. package/lib/util/without.d.ts.map +0 -1
  446. package/lib/util/without.js +0 -8
  447. package/lib/util/without.js.map +0 -1
  448. package/src/email-protocol.ts +0 -67
  449. package/src/messaging/connection-error-handler.ts +0 -62
  450. package/src/theia-plugins.ts +0 -11
  451. package/src/util/context-url.spec.ts +0 -25
  452. package/src/util/context-url.ts +0 -23
  453. package/src/util/jaeger-client.d.ts +0 -105
  454. package/src/util/repeater.ts +0 -49
  455. package/src/util/safe-promise.ts +0 -26
package/lib/protocol.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  /**
2
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
  import { WorkspaceInstance, PortVisibility } from "./workspace-instance";
7
7
  import { RoleOrPermission } from "./permission";
8
+ import { Project } from "./teams-projects-protocol";
8
9
  export interface UserInfo {
9
10
  name?: string;
10
11
  }
@@ -18,7 +19,6 @@ export interface User {
18
19
  /** Optional for backwards compatibility */
19
20
  fullName?: string;
20
21
  identities: Identity[];
21
- allowsMarketingCommunication: boolean;
22
22
  /**
23
23
  * Whether the user has been blocked to use our service, because of TOS violation for example.
24
24
  * Optional for backwards compatibility.
@@ -31,13 +31,35 @@ export interface User {
31
31
  /** Whether the user is logical deleted. This flag is respected by all queries in UserDB */
32
32
  markedDeleted?: boolean;
33
33
  additionalData?: AdditionalUserData;
34
+ usageAttributionId?: string;
35
+ lastVerificationTime?: string;
36
+ verificationPhoneNumber?: string;
34
37
  }
35
38
  export declare namespace User {
36
39
  function is(data: any): data is User;
37
40
  function getIdentity(user: User, authProviderId: string): Identity | undefined;
38
41
  function censor(user: User): User;
39
- function getPrimaryEmail(user: User): string;
42
+ /**
43
+ * Returns the stored email or if it doesn't exist returns the primaryEmail of the first identity this user signed up with.
44
+ * @param user
45
+ * @returns A primaryEmail, or undefined if there is none.
46
+ */
47
+ function getPrimaryEmail(user: User): string | undefined;
40
48
  function getName(user: User): string | undefined;
49
+ function hasPreferredIde(user: User): boolean;
50
+ function isOnboardingUser(user: User): boolean;
51
+ function migrationIDESettings(user: User): void;
52
+ function getProfile(user: User): Profile;
53
+ function setProfile(user: User, profile: Profile): User;
54
+ interface Profile {
55
+ name: string;
56
+ email: string;
57
+ company?: string;
58
+ avatarURL?: string;
59
+ }
60
+ namespace Profile {
61
+ function hasChanges(before: Profile, after: Profile): boolean;
62
+ }
41
63
  }
42
64
  export interface AdditionalUserData {
43
65
  platforms?: UserPlatform[];
@@ -47,13 +69,39 @@ export interface AdditionalUserData {
47
69
  whatsNewSeen?: {
48
70
  [key: string]: string;
49
71
  };
72
+ oauthClientsApproved?: {
73
+ [key: string]: string;
74
+ };
75
+ knownGitHubOrgs?: string[];
76
+ dotfileRepo?: string;
77
+ workspaceClasses?: WorkspaceClasses;
78
+ profile?: ProfileDetails;
79
+ isMigratedToTeamOnlyAttribution?: boolean;
80
+ }
81
+ export declare namespace AdditionalUserData {
82
+ function set(user: User, partialData: Partial<AdditionalUserData>): User;
83
+ }
84
+ export interface ProfileDetails {
85
+ lastUpdatedDetailsNudge?: string;
86
+ companyName?: string;
87
+ emailAddress?: string;
50
88
  }
51
89
  export interface EmailNotificationSettings {
52
- disallowTransactionalEmails?: boolean;
90
+ allowsChangelogMail?: boolean;
91
+ allowsDevXMail?: boolean;
92
+ allowsOnboardingMail?: boolean;
53
93
  }
54
94
  export declare type IDESettings = {
95
+ settingVersion?: string;
55
96
  defaultIde?: string;
97
+ useDesktopIde?: boolean;
98
+ defaultDesktopIde?: string;
99
+ useLatestVersion?: boolean;
56
100
  };
101
+ export interface WorkspaceClasses {
102
+ regular?: string;
103
+ prebuild?: string;
104
+ }
57
105
  export interface UserPlatform {
58
106
  uid: string;
59
107
  userAgent: string;
@@ -71,45 +119,81 @@ export interface UserPlatform {
71
119
  browserExtensionUninstalledSince?: string;
72
120
  }
73
121
  export interface UserFeatureSettings {
74
- /**
75
- * This field is used as marker to grant users a free trial for using private repositories,
76
- * independent of any subscription or Chargebee.
77
- * - it is set when the user uses their first private repo
78
- * - whether the trial is expired or not is juged by the UserService
79
- */
80
- privateRepoTrialStartDate?: string;
81
122
  /**
82
123
  * Permanent feature flags are added to each and every workspace instance
83
124
  * this user starts.
84
125
  */
85
126
  permanentWSFeatureFlags?: NamedWorkspaceFeatureFlag[];
86
127
  }
128
+ export declare type BillingTier = "paid" | "free";
87
129
  /**
88
130
  * The values of this type MUST MATCH enum values in WorkspaceFeatureFlag from ws-manager/client/core_pb.d.ts
89
131
  * If they don't we'll break things during workspace startup.
90
132
  */
91
133
  export declare const WorkspaceFeatureFlags: {
92
134
  full_workspace_backup: undefined;
93
- fixed_resources: undefined;
135
+ workspace_class_limiting: undefined;
136
+ workspace_connection_limiting: undefined;
137
+ workspace_psi: undefined;
94
138
  };
95
- export declare type NamedWorkspaceFeatureFlag = keyof (typeof WorkspaceFeatureFlags);
96
- export interface UserEnvVarValue {
97
- id?: string;
139
+ export declare type NamedWorkspaceFeatureFlag = keyof typeof WorkspaceFeatureFlags;
140
+ export declare namespace NamedWorkspaceFeatureFlag {
141
+ const WORKSPACE_PERSISTED_FEATTURE_FLAGS: NamedWorkspaceFeatureFlag[];
142
+ function isWorkspacePersisted(ff: NamedWorkspaceFeatureFlag): boolean;
143
+ }
144
+ export interface EnvVarWithValue {
98
145
  name: string;
99
- repositoryPattern: string;
100
146
  value: string;
101
147
  }
148
+ export interface ProjectEnvVarWithValue extends EnvVarWithValue {
149
+ id: string;
150
+ projectId: string;
151
+ censored: boolean;
152
+ }
153
+ export declare type ProjectEnvVar = Omit<ProjectEnvVarWithValue, "value">;
154
+ export interface UserEnvVarValue extends EnvVarWithValue {
155
+ id?: string;
156
+ repositoryPattern: string;
157
+ }
102
158
  export interface UserEnvVar extends UserEnvVarValue {
103
159
  id: string;
104
160
  userId: string;
105
161
  deleted?: boolean;
106
162
  }
107
163
  export declare namespace UserEnvVar {
164
+ /**
165
+ * @param variable
166
+ * @returns Either a string containing an error message or undefined.
167
+ */
168
+ function validate(variable: UserEnvVarValue): string | undefined;
108
169
  function normalizeRepoPattern(pattern: string): string;
109
170
  function score(value: UserEnvVarValue): number;
110
171
  function filter<T extends UserEnvVarValue>(vars: T[], owner: string, repo: string): T[];
111
172
  function splitRepositoryPattern(repositoryPattern: string): string[];
112
173
  }
174
+ export interface SSHPublicKeyValue {
175
+ name: string;
176
+ key: string;
177
+ }
178
+ export interface UserSSHPublicKey extends SSHPublicKeyValue {
179
+ id: string;
180
+ key: string;
181
+ userId: string;
182
+ fingerprint: string;
183
+ creationTime: string;
184
+ lastUsedTime?: string;
185
+ }
186
+ export declare type UserSSHPublicKeyValue = Omit<UserSSHPublicKey, "userId">;
187
+ export declare namespace SSHPublicKeyValue {
188
+ function validate(value: SSHPublicKeyValue): string | undefined;
189
+ function getData(value: SSHPublicKeyValue): {
190
+ type: string;
191
+ key: string;
192
+ email: string | undefined;
193
+ };
194
+ function getFingerprint(value: SSHPublicKeyValue): string;
195
+ const MAXIMUM_KEY_LENGTH = 5;
196
+ }
113
197
  export interface GitpodToken {
114
198
  /** Hash value (SHA256) of the token (primary key). */
115
199
  tokenHash: string;
@@ -201,25 +285,25 @@ export interface PendingGithubEvent {
201
285
  creationDate: Date;
202
286
  type: string;
203
287
  event: string;
288
+ deleted: boolean;
204
289
  }
205
290
  export interface Snapshot {
206
291
  id: string;
207
292
  creationTime: string;
293
+ availableTime?: string;
208
294
  originalWorkspaceId: string;
209
295
  bucketId: string;
210
- layoutData?: string;
211
- }
212
- export interface LayoutData {
213
- workspaceId: string;
214
- lastUpdatedTime: string;
215
- layoutData: string;
296
+ state: SnapshotState;
297
+ message?: string;
216
298
  }
299
+ export declare type SnapshotState = "pending" | "available" | "error";
217
300
  export interface Workspace {
218
301
  id: string;
219
302
  creationTime: string;
220
303
  contextURL: string;
221
304
  description: string;
222
305
  ownerId: string;
306
+ projectId?: string;
223
307
  context: WorkspaceContext;
224
308
  config: WorkspaceConfig;
225
309
  /**
@@ -260,7 +344,7 @@ export interface Workspace {
260
344
  basedOnSnapshotId?: string;
261
345
  }
262
346
  export declare type WorkspaceSoftDeletion = "user" | "gc";
263
- export declare type WorkspaceType = "regular" | "prebuild" | "probe";
347
+ export declare type WorkspaceType = "regular" | "prebuild";
264
348
  export declare namespace Workspace {
265
349
  function getFullRepositoryName(ws: Workspace): string | undefined;
266
350
  function getFullRepositoryUrl(ws: Workspace): string | undefined;
@@ -269,20 +353,6 @@ export declare namespace Workspace {
269
353
  function getBranchName(ws: Workspace): string | undefined;
270
354
  function getCommit(ws: Workspace): string | undefined;
271
355
  }
272
- export interface PreparePluginUploadParams {
273
- fullPluginName: string;
274
- }
275
- export interface ResolvePluginsParams {
276
- config?: WorkspaceConfig;
277
- builtins?: ResolvedPlugins;
278
- vsxRegistryUrl?: string;
279
- }
280
- export interface InstallPluginsParams {
281
- pluginIds: string[];
282
- }
283
- export interface UninstallPluginParams {
284
- pluginId: string;
285
- }
286
356
  export interface GuessGitTokenScopesParams {
287
357
  host: string;
288
358
  repoUrl: string;
@@ -298,19 +368,38 @@ export interface GuessedGitTokenScopes {
298
368
  message?: string;
299
369
  scopes?: string[];
300
370
  }
301
- export declare type ResolvedPluginKind = 'user' | 'workspace' | 'builtin';
302
- export interface ResolvedPlugins {
303
- [pluginId: string]: ResolvedPlugin | undefined;
371
+ export interface VSCodeConfig {
372
+ extensions?: string[];
373
+ }
374
+ export interface JetBrainsConfig {
375
+ intellij?: JetBrainsProductConfig;
376
+ goland?: JetBrainsProductConfig;
377
+ pycharm?: JetBrainsProductConfig;
378
+ phpstorm?: JetBrainsProductConfig;
379
+ rubymine?: JetBrainsProductConfig;
380
+ webstorm?: JetBrainsProductConfig;
381
+ rider?: JetBrainsProductConfig;
382
+ clion?: JetBrainsProductConfig;
383
+ }
384
+ export interface JetBrainsProductConfig {
385
+ prebuilds?: JetBrainsPrebuilds;
386
+ vmoptions?: string;
304
387
  }
305
- export interface ResolvedPlugin {
306
- fullPluginName: string;
388
+ export interface JetBrainsPrebuilds {
389
+ version?: "stable" | "latest" | "both";
390
+ }
391
+ export interface RepositoryCloneInformation {
307
392
  url: string;
308
- kind: ResolvedPluginKind;
393
+ checkoutLocation?: string;
309
394
  }
310
- export interface VSCodeConfig {
311
- extensions?: string[];
395
+ export interface CoreDumpConfig {
396
+ enabled?: boolean;
397
+ softLimit?: number;
398
+ hardLimit?: number;
312
399
  }
313
400
  export interface WorkspaceConfig {
401
+ mainConfiguration?: string;
402
+ additionalRepositories?: RepositoryCloneInformation[];
314
403
  image?: ImageConfig;
315
404
  ports?: PortConfig[];
316
405
  tasks?: TaskConfig[];
@@ -321,15 +410,20 @@ export interface WorkspaceConfig {
321
410
  };
322
411
  github?: GithubAppConfig;
323
412
  vscode?: VSCodeConfig;
413
+ jetbrains?: JetBrainsConfig;
414
+ coreDump?: CoreDumpConfig;
415
+ /** deprecated. Enabled by default **/
416
+ experimentalNetwork?: boolean;
324
417
  /**
325
418
  * Where the config object originates from.
326
419
  *
327
420
  * repo - from the repository
328
421
  * definitly-gp - from github.com/gitpod-io/definitely-gp
329
422
  * derived - computed based on analyzing the repository
423
+ * additional-content - config comes from additional content, usually provided through the project's configuration
330
424
  * default - our static catch-all default config
331
425
  */
332
- _origin?: 'repo' | 'definitely-gp' | 'derived' | 'default';
426
+ _origin?: "repo" | "definitely-gp" | "derived" | "additional-content" | "default";
333
427
  /**
334
428
  * Set of automatically infered feature flags. That's not something the user can set, but
335
429
  * that is set by gitpod at workspace creation time.
@@ -344,7 +438,7 @@ export interface GithubAppPrebuildConfig {
344
438
  branches?: boolean;
345
439
  pullRequests?: boolean;
346
440
  pullRequestsFromForks?: boolean;
347
- addCheck?: boolean;
441
+ addCheck?: boolean | "prevent-merge-on-error";
348
442
  addBadge?: boolean;
349
443
  addLabel?: boolean | string;
350
444
  addComment?: boolean;
@@ -354,9 +448,9 @@ export declare namespace GithubAppPrebuildConfig {
354
448
  }
355
449
  export declare type WorkspaceImageSource = WorkspaceImageSourceDocker | WorkspaceImageSourceReference;
356
450
  export interface WorkspaceImageSourceDocker {
357
- dockerFileHash: string;
358
- dockerFileSource: Commit;
359
451
  dockerFilePath: string;
452
+ dockerFileHash: string;
453
+ dockerFileSource?: Commit;
360
454
  }
361
455
  export declare namespace WorkspaceImageSourceDocker {
362
456
  function is(obj: object): obj is WorkspaceImageSourceDocker;
@@ -368,14 +462,17 @@ export interface WorkspaceImageSourceReference {
368
462
  export declare namespace WorkspaceImageSourceReference {
369
463
  function is(obj: object): obj is WorkspaceImageSourceReference;
370
464
  }
371
- export declare type PrebuiltWorkspaceState = "queued" | "building" | "aborted" | "timeout" | "available";
465
+ export declare type PrebuiltWorkspaceState = "queued" | "building" | "aborted" | "timeout" | "available" | "failed";
372
466
  export interface PrebuiltWorkspace {
373
467
  id: string;
374
468
  cloneURL: string;
469
+ branch?: string;
470
+ projectId?: string;
375
471
  commit: string;
376
472
  buildWorkspaceId: string;
377
473
  creationTime: string;
378
474
  state: PrebuiltWorkspaceState;
475
+ statusVersion: number;
379
476
  error?: string;
380
477
  snapshot?: string;
381
478
  }
@@ -391,6 +488,10 @@ export interface PrebuiltWorkspaceUpdatable {
391
488
  repo: string;
392
489
  isResolved: boolean;
393
490
  installationId: string;
491
+ /**
492
+ * the commitSHA of the commit that triggered the prebuild
493
+ */
494
+ commitSHA?: string;
394
495
  issue?: string;
395
496
  contextUrl?: string;
396
497
  }
@@ -400,11 +501,13 @@ export interface WhitelistedRepository {
400
501
  description?: string;
401
502
  avatar?: string;
402
503
  }
403
- export declare type PortOnOpen = 'open-browser' | 'open-preview' | 'notify' | 'ignore';
504
+ export declare type PortOnOpen = "open-browser" | "open-preview" | "notify" | "ignore";
404
505
  export interface PortConfig {
405
506
  port: number;
406
507
  onOpen?: PortOnOpen;
407
508
  visibility?: PortVisibility;
509
+ description?: string;
510
+ name?: string;
408
511
  }
409
512
  export declare namespace PortConfig {
410
513
  function is(config: any): config is PortConfig;
@@ -423,16 +526,16 @@ export interface TaskConfig {
423
526
  prebuild?: string;
424
527
  command?: string;
425
528
  env?: {
426
- [env: string]: string;
529
+ [env: string]: any;
427
530
  };
428
- openIn?: 'bottom' | 'main' | 'left' | 'right';
429
- openMode?: 'split-top' | 'split-left' | 'split-right' | 'split-bottom' | 'tab-before' | 'tab-after';
531
+ openIn?: "bottom" | "main" | "left" | "right";
532
+ openMode?: "split-top" | "split-left" | "split-right" | "split-bottom" | "tab-before" | "tab-after";
430
533
  }
431
534
  export declare namespace TaskConfig {
432
535
  function is(config: any): config is TaskConfig;
433
536
  }
434
537
  export declare namespace WorkspaceImageBuild {
435
- type Phase = 'BaseImage' | 'GitpodLayer' | 'Error' | 'Done';
538
+ type Phase = "BaseImage" | "GitpodLayer" | "Error" | "Done";
436
539
  interface StateInfo {
437
540
  phase: Phase;
438
541
  currentStep?: number;
@@ -469,8 +572,11 @@ export declare namespace ExternalImageConfigFile {
469
572
  }
470
573
  export interface WorkspaceContext {
471
574
  title: string;
575
+ ref?: string;
576
+ /** This contains the URL portion of the contextURL (which might contain other modifiers as well). It's optional because it's not set for older workspaces. */
472
577
  normalizedContextURL?: string;
473
578
  forceCreateNewWorkspace?: boolean;
579
+ forceImageBuild?: boolean;
474
580
  }
475
581
  export declare namespace WorkspaceContext {
476
582
  function is(context: any): context is WorkspaceContext;
@@ -481,22 +587,41 @@ export interface WithSnapshot {
481
587
  export declare namespace WithSnapshot {
482
588
  function is(context: any): context is WithSnapshot;
483
589
  }
484
- export interface WithPrebuild {
485
- snapshotBucketId: string;
590
+ export interface WithPrebuild extends WithSnapshot {
486
591
  prebuildWorkspaceId: string;
487
592
  wasPrebuilt: true;
488
593
  }
489
594
  export declare namespace WithPrebuild {
490
595
  function is(context: any): context is WithPrebuild;
491
596
  }
597
+ /**
598
+ * WithDefaultConfig contexts disable the download of the gitpod.yml from the repository
599
+ * and fall back to the built-in configuration.
600
+ */
601
+ export interface WithDefaultConfig {
602
+ withDefaultConfig: true;
603
+ }
604
+ export declare namespace WithDefaultConfig {
605
+ function is(context: any): context is WithDefaultConfig;
606
+ function mark(ctx: WorkspaceContext): WorkspaceContext & WithDefaultConfig;
607
+ }
492
608
  export interface SnapshotContext extends WorkspaceContext, WithSnapshot {
493
609
  snapshotId: string;
494
610
  }
495
611
  export declare namespace SnapshotContext {
496
612
  function is(context: any): context is SnapshotContext;
497
613
  }
498
- export interface StartPrebuildContext extends WorkspaceContext {
614
+ export interface WithCommitHistory {
615
+ commitHistory?: string[];
616
+ additionalRepositoryCommitHistories?: {
617
+ cloneUrl: string;
618
+ commitHistory: string[];
619
+ }[];
620
+ }
621
+ export interface StartPrebuildContext extends WorkspaceContext, WithCommitHistory {
499
622
  actual: WorkspaceContext;
623
+ project: Project;
624
+ branch?: string;
500
625
  }
501
626
  export declare namespace StartPrebuildContext {
502
627
  function is(context: any): context is StartPrebuildContext;
@@ -509,19 +634,19 @@ export interface PrebuiltWorkspaceContext extends WorkspaceContext {
509
634
  export declare namespace PrebuiltWorkspaceContext {
510
635
  function is(context: any): context is PrebuiltWorkspaceContext;
511
636
  }
637
+ export interface WithReferrerContext extends WorkspaceContext {
638
+ referrer: string;
639
+ referrerIde?: string;
640
+ }
641
+ export declare namespace WithReferrerContext {
642
+ function is(context: any): context is WithReferrerContext;
643
+ }
512
644
  export interface WithEnvvarsContext extends WorkspaceContext {
513
- envvars: UserEnvVarValue[];
645
+ envvars: EnvVarWithValue[];
514
646
  }
515
647
  export declare namespace WithEnvvarsContext {
516
648
  function is(context: any): context is WithEnvvarsContext;
517
649
  }
518
- export interface WorkspaceProbeContext extends WorkspaceContext {
519
- responseURL: string;
520
- responseToken: string;
521
- }
522
- export declare namespace WorkspaceProbeContext {
523
- function is(context: any): context is WorkspaceProbeContext;
524
- }
525
650
  export declare type RefType = "branch" | "tag" | "revision";
526
651
  export declare namespace RefType {
527
652
  const getRefType: (commit: Commit) => RefType;
@@ -532,9 +657,45 @@ export interface Commit {
532
657
  ref?: string;
533
658
  refType?: RefType;
534
659
  }
535
- export interface CommitContext extends WorkspaceContext, Commit {
660
+ export interface AdditionalContentContext extends WorkspaceContext {
661
+ /**
662
+ * utf-8 encoded contents that will be copied on top of the workspace's filesystem
663
+ */
664
+ additionalFiles: {
665
+ [filePath: string]: string;
666
+ };
667
+ }
668
+ export declare namespace AdditionalContentContext {
669
+ function is(ctx: any): ctx is AdditionalContentContext;
670
+ function hasDockerConfig(ctx: any, config: WorkspaceConfig): boolean;
671
+ }
672
+ export interface OpenPrebuildContext extends WorkspaceContext {
673
+ openPrebuildID: string;
674
+ }
675
+ export declare namespace OpenPrebuildContext {
676
+ function is(ctx: any): ctx is OpenPrebuildContext;
677
+ }
678
+ export interface CommitContext extends WorkspaceContext, GitCheckoutInfo {
536
679
  /** @deprecated Moved to .repository.cloneUrl, left here for backwards-compatibility for old workspace contextes in the DB */
537
680
  cloneUrl?: string;
681
+ /**
682
+ * The clone and checkout information for additional repositories in case of multi-repo projects.
683
+ */
684
+ additionalRepositoryCheckoutInfo?: GitCheckoutInfo[];
685
+ }
686
+ export declare namespace CommitContext {
687
+ /**
688
+ * Creates a hash for all the commits of the CommitContext and all sub-repo commit infos.
689
+ * The hash is max 255 chars long.
690
+ * @param commitContext
691
+ * @returns hash for commitcontext
692
+ */
693
+ function computeHash(commitContext: CommitContext): string;
694
+ }
695
+ export interface GitCheckoutInfo extends Commit {
696
+ checkoutLocation?: string;
697
+ upstreamRemoteURI?: string;
698
+ localBranch?: string;
538
699
  }
539
700
  export declare namespace CommitContext {
540
701
  function is(commit: any): commit is CommitContext;
@@ -570,6 +731,7 @@ export interface Repository {
570
731
  owner: string;
571
732
  name: string;
572
733
  cloneUrl: string;
734
+ repoKind?: string;
573
735
  description?: string;
574
736
  avatarUrl?: string;
575
737
  webUrl?: string;
@@ -580,6 +742,18 @@ export interface Repository {
580
742
  parent: Repository;
581
743
  };
582
744
  }
745
+ export interface Branch {
746
+ name: string;
747
+ commit: CommitInfo;
748
+ htmlUrl: string;
749
+ }
750
+ export interface CommitInfo {
751
+ author: string;
752
+ sha: string;
753
+ commitMessage: string;
754
+ authorAvatarUrl?: string;
755
+ authorDate?: string;
756
+ }
583
757
  export declare namespace Repository {
584
758
  function fullRepoName(repo: Repository): string;
585
759
  }
@@ -609,18 +783,13 @@ export interface WorkspaceCreationResult {
609
783
  runningWorkspacePrebuild?: {
610
784
  prebuildID: string;
611
785
  workspaceID: string;
786
+ instanceID: string;
612
787
  starting: RunningWorkspacePrebuildStarting;
613
788
  sameCluster: boolean;
614
789
  };
615
790
  runningPrebuildWorkspaceID?: string;
616
791
  }
617
- export declare type RunningWorkspacePrebuildStarting = 'queued' | 'starting' | 'running';
618
- export declare enum CreateWorkspaceMode {
619
- Default = "default",
620
- ForceNew = "force-new",
621
- UsePrebuild = "use-prebuild",
622
- SelectIfRunning = "select-if-running"
623
- }
792
+ export declare type RunningWorkspacePrebuildStarting = "queued" | "starting" | "running";
624
793
  export declare namespace WorkspaceCreationResult {
625
794
  function is(data: any): data is WorkspaceCreationResult;
626
795
  }
@@ -659,8 +828,11 @@ export interface AuthProviderEntry {
659
828
  readonly type: AuthProviderEntry.Type;
660
829
  readonly host: string;
661
830
  readonly ownerId: string;
831
+ readonly organizationId?: string;
662
832
  readonly status: AuthProviderEntry.Status;
663
833
  readonly oauth: OAuth2Config;
834
+ /** A random string that is to change whenever oauth changes (enforced on DB level) */
835
+ readonly oauthRevision?: string;
664
836
  }
665
837
  export interface OAuth2Config {
666
838
  readonly clientId: string;
@@ -684,39 +856,15 @@ export declare namespace AuthProviderEntry {
684
856
  clientSecret?: string;
685
857
  };
686
858
  type UpdateEntry = Pick<AuthProviderEntry, "id" | "ownerId"> & Pick<OAuth2Config, "clientId" | "clientSecret">;
687
- function redact(entry: AuthProviderEntry): AuthProviderEntry;
688
- }
689
- export interface Branding {
690
- readonly name: string;
691
- readonly favicon?: string;
692
- /** Either including domain OR absolute path (interpreted relative to host URL) */
693
- readonly logo: string;
694
- readonly startupLogo: string;
695
- readonly showProductivityTips: boolean;
696
- readonly redirectUrlIfNotAuthenticated?: string;
697
- readonly redirectUrlAfterLogout?: string;
698
- readonly homepage: string;
699
- readonly ide?: {
700
- readonly logo: string;
701
- readonly showReleaseNotes: boolean;
702
- readonly helpMenu: Branding.Link[];
859
+ type NewOrgEntry = NewEntry & {
860
+ organizationId: string;
703
861
  };
704
- readonly links: {
705
- readonly header: Branding.Link[];
706
- readonly footer: Branding.Link[];
707
- readonly social: Branding.SocialLink[];
708
- readonly legal: Branding.Link[];
862
+ type UpdateOrgEntry = Pick<AuthProviderEntry, "id"> & {
863
+ clientId: string;
864
+ clientSecret: string;
865
+ organizationId: string;
709
866
  };
710
- }
711
- export declare namespace Branding {
712
- interface Link {
713
- readonly name: string;
714
- readonly url: string;
715
- }
716
- interface SocialLink {
717
- readonly type: string;
718
- readonly url: string;
719
- }
867
+ function redact(entry: AuthProviderEntry): AuthProviderEntry;
720
868
  }
721
869
  export interface Configuration {
722
870
  readonly daysBeforeGarbageCollection: number;
@@ -755,4 +903,12 @@ export interface Terms {
755
903
  readonly content: string;
756
904
  readonly formElements?: object;
757
905
  }
906
+ export interface StripeConfig {
907
+ individualUsagePriceIds: {
908
+ [currency: string]: string;
909
+ };
910
+ teamUsagePriceIds: {
911
+ [currency: string]: string;
912
+ };
913
+ }
758
914
  //# sourceMappingURL=protocol.d.ts.map