@gitpod/gitpod-protocol 0.1.5-ps-commit-email-fork.0 → 0.1.5-release-2022.6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/data/gitpod-schema.json +206 -28
  2. package/lib/accounting-protocol.d.ts +17 -13
  3. package/lib/accounting-protocol.d.ts.map +1 -1
  4. package/lib/accounting-protocol.js +39 -47
  5. package/lib/accounting-protocol.js.map +1 -1
  6. package/lib/admin-protocol.d.ts +21 -4
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +2 -13
  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/auth.d.ts.map +1 -1
  15. package/lib/context-url.d.ts +31 -0
  16. package/lib/context-url.d.ts.map +1 -0
  17. package/lib/context-url.js +102 -0
  18. package/lib/context-url.js.map +1 -0
  19. package/lib/{util/context-url.spec.d.ts → context-url.spec.d.ts} +4 -0
  20. package/lib/context-url.spec.d.ts.map +1 -0
  21. package/lib/context-url.spec.js +109 -0
  22. package/lib/context-url.spec.js.map +1 -0
  23. package/lib/email-protocol.d.ts +1 -2
  24. package/lib/email-protocol.d.ts.map +1 -1
  25. package/lib/email-protocol.js +4 -4
  26. package/lib/email-protocol.js.map +1 -1
  27. package/lib/encryption/container-module.d.ts.map +1 -1
  28. package/lib/encryption/container-module.js +4 -4
  29. package/lib/encryption/container-module.js.map +1 -1
  30. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  31. package/lib/encryption/encryption-engine.js +25 -26
  32. package/lib/encryption/encryption-engine.js.map +1 -1
  33. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  34. package/lib/encryption/encryption-engine.spec.js +29 -37
  35. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  36. package/lib/encryption/encryption-service.d.ts.map +1 -1
  37. package/lib/encryption/encryption-service.js +30 -44
  38. package/lib/encryption/encryption-service.js.map +1 -1
  39. package/lib/encryption/key-provider.d.ts.map +1 -1
  40. package/lib/encryption/key-provider.js +31 -38
  41. package/lib/encryption/key-provider.js.map +1 -1
  42. package/lib/env.d.ts +0 -6
  43. package/lib/env.d.ts.map +1 -1
  44. package/lib/env.js +7 -27
  45. package/lib/env.js.map +1 -1
  46. package/lib/experiments/always-default.d.ts +8 -0
  47. package/lib/experiments/always-default.d.ts.map +1 -0
  48. package/lib/experiments/always-default.js +20 -0
  49. package/lib/experiments/always-default.js.map +1 -0
  50. package/lib/experiments/configcat-server.d.ts +8 -0
  51. package/lib/experiments/configcat-server.d.ts.map +1 -0
  52. package/lib/experiments/configcat-server.js +34 -0
  53. package/lib/experiments/configcat-server.js.map +1 -0
  54. package/lib/experiments/configcat.d.ts +21 -0
  55. package/lib/experiments/configcat.d.ts.map +1 -0
  56. package/lib/experiments/configcat.js +47 -0
  57. package/lib/experiments/configcat.js.map +1 -0
  58. package/lib/experiments/types.d.ts +19 -0
  59. package/lib/experiments/types.d.ts.map +1 -0
  60. package/lib/{util/without.js → experiments/types.js} +2 -2
  61. package/lib/experiments/types.js.map +1 -0
  62. package/lib/gitpod-file-parser.d.ts.map +1 -1
  63. package/lib/gitpod-file-parser.js +26 -42
  64. package/lib/gitpod-file-parser.js.map +1 -1
  65. package/lib/gitpod-file-parser.spec.js +145 -142
  66. package/lib/gitpod-file-parser.spec.js.map +1 -1
  67. package/lib/gitpod-service.d.ts +140 -38
  68. package/lib/gitpod-service.d.ts.map +1 -1
  69. package/lib/gitpod-service.js +181 -317
  70. package/lib/gitpod-service.js.map +1 -1
  71. package/lib/headless-workspace-log.d.ts +9 -11
  72. package/lib/headless-workspace-log.d.ts.map +1 -1
  73. package/lib/headless-workspace-log.js +6 -8
  74. package/lib/headless-workspace-log.js.map +1 -1
  75. package/lib/ide-frontend-service.d.ts +1 -1
  76. package/lib/ide-protocol.d.ts +105 -0
  77. package/lib/ide-protocol.d.ts.map +1 -0
  78. package/lib/ide-protocol.js +8 -0
  79. package/lib/ide-protocol.js.map +1 -0
  80. package/lib/index.d.ts +16 -10
  81. package/lib/index.d.ts.map +1 -1
  82. package/lib/index.js +6 -0
  83. package/lib/index.js.map +1 -1
  84. package/lib/installation-admin-protocol.d.ts +30 -0
  85. package/lib/installation-admin-protocol.d.ts.map +1 -0
  86. package/lib/installation-admin-protocol.js +31 -0
  87. package/lib/installation-admin-protocol.js.map +1 -0
  88. package/lib/license-protocol.d.ts +7 -0
  89. package/lib/license-protocol.d.ts.map +1 -1
  90. package/lib/license-protocol.js.map +1 -1
  91. package/lib/messaging/browser/connection.d.ts +3 -3
  92. package/lib/messaging/browser/connection.d.ts.map +1 -1
  93. package/lib/messaging/browser/connection.js +173 -36
  94. package/lib/messaging/browser/connection.js.map +1 -1
  95. package/lib/messaging/browser/window-connection.d.ts +4 -4
  96. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  97. package/lib/messaging/browser/window-connection.js +42 -59
  98. package/lib/messaging/browser/window-connection.js.map +1 -1
  99. package/lib/messaging/client-call-metrics.d.ts +35 -0
  100. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  101. package/lib/messaging/client-call-metrics.js +83 -0
  102. package/lib/messaging/client-call-metrics.js.map +1 -0
  103. package/lib/messaging/error.d.ts +5 -1
  104. package/lib/messaging/error.d.ts.map +1 -1
  105. package/lib/messaging/error.js +10 -2
  106. package/lib/messaging/error.js.map +1 -1
  107. package/lib/messaging/handler.d.ts +10 -0
  108. package/lib/messaging/handler.d.ts.map +1 -1
  109. package/lib/messaging/handler.js +1 -1
  110. package/lib/messaging/node/connection.d.ts +1 -17
  111. package/lib/messaging/node/connection.d.ts.map +1 -1
  112. package/lib/messaging/node/connection.js +24 -60
  113. package/lib/messaging/node/connection.js.map +1 -1
  114. package/lib/messaging/proxy-factory.d.ts +3 -1
  115. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  116. package/lib/messaging/proxy-factory.js +75 -162
  117. package/lib/messaging/proxy-factory.js.map +1 -1
  118. package/lib/oss-allowlist.d.ts +14 -0
  119. package/lib/oss-allowlist.d.ts.map +1 -0
  120. package/lib/oss-allowlist.js +8 -0
  121. package/lib/oss-allowlist.js.map +1 -0
  122. package/lib/payment-protocol.d.ts.map +1 -1
  123. package/lib/payment-protocol.js +1 -1
  124. package/lib/payment-protocol.js.map +1 -1
  125. package/lib/permission.d.ts +10 -3
  126. package/lib/permission.d.ts.map +1 -1
  127. package/lib/permission.js +41 -31
  128. package/lib/permission.js.map +1 -1
  129. package/lib/plans.d.ts +4 -4
  130. package/lib/plans.d.ts.map +1 -1
  131. package/lib/plans.js +225 -209
  132. package/lib/plans.js.map +1 -1
  133. package/lib/protocol.d.ts +172 -85
  134. package/lib/protocol.d.ts.map +1 -1
  135. package/lib/protocol.js +230 -187
  136. package/lib/protocol.js.map +1 -1
  137. package/lib/snapshot-url.d.ts +14 -0
  138. package/lib/snapshot-url.d.ts.map +1 -0
  139. package/lib/snapshot-url.js +26 -0
  140. package/lib/snapshot-url.js.map +1 -0
  141. package/{src/util/without.ts → lib/snapshot-url.spec.d.ts} +2 -3
  142. package/lib/snapshot-url.spec.d.ts.map +1 -0
  143. package/lib/snapshot-url.spec.js +41 -0
  144. package/lib/snapshot-url.spec.js.map +1 -0
  145. package/lib/team-subscription-protocol.d.ts +22 -4
  146. package/lib/team-subscription-protocol.d.ts.map +1 -1
  147. package/lib/team-subscription-protocol.js +31 -17
  148. package/lib/team-subscription-protocol.js.map +1 -1
  149. package/lib/teams-projects-protocol.d.ts +118 -0
  150. package/lib/teams-projects-protocol.d.ts.map +1 -0
  151. package/lib/teams-projects-protocol.js +30 -0
  152. package/lib/teams-projects-protocol.js.map +1 -0
  153. package/lib/typings/globals.d.ts +2 -2
  154. package/lib/typings/globals.d.ts.map +1 -1
  155. package/lib/util/analytics.d.ts +8 -0
  156. package/lib/util/analytics.d.ts.map +1 -0
  157. package/lib/util/analytics.js +88 -0
  158. package/lib/util/analytics.js.map +1 -0
  159. package/lib/util/async-iterator.d.ts.map +1 -1
  160. package/lib/util/async-iterator.js +57 -135
  161. package/lib/util/async-iterator.js.map +1 -1
  162. package/lib/util/cancelable.js +17 -59
  163. package/lib/util/cancelable.js.map +1 -1
  164. package/lib/util/date-time.js +11 -11
  165. package/lib/util/date-time.js.map +1 -1
  166. package/lib/util/debug-app.d.ts +25 -0
  167. package/lib/util/debug-app.d.ts.map +1 -0
  168. package/lib/util/debug-app.js +100 -0
  169. package/lib/util/debug-app.js.map +1 -0
  170. package/lib/util/deferred.js +10 -12
  171. package/lib/util/deferred.js.map +1 -1
  172. package/lib/util/disposable.d.ts.map +1 -1
  173. package/lib/util/disposable.js +27 -40
  174. package/lib/util/disposable.js.map +1 -1
  175. package/lib/util/event.d.ts.map +1 -1
  176. package/lib/util/event.js +63 -77
  177. package/lib/util/event.js.map +1 -1
  178. package/lib/util/garbage-collected-cache.d.ts +1 -0
  179. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  180. package/lib/util/garbage-collected-cache.js +27 -47
  181. package/lib/util/garbage-collected-cache.js.map +1 -1
  182. package/lib/util/generate-workspace-id.d.ts +6 -1
  183. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  184. package/lib/util/generate-workspace-id.js +469 -502
  185. package/lib/util/generate-workspace-id.js.map +1 -1
  186. package/lib/util/generate-workspace-id.spec.js +68 -78
  187. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  188. package/lib/util/gitpod-cookie.d.ts +20 -0
  189. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  190. package/lib/util/gitpod-cookie.js +41 -0
  191. package/lib/util/gitpod-cookie.js.map +1 -0
  192. package/lib/util/gitpod-host-url.d.ts +1 -2
  193. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  194. package/lib/util/gitpod-host-url.js +108 -109
  195. package/lib/util/gitpod-host-url.js.map +1 -1
  196. package/lib/util/gitpod-host-url.spec.d.ts +6 -0
  197. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  198. package/lib/util/gitpod-host-url.spec.js +112 -30
  199. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  200. package/lib/util/grpc.d.ts +15 -0
  201. package/lib/util/grpc.d.ts.map +1 -0
  202. package/lib/util/grpc.js +18 -0
  203. package/lib/util/grpc.js.map +1 -0
  204. package/lib/util/jaeger-client-types.d.ts +68 -0
  205. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  206. package/lib/{theia-plugins.js → util/jaeger-client-types.js} +1 -1
  207. package/lib/util/jaeger-client-types.js.map +1 -0
  208. package/lib/util/logging.d.ts +49 -33
  209. package/lib/util/logging.d.ts.map +1 -1
  210. package/lib/util/logging.js +125 -129
  211. package/lib/util/logging.js.map +1 -1
  212. package/lib/util/make-link.js +5 -5
  213. package/lib/util/make-link.js.map +1 -1
  214. package/lib/util/parse-workspace-id.d.ts +10 -0
  215. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  216. package/lib/util/parse-workspace-id.js +30 -7
  217. package/lib/util/parse-workspace-id.js.map +1 -1
  218. package/lib/util/parse-workspace-id.spec.d.ts +4 -0
  219. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  220. package/lib/util/parse-workspace-id.spec.js +123 -84
  221. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  222. package/lib/util/queue.js +16 -55
  223. package/lib/util/queue.js.map +1 -1
  224. package/lib/util/queue.spec.js +147 -288
  225. package/lib/util/queue.spec.js.map +1 -1
  226. package/lib/util/repeat.d.ts +15 -0
  227. package/lib/util/repeat.d.ts.map +1 -0
  228. package/lib/util/repeat.js +55 -0
  229. package/lib/util/repeat.js.map +1 -0
  230. package/lib/util/semaphore.d.ts.map +1 -1
  231. package/lib/util/semaphore.js +15 -46
  232. package/lib/util/semaphore.js.map +1 -1
  233. package/lib/util/skip-if.d.ts.map +1 -1
  234. package/lib/util/skip-if.js +6 -6
  235. package/lib/util/skip-if.js.map +1 -1
  236. package/lib/util/timeutil.d.ts +1 -0
  237. package/lib/util/timeutil.d.ts.map +1 -1
  238. package/lib/util/timeutil.js +23 -17
  239. package/lib/util/timeutil.js.map +1 -1
  240. package/lib/util/timeutil.spec.d.ts.map +1 -1
  241. package/lib/util/timeutil.spec.js +21 -24
  242. package/lib/util/timeutil.spec.js.map +1 -1
  243. package/lib/util/tracing.d.ts +52 -6
  244. package/lib/util/tracing.d.ts.map +1 -1
  245. package/lib/util/tracing.js +197 -64
  246. package/lib/util/tracing.js.map +1 -1
  247. package/lib/util/tracing.spec.d.ts +7 -0
  248. package/lib/util/tracing.spec.d.ts.map +1 -0
  249. package/lib/util/tracing.spec.js +121 -0
  250. package/lib/util/tracing.spec.js.map +1 -0
  251. package/lib/util/workspace-port-authentication.d.ts +7 -7
  252. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  253. package/lib/util/workspace-port-authentication.js +9 -12
  254. package/lib/util/workspace-port-authentication.js.map +1 -1
  255. package/lib/workspace-cluster.d.ts +24 -3
  256. package/lib/workspace-cluster.d.ts.map +1 -1
  257. package/lib/workspace-cluster.js +19 -4
  258. package/lib/workspace-cluster.js.map +1 -1
  259. package/lib/workspace-instance.d.ts +42 -5
  260. package/lib/workspace-instance.d.ts.map +1 -1
  261. package/lib/wsready.d.ts +1 -1
  262. package/lib/wsready.d.ts.map +1 -1
  263. package/lib/wsready.js +2 -2
  264. package/lib/wsready.js.map +1 -1
  265. package/package.json +35 -18
  266. package/pkg-yarn.lock +20 -10
  267. package/provenance-bundle.jsonl +2 -0
  268. package/src/accounting-protocol.ts +63 -57
  269. package/src/admin-protocol.ts +43 -21
  270. package/src/analytics.ts +52 -0
  271. package/src/auth.ts +2 -2
  272. package/src/context-url.spec.ts +67 -0
  273. package/src/context-url.ts +109 -0
  274. package/src/email-protocol.ts +5 -7
  275. package/src/encryption/container-module.ts +2 -3
  276. package/src/encryption/encryption-engine.spec.ts +9 -8
  277. package/src/encryption/encryption-engine.ts +14 -14
  278. package/src/encryption/encryption-service.ts +4 -5
  279. package/src/encryption/key-provider.ts +16 -19
  280. package/src/env.ts +0 -22
  281. package/src/experiments/always-default.ts +24 -0
  282. package/src/experiments/configcat-server.ts +37 -0
  283. package/src/experiments/configcat.ts +53 -0
  284. package/src/experiments/types.ts +32 -0
  285. package/src/gitpod-file-parser.spec.ts +55 -61
  286. package/src/gitpod-file-parser.ts +16 -17
  287. package/src/gitpod-service.ts +278 -127
  288. package/src/headless-workspace-log.ts +12 -14
  289. package/src/ide-frontend-service.ts +2 -2
  290. package/src/ide-protocol.ts +119 -0
  291. package/src/index.ts +16 -10
  292. package/src/installation-admin-protocol.ts +45 -0
  293. package/src/license-protocol.ts +12 -6
  294. package/src/messaging/browser/connection.ts +185 -21
  295. package/src/messaging/browser/window-connection.ts +39 -29
  296. package/src/messaging/client-call-metrics.ts +96 -0
  297. package/src/messaging/error.ts +15 -5
  298. package/src/messaging/handler.ts +13 -1
  299. package/src/messaging/node/connection.ts +23 -70
  300. package/src/messaging/proxy-factory.ts +35 -34
  301. package/src/oss-allowlist.ts +15 -0
  302. package/src/payment-protocol.ts +2 -2
  303. package/src/permission.ts +42 -33
  304. package/src/plans.ts +236 -189
  305. package/src/protocol.ts +454 -276
  306. package/src/snapshot-url.spec.ts +27 -0
  307. package/src/snapshot-url.ts +27 -0
  308. package/src/team-subscription-protocol.ts +59 -23
  309. package/src/teams-projects-protocol.ts +153 -0
  310. package/src/typings/globals.ts +4 -4
  311. package/src/util/analytics.ts +109 -0
  312. package/src/util/async-iterator.ts +4 -5
  313. package/src/util/cancelable.ts +3 -3
  314. package/src/util/date-time.ts +8 -8
  315. package/src/util/debug-app.ts +81 -0
  316. package/src/util/deferred.ts +6 -6
  317. package/src/util/disposable.ts +3 -6
  318. package/src/util/event.ts +9 -11
  319. package/src/util/garbage-collected-cache.ts +9 -6
  320. package/src/util/generate-workspace-id.spec.ts +37 -10
  321. package/src/util/generate-workspace-id.ts +464 -438
  322. package/src/util/gitpod-cookie.ts +38 -0
  323. package/src/util/gitpod-host-url.spec.ts +58 -7
  324. package/src/util/gitpod-host-url.ts +52 -40
  325. package/src/util/grpc.ts +15 -0
  326. package/src/util/jaeger-client-types.ts +102 -0
  327. package/src/util/logging.ts +145 -72
  328. package/src/util/make-link.ts +6 -7
  329. package/src/util/parse-workspace-id.spec.ts +37 -8
  330. package/src/util/parse-workspace-id.ts +32 -7
  331. package/src/util/queue.spec.ts +27 -25
  332. package/src/util/repeat.ts +45 -0
  333. package/src/util/semaphore.ts +4 -6
  334. package/src/util/skip-if.ts +9 -6
  335. package/src/util/timeutil.spec.ts +14 -15
  336. package/src/util/timeutil.ts +21 -11
  337. package/src/util/tracing.spec.ts +88 -0
  338. package/src/util/tracing.ts +200 -31
  339. package/src/util/workspace-port-authentication.ts +10 -13
  340. package/src/workspace-cluster.ts +34 -7
  341. package/src/workspace-instance.ts +91 -31
  342. package/src/wsready.ts +3 -3
  343. package/data/builtin-theia-plugins.json +0 -372
  344. package/lib/messaging/connection-error-handler.d.ts +0 -27
  345. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  346. package/lib/messaging/connection-error-handler.js +0 -46
  347. package/lib/messaging/connection-error-handler.js.map +0 -1
  348. package/lib/theia-plugins.d.ts +0 -11
  349. package/lib/theia-plugins.d.ts.map +0 -1
  350. package/lib/theia-plugins.js.map +0 -1
  351. package/lib/util/context-url.d.ts +0 -13
  352. package/lib/util/context-url.d.ts.map +0 -1
  353. package/lib/util/context-url.js +0 -26
  354. package/lib/util/context-url.js.map +0 -1
  355. package/lib/util/context-url.spec.d.ts.map +0 -1
  356. package/lib/util/context-url.spec.js +0 -52
  357. package/lib/util/context-url.spec.js.map +0 -1
  358. package/lib/util/repeater.d.ts +0 -22
  359. package/lib/util/repeater.d.ts.map +0 -1
  360. package/lib/util/repeater.js +0 -118
  361. package/lib/util/repeater.js.map +0 -1
  362. package/lib/util/safe-promise.d.ts +0 -11
  363. package/lib/util/safe-promise.d.ts.map +0 -1
  364. package/lib/util/safe-promise.js +0 -34
  365. package/lib/util/safe-promise.js.map +0 -1
  366. package/lib/util/without.d.ts +0 -7
  367. package/lib/util/without.d.ts.map +0 -1
  368. package/lib/util/without.js.map +0 -1
  369. package/src/messaging/connection-error-handler.ts +0 -62
  370. package/src/theia-plugins.ts +0 -11
  371. package/src/util/context-url.spec.ts +0 -25
  372. package/src/util/context-url.ts +0 -23
  373. package/src/util/jaeger-client.d.ts +0 -105
  374. package/src/util/repeater.ts +0 -49
  375. package/src/util/safe-promise.ts +0 -26
@@ -15,45 +15,37 @@ var __metadata = (this && this.__metadata) || function (k, v) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.t = void 0;
18
- var mocha_typescript_1 = require("mocha-typescript");
19
- var chai = require("chai");
20
- var path = require("path");
21
- var fs = require("fs");
22
- var encryption_engine_1 = require("./encryption-engine");
23
- var expect = chai.expect;
24
- var TestEncryptionEngineImpl = /** @class */ (function () {
25
- function TestEncryptionEngineImpl() {
18
+ const mocha_typescript_1 = require("mocha-typescript");
19
+ const chai = require("chai");
20
+ const path = require("path");
21
+ const fs = require("fs");
22
+ const encryption_engine_1 = require("./encryption-engine");
23
+ const expect = chai.expect;
24
+ let TestEncryptionEngineImpl = class TestEncryptionEngineImpl {
25
+ // Created with openssl rand -rand /dev/urandom -out key -base64 32
26
+ get testkey() {
27
+ const keyFilePath = path.resolve(__dirname, "../../test/fixtures/encryption/testkey");
28
+ const keyBuffer = fs.readFileSync(keyFilePath);
29
+ return keyBuffer.toString().trim();
26
30
  }
27
- Object.defineProperty(TestEncryptionEngineImpl.prototype, "testkey", {
28
- // Created with openssl rand -rand /dev/urandom -out key -base64 32
29
- get: function () {
30
- var keyFilePath = path.resolve(__dirname, '../../test/fixtures/encryption/testkey');
31
- var keyBuffer = fs.readFileSync(keyFilePath);
32
- return keyBuffer.toString().trim();
33
- },
34
- enumerable: false,
35
- configurable: true
36
- });
37
- ;
38
- TestEncryptionEngineImpl.prototype.basicSymmetry = function () {
39
- var plaintext = "12345678901234567890";
40
- var key = new Buffer(this.testkey, 'base64');
41
- var cut = new encryption_engine_1.EncryptionEngineImpl();
42
- var encryptedData = cut.encrypt(plaintext, key);
31
+ basicSymmetry() {
32
+ const plaintext = "12345678901234567890";
33
+ const key = new Buffer(this.testkey, "base64");
34
+ const cut = new encryption_engine_1.EncryptionEngineImpl();
35
+ const encryptedData = cut.encrypt(plaintext, key);
43
36
  expect(encryptedData).to.be.not.undefined;
44
- var decryptedPlaintext = cut.decrypt(encryptedData, key);
37
+ const decryptedPlaintext = cut.decrypt(encryptedData, key);
45
38
  expect(decryptedPlaintext).equals(plaintext);
46
- };
47
- __decorate([
48
- mocha_typescript_1.test,
49
- __metadata("design:type", Function),
50
- __metadata("design:paramtypes", []),
51
- __metadata("design:returntype", void 0)
52
- ], TestEncryptionEngineImpl.prototype, "basicSymmetry", null);
53
- TestEncryptionEngineImpl = __decorate([
54
- mocha_typescript_1.suite
55
- ], TestEncryptionEngineImpl);
56
- return TestEncryptionEngineImpl;
57
- }());
39
+ }
40
+ };
41
+ __decorate([
42
+ mocha_typescript_1.test,
43
+ __metadata("design:type", Function),
44
+ __metadata("design:paramtypes", []),
45
+ __metadata("design:returntype", void 0)
46
+ ], TestEncryptionEngineImpl.prototype, "basicSymmetry", null);
47
+ TestEncryptionEngineImpl = __decorate([
48
+ mocha_typescript_1.suite
49
+ ], TestEncryptionEngineImpl);
58
50
  exports.t = new TestEncryptionEngineImpl();
59
51
  //# sourceMappingURL=encryption-engine.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryption-engine.spec.js","sourceRoot":"","sources":["../../src/encryption/encryption-engine.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,qDAA+C;AAC/C,2BAA6B;AAC7B,2BAA6B;AAC7B,uBAAyB;AAEzB,yDAA2D;AAE3D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAEpB;IAAA;IAmBP,CAAC;IAjBG,sBAAc,6CAAO;QADrB,mEAAmE;aACnE;YACI,IAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAC;YACtF,IAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC/C,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC;;;OAAA;IAAA,CAAC;IAEI,gDAAa,GAAb;QACF,IAAM,SAAS,GAAG,sBAAsB,CAAC;QACzC,IAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE/C,IAAM,GAAG,GAAG,IAAI,wCAAoB,EAAE,CAAC;QACvC,IAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;QAE1C,IAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAVK;QAAL,uBAAI;;;;iEAUJ;IAlBQ,wBAAwB;QAApC,wBAAK;OAAO,wBAAwB,CAmBpC;IAAD,+BAAC;CAAA,AAnBM,IAmBN;AACY,QAAA,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"encryption-engine.spec.js","sourceRoot":"","sources":["../../src/encryption/encryption-engine.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,uDAA+C;AAC/C,6BAA6B;AAC7B,6BAA6B;AAC7B,yBAAyB;AAEzB,2DAA2D;AAE3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAG3B,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAC1B,mEAAmE;IACnE,IAAc,OAAO;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAEK,aAAa;QACf,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,IAAI,wCAAoB,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;QAE1C,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACJ,CAAA;AAXS;IAAL,uBAAI;;;;6DAUJ;AAlBC,wBAAwB;IAD7B,wBAAK;GACA,wBAAwB,CAmB7B;AACY,QAAA,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"encryption-service.d.ts","sourceRoot":"","sources":["../../src/encryption/encryption-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG1D,MAAM,WAAW,SAAS,CAAC,EAAE,CAAE,SAAQ,aAAa;IAChD,WAAW,EAAE,WAAW,CAAA;CAC3B;AAED,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,qBACa,qBAAsB,YAAW,iBAAiB;IACjC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAEjE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAWjC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAMtC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAItC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;CAG5C"}
1
+ {"version":3,"file":"encryption-service.d.ts","sourceRoot":"","sources":["../../src/encryption/encryption-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,SAAS,CAAC,EAAE,CAAE,SAAQ,aAAa;IAChD,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,qBACa,qBAAsB,YAAW,iBAAiB;IACjC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAEjE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAWjC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAMtC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAItC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;CAG5C"}
@@ -4,17 +4,6 @@
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
- var __assign = (this && this.__assign) || function () {
8
- __assign = Object.assign || function(t) {
9
- for (var s, i = 1, n = arguments.length; i < n; i++) {
10
- s = arguments[i];
11
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
12
- t[p] = s[p];
13
- }
14
- return t;
15
- };
16
- return __assign.apply(this, arguments);
17
- };
18
7
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
8
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
9
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -26,42 +15,39 @@ var __metadata = (this && this.__metadata) || function (k, v) {
26
15
  };
27
16
  Object.defineProperty(exports, "__esModule", { value: true });
28
17
  exports.EncryptionServiceImpl = exports.EncryptionService = void 0;
29
- var inversify_1 = require("inversify");
30
- var encryption_engine_1 = require("./encryption-engine");
31
- var key_provider_1 = require("./key-provider");
32
- exports.EncryptionService = Symbol('EncryptionService');
33
- var EncryptionServiceImpl = /** @class */ (function () {
34
- function EncryptionServiceImpl() {
18
+ const inversify_1 = require("inversify");
19
+ const encryption_engine_1 = require("./encryption-engine");
20
+ const key_provider_1 = require("./key-provider");
21
+ exports.EncryptionService = Symbol("EncryptionService");
22
+ let EncryptionServiceImpl = class EncryptionServiceImpl {
23
+ encrypt(data) {
24
+ const dataStr = this.serialize(data);
25
+ const key = this.keyProvider.getPrimaryKey();
26
+ const encryptedData = this.engine.encrypt(dataStr, key.material);
27
+ return Object.assign(Object.assign({}, encryptedData), { keyMetadata: key.metadata });
35
28
  }
36
- EncryptionServiceImpl.prototype.encrypt = function (data) {
37
- var dataStr = this.serialize(data);
38
- var key = this.keyProvider.getPrimaryKey();
39
- var encryptedData = this.engine.encrypt(dataStr, key.material);
40
- return __assign(__assign({}, encryptedData), { keyMetadata: key.metadata });
41
- };
42
- EncryptionServiceImpl.prototype.decrypt = function (encrypted) {
43
- var key = this.keyProvider.getKeyFor(encrypted.keyMetadata);
44
- var serializedData = this.engine.decrypt(encrypted, key.material);
29
+ decrypt(encrypted) {
30
+ const key = this.keyProvider.getKeyFor(encrypted.keyMetadata);
31
+ const serializedData = this.engine.decrypt(encrypted, key.material);
45
32
  return this.deserialize(serializedData);
46
- };
47
- EncryptionServiceImpl.prototype.serialize = function (data) {
33
+ }
34
+ serialize(data) {
48
35
  return JSON.stringify(data);
49
- };
50
- EncryptionServiceImpl.prototype.deserialize = function (data) {
36
+ }
37
+ deserialize(data) {
51
38
  return JSON.parse(data);
52
- };
53
- __decorate([
54
- inversify_1.inject(encryption_engine_1.EncryptionEngine),
55
- __metadata("design:type", Object)
56
- ], EncryptionServiceImpl.prototype, "engine", void 0);
57
- __decorate([
58
- inversify_1.inject(key_provider_1.KeyProvider),
59
- __metadata("design:type", Object)
60
- ], EncryptionServiceImpl.prototype, "keyProvider", void 0);
61
- EncryptionServiceImpl = __decorate([
62
- inversify_1.injectable()
63
- ], EncryptionServiceImpl);
64
- return EncryptionServiceImpl;
65
- }());
39
+ }
40
+ };
41
+ __decorate([
42
+ (0, inversify_1.inject)(encryption_engine_1.EncryptionEngine),
43
+ __metadata("design:type", Object)
44
+ ], EncryptionServiceImpl.prototype, "engine", void 0);
45
+ __decorate([
46
+ (0, inversify_1.inject)(key_provider_1.KeyProvider),
47
+ __metadata("design:type", Object)
48
+ ], EncryptionServiceImpl.prototype, "keyProvider", void 0);
49
+ EncryptionServiceImpl = __decorate([
50
+ (0, inversify_1.injectable)()
51
+ ], EncryptionServiceImpl);
66
52
  exports.EncryptionServiceImpl = EncryptionServiceImpl;
67
53
  //# sourceMappingURL=encryption-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryption-service.js","sourceRoot":"","sources":["../../src/encryption/encryption-service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAA+C;AAE/C,yDAAsE;AACtE,+CAA0D;AAO7C,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAO7D;IAAA;IA4BA,CAAC;IAxBG,uCAAO,GAAP,UAAW,IAAO;QACd,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAE7C,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjE,6BACO,aAAa,KAChB,WAAW,EAAE,GAAG,CAAC,QAAQ,IAC3B;IACN,CAAC;IAED,uCAAO,GAAP,UAAW,SAAuB;QAC9B,IAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAES,yCAAS,GAAnB,UAAoB,IAAS;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,2CAAW,GAArB,UAAyB,IAAY;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IACjC,CAAC;IA1ByB;QAAzB,kBAAM,CAAC,oCAAgB,CAAC;;yDAA6C;IACjD;QAApB,kBAAM,CAAC,0BAAW,CAAC;;8DAA6C;IAFxD,qBAAqB;QADjC,sBAAU,EAAE;OACA,qBAAqB,CA4BjC;IAAD,4BAAC;CAAA,AA5BD,IA4BC;AA5BY,sDAAqB"}
1
+ {"version":3,"file":"encryption-service.js","sourceRoot":"","sources":["../../src/encryption/encryption-service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,yCAA+C;AAE/C,2DAAsE;AACtE,iDAA0D;AAM7C,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAO7D,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAI9B,OAAO,CAAI,IAAO;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAE7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjE,uCACO,aAAa,KAChB,WAAW,EAAE,GAAG,CAAC,QAAQ,IAC3B;IACN,CAAC;IAED,OAAO,CAAI,SAAuB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAES,SAAS,CAAC,IAAS;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,WAAW,CAAI,IAAY;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IACjC,CAAC;CACJ,CAAA;AA3B6B;IAAzB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;;qDAA6C;AACjD;IAApB,IAAA,kBAAM,EAAC,0BAAW,CAAC;;0DAA6C;AAFxD,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CA4BjC;AA5BY,sDAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"key-provider.d.ts","sourceRoot":"","sources":["../../src/encryption/key-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAIH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,GAAG;IAChB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD,MAAM,WAAW,WAAW;IACxB,aAAa,IAAI,GAAG,CAAC;IACrB,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,GAAG,CAAC;CACzC;AAED,oBAAY,SAAS,GAAG,WAAW,GAAG;IAClC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,qBACa,eAAgB,YAAW,WAAW;IAYR,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IAVnF,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE;gBAUR,MAAM,EAAE,iBAAiB;IAEnF,SAAS,KAAK,IAAI,gBAEjB;IAED,aAAa,IAAI,GAAG;IAQpB,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,GAAG;IAQrC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG;CAShD"}
1
+ {"version":3,"file":"key-provider.d.ts","sourceRoot":"","sources":["../../src/encryption/key-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAIH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,GAAG;IAChB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD,MAAM,WAAW,WAAW;IACxB,aAAa,IAAI,GAAG,CAAC;IACrB,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,GAAG,CAAC;CACzC;AAED,oBAAY,SAAS,GAAG,WAAW,GAAG;IAClC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,qBACa,eAAgB,YAAW,WAAW;IASR,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IARnF,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE;gBAQR,MAAM,EAAE,iBAAiB;IAEnF,SAAS,KAAK,IAAI,gBAEjB;IAED,aAAa,IAAI,GAAG;IAQpB,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,GAAG;IAQrC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG;CAShD"}
@@ -18,58 +18,51 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.KeyProviderImpl = exports.KeyProviderConfig = exports.KeyProvider = void 0;
21
- var inversify_1 = require("inversify");
22
- exports.KeyProvider = Symbol('KeyProvider');
23
- exports.KeyProviderConfig = Symbol('KeyProviderConfig');
24
- var KeyProviderImpl = /** @class */ (function () {
25
- function KeyProviderImpl(config) {
21
+ const inversify_1 = require("inversify");
22
+ exports.KeyProvider = Symbol("KeyProvider");
23
+ exports.KeyProviderConfig = Symbol("KeyProviderConfig");
24
+ let KeyProviderImpl = class KeyProviderImpl {
25
+ constructor(config) {
26
26
  this.config = config;
27
27
  }
28
- KeyProviderImpl.loadKeyConfigFromJsonString = function (configStr) {
29
- var keys = (JSON.parse(configStr) || []);
30
- if (!Array.isArray(keys)
31
- || keys.length < 0
32
- || 1 !== keys.reduce(function (p, k) { return k.primary ? p + 1 : p; }, 0)) {
33
- throw new Error('Invalid key config!');
28
+ static loadKeyConfigFromJsonString(configStr) {
29
+ const keys = (JSON.parse(configStr) || []);
30
+ if (!Array.isArray(keys) || keys.length < 0 || 1 !== keys.reduce((p, k) => (k.primary ? p + 1 : p), 0)) {
31
+ throw new Error("Invalid key config!");
34
32
  }
35
33
  return keys;
36
- };
37
- Object.defineProperty(KeyProviderImpl.prototype, "keys", {
38
- get: function () {
39
- return this.config.keys;
40
- },
41
- enumerable: false,
42
- configurable: true
43
- });
44
- KeyProviderImpl.prototype.getPrimaryKey = function () {
45
- var primaryKey = this.keys.find(function (key) { return !!key.primary; });
34
+ }
35
+ get keys() {
36
+ return this.config.keys;
37
+ }
38
+ getPrimaryKey() {
39
+ const primaryKey = this.keys.find((key) => !!key.primary);
46
40
  if (!primaryKey) {
47
- throw new Error('No primary encryption key found!');
41
+ throw new Error("No primary encryption key found!");
48
42
  }
49
43
  return this.configToKey(primaryKey);
50
- };
51
- KeyProviderImpl.prototype.getKeyFor = function (metadata) {
52
- var key = this.keys.find(function (k) { return k.name === metadata.name && k.version === metadata.version; });
44
+ }
45
+ getKeyFor(metadata) {
46
+ const key = this.keys.find((k) => k.name === metadata.name && k.version === metadata.version);
53
47
  if (!key) {
54
- throw new Error("No key found for metadata " + metadata.name + "/" + metadata.version);
48
+ throw new Error(`No key found for metadata ${metadata.name}/${metadata.version}`);
55
49
  }
56
50
  return this.configToKey(key);
57
- };
58
- KeyProviderImpl.prototype.configToKey = function (config) {
51
+ }
52
+ configToKey(config) {
59
53
  return {
60
54
  metadata: {
61
55
  name: config.name,
62
- version: config.version
56
+ version: config.version,
63
57
  },
64
- material: new Buffer(config.material, 'base64')
58
+ material: new Buffer(config.material, "base64"),
65
59
  };
66
- };
67
- KeyProviderImpl = __decorate([
68
- inversify_1.injectable(),
69
- __param(0, inversify_1.inject(exports.KeyProviderConfig)),
70
- __metadata("design:paramtypes", [Object])
71
- ], KeyProviderImpl);
72
- return KeyProviderImpl;
73
- }());
60
+ }
61
+ };
62
+ KeyProviderImpl = __decorate([
63
+ (0, inversify_1.injectable)(),
64
+ __param(0, (0, inversify_1.inject)(exports.KeyProviderConfig)),
65
+ __metadata("design:paramtypes", [Object])
66
+ ], KeyProviderImpl);
74
67
  exports.KeyProviderImpl = KeyProviderImpl;
75
68
  //# sourceMappingURL=key-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-provider.js","sourceRoot":"","sources":["../../src/encryption/key-provider.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;AAEH,uCAA+C;AAYlC,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAYpC,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAM7D;IAYI,yBAA0D,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAVhF,2CAA2B,GAAlC,UAAmC,SAAiB;QAChD,IAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAgB,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;eACjB,IAAI,CAAC,MAAM,GAAG,CAAC;eACf,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAArB,CAAqB,EAAE,CAAC,CAAC,EAAE;YAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAID,sBAAc,iCAAI;aAAlB;YACI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;QAC3B,CAAC;;;OAAA;IAED,uCAAa,GAAb;QACI,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,OAAO,EAAb,CAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACvD;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,mCAAS,GAAT,UAAU,QAAqB;QAC3B,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAA1D,CAA0D,CAAC,CAAC;QAC9F,IAAI,CAAC,GAAG,EAAE;YACN,MAAM,IAAI,KAAK,CAAC,+BAA6B,QAAQ,CAAC,IAAI,SAAI,QAAQ,CAAC,OAAS,CAAC,CAAC;SACrF;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAES,qCAAW,GAArB,UAAsB,MAAiB;QACnC,OAAO;YACH,QAAQ,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B;YACD,QAAQ,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAClD,CAAC;IACN,CAAC;IA1CQ,eAAe;QAD3B,sBAAU,EAAE;QAaI,WAAA,kBAAM,CAAC,yBAAiB,CAAC,CAAA;;OAZ7B,eAAe,CA2C3B;IAAD,sBAAC;CAAA,AA3CD,IA2CC;AA3CY,0CAAe"}
1
+ {"version":3,"file":"key-provider.js","sourceRoot":"","sources":["../../src/encryption/key-provider.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;AAEH,yCAA+C;AAYlC,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAYpC,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAM7D,IAAa,eAAe,GAA5B,MAAa,eAAe;IASxB,YAA0D,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IARvF,MAAM,CAAC,2BAA2B,CAAC,SAAiB;QAChD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAgB,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACpG,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAID,IAAc,IAAI;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,aAAa;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACvD;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,CAAC,QAAqB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9F,IAAI,CAAC,GAAG,EAAE;YACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;SACrF;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAES,WAAW,CAAC,MAAiB;QACnC,OAAO;YACH,QAAQ,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B;YACD,QAAQ,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAClD,CAAC;IACN,CAAC;CACJ,CAAA;AAxCY,eAAe;IAD3B,IAAA,sBAAU,GAAE;IAUI,WAAA,IAAA,kBAAM,EAAC,yBAAiB,CAAC,CAAA;;GAT7B,eAAe,CAwC3B;AAxCY,0CAAe"}
package/lib/env.d.ts CHANGED
@@ -4,13 +4,7 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  export declare abstract class AbstractComponentEnv {
7
- readonly kubeStage: KubeStage;
8
- readonly kubeNamespace: string;
9
- readonly version: string;
10
- readonly installationLongname: string;
11
- readonly installationShortname: string;
12
7
  }
13
- export declare type KubeStage = 'production' | 'prodcopy' | 'staging' | 'dev';
14
8
  export declare function getEnvVar(name: string, defaultValue?: string): string;
15
9
  export declare function filePathTelepresenceAware(filePath: string): string;
16
10
  export declare function getEnvVarParsed<T>(name: string, parser: (value: string) => T, defaultValue?: string): T;
package/lib/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,8BACsB,oBAAoB;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAO1B;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAA+B;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAwB;IAEhD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAA4C;IACjF,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAA6C;CACtF;AAED,oBAAY,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;AAEtE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAEvG"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,8BACsB,oBAAoB;CACzC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAEvG"}
package/lib/env.js CHANGED
@@ -12,37 +12,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.getEnvVarParsed = exports.filePathTelepresenceAware = exports.getEnvVar = exports.AbstractComponentEnv = void 0;
15
- var inversify_1 = require("inversify");
16
- var legacyStagenameTranslation = {
17
- "production": "production",
18
- "staging": "prodcopy",
19
- "devstaging": "dev",
20
- "dev": "dev"
15
+ const inversify_1 = require("inversify");
16
+ let AbstractComponentEnv = class AbstractComponentEnv {
21
17
  };
22
- var AbstractComponentEnv = /** @class */ (function () {
23
- function AbstractComponentEnv() {
24
- this.kubeStage = getEnvVarParsed('KUBE_STAGE', function (kubeStage) {
25
- var stage = legacyStagenameTranslation[kubeStage];
26
- if (!stage) {
27
- throw new Error("Environment variable invalid: KUBE_STAGE=" + kubeStage);
28
- }
29
- return stage;
30
- });
31
- this.kubeNamespace = getEnvVar('KUBE_NAMESPACE');
32
- this.version = getEnvVar('VERSION');
33
- this.installationLongname = getEnvVar("GITPOD_INSTALLATION_LONGNAME");
34
- this.installationShortname = getEnvVar("GITPOD_INSTALLATION_SHORTNAME");
35
- }
36
- AbstractComponentEnv = __decorate([
37
- inversify_1.injectable()
38
- ], AbstractComponentEnv);
39
- return AbstractComponentEnv;
40
- }());
18
+ AbstractComponentEnv = __decorate([
19
+ (0, inversify_1.injectable)()
20
+ ], AbstractComponentEnv);
41
21
  exports.AbstractComponentEnv = AbstractComponentEnv;
42
22
  function getEnvVar(name, defaultValue) {
43
- var value = process.env[name] || defaultValue;
23
+ const value = process.env[name] || defaultValue;
44
24
  if (!value) {
45
- throw new Error("Environment variable undefined or empty: " + name);
25
+ throw new Error(`Environment variable undefined or empty: ${name}`);
46
26
  }
47
27
  return value;
48
28
  }
package/lib/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAEH,uCAAuC;AAEvC,IAAM,0BAA0B,GAAiC;IAC7D,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE,UAAU;IACrB,YAAY,EAAE,KAAK;IACnB,KAAK,EAAE,KAAK;CACf,CAAA;AAGD;IAAA;QACa,cAAS,GAAc,eAAe,CAAC,YAAY,EAAE,UAAC,SAAS;YACpE,IAAM,KAAK,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,8CAA4C,SAAW,CAAC,CAAC;aAC5E;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACM,kBAAa,GAAW,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACpD,YAAO,GAAW,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvC,yBAAoB,GAAW,SAAS,CAAC,8BAA8B,CAAC,CAAA;QACxE,0BAAqB,GAAW,SAAS,CAAC,+BAA+B,CAAC,CAAA;IACvF,CAAC;IAdqB,oBAAoB;QADzC,sBAAU,EAAE;OACS,oBAAoB,CAczC;IAAD,2BAAC;CAAA,AAdD,IAcC;AAdqB,oDAAoB;AAkB1C,SAAgB,SAAS,CAAC,IAAY,EAAE,YAAqB;IACzD,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,8CAA4C,IAAM,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAND,8BAMC;AAED,SAAgB,yBAAyB,CAAC,QAAgB;IACtD,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAC3C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC;KACvD;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AALD,8DAKC;AAED,SAAgB,eAAe,CAAI,IAAY,EAAE,MAA4B,EAAE,YAAqB;IAChG,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAEH,yCAAuC;AAGvC,IAAsB,oBAAoB,GAA1C,MAAsB,oBAAoB;CACzC,CAAA;AADqB,oBAAoB;IADzC,IAAA,sBAAU,GAAE;GACS,oBAAoB,CACzC;AADqB,oDAAoB;AAG1C,SAAgB,SAAS,CAAC,IAAY,EAAE,YAAqB;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAND,8BAMC;AAED,SAAgB,yBAAyB,CAAC,QAAgB;IACtD,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAC3C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC;KACvD;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AALD,8DAKC;AAED,SAAgB,eAAe,CAAI,IAAY,EAAE,MAA4B,EAAE,YAAqB;IAChG,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { Client } from "./types";
7
+ export declare function newAlwaysReturningDefaultValueClient(): Client;
8
+ //# sourceMappingURL=always-default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always-default.d.ts","sourceRoot":"","sources":["../../src/experiments/always-default.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAc,MAAM,EAAE,MAAM,SAAS,CAAC;AAgB7C,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newAlwaysReturningDefaultValueClient = void 0;
4
+ // AlwaysReturningDefaultValueClient is an implemention of an experiments.Client which performs no lookup/network operation
5
+ // and always returns the default value for a given experimentName.
6
+ // This client is used for non-SaaS version of Gitpod, in particular for self-hosted installations where external
7
+ // network connections are not desirable or even possible.
8
+ class AlwaysReturningDefaultValueClient {
9
+ getValueAsync(experimentName, defaultValue, attributes) {
10
+ return Promise.resolve(defaultValue);
11
+ }
12
+ dispose() {
13
+ // there is nothing to dispose, no-op.
14
+ }
15
+ }
16
+ function newAlwaysReturningDefaultValueClient() {
17
+ return new AlwaysReturningDefaultValueClient();
18
+ }
19
+ exports.newAlwaysReturningDefaultValueClient = newAlwaysReturningDefaultValueClient;
20
+ //# sourceMappingURL=always-default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always-default.js","sourceRoot":"","sources":["../../src/experiments/always-default.ts"],"names":[],"mappings":";;;AAOA,2HAA2H;AAC3H,mEAAmE;AACnE,iHAAiH;AACjH,0DAA0D;AAC1D,MAAM,iCAAiC;IACnC,aAAa,CAAI,cAAsB,EAAE,YAAe,EAAE,UAAsB;QAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,sCAAsC;IAC1C,CAAC;CACJ;AAED,SAAgB,oCAAoC;IAChD,OAAO,IAAI,iCAAiC,EAAE,CAAC;AACnD,CAAC;AAFD,oFAEC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { Client } from "./types";
7
+ export declare function getExperimentsClientForBackend(): Client;
8
+ //# sourceMappingURL=configcat-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configcat-server.d.ts","sourceRoot":"","sources":["../../src/experiments/configcat-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQjC,wBAAgB,8BAA8B,IAAI,MAAM,CAsBvD"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getExperimentsClientForBackend = void 0;
9
+ const configcat = require("configcat-node");
10
+ const configcat_common_1 = require("configcat-common");
11
+ const configcat_1 = require("./configcat");
12
+ const always_default_1 = require("./always-default");
13
+ let client;
14
+ function getExperimentsClientForBackend() {
15
+ // We have already instantiated a client, we can just re-use it.
16
+ if (client !== undefined) {
17
+ return client;
18
+ }
19
+ // Retrieve SDK key from ENV Variable
20
+ const sdkKey = process.env.CONFIGCAT_SDK_KEY;
21
+ // Self-hosted installations do not set the ConfigCat SDK key, so always use a client which returns the default value.
22
+ if (sdkKey === undefined || sdkKey === "") {
23
+ client = (0, always_default_1.newAlwaysReturningDefaultValueClient)();
24
+ return client;
25
+ }
26
+ const configCatClient = configcat.createClient(sdkKey, {
27
+ logger: configcat.createConsoleLogger(configcat_common_1.LogLevel.Error),
28
+ maxInitWaitTimeSeconds: 0,
29
+ });
30
+ client = new configcat_1.ConfigCatClient(configCatClient);
31
+ return client;
32
+ }
33
+ exports.getExperimentsClientForBackend = getExperimentsClientForBackend;
34
+ //# sourceMappingURL=configcat-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configcat-server.js","sourceRoot":"","sources":["../../src/experiments/configcat-server.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,4CAA4C;AAC5C,uDAA4C;AAC5C,2CAA8C;AAC9C,qDAAwE;AAExE,IAAI,MAA0B,CAAC;AAE/B,SAAgB,8BAA8B;IAC1C,gEAAgE;IAChE,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,MAAM,CAAC;KACjB;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAE7C,sHAAsH;IACtH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE;QACvC,MAAM,GAAG,IAAA,qDAAoC,GAAE,CAAC;QAChD,OAAO,MAAM,CAAC;KACjB;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE;QACnD,MAAM,EAAE,SAAS,CAAC,mBAAmB,CAAC,2BAAQ,CAAC,KAAK,CAAC;QACrD,sBAAsB,EAAE,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,GAAG,IAAI,2BAAe,CAAC,eAAe,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAClB,CAAC;AAtBD,wEAsBC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { Attributes, Client } from "./types";
7
+ import { User } from "configcat-common/lib/RolloutEvaluator";
8
+ import { IConfigCatClient } from "configcat-common/lib/ConfigCatClient";
9
+ export declare const PROJECT_ID_ATTRIBUTE = "project_id";
10
+ export declare const TEAM_ID_ATTRIBUTE = "team_id";
11
+ export declare const TEAM_IDS_ATTRIBUTE = "team_ids";
12
+ export declare const TEAM_NAME_ATTRIBUTE = "team_name";
13
+ export declare const TEAM_NAMES_ATTRIBUTE = "team_names";
14
+ export declare class ConfigCatClient implements Client {
15
+ private client;
16
+ constructor(cc: IConfigCatClient);
17
+ getValueAsync<T>(experimentName: string, defaultValue: T, attributes: Attributes): Promise<T>;
18
+ dispose(): void;
19
+ }
20
+ export declare function attributesToUser(attributes: Attributes): User;
21
+ //# sourceMappingURL=configcat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configcat.d.ts","sourceRoot":"","sources":["../../src/experiments/configcat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,qBAAa,eAAgB,YAAW,MAAM;IAC1C,OAAO,CAAC,MAAM,CAAmB;gBAErB,EAAE,EAAE,gBAAgB;IAIhC,aAAa,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7F,OAAO,IAAI,IAAI;CAGlB;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAoB7D"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.attributesToUser = exports.ConfigCatClient = exports.TEAM_NAMES_ATTRIBUTE = exports.TEAM_NAME_ATTRIBUTE = exports.TEAM_IDS_ATTRIBUTE = exports.TEAM_ID_ATTRIBUTE = exports.PROJECT_ID_ATTRIBUTE = void 0;
9
+ const RolloutEvaluator_1 = require("configcat-common/lib/RolloutEvaluator");
10
+ exports.PROJECT_ID_ATTRIBUTE = "project_id";
11
+ exports.TEAM_ID_ATTRIBUTE = "team_id";
12
+ exports.TEAM_IDS_ATTRIBUTE = "team_ids";
13
+ exports.TEAM_NAME_ATTRIBUTE = "team_name";
14
+ exports.TEAM_NAMES_ATTRIBUTE = "team_names";
15
+ class ConfigCatClient {
16
+ constructor(cc) {
17
+ this.client = cc;
18
+ }
19
+ getValueAsync(experimentName, defaultValue, attributes) {
20
+ return this.client.getValueAsync(experimentName, defaultValue, attributesToUser(attributes));
21
+ }
22
+ dispose() {
23
+ return this.client.dispose();
24
+ }
25
+ }
26
+ exports.ConfigCatClient = ConfigCatClient;
27
+ function attributesToUser(attributes) {
28
+ const userId = attributes.userId || "";
29
+ const email = attributes.email || "";
30
+ const custom = {};
31
+ if (attributes.projectId) {
32
+ custom[exports.PROJECT_ID_ATTRIBUTE] = attributes.projectId;
33
+ }
34
+ if (attributes.teamId) {
35
+ custom[exports.TEAM_ID_ATTRIBUTE] = attributes.teamId;
36
+ }
37
+ if (attributes.teamName) {
38
+ custom[exports.TEAM_NAME_ATTRIBUTE] = attributes.teamName;
39
+ }
40
+ if (attributes.teams) {
41
+ custom[exports.TEAM_NAMES_ATTRIBUTE] = attributes.teams.map((t) => t.name).join(",");
42
+ custom[exports.TEAM_IDS_ATTRIBUTE] = attributes.teams.map((t) => t.id).join(",");
43
+ }
44
+ return new RolloutEvaluator_1.User(userId, email, "", custom);
45
+ }
46
+ exports.attributesToUser = attributesToUser;
47
+ //# sourceMappingURL=configcat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configcat.js","sourceRoot":"","sources":["../../src/experiments/configcat.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,4EAA6D;AAGhD,QAAA,oBAAoB,GAAG,YAAY,CAAC;AACpC,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAChC,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAClC,QAAA,oBAAoB,GAAG,YAAY,CAAC;AAEjD,MAAa,eAAe;IAGxB,YAAY,EAAoB;QAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,aAAa,CAAI,cAAsB,EAAE,YAAe,EAAE,UAAsB;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;CACJ;AAdD,0CAcC;AAED,SAAgB,gBAAgB,CAAC,UAAsB;IACnD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;IAErC,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,IAAI,UAAU,CAAC,SAAS,EAAE;QACtB,MAAM,CAAC,4BAAoB,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;KACvD;IACD,IAAI,UAAU,CAAC,MAAM,EAAE;QACnB,MAAM,CAAC,yBAAiB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;KACjD;IACD,IAAI,UAAU,CAAC,QAAQ,EAAE;QACrB,MAAM,CAAC,2BAAmB,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC;KACrD;IACD,IAAI,UAAU,CAAC,KAAK,EAAE;QAClB,MAAM,CAAC,4BAAoB,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7E,MAAM,CAAC,0BAAkB,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC5E;IAED,OAAO,IAAI,uBAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AApBD,4CAoBC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { Team } from "../teams-projects-protocol";
7
+ export interface Attributes {
8
+ userId?: string;
9
+ email?: string;
10
+ projectId?: string;
11
+ teamId?: string;
12
+ teamName?: string;
13
+ teams?: Array<Team>;
14
+ }
15
+ export interface Client {
16
+ getValueAsync<T>(experimentName: string, defaultValue: T, attributes: Attributes): Promise<T>;
17
+ dispose(): void;
18
+ }
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/experiments/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAIlD,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,aAAa,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAG9F,OAAO,IAAI,IAAI,CAAC;CACnB"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- //# sourceMappingURL=without.js.map
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/experiments/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -1 +1 @@
1
- {"version":3,"file":"gitpod-file-parser.d.ts","sourceRoot":"","sources":["../src/gitpod-file-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAE9D,oBAAY,WAAW,GAAG,eAAe,GAAG,SAAS,CAAA;AAQrD,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,qBACa,gBAAgB;IAElB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,KAAK,EAAE,aAAa,GAAE,eAAoB,GAAG,WAAW;CAoCrG"}
1
+ {"version":3,"file":"gitpod-file-parser.d.ts","sourceRoot":"","sources":["../src/gitpod-file-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAE9D,oBAAY,WAAW,GAAG,eAAe,GAAG,SAAS,CAAC;AAQtD,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,qBACa,gBAAgB;IAClB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,KAAK,EAAE,aAAa,GAAE,eAAoB,GAAG,WAAW;CAoCrG"}