@acorex-platform/module-ai-management-client 0.0.53 → 0.0.56
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-platform-module-ai-management-client-agent-registry-tool-configurator-widget-edit.component-CMsc3P9O.mjs → acorex-platform-module-ai-management-client-agent-registry-tool-configurator-widget-edit.component-CJjat56M.mjs} +2 -2
- package/fesm2022/acorex-platform-module-ai-management-client-agent-registry-tool-configurator-widget-edit.component-CJjat56M.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-ai-management-client-assist-delegated-agent-configurator-widget-edit.component-Dmi8vzfr.mjs → acorex-platform-module-ai-management-client-assist-delegated-agent-configurator-widget-edit.component-DSdzO0Zm.mjs} +10 -3
- package/fesm2022/acorex-platform-module-ai-management-client-assist-delegated-agent-configurator-widget-edit.component-DSdzO0Zm.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-ai-management-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-ai-management-client.mjs +35 -29
- package/fesm2022/acorex-platform-module-ai-management-client.mjs.map +1 -1
- package/i18n/en-AU/ai-management.json +817 -0
- package/i18n/en-US/ai-management.json +817 -0
- package/i18n/fa-IR/ai-management.json +817 -0
- package/package.json +1 -1
- package/types/acorex-platform-module-ai-management-client-contracts.d.ts +2 -0
- package/fesm2022/acorex-platform-module-ai-management-client-agent-registry-tool-configurator-widget-edit.component-CMsc3P9O.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-ai-management-client-assist-delegated-agent-configurator-widget-edit.component-Dmi8vzfr.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -842,6 +842,8 @@ interface AXPAiExtractDocumentTextOptions {
|
|
|
842
842
|
/** Raw document bytes from file storage. */
|
|
843
843
|
bytes: Uint8Array;
|
|
844
844
|
filename?: string;
|
|
845
|
+
/** When true, the model must reply with a JSON object (metadata field mapping). */
|
|
846
|
+
jsonObject?: boolean;
|
|
845
847
|
}
|
|
846
848
|
interface AXPAiGenerateImageOptions {
|
|
847
849
|
modelEntityId?: string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-ai-management-client-agent-registry-tool-configurator-widget-edit.component-CMsc3P9O.mjs","sources":["../../../../libs/modules/ai-management/client/src/lib/features/widgets/agent-registry-tool-configurator/input-option-definitions-to-widget-properties.ts","../../../../libs/modules/ai-management/client/src/lib/features/widgets/agent-registry-tool-configurator/agent-registry-tool-configurator-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetProperty, AXPWidgetPropertyGroup } from '@acorex-platform/framework-shared/widget-core';\nimport type { AXPPropertyDefinition } from '@acorex-platform/framework-shared/domain';\n\n//#endregion\n\n//#region ---- Mapping ----\n\nconst DEFAULT_GROUP: AXPWidgetPropertyGroup = {\n name: 'registry-input-defaults',\n title: 'Default arguments',\n order: 1,\n};\n\n/**\n * Maps command/query registry {@link AXPPropertyDefinition} rows to item-configurator property fields.\n */\nexport function mapInputOptionDefinitionsToWidgetProperties(\n defs: AXPPropertyDefinition[] | null | undefined,\n): AXPWidgetProperty[] {\n if (!Array.isArray(defs) || defs.length === 0) {\n return [];\n }\n\n const properties: AXPWidgetProperty[] = [];\n let order = 0;\n\n for (const def of defs) {\n if (!def?.name) {\n continue;\n }\n order += 1;\n const widgetType = def.interface?.name?.trim() ? def.interface.name.trim() : 'text-editor';\n const title = typeof def.title === 'string' && def.title.trim() ? def.title.trim() : def.name;\n const description = typeof def.description === 'string' ? def.description.trim() : undefined;\n\n const optionsPath = `options.${def.name}`;\n\n const property: AXPWidgetProperty = {\n name: def.name,\n title,\n ...(description ? { description } : {}),\n group: DEFAULT_GROUP,\n order,\n schema: {\n dataType: def.dataType ?? 'string',\n interface: {\n path: optionsPath,\n name: def.name,\n type: widgetType,\n options: def.interface?.options ?? {},\n },\n },\n validations: def.validations,\n visible: true,\n };\n\n properties.push(property);\n }\n\n return properties;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPOptionsData, type AXPWidgetNode, runtimeQueryCollectionData, sortByMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nimport type { AXPPropertyDefinition } from '@acorex-platform/framework-shared/domain';\nimport { AXPItemConfiguratorComponent, ItemConfiguratorListItem } from '@acorex-platform/framework-client/layout/components';\nimport { AXPQueryService } from '@acorex-platform/framework-client/runtime';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, model, signal, untracked } from '@angular/core';\nimport { get, isEqual } from 'lodash';\nimport { mapInputOptionDefinitionsToWidgetProperties } from './input-option-definitions-to-widget-properties';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst LIST_AI_COMMAND_REGISTRY_CATALOG_QUERY = 'AiManagement:ListAiCommandRegistryCatalog';\nconst LIST_AI_QUERY_REGISTRY_CATALOG_QUERY = 'AiManagement:ListAiQueryRegistryCatalog';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-agent-registry-tool-configurator-widget-edit',\n template: `\n @if (isInitialized()) {\n <axp-item-configurator\n [(selectedItemId)]=\"selectedItemIdModel\"\n [(values)]=\"valuesModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n [items]=\"listItems()\"\n ></axp-item-configurator>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPItemConfiguratorComponent],\n})\nexport class AXMAgentRegistryToolConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<AXPWidgetNode> {\n //#region ---- Services & Dependencies ----\n\n private readonly queryService = inject(AXPQueryService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected readonly = computed<boolean>(() => {\n const raw = this.options()['readonly'];\n if (typeof raw === 'string') {\n const normalized = raw.trim().toLowerCase();\n if (normalized === 'true') {\n return true;\n }\n if (normalized === 'false') {\n return false;\n }\n }\n return raw === true;\n });\n\n protected label = computed<string>(() => {\n const v = this.options()['label'];\n return typeof v === 'string' && v.trim() ? v.trim() : '';\n });\n\n private readonly registryKind = computed<'command' | 'query'>(() => {\n const k = this.options()['registryKind'];\n return k === 'query' ? 'query' : 'command';\n });\n\n private readonly dataSourceName = computed<string>(() => {\n const ds = this.options()['dataSource'];\n if (typeof ds === 'string' && ds.trim() !== '') {\n return ds.trim();\n }\n return this.registryKind() === 'query'\n ? LIST_AI_QUERY_REGISTRY_CATALOG_QUERY\n : LIST_AI_COMMAND_REGISTRY_CATALOG_QUERY;\n });\n\n private readonly asyncNamedDataSourceItems = signal<unknown[] | undefined>(undefined);\n\n protected listItems = computed<ItemConfiguratorListItem[]>(() => {\n const rows = this.asyncNamedDataSourceItems() ?? [];\n const list: ItemConfiguratorListItem[] = [];\n\n for (const row of rows) {\n const idRaw = get(row as object, 'id');\n const id = idRaw != null ? String(idRaw).trim() : '';\n if (!id) {\n continue;\n }\n\n const titleRaw = get(row as object, 'catalogTitle');\n const title = titleRaw != null ? String(titleRaw).trim() : id;\n const descriptionRaw = get(row as object, 'description');\n const description = descriptionRaw != null ? String(descriptionRaw) : undefined;\n const iconRaw = get(row as object, 'icon');\n const icon = iconRaw != null ? String(iconRaw) : undefined;\n const defsRaw = get(row as object, 'inputOptionDefinitions');\n const propertyDefinitions = mapInputOptionDefinitionsToWidgetProperties(\n Array.isArray(defsRaw) ? (defsRaw as AXPPropertyDefinition[]) : [],\n );\n\n list.push({ id, title, description, icon, propertyDefinitions });\n }\n\n return sortByMultiLanguageString(list, (item) => item.title, this.translation.getActiveLang());\n });\n\n //#endregion\n\n //#region ---- State ----\n\n protected isInitialized = signal(false);\n\n //#endregion\n\n //#region ---- Models ----\n\n protected selectedItemIdModel = model<string>('');\n protected valuesModel = model<Record<string, unknown>>({});\n\n //#endregion\n\n //#region ---- Effects ----\n\n private loadNamedDataSourceEffect = effect((onCleanup) => {\n const name = this.dataSourceName();\n let cancelled = false;\n onCleanup(() => {\n cancelled = true;\n });\n\n void (async () => {\n try {\n if (!this.queryService.exists(name)) {\n this.asyncNamedDataSourceItems.set([]);\n return;\n }\n\n const result = await this.queryService.fetch(name, { skip: 0, take: 500 });\n if (cancelled) {\n return;\n }\n const page = runtimeQueryCollectionData(result);\n this.asyncNamedDataSourceItems.set(page?.items ?? []);\n } catch {\n if (!cancelled) {\n this.asyncNamedDataSourceItems.set([]);\n }\n }\n })();\n });\n\n private syncValueToConfigurator = effect(() => {\n const value = this.getValue();\n\n if (value && value.type) {\n const currentSelected = untracked(() => this.selectedItemIdModel());\n const currentValues = untracked(() => this.valuesModel());\n const nextOptions = (value.options ?? {}) as Record<string, unknown>;\n\n if (value.type !== currentSelected || !isEqual(nextOptions, currentValues)) {\n untracked(() => {\n this.selectedItemIdModel.set(value.type);\n this.valuesModel.set(nextOptions);\n this.isInitialized.set(true);\n });\n }\n return;\n }\n\n untracked(() => {\n if (!this.isInitialized()) {\n this.selectedItemIdModel.set('');\n this.valuesModel.set({});\n this.isInitialized.set(true);\n }\n });\n });\n\n private syncConfiguratorToValue = effect(() => {\n const selectedId = this.selectedItemIdModel();\n const values = this.valuesModel();\n\n if (!untracked(() => this.isInitialized())) {\n return;\n }\n\n const currentValue = untracked(() => this.getValue());\n const empty: AXPWidgetNode = { type: '', options: {} };\n\n if (!selectedId) {\n if (!isEqual(currentValue ?? empty, empty)) {\n untracked(() => {\n this.setValue(empty);\n });\n }\n return;\n }\n\n const next: AXPWidgetNode = {\n ...(currentValue && typeof currentValue === 'object' ? currentValue : {}),\n type: selectedId,\n options: values as AXPOptionsData,\n };\n\n if (!isEqual(next, currentValue)) {\n untracked(() => {\n this.setValue(next);\n });\n }\n });\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-ai-management-client-assist-delegated-agent-configurator-widget-edit.component-Dmi8vzfr.mjs","sources":["../../../../libs/modules/ai-management/client/src/lib/features/widgets/assist-delegated-agent-configurator/delegated-parameter-definitions-to-widget-properties.ts","../../../../libs/modules/ai-management/client/src/lib/features/widgets/assist-delegated-agent-configurator/assist-delegated-agent-configurator-widget-edit.component.ts"],"sourcesContent":["import { AXPWidgetProperty, AXPWidgetPropertyGroup, createStringProperty } from '@acorex-platform/framework-shared/widget-core';\n//#region ---- Imports ----\n\n//#endregion\n\n//#region ---- Delegated definitions → property viewer ----\n\ntype DelegatedParameterDefinition = {\n name: string;\n binding: string;\n title?: string;\n description?: string;\n defaultValue?: unknown;\n group?: { name: string; title: string; order?: number };\n interface?: {\n name?: string;\n options?: Record<string, unknown>;\n };\n};\n\n/**\n * Maps delegated parameter definitions to property-viewer compatible fields.\n */\nexport function mapDelegatedParameterDefinitionsToWidgetProperties(\n defs: ReadonlyArray<DelegatedParameterDefinition>,\n): AXPWidgetProperty[] {\n const defaultGroup: AXPWidgetPropertyGroup = {\n name: 'delegated-agent-parameters',\n title: 'Delegated parameters',\n order: 1,\n };\n\n const filtered = defs.filter((d) => d.binding === 'assist_locked' || d.binding === 'assist_default');\n const source =\n filtered.length > 0\n ? filtered\n : [{ name: 'query', binding: 'assist_default', title: 'Query', description: '' }];\n\n return source.map((d) => {\n const group: AXPWidgetPropertyGroup = d.group\n ? {\n name: d.group.name,\n title: d.group.title,\n order: d.group.order ?? 0,\n }\n : defaultGroup;\n\n const defaultStr =\n d.defaultValue !== undefined && d.defaultValue !== null ? String(d.defaultValue) : undefined;\n const title = (d.title?.trim() || d.name) as string;\n const desc = typeof d.description === 'string' ? d.description.trim() : '';\n const widgetType = d.interface?.name?.trim() ? d.interface.name.trim() : 'text-editor';\n\n if (widgetType !== 'text-editor') {\n const property: AXPWidgetProperty = {\n name: d.name,\n title,\n ...(desc ? { description: desc } : {}),\n group,\n schema: {\n dataType: 'string',\n defaultValue: defaultStr,\n interface: {\n path: `options.${d.name}`,\n name: d.name,\n type: widgetType,\n options: d.interface?.options ?? {},\n },\n },\n visible: true,\n };\n return property;\n }\n\n const property = createStringProperty({\n name: d.name,\n title,\n path: `options.${d.name}`,\n group,\n visible: true,\n defaultValue: defaultStr,\n });\n\n return desc ? { ...property, description: desc } : property;\n });\n}\n\nexport function isDelegatedParameterDefinitionList(value: unknown): value is DelegatedParameterDefinition[] {\n if (!Array.isArray(value) || value.length === 0) {\n return false;\n }\n\n const first = value[0];\n if (first == null || typeof first !== 'object' || Array.isArray(first)) {\n return false;\n }\n\n return (\n typeof (first as Record<string, unknown>)['name'] === 'string' &&\n typeof (first as Record<string, unknown>)['binding'] === 'string' &&\n !('schema' in (first as object))\n );\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPMultiLanguageString, type AXPOptionsData, type AXPWidgetNode, sortByMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { AXPWidgetProperty } from '@acorex-platform/framework-shared/widget-core';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nimport { AXPItemConfiguratorComponent, ItemConfiguratorListItem } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, model, signal, untracked } from '@angular/core';\nimport { get, isEqual } from 'lodash';\nimport { RootConfig, type AXMAiManagementAgentEntityModel } from '@acorex-platform/module-ai-management-client/contracts';\nimport {\n isDelegatedParameterDefinitionList,\n mapDelegatedParameterDefinitionsToWidgetProperties,\n} from './delegated-parameter-definitions-to-widget-properties';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-assist-delegated-agent-configurator-widget-edit',\n template: `\n @if (isInitialized()) {\n <axp-item-configurator\n [(selectedItemId)]=\"selectedItemIdModel\"\n [(values)]=\"valuesModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n [items]=\"listItems()\"\n ></axp-item-configurator>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPItemConfiguratorComponent],\n})\nexport class AXMAssistDelegatedAgentConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<AXPWidgetNode> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly translation = inject(AXTranslationService);\n\n private readonly agentData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.agent.name)\n .data<string, AXMAiManagementAgentEntityModel>();\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected readonly = computed<boolean>(() => {\n const raw = this.options()['readonly'];\n if (typeof raw === 'string') {\n const normalized = raw.trim().toLowerCase();\n if (normalized === 'true') {\n return true;\n }\n if (normalized === 'false') {\n return false;\n }\n }\n return raw === true;\n });\n\n protected label = computed<string>(() => {\n const v = this.options()['label'];\n return typeof v === 'string' && v.trim() ? v.trim() : '@ai-management:assists.entities.assist.fields.delegated-agent.title';\n });\n\n private readonly agentRows = signal<unknown[] | undefined>(undefined);\n\n protected listItems = computed<ItemConfiguratorListItem[]>(() => {\n const rows = this.agentRows() ?? [];\n const list: ItemConfiguratorListItem[] = [];\n\n for (const row of rows) {\n const idRaw = get(row as object, 'id');\n const id = idRaw != null ? String(idRaw).trim() : '';\n if (!id) {\n continue;\n }\n\n const title = get(row as object, 'title') as unknown as AXPMultiLanguageString;\n const description = get(row as object, 'description') as unknown as AXPMultiLanguageString;\n const icon = get(row as object, 'icon') as unknown as string;\n const propertyDefinitions = resolvePropertyDefinitions(get(row as object, 'parameterDefinitions'));\n\n list.push({ id, title, description, icon, propertyDefinitions });\n }\n\n return sortByMultiLanguageString(list, (item) => item.title, this.translation.getActiveLang());\n });\n\n //#endregion\n\n //#region ---- State ----\n\n protected isInitialized = signal(false);\n\n //#endregion\n\n //#region ---- Models ----\n\n protected selectedItemIdModel = model<string>('');\n protected valuesModel = model<Record<string, unknown>>({});\n\n //#endregion\n\n //#region ---- Effects ----\n\n private loadAgentsEffect = effect((onCleanup) => {\n let cancelled = false;\n onCleanup(() => {\n cancelled = true;\n });\n\n void (async () => {\n try {\n const loaded = await this.agentData.query({\n skip: 0,\n take: 500,\n sort: [{ field: 'title', dir: 'asc' }],\n });\n if (cancelled) {\n return;\n }\n this.agentRows.set(loaded.items ?? []);\n } catch {\n if (!cancelled) {\n this.agentRows.set([]);\n }\n }\n })();\n });\n\n private syncValueToConfigurator = effect(() => {\n const value = this.getValue();\n\n if (value && value.type) {\n const currentSelected = untracked(() => this.selectedItemIdModel());\n const currentValues = untracked(() => this.valuesModel());\n const nextOptions = (value.options ?? {}) as Record<string, unknown>;\n\n if (value.type !== currentSelected || !isEqual(nextOptions, currentValues)) {\n untracked(() => {\n this.selectedItemIdModel.set(value.type);\n this.valuesModel.set(nextOptions);\n this.isInitialized.set(true);\n });\n }\n return;\n }\n\n untracked(() => {\n if (!this.isInitialized()) {\n this.selectedItemIdModel.set('');\n this.valuesModel.set({});\n this.isInitialized.set(true);\n }\n });\n });\n\n private syncConfiguratorToValue = effect(() => {\n const selectedId = this.selectedItemIdModel();\n const values = this.valuesModel();\n\n if (!untracked(() => this.isInitialized())) {\n return;\n }\n\n const currentValue = untracked(() => this.getValue());\n const empty: AXPWidgetNode = { type: '', options: {} };\n\n if (!selectedId) {\n if (!isEqual(currentValue ?? empty, empty)) {\n untracked(() => {\n this.setValue(empty);\n });\n }\n return;\n }\n\n const next: AXPWidgetNode = {\n ...(currentValue && typeof currentValue === 'object' ? currentValue : {}),\n type: selectedId,\n options: values as AXPOptionsData,\n };\n\n if (!isEqual(next, currentValue)) {\n untracked(() => {\n this.setValue(next);\n });\n }\n });\n\n //#endregion\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction tryParseJsonIfString(value: unknown): unknown {\n if (typeof value === 'string' && value.trim() !== '') {\n try {\n return JSON.parse(value) as unknown;\n } catch {\n return value;\n }\n }\n return value;\n}\n\nfunction isWidgetPropertyArray(value: unknown): value is AXPWidgetProperty[] {\n if (!Array.isArray(value) || value.length === 0) {\n return false;\n }\n\n return value.every(\n (item) =>\n item != null &&\n typeof item === 'object' &&\n 'name' in item &&\n typeof (item as AXPWidgetProperty).name === 'string' &&\n 'schema' in item &&\n 'group' in item,\n );\n}\n\nfunction resolvePropertyDefinitions(rawValue: unknown): AXPWidgetProperty[] {\n const parsed = tryParseJsonIfString(rawValue);\n\n if (isWidgetPropertyArray(parsed)) {\n return parsed;\n }\n\n if (isDelegatedParameterDefinitionList(parsed)) {\n return mapDelegatedParameterDefinitionsToWidgetProperties(parsed);\n }\n\n return [];\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|