@finos/legend-application-studio 28.21.45 → 28.21.46

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 (138) hide show
  1. package/lib/__lib__/LegendStudioEvent.d.ts +55 -1
  2. package/lib/__lib__/LegendStudioEvent.d.ts.map +1 -1
  3. package/lib/__lib__/LegendStudioEvent.js +77 -0
  4. package/lib/__lib__/LegendStudioEvent.js.map +1 -1
  5. package/lib/__lib__/LegendStudioTelemetryHelper.d.ts +491 -1
  6. package/lib/__lib__/LegendStudioTelemetryHelper.d.ts.map +1 -1
  7. package/lib/__lib__/LegendStudioTelemetryHelper.js +594 -1
  8. package/lib/__lib__/LegendStudioTelemetryHelper.js.map +1 -1
  9. package/lib/components/editor/side-bar/WorkflowManager.d.ts.map +1 -1
  10. package/lib/components/editor/side-bar/WorkflowManager.js +15 -0
  11. package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -1
  12. package/lib/index.css +1 -1
  13. package/lib/index.d.ts +1 -1
  14. package/lib/index.d.ts.map +1 -1
  15. package/lib/index.js +1 -1
  16. package/lib/index.js.map +1 -1
  17. package/lib/package.json +1 -1
  18. package/lib/stores/editor/EditorGraphState.d.ts.map +1 -1
  19. package/lib/stores/editor/EditorGraphState.js +17 -1
  20. package/lib/stores/editor/EditorGraphState.js.map +1 -1
  21. package/lib/stores/editor/EditorStore.d.ts.map +1 -1
  22. package/lib/stores/editor/EditorStore.js +10 -0
  23. package/lib/stores/editor/EditorStore.js.map +1 -1
  24. package/lib/stores/editor/EditorTabManagerState.d.ts +18 -1
  25. package/lib/stores/editor/EditorTabManagerState.d.ts.map +1 -1
  26. package/lib/stores/editor/EditorTabManagerState.js +90 -1
  27. package/lib/stores/editor/EditorTabManagerState.js.map +1 -1
  28. package/lib/stores/editor/EditorTabTelemetryHelper.d.ts +31 -0
  29. package/lib/stores/editor/EditorTabTelemetryHelper.d.ts.map +1 -0
  30. package/lib/stores/editor/EditorTabTelemetryHelper.js +55 -0
  31. package/lib/stores/editor/EditorTabTelemetryHelper.js.map +1 -0
  32. package/lib/stores/editor/GraphEditFormModeState.d.ts.map +1 -1
  33. package/lib/stores/editor/GraphEditFormModeState.js +11 -1
  34. package/lib/stores/editor/GraphEditFormModeState.js.map +1 -1
  35. package/lib/stores/editor/editor-state/GraphGenerationState.d.ts.map +1 -1
  36. package/lib/stores/editor/editor-state/GraphGenerationState.js +25 -0
  37. package/lib/stores/editor/editor-state/GraphGenerationState.js.map +1 -1
  38. package/lib/stores/editor/editor-state/ModelImporterState.d.ts.map +1 -1
  39. package/lib/stores/editor/editor-state/ModelImporterState.js +2 -1
  40. package/lib/stores/editor/editor-state/ModelImporterState.js.map +1 -1
  41. package/lib/stores/editor/editor-state/element-editor-state/ElementExternalFormatGenerationState.d.ts.map +1 -1
  42. package/lib/stores/editor/editor-state/element-editor-state/ElementExternalFormatGenerationState.js +14 -0
  43. package/lib/stores/editor/editor-state/element-editor-state/ElementExternalFormatGenerationState.js.map +1 -1
  44. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.d.ts +5 -0
  45. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.d.ts.map +1 -1
  46. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.js +13 -0
  47. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.js.map +1 -1
  48. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.d.ts +5 -0
  49. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.d.ts.map +1 -1
  50. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.js +13 -0
  51. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.js.map +1 -1
  52. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts +7 -0
  53. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts.map +1 -1
  54. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js +19 -0
  55. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js.map +1 -1
  56. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestTestableState.d.ts +5 -0
  57. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestTestableState.d.ts.map +1 -1
  58. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestTestableState.js +13 -0
  59. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestTestableState.js.map +1 -1
  60. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts +7 -0
  61. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts.map +1 -1
  62. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js +34 -0
  63. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js.map +1 -1
  64. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
  65. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js +29 -0
  66. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
  67. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  68. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +2 -0
  69. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  70. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts +3 -0
  71. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts.map +1 -1
  72. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js +7 -0
  73. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js.map +1 -1
  74. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts.map +1 -1
  75. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js +46 -17
  76. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -1
  77. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts +7 -0
  78. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts.map +1 -1
  79. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js +110 -16
  80. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -1
  81. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts +2 -1
  82. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts.map +1 -1
  83. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js +10 -4
  84. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js.map +1 -1
  85. package/lib/stores/editor/sidebar-state/BulkServiceRegistrationState.d.ts.map +1 -1
  86. package/lib/stores/editor/sidebar-state/BulkServiceRegistrationState.js +11 -0
  87. package/lib/stores/editor/sidebar-state/BulkServiceRegistrationState.js.map +1 -1
  88. package/lib/stores/editor/sidebar-state/ProjectOverviewState.d.ts.map +1 -1
  89. package/lib/stores/editor/sidebar-state/ProjectOverviewState.js +51 -0
  90. package/lib/stores/editor/sidebar-state/ProjectOverviewState.js.map +1 -1
  91. package/lib/stores/editor/sidebar-state/WorkflowManagerState.d.ts +14 -0
  92. package/lib/stores/editor/sidebar-state/WorkflowManagerState.d.ts.map +1 -1
  93. package/lib/stores/editor/sidebar-state/WorkflowManagerState.js +141 -26
  94. package/lib/stores/editor/sidebar-state/WorkflowManagerState.js.map +1 -1
  95. package/lib/stores/editor/sidebar-state/WorkspaceReviewState.d.ts.map +1 -1
  96. package/lib/stores/editor/sidebar-state/WorkspaceReviewState.js +41 -0
  97. package/lib/stores/editor/sidebar-state/WorkspaceReviewState.js.map +1 -1
  98. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.d.ts.map +1 -1
  99. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.js +71 -9
  100. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.js.map +1 -1
  101. package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts.map +1 -1
  102. package/lib/stores/project-reviewer/ProjectReviewerStore.js +45 -0
  103. package/lib/stores/project-reviewer/ProjectReviewerStore.js.map +1 -1
  104. package/lib/stores/workspace-setup/WorkspaceSetupStore.d.ts.map +1 -1
  105. package/lib/stores/workspace-setup/WorkspaceSetupStore.js +48 -4
  106. package/lib/stores/workspace-setup/WorkspaceSetupStore.js.map +1 -1
  107. package/package.json +9 -9
  108. package/src/__lib__/LegendStudioEvent.ts +88 -0
  109. package/src/__lib__/LegendStudioTelemetryHelper.ts +1389 -204
  110. package/src/components/editor/side-bar/WorkflowManager.tsx +24 -0
  111. package/src/index.ts +4 -1
  112. package/src/stores/editor/EditorGraphState.ts +30 -1
  113. package/src/stores/editor/EditorStore.ts +19 -0
  114. package/src/stores/editor/EditorTabManagerState.ts +128 -1
  115. package/src/stores/editor/EditorTabTelemetryHelper.ts +70 -0
  116. package/src/stores/editor/GraphEditFormModeState.ts +19 -1
  117. package/src/stores/editor/editor-state/GraphGenerationState.ts +53 -0
  118. package/src/stores/editor/editor-state/ModelImporterState.ts +2 -0
  119. package/src/stores/editor/editor-state/element-editor-state/ElementExternalFormatGenerationState.ts +30 -0
  120. package/src/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.ts +17 -0
  121. package/src/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.ts +17 -0
  122. package/src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts +25 -0
  123. package/src/stores/editor/editor-state/element-editor-state/ingest/IngestTestableState.ts +17 -0
  124. package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts +57 -0
  125. package/src/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.ts +56 -0
  126. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +10 -0
  127. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.ts +9 -0
  128. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +78 -21
  129. package/src/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.ts +205 -18
  130. package/src/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.ts +38 -3
  131. package/src/stores/editor/sidebar-state/BulkServiceRegistrationState.ts +27 -0
  132. package/src/stores/editor/sidebar-state/ProjectOverviewState.ts +114 -0
  133. package/src/stores/editor/sidebar-state/WorkflowManagerState.ts +259 -29
  134. package/src/stores/editor/sidebar-state/WorkspaceReviewState.ts +84 -0
  135. package/src/stores/editor/sidebar-state/testable/GlobalTestRunnerState.ts +124 -17
  136. package/src/stores/project-reviewer/ProjectReviewerStore.ts +97 -0
  137. package/src/stores/workspace-setup/WorkspaceSetupStore.ts +87 -4
  138. package/tsconfig.json +1 -0
@@ -16,6 +16,10 @@
16
16
 
17
17
  import { observable, action, flowResult, makeObservable, flow } from 'mobx';
18
18
  import { LEGEND_STUDIO_APP_EVENT } from '../../__lib__/LegendStudioEvent.js';
19
+ import {
20
+ LegendStudioTelemetryHelper,
21
+ SETUP_ACTION,
22
+ } from '../../__lib__/LegendStudioTelemetryHelper.js';
19
23
  import {
20
24
  type GeneratorFn,
21
25
  type PlainObject,
@@ -305,11 +309,16 @@ export class WorkspaceSetupStore {
305
309
  }
306
310
 
307
311
  *createSandboxProject(): GeneratorFn<void> {
312
+ if (!this.hasSandboxAccess) {
313
+ this.setSandboxModal(true);
314
+ return;
315
+ }
316
+ const startTime = Date.now();
317
+ LegendStudioTelemetryHelper.logEvent_SetupActionLaunched(
318
+ this.applicationStore.telemetryService,
319
+ { action: SETUP_ACTION.CREATE_SANDBOX_PROJECT },
320
+ );
308
321
  try {
309
- if (!this.hasSandboxAccess) {
310
- this.setSandboxModal(true);
311
- return;
312
- }
313
322
  // create sandbox project and pilot workspace
314
323
  this.applicationStore.alertService.setBlockingAlert({
315
324
  message: 'Creating sandbox project...',
@@ -355,12 +364,27 @@ export class WorkspaceSetupStore {
355
364
  this.applicationStore.notificationService.notifySuccess(
356
365
  `Sandbox project with workspace created`,
357
366
  );
367
+ LegendStudioTelemetryHelper.logEvent_SetupActionSucceeded(
368
+ this.applicationStore.telemetryService,
369
+ {
370
+ action: SETUP_ACTION.CREATE_SANDBOX_PROJECT,
371
+ projectId: sandbox.projectId,
372
+ durationMs: Date.now() - startTime,
373
+ },
374
+ );
358
375
  } catch (error) {
359
376
  assertErrorThrown(error);
360
377
  this.applicationStore.logService.error(
361
378
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.ENGINE_MANAGER_FAILURE),
362
379
  error,
363
380
  );
381
+ LegendStudioTelemetryHelper.logEvent_SetupActionFailure(
382
+ this.applicationStore.telemetryService,
383
+ {
384
+ action: SETUP_ACTION.CREATE_SANDBOX_PROJECT,
385
+ errorMessage: error.message,
386
+ },
387
+ );
364
388
  this.applicationStore.notificationService.notifyError(error);
365
389
  } finally {
366
390
  this.applicationStore.alertService.setBlockingAlert(undefined);
@@ -843,6 +867,11 @@ export class WorkspaceSetupStore {
843
867
  tags: string[] = [],
844
868
  ): GeneratorFn<void> {
845
869
  this.createOrImportProjectState.inProgress();
870
+ const startTime = Date.now();
871
+ LegendStudioTelemetryHelper.logEvent_SetupActionLaunched(
872
+ this.applicationStore.telemetryService,
873
+ { action: SETUP_ACTION.CREATE_PROJECT },
874
+ );
846
875
  try {
847
876
  const createdProject = Project.serialization.fromJson(
848
877
  (yield this.sdlcServerClient.createProject({
@@ -862,8 +891,23 @@ export class WorkspaceSetupStore {
862
891
  yield flowResult(this.changeProject(createdProject));
863
892
 
864
893
  this.setShowCreateProjectModal(false);
894
+ LegendStudioTelemetryHelper.logEvent_SetupActionSucceeded(
895
+ this.applicationStore.telemetryService,
896
+ {
897
+ action: SETUP_ACTION.CREATE_PROJECT,
898
+ projectId: createdProject.projectId,
899
+ durationMs: Date.now() - startTime,
900
+ },
901
+ );
865
902
  } catch (error) {
866
903
  assertErrorThrown(error);
904
+ LegendStudioTelemetryHelper.logEvent_SetupActionFailure(
905
+ this.applicationStore.telemetryService,
906
+ {
907
+ action: SETUP_ACTION.CREATE_PROJECT,
908
+ errorMessage: error.message,
909
+ },
910
+ );
867
911
  this.applicationStore.notificationService.notifyError(error);
868
912
  } finally {
869
913
  this.createOrImportProjectState.reset();
@@ -876,6 +920,11 @@ export class WorkspaceSetupStore {
876
920
  artifactId: string,
877
921
  ): GeneratorFn<void> {
878
922
  this.createOrImportProjectState.inProgress();
923
+ const startTime = Date.now();
924
+ LegendStudioTelemetryHelper.logEvent_SetupActionLaunched(
925
+ this.applicationStore.telemetryService,
926
+ { action: SETUP_ACTION.IMPORT_PROJECT },
927
+ );
879
928
  try {
880
929
  const report = ImportReport.serialization.fromJson(
881
930
  (yield this.sdlcServerClient.importProject({
@@ -900,8 +949,23 @@ export class WorkspaceSetupStore {
900
949
  this.searchCache.clear();
901
950
 
902
951
  yield flowResult(this.changeProject(report.project));
952
+ LegendStudioTelemetryHelper.logEvent_SetupActionSucceeded(
953
+ this.applicationStore.telemetryService,
954
+ {
955
+ action: SETUP_ACTION.IMPORT_PROJECT,
956
+ projectId: report.project.projectId,
957
+ durationMs: Date.now() - startTime,
958
+ },
959
+ );
903
960
  } catch (error) {
904
961
  assertErrorThrown(error);
962
+ LegendStudioTelemetryHelper.logEvent_SetupActionFailure(
963
+ this.applicationStore.telemetryService,
964
+ {
965
+ action: SETUP_ACTION.IMPORT_PROJECT,
966
+ errorMessage: error.message,
967
+ },
968
+ );
905
969
  this.applicationStore.notificationService.notifyError(error);
906
970
  } finally {
907
971
  this.createOrImportProjectState.reset();
@@ -915,6 +979,17 @@ export class WorkspaceSetupStore {
915
979
  workspaceType: WorkspaceType,
916
980
  ): GeneratorFn<void> {
917
981
  this.createWorkspaceState.inProgress();
982
+ const startTime = Date.now();
983
+ const identity = {
984
+ action: SETUP_ACTION.CREATE_WORKSPACE,
985
+ projectId,
986
+ workspaceType,
987
+ hasPatchReleaseVersion: patchReleaseVersionId !== undefined,
988
+ };
989
+ LegendStudioTelemetryHelper.logEvent_SetupActionLaunched(
990
+ this.applicationStore.telemetryService,
991
+ identity,
992
+ );
918
993
  try {
919
994
  const newWorkspace = Workspace.serialization.fromJson(
920
995
  (yield this.sdlcServerClient.createWorkspace(
@@ -944,12 +1019,20 @@ export class WorkspaceSetupStore {
944
1019
  if (!matchingWorkspace) {
945
1020
  this.workspaces.push(newWorkspace);
946
1021
  }
1022
+ LegendStudioTelemetryHelper.logEvent_SetupActionSucceeded(
1023
+ this.applicationStore.telemetryService,
1024
+ { ...identity, durationMs: Date.now() - startTime },
1025
+ );
947
1026
  } catch (error) {
948
1027
  assertErrorThrown(error);
949
1028
  this.applicationStore.logService.error(
950
1029
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.WORKSPACE_SETUP_FAILURE),
951
1030
  error,
952
1031
  );
1032
+ LegendStudioTelemetryHelper.logEvent_SetupActionFailure(
1033
+ this.applicationStore.telemetryService,
1034
+ { ...identity, errorMessage: error.message },
1035
+ );
953
1036
  this.applicationStore.notificationService.notifyError(error);
954
1037
  } finally {
955
1038
  this.createWorkspaceState.reset();
package/tsconfig.json CHANGED
@@ -88,6 +88,7 @@
88
88
  "./src/stores/editor/EditorSDLCState.ts",
89
89
  "./src/stores/editor/EditorStore.ts",
90
90
  "./src/stores/editor/EditorTabManagerState.ts",
91
+ "./src/stores/editor/EditorTabTelemetryHelper.ts",
91
92
  "./src/stores/editor/EmbeddedQueryBuilderState.ts",
92
93
  "./src/stores/editor/ExplorerTreeState.ts",
93
94
  "./src/stores/editor/GraphEditFormModeState.ts",