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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -18,8 +18,9 @@ declare class PraxisAi {
18
18
  * Do not edit manually. Run praxis-config-starter/tools/contracts/generate-ai-contract-bindings.js.
19
19
  */
20
20
  declare const AI_CONTRACT_VERSION: "v1.1";
21
- declare const AI_CONTRACT_SCHEMA_HASH: "922e6d48637e64b403562d6d7cb833ed4942ffb0b452ec3573255871f4ec8739";
21
+ declare const AI_CONTRACT_SCHEMA_HASH: "42af43aec91777def176def87d2f41d30c8dbc8abb6c21dc38b5e181a1a51f4f";
22
22
  declare const AI_STREAM_EVENT_SCHEMA_VERSION: "v1";
23
+ declare const AI_DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION: "praxis.ai.context-hints.domain-catalog/v0.2";
23
24
  declare const AI_STREAM_EVENT_TYPES: readonly ["status", "thought.step", "heartbeat", "result", "error", "cancelled"];
24
25
  type AiJsonPrimitive = string | number | boolean | null;
25
26
  type AiJsonArray = AiJsonValue[];
@@ -27,6 +28,41 @@ interface AiJsonObject {
27
28
  [key: string]: AiJsonValue;
28
29
  }
29
30
  type AiJsonValue = AiJsonPrimitive | AiJsonObject | AiJsonArray;
31
+ type AiDomainCatalogContextHintItemType = 'context' | 'node' | 'edge' | 'binding' | 'evidence' | 'governance' | 'vocabulary' | 'relationship';
32
+ type AiDomainCatalogContextHintIntent = 'authoring' | 'explain' | 'validate' | 'ai-access-control';
33
+ type AiDomainCatalogRecommendedAuthoringFlow = 'shared_rule_authoring' | 'component_authoring' | 'ui_composition_authoring';
34
+ type AiDomainCatalogRecommendedRuleType = 'privacy' | 'compliance' | 'validation' | 'selection_eligibility' | 'workflow_action_policy' | 'approval_policy' | string;
35
+ interface AiDomainCatalogRelationshipHintContract {
36
+ enabled?: boolean;
37
+ federated?: boolean;
38
+ serviceKey?: string | null;
39
+ sourceNodeKey?: string | null;
40
+ targetNodeKey?: string | null;
41
+ edgeType?: string | null;
42
+ query?: string | null;
43
+ limit?: number;
44
+ }
45
+ interface AiDomainCatalogContextHintContract {
46
+ schemaVersion?: typeof AI_DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION;
47
+ serviceKey?: string;
48
+ resourceKey?: string | null;
49
+ releaseId?: string | null;
50
+ releaseKey?: string | null;
51
+ type?: AiDomainCatalogContextHintItemType;
52
+ itemTypes?: AiDomainCatalogContextHintItemType[];
53
+ intent?: AiDomainCatalogContextHintIntent | null;
54
+ query?: string | null;
55
+ contextKey?: string | null;
56
+ nodeType?: string | null;
57
+ recommendedAuthoringFlow?: AiDomainCatalogRecommendedAuthoringFlow | null;
58
+ recommendedRuleType?: AiDomainCatalogRecommendedRuleType | null;
59
+ limit?: number;
60
+ relationships?: AiDomainCatalogRelationshipHintContract | null;
61
+ }
62
+ interface AiContextHintsContract {
63
+ domainCatalog?: AiDomainCatalogContextHintContract;
64
+ [key: string]: AiJsonValue | AiDomainCatalogContextHintContract | undefined;
65
+ }
30
66
  interface AiSchemaContextContract {
31
67
  path?: string | null;
32
68
  operation?: string | null;
@@ -64,7 +100,7 @@ interface AiOrchestratorRequestContract {
64
100
  schemaFields?: AiJsonObject[] | null;
65
101
  runtimeState?: AiJsonObject | null;
66
102
  suggestedPatch?: AiJsonObject | null;
67
- contextHints?: AiJsonObject | null;
103
+ contextHints?: AiContextHintsContract | null;
68
104
  aiMode?: string;
69
105
  requireSchema?: boolean;
70
106
  resourcePath?: string;
@@ -86,7 +122,7 @@ interface AiOptionContract {
86
122
  value?: string | null;
87
123
  label?: string | null;
88
124
  example?: string | null;
89
- contextHints?: AiJsonObject | null;
125
+ contextHints?: AiContextHintsContract | null;
90
126
  }
91
127
  interface AiClarificationUiContract {
92
128
  responseType?: 'text' | 'choice' | 'confirm' | 'mixed' | 'context';
@@ -161,6 +197,7 @@ interface AgenticAuthoringIntentResolutionRequestContract extends AgenticAuthori
161
197
  provider?: string | null;
162
198
  model?: string | null;
163
199
  apiKey?: string | null;
200
+ contextHints?: AiContextHintsContract | null;
164
201
  }
165
202
  interface AgenticAuthoringCandidateContract {
166
203
  resourcePath?: string | null;
@@ -178,7 +215,11 @@ interface AgenticAuthoringQuickReplyContract {
178
215
  kind: string;
179
216
  label: string;
180
217
  prompt: string;
181
- [key: string]: AiJsonValue | undefined;
218
+ description?: string | null;
219
+ icon?: string | null;
220
+ tone?: string | null;
221
+ contextHints?: AiContextHintsContract | null;
222
+ [key: string]: AiJsonValue | AiContextHintsContract | undefined;
182
223
  }
183
224
  interface AgenticAuthoringIntentResolutionResultContract {
184
225
  valid?: boolean;
@@ -195,8 +236,27 @@ interface AgenticAuthoringIntentResolutionResultContract {
195
236
  clarificationQuestions?: string[];
196
237
  warnings?: string[];
197
238
  failureCodes?: string[];
239
+ llmDiagnostics?: AiJsonObject | null;
198
240
  [key: string]: AiJsonValue | AgenticAuthoringCandidateContract | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract | AgenticAuthoringQuickReplyContract[] | AgenticAuthoringPendingClarificationContract | undefined;
199
241
  }
242
+ interface AgenticAuthoringResourceCandidatesRequestContract {
243
+ retrievalQuery?: string | null;
244
+ userPrompt?: string | null;
245
+ artifactKind?: string | null;
246
+ limit?: number | null;
247
+ [key: string]: AiJsonValue | undefined;
248
+ }
249
+ interface AgenticAuthoringResourceCandidatesResultContract {
250
+ valid?: boolean;
251
+ tool?: string | null;
252
+ retrievalQuery?: string | null;
253
+ artifactKind?: string | null;
254
+ assistantMessage?: string | null;
255
+ candidates?: AgenticAuthoringCandidateContract[];
256
+ quickReplies?: AgenticAuthoringQuickReplyContract[];
257
+ warnings?: string[];
258
+ [key: string]: AiJsonValue | AgenticAuthoringCandidateContract[] | AgenticAuthoringQuickReplyContract[] | undefined;
259
+ }
200
260
  interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversationContextContract {
201
261
  userPrompt: string;
202
262
  provider?: string | null;
@@ -204,6 +264,21 @@ interface AgenticAuthoringPlanRequestContract extends AgenticAuthoringConversati
204
264
  apiKey?: string | null;
205
265
  currentPage?: AiJsonObject | null;
206
266
  intentResolution?: AgenticAuthoringIntentResolutionResultContract | null;
267
+ contextHints?: AiContextHintsContract | null;
268
+ }
269
+ interface AgenticAuthoringTurnStreamRequestContract extends AgenticAuthoringConversationContextContract {
270
+ userPrompt: string;
271
+ targetApp?: string | null;
272
+ targetComponentId?: string | null;
273
+ currentRoute?: string | null;
274
+ currentPage?: AiJsonObject | null;
275
+ selectedWidgetKey?: string | null;
276
+ provider?: string | null;
277
+ model?: string | null;
278
+ apiKey?: string | null;
279
+ contextHints?: AiContextHintsContract | null;
280
+ componentCapabilities?: AgenticAuthoringComponentCapabilitiesResultContract | null;
281
+ [key: string]: AiJsonValue | AiContextHintsContract | AgenticAuthoringComponentCapabilitiesResultContract | AgenticAuthoringConversationMessageContract[] | AgenticAuthoringPendingClarificationContract | AgenticAuthoringAttachmentSummaryContract[] | undefined;
207
282
  }
208
283
  interface AgenticAuthoringPreviewResultContract {
209
284
  valid?: boolean;
@@ -227,10 +302,68 @@ interface AgenticAuthoringApplyResultContract {
227
302
  etag?: string | null;
228
303
  [key: string]: AiJsonValue | undefined;
229
304
  }
305
+ interface AgenticAuthoringComponentFieldAliasContract {
306
+ field?: string | null;
307
+ aliases?: string[];
308
+ [key: string]: AiJsonValue | undefined;
309
+ }
310
+ interface AgenticAuthoringComponentCapabilityExampleContract {
311
+ prompt?: string | null;
312
+ intent?: string | null;
313
+ configHints?: string[];
314
+ [key: string]: AiJsonValue | undefined;
315
+ }
316
+ interface AgenticAuthoringComponentCapabilityContract {
317
+ id?: string | null;
318
+ changeKind?: string | null;
319
+ triggerTerms?: string[];
320
+ fieldAliases?: AgenticAuthoringComponentFieldAliasContract[];
321
+ examples?: AgenticAuthoringComponentCapabilityExampleContract[];
322
+ [key: string]: AiJsonValue | AgenticAuthoringComponentFieldAliasContract[] | AgenticAuthoringComponentCapabilityExampleContract[] | undefined;
323
+ }
324
+ interface AgenticAuthoringComponentCapabilityCatalogContract {
325
+ componentId?: string | null;
326
+ version?: string | null;
327
+ capabilities?: AgenticAuthoringComponentCapabilityContract[];
328
+ [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilityContract[] | undefined;
329
+ }
230
330
  interface AgenticAuthoringComponentCapabilitiesResultContract {
231
331
  version?: string | null;
232
- catalogs?: AiJsonObject[];
233
- [key: string]: AiJsonValue | undefined;
332
+ catalogs?: AgenticAuthoringComponentCapabilityCatalogContract[];
333
+ [key: string]: AiJsonValue | AgenticAuthoringComponentCapabilityCatalogContract[] | undefined;
334
+ }
335
+ interface AgenticAuthoringManifestEditPlanRequestContract {
336
+ config?: AiJsonObject | null;
337
+ plan?: AiJsonObject | null;
338
+ }
339
+ interface AgenticAuthoringResolveTargetRequestContract {
340
+ config?: AiJsonObject | null;
341
+ operationId?: string | null;
342
+ target?: AiJsonValue;
343
+ input?: AiJsonValue;
344
+ }
345
+ interface AgenticAuthoringResolvedTargetContract {
346
+ status?: string | null;
347
+ componentId?: string | null;
348
+ operationId?: string | null;
349
+ kind?: string | null;
350
+ resolver?: string | null;
351
+ path?: string | null;
352
+ value?: AiJsonValue;
353
+ candidates?: string[];
354
+ failures?: string[];
355
+ }
356
+ interface AgenticAuthoringManifestValidationResultContract {
357
+ valid?: boolean;
358
+ failures?: string[];
359
+ warnings?: string[];
360
+ normalizedPlan?: AiJsonObject | null;
361
+ }
362
+ interface AgenticAuthoringManifestCompileResultContract {
363
+ compiled?: boolean;
364
+ failures?: string[];
365
+ warnings?: string[];
366
+ patch?: AiJsonObject | null;
234
367
  }
235
368
  interface AiPatchStreamStartResponseContract {
236
369
  streamId: string;
@@ -242,6 +375,16 @@ interface AiPatchStreamStartResponseContract {
242
375
  expiresAt: string;
243
376
  fallbackPatchUrl: string;
244
377
  }
378
+ interface AgenticAuthoringTurnStreamStartResponseContract {
379
+ streamId: string;
380
+ threadId: string;
381
+ turnId: string;
382
+ eventSchemaVersion: string;
383
+ streamAuthMode?: 'cookie' | 'signed_url_token' | null;
384
+ streamAccessToken?: string | null;
385
+ expiresAt: string;
386
+ fallbackAuthoringUrl: string;
387
+ }
245
388
  interface AiPatchStreamCancelResponseContract {
246
389
  streamId?: string | null;
247
390
  threadId?: string | null;
@@ -260,6 +403,8 @@ interface AiPatchStreamEnvelopeContract<TPayload extends AiJsonObject = AiJsonOb
260
403
  type: AiPatchStreamEventType$1;
261
404
  payload: TPayload;
262
405
  }
406
+ interface AgenticAuthoringTurnStreamEnvelopeContract<TPayload extends AiJsonObject = AiJsonObject> extends AiPatchStreamEnvelopeContract<TPayload> {
407
+ }
263
408
  interface ProblemResponseContract {
264
409
  timestamp?: string | null;
265
410
  status?: number | null;
@@ -270,6 +415,7 @@ interface ProblemResponseContract {
270
415
  [key: string]: AiJsonValue | undefined;
271
416
  }
272
417
  type AiPatchStreamEventType$1 = (typeof AI_STREAM_EVENT_TYPES)[number];
418
+ type AiTurnStreamEventType = (typeof AI_STREAM_EVENT_TYPES)[number];
273
419
 
274
420
  /**
275
421
  * Models for Praxis AI (Centralized)
@@ -282,7 +428,7 @@ interface AiRuleResponse {
282
428
  /** Descriptive name for the rule */
283
429
  ruleName: string;
284
430
  /** Type of target (scope) */
285
- targetType: 'field' | 'section' | 'action' | 'row' | 'column';
431
+ targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
286
432
  /** IDs of the target elements */
287
433
  targetIds: string[];
288
434
  /** Canonical JSON Logic condition payload or null for always applied */
@@ -408,7 +554,119 @@ interface RulePropertyDefinition {
408
554
  }>;
409
555
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
410
556
  }
411
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
557
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
558
+
559
+ type PraxisAssistantOwnerType = 'page-builder' | 'table' | 'dynamic-form' | 'manual-form' | 'list' | 'tabs' | 'stepper' | 'expansion' | 'app-shell' | 'custom';
560
+ type PraxisAssistantComponentType = 'page-builder' | 'table' | 'form' | 'list' | 'tabs' | 'stepper' | 'expansion' | 'widget' | 'custom';
561
+ type PraxisAssistantContextMode = 'config' | 'agentic-authoring' | 'chat' | 'diagnostic' | 'review' | 'inline-help';
562
+ type PraxisAssistantTargetKind = 'component' | 'field' | 'column' | 'row' | 'section' | 'widget' | 'canvas' | 'compositionLink' | 'action' | 'rule' | 'resource' | 'custom';
563
+ type PraxisAssistantAttachmentKind = 'file' | 'image' | 'json' | 'schema' | 'text' | 'url' | 'custom';
564
+ 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';
565
+ type PraxisAssistantRiskLevel = 'low' | 'medium' | 'high' | 'blocked';
566
+ interface PraxisAssistantIdentity {
567
+ sessionId: string;
568
+ ownerId: string;
569
+ ownerType: PraxisAssistantOwnerType | string;
570
+ componentId?: string;
571
+ componentType?: PraxisAssistantComponentType | string;
572
+ routeKey?: string;
573
+ tenantId?: string;
574
+ env?: string;
575
+ userId?: string;
576
+ }
577
+ interface PraxisAssistantTargetRef {
578
+ kind: PraxisAssistantTargetKind | string;
579
+ id: string;
580
+ label?: string;
581
+ path?: string;
582
+ schemaPath?: string;
583
+ metadata?: Readonly<Record<string, string | number | boolean>>;
584
+ }
585
+ interface PraxisAssistantContextItem {
586
+ id: string;
587
+ label: string;
588
+ value: string;
589
+ kind?: string;
590
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
591
+ }
592
+ interface PraxisAssistantDigest {
593
+ label?: string;
594
+ summary?: string;
595
+ hash?: string;
596
+ source?: string;
597
+ fields?: readonly string[];
598
+ counts?: Readonly<Record<string, number>>;
599
+ }
600
+ interface PraxisAssistantAuthoringManifestRef {
601
+ componentId: string;
602
+ version?: string;
603
+ source?: string;
604
+ hash?: string;
605
+ }
606
+ interface PraxisAssistantCapabilityRef {
607
+ id: string;
608
+ label?: string;
609
+ source?: string;
610
+ risk?: PraxisAssistantRiskLevel;
611
+ }
612
+ interface PraxisAssistantGovernanceHint {
613
+ kind: string;
614
+ label?: string;
615
+ reason?: string;
616
+ target?: string;
617
+ risk?: PraxisAssistantRiskLevel;
618
+ }
619
+ interface PraxisAssistantAttachmentSummary {
620
+ id: string;
621
+ name: string;
622
+ kind: PraxisAssistantAttachmentKind | string;
623
+ mimeType?: string;
624
+ sizeBytes?: number;
625
+ source?: string;
626
+ hasPreview?: boolean;
627
+ }
628
+ interface PraxisAssistantActionContract {
629
+ id: string;
630
+ kind: PraxisAssistantActionKind | string;
631
+ label?: string;
632
+ target?: PraxisAssistantTargetRef;
633
+ capabilityRef?: string;
634
+ risk?: PraxisAssistantRiskLevel;
635
+ handoffEndpoint?: string;
636
+ description?: string;
637
+ }
638
+ interface PraxisAssistantContextSnapshot {
639
+ identity: PraxisAssistantIdentity;
640
+ target?: PraxisAssistantTargetRef;
641
+ contextItems: readonly PraxisAssistantContextItem[];
642
+ mode: PraxisAssistantContextMode;
643
+ authoringManifestRef?: PraxisAssistantAuthoringManifestRef;
644
+ resourcePath?: string;
645
+ schemaFields?: readonly string[];
646
+ dataProfileDigest?: PraxisAssistantDigest;
647
+ runtimeStateDigest?: PraxisAssistantDigest;
648
+ capabilityRefs?: readonly PraxisAssistantCapabilityRef[];
649
+ governanceHints?: readonly PraxisAssistantGovernanceHint[];
650
+ riskHints?: readonly PraxisAssistantGovernanceHint[];
651
+ attachmentSummaries?: readonly PraxisAssistantAttachmentSummary[];
652
+ actions?: readonly PraxisAssistantActionContract[];
653
+ }
654
+ interface PraxisAssistantOpenRequest {
655
+ initialPrompt?: string;
656
+ target?: PraxisAssistantTargetRef;
657
+ mode?: PraxisAssistantContextMode;
658
+ visibility?: 'active' | 'minimized';
659
+ contextHints?: Readonly<Record<string, string | number | boolean>>;
660
+ preferredAction?: PraxisAssistantActionContract;
661
+ selection?: PraxisAssistantTargetRef;
662
+ }
663
+ declare const PRAXIS_ASSISTANT_CONTEXT_TEXT_LIMIT = 160;
664
+ declare const PRAXIS_ASSISTANT_CONTEXT_ITEM_LIMIT = 12;
665
+ declare const PRAXIS_ASSISTANT_CONTEXT_SCHEMA_FIELD_LIMIT = 40;
666
+ declare const PRAXIS_ASSISTANT_CONTEXT_ATTACHMENT_LIMIT = 8;
667
+ declare function sanitizePraxisAssistantText(value: unknown, limit?: number): string;
668
+ declare function normalizePraxisAssistantAttachmentSummary(attachment: unknown): PraxisAssistantAttachmentSummary | null;
669
+ declare function normalizePraxisAssistantContextSnapshot(value: unknown): PraxisAssistantContextSnapshot;
412
670
 
413
671
  type PraxisAssistantShellMessageRole = 'user' | 'assistant' | 'system' | 'status' | 'error';
414
672
  type PraxisAssistantShellMode = 'config' | 'agentic-authoring' | 'chat' | 'diagnostic' | 'review' | 'inline-help';
@@ -427,12 +685,32 @@ interface PraxisAssistantShellQuickReply {
427
685
  label: string;
428
686
  prompt: string;
429
687
  kind?: string;
688
+ description?: string | null;
689
+ icon?: string | null;
690
+ tone?: string | null;
691
+ contextHints?: Readonly<Record<string, unknown>> | null;
430
692
  }
431
693
  interface PraxisAssistantShellMessageAction {
432
694
  id: string;
433
695
  label: string;
434
696
  kind?: 'edit' | 'resend' | 'copy' | 'custom' | string;
697
+ icon?: string | null;
698
+ ariaLabel?: string | null;
699
+ iconOnly?: boolean;
700
+ disabled?: boolean;
701
+ }
702
+ type PraxisAssistantShellActionTone = 'primary' | 'secondary' | 'governance' | 'success' | 'warning' | 'danger' | 'neutral' | string;
703
+ interface PraxisAssistantShellAction {
704
+ id: string;
705
+ label: string;
706
+ kind?: 'submit-prompt' | 'apply' | 'retry' | 'cancel' | 'simulate' | 'review' | 'publish' | 'materialize' | 'correct' | 'custom' | string;
707
+ icon?: string | null;
708
+ tone?: PraxisAssistantShellActionTone | null;
435
709
  disabled?: boolean;
710
+ requiresPrompt?: boolean;
711
+ testId?: string | null;
712
+ ariaLabel?: string | null;
713
+ iconOnly?: boolean;
436
714
  }
437
715
  interface PraxisAssistantShellContextItem {
438
716
  id: string;
@@ -459,6 +737,13 @@ interface PraxisAssistantShellLayout {
459
737
  width: number;
460
738
  height: number;
461
739
  }
740
+ interface PraxisAssistantViewportLayoutOptions {
741
+ width?: number;
742
+ height?: number;
743
+ top?: number;
744
+ margin?: number;
745
+ }
746
+ declare function createPraxisAssistantViewportLayout(options?: PraxisAssistantViewportLayoutOptions): PraxisAssistantShellLayout;
462
747
  interface PraxisAssistantShellLabels {
463
748
  title: string;
464
749
  subtitle?: string;
@@ -470,8 +755,10 @@ interface PraxisAssistantShellLabels {
470
755
  apply: string;
471
756
  conversationAria: string;
472
757
  quickRepliesAria: string;
758
+ quickReplyDetails?: string;
473
759
  dragHandleAria: string;
474
760
  resizeHandleAria: string;
761
+ resetLayout?: string;
475
762
  contextAria: string;
476
763
  attachmentsAria: string;
477
764
  attach: string;
@@ -516,6 +803,7 @@ interface PraxisAssistantTurnAction {
516
803
  kind: 'submit' | 'clarify' | 'apply' | 'cancel' | 'retry' | 'edit-message' | 'resend-message' | 'attach' | 'remove-attachment' | string;
517
804
  id?: string;
518
805
  value?: unknown;
806
+ displayPrompt?: string;
519
807
  contextHints?: Record<string, unknown>;
520
808
  }
521
809
  interface PraxisAssistantPendingClarification {
@@ -525,6 +813,13 @@ interface PraxisAssistantPendingClarification {
525
813
  clientTurnId?: string;
526
814
  diagnostics?: Record<string, unknown>;
527
815
  }
816
+ type PraxisAssistantConversationMessageRole = 'user' | 'assistant' | 'system';
817
+ interface PraxisAssistantConversationMessage {
818
+ id: string;
819
+ role: PraxisAssistantConversationMessageRole;
820
+ text: string;
821
+ }
822
+ declare function toPraxisAssistantConversationMessages(messages: readonly PraxisAssistantShellMessage[], limit?: number): PraxisAssistantConversationMessage[];
528
823
  interface PraxisAssistantTurnRequest {
529
824
  mode: PraxisAssistantShellMode;
530
825
  phase?: PraxisAssistantTurnPhase;
@@ -784,8 +1079,6 @@ declare class PraxisAiService {
784
1079
  generateContentStream(prompt: string, modelName?: string): Observable<string>;
785
1080
  generateJson<T>(prompt: string, modelName?: string, schema?: any): Observable<T | null>;
786
1081
  isMockMode(): boolean;
787
- private extractUserIntent;
788
- private getMockPatch;
789
1082
  listModels(apiKey?: string): Observable<AiModel[]>;
790
1083
  testConnection(apiKey?: string, model?: string): Observable<boolean>;
791
1084
  private resolveProvider;
@@ -795,7 +1088,7 @@ declare class PraxisAiService {
795
1088
  }
796
1089
 
797
1090
  declare const AI_INTENT_CONTRACT_VERSION: "v1.1";
798
- declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "922e6d48637e64b403562d6d7cb833ed4942ffb0b452ec3573255871f4ec8739";
1091
+ declare const AI_INTENT_CONTRACT_SCHEMA_HASH: "42af43aec91777def176def87d2f41d30c8dbc8abb6c21dc38b5e181a1a51f4f";
799
1092
  type AiSchemaContext = AiSchemaContextContract;
800
1093
  interface AiSuggestionsRequest {
801
1094
  componentId: string;
@@ -828,10 +1121,22 @@ type AiPatchStreamEventType = AiPatchStreamEventType$1;
828
1121
  type AiPatchStreamStartResponse = AiPatchStreamStartResponseContract;
829
1122
  type AiPatchStreamCancelResponse = AiPatchStreamCancelResponseContract;
830
1123
  type AiPatchStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AiPatchStreamEnvelopeContract<TPayload>;
1124
+ type AgenticAuthoringManifestEditPlanRequest = AgenticAuthoringManifestEditPlanRequestContract;
1125
+ type AgenticAuthoringResolveTargetRequest = AgenticAuthoringResolveTargetRequestContract;
1126
+ type AgenticAuthoringResolvedTarget = AgenticAuthoringResolvedTargetContract;
1127
+ type AgenticAuthoringManifestValidationResult = AgenticAuthoringManifestValidationResultContract;
1128
+ type AgenticAuthoringManifestCompileResult = AgenticAuthoringManifestCompileResultContract;
1129
+ type AgenticAuthoringTurnStreamRequest = AgenticAuthoringTurnStreamRequestContract;
1130
+ type AgenticAuthoringTurnStreamStartResponse = AgenticAuthoringTurnStreamStartResponseContract;
1131
+ type AgenticAuthoringTurnStreamEnvelope<TPayload extends AiJsonObject = AiJsonObject> = AgenticAuthoringTurnStreamEnvelopeContract<TPayload>;
831
1132
  interface AiPatchStreamConnection {
832
1133
  events$: Observable<AiPatchStreamEnvelope>;
833
1134
  close: () => void;
834
1135
  }
1136
+ interface AgenticAuthoringTurnStreamConnection {
1137
+ events$: Observable<AgenticAuthoringTurnStreamEnvelope>;
1138
+ close: () => void;
1139
+ }
835
1140
  type AiPatchStreamConnectionErrorKind = 'unsupported' | 'http_status' | 'transport' | 'parse' | 'schema';
836
1141
  declare class AiPatchStreamConnectionError extends Error {
837
1142
  readonly kind: AiPatchStreamConnectionErrorKind;
@@ -937,17 +1242,27 @@ declare class AiBackendApiService {
937
1242
  startPatchStream(request: AiOrchestratorRequest): Observable<AiPatchStreamStartResponse>;
938
1243
  connectPatchStream(streamId: string, lastEventId?: string, accessToken?: string): AiPatchStreamConnection;
939
1244
  cancelPatchStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
1245
+ startAgenticAuthoringTurnStream(request: AgenticAuthoringTurnStreamRequest): Observable<AgenticAuthoringTurnStreamStartResponse>;
1246
+ connectAgenticAuthoringTurnStream(streamId: string, lastEventId?: string, accessToken?: string): AgenticAuthoringTurnStreamConnection;
1247
+ cancelAgenticAuthoringTurnStream(streamId: string, accessToken?: string): Observable<AiPatchStreamCancelResponse>;
940
1248
  listModels(request: AiProviderModelsRequest): Observable<AiProviderModelsResponse>;
941
1249
  listProviderCatalog(): Observable<AiProviderCatalogResponse>;
942
1250
  testProvider(request: AiProviderTestRequest): Observable<AiProviderTestResponse>;
943
1251
  getAiStatus(): Observable<AiProviderStatusResponse>;
944
1252
  getAiContext(componentId: string, componentType: string): Observable<AiContextDTO>;
1253
+ getAgenticAuthoringManifest(componentId: string): Observable<AiJsonObject>;
1254
+ listAgenticAuthoringManifestTargets(componentId: string): Observable<AiJsonObject[]>;
1255
+ listAgenticAuthoringManifestOperations(componentId: string): Observable<AiJsonObject[]>;
1256
+ resolveAgenticAuthoringManifestTarget(componentId: string, request: AgenticAuthoringResolveTargetRequest): Observable<AgenticAuthoringResolvedTarget>;
1257
+ validateAgenticAuthoringManifestPlan(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestValidationResult>;
1258
+ compileAgenticAuthoringManifestPatch(componentId: string, request: AgenticAuthoringManifestEditPlanRequest): Observable<AgenticAuthoringManifestCompileResult>;
945
1259
  loadGlobalAiConfig(): Observable<AiGlobalConfigSnapshot | null>;
946
1260
  saveGlobalAiConfig(aiConfig: AiGlobalConfigSnapshot): Observable<void>;
947
1261
  getHeaderContext(): AiHeaderContext;
948
1262
  private buildHeaders;
949
1263
  private normalizeContractVersion;
950
1264
  private normalizeContractSchemaHash;
1265
+ private authoringManifestUrl;
951
1266
  private resolveHeaderMap;
952
1267
  private parsePatchStreamEnvelope;
953
1268
  private isPatchStreamEnvelope;
@@ -973,6 +1288,7 @@ declare class AiResponseValidatorService {
973
1288
  private validateJsonLogicExpression;
974
1289
  private walkJsonLogicNode;
975
1290
  private isSupportedJsonLogicOperator;
1291
+ private validateJsonLogicOperatorArity;
976
1292
  private collectVarPaths;
977
1293
  private isValidTargetId;
978
1294
  private findSimilarTargetId;
@@ -1038,6 +1354,68 @@ declare class PraxisAssistantTurnController {
1038
1354
  private toObservable;
1039
1355
  }
1040
1356
 
1357
+ type PraxisAssistantSessionVisibility = 'active' | 'minimized';
1358
+ interface PraxisAssistantSessionDescriptor {
1359
+ id: string;
1360
+ ownerId: string;
1361
+ ownerType: string;
1362
+ title: string;
1363
+ summary?: string | null;
1364
+ mode?: PraxisAssistantShellMode | null;
1365
+ state?: PraxisAssistantShellState | null;
1366
+ visibility?: PraxisAssistantSessionVisibility | null;
1367
+ contextItems?: readonly PraxisAssistantShellContextItem[] | null;
1368
+ contextSnapshot?: PraxisAssistantContextSnapshot | null;
1369
+ badge?: string | null;
1370
+ icon?: string | null;
1371
+ updatedAt?: string | null;
1372
+ }
1373
+ interface PraxisAssistantSessionSnapshot {
1374
+ id: string;
1375
+ ownerId: string;
1376
+ ownerType: string;
1377
+ title: string;
1378
+ summary: string;
1379
+ mode: PraxisAssistantShellMode;
1380
+ state: PraxisAssistantShellState;
1381
+ visibility: PraxisAssistantSessionVisibility;
1382
+ contextItems: readonly PraxisAssistantShellContextItem[];
1383
+ contextSnapshot: PraxisAssistantContextSnapshot | null;
1384
+ badge: string;
1385
+ icon: string;
1386
+ createdAt: string;
1387
+ updatedAt: string;
1388
+ }
1389
+ type PraxisAssistantSessionIdentityRef = string | PraxisAssistantIdentity | PraxisAssistantContextSnapshot;
1390
+ type PraxisAssistantContextSessionDescriptor = Omit<PraxisAssistantSessionDescriptor, 'id' | 'ownerId' | 'ownerType' | 'title' | 'contextSnapshot'> & {
1391
+ title?: string;
1392
+ };
1393
+ declare class PraxisAssistantSessionRegistryService {
1394
+ private readonly sessionsState;
1395
+ readonly sessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1396
+ readonly activeSession: i0.Signal<PraxisAssistantSessionSnapshot | null>;
1397
+ readonly minimizedSessions: i0.Signal<PraxisAssistantSessionSnapshot[]>;
1398
+ upsertSession(descriptor: PraxisAssistantSessionDescriptor): PraxisAssistantSessionSnapshot;
1399
+ upsertContextSession(contextSnapshot: PraxisAssistantContextSnapshot, descriptor?: PraxisAssistantContextSessionDescriptor): PraxisAssistantSessionSnapshot;
1400
+ openSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1401
+ openContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1402
+ minimizeSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1403
+ minimizeContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1404
+ removeSession(sessionId: string): void;
1405
+ removeContextSession(identity: PraxisAssistantSessionIdentityRef): void;
1406
+ getSession(sessionId: string): PraxisAssistantSessionSnapshot | null;
1407
+ getContextSession(identity: PraxisAssistantSessionIdentityRef): PraxisAssistantSessionSnapshot | null;
1408
+ clear(): void;
1409
+ private setVisibility;
1410
+ private resolveSessionId;
1411
+ private normalizeDescriptor;
1412
+ private assertContextIdentity;
1413
+ private toShellContextItems;
1414
+ private sortSessions;
1415
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAssistantSessionRegistryService, never>;
1416
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisAssistantSessionRegistryService>;
1417
+ }
1418
+
1041
1419
  type AssistantMessageRole = 'user' | 'assistant' | 'system';
1042
1420
  interface AssistantHistoryMessage {
1043
1421
  id: string;
@@ -1077,7 +1455,7 @@ interface ClarificationOption {
1077
1455
  value: string;
1078
1456
  example?: string;
1079
1457
  }
1080
- type ClarificationContextHints = AiJsonObject;
1458
+ type ClarificationContextHints = AiContextHintsContract;
1081
1459
  interface ClarificationRichOption extends ClarificationOption {
1082
1460
  contextHints?: ClarificationContextHints;
1083
1461
  }
@@ -1411,6 +1789,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1411
1789
  private hasBadgeColors;
1412
1790
  private hasBadgeField;
1413
1791
  private mergeContextHints;
1792
+ private enrichDomainCatalogAuthoringHints;
1414
1793
  private setResourcePathHint;
1415
1794
  private clearResourcePathHint;
1416
1795
  private matchClarificationOptionPath;
@@ -1466,6 +1845,7 @@ declare class PraxisAiAssistantComponent implements OnDestroy {
1466
1845
  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
1846
  }
1468
1847
 
1848
+ type ResizeDirection = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
1469
1849
  declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1470
1850
  labels: Partial<PraxisAssistantShellLabels> | null;
1471
1851
  mode: PraxisAssistantShellMode;
@@ -1481,10 +1861,15 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1481
1861
  panelTestId: string;
1482
1862
  submitTestId: string;
1483
1863
  applyTestId: string;
1864
+ primaryAction: PraxisAssistantShellAction | null;
1865
+ secondaryActions: readonly PraxisAssistantShellAction[];
1866
+ governanceActions: readonly PraxisAssistantShellAction[];
1484
1867
  busy: boolean;
1485
1868
  canSubmit: boolean;
1486
1869
  canApply: boolean;
1487
1870
  submitOnEnter: boolean;
1871
+ showAttachAction: boolean;
1872
+ enablePastedAttachments: boolean;
1488
1873
  enableFileAttachments: boolean;
1489
1874
  attachmentAccept: string;
1490
1875
  attachmentMultiple: boolean;
@@ -1497,6 +1882,9 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1497
1882
  promptChange: EventEmitter<string>;
1498
1883
  submitPrompt: EventEmitter<string>;
1499
1884
  apply: EventEmitter<void>;
1885
+ retryTurn: EventEmitter<void>;
1886
+ cancelTurn: EventEmitter<void>;
1887
+ shellAction: EventEmitter<PraxisAssistantShellAction>;
1500
1888
  close: EventEmitter<void>;
1501
1889
  attach: EventEmitter<void>;
1502
1890
  attachmentsPasted: EventEmitter<PraxisAssistantShellAttachment[]>;
@@ -1516,7 +1904,9 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1516
1904
  protected currentPrompt: string;
1517
1905
  protected resolvedLabels: PraxisAssistantShellLabels;
1518
1906
  protected currentLayout: PraxisAssistantShellLayout;
1907
+ protected readonly resizeHandles: readonly ResizeDirection[];
1519
1908
  private pointerSession;
1909
+ private baselineLayout;
1520
1910
  private readonly ownedPreviewUrls;
1521
1911
  private readonly onWindowPointerMove;
1522
1912
  private readonly onWindowPointerUp;
@@ -1529,13 +1919,35 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1529
1919
  protected onAttachClick(fileInput: HTMLInputElement): void;
1530
1920
  protected onAttachmentFilesSelected(event: Event): void;
1531
1921
  protected onApply(): void;
1922
+ protected onShellAction(action: PraxisAssistantShellAction): void;
1923
+ protected getPrimaryAction(): PraxisAssistantShellAction;
1924
+ protected getSecondaryActions(): readonly PraxisAssistantShellAction[];
1925
+ protected getPrimaryActionTooltip(action: PraxisAssistantShellAction): string;
1926
+ protected isShellActionDisabled(action: PraxisAssistantShellAction): boolean;
1927
+ protected getShellActionTone(action: PraxisAssistantShellAction): string;
1928
+ protected trackShellAction(_index: number, action: PraxisAssistantShellAction): string;
1929
+ private hasRecoverableTurn;
1930
+ private getDefaultPrimaryAction;
1532
1931
  protected onQuickReply(reply: PraxisAssistantShellQuickReply): void;
1932
+ protected getQuickReplyAriaLabel(reply: PraxisAssistantShellQuickReply): string;
1933
+ protected getQuickReplyTechnicalDetails(reply: PraxisAssistantShellQuickReply): string;
1934
+ protected getQuickReplyTone(reply: PraxisAssistantShellQuickReply): string;
1935
+ private asRecord;
1936
+ private stringHint;
1937
+ protected getCloseIcon(): string;
1938
+ protected getResetLayoutLabel(): string;
1939
+ protected resetLayout(): void;
1940
+ private normalizeShellAction;
1533
1941
  protected onRemoveAttachment(attachment: PraxisAssistantShellAttachment): void;
1534
1942
  protected onMessageAction(message: PraxisAssistantShellMessage, action: PraxisAssistantShellMessageAction): void;
1943
+ protected getMessageActionIcon(action: PraxisAssistantShellMessageAction): string;
1944
+ protected getMessageActionLabel(action: PraxisAssistantShellMessageAction): string;
1945
+ protected isMessageActionIconOnly(action: PraxisAssistantShellMessageAction): boolean;
1535
1946
  protected getModeLabel(): string;
1536
1947
  protected getStateLabel(): string;
1537
1948
  protected startDrag(event: PointerEvent): void;
1538
- protected startResize(event: PointerEvent): void;
1949
+ protected startResize(direction: ResizeDirection, event: PointerEvent): void;
1950
+ protected trackResizeHandle(_index: number, direction: ResizeDirection): ResizeDirection;
1539
1951
  protected trackMessage(_index: number, message: PraxisAssistantShellMessage): string;
1540
1952
  protected trackMessageAction(_index: number, action: PraxisAssistantShellMessageAction): string;
1541
1953
  protected trackQuickReply(_index: number, reply: PraxisAssistantShellQuickReply): string;
@@ -1543,9 +1955,10 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1543
1955
  protected trackAttachment(_index: number, attachment: PraxisAssistantShellAttachment): string;
1544
1956
  private startPointerSession;
1545
1957
  private handlePointerMove;
1958
+ private resizeLayout;
1546
1959
  private finishPointerSession;
1547
1960
  private detachPointerListeners;
1548
- private resolveBounds;
1961
+ private resolveViewportBounds;
1549
1962
  private normalizeLayout;
1550
1963
  private clampLayout;
1551
1964
  private clamp;
@@ -1557,7 +1970,50 @@ declare class PraxisAiAssistantShellComponent implements OnChanges, OnDestroy {
1557
1970
  private revokeAllOwnedPreviewUrls;
1558
1971
  private revokeOwnedPreviewUrl;
1559
1972
  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>;
1973
+ 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>;
1974
+ }
1975
+
1976
+ type PraxisAssistantDockTone = 'ready' | 'working' | 'review' | 'governed' | 'error';
1977
+ declare class PraxisAiAssistantDockComponent {
1978
+ title: string;
1979
+ summary: string;
1980
+ badge: string;
1981
+ icon: string;
1982
+ state: PraxisAssistantShellState | null;
1983
+ tone: PraxisAssistantDockTone | null;
1984
+ ariaLabel: string;
1985
+ openAriaLabel: string;
1986
+ openTooltip: string;
1987
+ testId: string;
1988
+ openTestId: string;
1989
+ open: EventEmitter<void>;
1990
+ resolvedTone(): PraxisAssistantDockTone;
1991
+ resolvedIcon(): string;
1992
+ resolvedBadge(): string;
1993
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantDockComponent, never>;
1994
+ 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>;
1995
+ }
1996
+
1997
+ declare class PraxisAiAssistantSessionHostComponent {
1998
+ private readonly registry;
1999
+ testId: string;
2000
+ dockTestIdPrefix: string;
2001
+ ariaLabel: string;
2002
+ openAriaLabel: string;
2003
+ openTooltip: string;
2004
+ ownerType: string | null;
2005
+ ownerId: string | null;
2006
+ visibility: PraxisAssistantSessionVisibility | 'all';
2007
+ sessionOpen: EventEmitter<PraxisAssistantSessionSnapshot>;
2008
+ visibleSessions(): readonly PraxisAssistantSessionSnapshot[];
2009
+ openSession(sessionId: string): void;
2010
+ sessionAriaLabel(session: PraxisAssistantSessionSnapshot): string;
2011
+ dockTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2012
+ dockOpenTestId(session: PraxisAssistantSessionSnapshot, first: boolean): string;
2013
+ trackSession(_index: number, session: PraxisAssistantSessionSnapshot): string;
2014
+ private safeId;
2015
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAiAssistantSessionHostComponent, never>;
2016
+ 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
2017
  }
1562
2018
 
1563
2019
  declare class AiContextBuilderService {
@@ -1566,7 +2022,7 @@ declare class AiContextBuilderService {
1566
2022
  /**
1567
2023
  * Builds the complete context for the AI prompt
1568
2024
  */
1569
- buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column', propertySchema: RulePropertySchema): PromptContext;
2025
+ buildPromptContext(fieldSchemas: Record<string, FieldSchemaLike>, targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', propertySchema: RulePropertySchema): PromptContext;
1570
2026
  buildRulePrompt(userPrompt: string, context: PromptContext): string;
1571
2027
  buildSuggestionPrompt(context: PromptContext): string;
1572
2028
  /**
@@ -1595,7 +2051,7 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1595
2051
  private snackBar;
1596
2052
  private contextBuilder;
1597
2053
  private cdr;
1598
- selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column';
2054
+ selectedTargetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
1599
2055
  userPrompt: string;
1600
2056
  isGenerating: boolean;
1601
2057
  validationError: string | null;
@@ -1631,5 +2087,5 @@ declare class AiRuleWizardDialogComponent implements OnInit {
1631
2087
  static ɵcmp: i0.ɵɵComponentDeclaration<AiRuleWizardDialogComponent, "praxis-ai-rule-wizard-dialog", never, {}, {}, never, never, true, never>;
1632
2088
  }
1633
2089
 
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 };
2090
+ 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, 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, normalizePraxisAssistantAttachmentSummary, normalizePraxisAssistantContextSnapshot, sanitizePraxisAssistantText, toPraxisAssistantConversationMessages };
2091
+ export type { AgenticAuthoringApplyRequestContract, AgenticAuthoringApplyResultContract, AgenticAuthoringAttachmentSummaryContract, AgenticAuthoringCandidateContract, AgenticAuthoringComponentCapabilitiesResultContract, AgenticAuthoringComponentCapabilityCatalogContract, AgenticAuthoringComponentCapabilityContract, AgenticAuthoringComponentCapabilityExampleContract, AgenticAuthoringComponentFieldAliasContract, AgenticAuthoringConversationContextContract, AgenticAuthoringConversationMessageContract, AgenticAuthoringIntentResolutionRequestContract, AgenticAuthoringIntentResolutionResultContract, AgenticAuthoringManifestCompileResult, AgenticAuthoringManifestCompileResultContract, AgenticAuthoringManifestEditPlanRequest, AgenticAuthoringManifestEditPlanRequestContract, AgenticAuthoringManifestValidationResult, AgenticAuthoringManifestValidationResultContract, AgenticAuthoringPendingClarificationContract, AgenticAuthoringPlanRequestContract, AgenticAuthoringPreviewResultContract, AgenticAuthoringQuickReplyContract, AgenticAuthoringResolveTargetRequest, AgenticAuthoringResolveTargetRequestContract, AgenticAuthoringResolvedTarget, AgenticAuthoringResolvedTargetContract, AgenticAuthoringResourceCandidatesRequestContract, AgenticAuthoringResourceCandidatesResultContract, AgenticAuthoringTurnStreamConnection, AgenticAuthoringTurnStreamEnvelope, AgenticAuthoringTurnStreamEnvelopeContract, AgenticAuthoringTurnStreamRequest, AgenticAuthoringTurnStreamRequestContract, AgenticAuthoringTurnStreamStartResponse, AgenticAuthoringTurnStreamStartResponseContract, AiBackendConfigStore, AiBackendStorageOptions, AiChatMessage, AiChatMessageContract, AiClarificationUiContract, AiConfigAdapter, AiContextDTO, AiContextHintsContract, AiContextTemplate, AiContextTemplateMeta, AiCurrentStateDigest, AiCurrentStateDigestContract, AiDomainCatalogContextHintContract, AiDomainCatalogContextHintIntent, AiDomainCatalogContextHintItemType, AiDomainCatalogRelationshipHintContract, AiExamplePair, AiGlobalConfigSnapshot, AiHeaderContext, AiIntegrationConfig, AiJsonArray, AiJsonObject, AiJsonPrimitive, AiJsonValue, AiMemoryInfoContract, AiModel, AiOptionContract, AiOrchestratorRequest, AiOrchestratorRequestContract, AiOrchestratorResponse, AiOrchestratorResponseContract, AiOrchestratorResponseType, AiPatchDiff, AiPatchDiffContract, AiPatchStreamCancelResponse, AiPatchStreamCancelResponseContract, AiPatchStreamConnection, AiPatchStreamConnectionErrorKind, AiPatchStreamEnvelope, AiPatchStreamEnvelopeContract, AiPatchStreamEventType, AiPatchStreamStartResponse, AiPatchStreamStartResponseContract, AiProviderCatalogItem, AiProviderCatalogResponse, AiProviderModelsRequest, AiProviderModelsResponse, AiProviderStatusResponse, AiProviderTestRequest, AiProviderTestResponse, AiResponseCompileResult, AiRuleResponse, AiSchemaContext, AiSchemaContextContract, AiSuggestion, AiSuggestionsRequest, AiSuggestionsResponse, AiTurnStreamEventType, AiUiContextRef, AiUiContextRefContract, AiValidationError, AiValidationResult, AiValidationWarning, AiWizardData, Capability, FieldSchemaLike, MinifiedField, PatchResult, 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, PraxisAssistantShellState, PraxisAssistantTargetKind, PraxisAssistantTargetRef, PraxisAssistantTurnAction, PraxisAssistantTurnControllerOptions, PraxisAssistantTurnFlow, PraxisAssistantTurnPhase, PraxisAssistantTurnRequest, PraxisAssistantTurnResult, PraxisAssistantTurnViewState, PraxisAssistantViewportLayoutOptions, ProblemResponseContract, PromptContext, RulePropertyDefinition, RulePropertySchema, RulePropertyType, ValidationContext, ValueKind };