@gitpod/gitpod-protocol 0.1.5-se-cancel-reason.0 → 0.1.5-se-usage-view.1

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 (146) hide show
  1. package/data/gitpod-schema.json +44 -129
  2. package/lib/accounting-protocol.d.ts +1 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -1
  4. package/lib/accounting-protocol.js +4 -0
  5. package/lib/accounting-protocol.js.map +1 -1
  6. package/lib/admin-protocol.d.ts +5 -0
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js.map +1 -1
  9. package/lib/attribution.d.ts +20 -0
  10. package/lib/attribution.d.ts.map +1 -0
  11. package/lib/attribution.js +40 -0
  12. package/lib/attribution.js.map +1 -0
  13. package/lib/billing-mode.d.ts +40 -0
  14. package/lib/billing-mode.d.ts.map +1 -0
  15. package/lib/billing-mode.js +36 -0
  16. package/lib/billing-mode.js.map +1 -0
  17. package/lib/blocked-repositories-protocol.d.ts +13 -0
  18. package/lib/blocked-repositories-protocol.d.ts.map +1 -0
  19. package/lib/blocked-repositories-protocol.js +8 -0
  20. package/lib/blocked-repositories-protocol.js.map +1 -0
  21. package/lib/experiments/configcat-server.d.ts +2 -0
  22. package/lib/experiments/configcat-server.d.ts.map +1 -1
  23. package/lib/experiments/configcat-server.js +3 -1
  24. package/lib/experiments/configcat-server.js.map +1 -1
  25. package/lib/experiments/configcat.d.ts +3 -2
  26. package/lib/experiments/configcat.d.ts.map +1 -1
  27. package/lib/experiments/configcat.js +9 -3
  28. package/lib/experiments/configcat.js.map +1 -1
  29. package/lib/experiments/types.d.ts +7 -3
  30. package/lib/experiments/types.d.ts.map +1 -1
  31. package/lib/experiments/types.js +2 -0
  32. package/lib/experiments/types.js.map +1 -1
  33. package/lib/gitpod-service.d.ts +26 -4
  34. package/lib/gitpod-service.d.ts.map +1 -1
  35. package/lib/gitpod-service.js +1 -1
  36. package/lib/gitpod-service.js.map +1 -1
  37. package/lib/ide-protocol.d.ts +8 -0
  38. package/lib/ide-protocol.d.ts.map +1 -1
  39. package/lib/index.d.ts +1 -0
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +1 -0
  42. package/lib/index.js.map +1 -1
  43. package/lib/messaging/client-call-metrics.d.ts +1 -17
  44. package/lib/messaging/client-call-metrics.d.ts.map +1 -1
  45. package/lib/messaging/client-call-metrics.js +1 -2
  46. package/lib/messaging/client-call-metrics.js.map +1 -1
  47. package/lib/messaging/error.d.ts +4 -1
  48. package/lib/messaging/error.d.ts.map +1 -1
  49. package/lib/messaging/error.js +9 -3
  50. package/lib/messaging/error.js.map +1 -1
  51. package/lib/plans.d.ts +1 -0
  52. package/lib/plans.d.ts.map +1 -1
  53. package/lib/plans.js +4 -0
  54. package/lib/plans.js.map +1 -1
  55. package/lib/protocol.d.ts +61 -3
  56. package/lib/protocol.d.ts.map +1 -1
  57. package/lib/protocol.js +104 -3
  58. package/lib/protocol.js.map +1 -1
  59. package/lib/protocol.spec.d.ts +7 -0
  60. package/lib/protocol.spec.d.ts.map +1 -0
  61. package/lib/protocol.spec.js +127 -0
  62. package/lib/protocol.spec.js.map +1 -0
  63. package/lib/team-subscription-protocol.d.ts +1 -0
  64. package/lib/team-subscription-protocol.d.ts.map +1 -1
  65. package/lib/team-subscription-protocol.js +4 -0
  66. package/lib/team-subscription-protocol.js.map +1 -1
  67. package/lib/teams-projects-protocol.d.ts +12 -0
  68. package/lib/teams-projects-protocol.d.ts.map +1 -1
  69. package/lib/teams-projects-protocol.js.map +1 -1
  70. package/lib/usage.d.ts +97 -0
  71. package/lib/usage.d.ts.map +1 -0
  72. package/lib/usage.js +14 -0
  73. package/lib/usage.js.map +1 -0
  74. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  75. package/lib/util/garbage-collected-cache.js +5 -0
  76. package/lib/util/garbage-collected-cache.js.map +1 -1
  77. package/lib/util/gitpod-host-url.d.ts +3 -0
  78. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  79. package/lib/util/gitpod-host-url.js +18 -0
  80. package/lib/util/gitpod-host-url.js.map +1 -1
  81. package/lib/util/grpc.d.ts +19 -0
  82. package/lib/util/grpc.d.ts.map +1 -1
  83. package/lib/util/grpc.js +73 -1
  84. package/lib/util/grpc.js.map +1 -1
  85. package/lib/util/logging.spec.d.ts +7 -0
  86. package/lib/util/logging.spec.d.ts.map +1 -0
  87. package/lib/util/logging.spec.js +52 -0
  88. package/lib/util/logging.spec.js.map +1 -0
  89. package/lib/util/timeutil.d.ts +1 -0
  90. package/lib/util/timeutil.d.ts.map +1 -1
  91. package/lib/util/timeutil.js +7 -1
  92. package/lib/util/timeutil.js.map +1 -1
  93. package/lib/util/timeutil.spec.d.ts +1 -0
  94. package/lib/util/timeutil.spec.d.ts.map +1 -1
  95. package/lib/util/timeutil.spec.js +10 -0
  96. package/lib/util/timeutil.spec.js.map +1 -1
  97. package/lib/webhook-event.d.ts +44 -0
  98. package/lib/webhook-event.d.ts.map +1 -0
  99. package/lib/webhook-event.js +8 -0
  100. package/lib/webhook-event.js.map +1 -0
  101. package/lib/workspace-class.d.ts +14 -0
  102. package/lib/workspace-class.d.ts.map +1 -0
  103. package/lib/workspace-class.js +8 -0
  104. package/lib/workspace-class.js.map +1 -0
  105. package/lib/workspace-cluster.d.ts +5 -7
  106. package/lib/workspace-cluster.d.ts.map +1 -1
  107. package/lib/workspace-cluster.js.map +1 -1
  108. package/lib/workspace-instance.d.ts +2 -0
  109. package/lib/workspace-instance.d.ts.map +1 -1
  110. package/lib/wsready.d.ts +3 -3
  111. package/lib/wsready.d.ts.map +1 -1
  112. package/lib/wsready.js +0 -2
  113. package/lib/wsready.js.map +1 -1
  114. package/package.json +5 -2
  115. package/pkg-yarn.lock +3 -2
  116. package/provenance-bundle.jsonl +1 -1
  117. package/src/accounting-protocol.ts +3 -0
  118. package/src/admin-protocol.ts +8 -0
  119. package/src/attribution.ts +48 -0
  120. package/src/billing-mode.ts +67 -0
  121. package/src/blocked-repositories-protocol.ts +13 -0
  122. package/src/experiments/configcat-server.ts +4 -0
  123. package/src/experiments/configcat.ts +10 -5
  124. package/src/experiments/types.ts +10 -7
  125. package/src/gitpod-service.ts +35 -3
  126. package/src/ide-protocol.ts +10 -0
  127. package/src/index.ts +1 -0
  128. package/src/messaging/client-call-metrics.ts +1 -20
  129. package/src/messaging/error.ts +13 -4
  130. package/src/plans.ts +4 -0
  131. package/src/protocol.spec.ts +97 -0
  132. package/src/protocol.ts +163 -5
  133. package/src/team-subscription-protocol.ts +3 -0
  134. package/src/teams-projects-protocol.ts +13 -0
  135. package/src/usage.ts +128 -0
  136. package/src/util/garbage-collected-cache.ts +5 -0
  137. package/src/util/gitpod-host-url.ts +21 -0
  138. package/src/util/grpc.ts +89 -0
  139. package/src/util/logging.spec.ts +23 -0
  140. package/src/util/timeutil.spec.ts +7 -1
  141. package/src/util/timeutil.ts +6 -0
  142. package/src/webhook-event.ts +55 -0
  143. package/src/workspace-class.ts +14 -0
  144. package/src/workspace-cluster.ts +2 -4
  145. package/src/workspace-instance.ts +8 -0
  146. package/src/wsready.ts +5 -4
@@ -261,140 +261,20 @@
261
261
  }
262
262
  },
263
263
  "intellij": {
264
- "type": "object",
265
- "description": "Configure IntelliJ integration",
266
- "additionalProperties": false,
267
- "properties": {
268
- "plugins": {
269
- "type": "array",
270
- "description": "List of plugins which should be installed for users of this workspace. From the JetBrains Marketplace page, find a page of the required plugin, select 'Versions' tab, click any version to copy pluginId (short name such as org.rust.lang) of the plugin you want to install.",
271
- "items": {
272
- "type": "string"
273
- }
274
- },
275
- "prebuilds": {
276
- "type": "object",
277
- "description": "Enable warming up of IntelliJ in prebuilds.",
278
- "additionalProperties": false,
279
- "properties": {
280
- "version": {
281
- "type": "string",
282
- "enum": [
283
- "stable",
284
- "latest",
285
- "both"
286
- ],
287
- "description": "Whether only stable, latest or both versions should be warmed up. Default is stable only."
288
- }
289
- }
290
- },
291
- "vmoptions": {
292
- "type": "string",
293
- "description": "Configure JVM options, for instance '-Xmx=4096m'."
294
- }
295
- }
264
+ "$ref": "#/definitions/jetbrainsProduct",
265
+ "description": "Configure IntelliJ integration"
296
266
  },
297
267
  "goland": {
298
- "type": "object",
299
- "description": "Configure GoLand integration",
300
- "additionalProperties": false,
301
- "properties": {
302
- "plugins": {
303
- "type": "array",
304
- "description": "List of plugins which should be installed for users of this workspace. From the JetBrains Marketplace page, find a page of the required plugin, select 'Versions' tab, click any version to copy pluginId (short name such as org.rust.lang) of the plugin you want to install.",
305
- "items": {
306
- "type": "string"
307
- }
308
- },
309
- "prebuilds": {
310
- "type": "object",
311
- "description": "Enable warming up of GoLand in prebuilds.",
312
- "additionalProperties": false,
313
- "properties": {
314
- "version": {
315
- "type": "string",
316
- "enum": [
317
- "stable",
318
- "latest",
319
- "both"
320
- ],
321
- "description": "Whether only stable, latest or both versions should be warmed up. Default is stable only."
322
- }
323
- }
324
- },
325
- "vmoptions": {
326
- "type": "string",
327
- "description": "Configure JVM options, for instance '-Xmx=4096m'."
328
- }
329
- }
268
+ "$ref": "#/definitions/jetbrainsProduct",
269
+ "description": "Configure GoLand integration"
330
270
  },
331
271
  "pycharm": {
332
- "type": "object",
333
- "description": "Configure PyCharm integration",
334
- "additionalProperties": false,
335
- "properties": {
336
- "plugins": {
337
- "type": "array",
338
- "description": "List of plugins which should be installed for users of this workspace. From the JetBrains Marketplace page, find a page of the required plugin, select 'Versions' tab, click any version to copy pluginId (short name such as org.rust.lang) of the plugin you want to install.",
339
- "items": {
340
- "type": "string"
341
- }
342
- },
343
- "prebuilds": {
344
- "type": "object",
345
- "description": "Enable warming up of PyCharm in prebuilds.",
346
- "additionalProperties": false,
347
- "properties": {
348
- "version": {
349
- "type": "string",
350
- "enum": [
351
- "stable",
352
- "latest",
353
- "both"
354
- ],
355
- "description": "Whether only stable, latest or both versions should be warmed up. Default is stable only."
356
- }
357
- }
358
- },
359
- "vmoptions": {
360
- "type": "string",
361
- "description": "Configure JVM options, for instance '-Xmx=4096m'."
362
- }
363
- }
272
+ "$ref": "#/definitions/jetbrainsProduct",
273
+ "description": "Configure PyCharm integration"
364
274
  },
365
275
  "phpstorm": {
366
- "type": "object",
367
- "description": "Configure PhpStorm integration",
368
- "additionalProperties": false,
369
- "properties": {
370
- "plugins": {
371
- "type": "array",
372
- "description": "List of plugins which should be installed for users of this workspace. From the JetBrains Marketplace page, find a page of the required plugin, select 'Versions' tab, click any version to copy pluginId (short name such as org.rust.lang) of the plugin you want to install.",
373
- "items": {
374
- "type": "string"
375
- }
376
- },
377
- "prebuilds": {
378
- "type": "object",
379
- "description": "Enable warming up of PhpStorm in prebuilds.",
380
- "additionalProperties": false,
381
- "properties": {
382
- "version": {
383
- "type": "string",
384
- "enum": [
385
- "stable",
386
- "latest",
387
- "both"
388
- ],
389
- "description": "Whether only stable, latest or both versions should be warmed up. Default is stable only."
390
- }
391
- }
392
- },
393
- "vmoptions": {
394
- "type": "string",
395
- "description": "Configure JVM options, for instance '-Xmx=4096m'."
396
- }
397
- }
276
+ "$ref": "#/definitions/jetbrainsProduct",
277
+ "description": "Configure PhpStorm integration"
398
278
  }
399
279
  }
400
280
  },
@@ -404,5 +284,40 @@
404
284
  "description": "Experimental network configuration in workspaces (deprecated). Enabled by default"
405
285
  }
406
286
  },
407
- "additionalProperties": false
287
+ "additionalProperties": false,
288
+ "definitions": {
289
+ "jetbrainsProduct": {
290
+ "type": "object",
291
+ "additionalProperties": false,
292
+ "properties": {
293
+ "plugins": {
294
+ "type": "array",
295
+ "description": "List of plugins which should be installed for users of this workspace. From the JetBrains Marketplace page, find a page of the required plugin, select 'Versions' tab, click any version to copy pluginId (short name such as org.rust.lang) of the plugin you want to install.",
296
+ "items": {
297
+ "type": "string"
298
+ }
299
+ },
300
+ "prebuilds": {
301
+ "type": "object",
302
+ "description": "Enable warming up of JetBrains backend in prebuilds.",
303
+ "additionalProperties": false,
304
+ "properties": {
305
+ "version": {
306
+ "type": "string",
307
+ "enum": [
308
+ "stable",
309
+ "latest",
310
+ "both"
311
+ ],
312
+ "description": "Whether only stable, latest or both versions should be warmed up. Default is stable only."
313
+ }
314
+ }
315
+ },
316
+ "vmoptions": {
317
+ "type": "string",
318
+ "description": "Configure JVM options, for instance '-Xmx=4096m'."
319
+ }
320
+ }
321
+ }
322
+ }
408
323
  }
@@ -128,6 +128,7 @@ export declare namespace Subscription {
128
128
  function cancelSubscription(s: Subscription, cancellationDate: string, endDate?: string): void;
129
129
  function isSame(s1: Subscription | undefined, s2: Subscription | undefined): boolean;
130
130
  function isActive(s: Subscription, date: string): boolean;
131
+ function isCancelled(s: Subscription, date: string): boolean;
131
132
  function isDowngraded(s: Subscription): string | undefined;
132
133
  function calculateCurrentPeriod(startDate: string, now: Date): {
133
134
  startDate: string;
@@ -1 +1 @@
1
- {"version":3,"file":"accounting-protocol.d.ts","sourceRoot":"","sources":["../src/accounting-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounting-protocol.d.ts","sourceRoot":"","sources":["../src/accounting-protocol.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,10 @@ var Subscription;
90
90
  return s.startDate <= date && (s.endDate === undefined || date < s.endDate);
91
91
  }
92
92
  Subscription.isActive = isActive;
93
+ function isCancelled(s, date) {
94
+ return (!!s.cancellationDate && s.cancellationDate < date) || (!!s.endDate && s.endDate < date); // This edge case is meant to handle bad data: If for whatever reason cancellationDate has not been set: treat endDate as such
95
+ }
96
+ Subscription.isCancelled = isCancelled;
93
97
  function isDowngraded(s) {
94
98
  return s.paymentData && s.paymentData.downgradeDate;
95
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accounting-protocol.js","sourceRoot":"","sources":["../src/accounting-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+BAAoC;AAEpC,8CAAgD;AAuChD,IAAiB,YAAY,CAM5B;AAND,WAAiB,YAAY;IACzB,SAAgB,MAAM,CAAyB,KAAqB;QAChE,MAAM,MAAM,GAAG,KAAU,CAAC;QAC1B,MAAM,CAAC,GAAG,GAAG,IAAA,SAAM,GAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IAClB,CAAC;IAJe,mBAAM,SAIrB,CAAA;AACL,CAAC,EANgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAM5B;AA2BD,IAAiB,iBAAiB,CAIjC;AAJD,WAAiB,iBAAiB;IAC9B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzF,CAAC;IAFe,oBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAIjC;AAOD,IAAiB,kBAAkB,CAUlC;AAVD,WAAiB,kBAAkB;IAC/B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,CACH,CAAC,CAAC,GAAG;YACL,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;YAClC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC;YAChC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC;YACjC,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAC5C,CAAC;IACN,CAAC;IARe,qBAAE,KAQjB,CAAA;AACL,CAAC,EAVgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAUlC;AA6CD,IAAiB,oBAAoB,CAIpC;AAJD,WAAiB,oBAAoB;IACjC,SAAgB,EAAE,CAAC,IAAS;QACxB,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAFe,uBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAIpC;AAKD,IAAiB,wBAAwB,CAIxC;AAJD,WAAiB,wBAAwB;IACrC,SAAgB,EAAE,CAAC,IAAS;QACxB,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACnE,CAAC;IAFe,2BAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAIxC;AAKD,IAAiB,yBAAyB,CAIzC;AAJD,WAAiB,yBAAyB;IACtC,SAAgB,EAAE,CAAC,IAAS;QACxB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC/E,CAAC;IAFe,4BAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAIzC;AAED,IAAiB,YAAY,CA0C5B;AA1CD,WAAiB,YAAY;IACzB,SAAgB,MAAM,CAAC,eAA0C;QAC7D,MAAM,YAAY,GAAG,eAA+B,CAAC;QACrD,YAAY,CAAC,GAAG,GAAG,IAAA,SAAM,GAAE,CAAC;QAC5B,OAAO,YAAY,CAAC;IACxB,CAAC;IAJe,mBAAM,SAIrB,CAAA;IACD,SAAgB,kBAAkB,CAAC,CAAe,EAAE,gBAAwB,EAAE,OAAgB;QAC1F,CAAC,CAAC,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAAC;QACxC,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IAHe,+BAAkB,qBAGjC,CAAA;IACD,SAAgB,MAAM,CAAC,EAA4B,EAAE,EAA4B;QAC7E,OAAO,CACH,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE;YACJ,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YACvB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YACvB,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS;YAC7B,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO;YACzB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YACvB,EAAE,CAAC,gBAAgB,KAAK,EAAE,CAAC,gBAAgB;YAC3C,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO;YACzB,CAAC,CAAC,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC;gBAC3D,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW;oBACb,CAAC,CAAC,EAAE,CAAC,WAAW;oBAChB,EAAE,CAAC,WAAW,CAAC,aAAa,KAAK,EAAE,CAAC,WAAW,CAAC,aAAa;oBAC7D,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;IACN,CAAC;IAjBe,mBAAM,SAiBrB,CAAA;IACD,SAAgB,QAAQ,CAAC,CAAe,EAAE,IAAY;QAClD,OAAO,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAFe,qBAAQ,WAEvB,CAAA;IACD,SAAgB,YAAY,CAAC,CAAe;QACxC,OAAO,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACxD,CAAC;IAFe,yBAAY,eAE3B,CAAA;IACD,SAAgB,sBAAsB,CAAC,SAAiB,EAAE,GAAS;QAC/D,IAAI,aAAa,GAAG,SAAS,CAAC;QAC9B,GAAG;YACC,SAAS,GAAG,aAAa,CAAC;YAC1B,aAAa,GAAG,IAAA,wBAAa,EAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC3E,QAAQ,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE;QAC5C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACjD,CAAC;IAPe,mCAAsB,yBAOrC,CAAA;AACL,CAAC,EA1CgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QA0C5B"}
1
+ {"version":3,"file":"accounting-protocol.js","sourceRoot":"","sources":["../src/accounting-protocol.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  import { User, Workspace, NamedWorkspaceFeatureFlag } from "./protocol";
7
+ import { BlockedRepository } from "./blocked-repositories-protocol";
7
8
  import { FindPrebuildsParams } from "./gitpod-service";
8
9
  import { Project, Team, PrebuildWithStatus, TeamMemberInfo, TeamMemberRole } from "./teams-projects-protocol";
9
10
  import { WorkspaceInstance, WorkspaceInstancePhase } from "./workspace-instance";
@@ -15,8 +16,12 @@ export interface AdminServer {
15
16
  adminGetUser(id: string): Promise<User>;
16
17
  adminBlockUser(req: AdminBlockUserRequest): Promise<User>;
17
18
  adminDeleteUser(id: string): Promise<void>;
19
+ adminVerifyUser(id: string): Promise<User>;
18
20
  adminModifyRoleOrPermission(req: AdminModifyRoleOrPermissionRequest): Promise<User>;
19
21
  adminModifyPermanentWorkspaceFeatureFlag(req: AdminModifyPermanentWorkspaceFeatureFlagRequest): Promise<User>;
22
+ adminCreateBlockedRepository(urlRegexp: string, blockUser: boolean): Promise<BlockedRepository>;
23
+ adminDeleteBlockedRepository(id: number): Promise<void>;
24
+ adminGetBlockedRepositories(req: AdminGetListRequest<BlockedRepository>): Promise<AdminGetListResult<BlockedRepository>>;
20
25
  adminGetTeamMembers(teamId: string): Promise<TeamMemberInfo[]>;
21
26
  adminGetTeams(req: AdminGetListRequest<Team>): Promise<AdminGetListResult<Team>>;
22
27
  adminGetTeamById(id: string): Promise<Team | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-protocol.d.ts","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-protocol.d.ts","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-protocol.js","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAwFH,IAAiB,oBAAoB,CAmBpC;AAnBD,WAAiB,oBAAoB;IACjC,SAAgB,WAAW,CAAC,GAAyB;QACjD,uBACI,EAAE,EAAE,GAAG,CAAC,WAAW,EACnB,YAAY,EAAE,GAAG,CAAC,qBAAqB,IACpC,GAAG,EACR;IACN,CAAC;IANe,gCAAW,cAM1B,CAAA;IAED,SAAgB,UAAU,CAAC,GAAyB;QAChD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QACD,uBACI,EAAE,EAAE,GAAG,CAAC,UAAU,EAClB,YAAY,EAAE,GAAG,CAAC,oBAAoB,IACnC,GAAG,EACR;IACN,CAAC;IATe,+BAAU,aASzB,CAAA;AACL,CAAC,EAnBgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAmBpC"}
1
+ {"version":3,"file":"admin-protocol.js","sourceRoot":"","sources":["../src/admin-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAgGH,IAAiB,oBAAoB,CAmBpC;AAnBD,WAAiB,oBAAoB;IACjC,SAAgB,WAAW,CAAC,GAAyB;QACjD,uBACI,EAAE,EAAE,GAAG,CAAC,WAAW,EACnB,YAAY,EAAE,GAAG,CAAC,qBAAqB,IACpC,GAAG,EACR;IACN,CAAC;IANe,gCAAW,cAM1B,CAAA;IAED,SAAgB,UAAU,CAAC,GAAyB;QAChD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QACD,uBACI,EAAE,EAAE,GAAG,CAAC,UAAU,EAClB,YAAY,EAAE,GAAG,CAAC,oBAAoB,IACnC,GAAG,EACR;IACN,CAAC;IATe,+BAAU,aASzB,CAAA;AACL,CAAC,EAnBgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAmBpC"}
@@ -0,0 +1,20 @@
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
+ export declare type AttributionId = UserAttributionId | TeamAttributionId;
7
+ export declare type AttributionTarget = "user" | "team";
8
+ export interface UserAttributionId {
9
+ kind: "user";
10
+ userId: string;
11
+ }
12
+ export interface TeamAttributionId {
13
+ kind: "team";
14
+ teamId: string;
15
+ }
16
+ export declare namespace AttributionId {
17
+ function parse(s: string): UserAttributionId | TeamAttributionId | undefined;
18
+ function render(id: AttributionId): string;
19
+ }
20
+ //# sourceMappingURL=attribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAClE,oBAAY,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,yBAAiB,aAAa,CAAC;IAG3B,SAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,SAAS,CAgBlF;IAED,SAAgB,MAAM,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAOhD;CACJ"}
@@ -0,0 +1,40 @@
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.AttributionId = void 0;
9
+ var AttributionId;
10
+ (function (AttributionId) {
11
+ const SEPARATOR = ":";
12
+ function parse(s) {
13
+ if (!s) {
14
+ return undefined;
15
+ }
16
+ const parts = s.split(":");
17
+ if (parts.length !== 2) {
18
+ return undefined;
19
+ }
20
+ switch (parts[0]) {
21
+ case "user":
22
+ return { kind: "user", userId: parts[1] };
23
+ case "team":
24
+ return { kind: "team", teamId: parts[1] };
25
+ default:
26
+ return undefined;
27
+ }
28
+ }
29
+ AttributionId.parse = parse;
30
+ function render(id) {
31
+ switch (id.kind) {
32
+ case "user":
33
+ return `user${SEPARATOR}${id.userId}`;
34
+ case "team":
35
+ return `team${SEPARATOR}${id.teamId}`;
36
+ }
37
+ }
38
+ AttributionId.render = render;
39
+ })(AttributionId = exports.AttributionId || (exports.AttributionId = {}));
40
+ //# sourceMappingURL=attribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.js","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAcH,IAAiB,aAAa,CA6B7B;AA7BD,WAAiB,aAAa;IAC1B,MAAM,SAAS,GAAG,GAAG,CAAC;IAEtB,SAAgB,KAAK,CAAC,CAAS;QAC3B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,SAAS,CAAC;SACpB;QACD,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE;YACd,KAAK,MAAM;gBACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM;gBACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C;gBACI,OAAO,SAAS,CAAC;SACxB;IACL,CAAC;IAhBe,mBAAK,QAgBpB,CAAA;IAED,SAAgB,MAAM,CAAC,EAAiB;QACpC,QAAQ,EAAE,CAAC,IAAI,EAAE;YACb,KAAK,MAAM;gBACP,OAAO,OAAO,SAAS,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,MAAM;gBACP,OAAO,OAAO,SAAS,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;SAC7C;IACL,CAAC;IAPe,oBAAM,SAOrB,CAAA;AACL,CAAC,EA7BgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QA6B7B"}
@@ -0,0 +1,40 @@
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
+ /**
7
+ * BillingMode is used to answer the following questions:
8
+ * - Should UI piece x be displayed for this user/team? (getBillingModeForUser/Team)
9
+ * - What model should be used to limit this workspace's capabilities (mayStartWorkspace, setTimeout, workspace class, etc...) (getBillingMode(workspaceInstance.attributionId))
10
+ * - How is a workspace session charged for? (getBillingMode(workspaceInstance.attributionId))
11
+ */
12
+ export declare type BillingMode = None | Chargebee | UsageBased;
13
+ export declare namespace BillingMode {
14
+ const NONE: None;
15
+ /** Incl. upgrade and status */
16
+ function showUsageBasedBilling(billingMode?: BillingMode): boolean;
17
+ function canSetWorkspaceClass(billingMode?: BillingMode): boolean;
18
+ function canSetCostCenter(billingMode: BillingMode): boolean;
19
+ }
20
+ /** Payment is disabled */
21
+ interface None {
22
+ mode: "none";
23
+ }
24
+ /** Sessions is handled with old subscription logic based on Chargebee */
25
+ interface Chargebee {
26
+ mode: "chargebee";
27
+ canUpgradeToUBB?: boolean;
28
+ }
29
+ /** Session is handld with new usage-based logic */
30
+ interface UsageBased {
31
+ mode: "usage-based";
32
+ /** True iff this is a team, and is based on a paid plan. Currently only set for teams! */
33
+ paid?: boolean;
34
+ /** User is already converted, but is member with at least one Chargebee-based "Team Plan" */
35
+ hasChargebeeTeamPlan?: boolean;
36
+ /** User is already converted, but is member in at least one Chargebee-based "Team Subscription" */
37
+ hasChargebeeTeamSubscription?: boolean;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=billing-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-mode.d.ts","sourceRoot":"","sources":["../src/billing-mode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,oBAAY,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC;AACxD,yBAAiB,WAAW,CAAC;IAClB,MAAM,IAAI,EAAE,IAElB,CAAC;IAEF,+BAA+B;IAC/B,SAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAOxE;IAED,SAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAOvE;IAED,SAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAGlE;CACJ;AAED,0BAA0B;AAC1B,UAAU,IAAI;IACV,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,yEAAyE;AACzE,UAAU,SAAS;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,mDAAmD;AACnD,UAAU,UAAU;IAChB,IAAI,EAAE,aAAa,CAAC;IAEpB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,mGAAmG;IACnG,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C"}
@@ -0,0 +1,36 @@
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.BillingMode = void 0;
9
+ var BillingMode;
10
+ (function (BillingMode) {
11
+ BillingMode.NONE = {
12
+ mode: "none",
13
+ };
14
+ /** Incl. upgrade and status */
15
+ function showUsageBasedBilling(billingMode) {
16
+ if (!billingMode) {
17
+ return false;
18
+ }
19
+ return (billingMode.mode === "usage-based" || (billingMode.mode === "chargebee" && !!billingMode.canUpgradeToUBB));
20
+ }
21
+ BillingMode.showUsageBasedBilling = showUsageBasedBilling;
22
+ function canSetWorkspaceClass(billingMode) {
23
+ if (!billingMode) {
24
+ return false;
25
+ }
26
+ // if has any Stripe subscription, either directly or per team
27
+ return billingMode.mode === "usage-based";
28
+ }
29
+ BillingMode.canSetWorkspaceClass = canSetWorkspaceClass;
30
+ function canSetCostCenter(billingMode) {
31
+ // if has any Stripe Subscription, either directly or per team
32
+ return billingMode.mode === "usage-based";
33
+ }
34
+ BillingMode.canSetCostCenter = canSetCostCenter;
35
+ })(BillingMode = exports.BillingMode || (exports.BillingMode = {}));
36
+ //# sourceMappingURL=billing-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-mode.js","sourceRoot":"","sources":["../src/billing-mode.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AASH,IAAiB,WAAW,CA4B3B;AA5BD,WAAiB,WAAW;IACX,gBAAI,GAAS;QACtB,IAAI,EAAE,MAAM;KACf,CAAC;IAEF,+BAA+B;IAC/B,SAAgB,qBAAqB,CAAC,WAAyB;QAC3D,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CACH,WAAW,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAC5G,CAAC;IACN,CAAC;IAPe,iCAAqB,wBAOpC,CAAA;IAED,SAAgB,oBAAoB,CAAC,WAAyB;QAC1D,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,KAAK,CAAC;SAChB;QAED,8DAA8D;QAC9D,OAAO,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC;IAC9C,CAAC;IAPe,gCAAoB,uBAOnC,CAAA;IAED,SAAgB,gBAAgB,CAAC,WAAwB;QACrD,8DAA8D;QAC9D,OAAO,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC;IAC9C,CAAC;IAHe,4BAAgB,mBAG/B,CAAA;AACL,CAAC,EA5BgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QA4B3B"}
@@ -0,0 +1,13 @@
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
+ export interface BlockedRepository {
7
+ id: number;
8
+ urlRegexp: string;
9
+ blockUser: boolean;
10
+ createdAt: string;
11
+ updatedAt: string;
12
+ }
13
+ //# sourceMappingURL=blocked-repositories-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocked-repositories-protocol.d.ts","sourceRoot":"","sources":["../src/blocked-repositories-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,8 @@
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
+ //# sourceMappingURL=blocked-repositories-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocked-repositories-protocol.js","sourceRoot":"","sources":["../src/blocked-repositories-protocol.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -4,5 +4,7 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  import { Client } from "./types";
7
+ export declare type ConfigCatClientFactory = () => Client;
8
+ export declare const ConfigCatClientFactory: unique symbol;
7
9
  export declare function getExperimentsClientForBackend(): Client;
8
10
  //# sourceMappingURL=configcat-server.d.ts.map
@@ -1 +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"}
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,oBAAY,sBAAsB,GAAG,MAAM,MAAM,CAAC;AAClD,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,wBAAgB,8BAA8B,IAAI,MAAM,CAuBvD"}
@@ -5,12 +5,13 @@
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.getExperimentsClientForBackend = void 0;
8
+ exports.getExperimentsClientForBackend = exports.ConfigCatClientFactory = void 0;
9
9
  const configcat = require("configcat-node");
10
10
  const configcat_common_1 = require("configcat-common");
11
11
  const configcat_1 = require("./configcat");
12
12
  const always_default_1 = require("./always-default");
13
13
  let client;
14
+ exports.ConfigCatClientFactory = Symbol("ConfigCatClientFactory");
14
15
  function getExperimentsClientForBackend() {
15
16
  // We have already instantiated a client, we can just re-use it.
16
17
  if (client !== undefined) {
@@ -24,6 +25,7 @@ function getExperimentsClientForBackend() {
24
25
  return client;
25
26
  }
26
27
  const configCatClient = configcat.createClient(sdkKey, {
28
+ pollIntervalSeconds: 3 * 60,
27
29
  logger: configcat.createConsoleLogger(configcat_common_1.LogLevel.Error),
28
30
  maxInitWaitTimeSeconds: 0,
29
31
  });
@@ -1 +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"}
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;AAGlB,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEvE,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,mBAAmB,EAAE,CAAC,GAAG,EAAE;QAC3B,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;AAvBD,wEAuBC"}
@@ -4,8 +4,9 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  import { Attributes, Client } from "./types";
7
- import { User } from "configcat-common/lib/RolloutEvaluator";
7
+ import { User as ConfigCatUser } from "configcat-common/lib/RolloutEvaluator";
8
8
  import { IConfigCatClient } from "configcat-common/lib/ConfigCatClient";
9
+ export declare const USER_ID_ATTRIBUTE = "user_id";
9
10
  export declare const PROJECT_ID_ATTRIBUTE = "project_id";
10
11
  export declare const TEAM_ID_ATTRIBUTE = "team_id";
11
12
  export declare const TEAM_IDS_ATTRIBUTE = "team_ids";
@@ -17,5 +18,5 @@ export declare class ConfigCatClient implements Client {
17
18
  getValueAsync<T>(experimentName: string, defaultValue: T, attributes: Attributes): Promise<T>;
18
19
  dispose(): void;
19
20
  }
20
- export declare function attributesToUser(attributes: Attributes): User;
21
+ export declare function attributesToUser(attributes: Attributes): ConfigCatUser;
21
22
  //# sourceMappingURL=configcat.d.ts.map
@@ -1 +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"}
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,IAAI,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,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,aAAa,CAuBtE"}
@@ -5,8 +5,10 @@
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
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;
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 = exports.USER_ID_ATTRIBUTE = void 0;
9
9
  const RolloutEvaluator_1 = require("configcat-common/lib/RolloutEvaluator");
10
+ const protocol_1 = require("../protocol");
11
+ exports.USER_ID_ATTRIBUTE = "user_id";
10
12
  exports.PROJECT_ID_ATTRIBUTE = "project_id";
11
13
  exports.TEAM_ID_ATTRIBUTE = "team_id";
12
14
  exports.TEAM_IDS_ATTRIBUTE = "team_ids";
@@ -25,9 +27,13 @@ class ConfigCatClient {
25
27
  }
26
28
  exports.ConfigCatClient = ConfigCatClient;
27
29
  function attributesToUser(attributes) {
28
- const userId = attributes.userId || "";
29
- const email = attributes.email || "";
30
+ var _a, _b;
31
+ const userId = ((_a = attributes.user) === null || _a === void 0 ? void 0 : _a.id) || "";
32
+ const email = protocol_1.User.is(attributes.user) ? protocol_1.User.getPrimaryEmail(attributes.user) : ((_b = attributes.user) === null || _b === void 0 ? void 0 : _b.email) || "";
30
33
  const custom = {};
34
+ if (userId) {
35
+ custom[exports.USER_ID_ATTRIBUTE] = userId;
36
+ }
31
37
  if (attributes.projectId) {
32
38
  custom[exports.PROJECT_ID_ATTRIBUTE] = attributes.projectId;
33
39
  }
@@ -1 +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"}
1
+ {"version":3,"file":"configcat.js","sourceRoot":"","sources":["../../src/experiments/configcat.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,4EAA8E;AAE9E,0CAAmC;AAEtB,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,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,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,EAAE,KAAI,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,eAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,KAAK,KAAI,EAAE,CAAC;IAE9G,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,IAAI,MAAM,EAAE;QACR,MAAM,CAAC,yBAAiB,CAAC,GAAG,MAAM,CAAC;KACtC;IACD,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,uBAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAvBD,4CAuBC"}
@@ -3,14 +3,18 @@
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
+ import { User } from "../protocol";
6
7
  import { Team } from "../teams-projects-protocol";
8
+ export declare const Client: unique symbol;
7
9
  export interface Attributes {
8
- userId?: string;
9
- email?: string;
10
+ user?: User | {
11
+ id: string;
12
+ email?: string;
13
+ };
10
14
  projectId?: string;
11
15
  teamId?: string;
12
16
  teamName?: string;
13
- teams?: Array<Team>;
17
+ teams?: Team[];
14
18
  }
15
19
  export interface Client {
16
20
  getValueAsync<T>(experimentName: string, defaultValue: T, attributes: Attributes): Promise<T>;