@praxisui/ai 8.0.0-beta.3 → 8.0.0-beta.30

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: "33c545b58f49404695bf845d2094a5b2858538a54200745f1ecb3ca2d0628f01";
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,8 +215,83 @@ interface AgenticAuthoringQuickReplyContract {
178
215
  kind: string;
179
216
  label: string;
180
217
  prompt: string;
218
+ description?: string | null;
219
+ icon?: string | null;
220
+ tone?: string | null;
221
+ contextHints?: AiContextHintsContract | null;
222
+ [key: string]: AiJsonValue | AiContextHintsContract | undefined;
223
+ }
224
+ interface AgenticAuthoringSemanticSelectedResourceContract {
225
+ resourcePath?: string | null;
226
+ operation?: string | null;
227
+ schemaUrl?: string | null;
228
+ submitUrl?: string | null;
229
+ submitMethod?: string | null;
230
+ [key: string]: AiJsonValue | undefined;
231
+ }
232
+ interface AgenticAuthoringSemanticRetrievalEvidenceContract {
233
+ retrievalSource?: string | null;
234
+ evidence?: string[];
235
+ candidateCount?: number;
181
236
  [key: string]: AiJsonValue | undefined;
182
237
  }
238
+ interface AgenticAuthoringEvidenceBundleEvidenceContract {
239
+ source?: string | null;
240
+ kind?: string | null;
241
+ ref?: string | null;
242
+ summary?: string | null;
243
+ confidence?: number | null;
244
+ matchedTerms?: string[];
245
+ tenantId?: string | null;
246
+ environment?: string | null;
247
+ releaseId?: string | null;
248
+ [key: string]: AiJsonValue | undefined;
249
+ }
250
+ interface AgenticAuthoringEvidenceBundleContract {
251
+ schemaVersion?: string | null;
252
+ retrievalSource?: string | null;
253
+ evidence?: AgenticAuthoringEvidenceBundleEvidenceContract[];
254
+ evidenceCount?: number;
255
+ [key: string]: AiJsonValue | AgenticAuthoringEvidenceBundleEvidenceContract[] | undefined;
256
+ }
257
+ interface AgenticAuthoringSemanticRefinementContract {
258
+ schemaVersion?: string | null;
259
+ refinementKind?: 'visual_projection' | 'data_source' | 'filtering' | 'layout' | 'metric' | 'copy' | 'governance' | string | null;
260
+ preserve?: string[];
261
+ replace?: Record<string, string>;
262
+ add?: Record<string, string[]>;
263
+ remove?: string[];
264
+ rationale?: string | null;
265
+ confidence?: number | null;
266
+ [key: string]: AiJsonValue | Record<string, string> | Record<string, string[]> | undefined;
267
+ }
268
+ interface AgenticAuthoringSemanticDecisionContract {
269
+ schemaVersion?: string | null;
270
+ decisionId?: string | null;
271
+ operationKind?: string | null;
272
+ artifactKind?: string | null;
273
+ changeKind?: string | null;
274
+ selectedResource?: AgenticAuthoringSemanticSelectedResourceContract | null;
275
+ visualizationDecision?: AgenticAuthoringVisualizationDecisionContract | null;
276
+ retrievalEvidence?: AgenticAuthoringSemanticRetrievalEvidenceContract | null;
277
+ retrievedEvidence?: AgenticAuthoringEvidenceBundleContract | null;
278
+ reviewRequired?: boolean | null;
279
+ reviewReason?: string | null;
280
+ previousDecisionRef?: string | null;
281
+ refinementOf?: string | null;
282
+ conversationId?: string | null;
283
+ turnId?: string | null;
284
+ userGoal?: string | null;
285
+ activeObjective?: string | null;
286
+ artifactIntent?: string | null;
287
+ visualIntent?: string | null;
288
+ constraints?: AiJsonObject | null;
289
+ refinement?: AgenticAuthoringSemanticRefinementContract | null;
290
+ previousDecisionId?: string | null;
291
+ rationale?: string | null;
292
+ confidence?: number | null;
293
+ [key: string]: AiJsonValue | AgenticAuthoringSemanticSelectedResourceContract | AgenticAuthoringSemanticRetrievalEvidenceContract | AgenticAuthoringEvidenceBundleContract | AgenticAuthoringSemanticRefinementContract | AgenticAuthoringVisualizationDecisionContract | undefined;
294
+ }
183
295
  interface AgenticAuthoringIntentResolutionResultContract {
184
296
  valid?: boolean;
185
297
  operationKind?: string | null;
@@ -190,12 +302,61 @@ interface AgenticAuthoringIntentResolutionResultContract {
190
302
  gate?: AiJsonObject | null;
191
303
  effectivePrompt?: string | null;
192
304
  assistantMessage?: string | null;
305
+ assistantContent?: AiJsonObject | null;
193
306
  quickReplies?: AgenticAuthoringQuickReplyContract[];
194
307
  pendingClarification?: AgenticAuthoringPendingClarificationContract | null;
195
308
  clarificationQuestions?: string[];
196
309
  warnings?: string[];
197
310
  failureCodes?: string[];
198
- [key: string]: AiJsonValue | AgenticAuthoringCandidateContract | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract | AgenticAuthoringQuickReplyContract[] | AgenticAuthoringPendingClarificationContract | undefined;
311
+ llmDiagnostics?: AiJsonObject | null;
312
+ semanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
313
+ visualizationDecision?: AgenticAuthoringVisualizationDecisionContract | null;
314
+ [key: string]: AiJsonValue | AgenticAuthoringCandidateContract | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract | AgenticAuthoringQuickReplyContract[] | AgenticAuthoringPendingClarificationContract | AgenticAuthoringSemanticDecisionContract | AgenticAuthoringVisualizationDecisionContract | undefined;
315
+ }
316
+ interface AgenticAuthoringVisualizationAxisDecisionContract {
317
+ concept?: string | null;
318
+ field?: string | null;
319
+ label?: string | null;
320
+ chartType?: string | null;
321
+ orientation?: string | null;
322
+ metricAggregation?: string | null;
323
+ metricField?: string | null;
324
+ metricLabel?: string | null;
325
+ provenance?: string | null;
326
+ [key: string]: AiJsonValue | undefined;
327
+ }
328
+ interface AgenticAuthoringVisualizationDecisionContract {
329
+ schemaVersion?: string | null;
330
+ intent?: string | null;
331
+ layoutKind?: string | null;
332
+ primaryComponent?: string | null;
333
+ axes?: AgenticAuthoringVisualizationAxisDecisionContract[];
334
+ includeSummary?: boolean | null;
335
+ includeDetailTable?: boolean | null;
336
+ excludedComponentIds?: string[];
337
+ includeFilters?: boolean | null;
338
+ includeKpis?: boolean | null;
339
+ provenance?: string | null;
340
+ [key: string]: AiJsonValue | AgenticAuthoringVisualizationAxisDecisionContract[] | string[] | undefined;
341
+ }
342
+ interface AgenticAuthoringResourceCandidatesRequestContract {
343
+ retrievalQuery?: string | null;
344
+ userPrompt?: string | null;
345
+ artifactKind?: string | null;
346
+ limit?: number | null;
347
+ [key: string]: AiJsonValue | undefined;
348
+ }
349
+ interface AgenticAuthoringResourceCandidatesResultContract {
350
+ valid?: boolean;
351
+ tool?: string | null;
352
+ retrievalQuery?: string | null;
353
+ artifactKind?: string | null;
354
+ assistantMessage?: string | null;
355
+ assistantContent?: AiJsonObject | null;
356
+ candidates?: AgenticAuthoringCandidateContract[];
357
+ quickReplies?: AgenticAuthoringQuickReplyContract[];
358
+ warnings?: string[];
359
+ [key: string]: AiJsonValue | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract[] | undefined;
199
360
  }
200
361
  interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversationContextContract {
201
362
  userPrompt: string;
@@ -204,6 +365,22 @@ interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversati
204
365
  apiKey?: string | null;
205
366
  currentPage?: AiJsonObject | null;
206
367
  intentResolution?: AgenticAuthoringIntentResolutionResultContract | null;
368
+ contextHints?: AiContextHintsContract | null;
369
+ }
370
+ interface AgenticAuthoringTurnStreamRequestContract extends AgenticAuthoringConversationContextContract {
371
+ userPrompt: string;
372
+ targetApp?: string | null;
373
+ targetComponentId?: string | null;
374
+ currentRoute?: string | null;
375
+ currentPage?: AiJsonObject | null;
376
+ selectedWidgetKey?: string | null;
377
+ provider?: string | null;
378
+ model?: string | null;
379
+ apiKey?: string | null;
380
+ contextHints?: AiContextHintsContract | null;
381
+ componentCapabilities?: AgenticAuthoringComponentCapabilitiesResultContract | null;
382
+ activeSemanticDecision?: AgenticAuthoringSemanticDecisionContract | null;
383
+ [key: string]: AiJsonValue | AiContextHintsContract | AgenticAuthoringComponentCapabilitiesResultContract | AgenticAuthoringSemanticDecisionContract | AgenticAuthoringConversationMessageContract[] | AgenticAuthoringPendingClarificationContract | AgenticAuthoringAttachmentSummaryContract[] | undefined;
207
384
  }
208
385
  interface AgenticAuthoringPreviewResultContract {
209
386
  valid?: boolean;
@@ -218,19 +395,79 @@ interface AgenticAuthoringApplyRequestContract {
218
395
  componentType: string;
219
396
  componentId: string;
220
397
  scope?: string | null;
221
- payload: AiJsonObject;
398
+ compiledFormPatch: AiJsonObject;
222
399
  tags?: AiJsonObject | null;
223
- [key: string]: AiJsonValue | undefined;
400
+ semanticDecision: AgenticAuthoringSemanticDecisionContract;
401
+ [key: string]: AiJsonValue | AgenticAuthoringSemanticDecisionContract | undefined;
224
402
  }
225
403
  interface AgenticAuthoringApplyResultContract {
226
404
  applied?: boolean;
227
405
  etag?: string | null;
228
406
  [key: string]: AiJsonValue | undefined;
229
407
  }
408
+ interface AgenticAuthoringComponentFieldAliasContract {
409
+ field?: string | null;
410
+ aliases?: string[];
411
+ [key: string]: AiJsonValue | undefined;
412
+ }
413
+ interface AgenticAuthoringComponentCapabilityExampleContract {
414
+ prompt?: string | null;
415
+ intent?: string | null;
416
+ configHints?: string[];
417
+ [key: string]: AiJsonValue | undefined;
418
+ }
419
+ interface AgenticAuthoringComponentCapabilityContract {
420
+ id?: string | null;
421
+ changeKind?: string | null;
422
+ triggerTerms?: string[];
423
+ fieldAliases?: AgenticAuthoringComponentFieldAliasContract[];
424
+ examples?: AgenticAuthoringComponentCapabilityExampleContract[];
425
+ [key: string]: AiJsonValue | AgenticAuthoringComponentFieldAliasContract[] | AgenticAuthoringComponentCapabilityExampleContract[] | undefined;
426
+ }
427
+ interface AgenticAuthoringComponentCapabilityCatalogContract {
428
+ componentId?: string | null;
429
+ version?: string | null;
430
+ capabilities?: AgenticAuthoringComponentCapabilityContract[];
431
+ [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilityContract[] | undefined;
432
+ }
230
433
  interface AgenticAuthoringComponentCapabilitiesResultContract {
231
434
  version?: string | null;
232
- catalogs?: AiJsonObject[];
233
- [key: string]: AiJsonValue | undefined;
435
+ catalogs?: AgenticAuthoringComponentCapabilityCatalogContract[];
436
+ [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilityCatalogContract[] | undefined;
437
+ }
438
+ interface AgenticAuthoringManifestEditPlanRequestContract {
439
+ config?: AiJsonObject | null;
440
+ plan?: AiJsonObject | null;
441
+ validationContext?: AiJsonObject | null;
442
+ }
443
+ interface AgenticAuthoringResolveTargetRequestContract {
444
+ config?: AiJsonObject | null;
445
+ operationId?: string | null;
446
+ target?: AiJsonValue;
447
+ input?: AiJsonValue;
448
+ }
449
+ interface AgenticAuthoringResolvedTargetContract {
450
+ status?: string | null;
451
+ componentId?: string | null;
452
+ operationId?: string | null;
453
+ kind?: string | null;
454
+ resolver?: string | null;
455
+ path?: string | null;
456
+ value?: AiJsonValue;
457
+ candidates?: string[];
458
+ failures?: string[];
459
+ }
460
+ interface AgenticAuthoringManifestValidationResultContract {
461
+ valid?: boolean;
462
+ failures?: string[];
463
+ warnings?: string[];
464
+ normalizedPlan?: AiJsonObject | null;
465
+ }
466
+ interface AgenticAuthoringManifestCompileResultContract {
467
+ compiled?: boolean;
468
+ failures?: string[];
469
+ warnings?: string[];
470
+ patch?: AiJsonObject | null;
234
471
  }
235
472
  interface AiPatchStreamStartResponseContract {
236
473
  streamId: string;
@@ -242,6 +479,16 @@ interface AiPatchStreamStartResponseContract {
242
479
  expiresAt: string;
243
480
  fallbackPatchUrl: string;
244
481
  }
482
+ interface AgenticAuthoringTurnStreamStartResponseContract {
483
+ streamId: string;
484
+ threadId: string;
485
+ turnId: string;
486
+ eventSchemaVersion: string;
487
+ streamAuthMode?: 'cookie' | 'signed_url_token' | null;
488
+ streamAccessToken?: string | null;
489
+ expiresAt: string;
490
+ fallbackAuthoringUrl: string;
491
+ }
245
492
  interface AiPatchStreamCancelResponseContract {
246
493
  streamId?: string | null;
247
494
  threadId?: string | null;
@@ -260,6 +507,8 @@ interface AiPatchStreamEnvelopeContract<TPayload extends AiJsonObject = AiJsonOb
260
507
  type: AiPatchStreamEventType$1;
261
508
  payload: TPayload;
262
509
  }
510
+ interface AgenticAuthoringTurnStreamEnvelopeContract<TPayload extends AiJsonObject = AiJsonObject> extends AiPatchStreamEnvelopeContract<TPayload> {
511
+ }
263
512
  interface ProblemResponseContract {
264
513
  timestamp?: string | null;
265
514
  status?: number | null;
@@ -270,6 +519,7 @@ interface ProblemResponseContract {
270
519
  [key: string]: AiJsonValue | undefined;
271
520
  }
272
521
  type AiPatchStreamEventType$1 = (typeof AI_STREAM_EVENT_TYPES)[number];
522
+ type AiTurnStreamEventType = (typeof AI_STREAM_EVENT_TYPES)[number];
273
523
 
274
524
  /**
275
525
  * Models for Praxis AI (Centralized)
@@ -282,7 +532,7 @@ interface AiRuleResponse {
282
532
  /** Descriptive name for the rule */
283
533
  ruleName: string;
284
534
  /** Type of target (scope) */
285
- targetType: 'field' | 'section' | 'action' | 'row' | 'column';
535
+ targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
286
536
  /** IDs of the target elements */
287
537
  targetIds: string[];
288
538
  /** Canonical JSON Logic condition payload or null for always applied */
@@ -408,7 +658,119 @@ interface RulePropertyDefinition {
408
658
  }>;
409
659
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
410
660
  }
411
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
661
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
662
+
663
+ type PraxisAssistantOwnerType = 'page-builder' | 'table' | 'dynamic-form' | 'manual-form' | 'list' | 'tabs' | 'stepper' | 'expansion' | 'app-shell' | 'custom';
664
+ type PraxisAssistantComponentType = 'page-builder' | 'table' | 'form' | 'list' | 'tabs' | 'stepper' | 'expansion' | 'widget' | 'custom';
665
+ type PraxisAssistantContextMode = 'config' | 'agentic-authoring' | 'chat' | 'diagnostic' | 'review' | 'inline-help';
666
+ type PraxisAssistantTargetKind = 'component' | 'field' | 'column' | 'row' | 'section' | 'widget' | 'canvas' | 'compositionLink' | 'action' | 'rule' | 'resource' | 'custom';
667
+ type PraxisAssistantAttachmentKind = 'file' | 'image' | 'json' | 'schema' | 'text' | 'url' | 'custom';
668
+ 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';
669
+ type PraxisAssistantRiskLevel = 'low' | 'medium' | 'high' | 'blocked';
670
+ interface PraxisAssistantIdentity {
671
+ sessionId: string;
672
+ ownerId: string;
673
+ ownerType: PraxisAssistantOwnerType | string;
674
+ componentId?: string;
675
+ componentType?: PraxisAssistantComponentType | string;
676
+ routeKey?: string;
677
+ tenantId?: string;
678
+ env?: string;
679
+ userId?: string;
680
+ }
681
+ interface PraxisAssistantTargetRef {
682
+ kind: PraxisAssistantTargetKind | string;
683
+ id: string;
684
+ label?: string;
685
+ path?: string;
686
+ schemaPath?: string;
687
+ metadata?: Readonly<Record<string, string | number | boolean>>;
688
+ }
689
+ interface PraxisAssistantContextItem {
690
+ id: string;
691
+ label: string;
692
+ value: string;
693
+ kind?: string;
694
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
695
+ }
696
+ interface PraxisAssistantDigest {
697
+ label?: string;
698
+ summary?: string;
699
+ hash?: string;
700
+ source?: string;
701
+ fields?: readonly string[];
702
+ counts?: Readonly<Record<string, number>>;
703
+ }
704
+ interface PraxisAssistantAuthoringManifestRef {
705
+ componentId: string;
706
+ version?: string;
707
+ source?: string;
708
+ hash?: string;
709
+ }
710
+ interface PraxisAssistantCapabilityRef {
711
+ id: string;
712
+ label?: string;
713
+ source?: string;
714
+ risk?: PraxisAssistantRiskLevel;
715
+ }
716
+ interface PraxisAssistantGovernanceHint {
717
+ kind: string;
718
+ label?: string;
719
+ reason?: string;
720
+ target?: string;
721
+ risk?: PraxisAssistantRiskLevel;
722
+ }
723
+ interface PraxisAssistantAttachmentSummary {
724
+ id: string;
725
+ name: string;
726
+ kind: PraxisAssistantAttachmentKind | string;
727
+ mimeType?: string;
728
+ sizeBytes?: number;
729
+ source?: string;
730
+ hasPreview?: boolean;
731
+ }
732
+ interface PraxisAssistantActionContract {
733
+ id: string;
734
+ kind: PraxisAssistantActionKind | string;
735
+ label?: string;
736
+ target?: PraxisAssistantTargetRef;
737
+ capabilityRef?: string;
738
+ risk?: PraxisAssistantRiskLevel;
739
+ handoffEndpoint?: string;
740
+ description?: string;
741
+ }
742
+ interface PraxisAssistantContextSnapshot {
743
+ identity: PraxisAssistantIdentity;
744
+ target?: PraxisAssistantTargetRef;
745
+ contextItems: readonly PraxisAssistantContextItem[];
746
+ mode: PraxisAssistantContextMode;
747
+ authoringManifestRef?: PraxisAssistantAuthoringManifestRef;
748
+ resourcePath?: string;
749
+ schemaFields?: readonly string[];
750
+ dataProfileDigest?: PraxisAssistantDigest;
751
+ runtimeStateDigest?: PraxisAssistantDigest;
752
+ capabilityRefs?: readonly PraxisAssistantCapabilityRef[];
753
+ governanceHints?: readonly PraxisAssistantGovernanceHint[];
754
+ riskHints?: readonly PraxisAssistantGovernanceHint[];
755
+ attachmentSummaries?: readonly PraxisAssistantAttachmentSummary[];
756
+ actions?: readonly PraxisAssistantActionContract[];
757
+ }
758
+ interface PraxisAssistantOpenRequest {
759
+ initialPrompt?: string;
760
+ target?: PraxisAssistantTargetRef;
761
+ mode?: PraxisAssistantContextMode;
762
+ visibility?: 'active' | 'minimized';
763
+ contextHints?: Readonly<Record<string, string | number | boolean>>;
764
+ preferredAction?: PraxisAssistantActionContract;
765
+ selection?: PraxisAssistantTargetRef;
766
+ }
767
+ declare const PRAXIS_ASSISTANT_CONTEXT_TEXT_LIMIT = 160;
768
+ declare const PRAXIS_ASSISTANT_CONTEXT_ITEM_LIMIT = 12;
769
+ declare const PRAXIS_ASSISTANT_CONTEXT_SCHEMA_FIELD_LIMIT = 40;
770
+ declare const PRAXIS_ASSISTANT_CONTEXT_ATTACHMENT_LIMIT = 8;
771
+ declare function sanitizePraxisAssistantText(value: unknown, limit?: number): string;
772
+ declare function normalizePraxisAssistantAttachmentSummary(attachment: unknown): PraxisAssistantAttachmentSummary | null;
773
+ declare function normalizePraxisAssistantContextSnapshot(value: unknown): PraxisAssistantContextSnapshot;
412
774
 
413
775
  type PraxisAssistantShellMessageRole = 'user' | 'assistant' | 'system' | 'status' | 'error';
414
776
  type PraxisAssistantShellMode = 'config' | 'agentic-authoring' | 'chat' | 'diagnostic' | 'review' | 'inline-help';
@@ -427,13 +789,57 @@ interface PraxisAssistantShellQuickReply {
427
789
  label: string;
428
790
  prompt: string;
429
791
  kind?: string;
792
+ description?: string | null;
793
+ icon?: string | null;
794
+ tone?: string | null;
795
+ presentation?: PraxisAssistantShellQuickReplyPresentation | null;
796
+ contextHints?: Readonly<Record<string, unknown>> | null;
797
+ }
798
+ type PraxisAssistantShellQuickReplyPresentationKind = 'resource-candidate' | 'contextual-action' | 'governance-confirmation' | 'guided-option' | string;
799
+ interface PraxisAssistantShellQuickReplyPresentation {
800
+ kind?: PraxisAssistantShellQuickReplyPresentationKind | null;
801
+ categoryLabel?: string | null;
802
+ description?: string | null;
803
+ ctaLabel?: string | null;
804
+ icon?: string | null;
805
+ tone?: string | null;
806
+ technicalDetails?: string | null;
807
+ evidence?: readonly PraxisAssistantShellQuickReplyEvidence[];
808
+ items?: readonly PraxisAssistantShellQuickReplyPresentationItem[];
809
+ }
810
+ interface PraxisAssistantShellQuickReplyEvidence {
811
+ icon?: string | null;
812
+ value: string;
813
+ ariaLabel?: string | null;
814
+ }
815
+ interface PraxisAssistantShellQuickReplyPresentationItem {
816
+ key?: 'bestFor' | 'returns' | 'nextStep' | string;
817
+ label: string;
818
+ value: string;
819
+ icon?: string | null;
430
820
  }
431
821
  interface PraxisAssistantShellMessageAction {
432
822
  id: string;
433
823
  label: string;
434
824
  kind?: 'edit' | 'resend' | 'copy' | 'custom' | string;
825
+ icon?: string | null;
826
+ ariaLabel?: string | null;
827
+ iconOnly?: boolean;
435
828
  disabled?: boolean;
436
829
  }
830
+ type PraxisAssistantShellActionTone = 'primary' | 'secondary' | 'governance' | 'success' | 'warning' | 'danger' | 'neutral' | string;
831
+ interface PraxisAssistantShellAction {
832
+ id: string;
833
+ label: string;
834
+ kind?: 'submit-prompt' | 'apply' | 'retry' | 'cancel' | 'simulate' | 'review' | 'publish' | 'materialize' | 'correct' | 'custom' | string;
835
+ icon?: string | null;
836
+ tone?: PraxisAssistantShellActionTone | null;
837
+ disabled?: boolean;
838
+ requiresPrompt?: boolean;
839
+ testId?: string | null;
840
+ ariaLabel?: string | null;
841
+ iconOnly?: boolean;
842
+ }
437
843
  interface PraxisAssistantShellContextItem {
438
844
  id: string;
439
845
  label: string;
@@ -459,6 +865,13 @@ interface PraxisAssistantShellLayout {
459
865
  width: number;
460
866
  height: number;
461
867
  }
868
+ interface PraxisAssistantViewportLayoutOptions {
869
+ width?: number;
870
+ height?: number;
871
+ top?: number;
872
+ margin?: number;
873
+ }
874
+ declare function createPraxisAssistantViewportLayout(options?: PraxisAssistantViewportLayoutOptions): PraxisAssistantShellLayout;
462
875
  interface PraxisAssistantShellLabels {
463
876
  title: string;
464
877
  subtitle?: string;
@@ -470,8 +883,10 @@ interface PraxisAssistantShellLabels {
470
883
  apply: string;
471
884
  conversationAria: string;
472
885
  quickRepliesAria: string;
886
+ quickReplyDetails?: string;
473
887
  dragHandleAria: string;
474
888
  resizeHandleAria: string;
889
+ resetLayout?: string;
475
890
  contextAria: string;
476
891
  attachmentsAria: string;
477
892
  attach: string;
@@ -516,6 +931,7 @@ interface PraxisAssistantTurnAction {
516
931
  kind: 'submit' | 'clarify' | 'apply' | 'cancel' | 'retry' | 'edit-message' | 'resend-message' | 'attach' | 'remove-attachment' | string;
517
932
  id?: string;
518
933
  value?: unknown;
934
+ displayPrompt?: string;
519
935
  contextHints?: Record<string, unknown>;
520
936
  }
521
937
  interface PraxisAssistantPendingClarification {
@@ -525,6 +941,13 @@ interface PraxisAssistantPendingClarification {
525
941
  clientTurnId?: string;
526
942
  diagnostics?: Record<string, unknown>;
527
943
  }
944
+ type PraxisAssistantConversationMessageRole = 'user' | 'assistant' | 'system';
945
+ interface PraxisAssistantConversationMessage {
946
+ id: string;
947
+ role: PraxisAssistantConversationMessageRole;
948
+ text: string;
949
+ }
950
+ declare function toPraxisAssistantConversationMessages(messages: readonly PraxisAssistantShellMessage[], limit?: number): PraxisAssistantConversationMessage[];
528
951
  interface PraxisAssistantTurnRequest {
529
952
  mode: PraxisAssistantShellMode;
530
953
  phase?: PraxisAssistantTurnPhase;
@@ -734,6 +1157,17 @@ declare abstract class BaseAiAdapter<TConfig = any> implements AiConfigAdapter<T
734
1157
  protected getCriticalWarnings(patch: any): string[];
735
1158
  }
736
1159
 
1160
+ interface AiGovernedDecisionRoutingOptions {
1161
+ localCompositionTerms?: readonly string[];
1162
+ }
1163
+ /**
1164
+ * @deprecated Component assistants must not infer governed authoring from user
1165
+ * wording. Route through the backend semantic resolver and use this only for
1166
+ * explicit, structured context provided by a canonical backend source.
1167
+ */
1168
+ declare function shouldRoutePromptToGovernedDecision(prompt: string, contextHints?: AiJsonObject, options?: AiGovernedDecisionRoutingOptions): boolean;
1169
+ declare function normalizeAuthoringPrompt(prompt: string): string;
1170
+
737
1171
  interface FieldSchemaLike {
738
1172
  label: string;
739
1173
  type: string;
@@ -784,8 +1218,6 @@ declare class PraxisAiService {
784
1218
  generateContentStream(prompt: string, modelName?: string): Observable<string>;
785
1219
  generateJson<T>(prompt: string, modelName?: string, schema?: any): Observable<T | null>;
786
1220
  isMockMode(): boolean;
787
- private extractUserIntent;
788
- private getMockPatch;
789
1221
  listModels(apiKey?: string): Observable<AiModel[]>;
790
1222
  testConnection(apiKey?: string, model?: string): Observable<boolean>;
791
1223
  private resolveProvider;
@@ -795,7 +1227,7 @@ declare class PraxisAiService {
795
1227
  }
796
1228
 
797
1229
  declare const AI_INTENT_CONTRACT_VERSION: "v1.1";
798
- declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "922e6d48637e64b403562d6d7cb833ed4942ffb0b452ec3573255871f4ec8739";
1230
+ declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "33c545b58f49404695bf845d2094a5b2858538a54200745f1ecb3ca2d0628f01";
799
1231
  type AiSchemaContext = AiSchemaContextContract;
800
1232
  interface AiSuggestionsRequest {
801
1233
  componentId: string;
@@ -828,15 +1260,27 @@ type AiPatchStreamEventType = AiPatchStreamEventType$1;
828
1260
  type AiPatchStreamStartResponse = AiPatchStreamStartResponseContract;
829
1261
  type AiPatchStreamCancelResponse = AiPatchStreamCancelResponseContract;
830
1262
  type AiPatchStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AiPatchStreamEnvelopeContract<TPayload>;
1263
+ type AgenticAuthoringManifestEditPlanRequest = AgenticAuthoringManifestEditPlanRequestContract;
1264
+ type AgenticAuthoringResolveTargetRequest = AgenticAuthoringResolveTargetRequestContract;
1265
+ type AgenticAuthoringResolvedTarget = AgenticAuthoringResolvedTargetContract;
1266
+ type AgenticAuthoringManifestValidationResult = AgenticAuthoringManifestValidationResultContract;
1267
+ type AgenticAuthoringManifestCompileResult = AgenticAuthoringManifestCompileResultContract;
1268
+ type AgenticAuthoringTurnStreamRequest = AgenticAuthoringTurnStreamRequestContract;
1269
+ type AgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
1270
+ type AgenticAuthoringTurnStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AgenticAuthoringTurnStreamEnvelopeContract<TPayload>;
831
1271
  interface AiPatchStreamConnection {
832
1272
  events$: Observable<AiPatchStreamEnvelope>;
833
1273
  close: () => void;
834
1274
  }
1275
+ interface AgenticAuthoringTurnStreamConnection {
1276
+ events$: Observable<AgenticAuthoringTurnStreamEnvelope>;
1277
+ close: () => void;
1278
+ }
835
1279
  type AiPatchStreamConnectionErrorKind = 'unsupported' | 'http_status' | 'transport' | 'parse' | 'schema';
836
1280
  declare class AiPatchStreamConnectionError extends Error {
837
1281
  readonly kind: AiPatchStreamConnectionErrorKind;
838
- readonly status?: number | undefined;
839
- constructor(kind: AiPatchStreamConnectionErrorKind, message: string, status?: number | undefined);
1282
+ readonly status?: number;
1283
+ constructor(kind: AiPatchStreamConnectionErrorKind, message: string, status?: number);
840
1284
  }
841
1285
  interface AiProviderModelsRequest {
842
1286
  provider?: string;
@@ -924,30 +1368,65 @@ interface AiBackendStorageOptions {
924
1368
  defaultHeaders?: Record<string, string>;
925
1369
  allowLocalIdentityFallback?: boolean;
926
1370
  }
1371
+ interface AiBackendEndpoints {
1372
+ /**
1373
+ * Explicit base URL for `/praxis/config/ai/**`.
1374
+ * Hosts should normally prefer the shared `API_URL.default.baseUrl`; use this
1375
+ * only when AI orchestration is served by a distinct gateway.
1376
+ */
1377
+ aiBaseUrl?: string;
1378
+ /**
1379
+ * Explicit base URL for `/praxis/config/ai-context/**`.
1380
+ * When omitted, the service derives it from `API_URL.default.baseUrl`.
1381
+ */
1382
+ aiContextBaseUrl?: string;
1383
+ }
927
1384
  declare const AI_BACKEND_CONFIG_STORE: InjectionToken<AiBackendConfigStore>;
928
1385
  declare const AI_BACKEND_STORAGE_OPTIONS: InjectionToken<AiBackendStorageOptions>;
1386
+ declare const AI_BACKEND_ENDPOINTS: InjectionToken<AiBackendEndpoints>;
929
1387
  declare class AiBackendApiService {
930
1388
  private readonly http;
931
1389
  private readonly globalConfigStore;
932
1390
  private readonly storageOpts;
933
- private readonly baseUrl;
934
- private readonly contextUrl;
1391
+ private readonly endpointOpts;
1392
+ private readonly apiUrlConfig;
1393
+ private readonly fallbackAiBaseUrl;
1394
+ private readonly fallbackAiContextBaseUrl;
935
1395
  getSuggestions(request: AiSuggestionsRequest): Observable<AiSuggestionsResponse>;
936
1396
  getPatch(request: AiOrchestratorRequest): Observable<AiOrchestratorResponse>;
937
1397
  startPatchStream(request: AiOrchestratorRequest): Observable<AiPatchStreamStartResponse>;
938
1398
  connectPatchStream(streamId: string, lastEventId?: string, accessToken?: string): AiPatchStreamConnection;
939
1399
  cancelPatchStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
1400
+ startAgenticAuthoringTurnStream(request: AgenticAuthoringTurnStreamRequest): Observable<AgenticAuthoringTurnStreamStartResponse>;
1401
+ connectAgenticAuthoringTurnStream(streamId: string, lastEventId?: string, accessToken?: string): AgenticAuthoringTurnStreamConnection;
1402
+ cancelAgenticAuthoringTurnStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
940
1403
  listModels(request: AiProviderModelsRequest): Observable<AiProviderModelsResponse>;
941
1404
  listProviderCatalog(): Observable<AiProviderCatalogResponse>;
942
1405
  testProvider(request: AiProviderTestRequest): Observable<AiProviderTestResponse>;
943
1406
  getAiStatus(): Observable<AiProviderStatusResponse>;
944
1407
  getAiContext(componentId: string, componentType: string): Observable<AiContextDTO>;
1408
+ getAgenticAuthoringManifest(componentId: string): Observable<AiJsonObject>;
1409
+ listAgenticAuthoringManifestTargets(componentId: string): Observable<AiJsonObject[]>;
1410
+ listAgenticAuthoringManifestOperations(componentId: string): Observable<AiJsonObject[]>;
1411
+ resolveAgenticAuthoringManifestTarget(componentId: string, request: AgenticAuthoringResolveTargetRequest): Observable<AgenticAuthoringResolvedTarget>;
1412
+ validateAgenticAuthoringManifestPlan(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestValidationResult>;
1413
+ compileAgenticAuthoringManifestPatch(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestCompileResult>;
945
1414
  loadGlobalAiConfig(): Observable<AiGlobalConfigSnapshot | null>;
946
1415
  saveGlobalAiConfig(aiConfig: AiGlobalConfigSnapshot): Observable<void>;
947
1416
  getHeaderContext(): AiHeaderContext;
948
1417
  private buildHeaders;
949
1418
  private normalizeContractVersion;
950
1419
  private normalizeContractSchemaHash;
1420
+ private normalizeLegacyPatchConversationIds;
1421
+ private isUuid;
1422
+ private authoringManifestUrl;
1423
+ private aiBaseUrl;
1424
+ private aiContextBaseUrl;
1425
+ private resolveBaseUrl;
1426
+ private resolveApiBaseUrl;
1427
+ private joinUrl;
1428
+ private normalizeBaseUrl;
1429
+ private buildApiUrl;
951
1430
  private resolveHeaderMap;
952
1431
  private parsePatchStreamEnvelope;
953
1432
  private isPatchStreamEnvelope;
@@ -973,6 +1452,7 @@ declare class AiResponseValidatorService {
973
1452
  private validateJsonLogicExpression;
974
1453
  private walkJsonLogicNode;
975
1454
  private isSupportedJsonLogicOperator;
1455
+ private validateJsonLogicOperatorArity;
976
1456
  private collectVarPaths;
977
1457
  private isValidTargetId;
978
1458
  private findSimilarTargetId;
@@ -1036,6 +1516,74 @@ declare class PraxisAssistantTurnController {
1036
1516
  private patchState;
1037
1517
  private cloneState;
1038
1518
  private toObservable;
1519
+ private buildFlowErrorResult;
1520
+ private describeFlowError;
1521
+ private serializeFlowError;
1522
+ private toRecord;
1523
+ private toString;
1524
+ private toNumber;
1525
+ }
1526
+
1527
+ type PraxisAssistantSessionVisibility = 'active' | 'minimized';
1528
+ interface PraxisAssistantSessionDescriptor {
1529
+ id: string;
1530
+ ownerId: string;
1531
+ ownerType: string;
1532
+ title: string;
1533
+ summary?: string | null;
1534
+ mode?: PraxisAssistantShellMode | null;
1535
+ state?: PraxisAssistantShellState | null;
1536
+ visibility?: PraxisAssistantSessionVisibility | null;
1537
+ contextItems?: readonly PraxisAssistantShellContextItem[] | null;
1538
+ contextSnapshot?: PraxisAssistantContextSnapshot | null;
1539
+ badge?: string | null;
1540
+ icon?: string | null;
1541
+ updatedAt?: string | null;
1542
+ }
1543
+ interface PraxisAssistantSessionSnapshot {
1544
+ id: string;
1545
+ ownerId: string;
1546
+ ownerType: string;
1547
+ title: string;
1548
+ summary: string;
1549
+ mode: PraxisAssistantShellMode;
1550
+ state: PraxisAssistantShellState;
1551
+ visibility: PraxisAssistantSessionVisibility;
1552
+ contextItems: readonly PraxisAssistantShellContextItem[];
1553
+ contextSnapshot: PraxisAssistantContextSnapshot | null;
1554
+ badge: string;
1555
+ icon: string;
1556
+ createdAt: string;
1557
+ updatedAt: string;
1558
+ }
1559
+ type PraxisAssistantSessionIdentityRef = string | PraxisAssistantIdentity | PraxisAssistantContextSnapshot;
1560
+ type PraxisAssistantContextSessionDescriptor = Omit<PraxisAssistantSessionDescriptor, 'id' | 'ownerId' | 'ownerType' | 'title' | 'contextSnapshot'> & {
1561
+ title?: string;
1562
+ };
1563
+ declare class PraxisAssistantSessionRegistryService {
1564
+ private readonly sessionsState;
1565
+ readonly sessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1566
+ readonly activeSession: i0.Signal<PraxisAssistantSessionSnapshot>;
1567
+ readonly minimizedSessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1568
+ upsertSession(descriptor: PraxisAssistantSessionDescriptor): PraxisAssistantSessionSnapshot;
1569
+ upsertContextSession(contextSnapshot: PraxisAssistantContextSnapshot, descriptor?: PraxisAssistantContextSessionDescriptor): PraxisAssistantSessionSnapshot;
1570
+ openSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1571
+ openContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1572
+ minimizeSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1573
+ minimizeContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1574
+ removeSession(sessionId: string): void;
1575
+ removeContextSession(identity: PraxisAssistantSessionIdentityRef): void;
1576
+ getSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1577
+ getContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1578
+ clear(): void;
1579
+ private setVisibility;
1580
+ private resolveSessionId;
1581
+ private normalizeDescriptor;
1582
+ private assertContextIdentity;
1583
+ private toShellContextItems;
1584
+ private sortSessions;
1585
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAssistantSessionRegistryService, never>;
1586
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisAssistantSessionRegistryService>;
1039
1587
  }
1040
1588
 
1041
1589
  type AssistantMessageRole = 'user' | 'assistant' | 'system';
@@ -1077,7 +1625,7 @@ interface ClarificationOption {
1077
1625
  value: string;
1078
1626
  example?: string;
1079
1627
  }
1080
- type ClarificationContextHints = AiJsonObject;
1628
+ type ClarificationContextHints = AiContextHintsContract;
1081
1629
  interface ClarificationRichOption extends ClarificationOption {
1082
1630
  contextHints?: ClarificationContextHints;
1083
1631
  }
@@ -1411,6 +1959,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1411
1959
  private hasBadgeColors;
1412
1960
  private hasBadgeField;
1413
1961
  private mergeContextHints;
1962
+ private enrichDomainCatalogAuthoringHints;
1414
1963
  private setResourcePathHint;
1415
1964
  private clearResourcePathHint;
1416
1965
  private matchClarificationOptionPath;
@@ -1466,6 +2015,16 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1466
2015
  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>;
1467
2016
  }
1468
2017
 
2018
+ type ResizeDirection = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
2019
+ type QuickReplyPresentationItem = PraxisAssistantShellQuickReplyPresentationItem & {
2020
+ key: 'bestFor' | 'returns' | 'nextStep' | string;
2021
+ icon: string;
2022
+ };
2023
+ interface QuickReplyContextChip {
2024
+ icon: string;
2025
+ value: string;
2026
+ ariaLabel: string;
2027
+ }
1469
2028
  declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1470
2029
  labels: Partial<PraxisAssistantShellLabels> | null;
1471
2030
  mode: PraxisAssistantShellMode;
@@ -1481,10 +2040,15 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1481
2040
  panelTestId: string;
1482
2041
  submitTestId: string;
1483
2042
  applyTestId: string;
2043
+ primaryAction: PraxisAssistantShellAction | null;
2044
+ secondaryActions: readonly PraxisAssistantShellAction[];
2045
+ governanceActions: readonly PraxisAssistantShellAction[];
1484
2046
  busy: boolean;
1485
2047
  canSubmit: boolean;
1486
2048
  canApply: boolean;
1487
2049
  submitOnEnter: boolean;
2050
+ showAttachAction: boolean;
2051
+ enablePastedAttachments: boolean;
1488
2052
  enableFileAttachments: boolean;
1489
2053
  attachmentAccept: string;
1490
2054
  attachmentMultiple: boolean;
@@ -1497,6 +2061,9 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1497
2061
  promptChange: EventEmitter<string>;
1498
2062
  submitPrompt: EventEmitter<string>;
1499
2063
  apply: EventEmitter<void>;
2064
+ retryTurn: EventEmitter<void>;
2065
+ cancelTurn: EventEmitter<void>;
2066
+ shellAction: EventEmitter<PraxisAssistantShellAction>;
1500
2067
  close: EventEmitter<void>;
1501
2068
  attach: EventEmitter<void>;
1502
2069
  attachmentsPasted: EventEmitter<PraxisAssistantShellAttachment[]>;
@@ -1516,6 +2083,7 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1516
2083
  protected currentPrompt: string;
1517
2084
  protected resolvedLabels: PraxisAssistantShellLabels;
1518
2085
  protected currentLayout: PraxisAssistantShellLayout;
2086
+ protected readonly resizeHandles: readonly ResizeDirection[];
1519
2087
  private pointerSession;
1520
2088
  private readonly ownedPreviewUrls;
1521
2089
  private readonly onWindowPointerMove;
@@ -1529,13 +2097,62 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1529
2097
  protected onAttachClick(fileInput: HTMLInputElement): void;
1530
2098
  protected onAttachmentFilesSelected(event: Event): void;
1531
2099
  protected onApply(): void;
2100
+ protected renderMessageText(text: string | null | undefined): string;
2101
+ private renderInlineMarkdown;
2102
+ private escapeHtml;
2103
+ protected shouldShowStatusText(): boolean;
2104
+ protected shouldShowErrorText(): boolean;
2105
+ protected onShellAction(action: PraxisAssistantShellAction): void;
2106
+ protected getPrimaryAction(): PraxisAssistantShellAction;
2107
+ protected getSecondaryActions(): readonly PraxisAssistantShellAction[];
2108
+ protected getPrimaryActionTooltip(action: PraxisAssistantShellAction): string;
2109
+ protected isShellActionDisabled(action: PraxisAssistantShellAction): boolean;
2110
+ protected getShellActionTone(action: PraxisAssistantShellAction): string;
2111
+ protected trackShellAction(_index: number, action: PraxisAssistantShellAction): string;
2112
+ private hasRecoverableTurn;
2113
+ private shouldShowAuxiliaryText;
2114
+ private normalizeMessageText;
2115
+ private getDefaultPrimaryAction;
1532
2116
  protected onQuickReply(reply: PraxisAssistantShellQuickReply): void;
2117
+ protected getQuickReplyAriaLabel(reply: PraxisAssistantShellQuickReply): string;
2118
+ protected getQuickReplyTechnicalDetails(reply: PraxisAssistantShellQuickReply): string;
2119
+ protected isRichQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2120
+ protected getQuickReplyDescription(reply: PraxisAssistantShellQuickReply): string;
2121
+ protected getQuickReplyContextChips(reply: PraxisAssistantShellQuickReply): readonly QuickReplyContextChip[];
2122
+ protected getQuickReplyPresentationItems(reply: PraxisAssistantShellQuickReply): readonly QuickReplyPresentationItem[];
2123
+ private defaultQuickReplyPresentation;
2124
+ protected getQuickReplyCategoryLabel(reply: PraxisAssistantShellQuickReply): string;
2125
+ protected getQuickReplyIcon(reply: PraxisAssistantShellQuickReply): string;
2126
+ protected getQuickReplyCtaLabel(reply: PraxisAssistantShellQuickReply): string;
2127
+ protected getQuickReplyTone(reply: PraxisAssistantShellQuickReply): string;
2128
+ private normalizeQuickReplyTone;
2129
+ private asRecord;
2130
+ private stringHint;
2131
+ private quickReplyHint;
2132
+ private hasQuickReplyResourceContext;
2133
+ private isFieldDiscoveryQuickReply;
2134
+ protected isContextualPreviewActionQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2135
+ protected isGuidedActionQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2136
+ private quickReplyPresentation;
2137
+ private quickReplyPresentationKind;
2138
+ private presentationEvidenceToChip;
2139
+ private getContextualActionChips;
2140
+ private isGenericContextualActionDescription;
2141
+ private trimSentencePunctuation;
2142
+ private shortPathLabel;
2143
+ private shortTechnicalLabel;
2144
+ protected getCloseIcon(): string;
2145
+ private normalizeShellAction;
1533
2146
  protected onRemoveAttachment(attachment: PraxisAssistantShellAttachment): void;
1534
2147
  protected onMessageAction(message: PraxisAssistantShellMessage, action: PraxisAssistantShellMessageAction): void;
2148
+ protected getMessageActionIcon(action: PraxisAssistantShellMessageAction): string;
2149
+ protected getMessageActionLabel(action: PraxisAssistantShellMessageAction): string;
2150
+ protected isMessageActionIconOnly(action: PraxisAssistantShellMessageAction): boolean;
1535
2151
  protected getModeLabel(): string;
1536
2152
  protected getStateLabel(): string;
1537
2153
  protected startDrag(event: PointerEvent): void;
1538
- protected startResize(event: PointerEvent): void;
2154
+ protected startResize(direction: ResizeDirection, event: PointerEvent): void;
2155
+ protected trackResizeHandle(_index: number, direction: ResizeDirection): ResizeDirection;
1539
2156
  protected trackMessage(_index: number, message: PraxisAssistantShellMessage): string;
1540
2157
  protected trackMessageAction(_index: number, action: PraxisAssistantShellMessageAction): string;
1541
2158
  protected trackQuickReply(_index: number, reply: PraxisAssistantShellQuickReply): string;
@@ -1543,9 +2160,10 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1543
2160
  protected trackAttachment(_index: number, attachment: PraxisAssistantShellAttachment): string;
1544
2161
  private startPointerSession;
1545
2162
  private handlePointerMove;
2163
+ private resizeLayout;
1546
2164
  private finishPointerSession;
1547
2165
  private detachPointerListeners;
1548
- private resolveBounds;
2166
+ private resolveViewportBounds;
1549
2167
  private normalizeLayout;
1550
2168
  private clampLayout;
1551
2169
  private clamp;
@@ -1557,7 +2175,50 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1557
2175
  private revokeAllOwnedPreviewUrls;
1558
2176
  private revokeOwnedPreviewUrl;
1559
2177
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantShellComponent, never>;
1560
- 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>;
2178
+ 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; }; "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; }; "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"; "layoutChange": "layoutChange"; }, never, never, true, never>;
2179
+ }
2180
+
2181
+ type PraxisAssistantDockTone = 'ready' | 'working' | 'review' | 'governed' | 'error';
2182
+ declare class PraxisAiAssistantDockComponent {
2183
+ title: string;
2184
+ summary: string;
2185
+ badge: string;
2186
+ icon: string;
2187
+ state: PraxisAssistantShellState | null;
2188
+ tone: PraxisAssistantDockTone | null;
2189
+ ariaLabel: string;
2190
+ openAriaLabel: string;
2191
+ openTooltip: string;
2192
+ testId: string;
2193
+ openTestId: string;
2194
+ open: EventEmitter<void>;
2195
+ resolvedTone(): PraxisAssistantDockTone;
2196
+ resolvedIcon(): string;
2197
+ resolvedBadge(): string;
2198
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantDockComponent, never>;
2199
+ 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>;
2200
+ }
2201
+
2202
+ declare class PraxisAiAssistantSessionHostComponent {
2203
+ private readonly registry;
2204
+ testId: string;
2205
+ dockTestIdPrefix: string;
2206
+ ariaLabel: string;
2207
+ openAriaLabel: string;
2208
+ openTooltip: string;
2209
+ ownerType: string | null;
2210
+ ownerId: string | null;
2211
+ visibility: PraxisAssistantSessionVisibility | 'all';
2212
+ sessionOpen: EventEmitter<PraxisAssistantSessionSnapshot>;
2213
+ visibleSessions(): readonly PraxisAssistantSessionSnapshot[];
2214
+ openSession(sessionId: string): void;
2215
+ sessionAriaLabel(session: PraxisAssistantSessionSnapshot): string;
2216
+ dockTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2217
+ dockOpenTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2218
+ trackSession(_index: number, session: PraxisAssistantSessionSnapshot): string;
2219
+ private safeId;
2220
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantSessionHostComponent, never>;
2221
+ 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>;
1561
2222
  }
1562
2223
 
1563
2224
  declare class AiContextBuilderService {
@@ -1566,7 +2227,7 @@ declare class AiContextBuilderService {
1566
2227
  /**
1567
2228
  * Builds the complete context for the AI prompt
1568
2229
  */
1569
- buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column', propertySchema: RulePropertySchema): PromptContext;
2230
+ buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', propertySchema: RulePropertySchema): PromptContext;
1570
2231
  buildRulePrompt(userPrompt: string, context: PromptContext): string;
1571
2232
  buildSuggestionPrompt(context: PromptContext): string;
1572
2233
  /**
@@ -1595,7 +2256,7 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1595
2256
  private snackBar;
1596
2257
  private contextBuilder;
1597
2258
  private cdr;
1598
- selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column';
2259
+ selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
1599
2260
  userPrompt: string;
1600
2261
  isGenerating: boolean;
1601
2262
  validationError: string | null;
@@ -1631,5 +2292,5 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1631
2292
  static ɵcmp: i0.ɵɵComponentDeclaration<AiRuleWizardDialogComponent, "praxis-ai-rule-wizard-dialog", never, {}, {}, never, never, true, never>;
1632
2293
  }
1633
2294
 
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 };
2295
+ 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, PraxisAi, PraxisAiAssistantComponent, PraxisAiAssistantDockComponent, PraxisAiAssistantSessionHostComponent, PraxisAiAssistantShellComponent, PraxisAiService, PraxisAssistantSessionRegistryService, PraxisAssistantTurnController, PraxisAssistantTurnOrchestratorService, SchemaMinifierService, createPraxisAssistantViewportLayout, normalizeAuthoringPrompt, normalizePraxisAssistantAttachmentSummary, normalizePraxisAssistantContextSnapshot, sanitizePraxisAssistantText, shouldRoutePromptToGovernedDecision, toPraxisAssistantConversationMessages };
2296
+ 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, AiBackendConfigStore, AiBackendEndpoints, AiBackendStorageOptions, AiChatMessage, AiChatMessageContract, AiClarificationUiContract, AiConfigAdapter, 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, PraxisAssistantOwnerType, PraxisAssistantPendingClarification, PraxisAssistantRiskLevel, PraxisAssistantSessionDescriptor, PraxisAssistantSessionIdentityRef, 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, ProblemResponseContract, PromptContext, RulePropertyDefinition, RulePropertySchema, RulePropertyType, ValidationContext, ValueKind };