@acorex-platform/module-ai-management-client 0.0.32 → 0.0.33

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 (44) hide show
  1. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-agent.mjs +474 -0
  2. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-agent.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-assist.mjs +583 -0
  4. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-assist.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-mcp-server.mjs +238 -0
  6. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-mcp-server.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-model.mjs +349 -0
  8. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-model.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-open-ai-endpoint.mjs +203 -0
  10. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-open-ai-endpoint.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-rule.mjs +189 -0
  12. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-rule.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-skill.mjs +190 -0
  14. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entities-skill.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-acorex-platform-module-ai-management-client-contracts-entity-catalog-DRh7A6uE.mjs +96 -0
  16. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-acorex-platform-module-ai-management-client-contracts-entity-catalog-DRh7A6uE.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-agent.entity-Cn8yH9Eb.mjs +403 -0
  18. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-agent.entity-Cn8yH9Eb.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-assist.entity-C5V2T4T5.mjs +512 -0
  20. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-assist.entity-C5V2T4T5.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-mcp-server.entity-D3Q6AWZ4.mjs +167 -0
  22. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-mcp-server.entity-D3Q6AWZ4.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-model.entity-BMAZ-ZMl.mjs +278 -0
  24. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-model.entity-BMAZ-ZMl.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-open-ai-endpoint.entity-BcxddrrU.mjs +132 -0
  26. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-open-ai-endpoint.entity-BcxddrrU.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-rule.entity-D_iNgAEh.mjs +118 -0
  28. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-rule.entity-D_iNgAEh.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-skill.entity-6Ykv67zV.mjs +119 -0
  30. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog-skill.entity-6Ykv67zV.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog.mjs +2 -0
  32. package/fesm2022/acorex-platform-module-ai-management-client-contracts-entity-catalog.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-ai-management-client-local-entities.mjs +35 -0
  34. package/fesm2022/acorex-platform-module-ai-management-client-local-entities.mjs.map +1 -0
  35. package/package.json +37 -1
  36. package/types/acorex-platform-module-ai-management-client-contracts-entities-agent.d.ts +5 -0
  37. package/types/acorex-platform-module-ai-management-client-contracts-entities-assist.d.ts +5 -0
  38. package/types/acorex-platform-module-ai-management-client-contracts-entities-mcp-server.d.ts +5 -0
  39. package/types/acorex-platform-module-ai-management-client-contracts-entities-model.d.ts +5 -0
  40. package/types/acorex-platform-module-ai-management-client-contracts-entities-open-ai-endpoint.d.ts +5 -0
  41. package/types/acorex-platform-module-ai-management-client-contracts-entities-rule.d.ts +5 -0
  42. package/types/acorex-platform-module-ai-management-client-contracts-entities-skill.d.ts +5 -0
  43. package/types/acorex-platform-module-ai-management-client-contracts-entity-catalog.d.ts +10 -0
  44. package/types/acorex-platform-module-ai-management-client-local-entities.d.ts +12 -0
@@ -0,0 +1,167 @@
1
+ import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';
3
+ import { R as RootConfig } from './acorex-platform-module-ai-management-client-contracts-entity-catalog-acorex-platform-module-ai-management-client-contracts-entity-catalog-DRh7A6uE.mjs';
4
+
5
+ //#region ---- Entity ----
6
+ async function mcpServerFactory() {
7
+ const entityDef = {
8
+ module: RootConfig.module.name,
9
+ name: RootConfig.entities.mcpServer.name,
10
+ title: RootConfig.entities.mcpServer.title,
11
+ icon: RootConfig.entities.mcpServer.icon,
12
+ plugins: [{ name: 'disable' }],
13
+ formats: {
14
+ individual: RootConfig.entities.mcpServer.title,
15
+ plural: RootConfig.entities.mcpServer.titlePlural,
16
+ searchResult: {
17
+ title: '{{ title }}',
18
+ description: '{{ name }}',
19
+ },
20
+ },
21
+ groups: [
22
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
23
+ { id: 'connection', title: '@ai-management:mcp-servers.entities.mcp-server.groups.connection.title' },
24
+ { id: 'tool-policy', title: '@ai-management:mcp-servers.entities.mcp-server.groups.tool-policy.title' },
25
+ ],
26
+ properties: [
27
+ {
28
+ name: 'id',
29
+ title: 'ID',
30
+ groupId: 'basic-info',
31
+ schema: { visible: false, nullable: false, readonly: true, unique: { enabled: true } },
32
+ },
33
+ {
34
+ name: 'name',
35
+ title: '@ai-management:mcp-servers.entities.mcp-server.fields.name.title',
36
+ groupId: 'basic-info',
37
+ schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },
38
+ validations: [{ rule: 'required' }],
39
+ },
40
+ {
41
+ name: 'title',
42
+ title: '@general:terms.common.title',
43
+ groupId: 'basic-info',
44
+ schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },
45
+ validations: [{ rule: 'required' }],
46
+ },
47
+ {
48
+ name: 'transport',
49
+ title: '@ai-management:mcp-servers.entities.mcp-server.fields.transport.title',
50
+ groupId: 'connection',
51
+ schema: {
52
+ defaultValue: 'http',
53
+ interface: {
54
+ type: AXPWidgetsList.Editors.SelectBox,
55
+ options: {
56
+ dataSource: [
57
+ { value: 'http', title: 'HTTP' },
58
+ { value: 'sse', title: 'SSE' },
59
+ ],
60
+ },
61
+ },
62
+ },
63
+ validations: [{ rule: 'required' }],
64
+ },
65
+ {
66
+ name: 'url',
67
+ title: '@ai-management:mcp-servers.entities.mcp-server.fields.url.title',
68
+ groupId: 'connection',
69
+ schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },
70
+ validations: [{ rule: 'required' }],
71
+ },
72
+ {
73
+ name: 'apiKey',
74
+ title: '@ai-management:mcp-servers.entities.mcp-server.fields.api-key.title',
75
+ groupId: 'connection',
76
+ schema: { nullable: true, interface: { type: AXPWidgetsList.Editors.TextBox } },
77
+ },
78
+ {
79
+ name: 'isDisabled',
80
+ title: '@general:terms.common.disabled',
81
+ groupId: 'basic-info',
82
+ schema: {
83
+ defaultValue: false,
84
+ interface: { type: AXPWidgetsList.Editors.ToggleSwitch },
85
+ },
86
+ },
87
+ {
88
+ name: 'toolPrefix',
89
+ title: '@ai-management:mcp-servers.entities.mcp-server.fields.tool-prefix.title',
90
+ groupId: 'tool-policy',
91
+ schema: { nullable: true, interface: { type: AXPWidgetsList.Editors.TextBox } },
92
+ },
93
+ {
94
+ name: 'allowedToolNames',
95
+ title: '@ai-management:mcp-servers.entities.mcp-server.fields.allowed-tool-names.title',
96
+ groupId: 'tool-policy',
97
+ schema: {
98
+ nullable: true,
99
+ interface: {
100
+ type: AXPWidgetsList.Editors.TagEditor,
101
+ options: { allowDuplicate: false },
102
+ },
103
+ },
104
+ },
105
+ ],
106
+ columns: [
107
+ { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
108
+ { name: 'name', title: '@ai-management:mcp-servers.entities.mcp-server.fields.name.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
109
+ { name: 'transport', title: '@ai-management:mcp-servers.entities.mcp-server.fields.transport.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
110
+ { name: 'url', title: '@ai-management:mcp-servers.entities.mcp-server.fields.url.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
111
+ ],
112
+ interfaces: {
113
+ master: {
114
+ create: {
115
+ sections: [{ id: 'basic-info' }, { id: 'connection' }, { id: 'tool-policy' }],
116
+ properties: [
117
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
118
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
119
+ { name: 'isDisabled', layout: { positions: { lg: { colSpan: 6 } } } },
120
+ { name: 'transport', layout: { positions: { lg: { colSpan: 6 } } } },
121
+ { name: 'url', layout: { positions: { lg: { colSpan: 12 } } } },
122
+ { name: 'apiKey', layout: { positions: { lg: { colSpan: 12 } } } },
123
+ { name: 'toolPrefix', layout: { positions: { lg: { colSpan: 6 } } } },
124
+ { name: 'allowedToolNames', layout: { positions: { lg: { colSpan: 12 } } } },
125
+ ],
126
+ },
127
+ update: {
128
+ sections: [{ id: 'basic-info' }, { id: 'connection' }, { id: 'tool-policy' }],
129
+ properties: [
130
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
131
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
132
+ { name: 'isDisabled', layout: { positions: { lg: { colSpan: 6 } } } },
133
+ { name: 'transport', layout: { positions: { lg: { colSpan: 6 } } } },
134
+ { name: 'url', layout: { positions: { lg: { colSpan: 12 } } } },
135
+ { name: 'apiKey', layout: { positions: { lg: { colSpan: 12 } } } },
136
+ { name: 'toolPrefix', layout: { positions: { lg: { colSpan: 6 } } } },
137
+ { name: 'allowedToolNames', layout: { positions: { lg: { colSpan: 12 } } } },
138
+ ],
139
+ },
140
+ single: {
141
+ title: '{{ title }}',
142
+ sections: [{ id: 'basic-info' }, { id: 'connection' }, { id: 'tool-policy' }],
143
+ properties: [
144
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
145
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
146
+ { name: 'isDisabled', layout: { positions: { lg: { colSpan: 6 } } } },
147
+ { name: 'transport', layout: { positions: { lg: { colSpan: 6 } } } },
148
+ { name: 'url', layout: { positions: { lg: { colSpan: 12 } } } },
149
+ { name: 'apiKey', layout: { positions: { lg: { colSpan: 12 } } } },
150
+ { name: 'toolPrefix', layout: { positions: { lg: { colSpan: 6 } } } },
151
+ { name: 'allowedToolNames', layout: { positions: { lg: { colSpan: 12 } } } },
152
+ ],
153
+ actions: [],
154
+ },
155
+ list: {
156
+ actions: [...entityMasterCrudActions()],
157
+ views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],
158
+ },
159
+ },
160
+ },
161
+ };
162
+ return entityDef;
163
+ }
164
+ //#endregion
165
+
166
+ export { mcpServerFactory };
167
+ //# sourceMappingURL=acorex-platform-module-ai-management-client-contracts-entity-catalog-mcp-server.entity-D3Q6AWZ4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-ai-management-client-contracts-entity-catalog-mcp-server.entity-D3Q6AWZ4.mjs","sources":["../../../../libs/modules/ai-management/contracts/src/entities/mcp-server/mcp-server.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Entity ----\n\nexport async function mcpServerFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.mcpServer.name,\n title: RootConfig.entities.mcpServer.title,\n icon: RootConfig.entities.mcpServer.icon,\n plugins: [{ name: 'disable' }],\n formats: {\n individual: RootConfig.entities.mcpServer.title,\n plural: RootConfig.entities.mcpServer.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ name }}',\n },\n },\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'connection', title: '@ai-management:mcp-servers.entities.mcp-server.groups.connection.title' },\n { id: 'tool-policy', title: '@ai-management:mcp-servers.entities.mcp-server.groups.tool-policy.title' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'name',\n title: '@ai-management:mcp-servers.entities.mcp-server.fields.name.title',\n groupId: 'basic-info',\n schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'transport',\n title: '@ai-management:mcp-servers.entities.mcp-server.fields.transport.title',\n groupId: 'connection',\n schema: {\n defaultValue: 'http',\n interface: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n dataSource: [\n { value: 'http', title: 'HTTP' },\n { value: 'sse', title: 'SSE' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'url',\n title: '@ai-management:mcp-servers.entities.mcp-server.fields.url.title',\n groupId: 'connection',\n schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'apiKey',\n title: '@ai-management:mcp-servers.entities.mcp-server.fields.api-key.title',\n groupId: 'connection',\n schema: { nullable: true, interface: { type: AXPWidgetsList.Editors.TextBox } },\n },\n {\n name: 'isDisabled',\n title: '@general:terms.common.disabled',\n groupId: 'basic-info',\n schema: {\n defaultValue: false,\n interface: { type: AXPWidgetsList.Editors.ToggleSwitch },\n },\n },\n {\n name: 'toolPrefix',\n title: '@ai-management:mcp-servers.entities.mcp-server.fields.tool-prefix.title',\n groupId: 'tool-policy',\n schema: { nullable: true, interface: { type: AXPWidgetsList.Editors.TextBox } },\n },\n {\n name: 'allowedToolNames',\n title: '@ai-management:mcp-servers.entities.mcp-server.fields.allowed-tool-names.title',\n groupId: 'tool-policy',\n schema: {\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.TagEditor,\n options: { allowDuplicate: false },\n },\n },\n },\n ],\n columns: [\n { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'name', title: '@ai-management:mcp-servers.entities.mcp-server.fields.name.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'transport', title: '@ai-management:mcp-servers.entities.mcp-server.fields.transport.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'url', title: '@ai-management:mcp-servers.entities.mcp-server.fields.url.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'connection' }, { id: 'tool-policy' }],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isDisabled', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'transport', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'url', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'apiKey', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolPrefix', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'allowedToolNames', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'connection' }, { id: 'tool-policy' }],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isDisabled', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'transport', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'url', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'apiKey', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolPrefix', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'allowedToolNames', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [{ id: 'basic-info' }, { id: 'connection' }, { id: 'tool-policy' }],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isDisabled', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'transport', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'url', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'apiKey', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolPrefix', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'allowedToolNames', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,278 @@
1
+ import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';
3
+ import { R as RootConfig } from './acorex-platform-module-ai-management-client-contracts-entity-catalog-acorex-platform-module-ai-management-client-contracts-entity-catalog-DRh7A6uE.mjs';
4
+
5
+ //#endregion
6
+ //#region ---- Entity ----
7
+ async function factoryModel() {
8
+ const entityDef = {
9
+ module: RootConfig.module.name,
10
+ name: RootConfig.entities.model.name,
11
+ title: RootConfig.entities.model.title,
12
+ icon: RootConfig.entities.model.icon,
13
+ plugins: [
14
+ {
15
+ name: 'disable',
16
+ options: {
17
+ disableFieldReadonly: '{{ context.eval("openAiEndpointIsDisabled") === true }}',
18
+ },
19
+ },
20
+ ],
21
+ formats: {
22
+ individual: RootConfig.entities.model.title,
23
+ plural: RootConfig.entities.model.titlePlural,
24
+ searchResult: {
25
+ title: '{{ title }}',
26
+ description: '{{ description }}',
27
+ },
28
+ },
29
+ groups: [
30
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
31
+ { id: 'model-configuration', title: '@ai-management:models.entities.model.groups.configuration.title' },
32
+ ],
33
+ properties: [
34
+ {
35
+ name: 'id',
36
+ title: 'ID',
37
+ groupId: 'basic-info',
38
+ schema: { visible: false, nullable: false, readonly: true, unique: { enabled: true } },
39
+ },
40
+ {
41
+ name: 'title',
42
+ title: '@general:terms.common.title',
43
+ groupId: 'basic-info',
44
+ schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },
45
+ options: { sort: { enabled: true }, filter: { inline: { enabled: true }, advance: { enabled: true } } },
46
+ },
47
+ {
48
+ name: 'description',
49
+ title: '@general:terms.common.description',
50
+ groupId: 'basic-info',
51
+ schema: { interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 2 } } },
52
+ options: { sort: { enabled: true }, filter: { inline: { enabled: true }, advance: { enabled: true } } },
53
+ },
54
+ {
55
+ name: 'name',
56
+ title: '@ai-management:models.entities.model.fields.api-model-id.title',
57
+ groupId: 'model-configuration',
58
+ schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },
59
+ options: { sort: { enabled: true }, filter: { inline: { enabled: true }, advance: { enabled: true } } },
60
+ // validations: [{ rule: 'required' }],
61
+ },
62
+ {
63
+ name: 'modelPurposes',
64
+ title: '@ai-management:models.entities.model.fields.model-purposes.title',
65
+ description: '@ai-management:models.entities.model.fields.model-purposes.description',
66
+ groupId: 'model-configuration',
67
+ schema: {
68
+ defaultValue: ['chat'],
69
+ nullable: true,
70
+ interface: {
71
+ type: AXPWidgetsList.Editors.TagEditor,
72
+ options: {
73
+ placeholder: '@ai-management:models.entities.model.fields.model-purposes.placeholder',
74
+ allowDuplicate: false,
75
+ },
76
+ },
77
+ },
78
+ options: { filter: { inline: { enabled: true } } },
79
+ },
80
+ {
81
+ name: 'chatTransport',
82
+ title: '@ai-management:models.entities.model.fields.chat-transport.title',
83
+ groupId: 'model-configuration',
84
+ schema: {
85
+ interface: {
86
+ type: AXPWidgetsList.Editors.SelectBox,
87
+ options: {
88
+ valueField: 'value',
89
+ textField: 'text',
90
+ dataSource: [
91
+ {
92
+ value: 'gemini',
93
+ text: '@ai-management:models.entities.model.fields.chat-transport.options.gemini',
94
+ },
95
+ {
96
+ value: 'openai',
97
+ text: '@ai-management:models.entities.model.fields.chat-transport.options.openai',
98
+ },
99
+ ],
100
+ },
101
+ triggers: [
102
+ {
103
+ event: "{{ events.context('chatTransport') }}",
104
+ action: "{{ const t = String(context.eval('chatTransport') ?? '').toLowerCase(); if (t === 'gemini') { context.set('openAiEndpointId', null); } }}",
105
+ },
106
+ ],
107
+ },
108
+ },
109
+ options: { filter: { inline: { enabled: true } } },
110
+ validations: [{ rule: 'required' }],
111
+ },
112
+ {
113
+ name: 'openAiEndpointId',
114
+ title: '@ai-management:models.entities.model.fields.open-ai-endpoint.title',
115
+ description: '@ai-management:models.entities.model.fields.open-ai-endpoint.description',
116
+ groupId: 'model-configuration',
117
+ schema: {
118
+ nullable: true,
119
+ readonly: '{{ ["gemini","openai","demis"].includes(String(context.eval("chatTransport") ?? "").toLowerCase()) }}',
120
+ interface: {
121
+ type: AXPWidgetsList.Editors.LookupBox,
122
+ options: {
123
+ entity: RootConfig.entities.openAiEndpoint.fullName,
124
+ look: 'select',
125
+ multiple: false,
126
+ textField: 'title',
127
+ valueField: 'id',
128
+ },
129
+ },
130
+ },
131
+ options: { filter: { inline: { enabled: true } } },
132
+ },
133
+ {
134
+ name: 'maxContextTokens',
135
+ title: '@ai-management:models.entities.model.fields.max-context-tokens.title',
136
+ description: '@ai-management:models.entities.model.fields.max-context-tokens.description',
137
+ groupId: 'model-configuration',
138
+ schema: {
139
+ interface: { type: AXPWidgetsList.Editors.NumberBox },
140
+ nullable: true,
141
+ },
142
+ },
143
+ {
144
+ name: 'maxOutputTokens',
145
+ title: '@ai-management:models.entities.model.fields.max-output-tokens.title',
146
+ description: '@ai-management:models.entities.model.fields.max-output-tokens.description',
147
+ groupId: 'model-configuration',
148
+ schema: {
149
+ interface: { type: AXPWidgetsList.Editors.NumberBox },
150
+ nullable: true,
151
+ },
152
+ },
153
+ {
154
+ name: 'maxInputTokens',
155
+ title: '@ai-management:models.entities.model.fields.max-input-tokens.title',
156
+ description: '@ai-management:models.entities.model.fields.max-input-tokens.description',
157
+ groupId: 'model-configuration',
158
+ schema: {
159
+ interface: { type: AXPWidgetsList.Editors.NumberBox },
160
+ nullable: true,
161
+ },
162
+ },
163
+ {
164
+ name: 'inputPricePerMillion',
165
+ title: '@ai-management:models.entities.model.fields.input-price-per-million.title',
166
+ description: '@ai-management:models.entities.model.fields.input-price-per-million.description',
167
+ groupId: 'model-configuration',
168
+ schema: {
169
+ interface: { type: AXPWidgetsList.Editors.NumberBox },
170
+ nullable: true,
171
+ },
172
+ },
173
+ {
174
+ name: 'outputPricePerMillion',
175
+ title: '@ai-management:models.entities.model.fields.output-price-per-million.title',
176
+ description: '@ai-management:models.entities.model.fields.output-price-per-million.description',
177
+ groupId: 'model-configuration',
178
+ schema: {
179
+ interface: { type: AXPWidgetsList.Editors.NumberBox },
180
+ nullable: true,
181
+ },
182
+ },
183
+ {
184
+ name: 'cachedInputPricePerMillion',
185
+ title: '@ai-management:models.entities.model.fields.cached-input-price-per-million.title',
186
+ description: '@ai-management:models.entities.model.fields.cached-input-price-per-million.description',
187
+ groupId: 'model-configuration',
188
+ schema: {
189
+ interface: { type: AXPWidgetsList.Editors.NumberBox },
190
+ nullable: true,
191
+ },
192
+ },
193
+ {
194
+ name: 'openAiEndpointIsDisabled',
195
+ title: '@ai-management:models.entities.model.fields.open-ai-endpoint-is-disabled.title',
196
+ description: '@ai-management:models.entities.model.fields.open-ai-endpoint-is-disabled.description',
197
+ groupId: 'model-configuration',
198
+ schema: {
199
+ visible: false,
200
+ nullable: true,
201
+ readonly: true,
202
+ defaultValue: false,
203
+ },
204
+ },
205
+ ],
206
+ columns: [
207
+ { name: 'name', title: '@ai-management:models.entities.model.fields.api-model-id.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
208
+ { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
209
+ { name: 'chatTransport', title: '@ai-management:models.entities.model.fields.chat-transport.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
210
+ ],
211
+ interfaces: {
212
+ master: {
213
+ create: {
214
+ sections: [{ id: 'basic-info' }, { id: 'model-configuration' }],
215
+ properties: [
216
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
217
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
218
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
219
+ { name: 'modelPurposes', layout: { positions: { lg: { colSpan: 6 } } } },
220
+ { name: 'chatTransport', layout: { positions: { lg: { colSpan: 6 } } } },
221
+ { name: 'openAiEndpointId', layout: { positions: { lg: { colSpan: 6 } } } },
222
+ { name: 'maxContextTokens', layout: { positions: { lg: { colSpan: 4 } } } },
223
+ { name: 'maxOutputTokens', layout: { positions: { lg: { colSpan: 4 } } } },
224
+ { name: 'maxInputTokens', layout: { positions: { lg: { colSpan: 4 } } } },
225
+ { name: 'inputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
226
+ { name: 'outputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
227
+ { name: 'cachedInputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
228
+ ],
229
+ },
230
+ update: {
231
+ sections: [{ id: 'basic-info' }, { id: 'model-configuration' }],
232
+ properties: [
233
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
234
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
235
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
236
+ { name: 'modelPurposes', layout: { positions: { lg: { colSpan: 6 } } } },
237
+ { name: 'chatTransport', layout: { positions: { lg: { colSpan: 6 } } } },
238
+ { name: 'openAiEndpointId', layout: { positions: { lg: { colSpan: 6 } } } },
239
+ { name: 'maxContextTokens', layout: { positions: { lg: { colSpan: 4 } } } },
240
+ { name: 'maxOutputTokens', layout: { positions: { lg: { colSpan: 4 } } } },
241
+ { name: 'maxInputTokens', layout: { positions: { lg: { colSpan: 4 } } } },
242
+ { name: 'inputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
243
+ { name: 'outputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
244
+ { name: 'cachedInputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
245
+ ],
246
+ },
247
+ single: {
248
+ title: '{{ name || modelId }}',
249
+ sections: [{ id: 'basic-info' }, { id: 'model-configuration' }],
250
+ properties: [
251
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
252
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
253
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
254
+ { name: 'modelPurposes', layout: { positions: { lg: { colSpan: 6 } } } },
255
+ { name: 'chatTransport', layout: { positions: { lg: { colSpan: 6 } } } },
256
+ { name: 'openAiEndpointId', layout: { positions: { lg: { colSpan: 6 } } } },
257
+ { name: 'maxContextTokens', layout: { positions: { lg: { colSpan: 4 } } } },
258
+ { name: 'maxOutputTokens', layout: { positions: { lg: { colSpan: 4 } } } },
259
+ { name: 'maxInputTokens', layout: { positions: { lg: { colSpan: 4 } } } },
260
+ { name: 'inputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
261
+ { name: 'outputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
262
+ { name: 'cachedInputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },
263
+ ],
264
+ actions: [],
265
+ },
266
+ list: {
267
+ actions: [...entityMasterCrudActions()],
268
+ views: [createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] })],
269
+ },
270
+ },
271
+ },
272
+ };
273
+ return entityDef;
274
+ }
275
+ //#endregion
276
+
277
+ export { factoryModel };
278
+ //# sourceMappingURL=acorex-platform-module-ai-management-client-contracts-entity-catalog-model.entity-BMAZ-ZMl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-ai-management-client-contracts-entity-catalog-model.entity-BMAZ-ZMl.mjs","sources":["../../../../libs/modules/ai-management/contracts/src/entities/model/model.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Entity ----\n\nexport async function factoryModel(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.model.name,\n title: RootConfig.entities.model.title,\n icon: RootConfig.entities.model.icon,\n plugins: [\n {\n name: 'disable',\n options: {\n disableFieldReadonly: '{{ context.eval(\"openAiEndpointIsDisabled\") === true }}',\n },\n },\n ],\n formats: {\n individual: RootConfig.entities.model.title,\n plural: RootConfig.entities.model.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ description }}',\n },\n },\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'model-configuration', title: '@ai-management:models.entities.model.groups.configuration.title' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { inline: { enabled: true }, advance: { enabled: true } } },\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 2 } } },\n options: { sort: { enabled: true }, filter: { inline: { enabled: true }, advance: { enabled: true } } },\n },\n {\n name: 'name',\n title: '@ai-management:models.entities.model.fields.api-model-id.title',\n groupId: 'model-configuration',\n schema: { interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { inline: { enabled: true }, advance: { enabled: true } } },\n // validations: [{ rule: 'required' }],\n },\n {\n name: 'modelPurposes',\n title: '@ai-management:models.entities.model.fields.model-purposes.title',\n description: '@ai-management:models.entities.model.fields.model-purposes.description',\n groupId: 'model-configuration',\n schema: {\n defaultValue: ['chat'],\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.TagEditor,\n options: {\n placeholder: '@ai-management:models.entities.model.fields.model-purposes.placeholder',\n allowDuplicate: false,\n },\n },\n },\n options: { filter: { inline: { enabled: true } } },\n },\n {\n name: 'chatTransport',\n title: '@ai-management:models.entities.model.fields.chat-transport.title',\n groupId: 'model-configuration',\n schema: {\n interface: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n value: 'gemini',\n text: '@ai-management:models.entities.model.fields.chat-transport.options.gemini',\n },\n {\n value: 'openai',\n text: '@ai-management:models.entities.model.fields.chat-transport.options.openai',\n },\n ],\n },\n triggers: [\n {\n event: \"{{ events.context('chatTransport') }}\",\n action:\n \"{{ const t = String(context.eval('chatTransport') ?? '').toLowerCase(); if (t === 'gemini') { context.set('openAiEndpointId', null); } }}\",\n },\n ],\n },\n },\n options: { filter: { inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'openAiEndpointId',\n title: '@ai-management:models.entities.model.fields.open-ai-endpoint.title',\n description: '@ai-management:models.entities.model.fields.open-ai-endpoint.description',\n groupId: 'model-configuration',\n schema: {\n nullable: true,\n readonly:\n '{{ [\"gemini\",\"openai\",\"demis\"].includes(String(context.eval(\"chatTransport\") ?? \"\").toLowerCase()) }}',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: RootConfig.entities.openAiEndpoint.fullName,\n look: 'select',\n multiple: false,\n textField: 'title',\n valueField: 'id',\n },\n },\n },\n options: { filter: { inline: { enabled: true } } },\n },\n {\n name: 'maxContextTokens',\n title: '@ai-management:models.entities.model.fields.max-context-tokens.title',\n description: '@ai-management:models.entities.model.fields.max-context-tokens.description',\n groupId: 'model-configuration',\n schema: {\n interface: { type: AXPWidgetsList.Editors.NumberBox },\n nullable: true,\n },\n },\n {\n name: 'maxOutputTokens',\n title: '@ai-management:models.entities.model.fields.max-output-tokens.title',\n description: '@ai-management:models.entities.model.fields.max-output-tokens.description',\n groupId: 'model-configuration',\n schema: {\n interface: { type: AXPWidgetsList.Editors.NumberBox },\n nullable: true,\n },\n },\n {\n name: 'maxInputTokens',\n title: '@ai-management:models.entities.model.fields.max-input-tokens.title',\n description: '@ai-management:models.entities.model.fields.max-input-tokens.description',\n groupId: 'model-configuration',\n schema: {\n interface: { type: AXPWidgetsList.Editors.NumberBox },\n nullable: true,\n },\n },\n {\n name: 'inputPricePerMillion',\n title: '@ai-management:models.entities.model.fields.input-price-per-million.title',\n description: '@ai-management:models.entities.model.fields.input-price-per-million.description',\n groupId: 'model-configuration',\n schema: {\n interface: { type: AXPWidgetsList.Editors.NumberBox },\n nullable: true,\n },\n },\n {\n name: 'outputPricePerMillion',\n title: '@ai-management:models.entities.model.fields.output-price-per-million.title',\n description: '@ai-management:models.entities.model.fields.output-price-per-million.description',\n groupId: 'model-configuration',\n schema: {\n interface: { type: AXPWidgetsList.Editors.NumberBox },\n nullable: true,\n },\n },\n {\n name: 'cachedInputPricePerMillion',\n title: '@ai-management:models.entities.model.fields.cached-input-price-per-million.title',\n description: '@ai-management:models.entities.model.fields.cached-input-price-per-million.description',\n groupId: 'model-configuration',\n schema: {\n interface: { type: AXPWidgetsList.Editors.NumberBox },\n nullable: true,\n },\n },\n {\n name: 'openAiEndpointIsDisabled',\n title: '@ai-management:models.entities.model.fields.open-ai-endpoint-is-disabled.title',\n description: '@ai-management:models.entities.model.fields.open-ai-endpoint-is-disabled.description',\n groupId: 'model-configuration',\n schema: {\n visible: false,\n nullable: true,\n readonly: true,\n defaultValue: false,\n },\n },\n ],\n columns: [\n { name: 'name', title: '@ai-management:models.entities.model.fields.api-model-id.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'chatTransport', title: '@ai-management:models.entities.model.fields.chat-transport.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'model-configuration' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'modelPurposes', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'chatTransport', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'openAiEndpointId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxContextTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'maxOutputTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'maxInputTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'inputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'outputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'cachedInputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'model-configuration' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'modelPurposes', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'chatTransport', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'openAiEndpointId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxContextTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'maxOutputTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'maxInputTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'inputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'outputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'cachedInputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n ],\n },\n single: {\n title: '{{ name || modelId }}',\n sections: [{ id: 'basic-info' }, { id: 'model-configuration' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'modelPurposes', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'chatTransport', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'openAiEndpointId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxContextTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'maxOutputTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'maxInputTokens', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'inputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'outputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'cachedInputPricePerMillion', layout: { positions: { lg: { colSpan: 4 } } } },\n ],\n actions: [],\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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"}