@acorex/modules 21.0.0-next.50 → 21.0.0-next.51
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/fesm2022/{acorex-modules-ai-management-agent.entity-Bnt9zkci.mjs → acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs} +1 -15
- package/fesm2022/acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DfW-FFCt.mjs → acorex-modules-ai-management-assist.entity-513RdKsz.mjs} +59 -1
- package/fesm2022/acorex-modules-ai-management-assist.entity-513RdKsz.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management.mjs +25 -3
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-F7nQo1GU.mjs → acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs} +341 -148
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-BB5Uyydt.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-BB5Uyydt.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-comments-page.component-QnDogSDy.mjs → acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-QnDogSDy.mjs.map → acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-DRlWzEDp.mjs → acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs} +2 -3
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-DRlWzEDp.mjs.map → acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +15 -5
- package/fesm2022/acorex-modules-ai-management-agent.entity-Bnt9zkci.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist.entity-DfW-FFCt.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-F7nQo1GU.mjs.map +0 -1
|
@@ -16,7 +16,7 @@ import { axpAiParseSupervisorAgentToolName, axpAiChatToolOrAgentResultBodyJson,
|
|
|
16
16
|
import { AXPMarkdownViewerComponent, AXPMarkdownTemplateDirective } from '@acorex/platform/layout/components';
|
|
17
17
|
import * as i1$1 from '@angular/forms';
|
|
18
18
|
import { FormsModule } from '@angular/forms';
|
|
19
|
-
import { b as axmAssistSegmentDirection, c as axmParseAssistTranscriptTextEnvelope, d as axmAssistWidgetNodeFromUnknown, e as axmSyntheticEmbedMessage, f as AXMNodeMessageRendererComponent, g as AXMAssistBotImageLineComponent } from './acorex-modules-conversation-acorex-modules-conversation-
|
|
19
|
+
import { b as axmAssistSegmentDirection, c as axmParseAssistTranscriptTextEnvelope, d as axmAssistWidgetNodeFromUnknown, e as axmSyntheticEmbedMessage, f as AXMNodeMessageRendererComponent, g as AXMAssistBotImageLineComponent } from './acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs';
|
|
20
20
|
|
|
21
21
|
//#region ---- Imports ----
|
|
22
22
|
//#endregion
|
|
@@ -284,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
284
284
|
}] });
|
|
285
285
|
|
|
286
286
|
export { AXMAssistDelegatedAgentDetailPopupComponent };
|
|
287
|
-
//# sourceMappingURL=acorex-modules-conversation-assist-delegated-agent-detail-popup.component-
|
|
287
|
+
//# sourceMappingURL=acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-conversation-assist-delegated-agent-detail-popup.component-BB5Uyydt.mjs","sources":["../../../../libs/modules/conversation/src/lib/features/chat/plugins/utils/assist-delegated-agent-transcript-view.util.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.html","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-detail-popup.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXMessage } from '@acorex/components/conversation2';\nimport type { AXPAiChatMessage } from '@acorex/modules/ai-management';\n\n//#endregion\n\n//#region ---- Tool result index ----\n\n/** Maps tool_call id → tool-role line carrying {@code tool_result} / {@code agent_result}. */\nexport function axmBuildToolResultByCallId(messages: AXPAiChatMessage[]): Map<string, AXPAiChatMessage> {\n const map = new Map<string, AXPAiChatMessage>();\n for (const line of messages) {\n if (line.role !== 'tool') {\n continue;\n }\n for (const seg of line.responses) {\n if (seg.type !== 'tool_result' && seg.type !== 'agent_result') {\n continue;\n }\n const callId = seg.callId?.trim();\n if (callId) {\n map.set(callId, line);\n }\n }\n }\n return map;\n}\n\n//#endregion\n\n//#region ---- Formatters ----\n\nexport function axmTryPrettyJson(raw: string): string {\n const trimmed = raw.trim();\n if (!trimmed) {\n return '';\n }\n try {\n return JSON.stringify(JSON.parse(trimmed), null, 2);\n } catch {\n return trimmed;\n }\n}\n\nexport function axmFormatTranscriptArgs(args: unknown): string {\n if (args == null) {\n return '';\n }\n if (typeof args === 'string') {\n return axmTryPrettyJson(args);\n }\n try {\n return JSON.stringify(args, null, 2);\n } catch {\n return String(args);\n }\n}\n\nexport function axmFormatTranscriptFallbackSegment(seg: unknown): string {\n try {\n return JSON.stringify(seg, null, 2);\n } catch {\n return String(seg);\n }\n}\n\n//#endregion\n\n//#region ---- Embed parent stub ----\n\n/** Minimal parent message for synthetic embed renderers inside the detail popup. */\nexport function axmDelegatedTranscriptEmbedParentStub(): AXMessage {\n return {\n id: 'assist-delegated-transcript-embed',\n conversationId: '',\n senderId: 'assist',\n type: 'text',\n payload: { type: 'text', text: '' },\n status: 'sent',\n metadata: { assistEmbed: true },\n } as unknown as AXMessage;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXAccordionCdkModule } from '@acorex/cdk/accordion';\nimport { AXCodeEditorDefaultLanguage, AXCodeEditorModule } from '@acorex/components/code-editor';\nimport type { AXMessage, AXMessagePayload } from '@acorex/components/conversation2';\nimport { AXTextRendererComponent } from '@acorex/components/conversation2';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type {\n AXPAiChatMessage,\n AXPAiChatResponse,\n AXPAiDelegatedAgentResultSegment,\n} from '@acorex/modules/ai-management';\nimport {\n axpAiChatToolOrAgentResultBodyJson,\n axpAiDelegatedAgentPromptPreview,\n axpAiParseDelegatedAgentResultSegmentsFromUnknown,\n axpAiParseSupervisorAgentToolName,\n} from '@acorex/modules/ai-management';\nimport { AXPMarkdownTemplateDirective, AXPMarkdownViewerComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport {\n axmAssistWidgetNodeFromUnknown,\n axmParseAssistTranscriptTextEnvelope,\n axmSyntheticEmbedMessage,\n} from '../utils/assist-bot-transcript.util';\nimport {\n axmBuildToolResultByCallId,\n axmFormatTranscriptArgs,\n axmFormatTranscriptFallbackSegment,\n axmTryPrettyJson,\n} from '../utils/assist-delegated-agent-transcript-view.util';\nimport { axmAssistSegmentDirection } from '../utils/assist-segment-direction.util';\nimport { AXMAssistBotImageLineComponent } from './assist-bot-image-line.component';\nimport { AXMNodeMessageRendererComponent } from './node-message-renderer.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Read-only {@link AXPAiChatMessage} transcript (role + responses[]) for delegated specialist detail.\n */\n@Component({\n selector: 'axm-assist-delegated-agent-transcript-view',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXTextRendererComponent,\n AXMNodeMessageRendererComponent,\n AXMAssistBotImageLineComponent,\n AXAccordionCdkModule,\n AXCodeEditorModule,\n AXPMarkdownViewerComponent,\n AXPMarkdownTemplateDirective,\n FormsModule,\n AXTranslationModule,\n AsyncPipe,\n ],\n templateUrl: './assist-delegated-agent-transcript-view.component.html',\n styleUrls: [\n './assist-message-renderer.component.scss',\n './assist-delegated-agent-transcript-view.component.scss',\n ],\n})\nexport class AXMAssistDelegatedAgentTranscriptViewComponent {\n //#region ---- Inputs ----\n\n readonly messages = input<AXPAiChatMessage[]>([]);\n readonly embedParent = input.required<AXMessage>();\n readonly emptyHint = input<string | undefined>(undefined);\n readonly agentTitleById = input<Record<string, string>>({});\n\n //#endregion\n\n //#region ---- Template helpers ----\n\n protected readonly segmentDir = axmAssistSegmentDirection;\n protected readonly parseAssistLineText = axmParseAssistTranscriptTextEnvelope;\n protected readonly axmAssistWidgetNodeFromUnknown = axmAssistWidgetNodeFromUnknown;\n protected readonly isDelegatedAgentCommand = (command: string): boolean =>\n axpAiParseSupervisorAgentToolName(command) != null;\n\n //#endregion\n\n //#region ---- Computed ----\n\n readonly hasMessages = computed(() => this.messages().length > 0);\n\n readonly toolResultByCallId = computed(() => axmBuildToolResultByCallId(this.messages()));\n\n readonly displayLines = computed(() =>\n this.messages().map((line, lineIndex) => ({ line, lineIndex })),\n );\n\n //#endregion\n\n //#region ---- Segment renderers ----\n\n protected roleTranslationKey(role: AXPAiChatMessage['role']): string {\n return `@conversation:chat.assist-renderer.delegated-agent.roles.${role}`;\n }\n\n protected resolveToolDisplayTitle(command: string): string {\n const agentId = axpAiParseSupervisorAgentToolName(command);\n if (agentId) {\n const title = this.agentTitleById()[agentId];\n if (title?.trim()) {\n return title.trim();\n }\n return agentId;\n }\n return command?.trim() || 'Tool';\n }\n\n protected toolResultForCallId(callId: string | undefined): AXPAiChatMessage | null {\n if (!callId?.trim()) {\n return null;\n }\n return this.toolResultByCallId().get(callId.trim()) ?? null;\n }\n\n protected delegatedAgentOutcomeSegmentsForCall(res: AXPAiChatMessage | null): AXPAiDelegatedAgentResultSegment[] {\n if (!res) {\n return [];\n }\n const raw = axpAiChatToolOrAgentResultBodyJson(res);\n if (!raw.trim()) {\n return [];\n }\n try {\n const o = JSON.parse(raw) as Record<string, unknown>;\n if (o['success'] === false) {\n return [];\n }\n return axpAiParseDelegatedAgentResultSegmentsFromUnknown(\n (o['data'] as Record<string, unknown> | undefined)?.['responses'],\n );\n } catch {\n return [];\n }\n }\n\n protected delegatedPromptPreview(argumentsValue: unknown): string {\n return axpAiDelegatedAgentPromptPreview(argumentsValue);\n }\n\n protected formatArgs(args: unknown): string {\n return axmFormatTranscriptArgs(args);\n }\n\n protected formatToolResultBody(line: AXPAiChatMessage): string {\n return axmTryPrettyJson(axpAiChatToolOrAgentResultBodyJson(line));\n }\n\n protected formatFallbackSegment(seg: AXPAiChatResponse): string {\n return axmFormatTranscriptFallbackSegment(seg);\n }\n\n protected syntheticTextMessage(lineIndex: number, segIndex: number, text: string): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dt-${lineIndex}-${segIndex}`, {\n type: 'text',\n payload: { type: 'text', text },\n });\n }\n\n protected syntheticNodeEmbedMessage(lineIndex: number, segIndex: number, content: unknown): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dn-${lineIndex}-${segIndex}`, {\n type: 'node',\n payload: { type: 'node', content } as unknown as AXMessagePayload,\n });\n }\n\n protected markdownCodeLanguage(segment: unknown): AXCodeEditorDefaultLanguage {\n if (this.isMarkdownCodeSegment(segment) && segment.language.trim()) {\n return segment.language as AXCodeEditorDefaultLanguage;\n }\n return 'javascript';\n }\n\n protected markdownCodeValue(segment: unknown): string {\n if (this.isMarkdownCodeSegment(segment)) {\n return segment.code;\n }\n return '';\n }\n\n private isMarkdownCodeSegment(segment: unknown): segment is { type: 'code'; language: string; code: string } {\n if (!segment || typeof segment !== 'object') {\n return false;\n }\n const candidate = segment as { type?: unknown; language?: unknown; code?: unknown };\n return candidate.type === 'code' && typeof candidate.language === 'string' && typeof candidate.code === 'string';\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"axm-delegated-transcript\">\n @if (!hasMessages() && emptyHint()) {\n <p class=\"axm-delegated-transcript__empty\">{{ emptyHint() }}</p>\n } @else {\n <div class=\"axm-assist-bot axm-delegated-transcript__lines\" role=\"list\">\n @for (item of displayLines(); track item.lineIndex) {\n @let line = item.line;\n @let lineIndex = item.lineIndex;\n <article\n class=\"axm-delegated-transcript__line axm-assist-bot__line\"\n role=\"listitem\"\n [class.axm-assist-bot__line--user]=\"line.role === 'user'\"\n [class.axm-assist-bot__line--tool-role]=\"line.role === 'tool'\"\n [attr.data-role]=\"line.role\"\n >\n <header class=\"axm-delegated-transcript__role\">\n <span>{{ roleTranslationKey(line.role) | translate | async }}</span>\n @if (line.delegatedReflection) {\n <span class=\"axm-delegated-transcript__reflection-badge\">{{\n '@conversation:chat.assist-renderer.delegated-agent.reflection' | translate | async\n }}</span>\n }\n @if (line.name?.trim()) {\n <span class=\"axm-delegated-transcript__name\">{{ line.name }}</span>\n }\n </header>\n\n <div class=\"axm-delegated-transcript__segments\">\n @for (seg of line.responses; track segIndex; let segIndex = $index) {\n @if (line.role === 'user' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n [mimeType]=\"seg.content.mimeType\"\n [name]=\"seg.content.name\"\n />\n } @else if (line.role === 'user' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'think') {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(seg.content)\"\n >\n {{ seg.content }}\n </div>\n </details>\n } @else if (line.role === 'assistant' && seg.type === 'text') {\n @let parsedLine = parseAssistLineText(seg.content);\n @if (parsedLine.thinking?.trim()) {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(parsedLine.thinking ?? '')\"\n >\n {{ parsedLine.thinking }}\n </div>\n </details>\n }\n @if (parsedLine.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedLine.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedLine.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n }\n } @else if (\n line.role === 'assistant' &&\n (seg.type === 'agent' || seg.type === 'tool') &&\n isDelegatedAgentCommand(seg.content.command)\n ) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i class=\"fa-light fa-people-group axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.agent' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-prompt' | translate | async }}\n </div>\n <div\n class=\"axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(delegatedPromptPreview(seg.content.arguments))\"\n >\n {{ delegatedPromptPreview(seg.content.arguments) }}\n </div>\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n @let outcomeSegs = delegatedAgentOutcomeSegmentsForCall(resultLine);\n @if (outcomeSegs.length > 0) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-answer' | translate | async }}\n </div>\n @for (outSeg of outcomeSegs; track $index) {\n @switch (outSeg.type) {\n @case ('text') {\n @let parsedOut = parseAssistLineText(outSeg.content);\n @if (parsedOut.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedOut.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedOut.body\" />\n </div>\n }\n }\n @case ('think') {\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(outSeg.content)\"\n >\n {{ outSeg.content }}\n </div>\n }\n @case ('file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"outSeg.content.fileId\"\n [mimeType]=\"outSeg.content.mimeType\"\n [name]=\"outSeg.content.name\"\n />\n }\n @case ('node') {\n @if (axmAssistWidgetNodeFromUnknown(outSeg.content); as widgetNode) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"\n syntheticNodeEmbedMessage(lineIndex, segIndex * 1000 + $index, outSeg.content)\n \"\n />\n </div>\n }\n }\n }\n }\n } @else {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && (seg.type === 'agent' || seg.type === 'tool')) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon\"\n aria-hidden=\"true\"\n ></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.tool' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'node') {\n @if (axmAssistWidgetNodeFromUnknown(seg.content)) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)\"\n />\n </div>\n }\n } @else if (line.role === 'assistant' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n [mimeType]=\"seg.content.mimeType\"\n [name]=\"seg.content.name\"\n />\n } @else if (line.role === 'tool' && (seg.type === 'tool_result' || seg.type === 'agent_result')) {\n <!-- Shown on the matching tool/agent block above -->\n } @else if (line.role === 'system' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else {\n <div\n class=\"axm-assist-bot__fallback axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(formatFallbackSegment(seg))\"\n >\n {{ formatFallbackSegment(seg) }}\n </div>\n }\n }\n </div>\n </article>\n }\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPAiChatMessage } from '@acorex/modules/ai-management';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { axmDelegatedTranscriptEmbedParentStub } from '../utils/assist-delegated-agent-transcript-view.util';\nimport { AXMAssistDelegatedAgentTranscriptViewComponent } from './assist-delegated-agent-transcript-view.component';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMAssistDelegatedAgentDetailPopupData {\n messages: AXPAiChatMessage[];\n emptyHint?: string;\n agentTitleById?: Record<string, string>;\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-assist-delegated-agent-detail-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXMAssistDelegatedAgentTranscriptViewComponent,\n AXButtonModule,\n AXTranslationModule,\n AsyncPipe,\n AXDecoratorModule,\n ],\n template: `\n <div class=\"axm-assist-delegated-detail-popup\">\n <axm-assist-delegated-agent-transcript-view\n [messages]=\"messages\"\n [embedParent]=\"embedParent\"\n [emptyHint]=\"emptyHint\"\n [agentTitleById]=\"agentTitleById\"\n />\n <ax-footer>\n <ax-suffix>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.close.title' | translate | async\"\n (onClick)=\"close()\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n </div>\n `,\n styles: [\n `\n .axm-assist-delegated-detail-popup {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n min-block-size: 0;\n }\n `,\n ],\n})\nexport class AXMAssistDelegatedAgentDetailPopupComponent extends AXBasePageComponent {\n /** Set by {@link AXPopupService} from `data`. */\n messages: AXPAiChatMessage[] = [];\n\n emptyHint?: string;\n\n agentTitleById: Record<string, string> = {};\n\n embedParent = axmDelegatedTranscriptEmbedParentStub();\n}\n\n//#endregion\n"],"names":["i2","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs","sources":["../../../../libs/modules/conversation/src/lib/features/chat/plugins/utils/assist-delegated-agent-transcript-view.util.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.html","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-detail-popup.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXMessage } from '@acorex/components/conversation2';\nimport type { AXPAiChatMessage } from '@acorex/modules/ai-management';\n\n//#endregion\n\n//#region ---- Tool result index ----\n\n/** Maps tool_call id → tool-role line carrying {@code tool_result} / {@code agent_result}. */\nexport function axmBuildToolResultByCallId(messages: AXPAiChatMessage[]): Map<string, AXPAiChatMessage> {\n const map = new Map<string, AXPAiChatMessage>();\n for (const line of messages) {\n if (line.role !== 'tool') {\n continue;\n }\n for (const seg of line.responses) {\n if (seg.type !== 'tool_result' && seg.type !== 'agent_result') {\n continue;\n }\n const callId = seg.callId?.trim();\n if (callId) {\n map.set(callId, line);\n }\n }\n }\n return map;\n}\n\n//#endregion\n\n//#region ---- Formatters ----\n\nexport function axmTryPrettyJson(raw: string): string {\n const trimmed = raw.trim();\n if (!trimmed) {\n return '';\n }\n try {\n return JSON.stringify(JSON.parse(trimmed), null, 2);\n } catch {\n return trimmed;\n }\n}\n\nexport function axmFormatTranscriptArgs(args: unknown): string {\n if (args == null) {\n return '';\n }\n if (typeof args === 'string') {\n return axmTryPrettyJson(args);\n }\n try {\n return JSON.stringify(args, null, 2);\n } catch {\n return String(args);\n }\n}\n\nexport function axmFormatTranscriptFallbackSegment(seg: unknown): string {\n try {\n return JSON.stringify(seg, null, 2);\n } catch {\n return String(seg);\n }\n}\n\n//#endregion\n\n//#region ---- Embed parent stub ----\n\n/** Minimal parent message for synthetic embed renderers inside the detail popup. */\nexport function axmDelegatedTranscriptEmbedParentStub(): AXMessage {\n return {\n id: 'assist-delegated-transcript-embed',\n conversationId: '',\n senderId: 'assist',\n type: 'text',\n payload: { type: 'text', text: '' },\n status: 'sent',\n metadata: { assistEmbed: true },\n } as unknown as AXMessage;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXAccordionCdkModule } from '@acorex/cdk/accordion';\nimport { AXCodeEditorDefaultLanguage, AXCodeEditorModule } from '@acorex/components/code-editor';\nimport type { AXMessage, AXMessagePayload } from '@acorex/components/conversation2';\nimport { AXTextRendererComponent } from '@acorex/components/conversation2';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type {\n AXPAiChatMessage,\n AXPAiChatResponse,\n AXPAiDelegatedAgentResultSegment,\n} from '@acorex/modules/ai-management';\nimport {\n axpAiChatToolOrAgentResultBodyJson,\n axpAiDelegatedAgentPromptPreview,\n axpAiParseDelegatedAgentResultSegmentsFromUnknown,\n axpAiParseSupervisorAgentToolName,\n} from '@acorex/modules/ai-management';\nimport { AXPMarkdownTemplateDirective, AXPMarkdownViewerComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport {\n axmAssistWidgetNodeFromUnknown,\n axmParseAssistTranscriptTextEnvelope,\n axmSyntheticEmbedMessage,\n} from '../utils/assist-bot-transcript.util';\nimport {\n axmBuildToolResultByCallId,\n axmFormatTranscriptArgs,\n axmFormatTranscriptFallbackSegment,\n axmTryPrettyJson,\n} from '../utils/assist-delegated-agent-transcript-view.util';\nimport { axmAssistSegmentDirection } from '../utils/assist-segment-direction.util';\nimport { AXMAssistBotImageLineComponent } from './assist-bot-image-line.component';\nimport { AXMNodeMessageRendererComponent } from './node-message-renderer.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Read-only {@link AXPAiChatMessage} transcript (role + responses[]) for delegated specialist detail.\n */\n@Component({\n selector: 'axm-assist-delegated-agent-transcript-view',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXTextRendererComponent,\n AXMNodeMessageRendererComponent,\n AXMAssistBotImageLineComponent,\n AXAccordionCdkModule,\n AXCodeEditorModule,\n AXPMarkdownViewerComponent,\n AXPMarkdownTemplateDirective,\n FormsModule,\n AXTranslationModule,\n AsyncPipe,\n ],\n templateUrl: './assist-delegated-agent-transcript-view.component.html',\n styleUrls: [\n './assist-message-renderer.component.scss',\n './assist-delegated-agent-transcript-view.component.scss',\n ],\n})\nexport class AXMAssistDelegatedAgentTranscriptViewComponent {\n //#region ---- Inputs ----\n\n readonly messages = input<AXPAiChatMessage[]>([]);\n readonly embedParent = input.required<AXMessage>();\n readonly emptyHint = input<string | undefined>(undefined);\n readonly agentTitleById = input<Record<string, string>>({});\n\n //#endregion\n\n //#region ---- Template helpers ----\n\n protected readonly segmentDir = axmAssistSegmentDirection;\n protected readonly parseAssistLineText = axmParseAssistTranscriptTextEnvelope;\n protected readonly axmAssistWidgetNodeFromUnknown = axmAssistWidgetNodeFromUnknown;\n protected readonly isDelegatedAgentCommand = (command: string): boolean =>\n axpAiParseSupervisorAgentToolName(command) != null;\n\n //#endregion\n\n //#region ---- Computed ----\n\n readonly hasMessages = computed(() => this.messages().length > 0);\n\n readonly toolResultByCallId = computed(() => axmBuildToolResultByCallId(this.messages()));\n\n readonly displayLines = computed(() =>\n this.messages().map((line, lineIndex) => ({ line, lineIndex })),\n );\n\n //#endregion\n\n //#region ---- Segment renderers ----\n\n protected roleTranslationKey(role: AXPAiChatMessage['role']): string {\n return `@conversation:chat.assist-renderer.delegated-agent.roles.${role}`;\n }\n\n protected resolveToolDisplayTitle(command: string): string {\n const agentId = axpAiParseSupervisorAgentToolName(command);\n if (agentId) {\n const title = this.agentTitleById()[agentId];\n if (title?.trim()) {\n return title.trim();\n }\n return agentId;\n }\n return command?.trim() || 'Tool';\n }\n\n protected toolResultForCallId(callId: string | undefined): AXPAiChatMessage | null {\n if (!callId?.trim()) {\n return null;\n }\n return this.toolResultByCallId().get(callId.trim()) ?? null;\n }\n\n protected delegatedAgentOutcomeSegmentsForCall(res: AXPAiChatMessage | null): AXPAiDelegatedAgentResultSegment[] {\n if (!res) {\n return [];\n }\n const raw = axpAiChatToolOrAgentResultBodyJson(res);\n if (!raw.trim()) {\n return [];\n }\n try {\n const o = JSON.parse(raw) as Record<string, unknown>;\n if (o['success'] === false) {\n return [];\n }\n return axpAiParseDelegatedAgentResultSegmentsFromUnknown(\n (o['data'] as Record<string, unknown> | undefined)?.['responses'],\n );\n } catch {\n return [];\n }\n }\n\n protected delegatedPromptPreview(argumentsValue: unknown): string {\n return axpAiDelegatedAgentPromptPreview(argumentsValue);\n }\n\n protected formatArgs(args: unknown): string {\n return axmFormatTranscriptArgs(args);\n }\n\n protected formatToolResultBody(line: AXPAiChatMessage): string {\n return axmTryPrettyJson(axpAiChatToolOrAgentResultBodyJson(line));\n }\n\n protected formatFallbackSegment(seg: AXPAiChatResponse): string {\n return axmFormatTranscriptFallbackSegment(seg);\n }\n\n protected syntheticTextMessage(lineIndex: number, segIndex: number, text: string): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dt-${lineIndex}-${segIndex}`, {\n type: 'text',\n payload: { type: 'text', text },\n });\n }\n\n protected syntheticNodeEmbedMessage(lineIndex: number, segIndex: number, content: unknown): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dn-${lineIndex}-${segIndex}`, {\n type: 'node',\n payload: { type: 'node', content } as unknown as AXMessagePayload,\n });\n }\n\n protected markdownCodeLanguage(segment: unknown): AXCodeEditorDefaultLanguage {\n if (this.isMarkdownCodeSegment(segment) && segment.language.trim()) {\n return segment.language as AXCodeEditorDefaultLanguage;\n }\n return 'javascript';\n }\n\n protected markdownCodeValue(segment: unknown): string {\n if (this.isMarkdownCodeSegment(segment)) {\n return segment.code;\n }\n return '';\n }\n\n private isMarkdownCodeSegment(segment: unknown): segment is { type: 'code'; language: string; code: string } {\n if (!segment || typeof segment !== 'object') {\n return false;\n }\n const candidate = segment as { type?: unknown; language?: unknown; code?: unknown };\n return candidate.type === 'code' && typeof candidate.language === 'string' && typeof candidate.code === 'string';\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"axm-delegated-transcript\">\n @if (!hasMessages() && emptyHint()) {\n <p class=\"axm-delegated-transcript__empty\">{{ emptyHint() }}</p>\n } @else {\n <div class=\"axm-assist-bot axm-delegated-transcript__lines\" role=\"list\">\n @for (item of displayLines(); track item.lineIndex) {\n @let line = item.line;\n @let lineIndex = item.lineIndex;\n <article\n class=\"axm-delegated-transcript__line axm-assist-bot__line\"\n role=\"listitem\"\n [class.axm-assist-bot__line--user]=\"line.role === 'user'\"\n [class.axm-assist-bot__line--tool-role]=\"line.role === 'tool'\"\n [attr.data-role]=\"line.role\"\n >\n <header class=\"axm-delegated-transcript__role\">\n <span>{{ roleTranslationKey(line.role) | translate | async }}</span>\n @if (line.delegatedReflection) {\n <span class=\"axm-delegated-transcript__reflection-badge\">{{\n '@conversation:chat.assist-renderer.delegated-agent.reflection' | translate | async\n }}</span>\n }\n @if (line.name?.trim()) {\n <span class=\"axm-delegated-transcript__name\">{{ line.name }}</span>\n }\n </header>\n\n <div class=\"axm-delegated-transcript__segments\">\n @for (seg of line.responses; track segIndex; let segIndex = $index) {\n @if (line.role === 'user' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n [mimeType]=\"seg.content.mimeType\"\n [name]=\"seg.content.name\"\n />\n } @else if (line.role === 'user' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'think') {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(seg.content)\"\n >\n {{ seg.content }}\n </div>\n </details>\n } @else if (line.role === 'assistant' && seg.type === 'text') {\n @let parsedLine = parseAssistLineText(seg.content);\n @if (parsedLine.thinking?.trim()) {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(parsedLine.thinking ?? '')\"\n >\n {{ parsedLine.thinking }}\n </div>\n </details>\n }\n @if (parsedLine.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedLine.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedLine.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n }\n } @else if (\n line.role === 'assistant' &&\n (seg.type === 'agent' || seg.type === 'tool') &&\n isDelegatedAgentCommand(seg.content.command)\n ) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i class=\"fa-light fa-people-group axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.agent' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-prompt' | translate | async }}\n </div>\n <div\n class=\"axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(delegatedPromptPreview(seg.content.arguments))\"\n >\n {{ delegatedPromptPreview(seg.content.arguments) }}\n </div>\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n @let outcomeSegs = delegatedAgentOutcomeSegmentsForCall(resultLine);\n @if (outcomeSegs.length > 0) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-answer' | translate | async }}\n </div>\n @for (outSeg of outcomeSegs; track $index) {\n @switch (outSeg.type) {\n @case ('text') {\n @let parsedOut = parseAssistLineText(outSeg.content);\n @if (parsedOut.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedOut.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedOut.body\" />\n </div>\n }\n }\n @case ('think') {\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(outSeg.content)\"\n >\n {{ outSeg.content }}\n </div>\n }\n @case ('file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"outSeg.content.fileId\"\n [mimeType]=\"outSeg.content.mimeType\"\n [name]=\"outSeg.content.name\"\n />\n }\n @case ('node') {\n @if (axmAssistWidgetNodeFromUnknown(outSeg.content); as widgetNode) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"\n syntheticNodeEmbedMessage(lineIndex, segIndex * 1000 + $index, outSeg.content)\n \"\n />\n </div>\n }\n }\n }\n }\n } @else {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && (seg.type === 'agent' || seg.type === 'tool')) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon\"\n aria-hidden=\"true\"\n ></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.tool' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'node') {\n @if (axmAssistWidgetNodeFromUnknown(seg.content)) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)\"\n />\n </div>\n }\n } @else if (line.role === 'assistant' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n [mimeType]=\"seg.content.mimeType\"\n [name]=\"seg.content.name\"\n />\n } @else if (line.role === 'tool' && (seg.type === 'tool_result' || seg.type === 'agent_result')) {\n <!-- Shown on the matching tool/agent block above -->\n } @else if (line.role === 'system' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else {\n <div\n class=\"axm-assist-bot__fallback axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(formatFallbackSegment(seg))\"\n >\n {{ formatFallbackSegment(seg) }}\n </div>\n }\n }\n </div>\n </article>\n }\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPAiChatMessage } from '@acorex/modules/ai-management';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { axmDelegatedTranscriptEmbedParentStub } from '../utils/assist-delegated-agent-transcript-view.util';\nimport { AXMAssistDelegatedAgentTranscriptViewComponent } from './assist-delegated-agent-transcript-view.component';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMAssistDelegatedAgentDetailPopupData {\n messages: AXPAiChatMessage[];\n emptyHint?: string;\n agentTitleById?: Record<string, string>;\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-assist-delegated-agent-detail-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXMAssistDelegatedAgentTranscriptViewComponent,\n AXButtonModule,\n AXTranslationModule,\n AsyncPipe,\n AXDecoratorModule,\n ],\n template: `\n <div class=\"axm-assist-delegated-detail-popup\">\n <axm-assist-delegated-agent-transcript-view\n [messages]=\"messages\"\n [embedParent]=\"embedParent\"\n [emptyHint]=\"emptyHint\"\n [agentTitleById]=\"agentTitleById\"\n />\n <ax-footer>\n <ax-suffix>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.close.title' | translate | async\"\n (onClick)=\"close()\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n </div>\n `,\n styles: [\n `\n .axm-assist-delegated-detail-popup {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n min-block-size: 0;\n }\n `,\n ],\n})\nexport class AXMAssistDelegatedAgentDetailPopupComponent extends AXBasePageComponent {\n /** Set by {@link AXPopupService} from `data`. */\n messages: AXPAiChatMessage[] = [];\n\n emptyHint?: string;\n\n agentTitleById: Record<string, string> = {};\n\n embedParent = axmDelegatedTranscriptEmbedParentStub();\n}\n\n//#endregion\n"],"names":["i2","i1"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, inject, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { a as AXMCommentComponent } from './acorex-modules-conversation-acorex-modules-conversation-
|
|
4
|
+
import { a as AXMCommentComponent } from './acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs';
|
|
5
5
|
|
|
6
6
|
//#region ---- Comments Page Component ----
|
|
7
7
|
/**
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
63
63
|
}], propDecorators: { rootContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootContext", required: true }] }], pageConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageConfig", required: false }] }] } });
|
|
64
64
|
|
|
65
65
|
export { AXMCommentsPageComponent };
|
|
66
|
-
//# sourceMappingURL=acorex-modules-conversation-comments-page.component-
|
|
66
|
+
//# sourceMappingURL=acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-conversation-comments-page.component-
|
|
1
|
+
{"version":3,"file":"acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs","sources":["../../../../libs/modules/conversation/src/lib/features/comment/comments-page/comments-page.component.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { inject } from '@angular/core';\nimport { AXMCommentComponent } from '../comment.component';\n\n//#region ---- Comments Page Component ----\n\n/**\n * Page component that renders comments using AXMCommentComponent.\n * Used when comments plugin has display: 'page'.\n * Receives rootContext (entity data) and derives refrenceType/refrenceId from route params and context.\n */\n@Component({\n selector: 'axm-comments-page',\n imports: [AXMCommentComponent],\n template: `\n @if (refrenceType() && refrenceId()) {\n <axm-comment\n [refrenceType]=\"refrenceType()!\"\n [refrenceId]=\"refrenceId()!\"\n [subject]=\"subject()\"\n ></axm-comment>\n }\n `,\n styles: `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMCommentsPageComponent {\n\n //#region ---- Inputs ----\n\n /** Entity data context passed by the page host */\n rootContext = input.required<Record<string, any>>();\n\n /** Page-level configuration from the entity page definition */\n pageConfig = input<Record<string, unknown>>();\n\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private route = inject(ActivatedRoute);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected refrenceType = computed(() => {\n const moduleName = this.route.snapshot.parent?.paramMap.get('module');\n const entityName = this.route.snapshot.paramMap.get('entity');\n if (moduleName && entityName) {\n return `${moduleName}.${entityName}`;\n }\n return null;\n });\n\n protected refrenceId = computed(() => {\n const ctx = this.rootContext();\n return ctx?.['id'] ?? null;\n });\n\n protected subject = computed(() => {\n const ctx = this.rootContext();\n return ctx?.['title'] ?? '';\n });\n\n //#endregion\n\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable } from '@angular/core';
|
|
3
|
-
import { A as AXMChatAssistLauncherService } from './acorex-modules-conversation-acorex-modules-conversation-
|
|
3
|
+
import { A as AXMChatAssistLauncherService } from './acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs';
|
|
4
4
|
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region ---- Command ----
|
|
@@ -25,7 +25,6 @@ class AXMConversationStartAssistChatCommand {
|
|
|
25
25
|
}
|
|
26
26
|
const result = await this.launcher.startAssistChat({
|
|
27
27
|
targetId,
|
|
28
|
-
targetKind: options.targetKind,
|
|
29
28
|
navigate: options.navigate,
|
|
30
29
|
});
|
|
31
30
|
if (!result) {
|
|
@@ -42,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
42
41
|
}] });
|
|
43
42
|
|
|
44
43
|
export { AXMConversationStartAssistChatCommand };
|
|
45
|
-
//# sourceMappingURL=acorex-modules-conversation-start-assist-chat.command-
|
|
44
|
+
//# sourceMappingURL=acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-conversation-start-assist-chat.command-
|
|
1
|
+
{"version":3,"file":"acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs","sources":["../../../../libs/modules/conversation/src/lib/features/commands/start-assist-chat.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\nimport { AXMChatAssistLauncherService } from '../chat/services/assist-chat-launcher.service';\nimport type { AXMStartAssistChatOptions, AXMStartAssistChatResult } from '../chat/services/assist-chat-launcher.types';\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMConversationStartAssistChatCommand\n implements AXPCommand<AXMStartAssistChatOptions, AXMStartAssistChatResult | null>\n{\n private readonly launcher = inject(AXMChatAssistLauncherService);\n\n async execute(\n input: AXMStartAssistChatOptions | unknown,\n ): Promise<AXPExecuteCommandResult<AXMStartAssistChatResult | null>> {\n const raw = input as { __context__?: { options?: Partial<AXMStartAssistChatOptions> } } & Record<\n string,\n unknown\n >;\n const { __context__: _workflowContext, ...rest } = raw;\n const options: Partial<AXMStartAssistChatOptions> = {\n ...(_workflowContext?.options ?? {}),\n ...(rest as unknown as Partial<AXMStartAssistChatOptions>),\n };\n\n const targetId =\n (typeof options.targetId === 'string' ? options.targetId.trim() : '') ||\n (typeof options.assistId === 'string' ? options.assistId.trim() : '');\n if (!targetId) {\n return {\n success: false,\n message: { text: 'targetId is required for Conversation:StartAssistChat.' },\n };\n }\n\n const result = await this.launcher.startAssistChat({\n targetId,\n navigate: options.navigate,\n });\n\n if (!result) {\n return { success: false };\n }\n\n return { success: true, data: result };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAQA;AAEA;MAGa,qCAAqC,CAAA;AADlD,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAoCjE,IAAA;IAlCC,MAAM,OAAO,CACX,KAA0C,EAAA;QAE1C,MAAM,GAAG,GAAG,KAGX;QACD,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG;AACtD,QAAA,MAAM,OAAO,GAAuC;AAClD,YAAA,IAAI,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC;AACpC,YAAA,GAAI,IAAsD;SAC3D;QAED,MAAM,QAAQ,GACZ,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;aACnE,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE;aAC5E;QACH;QAEA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACjD,QAAQ;YACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC3B,SAAA,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IACxC;8GAtCW,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cADxB,MAAM,EAAA,CAAA,CAAA;;2FACnB,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { h as AXMChatComponent, i as AXMChatConversationApi, j as AXMChatManagementService, k as AXMChatMessageApi, l as AXMChatRealtimeApi, m as AXMChatRealtimeService, n as AXMChatRealtimeServiceImpl, o as AXMChatService, p as AXMChatServiceImpl, q as AXMChatUserApi, a as AXMCommentComponent, r as AXMCommentManagementService, s as AXMCommentPopupComponent, t as AXMCommentPopupStartAction, u as AXMCommentPopupWorkflow, v as AXMCommentRealtimeService, w as AXMCommentRealtimeServiceImpl, x as AXMCommentService, y as AXMCommentServiceImpl, z as AXMCommentWidgetViewComponent, B as AXMConversationModule, C as AXMConversationTabEntityModule, D as AXMConversationTabService, E as AXMConversationTabServiceImpl, F as AXMMessageEntityModule, G as AXMMessageService, H as AXMMessageServiceImpl, I as AXMPermissionsKeys, J as AXMRoomEntityModule, K as AXMRoomService, L as AXMRoomServiceImpl, M as AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, N as AXPCommentWidget, O as COMMENTS_PAGE_COMPONENT_KEY, R as RootConfig, P as axmAssistLastTranscriptLine, Q as axmAssistUserVisibleItemsForLine, d as axmAssistWidgetNodeFromUnknown, S as axmBuildAssistTranscriptLinePayload, T as axmIsAssistPeerParticipant, U as axmNormalizeAssistTranscriptForChatUi, V as axmNormalizeAssistTranscriptLineResponses, W as axmParseAssistTranscriptLinePayload, c as axmParseAssistTranscriptTextEnvelope, X as axmReadAssistAiTranscript, Y as axmReadAssistAiTranscriptRaw, e as axmSyntheticEmbedMessage, Z as commentsPlugin, _ as messageFactory, $ as roomFactory, a0 as tabFactory } from './acorex-modules-conversation-acorex-modules-conversation-
|
|
1
|
+
export { h as AXMChatComponent, i as AXMChatConversationApi, j as AXMChatManagementService, k as AXMChatMessageApi, l as AXMChatRealtimeApi, m as AXMChatRealtimeService, n as AXMChatRealtimeServiceImpl, o as AXMChatService, p as AXMChatServiceImpl, q as AXMChatUserApi, a as AXMCommentComponent, r as AXMCommentManagementService, s as AXMCommentPopupComponent, t as AXMCommentPopupStartAction, u as AXMCommentPopupWorkflow, v as AXMCommentRealtimeService, w as AXMCommentRealtimeServiceImpl, x as AXMCommentService, y as AXMCommentServiceImpl, z as AXMCommentWidgetViewComponent, B as AXMConversationModule, C as AXMConversationTabEntityModule, D as AXMConversationTabService, E as AXMConversationTabServiceImpl, F as AXMMessageEntityModule, G as AXMMessageService, H as AXMMessageServiceImpl, I as AXMPermissionsKeys, J as AXMRoomEntityModule, K as AXMRoomService, L as AXMRoomServiceImpl, M as AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, N as AXPCommentWidget, O as COMMENTS_PAGE_COMPONENT_KEY, R as RootConfig, P as axmAssistLastTranscriptLine, Q as axmAssistUserVisibleItemsForLine, d as axmAssistWidgetNodeFromUnknown, S as axmBuildAssistTranscriptLinePayload, T as axmIsAssistPeerParticipant, U as axmNormalizeAssistTranscriptForChatUi, V as axmNormalizeAssistTranscriptLineResponses, W as axmParseAssistTranscriptLinePayload, c as axmParseAssistTranscriptTextEnvelope, X as axmReadAssistAiTranscript, Y as axmReadAssistAiTranscriptRaw, e as axmSyntheticEmbedMessage, Z as commentsPlugin, _ as messageFactory, $ as roomFactory, a0 as tabFactory } from './acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs';
|
|
2
2
|
//# sourceMappingURL=acorex-modules-conversation.mjs.map
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/modules",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.51",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@acorex/platform": "21.0.0-next.
|
|
5
|
+
"@acorex/platform": "21.0.0-next.51",
|
|
6
6
|
"@angular/service-worker": "^20.0.0",
|
|
7
7
|
"d3": "^7.0.0",
|
|
8
8
|
"html2canvas": "^1.0.0",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnInit, OnDestroy } from '@angular/core';
|
|
3
3
|
import * as i1 from '@acorex/platform/core';
|
|
4
|
-
import { AXPModuleManifest, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPMultiLanguageString } from '@acorex/platform/core';
|
|
4
|
+
import { AXPModuleManifest, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPMultiLanguageString, AXPFileListItem } from '@acorex/platform/core';
|
|
5
5
|
import * as i2 from '@acorex/platform/layout/widgets';
|
|
6
6
|
import { AXPEntity, AXPMenuProvider, AXPMenuProviderContext, AXPFileStorageService } from '@acorex/platform/common';
|
|
7
7
|
import { AXPEntityDefinitionLoader, AXPEntityPreloadEntity, AXPEntityModel } from '@acorex/platform/layout/entity';
|
|
@@ -430,8 +430,6 @@ interface AXMAiManagementAgentEntityModel extends AXPEntityModel<string> {
|
|
|
430
430
|
toolIds?: unknown;
|
|
431
431
|
queryIds?: unknown;
|
|
432
432
|
maxSteps?: number;
|
|
433
|
-
/** When true, this agent is offered in Conversation “Chat with AI” and runs as a direct agent chat. */
|
|
434
|
-
isAssist?: boolean;
|
|
435
433
|
}
|
|
436
434
|
|
|
437
435
|
/** Aligns with {@link AXPAiPlanningMode} in ai-engine.types (avoid circular imports). */
|
|
@@ -453,7 +451,13 @@ interface AXMAiManagementAssistEntityModel extends AXPEntityModel<string> {
|
|
|
453
451
|
name?: string;
|
|
454
452
|
};
|
|
455
453
|
initialMessages?: string | null;
|
|
454
|
+
/** Suggested first user messages shown in chat before the user sends anything. */
|
|
455
|
+
starterPrompts?: {
|
|
456
|
+
text: AXPMultiLanguageString;
|
|
457
|
+
}[] | null;
|
|
456
458
|
systemPrompt?: string;
|
|
459
|
+
/** Knowledge-base attachments (PDF and image formats) for this assist. */
|
|
460
|
+
knowledgeFiles?: AXPFileListItem[] | null;
|
|
457
461
|
delegatedAgents?: {
|
|
458
462
|
agent: {
|
|
459
463
|
type?: string;
|
|
@@ -814,6 +818,12 @@ declare function axpAiStripAssistInitialHtmlToPlain(raw: string): string;
|
|
|
814
818
|
*/
|
|
815
819
|
declare function axpAiAssistInitialMessagesToTranscript(raw: string | null | undefined): AXPAiChatMessage[];
|
|
816
820
|
|
|
821
|
+
type AssistStarterPromptsSource = Pick<AXMAiManagementAssistEntityModel, 'starterPrompts'> | Pick<AXPAiEffectiveAssistRow, 'starterPrompts'> | null | undefined;
|
|
822
|
+
/**
|
|
823
|
+
* Returns non-empty starter prompt strings for the active locale, preserving repeater order.
|
|
824
|
+
*/
|
|
825
|
+
declare function axpAiAssistStarterPromptTexts(source: AssistStarterPromptsSource, locale: string): string[];
|
|
826
|
+
|
|
817
827
|
/**
|
|
818
828
|
* Builds {@link AXPAiPlatformRuntimeContext} from session and user-scoped regional settings.
|
|
819
829
|
*/
|
|
@@ -849,7 +859,7 @@ interface AXPAiChatToolRunContext {
|
|
|
849
859
|
modelEntityId?: string;
|
|
850
860
|
/** Set during a delegated agent sub-run (specialist executing registry tools). */
|
|
851
861
|
agentId?: string;
|
|
852
|
-
/** AiAgent catalog `name` (
|
|
862
|
+
/** Assist or AiAgent catalog `name` (Demisco `agent_uuid` for Demis transport). */
|
|
853
863
|
agentName?: string;
|
|
854
864
|
/** Optional Demisco chat session id (`session_uuid` in multipart). */
|
|
855
865
|
demisSessionUuid?: string;
|
|
@@ -1143,5 +1153,5 @@ declare class AXMAiAssistPromptBoxComponent implements OnInit, OnDestroy {
|
|
|
1143
1153
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXMAiAssistPromptBoxComponent, "axm-ai-assist-prompt-box", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "initialPrompt": { "alias": "initialPrompt"; "required": false; "isSignal": true; }; "contentMaxWidthPx": { "alias": "contentMaxWidthPx"; "required": false; "isSignal": true; }; "initialAssistId": { "alias": "initialAssistId"; "required": false; "isSignal": true; }; "initialDirectAgentId": { "alias": "initialDirectAgentId"; "required": false; "isSignal": true; }; "runPrompt": { "alias": "runPrompt"; "required": true; "isSignal": true; }; "requestClose": { "alias": "requestClose"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1144
1154
|
}
|
|
1145
1155
|
|
|
1146
|
-
export { AIMANAGEMENT_CHAT_GENERATE_IMAGE_COMMAND_KEY, AIMANAGEMENT_CHAT_SYNTHESIZE_SPEECH_COMMAND_KEY, AIMANAGEMENT_CHAT_TRANSCRIBE_SPEECH_COMMAND_KEY, AIMANAGEMENT_EXTRACT_DOCUMENT_TEXT_COMMAND_KEY, AIMANAGEMENT_STRUCTURED_TEXT_COMPLETION_COMMAND_KEY, AI_AGENT_CATALOG_DATASOURCE_NAME, AI_CHAT_ATTACHMENT_CATEGORY, AI_CHAT_ATTACHMENT_REF_TYPE, AI_CHAT_GENERATED_IMAGE_REF_TYPE, AI_CHAT_GENERATED_SPEECH_REF_TYPE, AI_COMMAND_REGISTRY_CATALOG_DATASOURCE_NAME, AI_GENERATED_IMAGE_MAX_REMOTE_URL_IN_TOOL, AI_MODEL_CATALOG_DATASOURCE_NAME, AI_MODEL_IMAGE_CATALOG_DATASOURCE_NAME, AI_MODEL_SPEECH_CATALOG_DATASOURCE_NAME, AI_MODEL_TTS_CATALOG_DATASOURCE_NAME, AI_QUERY_REGISTRY_CATALOG_DATASOURCE_NAME, AXMAiAgentCatalogDataSourceDefinition, AXMAiAssistPromptBoxComponent, AXMAiAssistPromptBoxService, AXMAiCommandRegistryCatalogDataSourceDefinition, AXMAiManagementEntityProvider, AXMAiManagementMenuProvider, AXMAiManagementModule, AXMAiModelCatalogDataSourceDefinition, AXMAiQueryRegistryCatalogDataSourceDefinition, AXMPermissionDefinitionProvider, AXMPermissionsKeys, AXPAI_DELEGATED_AGENT_DEFAULT_MAX_STEPS, AXPAI_DOCUMENT_VISION_DEFAULT_USER_INSTRUCTION, AXPAI_DOCUMENT_VISION_EXTRACTION_SYSTEM, AXPAI_ENGINE_DEFAULT_MAX_STEPS, AXPAI_SUPERVISOR_AGENT_TOOL_PREFIX, AXPAiAssistChatModelCatalogService, AXPAiAssistDefaultMaxStructuredRetries, AXPAiAssistDefaultStructuredMaxTokens, AXPAiAssistService, AXPAiChatToolRunContextService, AXPAiDefaultModelPickerService, AXPAiEngine, AXPAiManagementMenuKeys, AXPAiManagementSettings, AXPAiManagerService, AXPAiPlatformRuntimeContextBuilder, AXPAiStructuredOutputError, AiManagementManifest, RootConfig, axpAiAssistInitialMessagesToTranscript, axpAiChatAgentResultMessage, axpAiChatDelegatedReflectionAssistantMessage, axpAiChatMessageGetText, axpAiChatMessageIsDelegatedReflectionExcluded, axpAiChatMessagesFromProviderAssistant, axpAiChatTextMessage, axpAiChatToolOrAgentResultBodyJson, axpAiChatToolResultBodyJson, axpAiChatToolResultMessage, axpAiChatUserMessage, axpAiCoercePlanningAssistantTextToThink, axpAiCollectDelegatedAgentOutcomeResponses, axpAiDelegatedAgentOutcomeResponsesPlainText, axpAiDelegatedAgentPromptPreview, axpAiDelegatedSubTranscriptAppendFileArtifactFromToolResults, axpAiExtractLastStoredFileArtifactFromChatMessages, axpAiExtractStoredFileArtifactFromUnknown, axpAiMergePlainAssistantTextTurn, axpAiNormalizeHandlerResultToToolBody, axpAiParseDelegatedAgentResultSegmentsFromUnknown, axpAiParseSupervisorAgentToolName, axpAiPruneAssistantPiecesToFirstToolOnly, axpAiStripAssistInitialHtmlToPlain, axpAiSupervisorAgentToolName, axpAiToolCallFromAssistantToolMessage, blobOrFileFromImageResult, getAiChatCommandLlmParametersOverride, isChatPurposeModelRow, isImagePurposeModelRow, isSpeechPurposeModelRow, isTtsPurposeModelRow, modelRowHasPurpose, normalizeAiToolCommandArgs, normalizeModelPurposes, persistAiChatAttachmentImage, persistAiGeneratedImage, persistAiGeneratedSpeech };
|
|
1156
|
+
export { AIMANAGEMENT_CHAT_GENERATE_IMAGE_COMMAND_KEY, AIMANAGEMENT_CHAT_SYNTHESIZE_SPEECH_COMMAND_KEY, AIMANAGEMENT_CHAT_TRANSCRIBE_SPEECH_COMMAND_KEY, AIMANAGEMENT_EXTRACT_DOCUMENT_TEXT_COMMAND_KEY, AIMANAGEMENT_STRUCTURED_TEXT_COMPLETION_COMMAND_KEY, AI_AGENT_CATALOG_DATASOURCE_NAME, AI_CHAT_ATTACHMENT_CATEGORY, AI_CHAT_ATTACHMENT_REF_TYPE, AI_CHAT_GENERATED_IMAGE_REF_TYPE, AI_CHAT_GENERATED_SPEECH_REF_TYPE, AI_COMMAND_REGISTRY_CATALOG_DATASOURCE_NAME, AI_GENERATED_IMAGE_MAX_REMOTE_URL_IN_TOOL, AI_MODEL_CATALOG_DATASOURCE_NAME, AI_MODEL_IMAGE_CATALOG_DATASOURCE_NAME, AI_MODEL_SPEECH_CATALOG_DATASOURCE_NAME, AI_MODEL_TTS_CATALOG_DATASOURCE_NAME, AI_QUERY_REGISTRY_CATALOG_DATASOURCE_NAME, AXMAiAgentCatalogDataSourceDefinition, AXMAiAssistPromptBoxComponent, AXMAiAssistPromptBoxService, AXMAiCommandRegistryCatalogDataSourceDefinition, AXMAiManagementEntityProvider, AXMAiManagementMenuProvider, AXMAiManagementModule, AXMAiModelCatalogDataSourceDefinition, AXMAiQueryRegistryCatalogDataSourceDefinition, AXMPermissionDefinitionProvider, AXMPermissionsKeys, AXPAI_DELEGATED_AGENT_DEFAULT_MAX_STEPS, AXPAI_DOCUMENT_VISION_DEFAULT_USER_INSTRUCTION, AXPAI_DOCUMENT_VISION_EXTRACTION_SYSTEM, AXPAI_ENGINE_DEFAULT_MAX_STEPS, AXPAI_SUPERVISOR_AGENT_TOOL_PREFIX, AXPAiAssistChatModelCatalogService, AXPAiAssistDefaultMaxStructuredRetries, AXPAiAssistDefaultStructuredMaxTokens, AXPAiAssistService, AXPAiChatToolRunContextService, AXPAiDefaultModelPickerService, AXPAiEngine, AXPAiManagementMenuKeys, AXPAiManagementSettings, AXPAiManagerService, AXPAiPlatformRuntimeContextBuilder, AXPAiStructuredOutputError, AiManagementManifest, RootConfig, axpAiAssistInitialMessagesToTranscript, axpAiAssistStarterPromptTexts, axpAiChatAgentResultMessage, axpAiChatDelegatedReflectionAssistantMessage, axpAiChatMessageGetText, axpAiChatMessageIsDelegatedReflectionExcluded, axpAiChatMessagesFromProviderAssistant, axpAiChatTextMessage, axpAiChatToolOrAgentResultBodyJson, axpAiChatToolResultBodyJson, axpAiChatToolResultMessage, axpAiChatUserMessage, axpAiCoercePlanningAssistantTextToThink, axpAiCollectDelegatedAgentOutcomeResponses, axpAiDelegatedAgentOutcomeResponsesPlainText, axpAiDelegatedAgentPromptPreview, axpAiDelegatedSubTranscriptAppendFileArtifactFromToolResults, axpAiExtractLastStoredFileArtifactFromChatMessages, axpAiExtractStoredFileArtifactFromUnknown, axpAiMergePlainAssistantTextTurn, axpAiNormalizeHandlerResultToToolBody, axpAiParseDelegatedAgentResultSegmentsFromUnknown, axpAiParseSupervisorAgentToolName, axpAiPruneAssistantPiecesToFirstToolOnly, axpAiStripAssistInitialHtmlToPlain, axpAiSupervisorAgentToolName, axpAiToolCallFromAssistantToolMessage, blobOrFileFromImageResult, getAiChatCommandLlmParametersOverride, isChatPurposeModelRow, isImagePurposeModelRow, isSpeechPurposeModelRow, isTtsPurposeModelRow, modelRowHasPurpose, normalizeAiToolCommandArgs, normalizeModelPurposes, persistAiChatAttachmentImage, persistAiGeneratedImage, persistAiGeneratedSpeech };
|
|
1147
1157
|
export type { AXMAiManagementAgentEntityModel, AXMAiManagementAssistEntityModel, AXMAiManagementAssistPlanningMode, AXMAiManagementModelChatTransport, AXMAiManagementModelEntityModel, AXMAiManagementModelPurposeSlug, AXMAiManagementOpenAiEndpointEntityModel, AXMAiModelPurposeSlug, AXPAiAssistPopupSize, AXPAiAssistPromptSubmitPayload, AXPAiAssistRunContext, AXPAiAssistRunInput, AXPAiAssistRunLoadingDialogSpec, AXPAiAssistRunResult, AXPAiAssistShowOptions, AXPAiAssistStructuredOutputAttemptRecord, AXPAiAssistStructuredOutputRunRaw, AXPAiAssistTokenUsageSnapshot, AXPAiAssistUserMediaAttachment, AXPAiChatAgentAssistantResponse, AXPAiChatAgentResultBody, AXPAiChatAgentResultResponse, AXPAiChatFileResponse, AXPAiChatMessage, AXPAiChatModelListItem, AXPAiChatModelListRequest, AXPAiChatNodeResponse, AXPAiChatResponse, AXPAiChatTextResponse, AXPAiChatThinkResponse, AXPAiChatToolAssistantResponse, AXPAiChatToolInvocationContent, AXPAiChatToolResultBody, AXPAiChatToolResultResponse, AXPAiChatToolRunContext, AXPAiChatTransport, AXPAiDelegatedAgentResultPayload, AXPAiDelegatedAgentResultSegment, AXPAiDelegatedAgentTranscriptEntry, AXPAiDelegatedNestedToolCallContext, AXPAiDelegatedParameterBinding, AXPAiDelegatedParameterDefinition, AXPAiEffectiveAgentRow, AXPAiEffectiveAssistRow, AXPAiEngineLastProviderPayload, AXPAiEngineRegistryToolFields, AXPAiEngineRunEvent, AXPAiEngineRunOptions, AXPAiEngineRunResult, AXPAiEngineUsageTotals, AXPAiExtractDocumentTextFromStoredFileRequest, AXPAiPlanningMode, AXPAiPlatformRuntimeContext, AXPAiStructuredTextCompletionOptions, AXPAiStructuredValidator, AXPAiToolCall, AXPAiToolSchema };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-ai-management-agent.entity-Bnt9zkci.mjs","sources":["../../../../libs/modules/ai-management/src/lib/entities/agent/agent.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\nimport { AI_MODEL_CATALOG_DATASOURCE_NAME } from '../../features/datasources/ai-model-catalog.datasource';\n\n//#endregion\n\n//#region ---- Repeater children (registry command / query) ----\n\nconst AGENT_COMMAND_REGISTRY_REPEATER_CHILDREN = [\n {\n type: 'agent-registry-tool-configurator',\n mode: 'edit' as const,\n path: 'command',\n name: 'command',\n options: {\n registryKind: 'command',\n label: '@ai-management:agents.entities.agent.fields.command-registry.item-label',\n },\n },\n];\n\nconst AGENT_QUERY_REGISTRY_REPEATER_CHILDREN = [\n {\n type: 'agent-registry-tool-configurator',\n mode: 'edit' as const,\n path: 'query',\n name: 'query',\n options: {\n registryKind: 'query',\n label: '@ai-management:agents.entities.agent.fields.query-registry.item-label',\n },\n },\n];\n\n//#endregion\n\n//#region ---- Entity ----\n\nexport async function agentFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.agent.name,\n title: RootConfig.entities.agent.title,\n icon: RootConfig.entities.agent.icon,\n formats: {\n individual: RootConfig.entities.agent.title,\n plural: RootConfig.entities.agent.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ description }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'registry-commands', title: '@ai-management:agents.entities.agent.groups.registry-commands' },\n { id: 'registry-queries', title: '@ai-management:agents.entities.agent.groups.registry-queries' },\n { id: 'access', title: '@ai-management:agents.entities.agent.groups.access' },\n { id: 'prompt-behaviour', title: '@ai-management:agents.entities.agent.groups.prompt-behaviour' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'string', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }, { rule: 'unique' }],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 4 } } },\n description: '@ai-management:agents.entities.agent.fields.description.description',\n },\n {\n name: 'isAssist',\n title: '@ai-management:agents.entities.agent.fields.is-assist.title',\n description: '@ai-management:agents.entities.agent.fields.is-assist.description',\n groupId: 'basic-info',\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: { type: AXPWidgetsList.Editors.ToggleSwitch },\n },\n },\n {\n name: 'toolIds',\n title: '@ai-management:agents.entities.agent.fields.command-registry.title',\n description: '@ai-management:agents.entities.agent.fields.command-registry.description',\n groupId: 'registry-commands',\n schema: {\n defaultValue: [],\n dataType: 'array',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: AGENT_COMMAND_REGISTRY_REPEATER_CHILDREN,\n },\n },\n },\n {\n name: 'queryIds',\n title: '@ai-management:agents.entities.agent.fields.query-registry.title',\n description: '@ai-management:agents.entities.agent.fields.query-registry.description',\n groupId: 'registry-queries',\n schema: {\n defaultValue: [],\n dataType: 'array',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: AGENT_QUERY_REGISTRY_REPEATER_CHILDREN,\n },\n },\n },\n {\n name: 'modelEntityId',\n title: '@ai-management:agents.entities.agent.fields.model-entity.title',\n description: '@ai-management:agents.entities.agent.fields.model-entity.description',\n groupId: 'access',\n schema: {\n dataType: 'string',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.model.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n allowSearch: true,\n columns: ['title', 'name'],\n placeholder: '@ai-management:agents.entities.agent.fields.model-entity.placeholder',\n expose: [\n { source: 'id', target: 'aiModel.id' },\n { source: 'title', target: 'aiModel.title' },\n { source: 'name', target: 'aiModel.name' },\n ],\n },\n },\n },\n },\n {\n name: 'maxSteps',\n title: '@ai-management:agents.entities.agent.fields.max-steps.title',\n description: '@ai-management:agents.entities.agent.fields.max-steps.description',\n groupId: 'access',\n schema: {\n dataType: 'number',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: { minValue: 1, maxValue: 50 },\n },\n },\n },\n {\n name: 'systemPrompt',\n title: '@ai-management:assists.entities.assist.fields.system-prompt.title',\n groupId: 'prompt-behaviour',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 8 } },\n },\n },\n ],\n columns: [\n { name: 'name', title: '@general:terms.common.name', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'description', title: '@general:terms.common.description', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info' },\n { id: 'registry-commands' },\n { id: 'registry-queries' },\n { id: 'access' },\n { id: 'prompt-behaviour' },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'isAssist', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'queryIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'modelEntityId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxSteps', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basic-info' },\n { id: 'registry-commands' },\n { id: 'registry-queries' },\n { id: 'access' },\n { id: 'prompt-behaviour' },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'isAssist', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'queryIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'modelEntityId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxSteps', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'basic-info' },\n { id: 'registry-commands' },\n { id: 'registry-queries' },\n { id: 'access' },\n { id: 'prompt-behaviour' },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'isAssist', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolIds', layout: { positions: { lg: { colSpan: 12 } }, label: { visible: false } }, },\n { name: 'queryIds', layout: { positions: { lg: { colSpan: 12 } }, label: { visible: false } }, },\n { name: 'modelEntityId', layout: { positions: { lg: { colSpan: 6 } } }, },\n { name: 'maxSteps', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-ai-management-assist.entity-DfW-FFCt.mjs","sources":["../../../../libs/modules/ai-management/src/lib/entities/assist/assist.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\n\n//#endregion\n\n//#region ---- Repeater children (available agents) ----\n\nconst DELEGATED_AGENTS_REPEATER_CHILDREN = [\n {\n type: 'assist-delegated-agent-configurator',\n mode: 'edit' as const,\n path: 'agent',\n name: 'agent',\n options: {\n label: '@ai-management:assists.entities.assist.fields.available-agents.title',\n },\n },\n];\n\n//#endregion\n\n//#region ---- Entity ----\n\nexport async function assistFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.assist.name,\n title: RootConfig.entities.assist.title,\n icon: RootConfig.entities.assist.icon,\n plugins: [{ name: 'disable' }],\n formats: {\n individual: RootConfig.entities.assist.title,\n plural: RootConfig.entities.assist.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ description }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'profile', title: '@ai-management:assists.entities.assist.groups.profile' },\n { id: 'settings', title: '@ai-management:assists.entities.assist.groups.settings' },\n { id: 'prompt-behaviour', title: '@ai-management:assists.entities.assist.groups.prompt-behaviour' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'string', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }, { rule: 'unique' }],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 3 } } },\n },\n {\n name: 'professionImageUrl',\n title: '@ai-management:assists.entities.assist.fields.profession-image-url.title',\n groupId: 'profile',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Advanced.Image,\n options: { type: 'profile-photo' },\n },\n },\n },\n {\n name: 'planningMode',\n title: '@ai-management:assists.entities.assist.fields.planning-mode.title',\n description: '@ai-management:assists.entities.assist.fields.planning-mode.description',\n groupId: 'settings',\n schema: {\n dataType: 'string',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.SelectBox,\n valueTransforms: objectKeyValueTransforms('id'),\n options: {\n valueField: 'id',\n textField: 'title',\n hasClearButton: true,\n allowSearch: false,\n placeholder: '@ai-management:assists.entities.assist.fields.planning-mode.placeholder',\n dataSource: [\n {\n id: 'off',\n title: '@ai-management:assists.entities.assist.fields.planning-mode.options.off',\n },\n {\n id: 'once',\n title: '@ai-management:assists.entities.assist.fields.planning-mode.options.once',\n },\n {\n id: 'when-needed',\n title: '@ai-management:assists.entities.assist.fields.planning-mode.options.when-needed',\n },\n ],\n },\n },\n },\n },\n {\n name: 'modelId',\n title: '@ai-management:assists.entities.assist.fields.model.title',\n description: '@ai-management:assists.entities.assist.fields.model.description',\n groupId: 'settings',\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n schema: {\n dataType: 'string',\n nullable: false,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.model.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n allowSearch: true,\n columns: ['title', 'name'],\n placeholder: '@ai-management:assists.entities.assist.fields.model.placeholder',\n expose: [\n { source: 'id', target: 'aiModel.id' },\n { source: 'title', target: 'aiModel.title' },\n { source: 'name', target: 'aiModel.name' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'initialMessages',\n title: '@ai-management:assists.entities.assist.fields.initial-messages.title',\n groupId: 'settings',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsList.Editors.RichText,\n },\n },\n },\n {\n name: 'systemPrompt',\n title: '@ai-management:assists.entities.assist.fields.system-prompt.title',\n groupId: 'prompt-behaviour',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 6 } },\n },\n },\n {\n name: 'delegatedAgents',\n title: '@ai-management:assists.entities.assist.fields.available-agents.title',\n description: '@ai-management:assists.entities.assist.fields.available-agents.description',\n groupId: 'prompt-behaviour',\n schema: {\n defaultValue: [],\n dataType: 'array',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: DELEGATED_AGENTS_REPEATER_CHILDREN,\n },\n },\n },\n ],\n columns: [\n { name: 'name', title: '@general:terms.common.name', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'description', title: '@general:terms.common.description', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n {\n name: 'modelId',\n title: '@ai-management:assists.entities.assist.fields.model.title',\n showAs: { type: AXPWidgetsList.Editors.TextBox },\n options: { dataPath: 'aiModel.title' },\n },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info', order: 2, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'profile', order: 3, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'settings', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'prompt-behaviour', order: 5, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n {\n name: 'professionImageUrl',\n layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } },\n },\n { name: 'planningMode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'modelId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'initialMessages', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'delegatedAgents', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basic-info', order: 2, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'profile', order: 3, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'settings', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'prompt-behaviour', order: 5, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'professionImageUrl', layout: { label: { visible: false } } },\n { name: 'planningMode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'modelId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'initialMessages', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'delegatedAgents', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'basic-info', order: 2, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'profile', order: 3, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'settings', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'prompt-behaviour', order: 5, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n {\n name: 'professionImageUrl',\n layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } },\n },\n { name: 'planningMode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'modelId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'initialMessages', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'delegatedAgents', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|