@umbraco-ai/core 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umbraco-ai/core",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "type": "module",
5
5
  "types": "./types/umbraco-ai-public-types.d.ts",
6
6
  "files": [
@@ -1,8 +1,10 @@
1
1
  import { CSSResult } from 'lit';
2
2
  import { HTMLElementConstructor } from '@umbraco-cms/backoffice/extension-api';
3
+ import { LitElement } from '@umbraco-cms/backoffice/external/lit';
3
4
  import type { ManifestApi } from '@umbraco-cms/backoffice/extension-api';
4
5
  import type { ManifestBase } from '@umbraco-cms/backoffice/extension-api';
5
6
  import type { ManifestMenuItem } from '@umbraco-cms/backoffice/menu';
7
+ import type { ManifestRepository } from '@umbraco-cms/backoffice/extension-registry';
6
8
  import { Observable } from '@umbraco-cms/backoffice/external/rxjs';
7
9
  import { Observable as Observable_2 } from 'rxjs';
8
10
  import { TemplateResult } from 'lit-html';
@@ -126,6 +128,32 @@ export declare interface ManifestUaiRequestContextContributor extends ManifestAp
126
128
  meta?: Record<string, unknown>;
127
129
  }
128
130
 
131
+ /**
132
+ * Manifest for registering a test feature entity repository.
133
+ *
134
+ * Each test feature (e.g., "prompt", "agent")
135
+ * registers one repository that provides entities for that feature.
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * const manifest: ManifestUaiTestFeatureEntityRepository = {
140
+ * type: "repository",
141
+ * alias: "Uai.Repository.TestFeatureEntity.Prompt",
142
+ * name: "Prompt Test Feature Entity Repository",
143
+ * meta: {
144
+ * feature: "prompt",
145
+ * },
146
+ * api: () => import("./prompt-test-entity.repository.js"),
147
+ * };
148
+ * ```
149
+ */
150
+ export declare interface ManifestUaiTestFeatureEntityRepository extends ManifestRepository<UaiTestFeatureEntityRepositoryApi> {
151
+ meta: {
152
+ /** The test feature ID this repository provides entities for */
153
+ feature: string;
154
+ };
155
+ }
156
+
129
157
  /**
130
158
  * Resolve an entity adapter by entity type.
131
159
  *
@@ -202,7 +230,7 @@ declare const UAI_REQUEST_CONTEXT_CONTRIBUTOR_EXTENSION_TYPE = "uaiRequestContex
202
230
  */
203
231
  export declare const UAI_ROLLBACK_MODAL: UmbModalToken<UaiRollbackModalData, UaiRollbackModalValue>;
204
232
 
205
- export declare const UAI_SECTION_ALIAS = "Uai.Section.AI";
233
+ export declare const UAI_SECTION_ALIAS = "ai";
206
234
 
207
235
  /**
208
236
  * Context token for consuming the Workspace Registry.
@@ -441,7 +469,6 @@ export declare interface UaiDetectedEntity {
441
469
  * Adapter for Umbraco document entities.
442
470
  */
443
471
  export declare class UaiDocumentAdapter implements UaiEntityAdapterApi {
444
- #private;
445
472
  readonly entityType = "document";
446
473
  /**
447
474
  * Check if the workspace context is a document workspace.
@@ -762,6 +789,23 @@ export declare interface UaiFrontendToolRepositoryApi extends UmbApi {
762
789
  getTools(): Promise<UaiFrontendToolData[]>;
763
790
  }
764
791
 
792
+ /**
793
+ * A card with background/border chrome wrapping a labeled field.
794
+ */
795
+ export declare class UaiInfoCardElement extends LitElement {
796
+ label: string;
797
+ render(): TemplateResult<1>;
798
+ static styles: CSSResult;
799
+ }
800
+
801
+ /**
802
+ * A responsive grid layout wrapper for info cards.
803
+ */
804
+ export declare class UaiInfoGridElement extends LitElement {
805
+ render(): TemplateResult<1>;
806
+ static styles: CSSResult;
807
+ }
808
+
765
809
  export declare interface UaiItemPickerModalData {
766
810
  items?: UaiPickableItemModel[];
767
811
  fetchItems?: () => Promise<UaiPickableItemModel[]>;
@@ -770,6 +814,8 @@ export declare interface UaiItemPickerModalData {
770
814
  title?: string;
771
815
  buttonLabel?: string;
772
816
  noResultsMessage?: string;
817
+ /** If false, modal won't auto-close in single selection mode. Default: true */
818
+ autoSubmit?: boolean;
773
819
  }
774
820
 
775
821
  export declare class UaiItemPickerModalElement extends UmbModalBaseElement<UaiItemPickerModalData, UaiItemPickerModalValue> {
@@ -787,6 +833,15 @@ export declare interface UaiItemPickerModalValue {
787
833
  selection: UaiPickableItemModel[];
788
834
  }
789
835
 
836
+ /**
837
+ * A label + slotted content pair. No visual chrome — just the label/content layout.
838
+ */
839
+ export declare class UaiLabeledFieldElement extends LitElement {
840
+ label: string;
841
+ render(): TemplateResult<1>;
842
+ static styles: CSSResult;
843
+ }
844
+
790
845
  /**
791
846
  * Event detail for model editor value changes.
792
847
  */
@@ -1179,6 +1234,42 @@ export declare class UaiTagsInputElement extends UaiTagsInputElement_base {
1179
1234
 
1180
1235
  declare const UaiTagsInputElement_base: (new (...args: any[]) => UUIFormControlMixinElement<FormData | FormDataEntryValue>) & typeof UmbLitElement;
1181
1236
 
1237
+ /**
1238
+ * Entity data for display in test feature target pickers.
1239
+ * Minimal data needed to display available entities in the UI.
1240
+ */
1241
+ export declare interface UaiTestFeatureEntityData {
1242
+ /** Unique entity identifier (can be GUID or alias) */
1243
+ id: string;
1244
+ /** Display name for the entity */
1245
+ name: string;
1246
+ /** Description of the entity (optional) */
1247
+ description?: string;
1248
+ /** Umbraco icon name (e.g., "icon-chat", "icon-robot") */
1249
+ icon: string;
1250
+ }
1251
+
1252
+ /**
1253
+ * Repository API for accessing test feature entities.
1254
+ * Implemented by packages that provide testable entities (Prompt, Agent, etc.).
1255
+ *
1256
+ * Each test feature type can have zero or one repository implementation.
1257
+ */
1258
+ export declare interface UaiTestFeatureEntityRepositoryApi extends UmbApi {
1259
+ /**
1260
+ * Get all entities available for testing within this feature type.
1261
+ * @returns Array of entity data for display in picker
1262
+ */
1263
+ getEntities(): Promise<UaiTestFeatureEntityData[]>;
1264
+ /**
1265
+ * Get a single entity by ID or alias.
1266
+ * Used for resolving the entity when loading an existing test.
1267
+ * @param idOrAlias - Entity ID (GUID) or alias
1268
+ * @returns Entity data or undefined if not found
1269
+ */
1270
+ getEntity(idOrAlias: string): Promise<UaiTestFeatureEntityData | undefined>;
1271
+ }
1272
+
1182
1273
  /**
1183
1274
  * Tool with permission state.
1184
1275
  */