@gooddata/sdk-backend-tiger 11.58.0-alpha.0 → 11.58.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/backend/features/feature.d.ts.map +1 -1
  4. package/esm/backend/features/feature.js +1 -4
  5. package/esm/backend/geo/index.d.ts +8 -1
  6. package/esm/backend/geo/index.d.ts.map +1 -1
  7. package/esm/backend/geo/index.js +56 -15
  8. package/esm/backend/uiFeatures.d.ts +3 -12
  9. package/esm/backend/uiFeatures.d.ts.map +1 -1
  10. package/esm/backend/uiFeatures.js +3 -12
  11. package/esm/backend/workspace/genAI/ChatConversations.d.ts.map +1 -1
  12. package/esm/backend/workspace/genAI/ChatConversations.js +84 -69
  13. package/esm/backend/workspace/genAI/index.d.ts +1 -2
  14. package/esm/backend/workspace/genAI/index.d.ts.map +1 -1
  15. package/esm/backend/workspace/genAI/index.js +0 -4
  16. package/esm/backend/workspace/insights/index.d.ts.map +1 -1
  17. package/esm/backend/workspace/insights/index.js +9 -16
  18. package/esm/backend/workspace/insights/insightsQuery.d.ts +2 -0
  19. package/esm/backend/workspace/insights/insightsQuery.d.ts.map +1 -1
  20. package/esm/backend/workspace/insights/insightsQuery.js +11 -1
  21. package/esm/backend/workspace/permissions/index.d.ts.map +1 -1
  22. package/esm/backend/workspace/permissions/index.js +1 -0
  23. package/esm/convertors/fromBackend/InsightConverter.d.ts +8 -3
  24. package/esm/convertors/fromBackend/InsightConverter.d.ts.map +1 -1
  25. package/esm/convertors/fromBackend/InsightConverter.js +12 -3
  26. package/package.json +12 -12
  27. package/esm/backend/workspace/genAI/ChatThread.d.ts +0 -57
  28. package/esm/backend/workspace/genAI/ChatThread.d.ts.map +0 -1
  29. package/esm/backend/workspace/genAI/ChatThread.js +0 -512
@@ -422,81 +422,15 @@ function convertUserContext(userContext) {
422
422
  return undefined;
423
423
  }
424
424
  return {
425
- ...(userContext.activeObject
426
- ? {
427
- activeObject: {
428
- id: objRefToString(userContext.activeObject.ref),
429
- type: userContext.activeObject.type,
430
- workspaceId: userContext.activeObject.workspaceId,
431
- },
432
- }
433
- : {}),
425
+ ...convertActiveObject(userContext),
434
426
  ...(userContext.view?.dashboard
435
427
  ? {
436
428
  view: {
437
- dashboard: {
438
- id: objRefToString(userContext.view.dashboard.ref),
439
- ...(userContext.view.dashboard.title
440
- ? { title: userContext.view.dashboard.title }
441
- : {}),
442
- ...(userContext.view.dashboard.activeTabId
443
- ? { activeTabId: userContext.view.dashboard.activeTabId }
444
- : {}),
445
- ...(userContext.view.dashboard.filters?.length
446
- ? {
447
- // Filter `title` is display-only (drives the context indicator);
448
- // the backend filter models reject unknown fields.
449
- filters: userContext.view.dashboard.filters.map(({ title: _title, ...filter }) => filter),
450
- }
451
- : {}),
452
- widgets: userContext.view.dashboard.widgets.map((w) => ({
453
- title: w.title,
454
- widgetId: objRefToString(w.widgetRef),
455
- widgetType: w.widgetType,
456
- ...(w.insightRef
457
- ? w.widgetType === "visualizationSwitcher"
458
- ? {
459
- activeVisualizationId: objRefToString(w.insightRef),
460
- ...(w.visualizations
461
- ? {
462
- visualizationIds: w.visualizations
463
- .map(({ insightRef }) => insightRef ? objRefToString(insightRef) : "")
464
- .filter(Boolean),
465
- }
466
- : {}),
467
- }
468
- : { visualizationId: objRefToString(w.insightRef) }
469
- : {}),
470
- ...(w.resultId ? { resultId: w.resultId } : {}),
471
- ...(w.content === undefined ? {} : { content: w.content }),
472
- })),
473
- ...(userContext.view.dashboard.definition
474
- ? {
475
- definition: convertDashboard(userContext.view.dashboard.definition),
476
- }
477
- : {}),
478
- },
429
+ dashboard: convertDashboardView(userContext.view.dashboard),
479
430
  },
480
431
  }
481
432
  : {}),
482
- ...(userContext.referencedObjects
483
- ? {
484
- referencedObjects: userContext.referencedObjects.map((group) => ({
485
- ...(group.context
486
- ? {
487
- context: {
488
- type: group.context.type,
489
- id: objRefToString(group.context.ref),
490
- },
491
- }
492
- : {}),
493
- objects: group.objects.map((o) => ({
494
- type: o.type,
495
- id: objRefToString(o.ref),
496
- })),
497
- })),
498
- }
499
- : {}),
433
+ ...convertReferencedObjects(userContext),
500
434
  };
501
435
  }
502
436
  function convertDashboard(dashboard) {
@@ -521,3 +455,84 @@ function convertDashboard(dashboard) {
521
455
  : []);
522
456
  return json;
523
457
  }
458
+ function convertActiveObject(userContext) {
459
+ return userContext.activeObject
460
+ ? {
461
+ activeObject: {
462
+ id: objRefToString(userContext.activeObject.ref),
463
+ type: userContext.activeObject.type,
464
+ workspaceId: userContext.activeObject.workspaceId,
465
+ },
466
+ }
467
+ : {};
468
+ }
469
+ function convertReferencedObjects(userContext) {
470
+ return userContext.referencedObjects
471
+ ? {
472
+ referencedObjects: userContext.referencedObjects.map((group) => ({
473
+ ...(group.context
474
+ ? {
475
+ context: {
476
+ type: group.context.type,
477
+ id: objRefToString(group.context.ref),
478
+ },
479
+ }
480
+ : {}),
481
+ objects: group.objects.map((o) => ({
482
+ type: o.type,
483
+ id: objRefToString(o.ref),
484
+ })),
485
+ })),
486
+ }
487
+ : {};
488
+ }
489
+ function convertDashboardView(dashboard) {
490
+ return {
491
+ id: objRefToString(dashboard.ref),
492
+ ...(dashboard.title ? { title: dashboard.title } : {}),
493
+ ...(dashboard.activeTabId ? { activeTabId: dashboard.activeTabId } : {}),
494
+ ...(dashboard.filters?.length
495
+ ? {
496
+ // Filter `title` is display-only (drives the context indicator);
497
+ // the backend filter models reject unknown fields.
498
+ filters: dashboard.filters.map(({ title: _title, ...filter }) => filter),
499
+ }
500
+ : {}),
501
+ widgets: dashboard.widgets.map(convertWidget),
502
+ ...(dashboard.definition
503
+ ? {
504
+ definition: convertDashboard(dashboard.definition),
505
+ }
506
+ : {}),
507
+ };
508
+ }
509
+ function convertWidget(w) {
510
+ return {
511
+ title: w.title,
512
+ widgetId: objRefToString(w.widgetRef),
513
+ widgetType: w.widgetType,
514
+ ...(w.insightRef
515
+ ? {
516
+ visualizationId: objRefToString(w.insightRef),
517
+ activeVisualizationId: objRefToString(w.insightRef),
518
+ }
519
+ : {}),
520
+ ...(w.visualizations
521
+ ? {
522
+ visualizationIds: w.visualizations
523
+ ?.map(({ insightRef }) => (insightRef ? objRefToString(insightRef) : ""))
524
+ .filter(Boolean),
525
+ visualizations: w.visualizations?.map(convertWidget),
526
+ }
527
+ : {}),
528
+ ...(w.resultId ? { resultId: w.resultId } : {}),
529
+ ...(w.content === undefined ? {} : { content: w.content }),
530
+ ...(w.filters?.length
531
+ ? {
532
+ // Filter `title` is display-only (drives the context indicator);
533
+ // the backend filter models reject unknown fields.
534
+ filters: w.filters.map(({ title: _title, ...filter }) => filter),
535
+ }
536
+ : {}),
537
+ };
538
+ }
@@ -1,4 +1,4 @@
1
- import type { IAnalyticsCatalogService, IChatConversations, IChatThread, IDashboardSummary, IDashboardSummaryRequest, IGenAIService, IKnowledgeDocumentsService, IMemoryItemsService, ISemanticQualityService, ISemanticSearchQuery } from "@gooddata/sdk-backend-spi";
1
+ import type { IAnalyticsCatalogService, IChatConversations, IDashboardSummary, IDashboardSummaryRequest, IGenAIService, IKnowledgeDocumentsService, IMemoryItemsService, ISemanticQualityService, ISemanticSearchQuery } from "@gooddata/sdk-backend-spi";
2
2
  import { type DateNormalizer } from "../../../convertors/fromBackend/dateFormatting/types.js";
3
3
  import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
4
4
  export declare class GenAIService implements IGenAIService {
@@ -6,7 +6,6 @@ export declare class GenAIService implements IGenAIService {
6
6
  private readonly workspaceId;
7
7
  private readonly dateNormalizer;
8
8
  constructor(authCall: TigerAuthenticatedCallGuard, workspaceId: string, dateNormalizer: DateNormalizer);
9
- getChatThread(): IChatThread;
10
9
  getChatConversations(options?: {
11
10
  isPreview?: boolean;
12
11
  }): IChatConversations;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/genAI/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAU3E,qBAAa,YAAa,YAAW,aAAa;IAE1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAHnC,YACqB,QAAQ,EAAE,2BAA2B,EACrC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC/C;IAEJ,aAAa,IAAI,WAAW,CAE3B;IAED,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,kBAAkB,CAE1E;IAED,sBAAsB,IAAI,oBAAoB,CAE7C;IAEK,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOzC;IAED,qBAAqB,IAAI,0BAA0B,CAElD;IAED,cAAc,IAAI,mBAAmB,CAEpC;IAED,mBAAmB,IAAI,wBAAwB,CAE9C;IAED,kBAAkB,IAAI,uBAAuB,CAE5C;IAEK,kBAAkB,CACpB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/genAI/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAS3E,qBAAa,YAAa,YAAW,aAAa;IAE1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAHnC,YACqB,QAAQ,EAAE,2BAA2B,EACrC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC/C;IAEJ,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,kBAAkB,CAE1E;IAED,sBAAsB,IAAI,oBAAoB,CAE7C;IAEK,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOzC;IAED,qBAAqB,IAAI,0BAA0B,CAElD;IAED,cAAc,IAAI,mBAAmB,CAEpC;IAED,mBAAmB,IAAI,wBAAwB,CAE9C;IAED,kBAAkB,IAAI,uBAAuB,CAE5C;IAEK,kBAAkB,CACpB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;CACJ"}
@@ -3,7 +3,6 @@ import { SmartFunctionsAi_ResolveLlmProviders } from "@gooddata/api-client-tiger
3
3
  import { GenAiApi_SummarizeDashboard, } from "@gooddata/api-client-tiger/endpoints/genAI";
4
4
  import { AnalyticsCatalogService } from "./AnalyticsCatalogService.js";
5
5
  import { ChatConversationsService } from "./ChatConversations.js";
6
- import { ChatThreadService } from "./ChatThread.js";
7
6
  import { KnowledgeDocumentsService } from "./KnowledgeDocumentsService.js";
8
7
  import { MemoryItemsService } from "./MemoryItemsService.js";
9
8
  import { SemanticQualityService } from "./SemanticQualityService.js";
@@ -17,9 +16,6 @@ export class GenAIService {
17
16
  this.workspaceId = workspaceId;
18
17
  this.dateNormalizer = dateNormalizer;
19
18
  }
20
- getChatThread() {
21
- return new ChatThreadService(this.authCall, this.workspaceId, this.dateNormalizer);
22
- }
23
19
  getChatConversations(options) {
24
20
  return new ChatConversationsService(this.authCall, this.workspaceId, this.dateNormalizer, options);
25
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/insights/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EAEtC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,sCAAsC,EAC3C,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,MAAM,EASd,MAAM,qBAAqB,CAAC;AAkB7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAM3E,qBAAa,sBAAuB,YAAW,yBAAyB;IAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAFrC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EACjC;IAEG,qBAAqB,QAAe,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC,CAS9E;IAEK,uBAAuB,QAAa,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAEvE;IAEK,WAAW,aAAoB,qBAAqB,KAAG,OAAO,CAAC,oBAAoB,CAAC,CA6BzF;IAEK,gBAAgB,QAAO,cAAc,CAE1C;IAEF,OAAO,CAAC,4BAA4B,CAqBlC;IAEF,OAAO,CAAC,eAAe,CAmCrB;IAEF;;;OAGG;IACI,0BAA0B,QACxB,MAAM,KACZ,OAAO,CAAC;QACP,OAAO,EAAE,QAAQ,CAAC;QAClB,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,eAAe,GAAG,iBAAiB,CAAC,CAAC;KAC3E,CAAC,CAoBA;IAEF,OAAO,CAAC,wBAAwB,CAiB9B;IAEK,UAAU,QAAe,MAAM,YAAW,kBAAkB,KAAQ,OAAO,CAAC,QAAQ,CAAC,CAK1F;IAEK,aAAa,YACP,sCAAsC,2BAEhD,OAAO,CAAC,QAAQ,CAAC,CAuClB;IAEK,aAAa,YAAmB,QAAQ,KAAG,OAAO,CAAC,QAAQ,CAAC,CAuBjE;IAEK,iBAAiB,gBACP,OAAO,CAAC,mBAAmB,CAAC,GAAG,uBAAuB,KACpE,OAAO,CAAC,QAAQ,CAAC,CAyBlB;IAEK,gBAAgB,QACd,MAAM,kBACK,yBAAyB,KAC1C,OAAO,CAAC,IAAI,CAAC,CAYd;IAEK,aAAa,QAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CASvD;IAEK,2BAA2B,aACpB,QAAQ,WACT,8BAA8B,EAAE,KAC1C,OAAO,CAAC,kBAAkB,CAAC,CAE5B;IAEK,4BAA4B,QAAe,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBrF;IAEK,0BAA0B,GAAU,CAAC,SAAS,kBAAkB,WAC1D,CAAC,WACD,OAAO,EAAE,KACnB,OAAO,CAAC,CAAC,CAAC,CASX;CACL"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/insights/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EAEtC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,sCAAsC,EAC3C,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,MAAM,EASd,MAAM,qBAAqB,CAAC;AAkB7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAM3E,qBAAa,sBAAuB,YAAW,yBAAyB;IAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAFrC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EACjC;IAEG,qBAAqB,QAAe,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC,CAS9E;IAEK,uBAAuB,QAAa,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAEvE;IAEK,WAAW,aAAoB,qBAAqB,KAAG,OAAO,CAAC,oBAAoB,CAAC,CA6BzF;IAEK,gBAAgB,QAAO,cAAc,CAE1C;IAEF,OAAO,CAAC,4BAA4B,CAqBlC;IAEF,OAAO,CAAC,eAAe,CAmCrB;IAEF;;;OAGG;IACI,0BAA0B,QACxB,MAAM,KACZ,OAAO,CAAC;QACP,OAAO,EAAE,QAAQ,CAAC;QAClB,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,eAAe,GAAG,iBAAiB,CAAC,CAAC;KAC3E,CAAC,CAoBA;IAEF,OAAO,CAAC,wBAAwB,CAmB9B;IAEK,UAAU,QAAe,MAAM,YAAW,kBAAkB,KAAQ,OAAO,CAAC,QAAQ,CAAC,CAK1F;IAEK,aAAa,YACP,sCAAsC,2BAEhD,OAAO,CAAC,QAAQ,CAAC,CAuClB;IAEK,aAAa,YAAmB,QAAQ,KAAG,OAAO,CAAC,QAAQ,CAAC,CAuBjE;IAEK,iBAAiB,gBACP,OAAO,CAAC,mBAAmB,CAAC,GAAG,uBAAuB,KACpE,OAAO,CAAC,QAAQ,CAAC,CAyBlB;IAEK,gBAAgB,QACd,MAAM,kBACK,yBAAyB,KAC1C,OAAO,CAAC,IAAI,CAAC,CAYd;IAEK,aAAa,QAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CASvD;IAEK,2BAA2B,aACpB,QAAQ,WACT,8BAA8B,EAAE,KAC1C,OAAO,CAAC,kBAAkB,CAAC,CAE5B;IAEK,4BAA4B,QAAe,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBrF;IAEK,0BAA0B,GAAU,CAAC,SAAS,kBAAkB,WAC1D,CAAC,WACD,OAAO,EAAE,KACnB,OAAO,CAAC,CAAC,CAAC,CASX;CACL"}
@@ -8,10 +8,9 @@ import { insightFilters, insightId, insightSetFilters, insightSummary, insightTa
8
8
  import { convertAttribute, convertFact, convertMeasure, } from "../../../convertors/fromBackend/CatalogConverter.js";
9
9
  import { convertCertificationFromBackend } from "../../../convertors/fromBackend/CertificationConverter.js";
10
10
  import { convertGraphEntityNodeToAnalyticalDashboard } from "../../../convertors/fromBackend/GraphConverter.js";
11
- import { convertVisualizationObjectsToInsights, insightFromInsightDefinition, } from "../../../convertors/fromBackend/InsightConverter.js";
11
+ import { convertVisualizationObjectsToInsights, insightFromInsightDefinition, visualizationObjectDocumentToInsight, } from "../../../convertors/fromBackend/InsightConverter.js";
12
12
  import { isInheritedObject } from "../../../convertors/fromBackend/ObjectInheritance.js";
13
13
  import { convertUserIdentifier } from "../../../convertors/fromBackend/UsersConverter.js";
14
- import { convertVisualizationObject } from "../../../convertors/fromBackend/visualizationObjects/VisualizationObjectConverter.js";
15
14
  import { convertConditionalFormatting } from "../../../convertors/toBackend/ConditionalFormattingConverter.js";
16
15
  import { convertInsight } from "../../../convertors/toBackend/InsightConverter.js";
17
16
  import { objRefToIdentifier, objRefToUri } from "../../../utils/api.js";
@@ -136,19 +135,20 @@ export class TigerWorkspaceInsights {
136
135
  catalogItems: [...metrics, ...facts, ...attributes],
137
136
  };
138
137
  };
139
- getInsightWithReferences = async (ref, references = []) => {
138
+ getInsightWithReferences = async (ref, references = [], loadPermissions) => {
140
139
  const id = objRefToIdentifier(ref, this.authCall);
141
140
  const includeObj = references.length ? { include: references } : {};
142
141
  const response = await this.authCall((client) => EntitiesApi_GetEntityVisualizationObjects(client.axios, client.basePath, {
143
142
  objectId: id,
144
143
  workspaceId: this.workspace,
145
144
  ...includeObj,
145
+ ...(loadPermissions ? { metaInclude: ["permissions"] } : {}),
146
146
  }));
147
- return createInsightFromBackend(response.data, ref);
147
+ return createInsightFromBackend(response.data);
148
148
  };
149
149
  getInsight = async (ref, options = {}) => {
150
150
  const references = options?.loadUserData ? ["createdBy", "modifiedBy"] : [];
151
- const { insight } = await this.getInsightWithReferences(ref, references);
151
+ const { insight } = await this.getInsightWithReferences(ref, references, options.loadPermissions);
152
152
  return insight;
153
153
  };
154
154
  createInsight = async (insight, generateId = true) => {
@@ -225,7 +225,7 @@ export class TigerWorkspaceInsights {
225
225
  },
226
226
  });
227
227
  });
228
- const { insight } = createInsightFromBackend(response.data, insightMeta.ref);
228
+ const { insight } = createInsightFromBackend(response.data);
229
229
  return insight;
230
230
  };
231
231
  setCertification = async (ref, certification) => {
@@ -276,16 +276,9 @@ export class TigerWorkspaceInsights {
276
276
  return Promise.resolve(insightSetFilters(insight, mergedFilters));
277
277
  };
278
278
  }
279
- function createInsightFromBackend(data, ref) {
280
- const { data: visualizationObject, links, included } = data;
281
- const { relationships = {} } = visualizationObject;
282
- const { createdBy, modifiedBy } = relationships;
283
- const insight = insightFromInsightDefinition(convertVisualizationObject(visualizationObject.attributes.content, visualizationObject.attributes.title, visualizationObject.attributes.description, visualizationObject.attributes.tags), visualizationObject.id, links.self, visualizationObject.attributes.tags, isInheritedObject(visualizationObject), visualizationObject.attributes?.isHidden, visualizationObject.attributes?.createdAt ?? undefined, visualizationObject.attributes?.modifiedAt ?? undefined, convertUserIdentifier(createdBy, included), convertUserIdentifier(modifiedBy, included), convertCertificationFromBackend(visualizationObject.attributes));
284
- if (!insight) {
285
- throw new UnexpectedError(`Insight for ${objRefToString(ref)} not found!`);
286
- }
279
+ function createInsightFromBackend(data) {
287
280
  return {
288
- insight,
289
- included,
281
+ insight: visualizationObjectDocumentToInsight(data),
282
+ included: data.included,
290
283
  };
291
284
  }
@@ -10,6 +10,7 @@ export declare class InsightsQuery implements IInsightsQuery {
10
10
  private filter;
11
11
  private sort;
12
12
  private include;
13
+ private metaInclude;
13
14
  private origin;
14
15
  private method;
15
16
  private totalCount;
@@ -20,6 +21,7 @@ export declare class InsightsQuery implements IInsightsQuery {
20
21
  withFilter(filter: IFilterBaseOptions): IInsightsQuery;
21
22
  withSorting(sort: string[]): IInsightsQuery;
22
23
  withInclude(include: string[]): IInsightsQuery;
24
+ withMetaInclude(metaInclude: string[]): IInsightsQuery;
23
25
  withOrigin(origin: ObjectOrigin): IInsightsQuery;
24
26
  withMethod(method: QueryMethod): IInsightsQuery;
25
27
  query(): Promise<IInsightsQueryResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"insightsQuery.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/insights/insightsQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,oDAAoD,EAE5D,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,qBAAa,aAAc,YAAW,cAAc;aAW5B,QAAQ,EAAE,2BAA2B;IACrD,OAAO,CAAC,iBAAiB;IAX7B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,OAAO,CAA8E;IAC7F,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAiC;IAEnD,YACoB,QAAQ,EAAE,2BAA2B,EAC7C,iBAAiB,EAAE,oDAAoD,EAC/E;IAEJ,OAAO,CAAC,aAAa,CAEnB;IAEF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAGrC;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAGrC;IAED,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAKrD;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAG1C;IAED,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,CAI7C;IAED,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAG/C;IAED,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CAG9C;IAED,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAuDrC;CACJ"}
1
+ {"version":3,"file":"insightsQuery.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/insights/insightsQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,oDAAoD,EAE5D,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,qBAAa,aAAc,YAAW,cAAc;aAY5B,QAAQ,EAAE,2BAA2B;IACrD,OAAO,CAAC,iBAAiB;IAZ7B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,OAAO,CAA8E;IAC7F,OAAO,CAAC,WAAW,CAAkF;IACrG,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAiC;IAEnD,YACoB,QAAQ,EAAE,2BAA2B,EAC7C,iBAAiB,EAAE,oDAAoD,EAC/E;IAEJ,OAAO,CAAC,aAAa,CAEnB;IAEF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAGrC;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAGrC;IAED,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAKrD;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAG1C;IAED,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,CAI7C;IAED,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAIrD;IAED,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAG/C;IAED,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CAG9C;IAED,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC,CA2DrC;CACJ"}
@@ -13,6 +13,7 @@ export class InsightsQuery {
13
13
  filter = undefined;
14
14
  sort = undefined;
15
15
  include = undefined;
16
+ metaInclude = undefined;
16
17
  origin = undefined;
17
18
  method = "GET";
18
19
  totalCount = undefined;
@@ -46,6 +47,11 @@ export class InsightsQuery {
46
47
  this.include = include;
47
48
  return this;
48
49
  }
50
+ withMetaInclude(metaInclude) {
51
+ // NOTE: Unsupported metaInclude values handling is delegated to the backend
52
+ this.metaInclude = metaInclude;
53
+ return this;
54
+ }
49
55
  withOrigin(origin) {
50
56
  this.origin = origin;
51
57
  return this;
@@ -61,7 +67,11 @@ export class InsightsQuery {
61
67
  /**
62
68
  * For backend performance reasons, we do not want to ask for paging info each time.
63
69
  */
64
- const metaInclude = this.totalCount === undefined ? ["page"] : undefined;
70
+ const requestedMeta = [
71
+ ...(this.totalCount === undefined ? ["page"] : []),
72
+ ...(this.metaInclude ?? []),
73
+ ];
74
+ const metaInclude = requestedMeta.length ? requestedMeta : undefined;
65
75
  const items = await this.authCall((client) => {
66
76
  if (this.method === "POST") {
67
77
  return EntitiesApi_SearchEntitiesVisualizationObjects(client.axios, client.basePath, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/permissions/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAK3E,qBAAa,gCAAiC,YAAW,4BAA4B;aAE7D,QAAQ,EAAE,2BAA2B;aACrC,SAAS,EAAE,MAAM;IAFrC,YACoB,QAAQ,EAAE,2BAA2B,EACrC,SAAS,EAAE,MAAM,EACjC;IAES,4BAA4B,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAwD1E;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/permissions/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAK3E,qBAAa,gCAAiC,YAAW,4BAA4B;aAE7D,QAAQ,EAAE,2BAA2B;aACrC,SAAS,EAAE,MAAM;IAFrC,YACoB,QAAQ,EAAE,2BAA2B,EACrC,SAAS,EAAE,MAAM,EACjC;IAES,4BAA4B,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAyD1E;CACJ"}
@@ -31,6 +31,7 @@ export class TigerWorkspacePermissionsFactory {
31
31
  canAccessWorkbench: canViewWorkspace,
32
32
  canExecuteRaw: canViewWorkspace,
33
33
  //based on group: ANALYZE
34
+ canAnalyzeWorkspace,
34
35
  canCreateVisualization: canAnalyzeWorkspace,
35
36
  canManageAnalyticalDashboard: canAnalyzeWorkspace,
36
37
  canCreateAnalyticalDashboard: canAnalyzeWorkspace,
@@ -1,6 +1,11 @@
1
- import { type JsonApiAnalyticalDashboardOutIncludes, type JsonApiComputedAttributeOutIncludes, type JsonApiVisualizationObjectOut, type JsonApiVisualizationObjectOutList, type JsonApiVisualizationObjectOutWithLinks } from "@gooddata/api-client-tiger";
2
- import { type IInsight, type IInsightDefinition, type IUser } from "@gooddata/sdk-model";
3
- export declare const insightFromInsightDefinition: (insight: IInsightDefinition, id: string, uri: string, tags: string[] | undefined, isLocked: boolean | undefined, isHidden: boolean | undefined, created: string | undefined, updated: string | undefined, createdBy: IUser | undefined, updatedBy: IUser | undefined, certification?: IInsight["insight"]["certification"]) => IInsight;
1
+ import { type JsonApiAnalyticalDashboardOutIncludes, type JsonApiComputedAttributeOutIncludes, type JsonApiVisualizationObjectOut, type JsonApiVisualizationObjectOutDocument, type JsonApiVisualizationObjectOutList, type JsonApiVisualizationObjectOutWithLinks } from "@gooddata/api-client-tiger";
2
+ import { type AccessGranularPermission, type IInsight, type IInsightDefinition, type IUser } from "@gooddata/sdk-model";
3
+ export declare const insightFromInsightDefinition: (insight: IInsightDefinition, id: string, uri: string, tags: string[] | undefined, isLocked: boolean | undefined, isHidden: boolean | undefined, created: string | undefined, updated: string | undefined, createdBy: IUser | undefined, updatedBy: IUser | undefined, certification?: IInsight["insight"]["certification"], permissions?: AccessGranularPermission[]) => IInsight;
4
4
  export declare const visualizationObjectsItemToInsight: (visualizationObject: JsonApiVisualizationObjectOut | JsonApiVisualizationObjectOutWithLinks, included?: (JsonApiAnalyticalDashboardOutIncludes | JsonApiComputedAttributeOutIncludes)[]) => IInsight;
5
+ /**
6
+ * Converts a single visualization object document. The document carries the object's links,
7
+ * the item itself does not, so the uri comes from the document.
8
+ */
9
+ export declare const visualizationObjectDocumentToInsight: ({ data, links, included, }: JsonApiVisualizationObjectOutDocument) => IInsight;
5
10
  export declare const convertVisualizationObjectsToInsights: (visualizationObjects: JsonApiVisualizationObjectOutList) => IInsight[];
6
11
  //# sourceMappingURL=InsightConverter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InsightConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/InsightConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,KAAK,sCAAsC,EAG9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,KAAK,EAAS,MAAM,qBAAqB,CAAC;AAOhG,eAAO,MAAM,4BAA4B,YAC5B,kBAAkB,MACvB,MAAM,OACL,MAAM,QACL,MAAM,EAAE,GAAG,SAAS,YAChB,OAAO,GAAG,SAAS,YACnB,OAAO,GAAG,SAAS,WACpB,MAAM,GAAG,SAAS,WAClB,MAAM,GAAG,SAAS,aAChB,KAAK,GAAG,SAAS,aACjB,KAAK,GAAG,SAAS,kBACZ,QAAQ,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,KACrD,QAiBF,CAAC;AAEF,eAAO,MAAM,iCAAiC,wBACrB,6BAA6B,GAAG,sCAAsC,aACjF,CAAC,qCAAqC,GAAG,mCAAmC,CAAC,EAAE,KAC1F,QA2BF,CAAC;AAEF,eAAO,MAAM,qCAAqC,yBACxB,iCAAiC,KACxD,QAAQ,EAIV,CAAC"}
1
+ {"version":3,"file":"InsightConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/InsightConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EAClC,KAAK,qCAAqC,EAC1C,KAAK,iCAAiC,EACtC,KAAK,sCAAsC,EAG9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,KAAK,EAEb,MAAM,qBAAqB,CAAC;AAO7B,eAAO,MAAM,4BAA4B,YAC5B,kBAAkB,MACvB,MAAM,OACL,MAAM,QACL,MAAM,EAAE,GAAG,SAAS,YAChB,OAAO,GAAG,SAAS,YACnB,OAAO,GAAG,SAAS,WACpB,MAAM,GAAG,SAAS,WAClB,MAAM,GAAG,SAAS,aAChB,KAAK,GAAG,SAAS,aACjB,KAAK,GAAG,SAAS,kBACZ,QAAQ,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,gBACtC,wBAAwB,EAAE,KACzC,QAkBF,CAAC;AAEF,eAAO,MAAM,iCAAiC,wBACrB,6BAA6B,GAAG,sCAAsC,aACjF,CAAC,qCAAqC,GAAG,mCAAmC,CAAC,EAAE,KAC1F,QA4BF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC,+BAI9C,qCAAqC,KAAG,QAG1C,CAAC;AAEF,eAAO,MAAM,qCAAqC,yBACxB,iCAAiC,KACxD,QAAQ,EAIV,CAAC"}
@@ -1,10 +1,10 @@
1
1
  // (C) 2020-2026 GoodData Corporation
2
- import { idRef } from "@gooddata/sdk-model";
2
+ import { idRef, } from "@gooddata/sdk-model";
3
3
  import { convertCertificationFromBackend } from "./CertificationConverter.js";
4
4
  import { isInheritedObject } from "./ObjectInheritance.js";
5
5
  import { convertUserIdentifier } from "./UsersConverter.js";
6
6
  import { convertVisualizationObject } from "./visualizationObjects/VisualizationObjectConverter.js";
7
- export const insightFromInsightDefinition = (insight, id, uri, tags, isLocked, isHidden, created, updated, createdBy, updatedBy, certification) => {
7
+ export const insightFromInsightDefinition = (insight, id, uri, tags, isLocked, isHidden, created, updated, createdBy, updatedBy, certification, permissions) => {
8
8
  return {
9
9
  insight: {
10
10
  ...insight.insight,
@@ -19,6 +19,7 @@ export const insightFromInsightDefinition = (insight, id, uri, tags, isLocked, i
19
19
  updated,
20
20
  updatedBy,
21
21
  ...(certification ? { certification } : {}),
22
+ ...(permissions ? { permissions } : {}),
22
23
  },
23
24
  };
24
25
  };
@@ -29,7 +30,15 @@ export const visualizationObjectsItemToInsight = (visualizationObject, included
29
30
  const links = "links" in visualizationObject ? visualizationObject.links : undefined;
30
31
  return insightFromInsightDefinition(convertVisualizationObject(content, title, description, tags), id, links?.self ?? "", tags,
31
32
  // TODO: TIGER-HACK: inherited objects must be locked; they are read-only for all
32
- isInheritedObject(visualizationObject), isHidden, createdAt ?? undefined, modifiedAt ?? undefined, convertUserIdentifier(createdBy, included), convertUserIdentifier(modifiedBy, included), convertCertificationFromBackend(attributes, convertUserIdentifier(certifiedBy, included)));
33
+ isInheritedObject(visualizationObject), isHidden, createdAt ?? undefined, modifiedAt ?? undefined, convertUserIdentifier(createdBy, included), convertUserIdentifier(modifiedBy, included), convertCertificationFromBackend(attributes, convertUserIdentifier(certifiedBy, included)), visualizationObject.meta?.permissions);
34
+ };
35
+ /**
36
+ * Converts a single visualization object document. The document carries the object's links,
37
+ * the item itself does not, so the uri comes from the document.
38
+ */
39
+ export const visualizationObjectDocumentToInsight = ({ data, links, included, }) => {
40
+ const converted = visualizationObjectsItemToInsight(data, included);
41
+ return { insight: { ...converted.insight, uri: links?.self ?? converted.insight.uri } };
33
42
  };
34
43
  export const convertVisualizationObjectsToInsights = (visualizationObjects) => {
35
44
  return visualizationObjects.data.map((visualizationObject) => visualizationObjectsItemToInsight(visualizationObject, visualizationObjects.included));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-backend-tiger",
3
- "version": "11.58.0-alpha.0",
3
+ "version": "11.58.0-alpha.2",
4
4
  "description": "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN",
5
5
  "license": "MIT",
6
6
  "author": "GoodData",
@@ -34,12 +34,12 @@
34
34
  "ts-invariant": "0.10.3",
35
35
  "tslib": "2.8.1",
36
36
  "uuid": "11.1.1",
37
- "@gooddata/api-client-tiger": "11.58.0-alpha.0",
38
- "@gooddata/sdk-backend-base": "11.58.0-alpha.0",
39
- "@gooddata/sdk-backend-spi": "11.58.0-alpha.0",
40
- "@gooddata/sdk-code-convertors": "11.58.0-alpha.0",
41
- "@gooddata/sdk-model": "11.58.0-alpha.0",
42
- "@gooddata/util": "11.58.0-alpha.0"
37
+ "@gooddata/api-client-tiger": "11.58.0-alpha.2",
38
+ "@gooddata/sdk-backend-spi": "11.58.0-alpha.2",
39
+ "@gooddata/sdk-backend-base": "11.58.0-alpha.2",
40
+ "@gooddata/sdk-code-convertors": "11.58.0-alpha.2",
41
+ "@gooddata/sdk-model": "11.58.0-alpha.2",
42
+ "@gooddata/util": "11.58.0-alpha.2"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@gooddata/fixtures": "3.7.0",
@@ -63,11 +63,11 @@
63
63
  "oxlint-plugin-eslint": "1.82.0",
64
64
  "oxlint-tsgolint": "7.0.2001",
65
65
  "typescript": "7.0.2",
66
- "vitest": "4.1.8",
67
- "@gooddata/catalog-export": "11.58.0-alpha.0",
68
- "@gooddata/eslint-config": "11.58.0-alpha.0",
69
- "@gooddata/oxlint-config": "11.58.0-alpha.0",
70
- "@gooddata/reference-workspace": "11.58.0-alpha.0"
66
+ "vitest": "4.1.11",
67
+ "@gooddata/catalog-export": "11.58.0-alpha.2",
68
+ "@gooddata/eslint-config": "11.58.0-alpha.2",
69
+ "@gooddata/oxlint-config": "11.58.0-alpha.2",
70
+ "@gooddata/reference-workspace": "11.58.0-alpha.2"
71
71
  },
72
72
  "scripts": {
73
73
  "_phase:build": "npm run build",
@@ -1,57 +0,0 @@
1
- import type { CreatedVisualization } from "@gooddata/api-client-tiger";
2
- import type { IChatThread, IChatThreadHistory, IChatThreadQuery, IGenAIChatEvaluation } from "@gooddata/sdk-backend-spi";
3
- import { type GenAIChatInteractionUserFeedback, type GenAIChatInteractionUserVisualisation, type GenAIObjectType, type IAllowedRelationshipType, type IGenAIUserContext, type IGenAIVisualization } from "@gooddata/sdk-model";
4
- import { type DateNormalizer } from "../../../convertors/fromBackend/dateFormatting/types.js";
5
- import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
6
- /**
7
- * Chat thread service.
8
- * @beta
9
- */
10
- export declare class ChatThreadService implements IChatThread {
11
- private readonly authCall;
12
- private readonly workspaceId;
13
- private readonly dateNormalizer;
14
- constructor(authCall: TigerAuthenticatedCallGuard, workspaceId: string, dateNormalizer: DateNormalizer);
15
- loadHistory(fromInteractionId?: string, options?: {
16
- signal?: AbortSignal;
17
- }): Promise<IChatThreadHistory>;
18
- reset(): Promise<void>;
19
- saveUserFeedback(chatHistoryInteractionId: string, userFeedback: GenAIChatInteractionUserFeedback, userTextFeedback?: string): Promise<void>;
20
- saveUserVisualisation(chatHistoryInteractionId: string, savedVisualization: GenAIChatInteractionUserVisualisation): Promise<void>;
21
- saveRenderVisualisationStatus(chatHistoryInteractionId: string, responseState: "SUCCESSFUL" | "UNEXPECTED_ERROR" | "TOO_MANY_DATA_POINTS" | "NO_DATA" | "NO_RESULTS"): Promise<void>;
22
- query(userMessage: string): IChatThreadQuery;
23
- }
24
- /**
25
- * Chat thread query configuration.
26
- * @beta
27
- */
28
- export type ChatThreadQueryConfig = {
29
- workspaceId: string;
30
- userQuestion: string;
31
- limitSearch?: number;
32
- limitCreate?: number;
33
- userContext?: IGenAIUserContext;
34
- objectTypes?: GenAIObjectType[];
35
- allowedRelationshipTypes?: IAllowedRelationshipType[];
36
- };
37
- /**
38
- * Chat thread query builder.
39
- * @beta
40
- */
41
- export declare class ChatThreadQuery implements IChatThreadQuery {
42
- private readonly authCall;
43
- private readonly dateNormalizer;
44
- private readonly config;
45
- constructor(authCall: TigerAuthenticatedCallGuard, dateNormalizer: DateNormalizer, config: ChatThreadQueryConfig);
46
- withSearchLimit(limitSearch: number): IChatThreadQuery;
47
- withCreateLimit(limitCreate: number): IChatThreadQuery;
48
- withUserContext(userContext: IGenAIUserContext): IChatThreadQuery;
49
- withObjectTypes(objectTypes?: GenAIObjectType[]): IChatThreadQuery;
50
- withAllowedRelationshipTypes(allowedRelationshipTypes?: IAllowedRelationshipType[]): IChatThreadQuery;
51
- query(options?: {
52
- signal?: AbortSignal;
53
- }): Promise<IGenAIChatEvaluation>;
54
- stream(): ReadableStream<IGenAIChatEvaluation>;
55
- }
56
- export declare function convertCreatedVisualization(data: CreatedVisualization): IGenAIVisualization;
57
- //# sourceMappingURL=ChatThread.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatThread.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/genAI/ChatThread.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGR,oBAAoB,EAKvB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,EACR,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAG1C,KAAK,eAAe,EAEpB,KAAK,wBAAwB,EAM7B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAK3B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAG3E;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAHnC,YACqB,QAAQ,EAAE,2BAA2B,EACrC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC/C;IAEE,WAAW,CACb,iBAAiB,CAAC,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAgB7B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3B;IAEK,gBAAgB,CAClB,wBAAwB,EAAE,MAAM,EAChC,YAAY,EAAE,gCAAgC,EAC9C,gBAAgB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAWf;IAEK,qBAAqB,CACvB,wBAAwB,EAAE,MAAM,EAChC,kBAAkB,EAAE,qCAAqC,GAC1D,OAAO,CAAC,IAAI,CAAC,CAaf;IAEK,6BAA6B,CAC/B,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,YAAY,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,SAAS,GAAG,YAAY,GACrG,OAAO,CAAC,IAAI,CAAC,CAUf;IAED,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAK3C;CACJ;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,wBAAwB,CAAC,EAAE,wBAAwB,EAAE,CAAC;CACzD,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAEhD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH3B,YACqB,QAAQ,EAAE,2BAA2B,EACrC,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,qBAAqB,EAC9C;IAEJ,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAKrD;IAED,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAKrD;IAED,eAAe,CAAC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,CAKhE;IAED,eAAe,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAKjE;IAED,4BAA4B,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,EAAE,GAAG,gBAAgB,CAKpG;IAEK,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqB7E;IAED,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC,CA0D7C;CACJ;AA+OD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CA6C3F"}