@acorex/modules 21.0.0-next.45 → 21.0.0-next.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/fesm2022/{acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs → acorex-modules-ai-management-agent.entity-Bnt9zkci.mjs} +15 -1
  2. package/fesm2022/acorex-modules-ai-management-agent.entity-Bnt9zkci.mjs.map +1 -0
  3. package/fesm2022/acorex-modules-ai-management.mjs +1 -1
  4. package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-BJU2_R9O.mjs → acorex-modules-conversation-acorex-modules-conversation-Dm9D7la2.mjs} +478 -316
  5. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Dm9D7la2.mjs.map +1 -0
  6. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DnKfkEg1.mjs +287 -0
  7. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DnKfkEg1.mjs.map +1 -0
  8. package/fesm2022/{acorex-modules-conversation-comments-page.component-Bg6m7UTG.mjs → acorex-modules-conversation-comments-page.component-JPIzhBys.mjs} +2 -2
  9. package/fesm2022/{acorex-modules-conversation-comments-page.component-Bg6m7UTG.mjs.map → acorex-modules-conversation-comments-page.component-JPIzhBys.mjs.map} +1 -1
  10. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  11. package/fesm2022/acorex-modules-document-management.mjs +8 -5
  12. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  13. package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-DDUq9FpA.mjs → acorex-modules-task-management-acorex-modules-task-management-BIEMYKVF.mjs} +63 -6
  14. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-BIEMYKVF.mjs.map +1 -0
  15. package/fesm2022/{acorex-modules-task-management-task-board.page-C6j-_aSD.mjs → acorex-modules-task-management-task-board.page-CkVHYIl5.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-task-management-task-board.page-C6j-_aSD.mjs.map → acorex-modules-task-management-task-board.page-CkVHYIl5.mjs.map} +1 -1
  17. package/fesm2022/acorex-modules-task-management.mjs +1 -1
  18. package/fesm2022/acorex-modules-workflow-management.mjs +3 -5
  19. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  20. package/package.json +2 -2
  21. package/types/acorex-modules-ai-management.d.ts +2 -0
  22. package/types/acorex-modules-conversation.d.ts +25 -39
  23. package/types/acorex-modules-task-management.d.ts +26 -1
  24. package/fesm2022/acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs.map +0 -1
  25. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-BJU2_R9O.mjs.map +0 -1
  26. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DX2JPckF.mjs +0 -324
  27. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DX2JPckF.mjs.map +0 -1
  28. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-DDUq9FpA.mjs.map +0 -1
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@acorex/modules",
3
- "version": "21.0.0-next.45",
3
+ "version": "21.0.0-next.46",
4
4
  "peerDependencies": {
5
- "@acorex/platform": "21.0.0-next.45",
5
+ "@acorex/platform": "21.0.0-next.46",
6
6
  "@angular/service-worker": "^20.0.0",
7
7
  "d3": "^7.0.0",
8
8
  "html2canvas": "^1.0.0",
@@ -429,6 +429,8 @@ interface AXMAiManagementAgentEntityModel extends AXPEntityModel<string> {
429
429
  toolIds?: unknown;
430
430
  queryIds?: unknown;
431
431
  maxSteps?: number;
432
+ /** When true, this agent is offered in Conversation “Chat with AI” and runs as a direct agent chat. */
433
+ isAssist?: boolean;
432
434
  }
433
435
 
434
436
  /** Aligns with {@link AXPAiPlanningMode} in ai-engine.types (avoid circular imports). */
@@ -462,57 +462,43 @@ declare abstract class AXMChatRealtimeApi extends AXRealtimeApi {
462
462
  }
463
463
 
464
464
  /**
465
- * Reorders assist transcript lines for chat UI: all **think** first, then tool/agent
466
- * and `tool`-role results in their original order, then all **text** (final answer).
467
- * This matches chronological expectation (agent call and its result appear before the
468
- * assistant's closing message).
465
+ * Reorders assist transcript for debug UI: think first, tool/agent + tool results, then text blocks.
469
466
  */
470
467
  declare function axmNormalizeAssistTranscriptForChatUi(input: AXPAiChatMessage[]): AXPAiChatMessage[];
471
- /**
472
- * Reads AI transcript lines from assist message metadata (final `aiTranscript` or streaming `aiTranscriptDraft`),
473
- * in display order for the assist renderer.
474
- */
468
+ /** Debug transcript from {@code metadata.transcripts} or streaming {@code metadata.transcriptDraft}. */
475
469
  declare function axmReadAssistAiTranscript(metadata: unknown): AXPAiChatMessage[] | null;
476
- /**
477
- * Raw {@link AXPAiChatMessage} lines as persisted by the engine/mock (`aiTranscript` / `aiTranscriptDraft`),
478
- * without chat UI reordering.
479
- */
470
+ /** Raw engine transcript (chronological), without debug UI reordering. */
480
471
  declare function axmReadAssistAiTranscriptRaw(metadata: unknown): AXPAiChatMessage[];
481
- /**
482
- * Returns `content` as an {@link AXPWidgetNode} when it looks like a widget tree.
483
- * Rejects assistant transcript segment shapes (e.g. `{ type: 'text', content: '...' }`) and unwraps
484
- * a single `{ type: 'node', content: <widget> }` envelope if present.
485
- */
486
472
  declare function axmAssistWidgetNodeFromUnknown(content: unknown, depth?: number): AXPWidgetNode | null;
487
- /**
488
- * Returns the first `node` segment's content as an {@link AXPWidgetNode} when it looks like a widget tree.
489
- */
490
- declare function axmAssistNodeAsLayoutNode(message: AXPAiChatMessage): AXPWidgetNode | null;
491
- /**
492
- * Builds a synthetic {@link AXMessage} for embedding default conversation renderers (text, image, etc.).
493
- */
494
473
  declare function axmSyntheticEmbedMessage(parent: AXMessage, suffix: string, partial: Pick<AXMessage, 'type' | 'payload'>): AXMessage;
495
- /**
496
- * Parses assistant transcript text: strips {@code redacted_thinking} blocks into {@code thinking}
497
- * and returns the visible {@code body} (same rules as the assist message renderer).
498
- */
474
+ declare const AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE: "assist-transcript-line";
475
+ interface AxmAssistTranscriptLinePayload {
476
+ type: typeof AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE;
477
+ line: AXPAiChatMessage;
478
+ }
479
+ declare function axmNormalizeAssistTranscriptLineResponses(line: AXPAiChatMessage): AXPAiChatMessage;
480
+ /** Last {@link AXPAiChatMessage} in the engine turn (index {@code length - 1}). */
481
+ declare function axmAssistLastTranscriptLine(transcript: AXPAiChatMessage[]): AXPAiChatMessage | null;
482
+ declare function axmBuildAssistTranscriptLinePayload(line: AXPAiChatMessage): AxmAssistTranscriptLinePayload;
483
+ declare function axmParseAssistTranscriptLinePayload(payload: unknown): AXPAiChatMessage | null;
499
484
  declare function axmParseAssistTranscriptTextEnvelope(raw: string): {
500
485
  thinking: string | null;
501
486
  body: string;
502
487
  };
503
- /** Canonical user-visible assist payload derived from a chronological AI transcript. */
504
- type AxmAssistFinalDeliverable = {
488
+ /** Flattened user-visible items for one transcript line (payload bubble). */
489
+ type AxmAssistUserVisibleItem = {
490
+ kind: 'text';
491
+ content: string;
492
+ } | {
505
493
  kind: 'node';
506
494
  content: unknown;
507
495
  } | {
508
- kind: 'text';
509
- text: string;
496
+ kind: 'file';
497
+ fileId: string;
498
+ mimeType: string;
499
+ name?: string;
510
500
  };
511
- /**
512
- * Last chronological assistant {@code node} (renderable widget) or non-empty {@code text} segment wins.
513
- * When the transcript has no such segment, {@code fallbackText} is used as plain text.
514
- */
515
- declare function axmExtractAssistFinalDeliverableFromTranscript(transcript: AXPAiChatMessage[], fallbackText: string): AxmAssistFinalDeliverable;
501
+ declare function axmAssistUserVisibleItemsForLine(line: AXPAiChatMessage): AxmAssistUserVisibleItem[];
516
502
 
517
503
  /**
518
504
  * True when the participant is an AI Assist peer (synthetic `assist-*` id or assist metadata).
@@ -745,5 +731,5 @@ declare class AXMCommentPopupStartAction extends AXPWorkflowAction {
745
731
  }
746
732
  declare const AXMCommentPopupWorkflow: AXPWorkflow;
747
733
 
748
- export { AXMChatComponent, AXMChatConversationApi, AXMChatManagementService, AXMChatMessageApi, AXMChatRealtimeApi, AXMChatRealtimeService, AXMChatRealtimeServiceImpl, AXMChatService, AXMChatServiceImpl, AXMChatUserApi, AXMCommentComponent, AXMCommentManagementService, AXMCommentPopupComponent, AXMCommentPopupStartAction, AXMCommentPopupWorkflow, AXMCommentRealtimeService, AXMCommentRealtimeServiceImpl, AXMCommentService, AXMCommentServiceImpl, AXMCommentWidgetViewComponent, AXMConversationModule, AXMConversationTabEntityModule, AXMConversationTabService, AXMConversationTabServiceImpl, AXMMessageEntityModule, AXMMessageService, AXMMessageServiceImpl, AXMRoomEntityModule, AXMRoomService, AXMRoomServiceImpl, AXPCommentWidget, COMMENTS_PAGE_COMPONENT_KEY, RootConfig, axmAssistNodeAsLayoutNode, axmAssistWidgetNodeFromUnknown, axmExtractAssistFinalDeliverableFromTranscript, axmIsAssistPeerParticipant, axmNormalizeAssistTranscriptForChatUi, axmParseAssistTranscriptTextEnvelope, axmReadAssistAiTranscript, axmReadAssistAiTranscriptRaw, axmSyntheticEmbedMessage, commentsPlugin, messageFactory, roomFactory, tabFactory };
749
- export type { AXMChatMessage, AXMChatMessageEvent, AXMChatRoom, AXMChatRoomEvent, AXMChatTabEvent, AXMComment, AXMCommentEntityData, AXMCommentEvent, AXMCommentEventType, AXMCommentThread, AXMConversationMessage, AXMConversationReaction, AXMConversationRoom, AXMConversationSeen, AXMConversationTab, AXMReactionType, AXMSeenType, AXMThreadEvent, AXMThreadEventType, AxmAssistFinalDeliverable, CommentsDisplayMode, CommentsPluginOptions };
734
+ export { AXMChatComponent, AXMChatConversationApi, AXMChatManagementService, AXMChatMessageApi, AXMChatRealtimeApi, AXMChatRealtimeService, AXMChatRealtimeServiceImpl, AXMChatService, AXMChatServiceImpl, AXMChatUserApi, AXMCommentComponent, AXMCommentManagementService, AXMCommentPopupComponent, AXMCommentPopupStartAction, AXMCommentPopupWorkflow, AXMCommentRealtimeService, AXMCommentRealtimeServiceImpl, AXMCommentService, AXMCommentServiceImpl, AXMCommentWidgetViewComponent, AXMConversationModule, AXMConversationTabEntityModule, AXMConversationTabService, AXMConversationTabServiceImpl, AXMMessageEntityModule, AXMMessageService, AXMMessageServiceImpl, AXMRoomEntityModule, AXMRoomService, AXMRoomServiceImpl, AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, AXPCommentWidget, COMMENTS_PAGE_COMPONENT_KEY, RootConfig, axmAssistLastTranscriptLine, axmAssistUserVisibleItemsForLine, axmAssistWidgetNodeFromUnknown, axmBuildAssistTranscriptLinePayload, axmIsAssistPeerParticipant, axmNormalizeAssistTranscriptForChatUi, axmNormalizeAssistTranscriptLineResponses, axmParseAssistTranscriptLinePayload, axmParseAssistTranscriptTextEnvelope, axmReadAssistAiTranscript, axmReadAssistAiTranscriptRaw, axmSyntheticEmbedMessage, commentsPlugin, messageFactory, roomFactory, tabFactory };
735
+ export type { AXMChatMessage, AXMChatMessageEvent, AXMChatRoom, AXMChatRoomEvent, AXMChatTabEvent, AXMComment, AXMCommentEntityData, AXMCommentEvent, AXMCommentEventType, AXMCommentThread, AXMConversationMessage, AXMConversationReaction, AXMConversationRoom, AXMConversationSeen, AXMConversationTab, AXMReactionType, AXMSeenType, AXMThreadEvent, AXMThreadEventType, AxmAssistTranscriptLinePayload, AxmAssistUserVisibleItem, CommentsDisplayMode, CommentsPluginOptions };
@@ -13,6 +13,7 @@ import { AXPUserReference, AXPActionMenuItem, AXPExecuteCommand, AXPExecuteComma
13
13
  import { AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent } from '@acorex/components/menu';
14
14
  import { AXHolidayDate } from '@acorex/core/date-time';
15
15
  import { Subject } from 'rxjs';
16
+ import { AXPSessionService } from '@acorex/platform/auth';
16
17
 
17
18
  declare class AXPTaskBoardModule {
18
19
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTaskBoardModule, never>;
@@ -546,6 +547,30 @@ declare class AXPTaskBoardService {
546
547
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTaskBoardService>;
547
548
  }
548
549
 
550
+ /** Sentinel id for the task-board assignee filter option: tasks with no assignee. */
551
+ declare const AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID = "TaskManagement:TaskBoard:Assignee:Unassigned";
552
+ /** Permission to view and filter tasks across all assignees on the task board. */
553
+ declare const AXM_TASK_VIEW_ALL_PERMISSION: "TaskManagement:Permission:Task.ViewAll";
554
+ /**
555
+ * Returns whether the current session may filter tasks by any assignee.
556
+ */
557
+ declare function canViewAllTaskAssignees(sessionService: AXPSessionService): boolean;
558
+ declare function isTaskBoardUnassignedAssigneeId(id: string | number): boolean;
559
+ /**
560
+ * Restricts assignee filter ids to the current user when {@link canViewAllTaskAssignees} is false.
561
+ * Strips the unassigned sentinel for users without view-all permission.
562
+ */
563
+ declare function normalizeTaskBoardAssigneeIds(sessionService: AXPSessionService, assigneeIds: (string | number)[]): (string | number)[];
564
+ /**
565
+ * Whether a task matches the selected assignee filter ids (OR semantics).
566
+ * Supports {@link AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID} for tasks without an assignee.
567
+ */
568
+ declare function matchesTaskBoardAssigneeFilter(assigneeId: string | undefined | null, filterIds: (string | number)[]): boolean;
569
+ /**
570
+ * Whether a workflow task matches assignee filters using assigned/candidate user ids.
571
+ */
572
+ declare function matchesTaskBoardAssigneeUserIdsFilter(userIds: string[], filterIds: (string | number)[]): boolean;
573
+
549
574
  type TaskPriority$1 = NonNullable<AXPTask['priority']>;
550
575
  type PriorityFilterKey$1 = TaskPriority$1 | 'no_priority';
551
576
  type Priority = {
@@ -661,5 +686,5 @@ declare const AXP_TASK_MANAGEMENT_DASHBOARD_WIDGET_CATEGORY: AXPDefinitionCatego
661
686
  declare const AXP_TASK_MANAGEMENT_DASHBOARD_SUB_SHORTCUT: AXPDefinitionCategory;
662
687
  declare const AXP_TASK_MANAGEMENT_DASHBOARD_SUB_BOARD: AXPDefinitionCategory;
663
688
 
664
- export { AXMPermissionsKeys, AXMSearchCommandProvider, AXMSettingProvider, AXMTaskManagementEntityProvider, AXMTaskManagementMenuProvider, AXMTaskManagementModule, AXPTaskBoardModule, AXPTaskBoardService, AXPTaskBoardShortcut, AXPTaskBoardShortcutViewComponent, AXPTaskBoardWidget, AXPTaskBoardWidgetViewComponent, AXPTaskPopoverComponent, AXPTaskTypeDataSourceDefinition, AXPWorkflowTaskProvider, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_BOARD, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_SHORTCUT, AXP_TASK_MANAGEMENT_DASHBOARD_WIDGET_CATEGORY, AXP_WORKFLOW_TASK_PROVIDER, RootConfig, taskAssignmentFactory, taskChecklistItemFactory, taskContextFactory, taskDependencyFactory, taskFactory, taskStatusFactory, taskTemplateFactory, taskTypeFactory, timeLogFactory };
689
+ export { AXMPermissionsKeys, AXMSearchCommandProvider, AXMSettingProvider, AXMTaskManagementEntityProvider, AXMTaskManagementMenuProvider, AXMTaskManagementModule, AXM_TASK_BOARD_UNASSIGNED_ASSIGNEE_ID, AXM_TASK_VIEW_ALL_PERMISSION, AXPTaskBoardModule, AXPTaskBoardService, AXPTaskBoardShortcut, AXPTaskBoardShortcutViewComponent, AXPTaskBoardWidget, AXPTaskBoardWidgetViewComponent, AXPTaskPopoverComponent, AXPTaskTypeDataSourceDefinition, AXPWorkflowTaskProvider, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_BOARD, AXP_TASK_MANAGEMENT_DASHBOARD_SUB_SHORTCUT, AXP_TASK_MANAGEMENT_DASHBOARD_WIDGET_CATEGORY, AXP_WORKFLOW_TASK_PROVIDER, RootConfig, canViewAllTaskAssignees, isTaskBoardUnassignedAssigneeId, matchesTaskBoardAssigneeFilter, matchesTaskBoardAssigneeUserIdsFilter, normalizeTaskBoardAssigneeIds, taskAssignmentFactory, taskChecklistItemFactory, taskContextFactory, taskDependencyFactory, taskFactory, taskStatusFactory, taskTemplateFactory, taskTypeFactory, timeLogFactory };
665
690
  export type { AXMTaskManagementTaskAssignmentEntityModel, AXMTaskManagementTaskChecklistItemEntityModel, AXMTaskManagementTaskContextEntityModel, AXMTaskManagementTaskDependencyEntityModel, AXMTaskManagementTaskEntityModel, AXMTaskManagementTaskStatusEntityModel, AXMTaskManagementTaskTemplateEntityModel, AXMTaskManagementTaskTypeEntityModel, AXMTaskManagementTimeLogEntityModel, AXPExtraField, AXPResource, AXPTask, AXPTaskAction, AXPTaskActionMenuItem, AXPTaskFilter, AXPTaskStatus };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-ai-management-agent.entity-D6-0_Ms3.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: '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: '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: '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: '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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"}