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

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;
181
230
  [key: string]: AiJsonValue | undefined;
182
231
  }
232
+ interface AgenticAuthoringSemanticRetrievalEvidenceContract {
233
+ retrievalSource?: string | null;
234
+ evidence?: string[];
235
+ candidateCount?: number;
236
+ [key: string]: AiJsonValue | undefined;
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;
@@ -617,6 +1040,31 @@ interface AiResponseCompileResult {
617
1040
  message?: string;
618
1041
  warnings?: string[];
619
1042
  }
1043
+ type AiAuthoringResponseModeKind = 'consult' | 'edit' | string;
1044
+ interface AiAuthoringResponseMode {
1045
+ kind: AiAuthoringResponseModeKind;
1046
+ operationKind?: 'consult' | 'author' | 'edit' | string;
1047
+ changeKind?: 'answer' | string;
1048
+ preferredResponse?: string;
1049
+ useWhen?: string[];
1050
+ rules?: string[];
1051
+ }
1052
+ interface AiConsultativeAuthoringContext {
1053
+ [key: string]: unknown;
1054
+ resourcePath?: string | null;
1055
+ answerableQuestionKinds?: string[];
1056
+ }
1057
+ interface AiComponentAuthoringContract {
1058
+ [key: string]: unknown;
1059
+ kind: 'praxis.component-authoring-context' | string;
1060
+ componentId?: string;
1061
+ componentType?: string;
1062
+ preferredResponse?: string;
1063
+ responseModes?: AiAuthoringResponseMode[];
1064
+ consultativeContext?: AiConsultativeAuthoringContext;
1065
+ }
1066
+ declare function createComponentAuthoringContext(authoringContract: AiComponentAuthoringContract): AiJsonObject;
1067
+ declare function toAiJsonObject(value: unknown, path?: string): AiJsonObject;
620
1068
  /**
621
1069
  * Contrato fundamental para qualquer componente que suporte configuração via IA.
622
1070
  * O Agente de IA usa esta interface para Ler (Introspecção) e Escrever (Patching) no componente.
@@ -669,6 +1117,12 @@ interface AiConfigAdapter<TConfig = any> {
669
1117
  * Usado para sugestões heurísticas mais precisas no backend.
670
1118
  */
671
1119
  getSchemaFields?(): Record<string, any>[];
1120
+ /**
1121
+ * Prepara contexto assíncrono necessário antes de montar snapshots para IA.
1122
+ * Ex.: uma tabela pode carregar o schema canônico de filtros antes de expor
1123
+ * o contrato de authoring ao backend.
1124
+ */
1125
+ prepareAuthoringContext?(): Promise<void> | void;
672
1126
  /**
673
1127
  * Retorna contexto declarativo adicional para authoring assistido por IA.
674
1128
  * Deve conter contratos validaveis e instrucoes especificas do componente
@@ -734,6 +1188,17 @@ declare abstract class BaseAiAdapter<TConfig = any> implements AiConfigAdapter<T
734
1188
  protected getCriticalWarnings(patch: any): string[];
735
1189
  }
736
1190
 
1191
+ interface AiGovernedDecisionRoutingOptions {
1192
+ localCompositionTerms?: readonly string[];
1193
+ }
1194
+ /**
1195
+ * @deprecated Component assistants must not infer governed authoring from user
1196
+ * wording. Route through the backend semantic resolver and use this only for
1197
+ * explicit, structured context provided by a canonical backend source.
1198
+ */
1199
+ declare function shouldRoutePromptToGovernedDecision(prompt: string, contextHints?: AiJsonObject, options?: AiGovernedDecisionRoutingOptions): boolean;
1200
+ declare function normalizeAuthoringPrompt(prompt: string): string;
1201
+
737
1202
  interface FieldSchemaLike {
738
1203
  label: string;
739
1204
  type: string;
@@ -784,8 +1249,6 @@ declare class PraxisAiService {
784
1249
  generateContentStream(prompt: string, modelName?: string): Observable<string>;
785
1250
  generateJson<T>(prompt: string, modelName?: string, schema?: any): Observable<T | null>;
786
1251
  isMockMode(): boolean;
787
- private extractUserIntent;
788
- private getMockPatch;
789
1252
  listModels(apiKey?: string): Observable<AiModel[]>;
790
1253
  testConnection(apiKey?: string, model?: string): Observable<boolean>;
791
1254
  private resolveProvider;
@@ -795,7 +1258,7 @@ declare class PraxisAiService {
795
1258
  }
796
1259
 
797
1260
  declare const AI_INTENT_CONTRACT_VERSION: "v1.1";
798
- declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "922e6d48637e64b403562d6d7cb833ed4942ffb0b452ec3573255871f4ec8739";
1261
+ declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "33c545b58f49404695bf845d2094a5b2858538a54200745f1ecb3ca2d0628f01";
799
1262
  type AiSchemaContext = AiSchemaContextContract;
800
1263
  interface AiSuggestionsRequest {
801
1264
  componentId: string;
@@ -828,15 +1291,27 @@ type AiPatchStreamEventType = AiPatchStreamEventType$1;
828
1291
  type AiPatchStreamStartResponse = AiPatchStreamStartResponseContract;
829
1292
  type AiPatchStreamCancelResponse = AiPatchStreamCancelResponseContract;
830
1293
  type AiPatchStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AiPatchStreamEnvelopeContract<TPayload>;
1294
+ type AgenticAuthoringManifestEditPlanRequest = AgenticAuthoringManifestEditPlanRequestContract;
1295
+ type AgenticAuthoringResolveTargetRequest = AgenticAuthoringResolveTargetRequestContract;
1296
+ type AgenticAuthoringResolvedTarget = AgenticAuthoringResolvedTargetContract;
1297
+ type AgenticAuthoringManifestValidationResult = AgenticAuthoringManifestValidationResultContract;
1298
+ type AgenticAuthoringManifestCompileResult = AgenticAuthoringManifestCompileResultContract;
1299
+ type AgenticAuthoringTurnStreamRequest = AgenticAuthoringTurnStreamRequestContract;
1300
+ type AgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
1301
+ type AgenticAuthoringTurnStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AgenticAuthoringTurnStreamEnvelopeContract<TPayload>;
831
1302
  interface AiPatchStreamConnection {
832
1303
  events$: Observable<AiPatchStreamEnvelope>;
833
1304
  close: () => void;
834
1305
  }
1306
+ interface AgenticAuthoringTurnStreamConnection {
1307
+ events$: Observable<AgenticAuthoringTurnStreamEnvelope>;
1308
+ close: () => void;
1309
+ }
835
1310
  type AiPatchStreamConnectionErrorKind = 'unsupported' | 'http_status' | 'transport' | 'parse' | 'schema';
836
1311
  declare class AiPatchStreamConnectionError extends Error {
837
1312
  readonly kind: AiPatchStreamConnectionErrorKind;
838
- readonly status?: number | undefined;
839
- constructor(kind: AiPatchStreamConnectionErrorKind, message: string, status?: number | undefined);
1313
+ readonly status?: number;
1314
+ constructor(kind: AiPatchStreamConnectionErrorKind, message: string, status?: number);
840
1315
  }
841
1316
  interface AiProviderModelsRequest {
842
1317
  provider?: string;
@@ -924,34 +1399,71 @@ interface AiBackendStorageOptions {
924
1399
  defaultHeaders?: Record<string, string>;
925
1400
  allowLocalIdentityFallback?: boolean;
926
1401
  }
1402
+ interface AiBackendEndpoints {
1403
+ /**
1404
+ * Explicit base URL for `/praxis/config/ai/**`.
1405
+ * Hosts should normally prefer the shared `API_URL.default.baseUrl`; use this
1406
+ * only when AI orchestration is served by a distinct gateway.
1407
+ */
1408
+ aiBaseUrl?: string;
1409
+ /**
1410
+ * Explicit base URL for `/praxis/config/ai-context/**`.
1411
+ * When omitted, the service derives it from `API_URL.default.baseUrl`.
1412
+ */
1413
+ aiContextBaseUrl?: string;
1414
+ }
927
1415
  declare const AI_BACKEND_CONFIG_STORE: InjectionToken<AiBackendConfigStore>;
928
1416
  declare const AI_BACKEND_STORAGE_OPTIONS: InjectionToken<AiBackendStorageOptions>;
1417
+ declare const AI_BACKEND_ENDPOINTS: InjectionToken<AiBackendEndpoints>;
929
1418
  declare class AiBackendApiService {
930
1419
  private readonly http;
931
1420
  private readonly globalConfigStore;
932
1421
  private readonly storageOpts;
933
- private readonly baseUrl;
934
- private readonly contextUrl;
1422
+ private readonly endpointOpts;
1423
+ private readonly apiUrlConfig;
1424
+ private readonly fallbackAiBaseUrl;
1425
+ private readonly fallbackAiContextBaseUrl;
935
1426
  getSuggestions(request: AiSuggestionsRequest): Observable<AiSuggestionsResponse>;
936
1427
  getPatch(request: AiOrchestratorRequest): Observable<AiOrchestratorResponse>;
937
1428
  startPatchStream(request: AiOrchestratorRequest): Observable<AiPatchStreamStartResponse>;
938
1429
  connectPatchStream(streamId: string, lastEventId?: string, accessToken?: string): AiPatchStreamConnection;
939
1430
  cancelPatchStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
1431
+ startAgenticAuthoringTurnStream(request: AgenticAuthoringTurnStreamRequest): Observable<AgenticAuthoringTurnStreamStartResponse>;
1432
+ connectAgenticAuthoringTurnStream(streamId: string, lastEventId?: string, accessToken?: string): AgenticAuthoringTurnStreamConnection;
1433
+ cancelAgenticAuthoringTurnStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
940
1434
  listModels(request: AiProviderModelsRequest): Observable<AiProviderModelsResponse>;
941
1435
  listProviderCatalog(): Observable<AiProviderCatalogResponse>;
942
1436
  testProvider(request: AiProviderTestRequest): Observable<AiProviderTestResponse>;
943
1437
  getAiStatus(): Observable<AiProviderStatusResponse>;
944
1438
  getAiContext(componentId: string, componentType: string): Observable<AiContextDTO>;
1439
+ getAgenticAuthoringManifest(componentId: string): Observable<AiJsonObject>;
1440
+ listAgenticAuthoringManifestTargets(componentId: string): Observable<AiJsonObject[]>;
1441
+ listAgenticAuthoringManifestOperations(componentId: string): Observable<AiJsonObject[]>;
1442
+ resolveAgenticAuthoringManifestTarget(componentId: string, request: AgenticAuthoringResolveTargetRequest): Observable<AgenticAuthoringResolvedTarget>;
1443
+ validateAgenticAuthoringManifestPlan(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestValidationResult>;
1444
+ compileAgenticAuthoringManifestPatch(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestCompileResult>;
945
1445
  loadGlobalAiConfig(): Observable<AiGlobalConfigSnapshot | null>;
946
1446
  saveGlobalAiConfig(aiConfig: AiGlobalConfigSnapshot): Observable<void>;
947
1447
  getHeaderContext(): AiHeaderContext;
948
1448
  private buildHeaders;
949
1449
  private normalizeContractVersion;
950
1450
  private normalizeContractSchemaHash;
1451
+ private normalizeLegacyPatchConversationIds;
1452
+ private isUuid;
1453
+ private authoringManifestUrl;
1454
+ private aiBaseUrl;
1455
+ private aiContextBaseUrl;
1456
+ private resolveBaseUrl;
1457
+ private resolveApiBaseUrl;
1458
+ private joinUrl;
1459
+ private normalizeBaseUrl;
1460
+ private buildApiUrl;
951
1461
  private resolveHeaderMap;
952
1462
  private parsePatchStreamEnvelope;
953
1463
  private isPatchStreamEnvelope;
954
1464
  private isJsonObject;
1465
+ private registerNamedStreamEventListeners;
1466
+ private isTerminalStreamEventType;
955
1467
  private probePatchStreamEndpoint;
956
1468
  static ɵfac: i0.ɵɵFactoryDeclaration<AiBackendApiService, never>;
957
1469
  static ɵprov: i0.ɵɵInjectableDeclaration<AiBackendApiService>;
@@ -973,6 +1485,7 @@ declare class AiResponseValidatorService {
973
1485
  private validateJsonLogicExpression;
974
1486
  private walkJsonLogicNode;
975
1487
  private isSupportedJsonLogicOperator;
1488
+ private validateJsonLogicOperatorArity;
976
1489
  private collectVarPaths;
977
1490
  private isValidTargetId;
978
1491
  private findSimilarTargetId;
@@ -1036,6 +1549,77 @@ declare class PraxisAssistantTurnController {
1036
1549
  private patchState;
1037
1550
  private cloneState;
1038
1551
  private toObservable;
1552
+ private buildFlowErrorResult;
1553
+ private describeFlowError;
1554
+ private serializeFlowError;
1555
+ private toRecord;
1556
+ private toString;
1557
+ private toNumber;
1558
+ }
1559
+
1560
+ type PraxisAssistantSessionVisibility = 'active' | 'minimized';
1561
+ type PraxisAssistantSessionPresence = 'global-dock' | 'origin-anchor';
1562
+ interface PraxisAssistantSessionDescriptor {
1563
+ id: string;
1564
+ ownerId: string;
1565
+ ownerType: string;
1566
+ title: string;
1567
+ summary?: string | null;
1568
+ mode?: PraxisAssistantShellMode | null;
1569
+ state?: PraxisAssistantShellState | null;
1570
+ visibility?: PraxisAssistantSessionVisibility | null;
1571
+ contextItems?: readonly PraxisAssistantShellContextItem[] | null;
1572
+ contextSnapshot?: PraxisAssistantContextSnapshot | null;
1573
+ badge?: string | null;
1574
+ icon?: string | null;
1575
+ presence?: PraxisAssistantSessionPresence | null;
1576
+ updatedAt?: string | null;
1577
+ }
1578
+ interface PraxisAssistantSessionSnapshot {
1579
+ id: string;
1580
+ ownerId: string;
1581
+ ownerType: string;
1582
+ title: string;
1583
+ summary: string;
1584
+ mode: PraxisAssistantShellMode;
1585
+ state: PraxisAssistantShellState;
1586
+ visibility: PraxisAssistantSessionVisibility;
1587
+ contextItems: readonly PraxisAssistantShellContextItem[];
1588
+ contextSnapshot: PraxisAssistantContextSnapshot | null;
1589
+ badge: string;
1590
+ icon: string;
1591
+ presence: PraxisAssistantSessionPresence;
1592
+ createdAt: string;
1593
+ updatedAt: string;
1594
+ }
1595
+ type PraxisAssistantSessionIdentityRef = string | PraxisAssistantIdentity | PraxisAssistantContextSnapshot;
1596
+ type PraxisAssistantContextSessionDescriptor = Omit<PraxisAssistantSessionDescriptor, 'id' | 'ownerId' | 'ownerType' | 'title' | 'contextSnapshot'> & {
1597
+ title?: string;
1598
+ };
1599
+ declare class PraxisAssistantSessionRegistryService {
1600
+ private readonly sessionsState;
1601
+ readonly sessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1602
+ readonly activeSession: i0.Signal<PraxisAssistantSessionSnapshot>;
1603
+ readonly minimizedSessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1604
+ upsertSession(descriptor: PraxisAssistantSessionDescriptor): PraxisAssistantSessionSnapshot;
1605
+ upsertContextSession(contextSnapshot: PraxisAssistantContextSnapshot, descriptor?: PraxisAssistantContextSessionDescriptor): PraxisAssistantSessionSnapshot;
1606
+ openSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1607
+ openContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1608
+ minimizeSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1609
+ minimizeContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1610
+ removeSession(sessionId: string): void;
1611
+ removeContextSession(identity: PraxisAssistantSessionIdentityRef): void;
1612
+ getSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1613
+ getContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1614
+ clear(): void;
1615
+ private setVisibility;
1616
+ private resolveSessionId;
1617
+ private normalizeDescriptor;
1618
+ private assertContextIdentity;
1619
+ private toShellContextItems;
1620
+ private sortSessions;
1621
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAssistantSessionRegistryService, never>;
1622
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisAssistantSessionRegistryService>;
1039
1623
  }
1040
1624
 
1041
1625
  type AssistantMessageRole = 'user' | 'assistant' | 'system';
@@ -1077,7 +1661,7 @@ interface ClarificationOption {
1077
1661
  value: string;
1078
1662
  example?: string;
1079
1663
  }
1080
- type ClarificationContextHints = AiJsonObject;
1664
+ type ClarificationContextHints = AiContextHintsContract;
1081
1665
  interface ClarificationRichOption extends ClarificationOption {
1082
1666
  contextHints?: ClarificationContextHints;
1083
1667
  }
@@ -1092,6 +1676,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1092
1676
  adapter: AiConfigAdapter;
1093
1677
  riskPolicy: RiskPolicy | null;
1094
1678
  allowManualPatchEdit: boolean;
1679
+ hasBackdrop: boolean;
1095
1680
  readonly overlayPositions: ConnectedPosition[];
1096
1681
  overlayOrigin: CdkOverlayOrigin;
1097
1682
  triggerButton?: ElementRef<HTMLButtonElement>;
@@ -1411,6 +1996,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1411
1996
  private hasBadgeColors;
1412
1997
  private hasBadgeField;
1413
1998
  private mergeContextHints;
1999
+ private enrichDomainCatalogAuthoringHints;
1414
2000
  private setResourcePathHint;
1415
2001
  private clearResourcePathHint;
1416
2002
  private matchClarificationOptionPath;
@@ -1463,9 +2049,19 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1463
2049
  private restoreFocusToTrigger;
1464
2050
  private normalizeError;
1465
2051
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantComponent, never>;
1466
- 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>;
2052
+ 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>;
1467
2053
  }
1468
2054
 
2055
+ type ResizeDirection = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
2056
+ type QuickReplyPresentationItem = PraxisAssistantShellQuickReplyPresentationItem & {
2057
+ key: 'bestFor' | 'returns' | 'nextStep' | string;
2058
+ icon: string;
2059
+ };
2060
+ interface QuickReplyContextChip {
2061
+ icon: string;
2062
+ value: string;
2063
+ ariaLabel: string;
2064
+ }
1469
2065
  declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1470
2066
  labels: Partial<PraxisAssistantShellLabels> | null;
1471
2067
  mode: PraxisAssistantShellMode;
@@ -1481,10 +2077,15 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1481
2077
  panelTestId: string;
1482
2078
  submitTestId: string;
1483
2079
  applyTestId: string;
2080
+ primaryAction: PraxisAssistantShellAction | null;
2081
+ secondaryActions: readonly PraxisAssistantShellAction[];
2082
+ governanceActions: readonly PraxisAssistantShellAction[];
1484
2083
  busy: boolean;
1485
2084
  canSubmit: boolean;
1486
2085
  canApply: boolean;
1487
2086
  submitOnEnter: boolean;
2087
+ showAttachAction: boolean;
2088
+ enablePastedAttachments: boolean;
1488
2089
  enableFileAttachments: boolean;
1489
2090
  attachmentAccept: string;
1490
2091
  attachmentMultiple: boolean;
@@ -1497,6 +2098,9 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1497
2098
  promptChange: EventEmitter<string>;
1498
2099
  submitPrompt: EventEmitter<string>;
1499
2100
  apply: EventEmitter<void>;
2101
+ retryTurn: EventEmitter<void>;
2102
+ cancelTurn: EventEmitter<void>;
2103
+ shellAction: EventEmitter<PraxisAssistantShellAction>;
1500
2104
  close: EventEmitter<void>;
1501
2105
  attach: EventEmitter<void>;
1502
2106
  attachmentsPasted: EventEmitter<PraxisAssistantShellAttachment[]>;
@@ -1516,6 +2120,7 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1516
2120
  protected currentPrompt: string;
1517
2121
  protected resolvedLabels: PraxisAssistantShellLabels;
1518
2122
  protected currentLayout: PraxisAssistantShellLayout;
2123
+ protected readonly resizeHandles: readonly ResizeDirection[];
1519
2124
  private pointerSession;
1520
2125
  private readonly ownedPreviewUrls;
1521
2126
  private readonly onWindowPointerMove;
@@ -1529,13 +2134,63 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1529
2134
  protected onAttachClick(fileInput: HTMLInputElement): void;
1530
2135
  protected onAttachmentFilesSelected(event: Event): void;
1531
2136
  protected onApply(): void;
2137
+ protected renderMessageText(text: string | null | undefined): string;
2138
+ private renderInlineMarkdown;
2139
+ private escapeHtml;
2140
+ protected shouldShowStatusText(): boolean;
2141
+ protected shouldShowErrorText(): boolean;
2142
+ protected onShellAction(action: PraxisAssistantShellAction): void;
2143
+ protected getPrimaryAction(): PraxisAssistantShellAction;
2144
+ protected getSecondaryActions(): readonly PraxisAssistantShellAction[];
2145
+ protected getPrimaryActionTooltip(action: PraxisAssistantShellAction): string;
2146
+ protected isShellActionDisabled(action: PraxisAssistantShellAction): boolean;
2147
+ protected getShellActionTone(action: PraxisAssistantShellAction): string;
2148
+ protected trackShellAction(_index: number, action: PraxisAssistantShellAction): string;
2149
+ private hasRecoverableTurn;
2150
+ private shouldShowAuxiliaryText;
2151
+ private normalizeMessageText;
2152
+ private getDefaultPrimaryAction;
1532
2153
  protected onQuickReply(reply: PraxisAssistantShellQuickReply): void;
2154
+ protected getQuickReplyAriaLabel(reply: PraxisAssistantShellQuickReply): string;
2155
+ protected getQuickReplyTechnicalDetails(reply: PraxisAssistantShellQuickReply): string;
2156
+ protected isRichQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2157
+ protected shouldUseInlineQuickReplies(): boolean;
2158
+ protected getQuickReplyDescription(reply: PraxisAssistantShellQuickReply): string;
2159
+ protected getQuickReplyContextChips(reply: PraxisAssistantShellQuickReply): readonly QuickReplyContextChip[];
2160
+ protected getQuickReplyPresentationItems(reply: PraxisAssistantShellQuickReply): readonly QuickReplyPresentationItem[];
2161
+ private defaultQuickReplyPresentation;
2162
+ protected getQuickReplyCategoryLabel(reply: PraxisAssistantShellQuickReply): string;
2163
+ protected getQuickReplyIcon(reply: PraxisAssistantShellQuickReply): string;
2164
+ protected getQuickReplyCtaLabel(reply: PraxisAssistantShellQuickReply): string;
2165
+ protected getQuickReplyTone(reply: PraxisAssistantShellQuickReply): string;
2166
+ private normalizeQuickReplyTone;
2167
+ private asRecord;
2168
+ private stringHint;
2169
+ private quickReplyHint;
2170
+ private hasQuickReplyResourceContext;
2171
+ private isFieldDiscoveryQuickReply;
2172
+ protected isContextualPreviewActionQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2173
+ protected isGuidedActionQuickReply(reply: PraxisAssistantShellQuickReply): boolean;
2174
+ private quickReplyPresentation;
2175
+ private quickReplyPresentationKind;
2176
+ private presentationEvidenceToChip;
2177
+ private getContextualActionChips;
2178
+ private isGenericContextualActionDescription;
2179
+ private trimSentencePunctuation;
2180
+ private shortPathLabel;
2181
+ private shortTechnicalLabel;
2182
+ protected getCloseIcon(): string;
2183
+ private normalizeShellAction;
1533
2184
  protected onRemoveAttachment(attachment: PraxisAssistantShellAttachment): void;
1534
2185
  protected onMessageAction(message: PraxisAssistantShellMessage, action: PraxisAssistantShellMessageAction): void;
2186
+ protected getMessageActionIcon(action: PraxisAssistantShellMessageAction): string;
2187
+ protected getMessageActionLabel(action: PraxisAssistantShellMessageAction): string;
2188
+ protected isMessageActionIconOnly(action: PraxisAssistantShellMessageAction): boolean;
1535
2189
  protected getModeLabel(): string;
1536
2190
  protected getStateLabel(): string;
1537
2191
  protected startDrag(event: PointerEvent): void;
1538
- protected startResize(event: PointerEvent): void;
2192
+ protected startResize(direction: ResizeDirection, event: PointerEvent): void;
2193
+ protected trackResizeHandle(_index: number, direction: ResizeDirection): ResizeDirection;
1539
2194
  protected trackMessage(_index: number, message: PraxisAssistantShellMessage): string;
1540
2195
  protected trackMessageAction(_index: number, action: PraxisAssistantShellMessageAction): string;
1541
2196
  protected trackQuickReply(_index: number, reply: PraxisAssistantShellQuickReply): string;
@@ -1543,9 +2198,10 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1543
2198
  protected trackAttachment(_index: number, attachment: PraxisAssistantShellAttachment): string;
1544
2199
  private startPointerSession;
1545
2200
  private handlePointerMove;
2201
+ private resizeLayout;
1546
2202
  private finishPointerSession;
1547
2203
  private detachPointerListeners;
1548
- private resolveBounds;
2204
+ private resolveViewportBounds;
1549
2205
  private normalizeLayout;
1550
2206
  private clampLayout;
1551
2207
  private clamp;
@@ -1557,7 +2213,52 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1557
2213
  private revokeAllOwnedPreviewUrls;
1558
2214
  private revokeOwnedPreviewUrl;
1559
2215
  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>;
2216
+ 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>;
2217
+ }
2218
+
2219
+ type PraxisAssistantDockTone = 'ready' | 'working' | 'review' | 'governed' | 'error';
2220
+ declare class PraxisAiAssistantDockComponent {
2221
+ title: string;
2222
+ summary: string;
2223
+ badge: string;
2224
+ icon: string;
2225
+ state: PraxisAssistantShellState | null;
2226
+ tone: PraxisAssistantDockTone | null;
2227
+ ariaLabel: string;
2228
+ openAriaLabel: string;
2229
+ openTooltip: string;
2230
+ testId: string;
2231
+ openTestId: string;
2232
+ open: EventEmitter<void>;
2233
+ resolvedTone(): PraxisAssistantDockTone;
2234
+ resolvedIcon(): string;
2235
+ resolvedBadge(): string;
2236
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantDockComponent, never>;
2237
+ 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>;
2238
+ }
2239
+
2240
+ declare class PraxisAiAssistantSessionHostComponent {
2241
+ private readonly registry;
2242
+ testId: string;
2243
+ dockTestIdPrefix: string;
2244
+ ariaLabel: string;
2245
+ openAriaLabel: string;
2246
+ openTooltip: string;
2247
+ ownerType: string | null;
2248
+ ownerId: string | null;
2249
+ visibility: PraxisAssistantSessionVisibility | 'all';
2250
+ includeOriginAnchored: boolean;
2251
+ sessionOpen: EventEmitter<PraxisAssistantSessionSnapshot>;
2252
+ visibleSessions(): readonly PraxisAssistantSessionSnapshot[];
2253
+ openSession(sessionId: string): void;
2254
+ sessionAriaLabel(session: PraxisAssistantSessionSnapshot): string;
2255
+ dockTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2256
+ dockOpenTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2257
+ trackSession(_index: number, session: PraxisAssistantSessionSnapshot): string;
2258
+ private safeId;
2259
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantSessionHostComponent, never>;
2260
+ 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>;
2261
+ static ngAcceptInputType_includeOriginAnchored: unknown;
1561
2262
  }
1562
2263
 
1563
2264
  declare class AiContextBuilderService {
@@ -1566,7 +2267,7 @@ declare class AiContextBuilderService {
1566
2267
  /**
1567
2268
  * Builds the complete context for the AI prompt
1568
2269
  */
1569
- buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column', propertySchema: RulePropertySchema): PromptContext;
2270
+ buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', propertySchema: RulePropertySchema): PromptContext;
1570
2271
  buildRulePrompt(userPrompt: string, context: PromptContext): string;
1571
2272
  buildSuggestionPrompt(context: PromptContext): string;
1572
2273
  /**
@@ -1595,7 +2296,7 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1595
2296
  private snackBar;
1596
2297
  private contextBuilder;
1597
2298
  private cdr;
1598
- selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column';
2299
+ selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
1599
2300
  userPrompt: string;
1600
2301
  isGenerating: boolean;
1601
2302
  validationError: string | null;
@@ -1631,5 +2332,5 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1631
2332
  static ɵcmp: i0.ɵɵComponentDeclaration<AiRuleWizardDialogComponent, "praxis-ai-rule-wizard-dialog", never, {}, {}, never, never, true, never>;
1632
2333
  }
1633
2334
 
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 };
2335
+ 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, createComponentAuthoringContext, createPraxisAssistantViewportLayout, normalizeAuthoringPrompt, normalizePraxisAssistantAttachmentSummary, normalizePraxisAssistantContextSnapshot, sanitizePraxisAssistantText, shouldRoutePromptToGovernedDecision, toAiJsonObject, toPraxisAssistantConversationMessages };
2336
+ 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, 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, PraxisAssistantOwnerType, PraxisAssistantPendingClarification, 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, ProblemResponseContract, PromptContext, RulePropertyDefinition, RulePropertySchema, RulePropertyType, ValidationContext, ValueKind };