@praxisui/ai 8.0.0-beta.9 → 8.0.0-beta.91

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.
@@ -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: "dacaba8fa7ec21ee9ae31bab7057614837d2d1320d784d0ee61fb840efe55a35";
21
+ declare const AI_CONTRACT_SCHEMA_HASH: "41767dafdf6ebea802c083d77187ad6612937d6831188938dc21adce384b57a2";
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;
@@ -75,6 +111,7 @@ interface AiOrchestratorRequestContract {
75
111
  apiMethod?: string;
76
112
  apiTags?: string;
77
113
  apiSearchLimit?: number;
114
+ observationId?: string;
78
115
  }
79
116
  type AiOrchestratorResponseType = 'patch' | 'clarification' | 'error' | 'info';
80
117
  interface AiPatchDiffContract {
@@ -86,7 +123,7 @@ interface AiOptionContract {
86
123
  value?: string | null;
87
124
  label?: string | null;
88
125
  example?: string | null;
89
- contextHints?: AiJsonObject | null;
126
+ contextHints?: AiContextHintsContract | null;
90
127
  }
91
128
  interface AiClarificationUiContract {
92
129
  responseType?: 'text' | 'choice' | 'confirm' | 'mixed' | 'context';
@@ -121,6 +158,67 @@ interface AiOrchestratorResponseContract {
121
158
  providedValue?: AiJsonValue;
122
159
  allowedValues?: string[] | null;
123
160
  memory?: AiMemoryInfoContract;
161
+ observationId?: string | null;
162
+ }
163
+ type AiAssistantObservationFeedbackRating = 'positive' | 'negative' | 'inaccurate' | 'unsafe' | 'irrelevant' | 'incomplete';
164
+ interface AiAssistantObservationFeedbackRequestContract {
165
+ rating?: AiAssistantObservationFeedbackRating;
166
+ reasonCode?: string | null;
167
+ comment?: string | null;
168
+ }
169
+ interface AiAssistantObservationFeedbackResponseContract {
170
+ feedbackId?: string | null;
171
+ observationId?: string | null;
172
+ rating?: string | null;
173
+ reasonCode?: string | null;
174
+ commentPreview?: string | null;
175
+ createdAt?: string | null;
176
+ }
177
+ interface AiAssistantObservationResponseContract {
178
+ observationId?: string | null;
179
+ requestId?: string | null;
180
+ tenantId?: string | null;
181
+ environment?: string | null;
182
+ userId?: string | null;
183
+ surface?: string | null;
184
+ componentId?: string | null;
185
+ componentType?: string | null;
186
+ routeKey?: string | null;
187
+ variantId?: string | null;
188
+ schemaHash?: string | null;
189
+ contractVersion?: string | null;
190
+ sessionId?: string | null;
191
+ clientTurnId?: string | null;
192
+ threadId?: string | null;
193
+ turnId?: string | null;
194
+ streamId?: string | null;
195
+ promptHash?: string | null;
196
+ promptPreview?: string | null;
197
+ promptLength?: number | null;
198
+ admissionOutcome?: string | null;
199
+ terminalOutcome?: string | null;
200
+ qualityOutcome?: string | null;
201
+ errorCategory?: string | null;
202
+ errorCode?: string | null;
203
+ errorMessagePreview?: string | null;
204
+ provider?: string | null;
205
+ model?: string | null;
206
+ llmCallCount?: number | null;
207
+ latencyMs?: number | null;
208
+ createdAt?: string | null;
209
+ updatedAt?: string | null;
210
+ feedback?: AiAssistantObservationFeedbackResponseContract[];
211
+ }
212
+ interface AiAssistantObservationSummaryRowContract {
213
+ admissionOutcome?: string | null;
214
+ terminalOutcome?: string | null;
215
+ qualityOutcome?: string | null;
216
+ componentId?: string | null;
217
+ componentType?: string | null;
218
+ total?: number | null;
219
+ }
220
+ interface AiAssistantObservationSummaryResponseContract {
221
+ rows?: AiAssistantObservationSummaryRowContract[];
124
222
  }
125
223
  interface AgenticAuthoringConversationMessageContract {
126
224
  id?: string | null;
@@ -161,7 +259,7 @@ interface AgenticAuthoringIntentResolutionRequestContract extends AgenticAuthori
161
259
  provider?: string | null;
162
260
  model?: string | null;
163
261
  apiKey?: string | null;
164
- contextHints?: AiJsonObject | null;
262
+ contextHints?: AiContextHintsContract | null;
165
263
  }
166
264
  interface AgenticAuthoringCandidateContract {
167
265
  resourcePath?: string | null;
@@ -182,9 +280,80 @@ interface AgenticAuthoringQuickReplyContract {
182
280
  description?: string | null;
183
281
  icon?: string | null;
184
282
  tone?: string | null;
185
- contextHints?: AiJsonObject | null;
283
+ contextHints?: AiContextHintsContract | null;
284
+ [key: string]: AiJsonValue | AiContextHintsContract | undefined;
285
+ }
286
+ interface AgenticAuthoringSemanticSelectedResourceContract {
287
+ resourcePath?: string | null;
288
+ operation?: string | null;
289
+ schemaUrl?: string | null;
290
+ submitUrl?: string | null;
291
+ submitMethod?: string | null;
292
+ [key: string]: AiJsonValue | undefined;
293
+ }
294
+ interface AgenticAuthoringSemanticRetrievalEvidenceContract {
295
+ retrievalSource?: string | null;
296
+ evidence?: string[];
297
+ candidateCount?: number;
298
+ [key: string]: AiJsonValue | undefined;
299
+ }
300
+ interface AgenticAuthoringEvidenceBundleEvidenceContract {
301
+ source?: string | null;
302
+ kind?: string | null;
303
+ ref?: string | null;
304
+ summary?: string | null;
305
+ confidence?: number | null;
306
+ matchedTerms?: string[];
307
+ tenantId?: string | null;
308
+ environment?: string | null;
309
+ releaseId?: string | null;
186
310
  [key: string]: AiJsonValue | undefined;
187
311
  }
312
+ interface AgenticAuthoringEvidenceBundleContract {
313
+ schemaVersion?: string | null;
314
+ retrievalSource?: string | null;
315
+ evidence?: AgenticAuthoringEvidenceBundleEvidenceContract[];
316
+ evidenceCount?: number;
317
+ [key: string]: AiJsonValue | AgenticAuthoringEvidenceBundleEvidenceContract[] | undefined;
318
+ }
319
+ interface AgenticAuthoringSemanticRefinementContract {
320
+ schemaVersion?: string | null;
321
+ refinementKind?: 'visual_projection' | 'data_source' | 'filtering' | 'layout' | 'metric' | 'copy' | 'governance' | string | null;
322
+ preserve?: string[];
323
+ replace?: Record<string, string>;
324
+ add?: Record<string, string[]>;
325
+ remove?: string[];
326
+ rationale?: string | null;
327
+ confidence?: number | null;
328
+ [key: string]: AiJsonValue | Record<string, string> | Record<string, string[]> | undefined;
329
+ }
330
+ interface AgenticAuthoringSemanticDecisionContract {
331
+ schemaVersion?: string | null;
332
+ decisionId?: string | null;
333
+ operationKind?: string | null;
334
+ artifactKind?: string | null;
335
+ changeKind?: string | null;
336
+ selectedResource?: AgenticAuthoringSemanticSelectedResourceContract | null;
337
+ visualizationDecision?: AgenticAuthoringVisualizationDecisionContract | null;
338
+ retrievalEvidence?: AgenticAuthoringSemanticRetrievalEvidenceContract | null;
339
+ retrievedEvidence?: AgenticAuthoringEvidenceBundleContract | null;
340
+ reviewRequired?: boolean | null;
341
+ reviewReason?: string | null;
342
+ previousDecisionRef?: string | null;
343
+ refinementOf?: string | null;
344
+ conversationId?: string | null;
345
+ turnId?: string | null;
346
+ userGoal?: string | null;
347
+ activeObjective?: string | null;
348
+ artifactIntent?: string | null;
349
+ visualIntent?: string | null;
350
+ constraints?: AiJsonObject | null;
351
+ refinement?: AgenticAuthoringSemanticRefinementContract | null;
352
+ previousDecisionId?: string | null;
353
+ rationale?: string | null;
354
+ confidence?: number | null;
355
+ [key: string]: AiJsonValue | AgenticAuthoringSemanticSelectedResourceContract | AgenticAuthoringSemanticRetrievalEvidenceContract | AgenticAuthoringEvidenceBundleContract | AgenticAuthoringSemanticRefinementContract | AgenticAuthoringVisualizationDecisionContract | undefined;
356
+ }
188
357
  interface AgenticAuthoringIntentResolutionResultContract {
189
358
  valid?: boolean;
190
359
  operationKind?: string | null;
@@ -195,13 +364,42 @@ interface AgenticAuthoringIntentResolutionResultContract {
195
364
  gate?: AiJsonObject | null;
196
365
  effectivePrompt?: string | null;
197
366
  assistantMessage?: string | null;
367
+ assistantContent?: AiJsonObject | null;
198
368
  quickReplies?: AgenticAuthoringQuickReplyContract[];
199
369
  pendingClarification?: AgenticAuthoringPendingClarificationContract | null;
200
370
  clarificationQuestions?: string[];
201
371
  warnings?: string[];
202
372
  failureCodes?: string[];
203
373
  llmDiagnostics?: AiJsonObject | null;
204
- [key: string]: AiJsonValue | AgenticAuthoringCandidateContract | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract | AgenticAuthoringQuickReplyContract[] | AgenticAuthoringPendingClarificationContract | undefined;
374
+ semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
375
+ visualizationDecision?: AgenticAuthoringVisualizationDecisionContract | null;
376
+ [key: string]: AiJsonValue | AgenticAuthoringCandidateContract | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract | AgenticAuthoringQuickReplyContract[] | AgenticAuthoringPendingClarificationContract | AgenticAuthoringSemanticDecisionContract | AgenticAuthoringVisualizationDecisionContract | undefined;
377
+ }
378
+ interface AgenticAuthoringVisualizationAxisDecisionContract {
379
+ concept?: string | null;
380
+ field?: string | null;
381
+ label?: string | null;
382
+ chartType?: string | null;
383
+ orientation?: string | null;
384
+ metricAggregation?: string | null;
385
+ metricField?: string | null;
386
+ metricLabel?: string | null;
387
+ provenance?: string | null;
388
+ [key: string]: AiJsonValue | undefined;
389
+ }
390
+ interface AgenticAuthoringVisualizationDecisionContract {
391
+ schemaVersion?: string | null;
392
+ intent?: string | null;
393
+ layoutKind?: string | null;
394
+ primaryComponent?: string | null;
395
+ axes?: AgenticAuthoringVisualizationAxisDecisionContract[];
396
+ includeSummary?: boolean | null;
397
+ includeDetailTable?: boolean | null;
398
+ excludedComponentIds?: string[];
399
+ includeFilters?: boolean | null;
400
+ includeKpis?: boolean | null;
401
+ provenance?: string | null;
402
+ [key: string]: AiJsonValue | AgenticAuthoringVisualizationAxisDecisionContract[] | string[] | undefined;
205
403
  }
206
404
  interface AgenticAuthoringResourceCandidatesRequestContract {
207
405
  retrievalQuery?: string | null;
@@ -215,9 +413,12 @@ interface AgenticAuthoringResourceCandidatesResultContract {
215
413
  tool?: string | null;
216
414
  retrievalQuery?: string | null;
217
415
  artifactKind?: string | null;
416
+ assistantMessage?: string | null;
417
+ assistantContent?: AiJsonObject | null;
218
418
  candidates?: AgenticAuthoringCandidateContract[];
419
+ quickReplies?: AgenticAuthoringQuickReplyContract[];
219
420
  warnings?: string[];
220
- [key: string]: AiJsonValue | AgenticAuthoringCandidateContract[] | undefined;
421
+ [key: string]: AiJsonValue | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract[] | undefined;
221
422
  }
222
423
  interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversationContextContract {
223
424
  userPrompt: string;
@@ -226,7 +427,7 @@ interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversati
226
427
  apiKey?: string | null;
227
428
  currentPage?: AiJsonObject | null;
228
429
  intentResolution?: AgenticAuthoringIntentResolutionResultContract | null;
229
- contextHints?: AiJsonObject | null;
430
+ contextHints?: AiContextHintsContract | null;
230
431
  }
231
432
  interface AgenticAuthoringTurnStreamRequestContract extends AgenticAuthoringConversationContextContract {
232
433
  userPrompt: string;
@@ -238,9 +439,10 @@ interface AgenticAuthoringTurnStreamRequestContract extends AgenticAuthoringConv
238
439
  provider?: string | null;
239
440
  model?: string | null;
240
441
  apiKey?: string | null;
241
- contextHints?: AiJsonObject | null;
442
+ contextHints?: AiContextHintsContract | null;
242
443
  componentCapabilities?: AgenticAuthoringComponentCapabilitiesResultContract | null;
243
- [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilitiesResultContract | AgenticAuthoringConversationMessageContract[] | AgenticAuthoringPendingClarificationContract | AgenticAuthoringAttachmentSummaryContract[] | undefined;
444
+ activeSemanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
445
+ [key: string]: AiJsonValue | AiContextHintsContract | AgenticAuthoringComponentCapabilitiesResultContract | AgenticAuthoringSemanticDecisionContract | AgenticAuthoringConversationMessageContract[] | AgenticAuthoringPendingClarificationContract | AgenticAuthoringAttachmentSummaryContract[] | undefined;
244
446
  }
245
447
  interface AgenticAuthoringPreviewResultContract {
246
448
  valid?: boolean;
@@ -255,9 +457,10 @@ interface AgenticAuthoringApplyRequestContract {
255
457
  componentType: string;
256
458
  componentId: string;
257
459
  scope?: string | null;
258
- payload: AiJsonObject;
460
+ compiledFormPatch: AiJsonObject;
259
461
  tags?: AiJsonObject | null;
260
- [key: string]: AiJsonValue | undefined;
462
+ semanticDecision: AgenticAuthoringSemanticDecisionContract;
463
+ [key: string]: AiJsonValue | AgenticAuthoringSemanticDecisionContract | undefined;
261
464
  }
262
465
  interface AgenticAuthoringApplyResultContract {
263
466
  applied?: boolean;
@@ -294,6 +497,40 @@ interface AgenticAuthoringComponentCapabilitiesResultContract {
294
497
  catalogs?: AgenticAuthoringComponentCapabilityCatalogContract[];
295
498
  [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilityCatalogContract[] | undefined;
296
499
  }
500
+ interface AgenticAuthoringManifestEditPlanRequestContract {
501
+ config?: AiJsonObject | null;
502
+ plan?: AiJsonObject | null;
503
+ validationContext?: AiJsonObject | null;
504
+ }
505
+ interface AgenticAuthoringResolveTargetRequestContract {
506
+ config?: AiJsonObject | null;
507
+ operationId?: string | null;
508
+ target?: AiJsonValue;
509
+ input?: AiJsonValue;
510
+ }
511
+ interface AgenticAuthoringResolvedTargetContract {
512
+ status?: string | null;
513
+ componentId?: string | null;
514
+ operationId?: string | null;
515
+ kind?: string | null;
516
+ resolver?: string | null;
517
+ path?: string | null;
518
+ value?: AiJsonValue;
519
+ candidates?: string[];
520
+ failures?: string[];
521
+ }
522
+ interface AgenticAuthoringManifestValidationResultContract {
523
+ valid?: boolean;
524
+ failures?: string[];
525
+ warnings?: string[];
526
+ normalizedPlan?: AiJsonObject | null;
527
+ }
528
+ interface AgenticAuthoringManifestCompileResultContract {
529
+ compiled?: boolean;
530
+ failures?: string[];
531
+ warnings?: string[];
532
+ patch?: AiJsonObject | null;
533
+ }
297
534
  interface AiPatchStreamStartResponseContract {
298
535
  streamId: string;
299
536
  threadId: string;
@@ -301,6 +538,7 @@ interface AiPatchStreamStartResponseContract {
301
538
  eventSchemaVersion: string;
302
539
  streamAuthMode?: 'cookie' | 'signed_url_token' | null;
303
540
  streamAccessToken?: string | null;
541
+ observationId?: string | null;
304
542
  expiresAt: string;
305
543
  fallbackPatchUrl: string;
306
544
  }
@@ -311,6 +549,7 @@ interface AgenticAuthoringTurnStreamStartResponseContract {
311
549
  eventSchemaVersion: string;
312
550
  streamAuthMode?: 'cookie' | 'signed_url_token' | null;
313
551
  streamAccessToken?: string | null;
552
+ observationId?: string | null;
314
553
  expiresAt: string;
315
554
  fallbackAuthoringUrl: string;
316
555
  }
@@ -357,7 +596,7 @@ interface AiRuleResponse {
357
596
  /** Descriptive name for the rule */
358
597
  ruleName: string;
359
598
  /** Type of target (scope) */
360
- targetType: 'field' | 'section' | 'action' | 'row' | 'column';
599
+ targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
361
600
  /** IDs of the target elements */
362
601
  targetIds: string[];
363
602
  /** Canonical JSON Logic condition payload or null for always applied */
@@ -483,11 +722,125 @@ interface RulePropertyDefinition {
483
722
  }>;
484
723
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
485
724
  }
486
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
725
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
726
+
727
+ type PraxisAssistantOwnerType = 'page-builder' | 'table' | 'dynamic-form' | 'manual-form' | 'list' | 'tabs' | 'stepper' | 'expansion' | 'app-shell' | 'custom';
728
+ type PraxisAssistantComponentType = 'page-builder' | 'table' | 'form' | 'list' | 'tabs' | 'stepper' | 'expansion' | 'widget' | 'custom';
729
+ type PraxisAssistantContextMode = 'config' | 'agentic-authoring' | 'chat' | 'diagnostic' | 'review' | 'inline-help';
730
+ type PraxisAssistantTargetKind = 'component' | 'field' | 'column' | 'row' | 'section' | 'widget' | 'canvas' | 'compositionLink' | 'action' | 'rule' | 'resource' | 'custom';
731
+ type PraxisAssistantAttachmentKind = 'file' | 'image' | 'json' | 'schema' | 'text' | 'url' | 'custom';
732
+ type PraxisAssistantActionKind = 'local-preview' | 'local-apply' | 'local-undo' | 'manifest-validate' | 'manifest-compile' | 'shared-rule-intake' | 'shared-rule-handoff' | 'governed-simulation-handoff' | 'governed-publication-handoff' | 'materialization-handoff' | 'enforcement-validation-handoff' | 'diagnose' | 'explain' | 'custom';
733
+ type PraxisAssistantRiskLevel = 'low' | 'medium' | 'high' | 'blocked';
734
+ interface PraxisAssistantIdentity {
735
+ sessionId: string;
736
+ ownerId: string;
737
+ ownerType: PraxisAssistantOwnerType | string;
738
+ componentId?: string;
739
+ componentType?: PraxisAssistantComponentType | string;
740
+ routeKey?: string;
741
+ tenantId?: string;
742
+ env?: string;
743
+ userId?: string;
744
+ }
745
+ interface PraxisAssistantTargetRef {
746
+ kind: PraxisAssistantTargetKind | string;
747
+ id: string;
748
+ label?: string;
749
+ path?: string;
750
+ schemaPath?: string;
751
+ metadata?: Readonly<Record<string, string | number | boolean>>;
752
+ }
753
+ interface PraxisAssistantContextItem {
754
+ id: string;
755
+ label: string;
756
+ value: string;
757
+ kind?: string;
758
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
759
+ }
760
+ interface PraxisAssistantDigest {
761
+ label?: string;
762
+ summary?: string;
763
+ hash?: string;
764
+ source?: string;
765
+ fields?: readonly string[];
766
+ counts?: Readonly<Record<string, number>>;
767
+ }
768
+ interface PraxisAssistantAuthoringManifestRef {
769
+ componentId: string;
770
+ version?: string;
771
+ source?: string;
772
+ hash?: string;
773
+ }
774
+ interface PraxisAssistantCapabilityRef {
775
+ id: string;
776
+ label?: string;
777
+ source?: string;
778
+ risk?: PraxisAssistantRiskLevel;
779
+ }
780
+ interface PraxisAssistantGovernanceHint {
781
+ kind: string;
782
+ label?: string;
783
+ reason?: string;
784
+ target?: string;
785
+ risk?: PraxisAssistantRiskLevel;
786
+ }
787
+ interface PraxisAssistantAttachmentSummary {
788
+ id: string;
789
+ name: string;
790
+ kind: PraxisAssistantAttachmentKind | string;
791
+ mimeType?: string;
792
+ sizeBytes?: number;
793
+ source?: string;
794
+ hasPreview?: boolean;
795
+ }
796
+ interface PraxisAssistantActionContract {
797
+ id: string;
798
+ kind: PraxisAssistantActionKind | string;
799
+ label?: string;
800
+ target?: PraxisAssistantTargetRef;
801
+ capabilityRef?: string;
802
+ risk?: PraxisAssistantRiskLevel;
803
+ handoffEndpoint?: string;
804
+ description?: string;
805
+ }
806
+ interface PraxisAssistantContextSnapshot {
807
+ identity: PraxisAssistantIdentity;
808
+ target?: PraxisAssistantTargetRef;
809
+ contextItems: readonly PraxisAssistantContextItem[];
810
+ mode: PraxisAssistantContextMode;
811
+ authoringManifestRef?: PraxisAssistantAuthoringManifestRef;
812
+ resourcePath?: string;
813
+ schemaFields?: readonly string[];
814
+ dataProfileDigest?: PraxisAssistantDigest;
815
+ runtimeStateDigest?: PraxisAssistantDigest;
816
+ capabilityRefs?: readonly PraxisAssistantCapabilityRef[];
817
+ governanceHints?: readonly PraxisAssistantGovernanceHint[];
818
+ riskHints?: readonly PraxisAssistantGovernanceHint[];
819
+ attachmentSummaries?: readonly PraxisAssistantAttachmentSummary[];
820
+ actions?: readonly PraxisAssistantActionContract[];
821
+ }
822
+ interface PraxisAssistantOpenRequest {
823
+ initialPrompt?: string;
824
+ target?: PraxisAssistantTargetRef;
825
+ mode?: PraxisAssistantContextMode;
826
+ visibility?: 'active' | 'minimized';
827
+ contextHints?: Readonly<Record<string, string | number | boolean>>;
828
+ preferredAction?: PraxisAssistantActionContract;
829
+ selection?: PraxisAssistantTargetRef;
830
+ }
831
+ declare const PRAXIS_ASSISTANT_CONTEXT_TEXT_LIMIT = 160;
832
+ declare const PRAXIS_ASSISTANT_CONTEXT_ITEM_LIMIT = 12;
833
+ declare const PRAXIS_ASSISTANT_CONTEXT_SCHEMA_FIELD_LIMIT = 40;
834
+ declare const PRAXIS_ASSISTANT_CONTEXT_ATTACHMENT_LIMIT = 8;
835
+ declare function sanitizePraxisAssistantText(value: unknown, limit?: number): string;
836
+ declare function normalizePraxisAssistantAttachmentSummary(attachment: unknown): PraxisAssistantAttachmentSummary | null;
837
+ declare function normalizePraxisAssistantContextSnapshot(value: unknown): PraxisAssistantContextSnapshot;
487
838
 
488
839
  type PraxisAssistantShellMessageRole = 'user' | 'assistant' | 'system' | 'status' | 'error';
489
840
  type PraxisAssistantShellMode = 'config' | 'agentic-authoring' | 'chat' | 'diagnostic' | 'review' | 'inline-help';
490
841
  type PraxisAssistantShellState = 'idle' | 'listening' | 'processing' | 'clarification' | 'review' | 'applying' | 'success' | 'error';
842
+ type PraxisAssistantVoiceInputMode = 'disabled' | 'browser-speech';
843
+ type PraxisAssistantVoiceCaptureState = 'unsupported' | 'idle' | 'listening' | 'stopping' | 'error';
491
844
  interface PraxisAssistantShellMessage {
492
845
  id: string;
493
846
  role: PraxisAssistantShellMessageRole;
@@ -495,24 +848,172 @@ interface PraxisAssistantShellMessage {
495
848
  status?: 'pending' | 'done' | 'error';
496
849
  editable?: boolean;
497
850
  resendable?: boolean;
851
+ observationId?: string | null;
498
852
  actions?: readonly PraxisAssistantShellMessageAction[];
499
853
  }
500
854
  interface PraxisAssistantShellQuickReply {
501
855
  id: string;
502
856
  label: string;
503
857
  prompt: string;
858
+ value?: unknown;
504
859
  kind?: string;
505
860
  description?: string | null;
506
861
  icon?: string | null;
507
862
  tone?: string | null;
863
+ presentation?: PraxisAssistantShellQuickReplyPresentation | null;
508
864
  contextHints?: Readonly<Record<string, unknown>> | null;
865
+ canonicalAction?: Readonly<Record<string, unknown>> | null;
866
+ semanticDecision?: Readonly<Record<string, unknown>> | null;
867
+ }
868
+ type PraxisAssistantShellQuickReplyPresentationKind = 'resource-candidate' | 'contextual-action' | 'governance-confirmation' | 'guided-option' | string;
869
+ interface PraxisAssistantShellQuickReplyPresentation {
870
+ kind?: PraxisAssistantShellQuickReplyPresentationKind | null;
871
+ categoryLabel?: string | null;
872
+ description?: string | null;
873
+ ctaLabel?: string | null;
874
+ icon?: string | null;
875
+ tone?: string | null;
876
+ technicalDetails?: string | null;
877
+ evidence?: readonly PraxisAssistantShellQuickReplyEvidence[];
878
+ items?: readonly PraxisAssistantShellQuickReplyPresentationItem[];
879
+ }
880
+ interface PraxisAssistantShellQuickReplyEvidence {
881
+ icon?: string | null;
882
+ value: string;
883
+ ariaLabel?: string | null;
884
+ }
885
+ interface PraxisAssistantShellQuickReplyPresentationItem {
886
+ key?: 'bestFor' | 'returns' | 'nextStep' | string;
887
+ label: string;
888
+ value: string;
889
+ icon?: string | null;
890
+ }
891
+ type PraxisAssistantOpportunityCandidateStatus = 'available' | 'missing-context' | 'already-enabled' | 'blocked' | 'not-recommended' | string;
892
+ type PraxisAssistantRecommendedIntentTone = 'neutral' | 'analytics' | 'resource' | 'success' | 'warning' | 'danger' | string;
893
+ interface PraxisAssistantOpportunityGroup {
894
+ id: string;
895
+ label: string;
896
+ description?: string | null;
897
+ rank?: number | null;
898
+ }
899
+ interface PraxisAssistantRecommendedIntentPresentation {
900
+ kind?: 'guided-card' | 'compact-chip' | 'spotlight' | string;
901
+ description?: string | null;
902
+ ctaLabel?: string | null;
903
+ icon?: string | null;
904
+ tone?: PraxisAssistantRecommendedIntentTone | null;
905
+ evidence?: readonly PraxisAssistantShellQuickReplyEvidence[];
906
+ items?: readonly PraxisAssistantShellQuickReplyPresentationItem[];
907
+ }
908
+ type PraxisAssistantRecommendedIntentAction = {
909
+ kind: 'submit-prompt';
910
+ prompt: string;
911
+ contextHints?: Readonly<Record<string, unknown>> | null;
912
+ } | {
913
+ kind: 'start-review';
914
+ operationKind: 'author' | 'execute' | string;
915
+ componentEditPlan?: Readonly<Record<string, unknown>> | null;
916
+ runtimeOperation?: Readonly<Record<string, unknown>> | null;
917
+ contextHints?: Readonly<Record<string, unknown>> | null;
918
+ } | {
919
+ kind: 'open-guidance';
920
+ topicId: string;
921
+ contextHints?: Readonly<Record<string, unknown>> | null;
922
+ } | {
923
+ kind: string;
924
+ [key: string]: unknown;
925
+ };
926
+ interface PraxisAssistantRecommendedIntent {
927
+ kind?: 'praxis.assistant.recommended-intent' | string;
928
+ id: string;
929
+ label: string;
930
+ description?: string | null;
931
+ group?: PraxisAssistantOpportunityGroup | null;
932
+ icon?: string | null;
933
+ tone?: PraxisAssistantRecommendedIntentTone | null;
934
+ presentation?: PraxisAssistantRecommendedIntentPresentation | null;
935
+ action: PraxisAssistantRecommendedIntentAction;
936
+ prompt?: string | null;
937
+ contextHints?: Readonly<Record<string, unknown>> | null;
938
+ sourceCandidateIds?: readonly string[];
939
+ rank?: number | null;
940
+ confidence?: number | null;
941
+ requiresConfirmation?: boolean;
942
+ disabledReason?: string | null;
943
+ }
944
+ interface PraxisAssistantOpportunityEvidence {
945
+ kind: 'component-state' | 'metadata' | 'selection' | 'capability' | 'usage' | 'host' | string;
946
+ label?: string | null;
947
+ value?: string | number | boolean | null;
948
+ details?: Readonly<Record<string, unknown>> | null;
949
+ }
950
+ interface PraxisAssistantOpportunityTarget {
951
+ kind: 'component' | 'field' | 'record-surface' | 'action' | 'navigation' | 'export' | string;
952
+ id: string;
953
+ label?: string | null;
954
+ componentId?: string | null;
955
+ field?: string | null;
956
+ surfaceId?: string | null;
957
+ capabilityId?: string | null;
958
+ metadata?: Readonly<Record<string, unknown>> | null;
959
+ }
960
+ interface PraxisAssistantOpportunityMissingContext {
961
+ id: string;
962
+ label: string;
963
+ reason?: string | null;
964
+ required?: boolean;
965
+ }
966
+ interface PraxisAssistantOpportunitySafety {
967
+ requiresConfirmation?: boolean;
968
+ destructive?: boolean;
969
+ reason?: string | null;
970
+ }
971
+ interface PraxisAssistantOpportunityCandidate {
972
+ id: string;
973
+ label: string;
974
+ description?: string | null;
975
+ group?: PraxisAssistantOpportunityGroup | null;
976
+ target: PraxisAssistantOpportunityTarget;
977
+ status?: PraxisAssistantOpportunityCandidateStatus;
978
+ rank?: number | null;
979
+ confidence?: number | null;
980
+ evidence?: readonly PraxisAssistantOpportunityEvidence[];
981
+ missingContext?: readonly PraxisAssistantOpportunityMissingContext[];
982
+ safety?: PraxisAssistantOpportunitySafety | null;
983
+ recommendedIntent?: PraxisAssistantRecommendedIntent | null;
984
+ metadata?: Readonly<Record<string, unknown>> | null;
985
+ }
986
+ interface PraxisAssistantOpportunityCatalog {
987
+ componentId: string;
988
+ componentKind?: string | null;
989
+ generatedAt?: string | null;
990
+ stateHash?: string | null;
991
+ candidates: readonly PraxisAssistantOpportunityCandidate[];
992
+ groups?: readonly PraxisAssistantOpportunityGroup[];
993
+ metadata?: Readonly<Record<string, unknown>> | null;
509
994
  }
510
995
  interface PraxisAssistantShellMessageAction {
511
996
  id: string;
512
997
  label: string;
513
998
  kind?: 'edit' | 'resend' | 'copy' | 'custom' | string;
999
+ icon?: string | null;
1000
+ ariaLabel?: string | null;
1001
+ iconOnly?: boolean;
514
1002
  disabled?: boolean;
515
1003
  }
1004
+ type PraxisAssistantShellActionTone = 'primary' | 'secondary' | 'governance' | 'success' | 'warning' | 'danger' | 'neutral' | string;
1005
+ interface PraxisAssistantShellAction {
1006
+ id: string;
1007
+ label: string;
1008
+ kind?: 'submit-prompt' | 'apply' | 'retry' | 'cancel' | 'simulate' | 'review' | 'publish' | 'materialize' | 'correct' | 'custom' | string;
1009
+ icon?: string | null;
1010
+ tone?: PraxisAssistantShellActionTone | null;
1011
+ disabled?: boolean;
1012
+ requiresPrompt?: boolean;
1013
+ testId?: string | null;
1014
+ ariaLabel?: string | null;
1015
+ iconOnly?: boolean;
1016
+ }
516
1017
  interface PraxisAssistantShellContextItem {
517
1018
  id: string;
518
1019
  label: string;
@@ -538,6 +1039,13 @@ interface PraxisAssistantShellLayout {
538
1039
  width: number;
539
1040
  height: number;
540
1041
  }
1042
+ interface PraxisAssistantViewportLayoutOptions {
1043
+ width?: number;
1044
+ height?: number;
1045
+ top?: number;
1046
+ margin?: number;
1047
+ }
1048
+ declare function createPraxisAssistantViewportLayout(options?: PraxisAssistantViewportLayoutOptions): PraxisAssistantShellLayout;
541
1049
  interface PraxisAssistantShellLabels {
542
1050
  title: string;
543
1051
  subtitle?: string;
@@ -549,14 +1057,30 @@ interface PraxisAssistantShellLabels {
549
1057
  apply: string;
550
1058
  conversationAria: string;
551
1059
  quickRepliesAria: string;
1060
+ quickReplyDetails?: string;
1061
+ recommendedIntentsAria: string;
1062
+ recommendedIntentsTitle: string;
1063
+ recommendedIntentCta: string;
1064
+ recommendedIntentGuidanceCta: string;
1065
+ recommendedIntentRequiresConfirmation: string;
552
1066
  dragHandleAria: string;
553
1067
  resizeHandleAria: string;
1068
+ resetLayout?: string;
554
1069
  contextAria: string;
555
1070
  attachmentsAria: string;
556
1071
  attach: string;
557
1072
  removeAttachment: string;
558
1073
  editMessage: string;
559
1074
  resendMessage: string;
1075
+ feedbackPositive: string;
1076
+ feedbackNegative: string;
1077
+ feedbackSubmitted: string;
1078
+ voiceStart?: string;
1079
+ voiceStop?: string;
1080
+ voiceListening?: string;
1081
+ voiceUnsupported?: string;
1082
+ voicePermissionDenied?: string;
1083
+ voiceNoSpeech?: string;
560
1084
  modeConfig: string;
561
1085
  modeAgenticAuthoring: string;
562
1086
  modeChat: string;
@@ -580,7 +1104,11 @@ interface PraxisAssistantClarificationOption {
580
1104
  label: string;
581
1105
  value: string;
582
1106
  description?: string;
1107
+ displayPrompt?: string;
1108
+ example?: string;
583
1109
  contextHints?: Record<string, unknown>;
1110
+ canonicalAction?: Record<string, unknown>;
1111
+ semanticDecision?: Record<string, unknown>;
584
1112
  }
585
1113
  interface PraxisAssistantClarificationQuestion {
586
1114
  id: string;
@@ -595,6 +1123,7 @@ interface PraxisAssistantTurnAction {
595
1123
  kind: 'submit' | 'clarify' | 'apply' | 'cancel' | 'retry' | 'edit-message' | 'resend-message' | 'attach' | 'remove-attachment' | string;
596
1124
  id?: string;
597
1125
  value?: unknown;
1126
+ displayPrompt?: string;
598
1127
  contextHints?: Record<string, unknown>;
599
1128
  }
600
1129
  interface PraxisAssistantPendingClarification {
@@ -603,7 +1132,15 @@ interface PraxisAssistantPendingClarification {
603
1132
  assistantMessage?: string;
604
1133
  clientTurnId?: string;
605
1134
  diagnostics?: Record<string, unknown>;
1135
+ observationId?: string | null;
1136
+ }
1137
+ type PraxisAssistantConversationMessageRole = 'user' | 'assistant' | 'system';
1138
+ interface PraxisAssistantConversationMessage {
1139
+ id: string;
1140
+ role: PraxisAssistantConversationMessageRole;
1141
+ text: string;
606
1142
  }
1143
+ declare function toPraxisAssistantConversationMessages(messages: readonly PraxisAssistantShellMessage[], limit?: number): PraxisAssistantConversationMessage[];
607
1144
  interface PraxisAssistantTurnRequest {
608
1145
  mode: PraxisAssistantShellMode;
609
1146
  phase?: PraxisAssistantTurnPhase;
@@ -624,6 +1161,8 @@ interface PraxisAssistantTurnRequest {
624
1161
  preview?: unknown;
625
1162
  pendingPatch?: unknown;
626
1163
  pendingClarification?: PraxisAssistantPendingClarification;
1164
+ diagnostics?: Record<string, unknown>;
1165
+ observationId?: string | null;
627
1166
  }
628
1167
  interface PraxisAssistantTurnResult {
629
1168
  state: PraxisAssistantShellState;
@@ -643,6 +1182,7 @@ interface PraxisAssistantTurnResult {
643
1182
  sessionId?: string;
644
1183
  clientTurnId?: string;
645
1184
  diagnostics?: Record<string, unknown>;
1185
+ observationId?: string | null;
646
1186
  }
647
1187
  interface PraxisAssistantTurnViewState {
648
1188
  mode: PraxisAssistantShellMode;
@@ -662,6 +1202,7 @@ interface PraxisAssistantTurnViewState {
662
1202
  pendingPatch?: unknown;
663
1203
  pendingClarification?: PraxisAssistantPendingClarification;
664
1204
  diagnostics?: Record<string, unknown>;
1205
+ observationId?: string | null;
665
1206
  }
666
1207
  interface PraxisAssistantTurnFlow {
667
1208
  readonly mode: PraxisAssistantShellMode;
@@ -696,6 +1237,31 @@ interface AiResponseCompileResult {
696
1237
  message?: string;
697
1238
  warnings?: string[];
698
1239
  }
1240
+ type AiAuthoringResponseModeKind = 'consult' | 'edit' | string;
1241
+ interface AiAuthoringResponseMode {
1242
+ kind: AiAuthoringResponseModeKind;
1243
+ operationKind?: 'consult' | 'author' | 'edit' | string;
1244
+ changeKind?: 'answer' | string;
1245
+ preferredResponse?: string;
1246
+ useWhen?: string[];
1247
+ rules?: string[];
1248
+ }
1249
+ interface AiConsultativeAuthoringContext {
1250
+ [key: string]: unknown;
1251
+ resourcePath?: string | null;
1252
+ answerableQuestionKinds?: string[];
1253
+ }
1254
+ interface AiComponentAuthoringContract {
1255
+ [key: string]: unknown;
1256
+ kind: 'praxis.component-authoring-context' | string;
1257
+ componentId?: string;
1258
+ componentType?: string;
1259
+ preferredResponse?: string;
1260
+ responseModes?: AiAuthoringResponseMode[];
1261
+ consultativeContext?: AiConsultativeAuthoringContext;
1262
+ }
1263
+ declare function createComponentAuthoringContext(authoringContract: AiComponentAuthoringContract): AiJsonObject;
1264
+ declare function toAiJsonObject(value: unknown, path?: string): AiJsonObject;
699
1265
  /**
700
1266
  * Contrato fundamental para qualquer componente que suporte configuração via IA.
701
1267
  * O Agente de IA usa esta interface para Ler (Introspecção) e Escrever (Patching) no componente.
@@ -748,6 +1314,12 @@ interface AiConfigAdapter<TConfig = any> {
748
1314
  * Usado para sugestões heurísticas mais precisas no backend.
749
1315
  */
750
1316
  getSchemaFields?(): Record<string, any>[];
1317
+ /**
1318
+ * Prepara contexto assíncrono necessário antes de montar snapshots para IA.
1319
+ * Ex.: uma tabela pode carregar o schema canônico de filtros antes de expor
1320
+ * o contrato de authoring ao backend.
1321
+ */
1322
+ prepareAuthoringContext?(): Promise<void> | void;
751
1323
  /**
752
1324
  * Retorna contexto declarativo adicional para authoring assistido por IA.
753
1325
  * Deve conter contratos validaveis e instrucoes especificas do componente
@@ -813,6 +1385,17 @@ declare abstract class BaseAiAdapter<TConfig = any> implements AiConfigAdapter<T
813
1385
  protected getCriticalWarnings(patch: any): string[];
814
1386
  }
815
1387
 
1388
+ interface AiGovernedDecisionRoutingOptions {
1389
+ localCompositionTerms?: readonly string[];
1390
+ }
1391
+ /**
1392
+ * @deprecated Component assistants must not infer governed authoring from user
1393
+ * wording. Route through the backend semantic resolver and use this only for
1394
+ * explicit, structured context provided by a canonical backend source.
1395
+ */
1396
+ declare function shouldRoutePromptToGovernedDecision(prompt: string, contextHints?: AiJsonObject, options?: AiGovernedDecisionRoutingOptions): boolean;
1397
+ declare function normalizeAuthoringPrompt(prompt: string): string;
1398
+
816
1399
  interface FieldSchemaLike {
817
1400
  label: string;
818
1401
  type: string;
@@ -863,8 +1446,6 @@ declare class PraxisAiService {
863
1446
  generateContentStream(prompt: string, modelName?: string): Observable<string>;
864
1447
  generateJson<T>(prompt: string, modelName?: string, schema?: any): Observable<T | null>;
865
1448
  isMockMode(): boolean;
866
- private extractUserIntent;
867
- private getMockPatch;
868
1449
  listModels(apiKey?: string): Observable<AiModel[]>;
869
1450
  testConnection(apiKey?: string, model?: string): Observable<boolean>;
870
1451
  private resolveProvider;
@@ -874,7 +1455,7 @@ declare class PraxisAiService {
874
1455
  }
875
1456
 
876
1457
  declare const AI_INTENT_CONTRACT_VERSION: "v1.1";
877
- declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "dacaba8fa7ec21ee9ae31bab7057614837d2d1320d784d0ee61fb840efe55a35";
1458
+ declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "41767dafdf6ebea802c083d77187ad6612937d6831188938dc21adce384b57a2";
878
1459
  type AiSchemaContext = AiSchemaContextContract;
879
1460
  interface AiSuggestionsRequest {
880
1461
  componentId: string;
@@ -907,10 +1488,22 @@ type AiPatchStreamEventType = AiPatchStreamEventType$1;
907
1488
  type AiPatchStreamStartResponse = AiPatchStreamStartResponseContract;
908
1489
  type AiPatchStreamCancelResponse = AiPatchStreamCancelResponseContract;
909
1490
  type AiPatchStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AiPatchStreamEnvelopeContract<TPayload>;
1491
+ type AgenticAuthoringManifestEditPlanRequest = AgenticAuthoringManifestEditPlanRequestContract;
1492
+ type AgenticAuthoringResolveTargetRequest = AgenticAuthoringResolveTargetRequestContract;
1493
+ type AgenticAuthoringResolvedTarget = AgenticAuthoringResolvedTargetContract;
1494
+ type AgenticAuthoringManifestValidationResult = AgenticAuthoringManifestValidationResultContract;
1495
+ type AgenticAuthoringManifestCompileResult = AgenticAuthoringManifestCompileResultContract;
1496
+ type AgenticAuthoringTurnStreamRequest = AgenticAuthoringTurnStreamRequestContract;
1497
+ type AgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
1498
+ type AgenticAuthoringTurnStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AgenticAuthoringTurnStreamEnvelopeContract<TPayload>;
910
1499
  interface AiPatchStreamConnection {
911
1500
  events$: Observable<AiPatchStreamEnvelope>;
912
1501
  close: () => void;
913
1502
  }
1503
+ interface AgenticAuthoringTurnStreamConnection {
1504
+ events$: Observable<AgenticAuthoringTurnStreamEnvelope>;
1505
+ close: () => void;
1506
+ }
914
1507
  type AiPatchStreamConnectionErrorKind = 'unsupported' | 'http_status' | 'transport' | 'parse' | 'schema';
915
1508
  declare class AiPatchStreamConnectionError extends Error {
916
1509
  readonly kind: AiPatchStreamConnectionErrorKind;
@@ -961,6 +1554,9 @@ interface AiProviderStatusResponse {
961
1554
  success?: boolean;
962
1555
  message?: string;
963
1556
  }
1557
+ type AiAssistantObservationFeedbackRatingValue = AiAssistantObservationFeedbackRating;
1558
+ type AiAssistantObservationFeedbackRequest = AiAssistantObservationFeedbackRequestContract;
1559
+ type AiAssistantObservationFeedbackResponse = AiAssistantObservationFeedbackResponseContract;
964
1560
  interface AiContextTemplateMeta {
965
1561
  variants?: Array<{
966
1562
  id?: string;
@@ -1003,34 +1599,73 @@ interface AiBackendStorageOptions {
1003
1599
  defaultHeaders?: Record<string, string>;
1004
1600
  allowLocalIdentityFallback?: boolean;
1005
1601
  }
1602
+ interface AiBackendEndpoints {
1603
+ /**
1604
+ * Explicit base URL for `/praxis/config/ai/**`.
1605
+ * Hosts should normally prefer the shared `API_URL.default.baseUrl`; use this
1606
+ * only when AI orchestration is served by a distinct gateway.
1607
+ */
1608
+ aiBaseUrl?: string;
1609
+ /**
1610
+ * Explicit base URL for `/praxis/config/ai-context/**`.
1611
+ * When omitted, the service derives it from `API_URL.default.baseUrl`.
1612
+ */
1613
+ aiContextBaseUrl?: string;
1614
+ }
1006
1615
  declare const AI_BACKEND_CONFIG_STORE: InjectionToken<AiBackendConfigStore>;
1007
1616
  declare const AI_BACKEND_STORAGE_OPTIONS: InjectionToken<AiBackendStorageOptions>;
1617
+ declare const AI_BACKEND_ENDPOINTS: InjectionToken<AiBackendEndpoints>;
1008
1618
  declare class AiBackendApiService {
1009
1619
  private readonly http;
1010
1620
  private readonly globalConfigStore;
1011
1621
  private readonly storageOpts;
1012
- private readonly baseUrl;
1013
- private readonly contextUrl;
1622
+ private readonly endpointOpts;
1623
+ private readonly apiUrlConfig;
1624
+ private readonly fallbackAiBaseUrl;
1625
+ private readonly fallbackAiContextBaseUrl;
1014
1626
  getSuggestions(request: AiSuggestionsRequest): Observable<AiSuggestionsResponse>;
1015
1627
  getPatch(request: AiOrchestratorRequest): Observable<AiOrchestratorResponse>;
1016
1628
  startPatchStream(request: AiOrchestratorRequest): Observable<AiPatchStreamStartResponse>;
1017
1629
  connectPatchStream(streamId: string, lastEventId?: string, accessToken?: string): AiPatchStreamConnection;
1018
1630
  cancelPatchStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
1631
+ startAgenticAuthoringTurnStream(request: AgenticAuthoringTurnStreamRequest): Observable<AgenticAuthoringTurnStreamStartResponse>;
1632
+ connectAgenticAuthoringTurnStream(streamId: string, lastEventId?: string, accessToken?: string): AgenticAuthoringTurnStreamConnection;
1633
+ cancelAgenticAuthoringTurnStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
1634
+ sendAssistantObservationFeedback(observationId: string, request: AiAssistantObservationFeedbackRequest): Observable<AiAssistantObservationFeedbackResponse>;
1019
1635
  listModels(request: AiProviderModelsRequest): Observable<AiProviderModelsResponse>;
1020
1636
  listProviderCatalog(): Observable<AiProviderCatalogResponse>;
1021
1637
  testProvider(request: AiProviderTestRequest): Observable<AiProviderTestResponse>;
1022
1638
  getAiStatus(): Observable<AiProviderStatusResponse>;
1023
1639
  getAiContext(componentId: string, componentType: string): Observable<AiContextDTO>;
1640
+ getAgenticAuthoringManifest(componentId: string): Observable<AiJsonObject>;
1641
+ listAgenticAuthoringManifestTargets(componentId: string): Observable<AiJsonObject[]>;
1642
+ listAgenticAuthoringManifestOperations(componentId: string): Observable<AiJsonObject[]>;
1643
+ resolveAgenticAuthoringManifestTarget(componentId: string, request: AgenticAuthoringResolveTargetRequest): Observable<AgenticAuthoringResolvedTarget>;
1644
+ validateAgenticAuthoringManifestPlan(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestValidationResult>;
1645
+ compileAgenticAuthoringManifestPatch(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestCompileResult>;
1024
1646
  loadGlobalAiConfig(): Observable<AiGlobalConfigSnapshot | null>;
1025
1647
  saveGlobalAiConfig(aiConfig: AiGlobalConfigSnapshot): Observable<void>;
1026
1648
  getHeaderContext(): AiHeaderContext;
1027
1649
  private buildHeaders;
1028
1650
  private normalizeContractVersion;
1029
1651
  private normalizeContractSchemaHash;
1652
+ private normalizeLegacyPatchConversationIds;
1653
+ private normalizeConversationUuid;
1654
+ private isUuid;
1655
+ private authoringManifestUrl;
1656
+ private aiBaseUrl;
1657
+ private aiContextBaseUrl;
1658
+ private resolveBaseUrl;
1659
+ private resolveApiBaseUrl;
1660
+ private joinUrl;
1661
+ private normalizeBaseUrl;
1662
+ private buildApiUrl;
1030
1663
  private resolveHeaderMap;
1031
1664
  private parsePatchStreamEnvelope;
1032
1665
  private isPatchStreamEnvelope;
1033
1666
  private isJsonObject;
1667
+ private registerNamedStreamEventListeners;
1668
+ private isTerminalStreamEventType;
1034
1669
  private probePatchStreamEndpoint;
1035
1670
  static ɵfac: i0.ɵɵFactoryDeclaration<AiBackendApiService, never>;
1036
1671
  static ɵprov: i0.ɵɵInjectableDeclaration<AiBackendApiService>;
@@ -1052,6 +1687,7 @@ declare class AiResponseValidatorService {
1052
1687
  private validateJsonLogicExpression;
1053
1688
  private walkJsonLogicNode;
1054
1689
  private isSupportedJsonLogicOperator;
1690
+ private validateJsonLogicOperatorArity;
1055
1691
  private collectVarPaths;
1056
1692
  private isValidTargetId;
1057
1693
  private findSimilarTargetId;
@@ -1084,8 +1720,10 @@ declare class PraxisAssistantTurnController {
1084
1720
  private readonly options;
1085
1721
  private readonly stateSubject;
1086
1722
  readonly state$: Observable<PraxisAssistantTurnViewState>;
1723
+ private activeFlowClientTurnId;
1087
1724
  constructor(flow: PraxisAssistantTurnFlow, options: PraxisAssistantTurnControllerOptions);
1088
1725
  snapshot(): PraxisAssistantTurnViewState;
1726
+ setContextHints(hints: Record<string, unknown> | undefined): void;
1089
1727
  setContextItems(items: readonly PraxisAssistantShellContextItem[]): void;
1090
1728
  setMessages(messages: readonly PraxisAssistantShellMessage[]): void;
1091
1729
  setAttachments(attachments: readonly PraxisAssistantShellAttachment[]): void;
@@ -1096,6 +1734,7 @@ declare class PraxisAssistantTurnController {
1096
1734
  submitEditedMessage(messageId: string, text: string): Observable<PraxisAssistantTurnViewState>;
1097
1735
  submitPrompt(prompt: string, action?: PraxisAssistantTurnAction): Observable<PraxisAssistantTurnViewState>;
1098
1736
  answerClarification(option: PraxisAssistantClarificationOption | string): Observable<PraxisAssistantTurnViewState>;
1737
+ private semanticClarificationContextHints;
1099
1738
  apply(): Observable<PraxisAssistantTurnViewState>;
1100
1739
  retry(): Observable<PraxisAssistantTurnViewState>;
1101
1740
  cancel(): Observable<PraxisAssistantTurnViewState>;
@@ -1104,6 +1743,10 @@ declare class PraxisAssistantTurnController {
1104
1743
  private submitExistingUserMessage;
1105
1744
  private findUserMessageIndex;
1106
1745
  private resetReplayState;
1746
+ private resetActiveTurnState;
1747
+ private shouldApplyFlowResult;
1748
+ private resetConversationState;
1749
+ private resetConversationAfterCancel;
1107
1750
  private applyResult;
1108
1751
  private resolveSubmitAction;
1109
1752
  private buildPendingClarification;
@@ -1111,10 +1754,85 @@ declare class PraxisAssistantTurnController {
1111
1754
  private resolveMessageRole;
1112
1755
  private resolvePhase;
1113
1756
  private buildMessage;
1757
+ private shouldAttachObservationId;
1114
1758
  private createId;
1115
1759
  private patchState;
1116
1760
  private cloneState;
1117
1761
  private toObservable;
1762
+ private buildFlowErrorResult;
1763
+ private describeFlowError;
1764
+ private serializeFlowError;
1765
+ private toRecord;
1766
+ private toString;
1767
+ private toNumber;
1768
+ }
1769
+
1770
+ declare function toPraxisAssistantClarificationOption(reply: PraxisAssistantShellQuickReply): PraxisAssistantClarificationOption;
1771
+ declare function submitPraxisAssistantQuickReply(controller: PraxisAssistantTurnController, reply: PraxisAssistantShellQuickReply): Observable<PraxisAssistantTurnViewState>;
1772
+
1773
+ type PraxisAssistantSessionVisibility = 'active' | 'minimized';
1774
+ type PraxisAssistantSessionPresence = 'global-dock' | 'origin-anchor';
1775
+ interface PraxisAssistantSessionDescriptor {
1776
+ id: string;
1777
+ ownerId: string;
1778
+ ownerType: string;
1779
+ title: string;
1780
+ summary?: string | null;
1781
+ mode?: PraxisAssistantShellMode | null;
1782
+ state?: PraxisAssistantShellState | null;
1783
+ visibility?: PraxisAssistantSessionVisibility | null;
1784
+ contextItems?: readonly PraxisAssistantShellContextItem[] | null;
1785
+ contextSnapshot?: PraxisAssistantContextSnapshot | null;
1786
+ badge?: string | null;
1787
+ icon?: string | null;
1788
+ presence?: PraxisAssistantSessionPresence | null;
1789
+ updatedAt?: string | null;
1790
+ }
1791
+ interface PraxisAssistantSessionSnapshot {
1792
+ id: string;
1793
+ ownerId: string;
1794
+ ownerType: string;
1795
+ title: string;
1796
+ summary: string;
1797
+ mode: PraxisAssistantShellMode;
1798
+ state: PraxisAssistantShellState;
1799
+ visibility: PraxisAssistantSessionVisibility;
1800
+ contextItems: readonly PraxisAssistantShellContextItem[];
1801
+ contextSnapshot: PraxisAssistantContextSnapshot | null;
1802
+ badge: string;
1803
+ icon: string;
1804
+ presence: PraxisAssistantSessionPresence;
1805
+ createdAt: string;
1806
+ updatedAt: string;
1807
+ }
1808
+ type PraxisAssistantSessionIdentityRef = string | PraxisAssistantIdentity | PraxisAssistantContextSnapshot;
1809
+ type PraxisAssistantContextSessionDescriptor = Omit<PraxisAssistantSessionDescriptor, 'id' | 'ownerId' | 'ownerType' | 'title' | 'contextSnapshot'> & {
1810
+ title?: string;
1811
+ };
1812
+ declare class PraxisAssistantSessionRegistryService {
1813
+ private readonly sessionsState;
1814
+ readonly sessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1815
+ readonly activeSession: i0.Signal<PraxisAssistantSessionSnapshot | null>;
1816
+ readonly minimizedSessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1817
+ upsertSession(descriptor: PraxisAssistantSessionDescriptor): PraxisAssistantSessionSnapshot;
1818
+ upsertContextSession(contextSnapshot: PraxisAssistantContextSnapshot, descriptor?: PraxisAssistantContextSessionDescriptor): PraxisAssistantSessionSnapshot;
1819
+ openSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1820
+ openContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1821
+ minimizeSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1822
+ minimizeContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1823
+ removeSession(sessionId: string): void;
1824
+ removeContextSession(identity: PraxisAssistantSessionIdentityRef): void;
1825
+ getSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1826
+ getContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1827
+ clear(): void;
1828
+ private setVisibility;
1829
+ private resolveSessionId;
1830
+ private normalizeDescriptor;
1831
+ private assertContextIdentity;
1832
+ private toShellContextItems;
1833
+ private sortSessions;
1834
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAssistantSessionRegistryService, never>;
1835
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisAssistantSessionRegistryService>;
1118
1836
  }
1119
1837
 
1120
1838
  type AssistantMessageRole = 'user' | 'assistant' | 'system';
@@ -1156,7 +1874,7 @@ interface ClarificationOption {
1156
1874
  value: string;
1157
1875
  example?: string;
1158
1876
  }
1159
- type ClarificationContextHints = AiJsonObject;
1877
+ type ClarificationContextHints = AiContextHintsContract;
1160
1878
  interface ClarificationRichOption extends ClarificationOption {
1161
1879
  contextHints?: ClarificationContextHints;
1162
1880
  }
@@ -1171,6 +1889,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1171
1889
  adapter: AiConfigAdapter;
1172
1890
  riskPolicy: RiskPolicy | null;
1173
1891
  allowManualPatchEdit: boolean;
1892
+ hasBackdrop: boolean;
1174
1893
  readonly overlayPositions: ConnectedPosition[];
1175
1894
  overlayOrigin: CdkOverlayOrigin;
1176
1895
  triggerButton?: ElementRef<HTMLButtonElement>;
@@ -1490,6 +2209,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1490
2209
  private hasBadgeColors;
1491
2210
  private hasBadgeField;
1492
2211
  private mergeContextHints;
2212
+ private enrichDomainCatalogAuthoringHints;
1493
2213
  private setResourcePathHint;
1494
2214
  private clearResourcePathHint;
1495
2215
  private matchClarificationOptionPath;
@@ -1542,9 +2262,19 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1542
2262
  private restoreFocusToTrigger;
1543
2263
  private normalizeError;
1544
2264
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantComponent, never>;
1545
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisAiAssistantComponent, "praxis-ai-assistant", never, { "adapter": { "alias": "adapter"; "required": true; }; "riskPolicy": { "alias": "riskPolicy"; "required": false; }; "allowManualPatchEdit": { "alias": "allowManualPatchEdit"; "required": false; }; }, {}, never, never, true, never>;
2265
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisAiAssistantComponent, "praxis-ai-assistant", never, { "adapter": { "alias": "adapter"; "required": true; }; "riskPolicy": { "alias": "riskPolicy"; "required": false; }; "allowManualPatchEdit": { "alias": "allowManualPatchEdit"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; }, {}, never, never, true, never>;
1546
2266
  }
1547
2267
 
2268
+ type ResizeDirection = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
2269
+ type QuickReplyPresentationItem = PraxisAssistantShellQuickReplyPresentationItem & {
2270
+ key: 'bestFor' | 'returns' | 'nextStep' | string;
2271
+ icon: string;
2272
+ };
2273
+ interface QuickReplyContextChip {
2274
+ icon: string;
2275
+ value: string;
2276
+ ariaLabel: string;
2277
+ }
1548
2278
  declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1549
2279
  labels: Partial<PraxisAssistantShellLabels> | null;
1550
2280
  mode: PraxisAssistantShellMode;
@@ -1553,6 +2283,7 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1553
2283
  attachments: readonly PraxisAssistantShellAttachment[];
1554
2284
  messages: readonly PraxisAssistantShellMessage[];
1555
2285
  quickReplies: readonly PraxisAssistantShellQuickReply[];
2286
+ recommendedIntents: readonly PraxisAssistantRecommendedIntent[];
1556
2287
  prompt: string;
1557
2288
  statusText: string;
1558
2289
  errorText: string;
@@ -1560,13 +2291,20 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1560
2291
  panelTestId: string;
1561
2292
  submitTestId: string;
1562
2293
  applyTestId: string;
2294
+ primaryAction: PraxisAssistantShellAction | null;
2295
+ secondaryActions: readonly PraxisAssistantShellAction[];
2296
+ governanceActions: readonly PraxisAssistantShellAction[];
1563
2297
  busy: boolean;
1564
2298
  canSubmit: boolean;
1565
2299
  canApply: boolean;
1566
2300
  submitOnEnter: boolean;
2301
+ showAttachAction: boolean;
2302
+ enablePastedAttachments: boolean;
1567
2303
  enableFileAttachments: boolean;
1568
2304
  attachmentAccept: string;
1569
2305
  attachmentMultiple: boolean;
2306
+ voiceInputMode: PraxisAssistantVoiceInputMode;
2307
+ voiceLanguage: string;
1570
2308
  draggable: boolean;
1571
2309
  resizable: boolean;
1572
2310
  minWidth: number;
@@ -1576,6 +2314,9 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1576
2314
  promptChange: EventEmitter<string>;
1577
2315
  submitPrompt: EventEmitter<string>;
1578
2316
  apply: EventEmitter<void>;
2317
+ retryTurn: EventEmitter<void>;
2318
+ cancelTurn: EventEmitter<void>;
2319
+ shellAction: EventEmitter<PraxisAssistantShellAction>;
1579
2320
  close: EventEmitter<void>;
1580
2321
  attach: EventEmitter<void>;
1581
2322
  attachmentsPasted: EventEmitter<PraxisAssistantShellAttachment[]>;
@@ -1588,15 +2329,24 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1588
2329
  editMessage: EventEmitter<PraxisAssistantShellMessage>;
1589
2330
  resendMessage: EventEmitter<PraxisAssistantShellMessage>;
1590
2331
  quickReply: EventEmitter<PraxisAssistantShellQuickReply>;
2332
+ recommendedIntent: EventEmitter<PraxisAssistantRecommendedIntent>;
1591
2333
  layoutChange: EventEmitter<PraxisAssistantShellLayout>;
1592
2334
  panel?: ElementRef<HTMLElement>;
1593
2335
  conversation?: ElementRef<HTMLElement>;
1594
2336
  private readonly cdr;
2337
+ private readonly injector;
2338
+ private readonly browserSpeech;
1595
2339
  protected currentPrompt: string;
1596
2340
  protected resolvedLabels: PraxisAssistantShellLabels;
2341
+ protected voiceCaptureState: PraxisAssistantVoiceCaptureState;
2342
+ protected voiceFeedbackText: string;
1597
2343
  protected currentLayout: PraxisAssistantShellLayout;
2344
+ protected readonly resizeHandles: readonly ResizeDirection[];
1598
2345
  private pointerSession;
1599
2346
  private readonly ownedPreviewUrls;
2347
+ private readonly submittedFeedbackObservationIds;
2348
+ private voiceCaptureSequence;
2349
+ private destroyed;
1600
2350
  private readonly onWindowPointerMove;
1601
2351
  private readonly onWindowPointerUp;
1602
2352
  ngOnChanges(changes: SimpleChanges): void;
@@ -1605,28 +2355,103 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1605
2355
  protected onSubmit(): void;
1606
2356
  protected onPromptKeydown(event: KeyboardEvent): void;
1607
2357
  protected onPromptPaste(event: ClipboardEvent): void;
2358
+ protected onVoiceInputClick(): void;
2359
+ protected shouldShowVoiceInput(): boolean;
2360
+ protected isVoiceInputDisabled(): boolean;
2361
+ protected isVoiceInputBusy(): boolean;
2362
+ protected getVoiceActionLabel(): string;
2363
+ protected shouldShowVoiceFeedback(): boolean;
2364
+ private canUseBrowserSpeech;
2365
+ private cancelVoiceCapture;
2366
+ private isCurrentVoiceCapture;
2367
+ private applyVoiceTranscript;
2368
+ private resolveVoiceErrorText;
2369
+ private getVoiceLabel;
1608
2370
  protected onAttachClick(fileInput: HTMLInputElement): void;
1609
2371
  protected onAttachmentFilesSelected(event: Event): void;
1610
2372
  protected onApply(): void;
2373
+ protected renderMessageText(text: string | null | undefined): string;
2374
+ private renderInlineMarkdown;
2375
+ private escapeHtml;
2376
+ protected shouldShowStatusText(): boolean;
2377
+ protected shouldShowErrorText(): boolean;
2378
+ protected onShellAction(action: PraxisAssistantShellAction): void;
2379
+ protected getPrimaryAction(): PraxisAssistantShellAction;
2380
+ protected getSecondaryActions(): readonly PraxisAssistantShellAction[];
2381
+ protected getPrimaryActionTooltip(action: PraxisAssistantShellAction): string;
2382
+ protected isShellActionDisabled(action: PraxisAssistantShellAction): boolean;
2383
+ protected getShellActionTone(action: PraxisAssistantShellAction): string;
2384
+ protected trackShellAction(_index: number, action: PraxisAssistantShellAction): string;
2385
+ private hasRecoverableTurn;
2386
+ private shouldShowAuxiliaryText;
2387
+ private normalizeMessageText;
2388
+ private getDefaultPrimaryAction;
1611
2389
  protected onQuickReply(reply: PraxisAssistantShellQuickReply): void;
2390
+ protected shouldShowRecommendedIntents(): boolean;
2391
+ protected onRecommendedIntent(intent: PraxisAssistantRecommendedIntent): void;
2392
+ protected isRecommendedIntentDisabled(intent: PraxisAssistantRecommendedIntent): boolean;
2393
+ protected getRecommendedIntentAriaLabel(intent: PraxisAssistantRecommendedIntent): string;
2394
+ protected getRecommendedIntentDescription(intent: PraxisAssistantRecommendedIntent): string;
2395
+ protected getRecommendedIntentCtaLabel(intent: PraxisAssistantRecommendedIntent): string;
2396
+ protected getRecommendedIntentIcon(intent: PraxisAssistantRecommendedIntent): string;
2397
+ protected getRecommendedIntentTone(intent: PraxisAssistantRecommendedIntent): string;
2398
+ protected getRecommendedIntentGroupLabel(intent: PraxisAssistantRecommendedIntent): string;
1612
2399
  protected getQuickReplyAriaLabel(reply: PraxisAssistantShellQuickReply): string;
2400
+ protected getQuickReplyTechnicalDetails(reply: PraxisAssistantShellQuickReply): string;
2401
+ protected isRichQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2402
+ protected shouldUseInlineQuickReplies(): boolean;
2403
+ protected getQuickReplyDescription(reply: PraxisAssistantShellQuickReply): string;
2404
+ protected getQuickReplyContextChips(reply: PraxisAssistantShellQuickReply): readonly QuickReplyContextChip[];
2405
+ protected getQuickReplyPresentationItems(reply: PraxisAssistantShellQuickReply): readonly QuickReplyPresentationItem[];
2406
+ private defaultQuickReplyPresentation;
2407
+ protected getQuickReplyCategoryLabel(reply: PraxisAssistantShellQuickReply): string;
2408
+ protected getQuickReplyIcon(reply: PraxisAssistantShellQuickReply): string;
2409
+ protected getQuickReplyCtaLabel(reply: PraxisAssistantShellQuickReply): string;
1613
2410
  protected getQuickReplyTone(reply: PraxisAssistantShellQuickReply): string;
2411
+ private normalizeQuickReplyTone;
2412
+ private asRecord;
2413
+ private stringHint;
2414
+ private quickReplyHint;
2415
+ private hasQuickReplyResourceContext;
2416
+ private isFieldDiscoveryQuickReply;
2417
+ protected isContextualPreviewActionQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2418
+ protected isGuidedActionQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2419
+ private quickReplyPresentation;
2420
+ private quickReplyPresentationKind;
2421
+ private presentationEvidenceToChip;
2422
+ private getContextualActionChips;
2423
+ private isGenericContextualActionDescription;
2424
+ private trimSentencePunctuation;
2425
+ private shortPathLabel;
2426
+ private shortTechnicalLabel;
2427
+ protected getCloseIcon(): string;
2428
+ private normalizeShellAction;
1614
2429
  protected onRemoveAttachment(attachment: PraxisAssistantShellAttachment): void;
1615
2430
  protected onMessageAction(message: PraxisAssistantShellMessage, action: PraxisAssistantShellMessageAction): void;
2431
+ protected canSendMessageFeedback(message: PraxisAssistantShellMessage): boolean;
2432
+ protected isMessageFeedbackSubmitted(message: PraxisAssistantShellMessage): boolean;
2433
+ protected sendMessageFeedback(message: PraxisAssistantShellMessage, rating: AiAssistantObservationFeedbackRatingValue): void;
2434
+ private resolveAiApi;
2435
+ protected getMessageActionIcon(action: PraxisAssistantShellMessageAction): string;
2436
+ protected getMessageActionLabel(action: PraxisAssistantShellMessageAction): string;
2437
+ protected isMessageActionIconOnly(action: PraxisAssistantShellMessageAction): boolean;
1616
2438
  protected getModeLabel(): string;
1617
2439
  protected getStateLabel(): string;
1618
2440
  protected startDrag(event: PointerEvent): void;
1619
- protected startResize(event: PointerEvent): void;
2441
+ protected startResize(direction: ResizeDirection, event: PointerEvent): void;
2442
+ protected trackResizeHandle(_index: number, direction: ResizeDirection): ResizeDirection;
1620
2443
  protected trackMessage(_index: number, message: PraxisAssistantShellMessage): string;
1621
2444
  protected trackMessageAction(_index: number, action: PraxisAssistantShellMessageAction): string;
1622
2445
  protected trackQuickReply(_index: number, reply: PraxisAssistantShellQuickReply): string;
2446
+ protected trackRecommendedIntent(_index: number, intent: PraxisAssistantRecommendedIntent): string;
1623
2447
  protected trackContextItem(_index: number, item: PraxisAssistantShellContextItem): string;
1624
2448
  protected trackAttachment(_index: number, attachment: PraxisAssistantShellAttachment): string;
1625
2449
  private startPointerSession;
1626
2450
  private handlePointerMove;
2451
+ private resizeLayout;
1627
2452
  private finishPointerSession;
1628
2453
  private detachPointerListeners;
1629
- private resolveBounds;
2454
+ private resolveViewportBounds;
1630
2455
  private normalizeLayout;
1631
2456
  private clampLayout;
1632
2457
  private clamp;
@@ -1638,7 +2463,55 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1638
2463
  private revokeAllOwnedPreviewUrls;
1639
2464
  private revokeOwnedPreviewUrl;
1640
2465
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantShellComponent, never>;
1641
- 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>;
2466
+ 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; }; "recommendedIntents": { "alias": "recommendedIntents"; "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; }; "primaryAction": { "alias": "primaryAction"; "required": false; }; "secondaryActions": { "alias": "secondaryActions"; "required": false; }; "governanceActions": { "alias": "governanceActions"; "required": false; }; "busy": { "alias": "busy"; "required": false; }; "canSubmit": { "alias": "canSubmit"; "required": false; }; "canApply": { "alias": "canApply"; "required": false; }; "submitOnEnter": { "alias": "submitOnEnter"; "required": false; }; "showAttachAction": { "alias": "showAttachAction"; "required": false; }; "enablePastedAttachments": { "alias": "enablePastedAttachments"; "required": false; }; "enableFileAttachments": { "alias": "enableFileAttachments"; "required": false; }; "attachmentAccept": { "alias": "attachmentAccept"; "required": false; }; "attachmentMultiple": { "alias": "attachmentMultiple"; "required": false; }; "voiceInputMode": { "alias": "voiceInputMode"; "required": false; }; "voiceLanguage": { "alias": "voiceLanguage"; "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"; "retryTurn": "retryTurn"; "cancelTurn": "cancelTurn"; "shellAction": "shellAction"; "close": "close"; "attach": "attach"; "attachmentsPasted": "attachmentsPasted"; "attachmentsSelected": "attachmentsSelected"; "removeAttachment": "removeAttachment"; "messageAction": "messageAction"; "editMessage": "editMessage"; "resendMessage": "resendMessage"; "quickReply": "quickReply"; "recommendedIntent": "recommendedIntent"; "layoutChange": "layoutChange"; }, never, never, true, never>;
2467
+ }
2468
+
2469
+ declare const PRAXIS_ASSISTANT_VOICE_INPUT_MODE: InjectionToken<PraxisAssistantVoiceInputMode>;
2470
+ declare const PRAXIS_ASSISTANT_VOICE_LANGUAGE: InjectionToken<string>;
2471
+
2472
+ type PraxisAssistantDockTone = 'ready' | 'working' | 'review' | 'governed' | 'error';
2473
+ declare class PraxisAiAssistantDockComponent {
2474
+ title: string;
2475
+ summary: string;
2476
+ badge: string;
2477
+ icon: string;
2478
+ state: PraxisAssistantShellState | null;
2479
+ tone: PraxisAssistantDockTone | null;
2480
+ ariaLabel: string;
2481
+ openAriaLabel: string;
2482
+ openTooltip: string;
2483
+ testId: string;
2484
+ openTestId: string;
2485
+ open: EventEmitter<void>;
2486
+ resolvedTone(): PraxisAssistantDockTone;
2487
+ resolvedIcon(): string;
2488
+ resolvedBadge(): string;
2489
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantDockComponent, never>;
2490
+ 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>;
2491
+ }
2492
+
2493
+ declare class PraxisAiAssistantSessionHostComponent {
2494
+ private readonly registry;
2495
+ testId: string;
2496
+ dockTestIdPrefix: string;
2497
+ ariaLabel: string;
2498
+ openAriaLabel: string;
2499
+ openTooltip: string;
2500
+ ownerType: string | null;
2501
+ ownerId: string | null;
2502
+ visibility: PraxisAssistantSessionVisibility | 'all';
2503
+ includeOriginAnchored: boolean;
2504
+ sessionOpen: EventEmitter<PraxisAssistantSessionSnapshot>;
2505
+ visibleSessions(): readonly PraxisAssistantSessionSnapshot[];
2506
+ openSession(sessionId: string): void;
2507
+ sessionAriaLabel(session: PraxisAssistantSessionSnapshot): string;
2508
+ dockTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2509
+ dockOpenTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2510
+ trackSession(_index: number, session: PraxisAssistantSessionSnapshot): string;
2511
+ private safeId;
2512
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantSessionHostComponent, never>;
2513
+ 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; }; "includeOriginAnchored": { "alias": "includeOriginAnchored"; "required": false; }; }, { "sessionOpen": "sessionOpen"; }, never, never, true, never>;
2514
+ static ngAcceptInputType_includeOriginAnchored: unknown;
1642
2515
  }
1643
2516
 
1644
2517
  declare class AiContextBuilderService {
@@ -1647,7 +2520,7 @@ declare class AiContextBuilderService {
1647
2520
  /**
1648
2521
  * Builds the complete context for the AI prompt
1649
2522
  */
1650
- buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column', propertySchema: RulePropertySchema): PromptContext;
2523
+ buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', propertySchema: RulePropertySchema): PromptContext;
1651
2524
  buildRulePrompt(userPrompt: string, context: PromptContext): string;
1652
2525
  buildSuggestionPrompt(context: PromptContext): string;
1653
2526
  /**
@@ -1676,7 +2549,7 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1676
2549
  private snackBar;
1677
2550
  private contextBuilder;
1678
2551
  private cdr;
1679
- selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column';
2552
+ selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
1680
2553
  userPrompt: string;
1681
2554
  isGenerating: boolean;
1682
2555
  validationError: string | null;
@@ -1712,5 +2585,5 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1712
2585
  static ɵcmp: i0.ɵɵComponentDeclaration<AiRuleWizardDialogComponent, "praxis-ai-rule-wizard-dialog", never, {}, {}, never, never, true, never>;
1713
2586
  }
1714
2587
 
1715
- 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 };
1716
- export type { AgenticAuthoringApplyRequestContract, AgenticAuthoringApplyResultContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringConversationContextContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringIntentResolutionResultContract, AgenticAuthoringPendingClarificationContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringPreviewResultContract, AgenticAuthoringQuickReplyContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamRequestContract, AgenticAuthoringTurnStreamStartResponseContract, 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, AiTurnStreamEventType, 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 };
2588
+ export { AI_BACKEND_CONFIG_STORE, AI_BACKEND_ENDPOINTS, 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, PRAXIS_ASSISTANT_CONTEXT_ATTACHMENT_LIMIT, PRAXIS_ASSISTANT_CONTEXT_ITEM_LIMIT, PRAXIS_ASSISTANT_CONTEXT_SCHEMA_FIELD_LIMIT, PRAXIS_ASSISTANT_CONTEXT_TEXT_LIMIT, PRAXIS_ASSISTANT_VOICE_INPUT_MODE, PRAXIS_ASSISTANT_VOICE_LANGUAGE, PraxisAi, PraxisAiAssistantComponent, PraxisAiAssistantDockComponent, PraxisAiAssistantSessionHostComponent, PraxisAiAssistantShellComponent, PraxisAiService, PraxisAssistantSessionRegistryService, PraxisAssistantTurnController, PraxisAssistantTurnOrchestratorService, SchemaMinifierService, createComponentAuthoringContext, createPraxisAssistantViewportLayout, normalizeAuthoringPrompt, normalizePraxisAssistantAttachmentSummary, normalizePraxisAssistantContextSnapshot, sanitizePraxisAssistantText, shouldRoutePromptToGovernedDecision, submitPraxisAssistantQuickReply, toAiJsonObject, toPraxisAssistantClarificationOption, toPraxisAssistantConversationMessages };
2589
+ 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, AgenticAuthoringSemanticDecisionContract, AgenticAuthoringTurnStreamConnection, AgenticAuthoringTurnStreamEnvelope, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamRequest, AgenticAuthoringTurnStreamRequestContract, AgenticAuthoringTurnStreamStartResponse, AgenticAuthoringTurnStreamStartResponseContract, AiAssistantObservationFeedbackRating, AiAssistantObservationFeedbackRatingValue, AiAssistantObservationFeedbackRequest, AiAssistantObservationFeedbackRequestContract, AiAssistantObservationFeedbackResponse, AiAssistantObservationFeedbackResponseContract, AiAssistantObservationResponseContract, AiAssistantObservationSummaryResponseContract, AiAssistantObservationSummaryRowContract, AiAuthoringResponseMode, AiAuthoringResponseModeKind, AiBackendConfigStore, AiBackendEndpoints, AiBackendStorageOptions, AiChatMessage, AiChatMessageContract, AiClarificationUiContract, AiComponentAuthoringContract, AiConfigAdapter, AiConsultativeAuthoringContext, AiContextDTO, AiContextHintsContract, AiContextTemplate, AiContextTemplateMeta, AiCurrentStateDigest, AiCurrentStateDigestContract, AiDomainCatalogContextHintContract, AiDomainCatalogContextHintIntent, AiDomainCatalogContextHintItemType, AiDomainCatalogRelationshipHintContract, AiExamplePair, AiGlobalConfigSnapshot, AiGovernedDecisionRoutingOptions, 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, PraxisAssistantActionContract, PraxisAssistantActionKind, PraxisAssistantAttachmentKind, PraxisAssistantAttachmentSummary, PraxisAssistantAuthoringManifestRef, PraxisAssistantCapabilityRef, PraxisAssistantClarificationOption, PraxisAssistantClarificationQuestion, PraxisAssistantClarificationQuestionType, PraxisAssistantComponentType, PraxisAssistantContextItem, PraxisAssistantContextMode, PraxisAssistantContextSessionDescriptor, PraxisAssistantContextSnapshot, PraxisAssistantConversationMessage, PraxisAssistantConversationMessageRole, PraxisAssistantDigest, PraxisAssistantDockTone, PraxisAssistantGovernanceHint, PraxisAssistantIdentity, PraxisAssistantOpenRequest, PraxisAssistantOpportunityCandidate, PraxisAssistantOpportunityCandidateStatus, PraxisAssistantOpportunityCatalog, PraxisAssistantOpportunityEvidence, PraxisAssistantOpportunityGroup, PraxisAssistantOpportunityMissingContext, PraxisAssistantOpportunitySafety, PraxisAssistantOpportunityTarget, PraxisAssistantOwnerType, PraxisAssistantPendingClarification, PraxisAssistantRecommendedIntent, PraxisAssistantRecommendedIntentAction, PraxisAssistantRecommendedIntentPresentation, PraxisAssistantRecommendedIntentTone, PraxisAssistantRiskLevel, PraxisAssistantSessionDescriptor, PraxisAssistantSessionIdentityRef, PraxisAssistantSessionPresence, PraxisAssistantSessionSnapshot, PraxisAssistantSessionVisibility, PraxisAssistantShellAction, PraxisAssistantShellActionTone, PraxisAssistantShellAttachment, PraxisAssistantShellContextItem, PraxisAssistantShellLabels, PraxisAssistantShellLayout, PraxisAssistantShellMessage, PraxisAssistantShellMessageAction, PraxisAssistantShellMessageRole, PraxisAssistantShellMode, PraxisAssistantShellQuickReply, PraxisAssistantShellQuickReplyEvidence, PraxisAssistantShellQuickReplyPresentation, PraxisAssistantShellQuickReplyPresentationItem, PraxisAssistantShellQuickReplyPresentationKind, PraxisAssistantShellState, PraxisAssistantTargetKind, PraxisAssistantTargetRef, PraxisAssistantTurnAction, PraxisAssistantTurnControllerOptions, PraxisAssistantTurnFlow, PraxisAssistantTurnPhase, PraxisAssistantTurnRequest, PraxisAssistantTurnResult, PraxisAssistantTurnViewState, PraxisAssistantViewportLayoutOptions, PraxisAssistantVoiceCaptureState, PraxisAssistantVoiceInputMode, ProblemResponseContract, PromptContext, RulePropertyDefinition, RulePropertySchema, RulePropertyType, ValidationContext, ValueKind };