@newheap/platform-ai-chat 0.12.0 → 0.13.0

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/i18n/en.json CHANGED
@@ -346,7 +346,11 @@
346
346
  "assistant-consult-limit-reached": "You reached the daily number of consultations.",
347
347
  "assistant-consult-timeout": "The agent did not answer in time.",
348
348
  "assistant-consult-failed": "The agent could not answer.",
349
- "assistant-consult-read-only": "A consultation cannot change anything."
349
+ "assistant-consult-read-only": "A consultation cannot change anything.",
350
+ "assistant-moved-to-shadow": "The work went to the agent's shadow thread, where a run in shadow takes it.",
351
+ "assistant-shadow-variant": "A shadow variant always works in shadow.",
352
+ "assistant-service-account-not-used": "This agent does not answer to a technical account.",
353
+ "assistant-service-account-not-found": "No account that may sign in exists with this id."
350
354
  },
351
355
  "notices": {
352
356
  "no-answer": "The assistant finished without an answer. Try again or rephrase your question.",
@@ -499,6 +503,49 @@
499
503
  "paused": "The skill {{skill}} starts no new runs: its events wait, triage no longer chooses it and running work finishes. The other skills keep working.",
500
504
  "stopped": "The runs of the skill {{skill}} are cancelled and its waiting events dropped; its triggers are refused. The other skills keep working."
501
505
  }
506
+ },
507
+ "shadow": {
508
+ "badge": "Shadow",
509
+ "hint": "Its work goes to shadow threads that only administrators see.",
510
+ "changed": "Shadow mode set by {{user}} on {{date}}.",
511
+ "locked": "A shadow variant always works in shadow.",
512
+ "action": {
513
+ "shadow": "Put in shadow",
514
+ "live": "Put live",
515
+ "code": "Follow the code"
516
+ },
517
+ "explain": {
518
+ "shadow": "New runs work in shadow threads that only administrators see: nobody is notified and nothing proposed there executes. Running work finishes as it started; the live threads and their open proposals stay.",
519
+ "live": "New runs work live: people see them, are notified and decide their proposals.",
520
+ "code": "The mode in code decides again."
521
+ },
522
+ "skill-explain": {
523
+ "shadow": "Work that reaches the skill {{skill}} goes to the shadow threads; the other skills keep their mode.",
524
+ "live": "The skill {{skill}} works live again, unless its agent works in shadow.",
525
+ "code": "The mode in code decides again for the skill {{skill}}."
526
+ },
527
+ "confirm": {
528
+ "shadow": "Confirm shadow",
529
+ "live": "Confirm live",
530
+ "code": "Confirm"
531
+ }
532
+ },
533
+ "service-account": {
534
+ "label": "Technical account: {{account}}",
535
+ "configured": "In code: {{account}}",
536
+ "input-label": "Account id",
537
+ "action": {
538
+ "set": "Change technical account",
539
+ "code": "Use the account in code"
540
+ },
541
+ "explain": {
542
+ "set": "New runs answer to this account and use its rights. Runs that started and their proposals keep their account.",
543
+ "code": "New runs answer to the account in code again: {{account}}."
544
+ },
545
+ "confirm": {
546
+ "set": "Confirm account",
547
+ "code": "Confirm"
548
+ }
502
549
  }
503
550
  },
504
551
  "agent-editor": {
@@ -819,7 +866,8 @@
819
866
  "ignored": "The agent is busy; nothing was started.",
820
867
  "deduplicated": "This was already started.",
821
868
  "rejected": "The agent could not be started."
822
- }
869
+ },
870
+ "shadow": "Shadow thread: only administrators see it, and nothing proposed here executes."
823
871
  },
824
872
  "subject": {
825
873
  "title": "Agent suggestions",
package/i18n/nl.json CHANGED
@@ -346,7 +346,11 @@
346
346
  "assistant-consult-limit-reached": "Je hebt het aantal raadplegingen voor vandaag bereikt.",
347
347
  "assistant-consult-timeout": "De agent antwoordde niet op tijd.",
348
348
  "assistant-consult-failed": "De agent kon niet antwoorden.",
349
- "assistant-consult-read-only": "Een raadpleging kan niets wijzigen."
349
+ "assistant-consult-read-only": "Een raadpleging kan niets wijzigen.",
350
+ "assistant-moved-to-shadow": "Het werk is naar de schaduwthread van de agent gegaan, waar een run in schaduw het oppakt.",
351
+ "assistant-shadow-variant": "Een schaduwvariant werkt altijd in schaduw.",
352
+ "assistant-service-account-not-used": "Deze agent werkt niet onder een technisch account.",
353
+ "assistant-service-account-not-found": "Er bestaat geen account met deze id dat mag inloggen."
350
354
  },
351
355
  "notices": {
352
356
  "no-answer": "De assistent is klaar zonder antwoord. Probeer het opnieuw of stel je vraag anders.",
@@ -499,6 +503,49 @@
499
503
  "paused": "De vaardigheid {{skill}} start geen nieuwe runs: haar gebeurtenissen wachten, triage kiest haar niet meer en lopend werk wordt afgemaakt. De andere vaardigheden werken door.",
500
504
  "stopped": "De runs van de vaardigheid {{skill}} worden geannuleerd en haar wachtende gebeurtenissen vervallen; haar triggers worden geweigerd. De andere vaardigheden werken door."
501
505
  }
506
+ },
507
+ "shadow": {
508
+ "badge": "Schaduw",
509
+ "hint": "Het werk gaat naar schaduwthreads die alleen beheerders zien.",
510
+ "changed": "Schaduwmodus ingesteld door {{user}} op {{date}}.",
511
+ "locked": "Een schaduwvariant werkt altijd in schaduw.",
512
+ "action": {
513
+ "shadow": "In schaduw zetten",
514
+ "live": "Live zetten",
515
+ "code": "Code laten beslissen"
516
+ },
517
+ "explain": {
518
+ "shadow": "Nieuwe runs werken in schaduwthreads die alleen beheerders zien: niemand krijgt een melding en niets wat daar wordt voorgesteld, wordt uitgevoerd. Lopend werk wordt afgemaakt zoals het begon; de live threads en hun open voorstellen blijven.",
519
+ "live": "Nieuwe runs werken live: mensen zien ze, krijgen meldingen en beslissen over de voorstellen.",
520
+ "code": "De modus in de code beslist weer."
521
+ },
522
+ "skill-explain": {
523
+ "shadow": "Werk dat bij de vaardigheid {{skill}} komt, gaat naar de schaduwthreads; de andere vaardigheden houden hun modus.",
524
+ "live": "De vaardigheid {{skill}} werkt weer live, tenzij haar agent in schaduw werkt.",
525
+ "code": "De modus in de code beslist weer voor de vaardigheid {{skill}}."
526
+ },
527
+ "confirm": {
528
+ "shadow": "Schaduw bevestigen",
529
+ "live": "Live bevestigen",
530
+ "code": "Bevestigen"
531
+ }
532
+ },
533
+ "service-account": {
534
+ "label": "Technisch account: {{account}}",
535
+ "configured": "In de code: {{account}}",
536
+ "input-label": "Account-id",
537
+ "action": {
538
+ "set": "Technisch account wijzigen",
539
+ "code": "Account uit de code gebruiken"
540
+ },
541
+ "explain": {
542
+ "set": "Nieuwe runs werken onder dit account en met zijn rechten. Runs die al begonnen en hun voorstellen houden hun account.",
543
+ "code": "Nieuwe runs werken weer onder het account uit de code: {{account}}."
544
+ },
545
+ "confirm": {
546
+ "set": "Account bevestigen",
547
+ "code": "Bevestigen"
548
+ }
502
549
  }
503
550
  },
504
551
  "agent-editor": {
@@ -819,7 +866,8 @@
819
866
  "ignored": "De agent is bezig; er is niets gestart.",
820
867
  "deduplicated": "Dit was al gestart.",
821
868
  "rejected": "De agent kon niet starten."
822
- }
869
+ },
870
+ "shadow": "Schaduwthread: alleen beheerders zien hem, en niets wat hier wordt voorgesteld, wordt uitgevoerd."
823
871
  },
824
872
  "subject": {
825
873
  "title": "Voorstellen van agents",
package/index.d.ts CHANGED
@@ -74,6 +74,11 @@ interface AgentThread {
74
74
  role: AgentSubjectRole;
75
75
  activeRun: AgentRun | null;
76
76
  waitingInputs: number;
77
+ /**
78
+ * The thread holds the agent's shadow work about the subject: only administrators see it,
79
+ * nobody is notified and nothing proposed in it executes.
80
+ */
81
+ shadow?: boolean;
77
82
  }
78
83
  interface AgentThreadLookup {
79
84
  thread: AgentThread | null;
@@ -94,6 +99,11 @@ interface AgentSubjectWorkAgent {
94
99
  agentId: string;
95
100
  thread: AgentThread | null;
96
101
  canStart: boolean;
102
+ /**
103
+ * For administrators, the agent's shadow thread about the subject while the agent or one of its
104
+ * skills works in shadow; missing or `null` otherwise.
105
+ */
106
+ shadowThread?: AgentThread | null;
97
107
  }
98
108
  /**
99
109
  * A proposal on a subject with the caller's live decision right. Only a pending proposal can be
@@ -823,6 +833,41 @@ interface AdminAgent extends AdminAgentInput {
823
833
  skills?: AgentSkillState[];
824
834
  /** The live agent this agent is a shadow variant of; missing or null for an agent that is no variant. */
825
835
  shadowOf?: string | null;
836
+ /** Whether the agent works in shadow, and how the code and an administrator decided it. */
837
+ shadow?: AgentShadowState | null;
838
+ /** The technical account that answers for the agent's new runs; null when it answers to none. */
839
+ serviceAccount?: AgentServiceAccountState | null;
840
+ }
841
+ /** The shadow modes an administrator chooses; `code` lets the mode in code decide again. */
842
+ type AgentShadowMode = 'shadow' | 'live' | 'code';
843
+ /**
844
+ * The shadow mode of an agent or a skill. In shadow the work goes to the agent's shadow threads,
845
+ * which only administrators see; nobody is notified and nothing proposed there executes.
846
+ */
847
+ interface AgentShadowState {
848
+ /** Whether the work goes to shadow threads now; for a skill this includes the agent's mode. */
849
+ shadow: boolean;
850
+ /** The mode in code: `Shadow()` on the agent or the skill. */
851
+ configured: boolean;
852
+ /** The mode an administrator set at runtime; `null` follows the code. */
853
+ override: boolean | null;
854
+ /** A shadow variant always works in shadow; its mode cannot change. */
855
+ locked: boolean;
856
+ changedAt: string | null;
857
+ changedBy: string | null;
858
+ reason: string | null;
859
+ }
860
+ /** The technical account of an agent that answers to one. */
861
+ interface AgentServiceAccountState {
862
+ /** The account that answers for the agent's new runs. */
863
+ actorId: string;
864
+ /** The account in code. */
865
+ configuredActorId: string;
866
+ /** Whether an administrator set `actorId` at runtime. */
867
+ overridden: boolean;
868
+ changedAt: string | null;
869
+ changedBy: string | null;
870
+ reason: string | null;
826
871
  }
827
872
  /** One skill of an agent with its own state and today's usage across scopes. */
828
873
  interface AgentSkillState {
@@ -841,6 +886,8 @@ interface AgentSkillState {
841
886
  dailyTokens: number | null;
842
887
  cancelledRuns: number;
843
888
  startedRuns: number;
889
+ /** Whether the skill's work goes to the agent's shadow threads. */
890
+ shadow?: AgentShadowState;
844
891
  }
845
892
  /** Response of `GET` and `POST admin/agents/{id}/state`. */
846
893
  interface AgentState {
@@ -858,6 +905,21 @@ interface AgentState {
858
905
  startedRuns: number;
859
906
  skills?: AgentSkillState[];
860
907
  shadowOf?: string | null;
908
+ /** `null` for an agent without runs, which only chats. */
909
+ shadow?: AgentShadowState | null;
910
+ serviceAccount?: AgentServiceAccountState | null;
911
+ }
912
+ /** Body of `POST admin/agents/{id}/shadow` and `POST admin/agents/{id}/skills/{skillId}/shadow`. */
913
+ interface SetAgentShadowRequest {
914
+ mode: AgentShadowMode;
915
+ /** Optional, at most 500 characters. */
916
+ reason?: string | null;
917
+ }
918
+ /** Body of `POST admin/agents/{id}/service-account`. `null` uses the account in code again. */
919
+ interface SetAgentServiceAccountRequest {
920
+ actorId: string | null;
921
+ /** Optional, at most 500 characters. */
922
+ reason?: string | null;
861
923
  }
862
924
  /** Body of `POST admin/agents/{id}/state`. `active` resumes the agent. */
863
925
  interface SetAgentStateRequest {
@@ -1413,6 +1475,19 @@ declare class NhAssistantAdminApiService {
1413
1475
  * Pauses, stops or resumes one skill of an agent; its other skills keep working.
1414
1476
  */
1415
1477
  setSkillState(agentId: string, skillId: string, request: SetAgentStateRequest): Observable<AgentSkillState>;
1478
+ /**
1479
+ * Puts an agent in shadow, live, or back to the mode in code. A shadow variant cannot change
1480
+ * (`assistant-shadow-variant`).
1481
+ */
1482
+ setAgentShadow(agentId: string, request: SetAgentShadowRequest): Observable<AgentState>;
1483
+ /** Puts one skill of an agent in shadow, live, or back to the mode in code. */
1484
+ setSkillShadow(agentId: string, skillId: string, request: SetAgentShadowRequest): Observable<AgentSkillState>;
1485
+ /**
1486
+ * Changes the technical account that answers for the agent's new runs, or with `actorId: null`
1487
+ * uses the account in code again. Fails with `assistant-service-account-not-found` for an
1488
+ * account that does not exist or may not sign in.
1489
+ */
1490
+ setServiceAccount(agentId: string, request: SetAgentServiceAccountRequest): Observable<AgentState>;
1416
1491
  /** Deletes an admin agent. Code agents cannot be deleted; stop them instead. */
1417
1492
  deleteAgent(agentId: string): Observable<void>;
1418
1493
  getMcpServers(): Observable<McpServer[]>;
@@ -2737,4 +2812,4 @@ declare function nhAssistantErrorKeys(error: NhAssistantError | null): string[];
2737
2812
  declare const NH_ASSISTANT_DASH_CASE: RegExp;
2738
2813
 
2739
2814
  export { NH_ASSISTANT_ACCESS_POLICY, NH_ASSISTANT_CONFIG, NH_ASSISTANT_CONVERSATION_FRAGMENT, NH_ASSISTANT_FEEDBACK_CATEGORIES, NH_ASSISTANT_FEEDBACK_GROUPS, NH_ASSISTANT_FETCH, NH_ASSISTANT_ICONS, NH_ASSISTANT_JOIN_FRAGMENT, NH_ASSISTANT_MAX_BULK_FEEDBACK, NH_ASSISTANT_MAX_CUSTOM_INSTRUCTIONS, NH_ASSISTANT_MAX_FEEDBACK_TEXT, NH_ASSISTANT_MAX_PROPOSAL_LOOKUP, NH_ASSISTANT_MAX_SUBJECT_SUMMARY, NH_ASSISTANT_NO_ANSWER_NOTICE_CODE, NH_ASSISTANT_PAGE_CONTEXT_LIMITS, NH_ASSISTANT_PANEL_MOBILE_QUERY, NH_ASSISTANT_PANEL_WIDTH, NH_ASSISTANT_SSE_EVENT_TYPES, NH_ASSISTANT_TRANSLATIONS, NH_ASSISTANT_VIRTUAL_SCROLL_THRESHOLD, NhAssistantActivityComponent, NhAssistantAdminApiService, NhAssistantAgentPickerComponent, NhAssistantAgentRunApiService, NhAssistantAllowAllAccessPolicy, NhAssistantApiError, NhAssistantApiService, NhAssistantApprovalCardComponent, NhAssistantClientErrorCodes, NhAssistantComposerComponent, NhAssistantConversationListComponent, NhAssistantLauncherComponent, NhAssistantLiveService, NhAssistantPanelComponent, NhAssistantPanelService, NhAssistantPreferencesComponent, NhAssistantProposalFeedbackComponent, NhAssistantPushService, NhAssistantShareComponent, NhAssistantSseParser, NhAssistantStore, NhAssistantSubjectBadgeComponent, NhAssistantSubjectSummaryService, NhAssistantThreadComponent, NhAssistantToolCallCardComponent, NhAssistantToolCallGroupComponent, NhAssistantTranslationMerger, applyNhAssistantApprovalDecision, applyNhAssistantConversationChange, applyNhAssistantEvent, applyNhAssistantLiveEvent, describeNhAssistantClientContext, formatNhAssistantCountdown, nhAssistantCodeForStatus, nhAssistantErrorMessageKey, nhAssistantIsUnread, nhAssistantLatestTurnHasText, nhAssistantShareLink, normalizeNhAssistantClientContext, provideNhAssistant, NH_ASSISTANT_DASH_CASE as ɵNH_ASSISTANT_DASH_CASE, NhAssistantIconComponent as ɵNhAssistantIconComponent, NhAssistantTranslatePipe as ɵNhAssistantTranslatePipe, nhAssistantErrorKeys as ɵnhAssistantErrorKeys, nhAssistantReloadOnAgentWork as ɵnhAssistantReloadOnAgentWork, toNhAssistantError as ɵtoNhAssistantError };
2740
- export type { AdminAgent, AdminAgentInput, AgentArtifact, AgentConsultation, AgentConsultationList, AgentConsultationStatus, AgentDecisionOutcome, AgentEvaluation, AgentEvaluationCost, AgentEvaluationDecisions, AgentEvaluationDifference, AgentEvaluationFilter, AgentEvaluationRouting, AgentEvaluationRuns, AgentEvaluationTool, AgentExecutionResolution, AgentFeedbackCategoryCount, AgentFeedbackExportFilter, AgentFeedbackFilter, AgentFeedbackItem, AgentFeedbackList, AgentFeedbackListFilter, AgentFeedbackOutcome, AgentFeedbackSummary, AgentFeedbackSummaryRow, AgentGrantSource, AgentInbox, AgentInboxFilter, AgentInvalidationCount, AgentProposal, AgentProposalDecision, AgentProposalDecisionRight, AgentProposalFeedback, AgentProposalFeedbackCategory, AgentProposalFeedbackGroup, AgentProposalLookup, AgentProposalObject, AgentProposalStatus, AgentReplay, AgentReplayList, AgentReplayRequest, AgentRun, AgentRunKind, AgentRunList, AgentRunRetryMode, AgentRunState, AgentRunStatus, AgentSkillChooser, AgentSkillState, AgentState, AgentSubjectRole, AgentSubjectSummary, AgentSubjectSummaryList, AgentSubjectWork, AgentSubjectWorkAgent, AgentSubjectWorkProposal, AgentSummary, AgentThread, AgentThreadLookup, AgentThreadMemory, AgentTriggerReceipt, ApplicationContext, ApplicationContextVersion, ApprovalDecision, ApprovalPart, ApprovalPresentation, ApprovalPresentationField, ApprovalRequiredEvent, ApprovalStatus, AssistantAddressForm, AssistantAutonomy, AssistantCollaboration, AssistantErrorEvent, AssistantPreferences, AssistantResponseLength, AssistantStatus, AssistantStyle, ClientContext, ClientContextEntity, Conversation, ConversationKind, ConversationMember, ConversationPage, ConversationRole, ConversationStatus, ConversationSummary, ConversationThread, ConversationThreadDecision, CreateConversationRequest, DecideApprovalRequest, DirectoryEntry, LiveAgentWorkChanged, LiveAgentWorkReason, LiveConversationChanged, LiveConversationEvent, LiveConversationRead, LiveConversationRemoved, McpAuthMode, McpServer, McpServerInput, McpServerTestResult, McpTool, McpToolEffect, McpToolStatus, Message, MessageAuthorKind, MessageDeltaEvent, MessagePart, NhAssistantAccessPolicy, NhAssistantActivity, NhAssistantApprovalChoice, NhAssistantApprovalRight, NhAssistantApprovalWaitingFor, NhAssistantClientContext, NhAssistantClientErrorCode, NhAssistantConfig, NhAssistantError, NhAssistantFetch, NhAssistantIconName, NhAssistantLiveState, NhAssistantNotice, NhAssistantProposalFeedbackSaved, NhAssistantPushConfig, NhAssistantPushState, NhAssistantQueuedMessage, NhAssistantRawSseMessage, NhAssistantSseEvent, NhAssistantSseEventMap, NhAssistantSseEventType, NhAssistantStatusCodes, NhAssistantToolCallGroupState, NotificationSettings, PushSubscriptionRequest, SendMessageRequest, SetAgentStateRequest, ShareLink, StaleKind, StartAgentRequest, TextPart, ToolCallPart, ToolCallStatus, ToolCatalogEffect, ToolCatalogEntry, ToolCompletedEvent, ToolStartedEvent, TurnCompletedEvent, TurnCompletionStatus, TurnStartedEvent, TurnUsage, UpdateAdminAgentRequest, UpdateApplicationContextRequest, UpdateMcpToolRequest };
2815
+ export type { AdminAgent, AdminAgentInput, AgentArtifact, AgentConsultation, AgentConsultationList, AgentConsultationStatus, AgentDecisionOutcome, AgentEvaluation, AgentEvaluationCost, AgentEvaluationDecisions, AgentEvaluationDifference, AgentEvaluationFilter, AgentEvaluationRouting, AgentEvaluationRuns, AgentEvaluationTool, AgentExecutionResolution, AgentFeedbackCategoryCount, AgentFeedbackExportFilter, AgentFeedbackFilter, AgentFeedbackItem, AgentFeedbackList, AgentFeedbackListFilter, AgentFeedbackOutcome, AgentFeedbackSummary, AgentFeedbackSummaryRow, AgentGrantSource, AgentInbox, AgentInboxFilter, AgentInvalidationCount, AgentProposal, AgentProposalDecision, AgentProposalDecisionRight, AgentProposalFeedback, AgentProposalFeedbackCategory, AgentProposalFeedbackGroup, AgentProposalLookup, AgentProposalObject, AgentProposalStatus, AgentReplay, AgentReplayList, AgentReplayRequest, AgentRun, AgentRunKind, AgentRunList, AgentRunRetryMode, AgentRunState, AgentRunStatus, AgentServiceAccountState, AgentShadowMode, AgentShadowState, AgentSkillChooser, AgentSkillState, AgentState, AgentSubjectRole, AgentSubjectSummary, AgentSubjectSummaryList, AgentSubjectWork, AgentSubjectWorkAgent, AgentSubjectWorkProposal, AgentSummary, AgentThread, AgentThreadLookup, AgentThreadMemory, AgentTriggerReceipt, ApplicationContext, ApplicationContextVersion, ApprovalDecision, ApprovalPart, ApprovalPresentation, ApprovalPresentationField, ApprovalRequiredEvent, ApprovalStatus, AssistantAddressForm, AssistantAutonomy, AssistantCollaboration, AssistantErrorEvent, AssistantPreferences, AssistantResponseLength, AssistantStatus, AssistantStyle, ClientContext, ClientContextEntity, Conversation, ConversationKind, ConversationMember, ConversationPage, ConversationRole, ConversationStatus, ConversationSummary, ConversationThread, ConversationThreadDecision, CreateConversationRequest, DecideApprovalRequest, DirectoryEntry, LiveAgentWorkChanged, LiveAgentWorkReason, LiveConversationChanged, LiveConversationEvent, LiveConversationRead, LiveConversationRemoved, McpAuthMode, McpServer, McpServerInput, McpServerTestResult, McpTool, McpToolEffect, McpToolStatus, Message, MessageAuthorKind, MessageDeltaEvent, MessagePart, NhAssistantAccessPolicy, NhAssistantActivity, NhAssistantApprovalChoice, NhAssistantApprovalRight, NhAssistantApprovalWaitingFor, NhAssistantClientContext, NhAssistantClientErrorCode, NhAssistantConfig, NhAssistantError, NhAssistantFetch, NhAssistantIconName, NhAssistantLiveState, NhAssistantNotice, NhAssistantProposalFeedbackSaved, NhAssistantPushConfig, NhAssistantPushState, NhAssistantQueuedMessage, NhAssistantRawSseMessage, NhAssistantSseEvent, NhAssistantSseEventMap, NhAssistantSseEventType, NhAssistantStatusCodes, NhAssistantToolCallGroupState, NotificationSettings, PushSubscriptionRequest, SendMessageRequest, SetAgentServiceAccountRequest, SetAgentShadowRequest, SetAgentStateRequest, ShareLink, StaleKind, StartAgentRequest, TextPart, ToolCallPart, ToolCallStatus, ToolCatalogEffect, ToolCatalogEntry, ToolCompletedEvent, ToolStartedEvent, TurnCompletedEvent, TurnCompletionStatus, TurnStartedEvent, TurnUsage, UpdateAdminAgentRequest, UpdateApplicationContextRequest, UpdateMcpToolRequest };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newheap/platform-ai-chat",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^20.2.14",
6
6
  "@angular/common": "^20.3.28",
@@ -95,13 +95,18 @@ interface NhAssistantMockMcpServer extends McpServerInput {
95
95
  /** A preconfigured agent. Code agents default to the scenario's chat agents. */
96
96
  interface NhAssistantMockAdminAgent extends AdminAgentInput {
97
97
  source: 'code' | 'admin';
98
- /** The skills of a code agent, by id and description; they start active. */
98
+ /** The skills of a code agent, by id and description; they start active, and in shadow with `shadow`. */
99
99
  skills?: {
100
100
  skillId: string;
101
101
  description: string;
102
+ shadow?: boolean;
102
103
  }[];
103
104
  /** The live agent this code agent is a shadow variant of. */
104
105
  shadowOf?: string;
106
+ /** The agent starts in shadow, as with `Shadow()` in code. */
107
+ shadow?: boolean;
108
+ /** The technical account in code, as with `ServiceAccount(actorId)`. */
109
+ serviceAccount?: string;
105
110
  }
106
111
  /**
107
112
  * Administration data of the mock. Hosts without an admin scenario still get working