@newheap/platform-ai-chat 0.10.0 → 0.11.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/index.d.ts CHANGED
@@ -12,12 +12,14 @@ import { TemplatePortal } from '@angular/cdk/portal';
12
12
  type AgentSubjectRole = 'none' | 'reader' | 'participant' | 'approver';
13
13
  type AgentRunStatus = 'queued' | 'running' | 'waiting-for-approval' | 'completed' | 'failed' | 'cancelled';
14
14
  type AgentProposalStatus = 'pending' | 'approved' | 'rejected' | 'expired' | 'withdrawn' | 'stale' | 'executing' | 'executed' | 'execution-failed' | 'execution-unknown' | 'resolved' | 'shadow';
15
- type AgentGrantSource = 'none' | 'delegated' | 'agent';
15
+ type AgentGrantSource = 'none' | 'delegated' | 'agent' | 'delegated-read';
16
16
  /**
17
17
  * How a run worked: `model` through the language model, `rule` through the agent's rules without a
18
18
  * model, `rule-then-model` when the rules handed the run over to the model.
19
19
  */
20
20
  type AgentRunKind = 'model' | 'rule' | 'rule-then-model';
21
+ /** Who chose the skill a run worked in. */
22
+ type AgentSkillChooser = 'trigger' | 'rules' | 'triage' | 'model';
21
23
  interface AgentRun {
22
24
  id: string;
23
25
  conversationId: string;
@@ -41,6 +43,18 @@ interface AgentRun {
41
43
  backgroundOperationId: string | null;
42
44
  /** How the run worked. Missing on older servers, which only ran the model. */
43
45
  kind?: AgentRunKind;
46
+ /** The skill of the agent the run worked in; missing or null for the agent's own tools. */
47
+ skill?: string | null;
48
+ skillChosenBy?: AgentSkillChooser | null;
49
+ /** The agent that handed the run's work off; missing or null for a run no agent asked for. */
50
+ requestedByAgentId?: string | null;
51
+ /**
52
+ * The thread of the run that handed the work off, only in a thread's run list and only when the
53
+ * reader may open it.
54
+ */
55
+ requestedByConversationId?: string | null;
56
+ /** How many hand-offs led to the run; 0 or missing for a run no agent asked for. */
57
+ handOffDepth?: number;
44
58
  }
45
59
  interface AgentRunList {
46
60
  items: AgentRun[];
@@ -473,9 +487,12 @@ interface ToolCallPart {
473
487
  argumentsPreview: string | null;
474
488
  resultPreview: string | null;
475
489
  resultCode: string | null;
476
- /** `delegated` or `agent` when an agent used rights beyond the caller's own. */
477
- grantSource?: 'delegated' | 'agent' | null;
478
- /** The result came from the agent's own grant and is shielded from this viewer. */
490
+ /**
491
+ * `delegated`, `agent` or `delegated-read` when an agent used rights beyond the caller's own:
492
+ * the initiator's, its own grant, or a person's through a gateway read.
493
+ */
494
+ grantSource?: 'delegated' | 'agent' | 'delegated-read' | null;
495
+ /** The result came from rights this viewer does not have and is shielded from them. */
479
496
  restricted?: boolean;
480
497
  }
481
498
  /**
@@ -769,18 +786,81 @@ interface AdminAgentInput {
769
786
  mcpServerIds: string[];
770
787
  requiredPolicy: string | null;
771
788
  autonomy: AssistantAutonomy;
772
- isEnabled: boolean;
789
+ /**
790
+ * @deprecated Accepted and ignored by the server until the next major version: pause, stop and
791
+ * resume an agent with `setAgentState`. A new agent starts active.
792
+ */
793
+ isEnabled?: boolean;
773
794
  }
774
795
  /** Body of `PUT admin/agents/{id}`. */
775
796
  type UpdateAdminAgentRequest = AdminAgentInput & {
776
797
  expectedVersion: number;
777
798
  };
799
+ /**
800
+ * The run state of an agent. `paused`: no new runs; events wait and run after the resume.
801
+ * `stopped`: active runs were cancelled and events are refused. `configured-off`: disabled in the
802
+ * application's code until the next deployment; it cannot be resumed here.
803
+ */
804
+ type AgentRunState = 'active' | 'paused' | 'stopped' | 'configured-off';
778
805
  interface AdminAgent extends AdminAgentInput {
806
+ /** `false` while the agent is stopped; read `runState` for the full state. */
807
+ isEnabled: boolean;
779
808
  version: number;
780
809
  source: 'code' | 'admin';
781
810
  isOverridden: boolean;
782
811
  instructionsHash: string;
783
812
  updatedAt: string;
813
+ runState: AgentRunState;
814
+ stateChangedAt: string | null;
815
+ stateChangedBy: string | null;
816
+ stateReason: string | null;
817
+ /** Events that wait while the agent is paused. */
818
+ waitingInputs: number;
819
+ /** The agent's skills with their states and today's usage; missing or empty without skills. */
820
+ skills?: AgentSkillState[];
821
+ /** The live agent this agent is a shadow variant of; missing or null for an agent that is no variant. */
822
+ shadowOf?: string | null;
823
+ }
824
+ /** One skill of an agent with its own state and today's usage across scopes. */
825
+ interface AgentSkillState {
826
+ skillId: string;
827
+ description: string;
828
+ runState: 'active' | 'paused' | 'stopped';
829
+ changedAt: string | null;
830
+ changedBy: string | null;
831
+ reason: string | null;
832
+ /** Events that wait for the skill while it is paused. */
833
+ waitingInputs: number;
834
+ toolCallsToday: number;
835
+ tokensToday: number;
836
+ /** The skill's daily budget per scope, when it has one. */
837
+ dailyToolCalls: number | null;
838
+ dailyTokens: number | null;
839
+ cancelledRuns: number;
840
+ startedRuns: number;
841
+ }
842
+ /** Response of `GET` and `POST admin/agents/{id}/state`. */
843
+ interface AgentState {
844
+ agentId: string;
845
+ runState: AgentRunState;
846
+ /** Whether the agent works now: active, enabled in code and the assistant enabled. */
847
+ active: boolean;
848
+ changedAt: string | null;
849
+ changedBy: string | null;
850
+ reason: string | null;
851
+ waitingInputs: number;
852
+ /** The runs this change cancelled by stopping the agent. */
853
+ cancelledRuns: number;
854
+ /** The runs this change started for waiting events by resuming the agent. */
855
+ startedRuns: number;
856
+ skills?: AgentSkillState[];
857
+ shadowOf?: string | null;
858
+ }
859
+ /** Body of `POST admin/agents/{id}/state`. `active` resumes the agent. */
860
+ interface SetAgentStateRequest {
861
+ state: 'active' | 'paused' | 'stopped';
862
+ /** Optional, at most 500 characters. */
863
+ reason?: string | null;
784
864
  }
785
865
  type McpAuthMode = 'none' | 'bearer' | 'api-key' | 'forward-user-token';
786
866
  interface McpServerInput {
@@ -853,6 +933,126 @@ interface AgentFeedbackListFilter extends AgentFeedbackFilter {
853
933
  itemsPerPage?: number;
854
934
  }
855
935
  /** Filter of `GET admin/agents/{id}/feedback/export`. */
936
+ /** Query of `GET admin/agents/{id}/evaluation` and its export. */
937
+ interface AgentEvaluationFilter {
938
+ /** The shadow variant to compare with the agent. */
939
+ variant: string;
940
+ /** Start of the period as an ISO 8601 date-time; seven days before `to` by default. */
941
+ from?: string;
942
+ /** End of the period, exclusive; now by default. The period spans at most 92 days. */
943
+ to?: string;
944
+ }
945
+ /**
946
+ * Response of `GET admin/agents/{id}/evaluation`: how a shadow variant compared with its live
947
+ * agent. Counts, identifiers and links only; no messages or arguments.
948
+ */
949
+ interface AgentEvaluation {
950
+ agentId: string;
951
+ variantId: string;
952
+ from: string;
953
+ to: string;
954
+ runs: AgentEvaluationRuns;
955
+ tools: AgentEvaluationTool[];
956
+ liveCost: AgentEvaluationCost;
957
+ variantCost: AgentEvaluationCost;
958
+ routing: AgentEvaluationRouting[];
959
+ /** Proposals only one of the two made, with the runs and threads to read; at most 50. */
960
+ differences: AgentEvaluationDifference[];
961
+ }
962
+ interface AgentEvaluationRuns {
963
+ live: number;
964
+ variant: number;
965
+ /** Pairs of runs that handled the same event or that a replay repeated. */
966
+ paired: number;
967
+ /** Pairs whose variant run replayed the live run; it saw today's state of the subject. */
968
+ replayed: number;
969
+ liveUnpaired: number;
970
+ variantUnpaired: number;
971
+ /** The period held more runs than one evaluation reads; it covers the oldest. */
972
+ truncated: boolean;
973
+ }
974
+ interface AgentEvaluationTool {
975
+ toolId: string;
976
+ agreed: number;
977
+ liveOnly: number;
978
+ variantOnly: number;
979
+ liveDecisions: AgentEvaluationDecisions;
980
+ /** Live proposals people rejected that the variant did not make. */
981
+ rejectedLiveNotProposed: number;
982
+ /** Live proposals people rejected that the variant made too. */
983
+ rejectedLiveAlsoProposed: number;
984
+ /** Live proposals people approved that the variant did not make. */
985
+ approvedLiveMissed: number;
986
+ }
987
+ interface AgentEvaluationDecisions {
988
+ pending: number;
989
+ approved: number;
990
+ /** Executed, including failed and uncertain executions. */
991
+ executed: number;
992
+ rejected: number;
993
+ stale: number;
994
+ /** Expired and withdrawn proposals. */
995
+ other: number;
996
+ /** Feedback categories of rejected proposals and how often people chose them. */
997
+ rejectionCategories: Record<string, number>;
998
+ }
999
+ interface AgentEvaluationCost {
1000
+ runs: number;
1001
+ modelCalls: number;
1002
+ tokens: number;
1003
+ toolCalls: number;
1004
+ averageModelCalls: number;
1005
+ averageTokens: number;
1006
+ averageToolCalls: number;
1007
+ p95ModelCalls: number;
1008
+ p95Tokens: number;
1009
+ p95ToolCalls: number;
1010
+ }
1011
+ interface AgentEvaluationRouting {
1012
+ /** `null` is the agent's own tools. */
1013
+ liveSkill: string | null;
1014
+ variantSkill: string | null;
1015
+ runs: number;
1016
+ }
1017
+ interface AgentEvaluationDifference {
1018
+ toolId: string;
1019
+ kind: 'live-only' | 'variant-only';
1020
+ /** What people decided about a live-only proposal. */
1021
+ liveStatus: string | null;
1022
+ liveRunId: string;
1023
+ liveConversationId: string;
1024
+ variantRunId: string;
1025
+ variantConversationId: string;
1026
+ replayed: boolean;
1027
+ }
1028
+ /** Body of `POST admin/agents/{id}/replay`. */
1029
+ interface AgentReplayRequest {
1030
+ /** The agent whose runs to replay; the variant's live agent by default. */
1031
+ sourceAgentId?: string | null;
1032
+ from?: string | null;
1033
+ to?: string | null;
1034
+ /** 1 to 500; 100 by default. */
1035
+ maxRuns?: number | null;
1036
+ }
1037
+ /** A replay of recorded runs into a shadow variant. */
1038
+ interface AgentReplay {
1039
+ id: string;
1040
+ variantAgentId: string;
1041
+ sourceAgentId: string;
1042
+ from: string;
1043
+ to: string;
1044
+ maxRuns: number;
1045
+ status: 'running' | 'completed' | 'stopped';
1046
+ /** Why a stopped replay stopped, such as `assistant-budget-exhausted`. */
1047
+ stopReason: string | null;
1048
+ runsReplayed: number;
1049
+ runsSkipped: number;
1050
+ createdAt: string;
1051
+ endedAt: string | null;
1052
+ }
1053
+ interface AgentReplayList {
1054
+ items: AgentReplay[];
1055
+ }
856
1056
  interface AgentFeedbackExportFilter extends AgentFeedbackFilter {
857
1057
  category?: AgentProposalFeedbackCategory;
858
1058
  /** Maximum number of records; the server defaults to 10,000 and allows at most 50,000. */
@@ -1197,9 +1397,19 @@ declare class NhAssistantAdminApiService {
1197
1397
  getAgents(): Observable<AdminAgent[]>;
1198
1398
  createAgent(input: AdminAgentInput): Observable<AdminAgent>;
1199
1399
  updateAgent(agentId: string, request: UpdateAdminAgentRequest): Observable<AdminAgent>;
1200
- /** Restores a code agent to its definition in code. */
1400
+ /** Restores a code agent to its definition in code. The run state stays as it is. */
1201
1401
  resetAgent(agentId: string): Observable<AdminAgent>;
1202
- /** Deletes an admin agent. Code agents cannot be deleted; disable them instead. */
1402
+ getAgentState(agentId: string): Observable<AgentState>;
1403
+ /**
1404
+ * Pauses, stops or resumes an agent without changing its definition. A code-disabled agent
1405
+ * cannot be resumed (`assistant-agent-configured-off`).
1406
+ */
1407
+ setAgentState(agentId: string, request: SetAgentStateRequest): Observable<AgentState>;
1408
+ /**
1409
+ * Pauses, stops or resumes one skill of an agent; its other skills keep working.
1410
+ */
1411
+ setSkillState(agentId: string, skillId: string, request: SetAgentStateRequest): Observable<AgentSkillState>;
1412
+ /** Deletes an admin agent. Code agents cannot be deleted; stop them instead. */
1203
1413
  deleteAgent(agentId: string): Observable<void>;
1204
1414
  getMcpServers(): Observable<McpServer[]>;
1205
1415
  createMcpServer(input: McpServerInput): Observable<McpServer>;
@@ -1223,6 +1433,24 @@ declare class NhAssistantAdminApiService {
1223
1433
  * subject data and the server audits the export. Rejects with `NhAssistantApiError`.
1224
1434
  */
1225
1435
  exportAgentFeedback(agentId: string, filter?: AgentFeedbackExportFilter): Promise<Blob>;
1436
+ /**
1437
+ * Compares a shadow variant with its live agent over a period: the runs that handled the same
1438
+ * events, the proposals per tool with what people decided about the live ones, cost and routing.
1439
+ */
1440
+ getAgentEvaluation(agentId: string, filter: AgentEvaluationFilter): Observable<AgentEvaluation>;
1441
+ /**
1442
+ * Downloads the paired runs of the comparison as JSON Lines: identifiers, statuses, usage and
1443
+ * proposal identities, no content. The server audits the export. Rejects with `NhAssistantApiError`.
1444
+ */
1445
+ exportAgentEvaluation(agentId: string, filter: AgentEvaluationFilter): Promise<Blob>;
1446
+ /**
1447
+ * Replays the recorded runs of another agent in a period into a shadow variant, against today's
1448
+ * state of each subject. One replay runs per variant (`assistant-replay-active`).
1449
+ */
1450
+ startAgentReplay(variantId: string, request: AgentReplayRequest): Observable<AgentReplay>;
1451
+ /** The latest replays into a shadow variant, newest first. */
1452
+ getAgentReplays(variantId: string): Observable<AgentReplayList>;
1453
+ private download;
1226
1454
  private request;
1227
1455
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminApiService, never>;
1228
1456
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<NhAssistantAdminApiService>;
@@ -2505,4 +2733,4 @@ declare function nhAssistantErrorKeys(error: NhAssistantError | null): string[];
2505
2733
  declare const NH_ASSISTANT_DASH_CASE: RegExp;
2506
2734
 
2507
2735
  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 };
2508
- export type { AdminAgent, AdminAgentInput, AgentArtifact, AgentConsultation, AgentConsultationList, AgentConsultationStatus, AgentDecisionOutcome, AgentExecutionResolution, AgentFeedbackCategoryCount, AgentFeedbackExportFilter, AgentFeedbackFilter, AgentFeedbackItem, AgentFeedbackList, AgentFeedbackListFilter, AgentFeedbackOutcome, AgentFeedbackSummary, AgentFeedbackSummaryRow, AgentGrantSource, AgentInbox, AgentInboxFilter, AgentInvalidationCount, AgentProposal, AgentProposalDecision, AgentProposalDecisionRight, AgentProposalFeedback, AgentProposalFeedbackCategory, AgentProposalFeedbackGroup, AgentProposalLookup, AgentProposalObject, AgentProposalStatus, AgentRun, AgentRunKind, AgentRunList, AgentRunRetryMode, AgentRunStatus, 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, ShareLink, StaleKind, StartAgentRequest, TextPart, ToolCallPart, ToolCallStatus, ToolCatalogEffect, ToolCatalogEntry, ToolCompletedEvent, ToolStartedEvent, TurnCompletedEvent, TurnCompletionStatus, TurnStartedEvent, TurnUsage, UpdateAdminAgentRequest, UpdateApplicationContextRequest, UpdateMcpToolRequest };
2736
+ 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newheap/platform-ai-chat",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^20.2.14",
6
6
  "@angular/common": "^20.3.28",
@@ -95,6 +95,13 @@ 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. */
99
+ skills?: {
100
+ skillId: string;
101
+ description: string;
102
+ }[];
103
+ /** The live agent this code agent is a shadow variant of. */
104
+ shadowOf?: string;
98
105
  }
99
106
  /**
100
107
  * Administration data of the mock. Hosts without an admin scenario still get working