@gooddata/sdk-pluggable-application-model 11.67.0-alpha.1 → 11.67.0-alpha.3

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.
package/esm/__version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
3
  /** @alpha */
4
- export const LIB_VERSION = "11.67.0-alpha.1";
4
+ export const LIB_VERSION = "11.67.0-alpha.3";
5
5
  /** @alpha */
6
6
  export const LIB_DESCRIPTION = "GoodData SDK model contracts for pluggable applications";
7
7
  /** @alpha */
package/esm/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { DefaultApplicationId } from "./defaultPlatformApplications.js";
7
7
  export { LIB_VERSION, LIB_DESCRIPTION, LIB_NAME } from "./__version.js";
8
8
  export { type EmbeddingMode, type IApiTokenAuthCredentials, type IAuthCredentials, type IContextDeferredAuthCredentials, type IEffectiveSettings, type IJwtAuthCredentials, type IOrganization, type IOrganizationPermissions, type IPlatformContext, type IPlatformContextV1, type IPluggableApplicationNavigation, PantherTier, isPlatformContextV1, isWorkspaceScopedSettings, } from "./platformContext.js";
9
9
  export { type ILocale } from "@gooddata/sdk-model";
10
- export { type IAppHeaderOptions, type IAppInstance, type KnownPluggableAppEventTypeName, type IDocumentTitleChangedEvent, type IOpenAiAssistantRequestedEvent, type ICloseAiAssistantRequestedEvent, type IOpenPricingDialogRequestedEvent, type IAiAssistantContextChangedEvent, type IAiAssistantPublisherDocumentSavedEvent, type IHostNavigationRequest, type IPluggableApp, type IPluggableApplicationMountHandle, type IPluggableApplicationMountOptions, type IPluggableAppEvent, type IPluggableAppLogRecord, type IPluggableAppTelemetryCallbacks, type IPluggableAppTelemetryEventData, type IReloadPlatformContextRequestedEvent, type ITelemetryEventOptions, documentTitleChanged, isDocumentTitleChangedEvent, isOpenAiAssistantRequestedEvent, isCloseAiAssistantRequestedEvent, isOpenPricingDialogRequestedEvent, isAiAssistantContextChangedEvent, isAiAssistantPublisherDocumentSavedEvent, type IAiAssistantPublisherDocumentDefinition, isAiAssistantPublisherDocumentDefinition, type IAiAssistantPublisherDocumentDefinitionV2, isAiAssistantPublisherDocumentDefinitionV2, isReloadPlatformContextRequestedEvent, openAiAssistantRequested, closeAiAssistantRequested, openPricingDialogRequested, aiAssistantContextChanged, aiAssistantPublisherDocumentSaved, aiAssistantDashboardSaved, isAiAssistantDashboardSavedEvent, type IAiAssistantDashboardSavedEvent, type PluggableApplicationMount, PluggableAppEventType, type PluggableAppEventTypeName, reloadPlatformContextRequested, type TelemetryChannel, } from "./mount.js";
10
+ export { type IAppHeaderOptions, type IAppInstance, type KnownPluggableAppEventTypeName, type IDocumentTitleChangedEvent, type IOpenAiAssistantRequestedEvent, type ICloseAiAssistantRequestedEvent, type IOpenPricingDialogRequestedEvent, type IAiAssistantContextChangedEvent, type IHostNavigationRequest, type IPluggableApp, type IPluggableApplicationMountHandle, type IPluggableApplicationMountOptions, type IPluggableAppEvent, type IPluggableAppLogRecord, type IPluggableAppTelemetryCallbacks, type IPluggableAppTelemetryEventData, type IReloadPlatformContextRequestedEvent, type ITelemetryEventOptions, documentTitleChanged, isDocumentTitleChangedEvent, isOpenAiAssistantRequestedEvent, isCloseAiAssistantRequestedEvent, isOpenPricingDialogRequestedEvent, isAiAssistantContextChangedEvent, type IAiAssistantPublisherDocumentDefinitionV2, isAiAssistantPublisherDocumentDefinitionV2, isReloadPlatformContextRequestedEvent, openAiAssistantRequested, closeAiAssistantRequested, openPricingDialogRequested, aiAssistantContextChanged, AiAssistantChatEventName, type KnownAiAssistantChatEventName, type IAiAssistantChatEvent, type IAiAssistantPublisherDocumentDefinition, isAiAssistantPublisherDocumentDefinition, type IAiAssistantDefinitionReceivedPayload, type IAiAssistantDefinitionReceivedChatEvent, isAiAssistantDefinitionReceivedChatEvent, AiAssistantAppEventName, type KnownAiAssistantAppEventName, type IAiAssistantAppEvent, type IAiAssistantPublisherDocumentSavedAppEvent, isAiAssistantPublisherDocumentSavedAppEvent, type IAiAssistantDashboardSavedAppEvent, isAiAssistantDashboardSavedAppEvent, type IAiAssistantEventSentEvent, aiAssistantEventSent, isAiAssistantEventSentEvent, aiAssistantPublisherDocumentSaved, aiAssistantDashboardSaved, type PluggableApplicationMount, PluggableAppEventType, type PluggableAppEventTypeName, reloadPlatformContextRequested, type TelemetryChannel, } from "./mount.js";
11
11
  export { type ITelemetryPropertySlot, type TelemetryPropertyScope, TELEMETRY_PROPERTIES, } from "./telemetry/telemetryProperties.js";
12
12
  export { type IHostUiModule, type IHostUiMountHandle, type IHostUiMountOptions, type IHostUiNotification, type INewDeploymentAvailableHostUiNotification, type HostUiMount, } from "./hostUi.js";
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,WAAW,EACX,mBAAmB,EACnB,yBAAyB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,uCAAuC,EAC5C,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,sBAAsB,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,wCAAwC,EACxC,KAAK,uCAAuC,EAC5C,wCAAwC,EACxC,KAAK,yCAAyC,EAC9C,0CAA0C,EAC1C,qCAAqC,EACrC,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,EACjC,yBAAyB,EACzB,gCAAgC,EAChC,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,8BAA8B,EAC9B,KAAK,gBAAgB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,oBAAoB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,yCAAyC,EAC9C,KAAK,WAAW,GACnB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,WAAW,EACX,mBAAmB,EACnB,yBAAyB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,sBAAsB,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,KAAK,yCAAyC,EAC9C,0CAA0C,EAC1C,qCAAqC,EACrC,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,uCAAuC,EAC5C,wCAAwC,EACxC,KAAK,qCAAqC,EAC1C,KAAK,uCAAuC,EAC5C,wCAAwC,EACxC,uBAAuB,EACvB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,0CAA0C,EAC/C,2CAA2C,EAC3C,KAAK,kCAAkC,EACvC,mCAAmC,EACnC,KAAK,0BAA0B,EAC/B,oBAAoB,EACpB,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,8BAA8B,EAC9B,KAAK,gBAAgB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,oBAAoB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,yCAAyC,EAC9C,KAAK,WAAW,GACnB,MAAM,aAAa,CAAC"}
package/esm/index.js CHANGED
@@ -8,5 +8,5 @@
8
8
  export { DefaultApplicationId } from "./defaultPlatformApplications.js";
9
9
  export { LIB_VERSION, LIB_DESCRIPTION, LIB_NAME } from "./__version.js";
10
10
  export { PantherTier, isPlatformContextV1, isWorkspaceScopedSettings, } from "./platformContext.js";
11
- export { documentTitleChanged, isDocumentTitleChangedEvent, isOpenAiAssistantRequestedEvent, isCloseAiAssistantRequestedEvent, isOpenPricingDialogRequestedEvent, isAiAssistantContextChangedEvent, isAiAssistantPublisherDocumentSavedEvent, isAiAssistantPublisherDocumentDefinition, isAiAssistantPublisherDocumentDefinitionV2, isReloadPlatformContextRequestedEvent, openAiAssistantRequested, closeAiAssistantRequested, openPricingDialogRequested, aiAssistantContextChanged, aiAssistantPublisherDocumentSaved, aiAssistantDashboardSaved, isAiAssistantDashboardSavedEvent, PluggableAppEventType, reloadPlatformContextRequested, } from "./mount.js";
11
+ export { documentTitleChanged, isDocumentTitleChangedEvent, isOpenAiAssistantRequestedEvent, isCloseAiAssistantRequestedEvent, isOpenPricingDialogRequestedEvent, isAiAssistantContextChangedEvent, isAiAssistantPublisherDocumentDefinitionV2, isReloadPlatformContextRequestedEvent, openAiAssistantRequested, closeAiAssistantRequested, openPricingDialogRequested, aiAssistantContextChanged, AiAssistantChatEventName, isAiAssistantPublisherDocumentDefinition, isAiAssistantDefinitionReceivedChatEvent, AiAssistantAppEventName, isAiAssistantPublisherDocumentSavedAppEvent, isAiAssistantDashboardSavedAppEvent, aiAssistantEventSent, isAiAssistantEventSentEvent, aiAssistantPublisherDocumentSaved, aiAssistantDashboardSaved, PluggableAppEventType, reloadPlatformContextRequested, } from "./mount.js";
12
12
  export { TELEMETRY_PROPERTIES, } from "./telemetry/telemetryProperties.js";
package/esm/mount.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type GenAIChatEffort, type IGenAIUserContext, type IPublisherDocumentDefinition, type IPublisherDocumentDefinitionV2 } from "@gooddata/sdk-model";
1
+ import { type GenAIChatEffort, type IDashboard, type IGenAIUserContext, type IInsight, type IPublisherDocumentDefinition, type IPublisherDocumentDefinitionV2 } from "@gooddata/sdk-model";
2
2
  import { type IPlatformContext } from "./platformContext.js";
3
3
  /**
4
4
  * Known generic pluggable application event types.
@@ -11,8 +11,7 @@ export declare const PluggableAppEventType: {
11
11
  readonly AI_ASSISTANT_OPEN_REQUESTED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.OPEN_REQUESTED";
12
12
  readonly AI_ASSISTANT_CLOSE_REQUESTED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.CLOSE_REQUESTED";
13
13
  readonly AI_ASSISTANT_CONTEXT_CHANGED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.CONTEXT_CHANGED";
14
- readonly AI_ASSISTANT_PUBLISHER_DOCUMENT_SAVED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.PUBLISHER_DOCUMENT_SAVED";
15
- readonly AI_ASSISTANT_DASHBOARD_SAVED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.DASHBOARD_SAVED";
14
+ readonly AI_ASSISTANT_EVENT_SENT: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.EVENT_SENT";
16
15
  readonly PRICING_DIALOG_OPEN_REQUESTED: "GDC.PLUGGABLE_APP/EVT.PRICING_DIALOG.OPEN_REQUESTED";
17
16
  };
18
17
  /**
@@ -297,61 +296,61 @@ export declare function aiAssistantContextChanged(payload?: {
297
296
  */
298
297
  export declare function isAiAssistantContextChangedEvent(obj: unknown): obj is IAiAssistantContextChangedEvent;
299
298
  /**
300
- * Event telling the host assistant that a document it drafted was saved.
299
+ * Known events the host-owned AI assistant chat sends to the active application.
301
300
  *
302
301
  * @remarks
303
- * The assistant keeps its own copy of the conversation, which only learns about a save when the
304
- * thread is loaded again. The application that saved the document emits this once per save, so the
305
- * document in the chat reads as saved and links to the saved document right away.
302
+ * The host forwards every chat event to the active application through
303
+ * {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive} without reading it. The
304
+ * application picks the events it acts on by `name`.
305
+ *
306
+ * @alpha
307
+ */
308
+ export declare const AiAssistantChatEventName: {
309
+ readonly OPENED: "chat.opened";
310
+ readonly CLOSED: "chat.closed";
311
+ readonly RESET: "chat.reset";
312
+ readonly CONVERSATION_CHANGED: "chat.conversation-changed";
313
+ readonly FEEDBACK: "chat.feedback";
314
+ readonly FEEDBACK_ERROR: "chat.feedback-error";
315
+ readonly USER_MESSAGE: "chat.user-message";
316
+ readonly USER_ANSWERS: "chat.user-answers";
317
+ readonly ASSISTANT_MESSAGE: "chat.assistant-message";
318
+ readonly REASONING: "chat.reasoning";
319
+ readonly MODE_CHANGED: "chat.mode-changed";
320
+ readonly DEFINITION_RECEIVED: "chat.definition-received";
321
+ readonly CLARIFICATION_QUESTIONS: "chat.clarification-questions";
322
+ readonly SAVE_VISUALIZATION_SUCCESS: "chat.save-visualization-success";
323
+ readonly SAVE_VISUALIZATION_ERROR: "chat.save-visualization-error";
324
+ readonly COPY_TO_CLIPBOARD: "chat.copy-to-clipboard";
325
+ };
326
+ /**
327
+ * Union of known chat event names.
306
328
  *
307
329
  * @alpha
308
330
  */
309
- export interface IAiAssistantPublisherDocumentSavedEvent extends IPluggableAppEvent {
310
- readonly type: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.PUBLISHER_DOCUMENT_SAVED";
311
- readonly payload: {
312
- /**
313
- * Conversation the document was drafted in.
314
- */
315
- readonly conversationId: string;
316
- /**
317
- * Conversation item that holds the drafted document.
318
- */
319
- readonly itemId: string;
320
- /**
321
- * Name of the document within the item. Omitted when the draft carries none; the item's only
322
- * document is meant then.
323
- */
324
- readonly documentRef?: string;
325
- /**
326
- * Identifier of the document the draft was saved as.
327
- */
328
- readonly savedDocumentId: string;
329
- /**
330
- * Publisher content version of the saved draft, which decides where the conversation records the
331
- * save. Omitted by applications that predate it.
332
- */
333
- readonly format?: "aac-v1" | "aac-v2";
334
- };
335
- }
331
+ export type KnownAiAssistantChatEventName = (typeof AiAssistantChatEventName)[keyof typeof AiAssistantChatEventName];
336
332
  /**
337
- * Creates an {@link IAiAssistantPublisherDocumentSavedEvent}.
333
+ * Name of an event the host-owned chat sends to the active application.
334
+ *
335
+ * @remarks
336
+ * Open for extension (`string & {}`) so that a chat newer than the application can send events the
337
+ * application does not know yet. For known events, prefer values from {@link (AiAssistantChatEventName:variable)}.
338
338
  *
339
339
  * @alpha
340
340
  */
341
- export declare function aiAssistantPublisherDocumentSaved(payload: IAiAssistantPublisherDocumentSavedEvent["payload"]): IAiAssistantPublisherDocumentSavedEvent;
341
+ export type AiAssistantChatEventName = KnownAiAssistantChatEventName | (string & {});
342
342
  /**
343
- * Type guard for {@link IAiAssistantPublisherDocumentSavedEvent}.
344
- *
345
- * @remarks
346
- * Validates the payload shape too, so a malformed event is rejected rather than narrowed to a type
347
- * whose later `payload.conversationId` access would be wrong.
343
+ * An event of the host-owned AI assistant chat, as the host relays it to the active application.
348
344
  *
349
345
  * @alpha
350
346
  */
351
- export declare function isAiAssistantPublisherDocumentSavedEvent(obj: unknown): obj is IAiAssistantPublisherDocumentSavedEvent;
347
+ export interface IAiAssistantChatEvent {
348
+ readonly name: AiAssistantChatEventName;
349
+ readonly payload: Record<string, unknown>;
350
+ }
352
351
  /**
353
- * A document version the host assistant drafted, carried by the `chat.definition-received` event an
354
- * application receives through {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive}.
352
+ * A document version the host assistant drafted, carried by a {@link (AiAssistantChatEventName:variable).DEFINITION_RECEIVED}
353
+ * event whose `definitionType` is `"publisherDocument"`.
355
354
  *
356
355
  * @remarks
357
356
  * The assistant writes these fields and the editor applies the version from them, so both type them
@@ -393,9 +392,9 @@ export declare function isAiAssistantPublisherDocumentDefinition(obj: unknown):
393
392
  readonly publisherDocument: unknown;
394
393
  };
395
394
  /**
396
- * A document version of Publisher content v2 the host assistant drafted, carried by the
397
- * `chat.definition-received` event an application receives through
398
- * {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive}.
395
+ * A document version of Publisher content v2 the host assistant drafted, carried by a
396
+ * {@link (AiAssistantChatEventName:variable).DEFINITION_RECEIVED} event whose `definitionType` is
397
+ * `"publisherDocumentV2"`.
399
398
  *
400
399
  * @remarks
401
400
  * The document is in `publisherDocumentV2`, not `publisherDocument`, so one event can type both
@@ -437,12 +436,157 @@ export declare function isAiAssistantPublisherDocumentDefinitionV2(obj: unknown)
437
436
  readonly publisherDocumentV2: unknown;
438
437
  };
439
438
  /**
440
- * Event telling the host assistant that a dashboard and its draft insights were saved.
439
+ * Payload of a {@link (AiAssistantChatEventName:variable).DEFINITION_RECEIVED} event: an object the assistant
440
+ * drafted in a conversation.
441
+ *
442
+ * @remarks
443
+ * `definitionType` says which of the optional members carries the draft: `dashboard` (with its
444
+ * `insights`) for `"dashboard"`, the {@link IAiAssistantPublisherDocumentDefinition} fields for
445
+ * `"publisherDocument"`, the {@link IAiAssistantPublisherDocumentDefinitionV2} fields for
446
+ * `"publisherDocumentV2"`. A `"visualization"` or `"alert"` draft is carried in the chat's own
447
+ * members beyond this type.
448
+ *
449
+ * @alpha
450
+ */
451
+ export type IAiAssistantDefinitionReceivedPayload = {
452
+ readonly definitionType: "dashboard" | "visualization" | "publisherDocument" | "publisherDocumentV2" | "alert";
453
+ /**
454
+ * Identifier of the item that holds the draft: the streamed interaction id for a live response,
455
+ * or the stored conversation item id for a history replay.
456
+ */
457
+ readonly itemId: string;
458
+ /**
459
+ * Local identifier of the conversation that holds the draft, not the backend thread id.
460
+ */
461
+ readonly conversationId: string;
462
+ /**
463
+ * Backend thread id of the conversation, when known.
464
+ */
465
+ readonly threadId?: string;
466
+ /**
467
+ * Stored response id of a draft replayed from chat history.
468
+ * A live draft leaves this unset or empty, which tells a replay from a live response.
469
+ */
470
+ readonly interactionId?: string;
471
+ /**
472
+ * Dashboard draft, populated when `definitionType` is `"dashboard"`.
473
+ */
474
+ readonly dashboard?: IDashboard;
475
+ /**
476
+ * Insights the dashboard draft references, populated when `definitionType` is `"dashboard"`.
477
+ * An empty array means the dashboard content references no insights.
478
+ */
479
+ readonly insights?: IInsight[];
480
+ } & Partial<IAiAssistantPublisherDocumentDefinition> & Partial<Pick<IAiAssistantPublisherDocumentDefinitionV2, "publisherDocumentV2">>;
481
+ /**
482
+ * Chat event carrying an object the assistant drafted.
483
+ *
484
+ * @alpha
485
+ */
486
+ export interface IAiAssistantDefinitionReceivedChatEvent extends IAiAssistantChatEvent {
487
+ readonly name: "chat.definition-received";
488
+ readonly payload: IAiAssistantDefinitionReceivedPayload;
489
+ }
490
+ /**
491
+ * Type guard for {@link IAiAssistantDefinitionReceivedChatEvent}.
492
+ *
493
+ * @remarks
494
+ * Validates the discriminator and the ids, so a malformed event is rejected rather than narrowed to a
495
+ * type whose later `payload.conversationId` access would be wrong. The draft itself stays as the chat
496
+ * sent it: whoever applies it validates it.
497
+ *
498
+ * @alpha
499
+ */
500
+ export declare function isAiAssistantDefinitionReceivedChatEvent(event: IAiAssistantChatEvent): event is IAiAssistantDefinitionReceivedChatEvent;
501
+ /**
502
+ * Known events the active application sends to the host-owned AI assistant chat.
503
+ *
504
+ * @remarks
505
+ * The application wraps one in {@link aiAssistantEventSent} and emits it through the `onEvent`
506
+ * mount option. The host hands it to its chat without reading it; the chat picks the events it
507
+ * acts on by `name`.
508
+ *
509
+ * @alpha
510
+ */
511
+ export declare const AiAssistantAppEventName: {
512
+ readonly PUBLISHER_DOCUMENT_SAVED: "app.publisher-document-saved";
513
+ readonly DASHBOARD_SAVED: "app.dashboard-saved";
514
+ };
515
+ /**
516
+ * Union of known application event names.
517
+ *
518
+ * @alpha
519
+ */
520
+ export type KnownAiAssistantAppEventName = (typeof AiAssistantAppEventName)[keyof typeof AiAssistantAppEventName];
521
+ /**
522
+ * Name of an event the active application sends to the host-owned chat.
523
+ *
524
+ * @remarks
525
+ * Open for extension (`string & {}`) so that an application newer than the chat can send events the
526
+ * chat does not know yet. For known events, prefer values from {@link (AiAssistantAppEventName:variable)}.
527
+ *
528
+ * @alpha
529
+ */
530
+ export type AiAssistantAppEventName = KnownAiAssistantAppEventName | (string & {});
531
+ /**
532
+ * An event of the active application, as the host relays it to its AI assistant chat.
533
+ *
534
+ * @alpha
535
+ */
536
+ export interface IAiAssistantAppEvent {
537
+ readonly name: AiAssistantAppEventName;
538
+ readonly payload: Record<string, unknown>;
539
+ }
540
+ /**
541
+ * Application event telling the chat that a document it drafted was saved.
542
+ *
543
+ * @remarks
544
+ * The chat keeps its own copy of the conversation, which only learns about a save when the thread is
545
+ * loaded again. The application that saved the document sends this once per save, so the document in
546
+ * the chat reads as saved and links to the saved document right away.
547
+ *
548
+ * @alpha
549
+ */
550
+ export interface IAiAssistantPublisherDocumentSavedAppEvent extends IAiAssistantAppEvent {
551
+ readonly name: "app.publisher-document-saved";
552
+ readonly payload: {
553
+ /**
554
+ * Conversation the document was drafted in.
555
+ */
556
+ readonly conversationId: string;
557
+ /**
558
+ * Conversation item that holds the drafted document.
559
+ */
560
+ readonly itemId: string;
561
+ /**
562
+ * Name of the document within the item. Omitted when the draft carries none; the item's only
563
+ * document is meant then.
564
+ */
565
+ readonly documentRef?: string;
566
+ /**
567
+ * Identifier of the document the draft was saved as.
568
+ */
569
+ readonly savedDocumentId: string;
570
+ /**
571
+ * Publisher content version of the saved draft, which decides where the conversation records the
572
+ * save. Omitted by applications that predate it.
573
+ */
574
+ readonly format?: "aac-v1" | "aac-v2";
575
+ };
576
+ }
577
+ /**
578
+ * Type guard for {@link IAiAssistantPublisherDocumentSavedAppEvent}.
579
+ *
580
+ * @alpha
581
+ */
582
+ export declare function isAiAssistantPublisherDocumentSavedAppEvent(event: IAiAssistantAppEvent): event is IAiAssistantPublisherDocumentSavedAppEvent;
583
+ /**
584
+ * Application event telling the chat that a dashboard it drafted was saved, with its draft insights.
441
585
  *
442
586
  * @alpha
443
587
  */
444
- export interface IAiAssistantDashboardSavedEvent extends IPluggableAppEvent {
445
- readonly type: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.DASHBOARD_SAVED";
588
+ export interface IAiAssistantDashboardSavedAppEvent extends IAiAssistantAppEvent {
589
+ readonly name: "app.dashboard-saved";
446
590
  readonly payload: {
447
591
  readonly conversationId: string;
448
592
  readonly originalDashboardId: string;
@@ -454,17 +598,52 @@ export interface IAiAssistantDashboardSavedEvent extends IPluggableAppEvent {
454
598
  };
455
599
  }
456
600
  /**
457
- * Creates an {@link IAiAssistantDashboardSavedEvent}.
601
+ * Type guard for {@link IAiAssistantDashboardSavedAppEvent}.
458
602
  *
459
603
  * @alpha
460
604
  */
461
- export declare function aiAssistantDashboardSaved(payload: IAiAssistantDashboardSavedEvent["payload"]): IAiAssistantDashboardSavedEvent;
605
+ export declare function isAiAssistantDashboardSavedAppEvent(event: IAiAssistantAppEvent): event is IAiAssistantDashboardSavedAppEvent;
462
606
  /**
463
- * Type guard for {@link IAiAssistantDashboardSavedEvent}.
607
+ * Event carrying an {@link IAiAssistantAppEvent} from the application to the host-owned chat.
608
+ *
609
+ * @remarks
610
+ * Counterpart of {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive}. The host checks
611
+ * only the envelope and hands the application event to its chat as is.
464
612
  *
465
613
  * @alpha
466
614
  */
467
- export declare function isAiAssistantDashboardSavedEvent(obj: unknown): obj is IAiAssistantDashboardSavedEvent;
615
+ export interface IAiAssistantEventSentEvent extends IPluggableAppEvent {
616
+ readonly type: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.EVENT_SENT";
617
+ readonly payload: IAiAssistantAppEvent;
618
+ }
619
+ /**
620
+ * Creates an {@link IAiAssistantEventSentEvent}.
621
+ *
622
+ * @alpha
623
+ */
624
+ export declare function aiAssistantEventSent(event: IAiAssistantAppEvent): IAiAssistantEventSentEvent;
625
+ /**
626
+ * Creates an {@link IAiAssistantEventSentEvent} carrying an {@link IAiAssistantPublisherDocumentSavedAppEvent}.
627
+ *
628
+ * @alpha
629
+ */
630
+ export declare function aiAssistantPublisherDocumentSaved(payload: IAiAssistantPublisherDocumentSavedAppEvent["payload"]): IAiAssistantEventSentEvent;
631
+ /**
632
+ * Creates an {@link IAiAssistantEventSentEvent} carrying an {@link IAiAssistantDashboardSavedAppEvent}.
633
+ *
634
+ * @alpha
635
+ */
636
+ export declare function aiAssistantDashboardSaved(payload: IAiAssistantDashboardSavedAppEvent["payload"]): IAiAssistantEventSentEvent;
637
+ /**
638
+ * Type guard for {@link IAiAssistantEventSentEvent}.
639
+ *
640
+ * @remarks
641
+ * Validates the envelope only (a string `name` and an object `payload`), so a malformed event is
642
+ * rejected before it reaches the chat. The chat validates the application event it acts on.
643
+ *
644
+ * @alpha
645
+ */
646
+ export declare function isAiAssistantEventSentEvent(obj: unknown): obj is IAiAssistantEventSentEvent;
468
647
  /**
469
648
  * Telemetry channel determines which analytics pipeline receives the event.
470
649
  *
@@ -618,6 +797,11 @@ export interface IAppHeaderOptions {
618
797
  /**
619
798
  * Options passed by the host into a pluggable application's mount function.
620
799
  *
800
+ * @remarks
801
+ * Do not add a callback here for a message the host only hands on between the application and the
802
+ * chat. Send it as an {@link IAiAssistantAppEvent} through `onEvent` instead and name it in
803
+ * {@link (AiAssistantAppEventName:variable)}; the host must stay unaware of the chat vocabulary.
804
+ *
621
805
  * @alpha
622
806
  */
623
807
  export interface IPluggableApplicationMountOptions {
@@ -695,6 +879,11 @@ export interface IHostNavigationRequest {
695
879
  /**
696
880
  * Handle returned from mount for lifecycle management and host -\> module interaction.
697
881
  *
882
+ * @remarks
883
+ * Do not add a callback here for a message the host only hands on from the chat to the application.
884
+ * The chat's events all arrive through `onAiAssistantEventReceive`; name a new one in
885
+ * {@link (AiAssistantChatEventName:variable)} and decode it in the application.
886
+ *
698
887
  * @alpha
699
888
  */
700
889
  export interface IPluggableApplicationMountHandle {
@@ -756,20 +945,18 @@ export interface IPluggableApplicationMountHandle {
756
945
  newTab?: boolean;
757
946
  }) => boolean;
758
947
  /**
759
- * Ref the renderer populates with a handler that delegates a host-chat event to the active
760
- * app's mount handle (`onAiAssistantEventReceive`), so an embedded app can handle it in-app.
948
+ * Hands an event of the host-owned AI assistant chat to the application.
761
949
  *
762
950
  * @remarks
763
- * On hosted routes the host owns the single chat instance; an application that exposes its own
764
- * assistant controls (e.g. an embedded AI button, or the `toggleAIAssistant` postMessage command
765
- * whose result is echoed to an embedding client) needs to know the real open-state to keep those
766
- * controls and their reported results aligned with what the user sees. The host calls this
767
- * when event is received.
768
- */
769
- onAiAssistantEventReceive?: (event: {
770
- name: string;
771
- payload: Record<string, unknown>;
772
- }) => void;
951
+ * On hosted routes the host owns the single chat instance, so the application only learns what
952
+ * happens in the chat (an answer with a drafted object, a reset, clarification questions, …)
953
+ * through this callback. The host calls it with every chat event without reading it; the
954
+ * application picks the events it acts on by `name` — see {@link (AiAssistantChatEventName:variable)} and
955
+ * the typed guards such as {@link isAiAssistantDefinitionReceivedChatEvent}. Applications that
956
+ * do not react to the chat may omit it. The opposite direction is
957
+ * {@link IAiAssistantEventSentEvent}.
958
+ */
959
+ onAiAssistantEventReceive?: (event: IAiAssistantChatEvent) => void;
773
960
  }
774
961
  /**
775
962
  * Pluggable application mount function signature.
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
package/esm/mount.js CHANGED
@@ -10,8 +10,7 @@ export const PluggableAppEventType = {
10
10
  AI_ASSISTANT_OPEN_REQUESTED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.OPEN_REQUESTED",
11
11
  AI_ASSISTANT_CLOSE_REQUESTED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.CLOSE_REQUESTED",
12
12
  AI_ASSISTANT_CONTEXT_CHANGED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.CONTEXT_CHANGED",
13
- AI_ASSISTANT_PUBLISHER_DOCUMENT_SAVED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.PUBLISHER_DOCUMENT_SAVED",
14
- AI_ASSISTANT_DASHBOARD_SAVED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.DASHBOARD_SAVED",
13
+ AI_ASSISTANT_EVENT_SENT: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.EVENT_SENT",
15
14
  PRICING_DIALOG_OPEN_REQUESTED: "GDC.PLUGGABLE_APP/EVT.PRICING_DIALOG.OPEN_REQUESTED",
16
15
  };
17
16
  /**
@@ -170,39 +169,33 @@ export function isAiAssistantContextChangedEvent(obj) {
170
169
  (userContext === undefined || (typeof userContext === "object" && userContext !== null)));
171
170
  }
172
171
  /**
173
- * Creates an {@link IAiAssistantPublisherDocumentSavedEvent}.
174
- *
175
- * @alpha
176
- */
177
- export function aiAssistantPublisherDocumentSaved(payload) {
178
- return { type: PluggableAppEventType.AI_ASSISTANT_PUBLISHER_DOCUMENT_SAVED, payload };
179
- }
180
- /**
181
- * Type guard for {@link IAiAssistantPublisherDocumentSavedEvent}.
172
+ * Known events the host-owned AI assistant chat sends to the active application.
182
173
  *
183
174
  * @remarks
184
- * Validates the payload shape too, so a malformed event is rejected rather than narrowed to a type
185
- * whose later `payload.conversationId` access would be wrong.
175
+ * The host forwards every chat event to the active application through
176
+ * {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive} without reading it. The
177
+ * application picks the events it acts on by `name`.
186
178
  *
187
179
  * @alpha
188
180
  */
189
- export function isAiAssistantPublisherDocumentSavedEvent(obj) {
190
- if (typeof obj !== "object" ||
191
- obj === null ||
192
- obj.type !== PluggableAppEventType.AI_ASSISTANT_PUBLISHER_DOCUMENT_SAVED) {
193
- return false;
194
- }
195
- const payload = obj.payload;
196
- if (typeof payload !== "object" || payload === null || Array.isArray(payload)) {
197
- return false;
198
- }
199
- const { conversationId, itemId, documentRef, savedDocumentId, format } = payload;
200
- return (typeof conversationId === "string" &&
201
- typeof itemId === "string" &&
202
- (documentRef === undefined || typeof documentRef === "string") &&
203
- typeof savedDocumentId === "string" &&
204
- (format === undefined || format === "aac-v1" || format === "aac-v2"));
205
- }
181
+ export const AiAssistantChatEventName = {
182
+ OPENED: "chat.opened",
183
+ CLOSED: "chat.closed",
184
+ RESET: "chat.reset",
185
+ CONVERSATION_CHANGED: "chat.conversation-changed",
186
+ FEEDBACK: "chat.feedback",
187
+ FEEDBACK_ERROR: "chat.feedback-error",
188
+ USER_MESSAGE: "chat.user-message",
189
+ USER_ANSWERS: "chat.user-answers",
190
+ ASSISTANT_MESSAGE: "chat.assistant-message",
191
+ REASONING: "chat.reasoning",
192
+ MODE_CHANGED: "chat.mode-changed",
193
+ DEFINITION_RECEIVED: "chat.definition-received",
194
+ CLARIFICATION_QUESTIONS: "chat.clarification-questions",
195
+ SAVE_VISUALIZATION_SUCCESS: "chat.save-visualization-success",
196
+ SAVE_VISUALIZATION_ERROR: "chat.save-visualization-error",
197
+ COPY_TO_CLIPBOARD: "chat.copy-to-clipboard",
198
+ };
206
199
  /**
207
200
  * Type guard for the fields of {@link IAiAssistantPublisherDocumentDefinition}.
208
201
  *
@@ -246,29 +239,70 @@ export function isAiAssistantPublisherDocumentDefinitionV2(obj) {
246
239
  (baseDocumentId === undefined || typeof baseDocumentId === "string"));
247
240
  }
248
241
  /**
249
- * Creates an {@link IAiAssistantDashboardSavedEvent}.
242
+ * Type guard for {@link IAiAssistantDefinitionReceivedChatEvent}.
243
+ *
244
+ * @remarks
245
+ * Validates the discriminator and the ids, so a malformed event is rejected rather than narrowed to a
246
+ * type whose later `payload.conversationId` access would be wrong. The draft itself stays as the chat
247
+ * sent it: whoever applies it validates it.
250
248
  *
251
249
  * @alpha
252
250
  */
253
- export function aiAssistantDashboardSaved(payload) {
254
- return { type: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.DASHBOARD_SAVED", payload };
251
+ export function isAiAssistantDefinitionReceivedChatEvent(event) {
252
+ if (event.name !== AiAssistantChatEventName.DEFINITION_RECEIVED) {
253
+ return false;
254
+ }
255
+ const { definitionType, itemId, conversationId, threadId, interactionId } = event.payload;
256
+ return ((definitionType === "dashboard" ||
257
+ definitionType === "visualization" ||
258
+ definitionType === "publisherDocument" ||
259
+ definitionType === "publisherDocumentV2" ||
260
+ definitionType === "alert") &&
261
+ typeof itemId === "string" &&
262
+ typeof conversationId === "string" &&
263
+ (threadId === undefined || typeof threadId === "string") &&
264
+ (interactionId === undefined || typeof interactionId === "string"));
255
265
  }
256
266
  /**
257
- * Type guard for {@link IAiAssistantDashboardSavedEvent}.
267
+ * Known events the active application sends to the host-owned AI assistant chat.
268
+ *
269
+ * @remarks
270
+ * The application wraps one in {@link aiAssistantEventSent} and emits it through the `onEvent`
271
+ * mount option. The host hands it to its chat without reading it; the chat picks the events it
272
+ * acts on by `name`.
258
273
  *
259
274
  * @alpha
260
275
  */
261
- export function isAiAssistantDashboardSavedEvent(obj) {
262
- if (typeof obj !== "object" ||
263
- obj === null ||
264
- obj.type !== "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.DASHBOARD_SAVED") {
276
+ export const AiAssistantAppEventName = {
277
+ PUBLISHER_DOCUMENT_SAVED: "app.publisher-document-saved",
278
+ DASHBOARD_SAVED: "app.dashboard-saved",
279
+ };
280
+ /**
281
+ * Type guard for {@link IAiAssistantPublisherDocumentSavedAppEvent}.
282
+ *
283
+ * @alpha
284
+ */
285
+ export function isAiAssistantPublisherDocumentSavedAppEvent(event) {
286
+ if (event.name !== AiAssistantAppEventName.PUBLISHER_DOCUMENT_SAVED) {
265
287
  return false;
266
288
  }
267
- const payload = obj.payload;
268
- if (typeof payload !== "object" || payload === null || Array.isArray(payload)) {
289
+ const { conversationId, itemId, documentRef, savedDocumentId, format } = event.payload;
290
+ return (typeof conversationId === "string" &&
291
+ typeof itemId === "string" &&
292
+ (documentRef === undefined || typeof documentRef === "string") &&
293
+ typeof savedDocumentId === "string" &&
294
+ (format === undefined || format === "aac-v1" || format === "aac-v2"));
295
+ }
296
+ /**
297
+ * Type guard for {@link IAiAssistantDashboardSavedAppEvent}.
298
+ *
299
+ * @alpha
300
+ */
301
+ export function isAiAssistantDashboardSavedAppEvent(event) {
302
+ if (event.name !== AiAssistantAppEventName.DASHBOARD_SAVED) {
269
303
  return false;
270
304
  }
271
- const { conversationId, originalDashboardId, savedDashboardId, savedInsights } = payload;
305
+ const { conversationId, originalDashboardId, savedDashboardId, savedInsights } = event.payload;
272
306
  return (typeof conversationId === "string" &&
273
307
  typeof originalDashboardId === "string" &&
274
308
  typeof savedDashboardId === "string" &&
@@ -278,3 +312,49 @@ export function isAiAssistantDashboardSavedEvent(obj) {
278
312
  typeof insight.originalInsightId === "string" &&
279
313
  typeof insight.savedInsightId === "string"));
280
314
  }
315
+ /**
316
+ * Creates an {@link IAiAssistantEventSentEvent}.
317
+ *
318
+ * @alpha
319
+ */
320
+ export function aiAssistantEventSent(event) {
321
+ return { type: PluggableAppEventType.AI_ASSISTANT_EVENT_SENT, payload: event };
322
+ }
323
+ /**
324
+ * Creates an {@link IAiAssistantEventSentEvent} carrying an {@link IAiAssistantPublisherDocumentSavedAppEvent}.
325
+ *
326
+ * @alpha
327
+ */
328
+ export function aiAssistantPublisherDocumentSaved(payload) {
329
+ return aiAssistantEventSent({ name: AiAssistantAppEventName.PUBLISHER_DOCUMENT_SAVED, payload });
330
+ }
331
+ /**
332
+ * Creates an {@link IAiAssistantEventSentEvent} carrying an {@link IAiAssistantDashboardSavedAppEvent}.
333
+ *
334
+ * @alpha
335
+ */
336
+ export function aiAssistantDashboardSaved(payload) {
337
+ return aiAssistantEventSent({ name: AiAssistantAppEventName.DASHBOARD_SAVED, payload });
338
+ }
339
+ /**
340
+ * Type guard for {@link IAiAssistantEventSentEvent}.
341
+ *
342
+ * @remarks
343
+ * Validates the envelope only (a string `name` and an object `payload`), so a malformed event is
344
+ * rejected before it reaches the chat. The chat validates the application event it acts on.
345
+ *
346
+ * @alpha
347
+ */
348
+ export function isAiAssistantEventSentEvent(obj) {
349
+ if (typeof obj !== "object" ||
350
+ obj === null ||
351
+ obj.type !== PluggableAppEventType.AI_ASSISTANT_EVENT_SENT) {
352
+ return false;
353
+ }
354
+ const event = obj.payload;
355
+ if (typeof event !== "object" || event === null || Array.isArray(event)) {
356
+ return false;
357
+ }
358
+ const { name, payload } = event;
359
+ return (typeof name === "string" && typeof payload === "object" && payload !== null && !Array.isArray(payload));
360
+ }
@@ -7,8 +7,10 @@
7
7
  import { ApplicationScope } from '@gooddata/sdk-model';
8
8
  import { GenAIChatEffort } from '@gooddata/sdk-model';
9
9
  import { IColorPalette } from '@gooddata/sdk-model';
10
+ import { IDashboard } from '@gooddata/sdk-model';
10
11
  import { IEntitlementDescriptor } from '@gooddata/sdk-model';
11
12
  import { IGenAIUserContext } from '@gooddata/sdk-model';
13
+ import { IInsight } from '@gooddata/sdk-model';
12
14
  import { ILocale } from '@gooddata/sdk-model';
13
15
  import { IPublisherDocumentDefinition } from '@gooddata/sdk-model';
14
16
  import { IPublisherDocumentDefinitionV2 } from '@gooddata/sdk-model';
@@ -21,6 +23,72 @@ import { IWorkspacePermissions } from '@gooddata/sdk-model';
21
23
  import { ObjRef } from '@gooddata/sdk-model';
22
24
  import { PluggableApplicationRegistryItem } from '@gooddata/sdk-model';
23
25
 
26
+ /**
27
+ * Known events the active application sends to the host-owned AI assistant chat.
28
+ *
29
+ * @remarks
30
+ * The application wraps one in {@link aiAssistantEventSent} and emits it through the `onEvent`
31
+ * mount option. The host hands it to its chat without reading it; the chat picks the events it
32
+ * acts on by `name`.
33
+ *
34
+ * @alpha
35
+ */
36
+ export declare const AiAssistantAppEventName: {
37
+ readonly PUBLISHER_DOCUMENT_SAVED: "app.publisher-document-saved";
38
+ readonly DASHBOARD_SAVED: "app.dashboard-saved";
39
+ };
40
+
41
+ /**
42
+ * Name of an event the active application sends to the host-owned chat.
43
+ *
44
+ * @remarks
45
+ * Open for extension (`string & {}`) so that an application newer than the chat can send events the
46
+ * chat does not know yet. For known events, prefer values from {@link (AiAssistantAppEventName:variable)}.
47
+ *
48
+ * @alpha
49
+ */
50
+ export declare type AiAssistantAppEventName = KnownAiAssistantAppEventName | (string & {});
51
+
52
+ /**
53
+ * Known events the host-owned AI assistant chat sends to the active application.
54
+ *
55
+ * @remarks
56
+ * The host forwards every chat event to the active application through
57
+ * {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive} without reading it. The
58
+ * application picks the events it acts on by `name`.
59
+ *
60
+ * @alpha
61
+ */
62
+ export declare const AiAssistantChatEventName: {
63
+ readonly OPENED: "chat.opened";
64
+ readonly CLOSED: "chat.closed";
65
+ readonly RESET: "chat.reset";
66
+ readonly CONVERSATION_CHANGED: "chat.conversation-changed";
67
+ readonly FEEDBACK: "chat.feedback";
68
+ readonly FEEDBACK_ERROR: "chat.feedback-error";
69
+ readonly USER_MESSAGE: "chat.user-message";
70
+ readonly USER_ANSWERS: "chat.user-answers";
71
+ readonly ASSISTANT_MESSAGE: "chat.assistant-message";
72
+ readonly REASONING: "chat.reasoning";
73
+ readonly MODE_CHANGED: "chat.mode-changed";
74
+ readonly DEFINITION_RECEIVED: "chat.definition-received";
75
+ readonly CLARIFICATION_QUESTIONS: "chat.clarification-questions";
76
+ readonly SAVE_VISUALIZATION_SUCCESS: "chat.save-visualization-success";
77
+ readonly SAVE_VISUALIZATION_ERROR: "chat.save-visualization-error";
78
+ readonly COPY_TO_CLIPBOARD: "chat.copy-to-clipboard";
79
+ };
80
+
81
+ /**
82
+ * Name of an event the host-owned chat sends to the active application.
83
+ *
84
+ * @remarks
85
+ * Open for extension (`string & {}`) so that a chat newer than the application can send events the
86
+ * application does not know yet. For known events, prefer values from {@link (AiAssistantChatEventName:variable)}.
87
+ *
88
+ * @alpha
89
+ */
90
+ export declare type AiAssistantChatEventName = KnownAiAssistantChatEventName | (string & {});
91
+
24
92
  /**
25
93
  * Creates an {@link IAiAssistantContextChangedEvent}.
26
94
  *
@@ -37,18 +105,25 @@ export declare function aiAssistantContextChanged(payload?: {
37
105
  }): IAiAssistantContextChangedEvent;
38
106
 
39
107
  /**
40
- * Creates an {@link IAiAssistantDashboardSavedEvent}.
108
+ * Creates an {@link IAiAssistantEventSentEvent} carrying an {@link IAiAssistantDashboardSavedAppEvent}.
109
+ *
110
+ * @alpha
111
+ */
112
+ export declare function aiAssistantDashboardSaved(payload: IAiAssistantDashboardSavedAppEvent["payload"]): IAiAssistantEventSentEvent;
113
+
114
+ /**
115
+ * Creates an {@link IAiAssistantEventSentEvent}.
41
116
  *
42
117
  * @alpha
43
118
  */
44
- export declare function aiAssistantDashboardSaved(payload: IAiAssistantDashboardSavedEvent["payload"]): IAiAssistantDashboardSavedEvent;
119
+ export declare function aiAssistantEventSent(event: IAiAssistantAppEvent): IAiAssistantEventSentEvent;
45
120
 
46
121
  /**
47
- * Creates an {@link IAiAssistantPublisherDocumentSavedEvent}.
122
+ * Creates an {@link IAiAssistantEventSentEvent} carrying an {@link IAiAssistantPublisherDocumentSavedAppEvent}.
48
123
  *
49
124
  * @alpha
50
125
  */
51
- export declare function aiAssistantPublisherDocumentSaved(payload: IAiAssistantPublisherDocumentSavedEvent["payload"]): IAiAssistantPublisherDocumentSavedEvent;
126
+ export declare function aiAssistantPublisherDocumentSaved(payload: IAiAssistantPublisherDocumentSavedAppEvent["payload"]): IAiAssistantEventSentEvent;
52
127
 
53
128
  /**
54
129
  * Creates an {@link ICloseAiAssistantRequestedEvent}.
@@ -104,6 +179,26 @@ export declare type EmbeddingMode = "none" | "iframe";
104
179
  */
105
180
  export declare type HostUiMount = (options: IHostUiMountOptions) => IHostUiMountHandle;
106
181
 
182
+ /**
183
+ * An event of the active application, as the host relays it to its AI assistant chat.
184
+ *
185
+ * @alpha
186
+ */
187
+ export declare interface IAiAssistantAppEvent {
188
+ readonly name: AiAssistantAppEventName;
189
+ readonly payload: Record<string, unknown>;
190
+ }
191
+
192
+ /**
193
+ * An event of the host-owned AI assistant chat, as the host relays it to the active application.
194
+ *
195
+ * @alpha
196
+ */
197
+ export declare interface IAiAssistantChatEvent {
198
+ readonly name: AiAssistantChatEventName;
199
+ readonly payload: Record<string, unknown>;
200
+ }
201
+
107
202
  /**
108
203
  * Event informing the host of the active application's current AI-assistant tag scope.
109
204
  *
@@ -160,12 +255,12 @@ export declare interface IAiAssistantContextChangedEvent extends IPluggableAppEv
160
255
  }
161
256
 
162
257
  /**
163
- * Event telling the host assistant that a dashboard and its draft insights were saved.
258
+ * Application event telling the chat that a dashboard it drafted was saved, with its draft insights.
164
259
  *
165
260
  * @alpha
166
261
  */
167
- export declare interface IAiAssistantDashboardSavedEvent extends IPluggableAppEvent {
168
- readonly type: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.DASHBOARD_SAVED";
262
+ export declare interface IAiAssistantDashboardSavedAppEvent extends IAiAssistantAppEvent {
263
+ readonly name: "app.dashboard-saved";
169
264
  readonly payload: {
170
265
  readonly conversationId: string;
171
266
  readonly originalDashboardId: string;
@@ -178,8 +273,76 @@ export declare interface IAiAssistantDashboardSavedEvent extends IPluggableAppEv
178
273
  }
179
274
 
180
275
  /**
181
- * A document version the host assistant drafted, carried by the `chat.definition-received` event an
182
- * application receives through {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive}.
276
+ * Chat event carrying an object the assistant drafted.
277
+ *
278
+ * @alpha
279
+ */
280
+ export declare interface IAiAssistantDefinitionReceivedChatEvent extends IAiAssistantChatEvent {
281
+ readonly name: "chat.definition-received";
282
+ readonly payload: IAiAssistantDefinitionReceivedPayload;
283
+ }
284
+
285
+ /**
286
+ * Payload of a {@link (AiAssistantChatEventName:variable).DEFINITION_RECEIVED} event: an object the assistant
287
+ * drafted in a conversation.
288
+ *
289
+ * @remarks
290
+ * `definitionType` says which of the optional members carries the draft: `dashboard` (with its
291
+ * `insights`) for `"dashboard"`, the {@link IAiAssistantPublisherDocumentDefinition} fields for
292
+ * `"publisherDocument"`, the {@link IAiAssistantPublisherDocumentDefinitionV2} fields for
293
+ * `"publisherDocumentV2"`. A `"visualization"` or `"alert"` draft is carried in the chat's own
294
+ * members beyond this type.
295
+ *
296
+ * @alpha
297
+ */
298
+ export declare type IAiAssistantDefinitionReceivedPayload = {
299
+ readonly definitionType: "dashboard" | "visualization" | "publisherDocument" | "publisherDocumentV2" | "alert";
300
+ /**
301
+ * Identifier of the item that holds the draft: the streamed interaction id for a live response,
302
+ * or the stored conversation item id for a history replay.
303
+ */
304
+ readonly itemId: string;
305
+ /**
306
+ * Local identifier of the conversation that holds the draft, not the backend thread id.
307
+ */
308
+ readonly conversationId: string;
309
+ /**
310
+ * Backend thread id of the conversation, when known.
311
+ */
312
+ readonly threadId?: string;
313
+ /**
314
+ * Stored response id of a draft replayed from chat history.
315
+ * A live draft leaves this unset or empty, which tells a replay from a live response.
316
+ */
317
+ readonly interactionId?: string;
318
+ /**
319
+ * Dashboard draft, populated when `definitionType` is `"dashboard"`.
320
+ */
321
+ readonly dashboard?: IDashboard;
322
+ /**
323
+ * Insights the dashboard draft references, populated when `definitionType` is `"dashboard"`.
324
+ * An empty array means the dashboard content references no insights.
325
+ */
326
+ readonly insights?: IInsight[];
327
+ } & Partial<IAiAssistantPublisherDocumentDefinition> & Partial<Pick<IAiAssistantPublisherDocumentDefinitionV2, "publisherDocumentV2">>;
328
+
329
+ /**
330
+ * Event carrying an {@link IAiAssistantAppEvent} from the application to the host-owned chat.
331
+ *
332
+ * @remarks
333
+ * Counterpart of {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive}. The host checks
334
+ * only the envelope and hands the application event to its chat as is.
335
+ *
336
+ * @alpha
337
+ */
338
+ export declare interface IAiAssistantEventSentEvent extends IPluggableAppEvent {
339
+ readonly type: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.EVENT_SENT";
340
+ readonly payload: IAiAssistantAppEvent;
341
+ }
342
+
343
+ /**
344
+ * A document version the host assistant drafted, carried by a {@link (AiAssistantChatEventName:variable).DEFINITION_RECEIVED}
345
+ * event whose `definitionType` is `"publisherDocument"`.
183
346
  *
184
347
  * @remarks
185
348
  * The assistant writes these fields and the editor applies the version from them, so both type them
@@ -211,9 +374,9 @@ export declare interface IAiAssistantPublisherDocumentDefinition {
211
374
  }
212
375
 
213
376
  /**
214
- * A document version of Publisher content v2 the host assistant drafted, carried by the
215
- * `chat.definition-received` event an application receives through
216
- * {@link IPluggableApplicationMountHandle.onAiAssistantEventReceive}.
377
+ * A document version of Publisher content v2 the host assistant drafted, carried by a
378
+ * {@link (AiAssistantChatEventName:variable).DEFINITION_RECEIVED} event whose `definitionType` is
379
+ * `"publisherDocumentV2"`.
217
380
  *
218
381
  * @remarks
219
382
  * The document is in `publisherDocumentV2`, not `publisherDocument`, so one event can type both
@@ -245,17 +408,17 @@ export declare interface IAiAssistantPublisherDocumentDefinitionV2 {
245
408
  }
246
409
 
247
410
  /**
248
- * Event telling the host assistant that a document it drafted was saved.
411
+ * Application event telling the chat that a document it drafted was saved.
249
412
  *
250
413
  * @remarks
251
- * The assistant keeps its own copy of the conversation, which only learns about a save when the
252
- * thread is loaded again. The application that saved the document emits this once per save, so the
253
- * document in the chat reads as saved and links to the saved document right away.
414
+ * The chat keeps its own copy of the conversation, which only learns about a save when the thread is
415
+ * loaded again. The application that saved the document sends this once per save, so the document in
416
+ * the chat reads as saved and links to the saved document right away.
254
417
  *
255
418
  * @alpha
256
419
  */
257
- export declare interface IAiAssistantPublisherDocumentSavedEvent extends IPluggableAppEvent {
258
- readonly type: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.PUBLISHER_DOCUMENT_SAVED";
420
+ export declare interface IAiAssistantPublisherDocumentSavedAppEvent extends IAiAssistantAppEvent {
421
+ readonly name: "app.publisher-document-saved";
259
422
  readonly payload: {
260
423
  /**
261
424
  * Conversation the document was drafted in.
@@ -897,6 +1060,11 @@ export declare interface IPluggableAppEvent {
897
1060
  /**
898
1061
  * Handle returned from mount for lifecycle management and host -\> module interaction.
899
1062
  *
1063
+ * @remarks
1064
+ * Do not add a callback here for a message the host only hands on from the chat to the application.
1065
+ * The chat's events all arrive through `onAiAssistantEventReceive`; name a new one in
1066
+ * {@link (AiAssistantChatEventName:variable)} and decode it in the application.
1067
+ *
900
1068
  * @alpha
901
1069
  */
902
1070
  export declare interface IPluggableApplicationMountHandle {
@@ -958,25 +1126,28 @@ export declare interface IPluggableApplicationMountHandle {
958
1126
  newTab?: boolean;
959
1127
  }) => boolean;
960
1128
  /**
961
- * Ref the renderer populates with a handler that delegates a host-chat event to the active
962
- * app's mount handle (`onAiAssistantEventReceive`), so an embedded app can handle it in-app.
1129
+ * Hands an event of the host-owned AI assistant chat to the application.
963
1130
  *
964
1131
  * @remarks
965
- * On hosted routes the host owns the single chat instance; an application that exposes its own
966
- * assistant controls (e.g. an embedded AI button, or the `toggleAIAssistant` postMessage command
967
- * whose result is echoed to an embedding client) needs to know the real open-state to keep those
968
- * controls and their reported results aligned with what the user sees. The host calls this
969
- * when event is received.
1132
+ * On hosted routes the host owns the single chat instance, so the application only learns what
1133
+ * happens in the chat (an answer with a drafted object, a reset, clarification questions, …)
1134
+ * through this callback. The host calls it with every chat event without reading it; the
1135
+ * application picks the events it acts on by `name` — see {@link (AiAssistantChatEventName:variable)} and
1136
+ * the typed guards such as {@link isAiAssistantDefinitionReceivedChatEvent}. Applications that
1137
+ * do not react to the chat may omit it. The opposite direction is
1138
+ * {@link IAiAssistantEventSentEvent}.
970
1139
  */
971
- onAiAssistantEventReceive?: (event: {
972
- name: string;
973
- payload: Record<string, unknown>;
974
- }) => void;
1140
+ onAiAssistantEventReceive?: (event: IAiAssistantChatEvent) => void;
975
1141
  }
976
1142
 
977
1143
  /**
978
1144
  * Options passed by the host into a pluggable application's mount function.
979
1145
  *
1146
+ * @remarks
1147
+ * Do not add a callback here for a message the host only hands on between the application and the
1148
+ * chat. Send it as an {@link IAiAssistantAppEvent} through `onEvent` instead and name it in
1149
+ * {@link (AiAssistantAppEventName:variable)}; the host must stay unaware of the chat vocabulary.
1150
+ *
980
1151
  * @alpha
981
1152
  */
982
1153
  export declare interface IPluggableApplicationMountOptions {
@@ -1157,11 +1328,34 @@ export declare interface IReloadPlatformContextRequestedEvent extends IPluggable
1157
1328
  export declare function isAiAssistantContextChangedEvent(obj: unknown): obj is IAiAssistantContextChangedEvent;
1158
1329
 
1159
1330
  /**
1160
- * Type guard for {@link IAiAssistantDashboardSavedEvent}.
1331
+ * Type guard for {@link IAiAssistantDashboardSavedAppEvent}.
1332
+ *
1333
+ * @alpha
1334
+ */
1335
+ export declare function isAiAssistantDashboardSavedAppEvent(event: IAiAssistantAppEvent): event is IAiAssistantDashboardSavedAppEvent;
1336
+
1337
+ /**
1338
+ * Type guard for {@link IAiAssistantDefinitionReceivedChatEvent}.
1339
+ *
1340
+ * @remarks
1341
+ * Validates the discriminator and the ids, so a malformed event is rejected rather than narrowed to a
1342
+ * type whose later `payload.conversationId` access would be wrong. The draft itself stays as the chat
1343
+ * sent it: whoever applies it validates it.
1161
1344
  *
1162
1345
  * @alpha
1163
1346
  */
1164
- export declare function isAiAssistantDashboardSavedEvent(obj: unknown): obj is IAiAssistantDashboardSavedEvent;
1347
+ export declare function isAiAssistantDefinitionReceivedChatEvent(event: IAiAssistantChatEvent): event is IAiAssistantDefinitionReceivedChatEvent;
1348
+
1349
+ /**
1350
+ * Type guard for {@link IAiAssistantEventSentEvent}.
1351
+ *
1352
+ * @remarks
1353
+ * Validates the envelope only (a string `name` and an object `payload`), so a malformed event is
1354
+ * rejected before it reaches the chat. The chat validates the application event it acts on.
1355
+ *
1356
+ * @alpha
1357
+ */
1358
+ export declare function isAiAssistantEventSentEvent(obj: unknown): obj is IAiAssistantEventSentEvent;
1165
1359
 
1166
1360
  /**
1167
1361
  * Type guard for the fields of {@link IAiAssistantPublisherDocumentDefinition}.
@@ -1188,15 +1382,11 @@ export declare function isAiAssistantPublisherDocumentDefinitionV2(obj: unknown)
1188
1382
  };
1189
1383
 
1190
1384
  /**
1191
- * Type guard for {@link IAiAssistantPublisherDocumentSavedEvent}.
1192
- *
1193
- * @remarks
1194
- * Validates the payload shape too, so a malformed event is rejected rather than narrowed to a type
1195
- * whose later `payload.conversationId` access would be wrong.
1385
+ * Type guard for {@link IAiAssistantPublisherDocumentSavedAppEvent}.
1196
1386
  *
1197
1387
  * @alpha
1198
1388
  */
1199
- export declare function isAiAssistantPublisherDocumentSavedEvent(obj: unknown): obj is IAiAssistantPublisherDocumentSavedEvent;
1389
+ export declare function isAiAssistantPublisherDocumentSavedAppEvent(event: IAiAssistantAppEvent): event is IAiAssistantPublisherDocumentSavedAppEvent;
1200
1390
 
1201
1391
  /**
1202
1392
  * Type guard for {@link ICloseAiAssistantRequestedEvent}.
@@ -1286,6 +1476,20 @@ export declare interface ITelemetryPropertySlot {
1286
1476
  scope: TelemetryPropertyScope;
1287
1477
  }
1288
1478
 
1479
+ /**
1480
+ * Union of known application event names.
1481
+ *
1482
+ * @alpha
1483
+ */
1484
+ export declare type KnownAiAssistantAppEventName = (typeof AiAssistantAppEventName)[keyof typeof AiAssistantAppEventName];
1485
+
1486
+ /**
1487
+ * Union of known chat event names.
1488
+ *
1489
+ * @alpha
1490
+ */
1491
+ export declare type KnownAiAssistantChatEventName = (typeof AiAssistantChatEventName)[keyof typeof AiAssistantChatEventName];
1492
+
1289
1493
  /**
1290
1494
  * Union of known pluggable application event type names.
1291
1495
  *
@@ -1348,8 +1552,7 @@ export declare const PluggableAppEventType: {
1348
1552
  readonly AI_ASSISTANT_OPEN_REQUESTED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.OPEN_REQUESTED";
1349
1553
  readonly AI_ASSISTANT_CLOSE_REQUESTED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.CLOSE_REQUESTED";
1350
1554
  readonly AI_ASSISTANT_CONTEXT_CHANGED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.CONTEXT_CHANGED";
1351
- readonly AI_ASSISTANT_PUBLISHER_DOCUMENT_SAVED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.PUBLISHER_DOCUMENT_SAVED";
1352
- readonly AI_ASSISTANT_DASHBOARD_SAVED: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.DASHBOARD_SAVED";
1555
+ readonly AI_ASSISTANT_EVENT_SENT: "GDC.PLUGGABLE_APP/EVT.AI_ASSISTANT.EVENT_SENT";
1353
1556
  readonly PRICING_DIALOG_OPEN_REQUESTED: "GDC.PLUGGABLE_APP/EVT.PRICING_DIALOG.OPEN_REQUESTED";
1354
1557
  };
1355
1558
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-pluggable-application-model",
3
- "version": "11.67.0-alpha.1",
3
+ "version": "11.67.0-alpha.3",
4
4
  "description": "GoodData SDK model contracts for pluggable applications",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "ts-invariant": "0.10.3",
25
25
  "tslib": "2.8.1",
26
- "@gooddata/sdk-model": "11.67.0-alpha.1"
26
+ "@gooddata/sdk-model": "11.67.0-alpha.3"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@microsoft/api-documenter": "7.30.16",
@@ -34,18 +34,18 @@
34
34
  "dependency-cruiser": "17.3.10",
35
35
  "eslint": "^9.39.2",
36
36
  "eslint-plugin-headers": "1.3.3",
37
- "eslint-plugin-import-esm": "1.2.1",
38
- "eslint-plugin-jsdoc": "62.1.0",
37
+ "eslint-plugin-import-esm": "3.0.1",
38
+ "eslint-plugin-jsdoc": "65.4.2",
39
39
  "eslint-plugin-no-barrel-files": "1.2.2",
40
- "eslint-plugin-sonarjs": "3.0.6",
40
+ "eslint-plugin-sonarjs": "4.2.2",
41
41
  "npm-run-all": "4.1.5",
42
42
  "oxfmt": "0.68.0",
43
43
  "oxlint": "1.83.0",
44
44
  "oxlint-plugin-eslint": "1.82.0",
45
45
  "oxlint-tsgolint": "7.0.2001",
46
46
  "typescript": "7.0.2",
47
- "@gooddata/oxlint-config": "11.67.0-alpha.1",
48
- "@gooddata/eslint-config": "11.67.0-alpha.1"
47
+ "@gooddata/eslint-config": "11.67.0-alpha.3",
48
+ "@gooddata/oxlint-config": "11.67.0-alpha.3"
49
49
  },
50
50
  "scripts": {
51
51
  "_phase:build": "npm run build",