@memberjunction/ng-dashboards 5.36.0 → 5.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +32 -0
  2. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +14 -0
  3. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  4. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +450 -292
  5. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  6. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +73 -1
  7. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  8. package/dist/ComponentStudio/component-studio-dashboard.component.js +512 -127
  9. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  10. package/dist/ComponentStudio/component-studio-resource.component.d.ts +22 -0
  11. package/dist/ComponentStudio/component-studio-resource.component.d.ts.map +1 -0
  12. package/dist/ComponentStudio/component-studio-resource.component.js +55 -0
  13. package/dist/ComponentStudio/component-studio-resource.component.js.map +1 -0
  14. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +104 -45
  15. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
  16. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +234 -331
  17. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  18. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.d.ts +54 -0
  19. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.d.ts.map +1 -0
  20. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.js +339 -0
  21. package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.js.map +1 -0
  22. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.d.ts +65 -0
  23. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.d.ts.map +1 -0
  24. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.js +492 -0
  25. package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.js.map +1 -0
  26. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.d.ts +88 -0
  27. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.d.ts.map +1 -0
  28. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.js +457 -0
  29. package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.js.map +1 -0
  30. package/dist/ComponentStudio/components/form-override-dialog.component.d.ts +106 -0
  31. package/dist/ComponentStudio/components/form-override-dialog.component.d.ts.map +1 -0
  32. package/dist/ComponentStudio/components/form-override-dialog.component.js +478 -0
  33. package/dist/ComponentStudio/components/form-override-dialog.component.js.map +1 -0
  34. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +54 -0
  35. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -1
  36. package/dist/ComponentStudio/components/workspace/component-preview.component.js +361 -50
  37. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
  38. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +10 -0
  39. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -1
  40. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +114 -45
  41. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  42. package/dist/ComponentStudio/services/canvas-to-code.d.ts +32 -0
  43. package/dist/ComponentStudio/services/canvas-to-code.d.ts.map +1 -0
  44. package/dist/ComponentStudio/services/canvas-to-code.js +347 -0
  45. package/dist/ComponentStudio/services/canvas-to-code.js.map +1 -0
  46. package/dist/ComponentStudio/services/code-to-canvas.d.ts +32 -0
  47. package/dist/ComponentStudio/services/code-to-canvas.d.ts.map +1 -0
  48. package/dist/ComponentStudio/services/code-to-canvas.js +92 -0
  49. package/dist/ComponentStudio/services/code-to-canvas.js.map +1 -0
  50. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +29 -0
  51. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -1
  52. package/dist/ComponentStudio/services/component-studio-state.service.js +76 -0
  53. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -1
  54. package/dist/ComponentStudio/services/entity-form-override.service.d.ts +86 -0
  55. package/dist/ComponentStudio/services/entity-form-override.service.d.ts.map +1 -0
  56. package/dist/ComponentStudio/services/entity-form-override.service.js +246 -0
  57. package/dist/ComponentStudio/services/entity-form-override.service.js.map +1 -0
  58. package/dist/ComponentStudio/services/field-binding-scanner.d.ts +29 -0
  59. package/dist/ComponentStudio/services/field-binding-scanner.d.ts.map +1 -0
  60. package/dist/ComponentStudio/services/field-binding-scanner.js +110 -0
  61. package/dist/ComponentStudio/services/field-binding-scanner.js.map +1 -0
  62. package/dist/ComponentStudio/services/form-canvas-model.d.ts +56 -0
  63. package/dist/ComponentStudio/services/form-canvas-model.d.ts.map +1 -0
  64. package/dist/ComponentStudio/services/form-canvas-model.js +35 -0
  65. package/dist/ComponentStudio/services/form-canvas-model.js.map +1 -0
  66. package/dist/ComponentStudio/services/form-host-props-fixture.d.ts +10 -0
  67. package/dist/ComponentStudio/services/form-host-props-fixture.d.ts.map +1 -0
  68. package/dist/ComponentStudio/services/form-host-props-fixture.js +10 -0
  69. package/dist/ComponentStudio/services/form-host-props-fixture.js.map +1 -0
  70. package/dist/DataExplorer/data-explorer-dashboard.component.js +2 -2
  71. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  72. package/dist/FormBuilder/form-builder-resource.component.d.ts +964 -0
  73. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -0
  74. package/dist/FormBuilder/form-builder-resource.component.js +4487 -0
  75. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -0
  76. package/dist/FormBuilder/form-builder-version-rail.helpers.d.ts +55 -0
  77. package/dist/FormBuilder/form-builder-version-rail.helpers.d.ts.map +1 -0
  78. package/dist/FormBuilder/form-builder-version-rail.helpers.js +73 -0
  79. package/dist/FormBuilder/form-builder-version-rail.helpers.js.map +1 -0
  80. package/dist/Home/home-application.d.ts +21 -1
  81. package/dist/Home/home-application.d.ts.map +1 -1
  82. package/dist/Home/home-application.js +60 -8
  83. package/dist/Home/home-application.js.map +1 -1
  84. package/dist/QueryBrowser/query-browser-resource.component.d.ts +14 -14
  85. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  86. package/dist/QueryBrowser/query-browser-resource.component.js +11 -10
  87. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  88. package/dist/component-studio-dashboards.module.d.ts +34 -22
  89. package/dist/component-studio-dashboards.module.d.ts.map +1 -1
  90. package/dist/component-studio-dashboards.module.js +65 -9
  91. package/dist/component-studio-dashboards.module.js.map +1 -1
  92. package/package.json +54 -53
@@ -1,67 +1,126 @@
1
- import { OnInit, OnDestroy, ElementRef, ChangeDetectorRef } from '@angular/core';
2
- import { ComponentStudioStateService } from '../../services/component-studio-state.service';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { CompositeKey } from '@memberjunction/core';
3
+ import type { UserInfo } from '@memberjunction/core';
3
4
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
5
+ import type { MJConversationEntity, MJTaskEntity } from '@memberjunction/core-entities';
6
+ import type { AppContextSnapshot } from '@memberjunction/ai-core-plus';
7
+ import type { NavigationRequest, PendingAttachment } from '@memberjunction/ng-conversations';
8
+ import { ComponentStudioStateService } from '../../services/component-studio-state.service';
4
9
  import * as i0 from "@angular/core";
5
10
  /**
6
- * Represents a single message in the AI assistant chat thread
7
- */
8
- export interface ChatMessage {
9
- Role: 'user' | 'assistant' | 'system';
10
- Content: string;
11
- Timestamp: Date;
12
- }
13
- /**
14
- * Represents a quick action button in the AI assistant panel
11
+ * Quick-action shortcut surfaced above the embedded chat. Clicking a
12
+ * shortcut prefills the chat input via the pendingMessage handoff — the
13
+ * same mechanism the empty-state uses to send the first message.
15
14
  */
16
15
  interface QuickAction {
17
16
  Label: string;
18
17
  Icon: string;
19
18
  Prompt: string;
19
+ /** When true, the button is disabled unless `state.CurrentError` is set. */
20
20
  RequiresError: boolean;
21
21
  }
22
22
  /**
23
- * Represents an AI model option in the model selector dropdown
23
+ * Component Studio's right-pane AI assistant.
24
+ *
25
+ * Previously this was a 880-line bespoke chat stub that emitted "AI
26
+ * assistant coming soon" — no agent was actually called. This version
27
+ * thin-wraps `<mj-conversation-chat-area>` (the same primitive the main
28
+ * Chat app and the Form Builder cockpit use) so the assistant becomes
29
+ * fully functional with zero duplicated chat plumbing.
30
+ *
31
+ * Domain integration preserved from the old stub:
32
+ * - **Quick-actions bar** (Fix Errors / Improve / Generate / Explain)
33
+ * above the chat — clicking sets `PendingMessage` which the chat-area
34
+ * consumes on the next render, mirroring the empty-state handoff.
35
+ * - **`SendErrorToAI` channel** — when the runtime preview throws, the
36
+ * state service emits a `ComponentError`. We listen and shove a
37
+ * "Fix this error: …" message into the same pendingMessage pipe so
38
+ * the user doesn't have to copy/paste error text.
39
+ *
40
+ * Scoping:
41
+ * - `[applicationScope]="'Application'"` + Component Studio app ID →
42
+ * conversations stay out of main chat (per the migration scoping work).
43
+ * - `[defaultAgentId]` → Codesmith Agent so messages route to the code
44
+ * specialist instead of Sage by default. User can still @mention any
45
+ * agent, override via the per-conversation pin, or pick a different
46
+ * agent through the chat header's picker.
24
47
  */
25
- interface AIModelOption {
26
- ID: string;
27
- Name: string;
28
- Vendor: string | null;
29
- DisplayLabel: string;
30
- }
31
48
  export declare class AIAssistantPanelComponent extends BaseAngularComponent implements OnInit, OnDestroy {
32
49
  State: ComponentStudioStateService;
33
- private cdr;
34
- chatThreadEl: ElementRef<HTMLDivElement>;
35
- chatInputEl: ElementRef<HTMLTextAreaElement>;
36
- Messages: ChatMessage[];
37
- InputText: string;
38
- IsWaitingForResponse: boolean;
39
- AvailableModels: AIModelOption[];
40
- SelectedModelID: string | null;
41
- IsLoadingModels: boolean;
50
+ /** Quick actions surfaced as buttons above the embedded chat. */
42
51
  QuickActions: QuickAction[];
43
- private destroy$;
44
- constructor(State: ComponentStudioStateService, cdr: ChangeDetectorRef);
52
+ /** Embedded chat state — same shape the Form Builder cockpit uses. */
53
+ ChatConversation: MJConversationEntity | null;
54
+ ChatConversationId: string | null;
55
+ ChatIsNewConversation: boolean;
56
+ PendingMessage: string | null;
57
+ PendingAttachments: PendingAttachment[] | null;
58
+ ChatThreadId: string | null;
59
+ ChatPendingArtifactId: string | null;
60
+ ChatPendingArtifactVersionNumber: number | null;
61
+ /** Snapshot from NavigationService — drives the agent's app context. */
62
+ ChatAppContext: AppContextSnapshot | null;
63
+ /** Codesmith Agent ID resolved from AIEngineBase cache (no RunView). */
64
+ CodesmithAgentId: string | null;
65
+ /** Component Studio's Application ID — resolved from Metadata cache. */
66
+ CockpitApplicationId: string | null;
67
+ /**
68
+ * EntityID for `MJ: Components`. Stamped on every conversation
69
+ * created from this panel as the `LinkedEntityID`, paired with the
70
+ * currently-selected Component's ID. Enables "show prior conversations
71
+ * about THIS component" later. In-memory Metadata lookup; no RunView.
72
+ */
73
+ ComponentsEntityID: string | null;
74
+ /**
75
+ * The DB-backed Component ID currently selected — null when the
76
+ * panel has nothing selected, or when the selection is a
77
+ * file-loaded (transient) component that has no persistent DB row
78
+ * to link conversations to. Used as `[linkedRecordId]` on the
79
+ * embedded chat-area. Pairs with {@link ComponentsEntityID}.
80
+ */
81
+ get LinkedComponentID(): string | null;
82
+ private static readonly CODESMITH_AGENT_NAME;
83
+ private static readonly COCKPIT_APP_NAME;
84
+ private readonly destroy$;
85
+ private appContextSubscription;
86
+ private readonly cdr;
87
+ private readonly navigationService;
88
+ constructor(State: ComponentStudioStateService);
89
+ get EnvironmentId(): string;
90
+ get CurrentUser(): UserInfo | null;
45
91
  ngOnInit(): Promise<void>;
46
92
  ngOnDestroy(): void;
47
- LoadModels(): Promise<void>;
48
- private subscribeToErrorEvents;
49
- private handleIncomingError;
50
- private addWelcomeMessage;
51
- OnSendMessage(): void;
52
- OnQuickAction(action: QuickAction): void;
53
- OnInputKeydown(event: KeyboardEvent): void;
54
- OnInputChange(): void;
93
+ /** Collapse the right pane (delegated to the parent dashboard). */
55
94
  OnCollapsePanel(): void;
95
+ /** Quick-action click — prefill the chat with the canned prompt. */
96
+ OnQuickAction(action: QuickAction): void;
56
97
  IsQuickActionEnabled(action: QuickAction): boolean;
57
- private addMessage;
58
- private simulateResponse;
59
- private scrollToBottom;
60
- private focusInput;
61
- private autoGrowTextarea;
62
- private resetInputHeight;
63
- FormatTimestamp(date: Date): string;
64
- TrackByTimestamp(index: number, message: ChatMessage): number;
98
+ /** Runtime preview surfaced an error — auto-send "Fix this error: …". */
99
+ private handleIncomingError;
100
+ OnConversationCreated(event: {
101
+ conversation: MJConversationEntity;
102
+ pendingMessage?: string;
103
+ pendingAttachments?: PendingAttachment[];
104
+ }): void;
105
+ OnPendingMessageConsumed(): void;
106
+ OnOpenEntityRecord(event: {
107
+ entityName: string;
108
+ compositeKey: CompositeKey;
109
+ }): void;
110
+ OnNavigationRequest(event: NavigationRequest): void;
111
+ OnTaskClicked(task: MJTaskEntity): void;
112
+ OnArtifactLinkClicked(event: {
113
+ type: 'conversation' | 'collection';
114
+ id: string;
115
+ }): void;
116
+ OnConversationRenamed(event: {
117
+ conversationId: string;
118
+ name: string;
119
+ description: string;
120
+ }): void;
121
+ OnThreadOpened(threadId: string): void;
122
+ OnThreadClosed(): void;
123
+ OnPendingArtifactConsumed(): void;
65
124
  static ɵfac: i0.ɵɵFactoryDeclaration<AIAssistantPanelComponent, never>;
66
125
  static ɵcmp: i0.ɵɵComponentDeclaration<AIAssistantPanelComponent, "mj-ai-assistant-panel", never, {}, {}, never, never, false, never>;
67
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvG,OAAO,EAAE,2BAA2B,EAAkB,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AAErE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAMa,yBAA0B,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;IA0BrF,KAAK,EAAE,2BAA2B;IACzC,OAAO,CAAC,GAAG;IAzBY,YAAY,EAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,WAAW,EAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAGtE,QAAQ,EAAE,WAAW,EAAE,CAAM;IAC7B,SAAS,SAAM;IACf,oBAAoB,UAAS;IAG7B,eAAe,EAAE,aAAa,EAAE,CAAM;IACtC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,eAAe,UAAS;IAGxB,YAAY,EAAE,WAAW,EAAE,CAKzB;IAEF,OAAO,CAAC,QAAQ,CAAuB;gBAG9B,KAAK,EAAE,2BAA2B,EACjC,GAAG,EAAE,iBAAiB;IAG1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,WAAW,IAAI,IAAI;IASb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,iBAAiB;IAWzB,aAAa,IAAI,IAAI;IAUrB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAcxC,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAO1C,aAAa,IAAI,IAAI;IAIrB,eAAe,IAAI,IAAI;IAKvB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAWlD,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAKxB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAInC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM;yCAxOlD,yBAAyB;2CAAzB,yBAAyB;CA2OrC"}
1
+ {"version":3,"file":"ai-assistant-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.ts"],"names":[],"mappings":"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"}