@praxisui/ai 8.0.0-beta.2 → 8.0.0-beta.20

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/index.d.ts CHANGED
@@ -18,8 +18,9 @@ declare class PraxisAi {
18
18
  * Do not edit manually. Run praxis-config-starter/tools/contracts/generate-ai-contract-bindings.js.
19
19
  */
20
20
  declare const AI_CONTRACT_VERSION: "v1.1";
21
- declare const AI_CONTRACT_SCHEMA_HASH: "922e6d48637e64b403562d6d7cb833ed4942ffb0b452ec3573255871f4ec8739";
21
+ declare const AI_CONTRACT_SCHEMA_HASH: "42af43aec91777def176def87d2f41d30c8dbc8abb6c21dc38b5e181a1a51f4f";
22
22
  declare const AI_STREAM_EVENT_SCHEMA_VERSION: "v1";
23
+ declare const AI_DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION: "praxis.ai.context-hints.domain-catalog/v0.2";
23
24
  declare const AI_STREAM_EVENT_TYPES: readonly ["status", "thought.step", "heartbeat", "result", "error", "cancelled"];
24
25
  type AiJsonPrimitive = string | number | boolean | null;
25
26
  type AiJsonArray = AiJsonValue[];
@@ -27,6 +28,41 @@ interface AiJsonObject {
27
28
  [key: string]: AiJsonValue;
28
29
  }
29
30
  type AiJsonValue = AiJsonPrimitive | AiJsonObject | AiJsonArray;
31
+ type AiDomainCatalogContextHintItemType = 'context' | 'node' | 'edge' | 'binding' | 'evidence' | 'governance' | 'vocabulary' | 'relationship';
32
+ type AiDomainCatalogContextHintIntent = 'authoring' | 'explain' | 'validate' | 'ai-access-control';
33
+ type AiDomainCatalogRecommendedAuthoringFlow = 'shared_rule_authoring' | 'component_authoring' | 'ui_composition_authoring';
34
+ type AiDomainCatalogRecommendedRuleType = 'privacy' | 'compliance' | 'validation' | 'selection_eligibility' | 'workflow_action_policy' | 'approval_policy' | string;
35
+ interface AiDomainCatalogRelationshipHintContract {
36
+ enabled?: boolean;
37
+ federated?: boolean;
38
+ serviceKey?: string | null;
39
+ sourceNodeKey?: string | null;
40
+ targetNodeKey?: string | null;
41
+ edgeType?: string | null;
42
+ query?: string | null;
43
+ limit?: number;
44
+ }
45
+ interface AiDomainCatalogContextHintContract {
46
+ schemaVersion?: typeof AI_DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION;
47
+ serviceKey?: string;
48
+ resourceKey?: string | null;
49
+ releaseId?: string | null;
50
+ releaseKey?: string | null;
51
+ type?: AiDomainCatalogContextHintItemType;
52
+ itemTypes?: AiDomainCatalogContextHintItemType[];
53
+ intent?: AiDomainCatalogContextHintIntent | null;
54
+ query?: string | null;
55
+ contextKey?: string | null;
56
+ nodeType?: string | null;
57
+ recommendedAuthoringFlow?: AiDomainCatalogRecommendedAuthoringFlow | null;
58
+ recommendedRuleType?: AiDomainCatalogRecommendedRuleType | null;
59
+ limit?: number;
60
+ relationships?: AiDomainCatalogRelationshipHintContract | null;
61
+ }
62
+ interface AiContextHintsContract {
63
+ domainCatalog?: AiDomainCatalogContextHintContract;
64
+ [key: string]: AiJsonValue | AiDomainCatalogContextHintContract | undefined;
65
+ }
30
66
  interface AiSchemaContextContract {
31
67
  path?: string | null;
32
68
  operation?: string | null;
@@ -64,7 +100,7 @@ interface AiOrchestratorRequestContract {
64
100
  schemaFields?: AiJsonObject[] | null;
65
101
  runtimeState?: AiJsonObject | null;
66
102
  suggestedPatch?: AiJsonObject | null;
67
- contextHints?: AiJsonObject | null;
103
+ contextHints?: AiContextHintsContract | null;
68
104
  aiMode?: string;
69
105
  requireSchema?: boolean;
70
106
  resourcePath?: string;
@@ -86,7 +122,7 @@ interface AiOptionContract {
86
122
  value?: string | null;
87
123
  label?: string | null;
88
124
  example?: string | null;
89
- contextHints?: AiJsonObject | null;
125
+ contextHints?: AiContextHintsContract | null;
90
126
  }
91
127
  interface AiClarificationUiContract {
92
128
  responseType?: 'text' | 'choice' | 'confirm' | 'mixed' | 'context';
@@ -161,6 +197,7 @@ interface AgenticAuthoringIntentResolutionRequestContract extends AgenticAuthori
161
197
  provider?: string | null;
162
198
  model?: string | null;
163
199
  apiKey?: string | null;
200
+ contextHints?: AiContextHintsContract | null;
164
201
  }
165
202
  interface AgenticAuthoringCandidateContract {
166
203
  resourcePath?: string | null;
@@ -178,7 +215,11 @@ interface AgenticAuthoringQuickReplyContract {
178
215
  kind: string;
179
216
  label: string;
180
217
  prompt: string;
181
- [key: string]: AiJsonValue | undefined;
218
+ description?: string | null;
219
+ icon?: string | null;
220
+ tone?: string | null;
221
+ contextHints?: AiContextHintsContract | null;
222
+ [key: string]: AiJsonValue | AiContextHintsContract | undefined;
182
223
  }
183
224
  interface AgenticAuthoringIntentResolutionResultContract {
184
225
  valid?: boolean;
@@ -195,8 +236,27 @@ interface AgenticAuthoringIntentResolutionResultContract {
195
236
  clarificationQuestions?: string[];
196
237
  warnings?: string[];
197
238
  failureCodes?: string[];
239
+ llmDiagnostics?: AiJsonObject | null;
198
240
  [key: string]: AiJsonValue | AgenticAuthoringCandidateContract | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract | AgenticAuthoringQuickReplyContract[] | AgenticAuthoringPendingClarificationContract | undefined;
199
241
  }
242
+ interface AgenticAuthoringResourceCandidatesRequestContract {
243
+ retrievalQuery?: string | null;
244
+ userPrompt?: string | null;
245
+ artifactKind?: string | null;
246
+ limit?: number | null;
247
+ [key: string]: AiJsonValue | undefined;
248
+ }
249
+ interface AgenticAuthoringResourceCandidatesResultContract {
250
+ valid?: boolean;
251
+ tool?: string | null;
252
+ retrievalQuery?: string | null;
253
+ artifactKind?: string | null;
254
+ assistantMessage?: string | null;
255
+ candidates?: AgenticAuthoringCandidateContract[];
256
+ quickReplies?: AgenticAuthoringQuickReplyContract[];
257
+ warnings?: string[];
258
+ [key: string]: AiJsonValue | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract[] | undefined;
259
+ }
200
260
  interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversationContextContract {
201
261
  userPrompt: string;
202
262
  provider?: string | null;
@@ -204,6 +264,21 @@ interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversati
204
264
  apiKey?: string | null;
205
265
  currentPage?: AiJsonObject | null;
206
266
  intentResolution?: AgenticAuthoringIntentResolutionResultContract | null;
267
+ contextHints?: AiContextHintsContract | null;
268
+ }
269
+ interface AgenticAuthoringTurnStreamRequestContract extends AgenticAuthoringConversationContextContract {
270
+ userPrompt: string;
271
+ targetApp?: string | null;
272
+ targetComponentId?: string | null;
273
+ currentRoute?: string | null;
274
+ currentPage?: AiJsonObject | null;
275
+ selectedWidgetKey?: string | null;
276
+ provider?: string | null;
277
+ model?: string | null;
278
+ apiKey?: string | null;
279
+ contextHints?: AiContextHintsContract | null;
280
+ componentCapabilities?: AgenticAuthoringComponentCapabilitiesResultContract | null;
281
+ [key: string]: AiJsonValue | AiContextHintsContract | AgenticAuthoringComponentCapabilitiesResultContract | AgenticAuthoringConversationMessageContract[] | AgenticAuthoringPendingClarificationContract | AgenticAuthoringAttachmentSummaryContract[] | undefined;
207
282
  }
208
283
  interface AgenticAuthoringPreviewResultContract {
209
284
  valid?: boolean;
@@ -227,10 +302,68 @@ interface AgenticAuthoringApplyResultContract {
227
302
  etag?: string | null;
228
303
  [key: string]: AiJsonValue | undefined;
229
304
  }
305
+ interface AgenticAuthoringComponentFieldAliasContract {
306
+ field?: string | null;
307
+ aliases?: string[];
308
+ [key: string]: AiJsonValue | undefined;
309
+ }
310
+ interface AgenticAuthoringComponentCapabilityExampleContract {
311
+ prompt?: string | null;
312
+ intent?: string | null;
313
+ configHints?: string[];
314
+ [key: string]: AiJsonValue | undefined;
315
+ }
316
+ interface AgenticAuthoringComponentCapabilityContract {
317
+ id?: string | null;
318
+ changeKind?: string | null;
319
+ triggerTerms?: string[];
320
+ fieldAliases?: AgenticAuthoringComponentFieldAliasContract[];
321
+ examples?: AgenticAuthoringComponentCapabilityExampleContract[];
322
+ [key: string]: AiJsonValue | AgenticAuthoringComponentFieldAliasContract[] | AgenticAuthoringComponentCapabilityExampleContract[] | undefined;
323
+ }
324
+ interface AgenticAuthoringComponentCapabilityCatalogContract {
325
+ componentId?: string | null;
326
+ version?: string | null;
327
+ capabilities?: AgenticAuthoringComponentCapabilityContract[];
328
+ [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilityContract[] | undefined;
329
+ }
230
330
  interface AgenticAuthoringComponentCapabilitiesResultContract {
231
331
  version?: string | null;
232
- catalogs?: AiJsonObject[];
233
- [key: string]: AiJsonValue | undefined;
332
+ catalogs?: AgenticAuthoringComponentCapabilityCatalogContract[];
333
+ [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilityCatalogContract[] | undefined;
334
+ }
335
+ interface AgenticAuthoringManifestEditPlanRequestContract {
336
+ config?: AiJsonObject | null;
337
+ plan?: AiJsonObject | null;
338
+ }
339
+ interface AgenticAuthoringResolveTargetRequestContract {
340
+ config?: AiJsonObject | null;
341
+ operationId?: string | null;
342
+ target?: AiJsonValue;
343
+ input?: AiJsonValue;
344
+ }
345
+ interface AgenticAuthoringResolvedTargetContract {
346
+ status?: string | null;
347
+ componentId?: string | null;
348
+ operationId?: string | null;
349
+ kind?: string | null;
350
+ resolver?: string | null;
351
+ path?: string | null;
352
+ value?: AiJsonValue;
353
+ candidates?: string[];
354
+ failures?: string[];
355
+ }
356
+ interface AgenticAuthoringManifestValidationResultContract {
357
+ valid?: boolean;
358
+ failures?: string[];
359
+ warnings?: string[];
360
+ normalizedPlan?: AiJsonObject | null;
361
+ }
362
+ interface AgenticAuthoringManifestCompileResultContract {
363
+ compiled?: boolean;
364
+ failures?: string[];
365
+ warnings?: string[];
366
+ patch?: AiJsonObject | null;
234
367
  }
235
368
  interface AiPatchStreamStartResponseContract {
236
369
  streamId: string;
@@ -242,6 +375,16 @@ interface AiPatchStreamStartResponseContract {
242
375
  expiresAt: string;
243
376
  fallbackPatchUrl: string;
244
377
  }
378
+ interface AgenticAuthoringTurnStreamStartResponseContract {
379
+ streamId: string;
380
+ threadId: string;
381
+ turnId: string;
382
+ eventSchemaVersion: string;
383
+ streamAuthMode?: 'cookie' | 'signed_url_token' | null;
384
+ streamAccessToken?: string | null;
385
+ expiresAt: string;
386
+ fallbackAuthoringUrl: string;
387
+ }
245
388
  interface AiPatchStreamCancelResponseContract {
246
389
  streamId?: string | null;
247
390
  threadId?: string | null;
@@ -260,6 +403,8 @@ interface AiPatchStreamEnvelopeContract<TPayload extends AiJsonObject = AiJsonOb
260
403
  type: AiPatchStreamEventType$1;
261
404
  payload: TPayload;
262
405
  }
406
+ interface AgenticAuthoringTurnStreamEnvelopeContract<TPayload extends AiJsonObject = AiJsonObject> extends AiPatchStreamEnvelopeContract<TPayload> {
407
+ }
263
408
  interface ProblemResponseContract {
264
409
  timestamp?: string | null;
265
410
  status?: number | null;
@@ -270,6 +415,7 @@ interface ProblemResponseContract {
270
415
  [key: string]: AiJsonValue | undefined;
271
416
  }
272
417
  type AiPatchStreamEventType$1 = (typeof AI_STREAM_EVENT_TYPES)[number];
418
+ type AiTurnStreamEventType = (typeof AI_STREAM_EVENT_TYPES)[number];
273
419
 
274
420
  /**
275
421
  * Models for Praxis AI (Centralized)
@@ -282,7 +428,7 @@ interface AiRuleResponse {
282
428
  /** Descriptive name for the rule */
283
429
  ruleName: string;
284
430
  /** Type of target (scope) */
285
- targetType: 'field' | 'section' | 'action' | 'row' | 'column';
431
+ targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
286
432
  /** IDs of the target elements */
287
433
  targetIds: string[];
288
434
  /** Canonical JSON Logic condition payload or null for always applied */
@@ -408,7 +554,7 @@ interface RulePropertyDefinition {
408
554
  }>;
409
555
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
410
556
  }
411
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
557
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
412
558
 
413
559
  type PraxisAssistantShellMessageRole = 'user' | 'assistant' | 'system' | 'status' | 'error';
414
560
  type PraxisAssistantShellMode = 'config' | 'agentic-authoring' | 'chat' | 'diagnostic' | 'review' | 'inline-help';
@@ -427,6 +573,10 @@ interface PraxisAssistantShellQuickReply {
427
573
  label: string;
428
574
  prompt: string;
429
575
  kind?: string;
576
+ description?: string | null;
577
+ icon?: string | null;
578
+ tone?: string | null;
579
+ contextHints?: Readonly<Record<string, unknown>> | null;
430
580
  }
431
581
  interface PraxisAssistantShellMessageAction {
432
582
  id: string;
@@ -525,6 +675,13 @@ interface PraxisAssistantPendingClarification {
525
675
  clientTurnId?: string;
526
676
  diagnostics?: Record<string, unknown>;
527
677
  }
678
+ type PraxisAssistantConversationMessageRole = 'user' | 'assistant' | 'system';
679
+ interface PraxisAssistantConversationMessage {
680
+ id: string;
681
+ role: PraxisAssistantConversationMessageRole;
682
+ text: string;
683
+ }
684
+ declare function toPraxisAssistantConversationMessages(messages: readonly PraxisAssistantShellMessage[], limit?: number): PraxisAssistantConversationMessage[];
528
685
  interface PraxisAssistantTurnRequest {
529
686
  mode: PraxisAssistantShellMode;
530
687
  phase?: PraxisAssistantTurnPhase;
@@ -784,8 +941,6 @@ declare class PraxisAiService {
784
941
  generateContentStream(prompt: string, modelName?: string): Observable<string>;
785
942
  generateJson<T>(prompt: string, modelName?: string, schema?: any): Observable<T | null>;
786
943
  isMockMode(): boolean;
787
- private extractUserIntent;
788
- private getMockPatch;
789
944
  listModels(apiKey?: string): Observable<AiModel[]>;
790
945
  testConnection(apiKey?: string, model?: string): Observable<boolean>;
791
946
  private resolveProvider;
@@ -795,7 +950,7 @@ declare class PraxisAiService {
795
950
  }
796
951
 
797
952
  declare const AI_INTENT_CONTRACT_VERSION: "v1.1";
798
- declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "922e6d48637e64b403562d6d7cb833ed4942ffb0b452ec3573255871f4ec8739";
953
+ declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "42af43aec91777def176def87d2f41d30c8dbc8abb6c21dc38b5e181a1a51f4f";
799
954
  type AiSchemaContext = AiSchemaContextContract;
800
955
  interface AiSuggestionsRequest {
801
956
  componentId: string;
@@ -828,10 +983,22 @@ type AiPatchStreamEventType = AiPatchStreamEventType$1;
828
983
  type AiPatchStreamStartResponse = AiPatchStreamStartResponseContract;
829
984
  type AiPatchStreamCancelResponse = AiPatchStreamCancelResponseContract;
830
985
  type AiPatchStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AiPatchStreamEnvelopeContract<TPayload>;
986
+ type AgenticAuthoringManifestEditPlanRequest = AgenticAuthoringManifestEditPlanRequestContract;
987
+ type AgenticAuthoringResolveTargetRequest = AgenticAuthoringResolveTargetRequestContract;
988
+ type AgenticAuthoringResolvedTarget = AgenticAuthoringResolvedTargetContract;
989
+ type AgenticAuthoringManifestValidationResult = AgenticAuthoringManifestValidationResultContract;
990
+ type AgenticAuthoringManifestCompileResult = AgenticAuthoringManifestCompileResultContract;
991
+ type AgenticAuthoringTurnStreamRequest = AgenticAuthoringTurnStreamRequestContract;
992
+ type AgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
993
+ type AgenticAuthoringTurnStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AgenticAuthoringTurnStreamEnvelopeContract<TPayload>;
831
994
  interface AiPatchStreamConnection {
832
995
  events$: Observable<AiPatchStreamEnvelope>;
833
996
  close: () => void;
834
997
  }
998
+ interface AgenticAuthoringTurnStreamConnection {
999
+ events$: Observable<AgenticAuthoringTurnStreamEnvelope>;
1000
+ close: () => void;
1001
+ }
835
1002
  type AiPatchStreamConnectionErrorKind = 'unsupported' | 'http_status' | 'transport' | 'parse' | 'schema';
836
1003
  declare class AiPatchStreamConnectionError extends Error {
837
1004
  readonly kind: AiPatchStreamConnectionErrorKind;
@@ -937,17 +1104,27 @@ declare class AiBackendApiService {
937
1104
  startPatchStream(request: AiOrchestratorRequest): Observable<AiPatchStreamStartResponse>;
938
1105
  connectPatchStream(streamId: string, lastEventId?: string, accessToken?: string): AiPatchStreamConnection;
939
1106
  cancelPatchStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
1107
+ startAgenticAuthoringTurnStream(request: AgenticAuthoringTurnStreamRequest): Observable<AgenticAuthoringTurnStreamStartResponse>;
1108
+ connectAgenticAuthoringTurnStream(streamId: string, lastEventId?: string, accessToken?: string): AgenticAuthoringTurnStreamConnection;
1109
+ cancelAgenticAuthoringTurnStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
940
1110
  listModels(request: AiProviderModelsRequest): Observable<AiProviderModelsResponse>;
941
1111
  listProviderCatalog(): Observable<AiProviderCatalogResponse>;
942
1112
  testProvider(request: AiProviderTestRequest): Observable<AiProviderTestResponse>;
943
1113
  getAiStatus(): Observable<AiProviderStatusResponse>;
944
1114
  getAiContext(componentId: string, componentType: string): Observable<AiContextDTO>;
1115
+ getAgenticAuthoringManifest(componentId: string): Observable<AiJsonObject>;
1116
+ listAgenticAuthoringManifestTargets(componentId: string): Observable<AiJsonObject[]>;
1117
+ listAgenticAuthoringManifestOperations(componentId: string): Observable<AiJsonObject[]>;
1118
+ resolveAgenticAuthoringManifestTarget(componentId: string, request: AgenticAuthoringResolveTargetRequest): Observable<AgenticAuthoringResolvedTarget>;
1119
+ validateAgenticAuthoringManifestPlan(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestValidationResult>;
1120
+ compileAgenticAuthoringManifestPatch(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestCompileResult>;
945
1121
  loadGlobalAiConfig(): Observable<AiGlobalConfigSnapshot | null>;
946
1122
  saveGlobalAiConfig(aiConfig: AiGlobalConfigSnapshot): Observable<void>;
947
1123
  getHeaderContext(): AiHeaderContext;
948
1124
  private buildHeaders;
949
1125
  private normalizeContractVersion;
950
1126
  private normalizeContractSchemaHash;
1127
+ private authoringManifestUrl;
951
1128
  private resolveHeaderMap;
952
1129
  private parsePatchStreamEnvelope;
953
1130
  private isPatchStreamEnvelope;
@@ -973,6 +1150,7 @@ declare class AiResponseValidatorService {
973
1150
  private validateJsonLogicExpression;
974
1151
  private walkJsonLogicNode;
975
1152
  private isSupportedJsonLogicOperator;
1153
+ private validateJsonLogicOperatorArity;
976
1154
  private collectVarPaths;
977
1155
  private isValidTargetId;
978
1156
  private findSimilarTargetId;
@@ -1038,6 +1216,54 @@ declare class PraxisAssistantTurnController {
1038
1216
  private toObservable;
1039
1217
  }
1040
1218
 
1219
+ type PraxisAssistantSessionVisibility = 'active' | 'minimized';
1220
+ interface PraxisAssistantSessionDescriptor {
1221
+ id: string;
1222
+ ownerId: string;
1223
+ ownerType: string;
1224
+ title: string;
1225
+ summary?: string | null;
1226
+ mode?: PraxisAssistantShellMode | null;
1227
+ state?: PraxisAssistantShellState | null;
1228
+ visibility?: PraxisAssistantSessionVisibility | null;
1229
+ contextItems?: readonly PraxisAssistantShellContextItem[] | null;
1230
+ badge?: string | null;
1231
+ icon?: string | null;
1232
+ updatedAt?: string | null;
1233
+ }
1234
+ interface PraxisAssistantSessionSnapshot {
1235
+ id: string;
1236
+ ownerId: string;
1237
+ ownerType: string;
1238
+ title: string;
1239
+ summary: string;
1240
+ mode: PraxisAssistantShellMode;
1241
+ state: PraxisAssistantShellState;
1242
+ visibility: PraxisAssistantSessionVisibility;
1243
+ contextItems: readonly PraxisAssistantShellContextItem[];
1244
+ badge: string;
1245
+ icon: string;
1246
+ createdAt: string;
1247
+ updatedAt: string;
1248
+ }
1249
+ declare class PraxisAssistantSessionRegistryService {
1250
+ private readonly sessionsState;
1251
+ readonly sessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1252
+ readonly activeSession: i0.Signal<PraxisAssistantSessionSnapshot | null>;
1253
+ readonly minimizedSessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1254
+ upsertSession(descriptor: PraxisAssistantSessionDescriptor): PraxisAssistantSessionSnapshot;
1255
+ openSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1256
+ minimizeSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1257
+ removeSession(sessionId: string): void;
1258
+ getSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1259
+ clear(): void;
1260
+ private setVisibility;
1261
+ private normalizeDescriptor;
1262
+ private sortSessions;
1263
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAssistantSessionRegistryService, never>;
1264
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisAssistantSessionRegistryService>;
1265
+ }
1266
+
1041
1267
  type AssistantMessageRole = 'user' | 'assistant' | 'system';
1042
1268
  interface AssistantHistoryMessage {
1043
1269
  id: string;
@@ -1077,7 +1303,7 @@ interface ClarificationOption {
1077
1303
  value: string;
1078
1304
  example?: string;
1079
1305
  }
1080
- type ClarificationContextHints = AiJsonObject;
1306
+ type ClarificationContextHints = AiContextHintsContract;
1081
1307
  interface ClarificationRichOption extends ClarificationOption {
1082
1308
  contextHints?: ClarificationContextHints;
1083
1309
  }
@@ -1411,6 +1637,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1411
1637
  private hasBadgeColors;
1412
1638
  private hasBadgeField;
1413
1639
  private mergeContextHints;
1640
+ private enrichDomainCatalogAuthoringHints;
1414
1641
  private setResourcePathHint;
1415
1642
  private clearResourcePathHint;
1416
1643
  private matchClarificationOptionPath;
@@ -1530,6 +1757,8 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1530
1757
  protected onAttachmentFilesSelected(event: Event): void;
1531
1758
  protected onApply(): void;
1532
1759
  protected onQuickReply(reply: PraxisAssistantShellQuickReply): void;
1760
+ protected getQuickReplyAriaLabel(reply: PraxisAssistantShellQuickReply): string;
1761
+ protected getQuickReplyTone(reply: PraxisAssistantShellQuickReply): string;
1533
1762
  protected onRemoveAttachment(attachment: PraxisAssistantShellAttachment): void;
1534
1763
  protected onMessageAction(message: PraxisAssistantShellMessage, action: PraxisAssistantShellMessageAction): void;
1535
1764
  protected getModeLabel(): string;
@@ -1560,13 +1789,56 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1560
1789
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisAiAssistantShellComponent, "praxis-ai-assistant-shell", never, { "labels": { "alias": "labels"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "state": { "alias": "state"; "required": false; }; "contextItems": { "alias": "contextItems"; "required": false; }; "attachments": { "alias": "attachments"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; "quickReplies": { "alias": "quickReplies"; "required": false; }; "prompt": { "alias": "prompt"; "required": false; }; "statusText": { "alias": "statusText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "testIdPrefix": { "alias": "testIdPrefix"; "required": false; }; "panelTestId": { "alias": "panelTestId"; "required": false; }; "submitTestId": { "alias": "submitTestId"; "required": false; }; "applyTestId": { "alias": "applyTestId"; "required": false; }; "busy": { "alias": "busy"; "required": false; }; "canSubmit": { "alias": "canSubmit"; "required": false; }; "canApply": { "alias": "canApply"; "required": false; }; "submitOnEnter": { "alias": "submitOnEnter"; "required": false; }; "enableFileAttachments": { "alias": "enableFileAttachments"; "required": false; }; "attachmentAccept": { "alias": "attachmentAccept"; "required": false; }; "attachmentMultiple": { "alias": "attachmentMultiple"; "required": false; }; "draggable": { "alias": "draggable"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; }, { "promptChange": "promptChange"; "submitPrompt": "submitPrompt"; "apply": "apply"; "close": "close"; "attach": "attach"; "attachmentsPasted": "attachmentsPasted"; "attachmentsSelected": "attachmentsSelected"; "removeAttachment": "removeAttachment"; "messageAction": "messageAction"; "editMessage": "editMessage"; "resendMessage": "resendMessage"; "quickReply": "quickReply"; "layoutChange": "layoutChange"; }, never, never, true, never>;
1561
1790
  }
1562
1791
 
1792
+ type PraxisAssistantDockTone = 'ready' | 'working' | 'review' | 'governed' | 'error';
1793
+ declare class PraxisAiAssistantDockComponent {
1794
+ title: string;
1795
+ summary: string;
1796
+ badge: string;
1797
+ icon: string;
1798
+ state: PraxisAssistantShellState | null;
1799
+ tone: PraxisAssistantDockTone | null;
1800
+ ariaLabel: string;
1801
+ openAriaLabel: string;
1802
+ openTooltip: string;
1803
+ testId: string;
1804
+ openTestId: string;
1805
+ open: EventEmitter<void>;
1806
+ resolvedTone(): PraxisAssistantDockTone;
1807
+ resolvedIcon(): string;
1808
+ resolvedBadge(): string;
1809
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantDockComponent, never>;
1810
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisAiAssistantDockComponent, "praxis-ai-assistant-dock", never, { "title": { "alias": "title"; "required": false; }; "summary": { "alias": "summary"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "state": { "alias": "state"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "openAriaLabel": { "alias": "openAriaLabel"; "required": false; }; "openTooltip": { "alias": "openTooltip"; "required": false; }; "testId": { "alias": "testId"; "required": false; }; "openTestId": { "alias": "openTestId"; "required": false; }; }, { "open": "open"; }, never, never, true, never>;
1811
+ }
1812
+
1813
+ declare class PraxisAiAssistantSessionHostComponent {
1814
+ private readonly registry;
1815
+ testId: string;
1816
+ dockTestIdPrefix: string;
1817
+ ariaLabel: string;
1818
+ openAriaLabel: string;
1819
+ openTooltip: string;
1820
+ ownerType: string | null;
1821
+ ownerId: string | null;
1822
+ visibility: PraxisAssistantSessionVisibility | 'all';
1823
+ sessionOpen: EventEmitter<PraxisAssistantSessionSnapshot>;
1824
+ visibleSessions(): readonly PraxisAssistantSessionSnapshot[];
1825
+ openSession(sessionId: string): void;
1826
+ sessionAriaLabel(session: PraxisAssistantSessionSnapshot): string;
1827
+ dockTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
1828
+ dockOpenTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
1829
+ trackSession(_index: number, session: PraxisAssistantSessionSnapshot): string;
1830
+ private safeId;
1831
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantSessionHostComponent, never>;
1832
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisAiAssistantSessionHostComponent, "praxis-ai-assistant-session-host", never, { "testId": { "alias": "testId"; "required": false; }; "dockTestIdPrefix": { "alias": "dockTestIdPrefix"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "openAriaLabel": { "alias": "openAriaLabel"; "required": false; }; "openTooltip": { "alias": "openTooltip"; "required": false; }; "ownerType": { "alias": "ownerType"; "required": false; }; "ownerId": { "alias": "ownerId"; "required": false; }; "visibility": { "alias": "visibility"; "required": false; }; }, { "sessionOpen": "sessionOpen"; }, never, never, true, never>;
1833
+ }
1834
+
1563
1835
  declare class AiContextBuilderService {
1564
1836
  private schemaMinifier;
1565
1837
  constructor(schemaMinifier: SchemaMinifierService);
1566
1838
  /**
1567
1839
  * Builds the complete context for the AI prompt
1568
1840
  */
1569
- buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column', propertySchema: RulePropertySchema): PromptContext;
1841
+ buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', propertySchema: RulePropertySchema): PromptContext;
1570
1842
  buildRulePrompt(userPrompt: string, context: PromptContext): string;
1571
1843
  buildSuggestionPrompt(context: PromptContext): string;
1572
1844
  /**
@@ -1595,7 +1867,7 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1595
1867
  private snackBar;
1596
1868
  private contextBuilder;
1597
1869
  private cdr;
1598
- selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column';
1870
+ selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
1599
1871
  userPrompt: string;
1600
1872
  isGenerating: boolean;
1601
1873
  validationError: string | null;
@@ -1631,5 +1903,5 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1631
1903
  static ɵcmp: i0.ɵɵComponentDeclaration<AiRuleWizardDialogComponent, "praxis-ai-rule-wizard-dialog", never, {}, {}, never, never, true, never>;
1632
1904
  }
1633
1905
 
1634
- export { AI_BACKEND_CONFIG_STORE, AI_BACKEND_STORAGE_OPTIONS, AI_CONTRACT_SCHEMA_HASH, AI_CONTRACT_VERSION, AI_INTENT_CONTRACT_SCHEMA_HASH, AI_INTENT_CONTRACT_VERSION, AI_STREAM_EVENT_SCHEMA_VERSION, AI_STREAM_EVENT_TYPES, AiBackendApiService, AiPatchStreamConnectionError, AiResponseValidatorService, AiRuleWizardDialogComponent, BaseAiAdapter, PraxisAi, PraxisAiAssistantComponent, PraxisAiAssistantShellComponent, PraxisAiService, PraxisAssistantTurnController, PraxisAssistantTurnOrchestratorService, SchemaMinifierService };
1635
- export type { AgenticAuthoringApplyRequestContract, AgenticAuthoringApplyResultContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringConversationContextContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringIntentResolutionResultContract, AgenticAuthoringPendingClarificationContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringPreviewResultContract, AgenticAuthoringQuickReplyContract, AiBackendConfigStore, AiBackendStorageOptions, AiChatMessage, AiChatMessageContract, AiClarificationUiContract, AiConfigAdapter, AiContextDTO, AiContextTemplate, AiContextTemplateMeta, AiCurrentStateDigest, AiCurrentStateDigestContract, AiExamplePair, AiGlobalConfigSnapshot, AiHeaderContext, AiIntegrationConfig, AiJsonArray, AiJsonObject, AiJsonPrimitive, AiJsonValue, AiMemoryInfoContract, AiModel, AiOptionContract, AiOrchestratorRequest, AiOrchestratorRequestContract, AiOrchestratorResponse, AiOrchestratorResponseContract, AiOrchestratorResponseType, AiPatchDiff, AiPatchDiffContract, AiPatchStreamCancelResponse, AiPatchStreamCancelResponseContract, AiPatchStreamConnection, AiPatchStreamConnectionErrorKind, AiPatchStreamEnvelope, AiPatchStreamEnvelopeContract, AiPatchStreamEventType, AiPatchStreamStartResponse, AiPatchStreamStartResponseContract, AiProviderCatalogItem, AiProviderCatalogResponse, AiProviderModelsRequest, AiProviderModelsResponse, AiProviderStatusResponse, AiProviderTestRequest, AiProviderTestResponse, AiResponseCompileResult, AiRuleResponse, AiSchemaContext, AiSchemaContextContract, AiSuggestion, AiSuggestionsRequest, AiSuggestionsResponse, AiUiContextRef, AiUiContextRefContract, AiValidationError, AiValidationResult, AiValidationWarning, AiWizardData, Capability, FieldSchemaLike, MinifiedField, PatchResult, PraxisAssistantClarificationOption, PraxisAssistantClarificationQuestion, PraxisAssistantClarificationQuestionType, PraxisAssistantPendingClarification, PraxisAssistantShellAttachment, PraxisAssistantShellContextItem, PraxisAssistantShellLabels, PraxisAssistantShellLayout, PraxisAssistantShellMessage, PraxisAssistantShellMessageAction, PraxisAssistantShellMessageRole, PraxisAssistantShellMode, PraxisAssistantShellQuickReply, PraxisAssistantShellState, PraxisAssistantTurnAction, PraxisAssistantTurnControllerOptions, PraxisAssistantTurnFlow, PraxisAssistantTurnPhase, PraxisAssistantTurnRequest, PraxisAssistantTurnResult, PraxisAssistantTurnViewState, ProblemResponseContract, PromptContext, RulePropertyDefinition, RulePropertySchema, RulePropertyType, ValidationContext, ValueKind };
1906
+ export { AI_BACKEND_CONFIG_STORE, AI_BACKEND_STORAGE_OPTIONS, AI_CONTRACT_SCHEMA_HASH, AI_CONTRACT_VERSION, AI_INTENT_CONTRACT_SCHEMA_HASH, AI_INTENT_CONTRACT_VERSION, AI_STREAM_EVENT_SCHEMA_VERSION, AI_STREAM_EVENT_TYPES, AiBackendApiService, AiPatchStreamConnectionError, AiResponseValidatorService, AiRuleWizardDialogComponent, BaseAiAdapter, PraxisAi, PraxisAiAssistantComponent, PraxisAiAssistantDockComponent, PraxisAiAssistantSessionHostComponent, PraxisAiAssistantShellComponent, PraxisAiService, PraxisAssistantSessionRegistryService, PraxisAssistantTurnController, PraxisAssistantTurnOrchestratorService, SchemaMinifierService, toPraxisAssistantConversationMessages };
1907
+ export type { AgenticAuthoringApplyRequestContract, AgenticAuthoringApplyResultContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringConversationContextContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringIntentResolutionResultContract, AgenticAuthoringManifestCompileResult, AgenticAuthoringManifestCompileResultContract, AgenticAuthoringManifestEditPlanRequest, AgenticAuthoringManifestEditPlanRequestContract, AgenticAuthoringManifestValidationResult, AgenticAuthoringManifestValidationResultContract, AgenticAuthoringPendingClarificationContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringPreviewResultContract, AgenticAuthoringQuickReplyContract, AgenticAuthoringResolveTargetRequest, AgenticAuthoringResolveTargetRequestContract, AgenticAuthoringResolvedTarget, AgenticAuthoringResolvedTargetContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamConnection, AgenticAuthoringTurnStreamEnvelope, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamRequest, AgenticAuthoringTurnStreamRequestContract, AgenticAuthoringTurnStreamStartResponse, AgenticAuthoringTurnStreamStartResponseContract, AiBackendConfigStore, AiBackendStorageOptions, AiChatMessage, AiChatMessageContract, AiClarificationUiContract, AiConfigAdapter, AiContextDTO, AiContextHintsContract, AiContextTemplate, AiContextTemplateMeta, AiCurrentStateDigest, AiCurrentStateDigestContract, AiDomainCatalogContextHintContract, AiDomainCatalogContextHintIntent, AiDomainCatalogContextHintItemType, AiDomainCatalogRelationshipHintContract, AiExamplePair, AiGlobalConfigSnapshot, AiHeaderContext, AiIntegrationConfig, AiJsonArray, AiJsonObject, AiJsonPrimitive, AiJsonValue, AiMemoryInfoContract, AiModel, AiOptionContract, AiOrchestratorRequest, AiOrchestratorRequestContract, AiOrchestratorResponse, AiOrchestratorResponseContract, AiOrchestratorResponseType, AiPatchDiff, AiPatchDiffContract, AiPatchStreamCancelResponse, AiPatchStreamCancelResponseContract, AiPatchStreamConnection, AiPatchStreamConnectionErrorKind, AiPatchStreamEnvelope, AiPatchStreamEnvelopeContract, AiPatchStreamEventType, AiPatchStreamStartResponse, AiPatchStreamStartResponseContract, AiProviderCatalogItem, AiProviderCatalogResponse, AiProviderModelsRequest, AiProviderModelsResponse, AiProviderStatusResponse, AiProviderTestRequest, AiProviderTestResponse, AiResponseCompileResult, AiRuleResponse, AiSchemaContext, AiSchemaContextContract, AiSuggestion, AiSuggestionsRequest, AiSuggestionsResponse, AiTurnStreamEventType, AiUiContextRef, AiUiContextRefContract, AiValidationError, AiValidationResult, AiValidationWarning, AiWizardData, Capability, FieldSchemaLike, MinifiedField, PatchResult, PraxisAssistantClarificationOption, PraxisAssistantClarificationQuestion, PraxisAssistantClarificationQuestionType, PraxisAssistantConversationMessage, PraxisAssistantConversationMessageRole, PraxisAssistantDockTone, PraxisAssistantPendingClarification, PraxisAssistantSessionDescriptor, PraxisAssistantSessionSnapshot, PraxisAssistantSessionVisibility, PraxisAssistantShellAttachment, PraxisAssistantShellContextItem, PraxisAssistantShellLabels, PraxisAssistantShellLayout, PraxisAssistantShellMessage, PraxisAssistantShellMessageAction, PraxisAssistantShellMessageRole, PraxisAssistantShellMode, PraxisAssistantShellQuickReply, PraxisAssistantShellState, PraxisAssistantTurnAction, PraxisAssistantTurnControllerOptions, PraxisAssistantTurnFlow, PraxisAssistantTurnPhase, PraxisAssistantTurnRequest, PraxisAssistantTurnResult, PraxisAssistantTurnViewState, ProblemResponseContract, PromptContext, RulePropertyDefinition, RulePropertySchema, RulePropertyType, ValidationContext, ValueKind };
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@praxisui/ai",
3
- "version": "8.0.0-beta.2",
3
+ "version": "8.0.0-beta.20",
4
4
  "description": "AI building blocks and assistant integration for Praxis UI applications.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.3.0",
7
7
  "@angular/core": "^20.3.0",
8
- "@praxisui/core": "^8.0.0-beta.2"
8
+ "@praxisui/core": "^8.0.0-beta.20",
9
+ "@angular/cdk": "^20.3.0",
10
+ "@angular/forms": "^20.3.0",
11
+ "@angular/material": "^20.3.0",
12
+ "@google/generative-ai": "^0.24.1",
13
+ "rxjs": "~7.8.0"
9
14
  },
10
15
  "dependencies": {
11
16
  "tslib": "^2.3.0"