@newheap/platform-ai-chat 0.14.0 → 0.15.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/README.md +27 -0
- package/admin/index.d.ts +665 -77
- package/agent-runs/index.d.ts +450 -17
- package/fesm2022/newheap-platform-ai-chat-admin.mjs +3417 -361
- package/fesm2022/newheap-platform-ai-chat-admin.mjs.map +1 -1
- package/fesm2022/newheap-platform-ai-chat-agent-runs.mjs +1288 -61
- package/fesm2022/newheap-platform-ai-chat-agent-runs.mjs.map +1 -1
- package/fesm2022/newheap-platform-ai-chat-testing.mjs +4023 -777
- package/fesm2022/newheap-platform-ai-chat-testing.mjs.map +1 -1
- package/fesm2022/newheap-platform-ai-chat.mjs +3135 -541
- package/fesm2022/newheap-platform-ai-chat.mjs.map +1 -1
- package/i18n/en.json +741 -28
- package/i18n/nl.json +741 -28
- package/index.d.ts +1293 -20
- package/package.json +1 -1
- package/testing/index.d.ts +379 -22
package/admin/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { OnInit } from '@angular/core';
|
|
3
3
|
import * as _newheap_platform_ai_chat from '@newheap/platform-ai-chat';
|
|
4
|
-
import { NhAssistantStore, NhAssistantError, ApplicationContext, ApplicationContextVersion, AdminAgent, ToolCatalogEntry, McpServer, SetAgentStateRequest, AgentShadowMode, AgentSkillState, AgentShadowState, AssistantAutonomy, AgentEvaluation, AgentReplay, AgentEvaluationCost, AgentProposalFeedbackCategory, AgentFeedbackSummaryRow, AgentFeedbackItem, AgentFeedbackCategoryCount, StaleKind, AgentProposalFeedbackGroup,
|
|
4
|
+
import { NhAssistantStore, NhAssistantError, ApplicationContext, ApplicationContextVersion, AdminAgent, ToolCatalogEntry, McpServer, RunCatalog, SetAgentStateRequest, AgentShadowMode, AgentSkillState, AgentShadowState, AssistantAutonomy, AgentEvaluation, AgentReplay, AgentEvaluationCost, AgentProposalFeedbackCategory, AgentFeedbackSummaryRow, AgentFeedbackItem, AgentFeedbackCategoryCount, StaleKind, AgentProposalFeedbackGroup, AgentSubjectType, AgentRunStatus, ɵnhAssistantCodeKeys as _nhAssistantCodeKeys, AgentRunHistoryItem, DataSkill, AgentRunConfiguration, DataTrigger, SkillComparison, DataSkillVersion, ɵNhAssistantPickerOption as _NhAssistantPickerOption, McpServerTestResult, McpConnectionsSummary, McpBuiltInAuthMode, McpCustomAuthMode, McpAuthMode, McpTransport, McpConnectionScope, McpHeadlessUse, McpDiscovery, McpToolEffect, McpTool } from '@newheap/platform-ai-chat';
|
|
5
|
+
import { ɵNhAssistantRunNowAgent as _NhAssistantRunNowAgent } from '@newheap/platform-ai-chat/agent-runs';
|
|
5
6
|
|
|
6
7
|
type NhAssistantAdminTab = 'context' | 'agents' | 'mcp-servers';
|
|
7
8
|
/**
|
|
@@ -11,6 +12,7 @@ type NhAssistantAdminTab = 'context' | 'agents' | 'mcp-servers';
|
|
|
11
12
|
*/
|
|
12
13
|
declare class NhAssistantAdminComponent {
|
|
13
14
|
private readonly host;
|
|
15
|
+
private readonly injector;
|
|
14
16
|
readonly store: NhAssistantStore;
|
|
15
17
|
/** Tab shown first. */
|
|
16
18
|
readonly initialTab: _angular_core.InputSignal<NhAssistantAdminTab>;
|
|
@@ -21,12 +23,53 @@ declare class NhAssistantAdminComponent {
|
|
|
21
23
|
constructor();
|
|
22
24
|
selected(): NhAssistantAdminTab;
|
|
23
25
|
select(tab: NhAssistantAdminTab): void;
|
|
26
|
+
/**
|
|
27
|
+
* Shows the MCP servers, for example from an agent's flow that explains why a server is not used in
|
|
28
|
+
* runs without a person, and moves the focus to their tab.
|
|
29
|
+
*/
|
|
30
|
+
showMcpServers(): void;
|
|
24
31
|
/** Arrow keys, Home and End move between tabs as the ARIA tabs pattern describes. */
|
|
25
32
|
onTabKeydown(event: KeyboardEvent): void;
|
|
26
33
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminComponent, never>;
|
|
27
34
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminComponent, "nh-assistant-admin", never, { "initialTab": { "alias": "initialTab"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
28
35
|
}
|
|
29
36
|
|
|
37
|
+
/**
|
|
38
|
+
* The names the application knows for account ids, for the screens of the administration
|
|
39
|
+
* (internal). A screen shows the name only; it shows the id, labeled as an account ID, only while
|
|
40
|
+
* no name is known. When the lookup fails, `error` says why with the failure's code and `retry` asks
|
|
41
|
+
* for the names that are still missing, so a failure never hides behind the ids. Create it in an
|
|
42
|
+
* injection context, such as a component's field.
|
|
43
|
+
*/
|
|
44
|
+
declare class NhAssistantAccountNames {
|
|
45
|
+
private readonly admin;
|
|
46
|
+
private readonly translate;
|
|
47
|
+
private readonly subscriptions;
|
|
48
|
+
/** The ids whose names were asked for, also the ones the application does not know. */
|
|
49
|
+
private readonly asked;
|
|
50
|
+
/** The ids of failed lookups, which `retry` asks for again. */
|
|
51
|
+
private failed;
|
|
52
|
+
/** The names found so far, by account id. */
|
|
53
|
+
readonly names: _angular_core.WritableSignal<ReadonlyMap<string, string>>;
|
|
54
|
+
/** Why the latest lookup failed; `null` while none did. */
|
|
55
|
+
readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
56
|
+
constructor();
|
|
57
|
+
/**
|
|
58
|
+
* The name of an account for a sentence, or its id labeled as an account ID ("account ID …")
|
|
59
|
+
* while the application knows no name for it.
|
|
60
|
+
*/
|
|
61
|
+
nameOf(actorId: string | null | undefined): string;
|
|
62
|
+
/**
|
|
63
|
+
* The account ID as a tooltip for a name shown in its place; `null` while no name is known,
|
|
64
|
+
* because the text shows the id then.
|
|
65
|
+
*/
|
|
66
|
+
idTitleOf(actorId: string | null | undefined): string | null;
|
|
67
|
+
/** Looks up the names of the ids that were not asked for yet. */
|
|
68
|
+
load(actorIds: readonly (string | null | undefined)[]): void;
|
|
69
|
+
/** Asks again for the names whose lookup failed. */
|
|
70
|
+
retry(): void;
|
|
71
|
+
}
|
|
72
|
+
|
|
30
73
|
/** Maximum length of the application context and of agent instructions. */
|
|
31
74
|
declare const NH_ASSISTANT_MAX_INSTRUCTIONS = 20000;
|
|
32
75
|
/**
|
|
@@ -52,15 +95,59 @@ declare class NhAssistantAdminContextComponent {
|
|
|
52
95
|
readonly canSave: _angular_core.Signal<boolean>;
|
|
53
96
|
readonly errorKeys: _angular_core.Signal<string[]>;
|
|
54
97
|
readonly history: _angular_core.Signal<ApplicationContextVersion[]>;
|
|
98
|
+
/** The names of the people who changed the context, once known, and why they are not. */
|
|
99
|
+
readonly accountNames: NhAssistantAccountNames;
|
|
55
100
|
constructor();
|
|
56
101
|
/** Loads the latest version; with `keepDraft` the user's unsaved text stays in the editor. */
|
|
57
102
|
load(keepDraft: boolean): void;
|
|
103
|
+
/** A person's name, or the id when the application does not know it. */
|
|
104
|
+
nameOf(actorId: string | null | undefined): string;
|
|
105
|
+
/** The account ID as the tooltip of a name shown in its place. */
|
|
106
|
+
accountTitle(actorId: string | null | undefined): string | null;
|
|
58
107
|
onInput(event: Event): void;
|
|
59
108
|
save(): void;
|
|
60
109
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminContextComponent, never>;
|
|
61
110
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminContextComponent, "nh-assistant-admin-context", never, {}, {}, never, never, true, never>;
|
|
62
111
|
}
|
|
63
112
|
|
|
113
|
+
/**
|
|
114
|
+
* Translation keys for the texts the administration shows about agents, skills and policies. Each
|
|
115
|
+
* list goes through `nhAssistantTranslate` with the text itself as fallback, so a missing
|
|
116
|
+
* translation shows what the server sent.
|
|
117
|
+
*/
|
|
118
|
+
/**
|
|
119
|
+
* The key of a text of an agent in code, which names and describes itself with translation keys;
|
|
120
|
+
* none for an agent created in the administration, whose texts are what the administrator typed.
|
|
121
|
+
*/
|
|
122
|
+
declare function codeTextKeys(source: string, text: string | null | undefined): string[];
|
|
123
|
+
/** The key an application may translate a skill's name with. */
|
|
124
|
+
declare function skillNameKeys(agentId: string, skillId: string): string[];
|
|
125
|
+
/**
|
|
126
|
+
* The key an application may translate a skill's description with. Skills in code describe
|
|
127
|
+
* themselves in the language triage reads; the screen shows a translation when there is one.
|
|
128
|
+
*/
|
|
129
|
+
declare function skillDescriptionKeys(agentId: string, skillId: string): string[];
|
|
130
|
+
/** The key an application may translate an authorization policy's name with. */
|
|
131
|
+
declare function policyKeys(policy: string | null | undefined): string[];
|
|
132
|
+
/** A readable name for a dash-case id: `task-follow-up` reads "Task follow up". */
|
|
133
|
+
declare function readableId(id: string): string;
|
|
134
|
+
/** What an agent works on, ready to show: object types by name, all objects and the application. */
|
|
135
|
+
interface WorksOnSummary {
|
|
136
|
+
/** The names of the object types it works on; empty with `all`. */
|
|
137
|
+
types: string[];
|
|
138
|
+
/** It works on every object type. */
|
|
139
|
+
all: boolean;
|
|
140
|
+
/** It works on the whole application. */
|
|
141
|
+
application: boolean;
|
|
142
|
+
perDivision: boolean;
|
|
143
|
+
/** An agent in code that does not say what it works on. */
|
|
144
|
+
undeclared: boolean;
|
|
145
|
+
/** The names of the object types it is known to work on, as a hint next to "All objects". */
|
|
146
|
+
known: string[];
|
|
147
|
+
runPolicy: string | null;
|
|
148
|
+
viewPolicy: string | null;
|
|
149
|
+
}
|
|
150
|
+
|
|
64
151
|
type AgentStateAction = SetAgentStateRequest['state'];
|
|
65
152
|
/**
|
|
66
153
|
* Agent administration: code agents (override, reset) and agents created here (edit, delete),
|
|
@@ -70,22 +157,40 @@ type AgentStateAction = SetAgentStateRequest['state'];
|
|
|
70
157
|
* `nh-assistant-agent-feedback-report` for the agent, the evaluation action of an agent with
|
|
71
158
|
* shadow variants opens `nh-assistant-agent-evaluation`, and the run configuration action opens
|
|
72
159
|
* `nh-assistant-agent-run-configuration` for the skills, triggers and run settings defined as data.
|
|
160
|
+
* "Run now" on an agent that runs on its own opens the run-now dialog: the whole application (or a
|
|
161
|
+
* division of it) or an object of one of its types, and an optional instruction; the receipt opens
|
|
162
|
+
* the agent's conversation in the assistant panel. "Runs" opens `nh-assistant-agent-run-history`, the
|
|
163
|
+
* agent's runs with their results. When the run catalog cannot be read, the page says why with its
|
|
164
|
+
* code and offers to read it again; until then it offers no "Run now" and the editor leaves what an
|
|
165
|
+
* agent works on and its groups as they are. The run configuration opens with the agent's flow, whose
|
|
166
|
+
* entry points open the editor, the runs and the technical account here and return to the run
|
|
167
|
+
* configuration afterwards; `openMcpServers` asks the host to show the MCP servers.
|
|
73
168
|
*/
|
|
74
169
|
declare class NhAssistantAdminAgentsComponent {
|
|
75
170
|
private readonly admin;
|
|
76
171
|
private readonly store;
|
|
172
|
+
private readonly panel;
|
|
173
|
+
private readonly translate;
|
|
77
174
|
private readonly injector;
|
|
78
175
|
private readonly host;
|
|
79
176
|
private readonly backButton;
|
|
80
177
|
private readonly reasonInput;
|
|
81
178
|
private subscription?;
|
|
82
179
|
private actionSubscription?;
|
|
180
|
+
private catalogSubscription?;
|
|
83
181
|
readonly id: string;
|
|
84
182
|
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
85
183
|
readonly loadFailed: _angular_core.WritableSignal<boolean>;
|
|
86
184
|
readonly agents: _angular_core.WritableSignal<AdminAgent[]>;
|
|
87
185
|
readonly tools: _angular_core.WritableSignal<ToolCatalogEntry[]>;
|
|
88
186
|
readonly servers: _angular_core.WritableSignal<McpServer[]>;
|
|
187
|
+
/** The run catalog: object types by name, policies and divisions; `null` when it could not be read. */
|
|
188
|
+
readonly catalog: _angular_core.WritableSignal<RunCatalog | null>;
|
|
189
|
+
/** Why the run catalog could not be read; `null` once it was. */
|
|
190
|
+
readonly catalogError: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
191
|
+
readonly catalogErrorKeys: _angular_core.Signal<string[]>;
|
|
192
|
+
/** The run catalog is being read again after a failure. */
|
|
193
|
+
readonly catalogLoading: _angular_core.WritableSignal<boolean>;
|
|
89
194
|
/** `undefined`: list; `null`: new agent; an agent: editing that agent. */
|
|
90
195
|
readonly editing: _angular_core.WritableSignal<AdminAgent | null | undefined>;
|
|
91
196
|
/** The agent whose feedback report is shown instead of the list. */
|
|
@@ -94,6 +199,15 @@ declare class NhAssistantAdminAgentsComponent {
|
|
|
94
199
|
readonly evaluating: _angular_core.WritableSignal<AdminAgent | null>;
|
|
95
200
|
/** The agent whose run configuration is shown instead of the list. */
|
|
96
201
|
readonly configuring: _angular_core.WritableSignal<AdminAgent | null>;
|
|
202
|
+
/** The agent whose runs are shown instead of the list. */
|
|
203
|
+
readonly viewingRuns: _angular_core.WritableSignal<AdminAgent | null>;
|
|
204
|
+
/**
|
|
205
|
+
* The agent whose run configuration opened the editor or the runs from its flow; closing them
|
|
206
|
+
* returns to its run configuration instead of the list.
|
|
207
|
+
*/
|
|
208
|
+
readonly returnTo: _angular_core.WritableSignal<string | null>;
|
|
209
|
+
/** The flow of a run configuration asks to show the MCP servers, whose background use it explains. */
|
|
210
|
+
readonly openMcpServers: _angular_core.OutputEmitterRef<void>;
|
|
97
211
|
readonly confirming: _angular_core.WritableSignal<{
|
|
98
212
|
agentId: string;
|
|
99
213
|
action: "delete" | "reset";
|
|
@@ -117,12 +231,40 @@ declare class NhAssistantAdminAgentsComponent {
|
|
|
117
231
|
mode: "set" | "code";
|
|
118
232
|
} | null>;
|
|
119
233
|
readonly accountId: _angular_core.WritableSignal<string>;
|
|
234
|
+
/** Why the account of the open account form was refused, shown at the account field. */
|
|
235
|
+
readonly accountError: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
236
|
+
/** The text of the account field's error: the refused field value, then the code. */
|
|
237
|
+
readonly accountErrorKeys: _angular_core.Signal<string[]>;
|
|
238
|
+
/** Whether the application offers an account search for the technical account. */
|
|
239
|
+
readonly accountSearch: _angular_core.WritableSignal<boolean>;
|
|
240
|
+
/**
|
|
241
|
+
* The names of the technical accounts and of the people who changed an agent, once known, and why
|
|
242
|
+
* they are not.
|
|
243
|
+
*/
|
|
244
|
+
readonly accountNameLookup: NhAssistantAccountNames;
|
|
245
|
+
/** The names of the technical accounts in the list, by account id. */
|
|
246
|
+
readonly accountNames: _angular_core.Signal<ReadonlyMap<string, string>>;
|
|
247
|
+
/** The agent whose last action failed, so its error shows on its card. */
|
|
248
|
+
readonly errorAgentId: _angular_core.WritableSignal<string | null>;
|
|
249
|
+
/** The agent the run-now dialog runs; `null` while it is closed. */
|
|
250
|
+
readonly runningNow: _angular_core.WritableSignal<AdminAgent | null>;
|
|
251
|
+
/** The agent of the run-now dialog as the dialog needs it: its name and what it works on. */
|
|
252
|
+
readonly runNowAgent: _angular_core.Signal<_NhAssistantRunNowAgent | null>;
|
|
253
|
+
/** The run configuration opens with the guided setup, for an agent created to work on its own. */
|
|
254
|
+
readonly setupOnOpen: _angular_core.WritableSignal<boolean>;
|
|
120
255
|
readonly stateReason: _angular_core.WritableSignal<string>;
|
|
121
256
|
readonly maxReason = 500;
|
|
122
257
|
readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
123
258
|
readonly errorKeys: _angular_core.Signal<string[]>;
|
|
259
|
+
readonly codeTextKeys: typeof codeTextKeys;
|
|
260
|
+
readonly skillNameKeys: typeof skillNameKeys;
|
|
261
|
+
readonly skillDescriptionKeys: typeof skillDescriptionKeys;
|
|
262
|
+
readonly policyKeys: typeof policyKeys;
|
|
263
|
+
readonly readableId: typeof readableId;
|
|
124
264
|
constructor();
|
|
125
265
|
load(): void;
|
|
266
|
+
/** Reads the run catalog again after it could not be read. */
|
|
267
|
+
retryCatalog(): void;
|
|
126
268
|
create(): void;
|
|
127
269
|
edit(agent: AdminAgent): void;
|
|
128
270
|
/** Shows what people said when they rejected the agent's proposals. */
|
|
@@ -136,14 +278,55 @@ declare class NhAssistantAdminAgentsComponent {
|
|
|
136
278
|
* or any agent created here, which gets run settings as data.
|
|
137
279
|
*/
|
|
138
280
|
hasRunConfiguration(agent: AdminAgent): boolean;
|
|
281
|
+
/**
|
|
282
|
+
* Whether the agent can be run now: it runs on its own, so it has a run configuration, it is
|
|
283
|
+
* neither stopped nor disabled in code, and the run catalog names what it can run on. The server
|
|
284
|
+
* decides the rest when the run starts.
|
|
285
|
+
*/
|
|
286
|
+
canRunNow(agent: AdminAgent): boolean;
|
|
287
|
+
/** Opens the run-now dialog of the agent. */
|
|
288
|
+
runNow(agent: AdminAgent): void;
|
|
289
|
+
/** Opens the conversation the run works in, in the assistant panel. */
|
|
290
|
+
openConversation(conversationId: string): void;
|
|
139
291
|
/** Shows the agent's skills, triggers and run settings defined as data. */
|
|
140
|
-
openRunConfiguration(agent: AdminAgent): void;
|
|
292
|
+
openRunConfiguration(agent: AdminAgent, setup?: boolean): void;
|
|
141
293
|
/** Returns to the list, refreshed, and to the run configuration action of the agent. */
|
|
142
294
|
closeRunConfiguration(): void;
|
|
295
|
+
/** Shows the agent's runs with their results. */
|
|
296
|
+
openRuns(agent: AdminAgent): void;
|
|
297
|
+
/**
|
|
298
|
+
* Returns to the run configuration whose flow opened the runs, or to the list and the runs action of
|
|
299
|
+
* the agent whose runs were open.
|
|
300
|
+
*/
|
|
301
|
+
closeRuns(): void;
|
|
143
302
|
/** Returns to the list and to the evaluation action of the agent whose comparison was open. */
|
|
144
303
|
closeEvaluation(): void;
|
|
145
304
|
/** Returns to the list and to the feedback action of the agent whose report was open. */
|
|
146
305
|
closeReport(): void;
|
|
306
|
+
/** A new agent meant to work on its own continues in its run configuration's guided setup. */
|
|
307
|
+
onWorkRequested(agent: AdminAgent): void;
|
|
308
|
+
/** The flow of the agent's run configuration opens the editor; saving or cancelling returns there. */
|
|
309
|
+
editFromRunConfiguration(agent: AdminAgent): void;
|
|
310
|
+
/** The flow of the agent's run configuration opens its runs; going back returns there. */
|
|
311
|
+
runsFromRunConfiguration(agent: AdminAgent): void;
|
|
312
|
+
/** The flow of an agent in code opens the form that replaces its technical account on its card. */
|
|
313
|
+
accountFromRunConfiguration(agent: AdminAgent): void;
|
|
314
|
+
/** The editor saved: back to the run configuration that opened it, or to the list. */
|
|
315
|
+
onEditorSaved(agent: AdminAgent): void;
|
|
316
|
+
/** The editor closed without saving: back to the run configuration that opened it, or to the list. */
|
|
317
|
+
onEditorCancelled(): void;
|
|
318
|
+
/** Opens the run configuration again when its flow opened what closes now; `false` otherwise. */
|
|
319
|
+
private returnToRunConfiguration;
|
|
320
|
+
/** What the agent works on, with its object types named as the run catalog names them. */
|
|
321
|
+
worksOn(agent: AdminAgent): WorksOnSummary & {
|
|
322
|
+
only: 'all' | 'types' | 'application';
|
|
323
|
+
};
|
|
324
|
+
/** The groups the agent is in, named as the run catalog names them; `null` for none. */
|
|
325
|
+
groupNames(agent: AdminAgent): string | null;
|
|
326
|
+
/** The name of an account or person, or the id when the application does not know it. */
|
|
327
|
+
accountName(actorId: string | null | undefined): string;
|
|
328
|
+
/** The account ID as the tooltip of a name shown in its place. */
|
|
329
|
+
accountTitle(actorId: string | null | undefined): string | null;
|
|
147
330
|
onSaved(agent: AdminAgent): void;
|
|
148
331
|
/** The state changes the agent allows: none for an agent that is disabled in code. */
|
|
149
332
|
stateActions(agent: AdminAgent): AgentStateAction[];
|
|
@@ -159,11 +342,26 @@ declare class NhAssistantAdminAgentsComponent {
|
|
|
159
342
|
shadowActions(shadow: AgentShadowState | null | undefined): AgentShadowMode[];
|
|
160
343
|
/** Opens the reason form of a shadow mode change of the agent or, with a skill, of that skill. */
|
|
161
344
|
askShadow(agent: AdminAgent, mode: AgentShadowMode, skill?: AgentSkillState): void;
|
|
345
|
+
/**
|
|
346
|
+
* The label of a shadow action. An agent created here has no code: returning to its "code" mode
|
|
347
|
+
* means returning to the mode it was set up with.
|
|
348
|
+
*/
|
|
349
|
+
shadowActionKey(agent: AdminAgent, mode: AgentShadowMode): string;
|
|
350
|
+
/** The explanation of a shadow change of the agent or one of its skills. */
|
|
351
|
+
shadowExplainKey(agent: AdminAgent, mode: AgentShadowMode, skill: boolean): string;
|
|
352
|
+
/** The mode the agent, or one of its skills, was set up with: what returning to it means. */
|
|
353
|
+
ownShadowModeKey(agent: AdminAgent, skillId?: string): string;
|
|
162
354
|
isChangingShadow(agentId: string, mode: AgentShadowMode, skillId?: string): boolean;
|
|
163
355
|
applyShadow(agent: AdminAgent): void;
|
|
164
356
|
/** Opens the form that changes the technical account, or returns to the one in code. */
|
|
165
357
|
askAccount(agent: AdminAgent, mode: 'set' | 'code'): void;
|
|
358
|
+
/** A changed account clears the error of the one before. */
|
|
359
|
+
onAccountChange(actorId: string): void;
|
|
166
360
|
isChangingAccount(agentId: string, mode: 'set' | 'code'): boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Changes the technical account. The form stays open while the server decides, so a missing or
|
|
363
|
+
* refused account shows at the account field, which takes the focus.
|
|
364
|
+
*/
|
|
167
365
|
applyAccount(agent: AdminAgent): void;
|
|
168
366
|
isChangingState(agentId: string, state: AgentStateAction, skillId?: string): boolean;
|
|
169
367
|
applyState(agent: AdminAgent): void;
|
|
@@ -173,6 +371,12 @@ declare class NhAssistantAdminAgentsComponent {
|
|
|
173
371
|
reset(agent: AdminAgent): void;
|
|
174
372
|
remove(agent: AdminAgent): void;
|
|
175
373
|
private run;
|
|
374
|
+
/** Looks up the names of the technical accounts and of the people who changed an agent's state. */
|
|
375
|
+
private loadAccountNames;
|
|
376
|
+
/** The run catalog, or why it could not be read; it never errors. */
|
|
377
|
+
private readCatalog;
|
|
378
|
+
private applyCatalog;
|
|
379
|
+
private focusAccount;
|
|
176
380
|
/** Closes the open confirmation and change forms before another opens; one is open at a time. */
|
|
177
381
|
private closeForms;
|
|
178
382
|
private replace;
|
|
@@ -184,24 +388,50 @@ declare class NhAssistantAdminAgentsComponent {
|
|
|
184
388
|
/** Agent changes affect the agent picker of the panel. */
|
|
185
389
|
private refreshChat;
|
|
186
390
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminAgentsComponent, never>;
|
|
187
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminAgentsComponent, "nh-assistant-admin-agents", never, {}, {}, never, never, true, never>;
|
|
391
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminAgentsComponent, "nh-assistant-admin-agents", never, {}, { "openMcpServers": "openMcpServers"; }, never, never, true, never>;
|
|
188
392
|
}
|
|
189
393
|
|
|
190
394
|
/** True when a tool id matches a selector glob (`*` matches any characters). */
|
|
191
395
|
declare function nhAssistantSelectorMatches(toolId: string, selector: string): boolean;
|
|
396
|
+
/** How an agent created in the administration is used: chosen in the chat, working on its own, or both. */
|
|
397
|
+
type AgentUse = 'chat' | 'background' | 'both';
|
|
398
|
+
/** Whether an agent created in the administration works on every object type or on chosen ones. */
|
|
399
|
+
type WorksOnScope = 'all' | 'types';
|
|
192
400
|
/**
|
|
193
|
-
* Creates or edits one agent:
|
|
194
|
-
*
|
|
401
|
+
* Creates or edits one agent: how it is used (offered in the chat, working on its own, or both),
|
|
402
|
+
* what it works on (all objects or chosen object types, the whole application, per division when
|
|
403
|
+
* the application lists divisions, and who may run it and see its results for the whole
|
|
404
|
+
* application), texts, autonomy, policy, tool selectors chosen from the tool catalog or typed as
|
|
405
|
+
* patterns, and assigned MCP servers. A new agent meant to work on its own continues with
|
|
406
|
+
* `workRequested`. An agent in code names and describes itself with translation keys: the editor
|
|
407
|
+
* shows their translation and sends the key back unless the administrator changed the text, so the
|
|
408
|
+
* agent stays translated; what it works on comes from its code and is not edited here.
|
|
195
409
|
*/
|
|
196
410
|
declare class NhAssistantAdminAgentEditorComponent {
|
|
197
411
|
private readonly admin;
|
|
412
|
+
private readonly translate;
|
|
198
413
|
private subscription?;
|
|
414
|
+
private keyedName;
|
|
415
|
+
private keyedDescription;
|
|
199
416
|
/** The agent to edit, or null for a new agent. */
|
|
200
417
|
readonly agent: _angular_core.InputSignal<AdminAgent | null>;
|
|
201
418
|
readonly tools: _angular_core.InputSignal<readonly ToolCatalogEntry[]>;
|
|
202
419
|
readonly servers: _angular_core.InputSignal<readonly McpServer[]>;
|
|
420
|
+
/** The run catalog: the object types by name, the policies to choose and whether divisions are listed. */
|
|
421
|
+
readonly catalog: _angular_core.InputSignal<RunCatalog | null>;
|
|
422
|
+
/**
|
|
423
|
+
* The run catalog could not be read: the editor then leaves out what the agent works on and its
|
|
424
|
+
* groups, which depend on it, and a save keeps them as they are.
|
|
425
|
+
*/
|
|
426
|
+
readonly catalogUnavailable: _angular_core.InputSignal<boolean>;
|
|
203
427
|
readonly saved: _angular_core.OutputEmitterRef<AdminAgent>;
|
|
428
|
+
/**
|
|
429
|
+
* A new agent meant to work on its own was created; the host continues with its run
|
|
430
|
+
* configuration's guided setup. `saved` is not emitted for it.
|
|
431
|
+
*/
|
|
432
|
+
readonly workRequested: _angular_core.OutputEmitterRef<AdminAgent>;
|
|
204
433
|
readonly cancelled: _angular_core.OutputEmitterRef<void>;
|
|
434
|
+
readonly uses: readonly AgentUse[];
|
|
205
435
|
readonly id: string;
|
|
206
436
|
readonly max = 20000;
|
|
207
437
|
readonly autonomyLevels: readonly AssistantAutonomy[];
|
|
@@ -210,19 +440,68 @@ declare class NhAssistantAdminAgentEditorComponent {
|
|
|
210
440
|
readonly description: _angular_core.WritableSignal<string>;
|
|
211
441
|
readonly instructions: _angular_core.WritableSignal<string>;
|
|
212
442
|
readonly autonomy: _angular_core.WritableSignal<AssistantAutonomy>;
|
|
443
|
+
/** How the agent is used: in the chat, on its own, or both. */
|
|
444
|
+
readonly use: _angular_core.WritableSignal<AgentUse>;
|
|
213
445
|
readonly requiredPolicy: _angular_core.WritableSignal<string>;
|
|
214
446
|
readonly toolSelectors: _angular_core.WritableSignal<string[]>;
|
|
215
447
|
readonly mcpServerIds: _angular_core.WritableSignal<string[]>;
|
|
448
|
+
/** What the agent works on: all objects or the chosen object types. */
|
|
449
|
+
readonly worksOnScope: _angular_core.WritableSignal<WorksOnScope>;
|
|
450
|
+
readonly worksOnTypes: _angular_core.WritableSignal<string[]>;
|
|
451
|
+
readonly worksOnApplication: _angular_core.WritableSignal<boolean>;
|
|
452
|
+
readonly perDivision: _angular_core.WritableSignal<boolean>;
|
|
453
|
+
readonly runPolicy: _angular_core.WritableSignal<string>;
|
|
454
|
+
readonly viewPolicy: _angular_core.WritableSignal<string>;
|
|
455
|
+
/** The groups of agents the agent is in, by id. */
|
|
456
|
+
readonly groups: _angular_core.WritableSignal<string[]>;
|
|
216
457
|
readonly newSelector: _angular_core.WritableSignal<string>;
|
|
217
458
|
readonly catalogFilter: _angular_core.WritableSignal<string>;
|
|
218
459
|
readonly submitted: _angular_core.WritableSignal<boolean>;
|
|
219
460
|
readonly saving: _angular_core.WritableSignal<boolean>;
|
|
220
461
|
readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
462
|
+
/**
|
|
463
|
+
* A new agent that was created while its groups could not be saved yet: the next save completes it
|
|
464
|
+
* as an existing agent.
|
|
465
|
+
*/
|
|
466
|
+
private readonly created;
|
|
467
|
+
/** The agent the next save updates; `null` while a new agent is not created yet. */
|
|
468
|
+
private readonly editing;
|
|
221
469
|
readonly isNew: _angular_core.Signal<boolean>;
|
|
470
|
+
/** Only agents created here choose whether they are offered in the chat; code decides for the others. */
|
|
471
|
+
readonly choosesUse: _angular_core.Signal<boolean>;
|
|
222
472
|
readonly idInvalid: _angular_core.Signal<boolean>;
|
|
223
473
|
readonly nameMissing: _angular_core.Signal<boolean>;
|
|
224
474
|
readonly tooLong: _angular_core.Signal<boolean>;
|
|
225
475
|
readonly selectorInvalid: _angular_core.Signal<boolean>;
|
|
476
|
+
/**
|
|
477
|
+
* The application's own object types, by name; the platform's types, such as the whole
|
|
478
|
+
* application, are chosen otherwise. A stored type the application no longer registers stays
|
|
479
|
+
* listed by its id, so it can be unticked.
|
|
480
|
+
*/
|
|
481
|
+
readonly subjectTypes: _angular_core.Signal<{
|
|
482
|
+
id: string;
|
|
483
|
+
name: string;
|
|
484
|
+
pluralName: string | null;
|
|
485
|
+
}[]>;
|
|
486
|
+
readonly agentPolicies: _angular_core.Signal<_newheap_platform_ai_chat.RunBlock[]>;
|
|
487
|
+
/** The groups of agents the application registers, which boards show. */
|
|
488
|
+
readonly agentGroups: _angular_core.Signal<_newheap_platform_ai_chat.AgentGroup[]>;
|
|
489
|
+
/** The groups the agent joins in code. */
|
|
490
|
+
readonly codeGroups: _angular_core.Signal<string[]>;
|
|
491
|
+
/** A shadow variant works for administrators only and joins no group. */
|
|
492
|
+
readonly isVariant: _angular_core.Signal<boolean>;
|
|
493
|
+
/** The server's refusal of the groups, as a translation key. */
|
|
494
|
+
readonly groupsError: _angular_core.Signal<string | null>;
|
|
495
|
+
/** Per division is offered only when the application lists its divisions. */
|
|
496
|
+
readonly divisionsListed: _angular_core.Signal<boolean>;
|
|
497
|
+
/** The object types the agent is known to work on, by name, as a hint next to "All objects". */
|
|
498
|
+
readonly knownTypes: _angular_core.Signal<string[]>;
|
|
499
|
+
/** What the agent works on is edited here: an agent created here, while the run catalog is known. */
|
|
500
|
+
readonly editsWorksOn: _angular_core.Signal<boolean>;
|
|
501
|
+
/** Chosen object types without a type, and not the application either: the agent would work on nothing. */
|
|
502
|
+
readonly worksOnMissing: _angular_core.Signal<boolean>;
|
|
503
|
+
readonly tooManyTypes: _angular_core.Signal<boolean>;
|
|
504
|
+
readonly policyKeys: typeof policyKeys;
|
|
226
505
|
readonly valid: _angular_core.Signal<boolean>;
|
|
227
506
|
readonly errorKeys: _angular_core.Signal<string[]>;
|
|
228
507
|
readonly filteredTools: _angular_core.Signal<ToolCatalogEntry[]>;
|
|
@@ -234,13 +513,21 @@ declare class NhAssistantAdminAgentEditorComponent {
|
|
|
234
513
|
addSelector(): void;
|
|
235
514
|
onSelectorKeydown(event: KeyboardEvent): void;
|
|
236
515
|
removeSelector(selector: string): void;
|
|
516
|
+
toggleWorksOnType(typeId: string, checked: boolean): void;
|
|
517
|
+
toggleGroup(groupId: string, checked: boolean): void;
|
|
237
518
|
toggleServer(serverId: string, checked: boolean): void;
|
|
238
519
|
value(event: Event): string;
|
|
239
520
|
checked(event: Event): boolean;
|
|
521
|
+
/** The first error the server reported for a field, as a translation key. */
|
|
522
|
+
fieldError(field: string): string | null;
|
|
240
523
|
save(): void;
|
|
524
|
+
/** What the agent works on, as the six fields the server reads together. */
|
|
525
|
+
private worksOnInput;
|
|
241
526
|
private reset;
|
|
527
|
+
/** The translation of a key of an agent in code, or `null` when the text is not a key with a translation. */
|
|
528
|
+
private keyed;
|
|
242
529
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminAgentEditorComponent, never>;
|
|
243
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminAgentEditorComponent, "nh-assistant-admin-agent-editor", never, { "agent": { "alias": "agent"; "required": false; "isSignal": true; }; "tools": { "alias": "tools"; "required": false; "isSignal": true; }; "servers": { "alias": "servers"; "required": false; "isSignal": true; }; }, { "saved": "saved"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
530
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminAgentEditorComponent, "nh-assistant-admin-agent-editor", never, { "agent": { "alias": "agent"; "required": false; "isSignal": true; }; "tools": { "alias": "tools"; "required": false; "isSignal": true; }; "servers": { "alias": "servers"; "required": false; "isSignal": true; }; "catalog": { "alias": "catalog"; "required": false; "isSignal": true; }; "catalogUnavailable": { "alias": "catalogUnavailable"; "required": false; "isSignal": true; }; }, { "saved": "saved"; "workRequested": "workRequested"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
244
531
|
}
|
|
245
532
|
|
|
246
533
|
/** Periods the evaluation offers, in days before now; the server allows at most 92. */
|
|
@@ -389,7 +676,123 @@ declare class NhAssistantAgentFeedbackReportComponent {
|
|
|
389
676
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAgentFeedbackReportComponent, "nh-assistant-agent-feedback-report", never, { "agentId": { "alias": "agentId"; "required": true; "isSignal": true; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
390
677
|
}
|
|
391
678
|
|
|
392
|
-
|
|
679
|
+
/** A filter value as the form holds it: the empty string means "any". */
|
|
680
|
+
interface RunHistoryForm {
|
|
681
|
+
subjectType: string;
|
|
682
|
+
subjectId: string;
|
|
683
|
+
status: AgentRunStatus | '';
|
|
684
|
+
from: string;
|
|
685
|
+
to: string;
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* The runs view of one agent for administrators (`GET admin/agents/{id}/runs`): every run of the
|
|
689
|
+
* agent, shadow runs marked, newest first, filtered by the kind of object, one object, the whole
|
|
690
|
+
* application, the status and the period. Per run its time, trigger, object, the beginning of its
|
|
691
|
+
* result, its proposals, usage and duration; "Show the result" opens the run's whole result, its
|
|
692
|
+
* proposals and its files in `nh-assistant-run-result`. The administration's agent cards open it with
|
|
693
|
+
* "Runs". A filter the server refuses (`assistant-run-filter-invalid`) shows each refused part at its
|
|
694
|
+
* field, and a run's failure reads as its translated code.
|
|
695
|
+
*/
|
|
696
|
+
declare class NhAssistantAgentRunHistoryComponent {
|
|
697
|
+
private readonly admin;
|
|
698
|
+
private readonly injector;
|
|
699
|
+
private readonly host;
|
|
700
|
+
private subscription?;
|
|
701
|
+
/** The agent whose runs are shown. */
|
|
702
|
+
readonly agentId: _angular_core.InputSignal<string>;
|
|
703
|
+
/** The kinds of objects of the application, from the run catalog, to filter by. */
|
|
704
|
+
readonly subjectTypes: _angular_core.InputSignal<readonly AgentSubjectType[]>;
|
|
705
|
+
/** Emits the conversation of a run, so the host can open it in the assistant panel. */
|
|
706
|
+
readonly openConversation: _angular_core.OutputEmitterRef<string>;
|
|
707
|
+
readonly id: string;
|
|
708
|
+
readonly statuses: readonly AgentRunStatus[];
|
|
709
|
+
readonly systemType = "nh-system";
|
|
710
|
+
/** The kinds of objects, the whole application left out: it has an option of its own. */
|
|
711
|
+
readonly objectTypes: _angular_core.Signal<AgentSubjectType[]>;
|
|
712
|
+
readonly form: _angular_core.WritableSignal<RunHistoryForm>;
|
|
713
|
+
/** The period ends before it starts. */
|
|
714
|
+
readonly periodInvalid: _angular_core.WritableSignal<boolean>;
|
|
715
|
+
/** One object can be chosen once a kind of object is. */
|
|
716
|
+
readonly objectChoosable: _angular_core.Signal<boolean>;
|
|
717
|
+
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
718
|
+
readonly loadingMore: _angular_core.WritableSignal<boolean>;
|
|
719
|
+
readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
720
|
+
readonly errorKeys: _angular_core.Signal<string[]>;
|
|
721
|
+
/** The refused filter fields the form shows, with the server's first value per field. */
|
|
722
|
+
readonly fieldErrors: _angular_core.Signal<Partial<Record<string, string>>>;
|
|
723
|
+
readonly codeKeys: typeof _nhAssistantCodeKeys;
|
|
724
|
+
readonly items: _angular_core.WritableSignal<AgentRunHistoryItem[]>;
|
|
725
|
+
readonly total: _angular_core.WritableSignal<number>;
|
|
726
|
+
readonly page: _angular_core.WritableSignal<number>;
|
|
727
|
+
readonly hasMore: _angular_core.Signal<boolean>;
|
|
728
|
+
/** The run whose whole result is shown instead of the list. */
|
|
729
|
+
readonly opened: _angular_core.WritableSignal<AgentRunHistoryItem | null>;
|
|
730
|
+
private applied;
|
|
731
|
+
constructor();
|
|
732
|
+
/** The text of the server's error of a filter field; a refused end of the period reads as such. */
|
|
733
|
+
fieldErrorKeys(field: string): string[];
|
|
734
|
+
/** The ids a filter field describes itself with: its hint and its error while there is one. */
|
|
735
|
+
describedBy(hintId: string | null, field: string): string | null;
|
|
736
|
+
update(field: keyof RunHistoryForm, event: Event): void;
|
|
737
|
+
/** Reads the runs that match the form, from the first page. */
|
|
738
|
+
apply(): void;
|
|
739
|
+
/** Clears the filters and reads every run again. */
|
|
740
|
+
clear(): void;
|
|
741
|
+
/** Narrows the view to the runs on the object of one run. */
|
|
742
|
+
onlyObject(run: AgentRunHistoryItem): void;
|
|
743
|
+
loadMore(): void;
|
|
744
|
+
open(run: AgentRunHistoryItem): void;
|
|
745
|
+
/** Returns to the list and to the result action of the run that was open. */
|
|
746
|
+
close(): void;
|
|
747
|
+
/** How long the run took, as a text key and its number; `null` while it runs. */
|
|
748
|
+
durationOf(run: AgentRunHistoryItem): {
|
|
749
|
+
key: string;
|
|
750
|
+
value: number;
|
|
751
|
+
} | null;
|
|
752
|
+
/** Moves the focus to the first filter field the server refused. */
|
|
753
|
+
private focusRefusedField;
|
|
754
|
+
private fetch;
|
|
755
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAgentRunHistoryComponent, never>;
|
|
756
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAgentRunHistoryComponent, "nh-assistant-agent-run-history", never, { "agentId": { "alias": "agentId"; "required": true; "isSignal": true; }; "subjectTypes": { "alias": "subjectTypes"; "required": false; "isSignal": true; }; }, { "openConversation": "openConversation"; }, never, never, true, never>;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
* What an entry point of the flow opens: the run configuration opens its own forms; the agent editor,
|
|
761
|
+
* the technical account, the runs view and the MCP servers belong to the page that hosts it.
|
|
762
|
+
*/
|
|
763
|
+
type AgentFlowEntry = {
|
|
764
|
+
kind: 'setup';
|
|
765
|
+
} | {
|
|
766
|
+
kind: 'settings';
|
|
767
|
+
} | {
|
|
768
|
+
kind: 'add-skill';
|
|
769
|
+
} | {
|
|
770
|
+
kind: 'edit-skill';
|
|
771
|
+
skillId: string;
|
|
772
|
+
} | {
|
|
773
|
+
kind: 'add-trigger';
|
|
774
|
+
} | {
|
|
775
|
+
kind: 'edit-trigger';
|
|
776
|
+
triggerId: string;
|
|
777
|
+
} | {
|
|
778
|
+
kind: 'edit-agent';
|
|
779
|
+
} | {
|
|
780
|
+
kind: 'account';
|
|
781
|
+
} | {
|
|
782
|
+
kind: 'runs';
|
|
783
|
+
} | {
|
|
784
|
+
kind: 'mcp-servers';
|
|
785
|
+
};
|
|
786
|
+
|
|
787
|
+
/** What a saved skill form tells its host. */
|
|
788
|
+
interface SkillFormSaved {
|
|
789
|
+
skill: DataSkill;
|
|
790
|
+
/** The change runs as the skill's candidate in shadow. */
|
|
791
|
+
candidate: boolean;
|
|
792
|
+
added: boolean;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
type Form = 'setup' | 'settings' | 'skill' | 'trigger';
|
|
393
796
|
/** A removal, promotion or discard that waits for its confirmation. */
|
|
394
797
|
interface Confirmation {
|
|
395
798
|
action: 'remove-settings' | 'remove-skill' | 'remove-trigger' | 'promote' | 'discard';
|
|
@@ -398,29 +801,52 @@ interface Confirmation {
|
|
|
398
801
|
/**
|
|
399
802
|
* The run configuration of one agent as data: the run settings of an agent created in the
|
|
400
803
|
* administration, its skills and triggers in code (read only) and as data, and the data that no
|
|
401
|
-
* longer fits the code.
|
|
402
|
-
*
|
|
403
|
-
* the
|
|
404
|
-
*
|
|
804
|
+
* longer fits the code. It opens with the agent's flow: what it works on, when it runs, how it works,
|
|
805
|
+
* whom it answers to, who approves and its results, each step with its problems and an entry point
|
|
806
|
+
* to the form below that changes it; the agent editor (`editAgent`), the technical account of an
|
|
807
|
+
* agent in code (`changeAccount`), the runs view (`openRuns`) and the MCP servers (`openMcpServers`)
|
|
808
|
+
* belong to the page that hosts it. An agent created here that only chats gets a guided setup that
|
|
809
|
+
* lets it work on its own. Administrators add and change data skills, live at once or as a candidate in shadow that
|
|
810
|
+
* they compare with the live version and promote or discard; they add data triggers on the
|
|
811
|
+
* application's events or on a schedule and put them live; a schedule without a subject set runs for
|
|
812
|
+
* the whole application, or for every division of an agent that works per division. New skills and
|
|
813
|
+
* triggers start in shadow; `changed` tells the agents page to reload the agent's skill states.
|
|
405
814
|
*/
|
|
406
815
|
declare class NhAssistantAgentRunConfigurationComponent implements OnInit {
|
|
407
816
|
private readonly admin;
|
|
817
|
+
private readonly translate;
|
|
408
818
|
private readonly injector;
|
|
409
819
|
private readonly host;
|
|
410
820
|
private loadSubscription?;
|
|
411
821
|
private actionSubscription?;
|
|
412
822
|
private detailSubscription?;
|
|
823
|
+
/** The flow's entry point that opened the form, which takes the focus back when the form closes. */
|
|
824
|
+
private returnFocus;
|
|
413
825
|
readonly agent: _angular_core.InputSignal<AdminAgent>;
|
|
826
|
+
/** Opens the guided setup at once, for an agent that was just created to work on its own. */
|
|
827
|
+
readonly startSetup: _angular_core.InputSignal<boolean>;
|
|
828
|
+
/** The tool catalog, to show what the agent's tool selectors offer in the skill forms and the flow. */
|
|
829
|
+
readonly tools: _angular_core.InputSignal<readonly ToolCatalogEntry[]>;
|
|
830
|
+
/**
|
|
831
|
+
* The MCP servers, so the flow shows whether the agent's servers are used in runs without a person;
|
|
832
|
+
* `null` while unknown.
|
|
833
|
+
*/
|
|
834
|
+
readonly servers: _angular_core.InputSignal<readonly McpServer[] | null>;
|
|
414
835
|
/** A change of the run configuration changed the agent's skills or state. */
|
|
415
836
|
readonly changed: _angular_core.OutputEmitterRef<void>;
|
|
837
|
+
/** The flow asks to open the agent editor: what it works on, its tools, MCP servers and groups. */
|
|
838
|
+
readonly editAgent: _angular_core.OutputEmitterRef<void>;
|
|
839
|
+
/** The flow asks to change the technical account of an agent in code. */
|
|
840
|
+
readonly changeAccount: _angular_core.OutputEmitterRef<void>;
|
|
841
|
+
/** The flow asks to open the agent's runs. */
|
|
842
|
+
readonly openRuns: _angular_core.OutputEmitterRef<void>;
|
|
843
|
+
/** The flow asks to open the MCP servers, whose background use decides what runs without a person use. */
|
|
844
|
+
readonly openMcpServers: _angular_core.OutputEmitterRef<void>;
|
|
416
845
|
readonly id: string;
|
|
417
|
-
readonly maxReason
|
|
418
|
-
readonly
|
|
419
|
-
readonly
|
|
420
|
-
readonly
|
|
421
|
-
readonly accountabilities: AgentAccountability[];
|
|
422
|
-
readonly elevatedReadModes: AgentElevatedReads[];
|
|
423
|
-
readonly conflicts: TriggerConflict[];
|
|
846
|
+
readonly maxReason: 500;
|
|
847
|
+
readonly skillNameKeys: typeof skillNameKeys;
|
|
848
|
+
readonly skillDescriptionKeys: typeof skillDescriptionKeys;
|
|
849
|
+
readonly readableId: typeof readableId;
|
|
424
850
|
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
425
851
|
readonly loadFailed: _angular_core.WritableSignal<boolean>;
|
|
426
852
|
readonly busy: _angular_core.WritableSignal<boolean>;
|
|
@@ -432,6 +858,20 @@ declare class NhAssistantAgentRunConfigurationComponent implements OnInit {
|
|
|
432
858
|
readonly form: _angular_core.WritableSignal<Form | null>;
|
|
433
859
|
readonly confirming: _angular_core.WritableSignal<Confirmation | null>;
|
|
434
860
|
readonly reason: _angular_core.WritableSignal<string>;
|
|
861
|
+
/** The item whose action failed, so its error shows next to it: `settings`, `skill:{id}` or `trigger:{id}`. */
|
|
862
|
+
readonly actionTarget: _angular_core.WritableSignal<string | null>;
|
|
863
|
+
/**
|
|
864
|
+
* The names of the account the agent answers to and of the people who changed skills, once known,
|
|
865
|
+
* and why they are not.
|
|
866
|
+
*/
|
|
867
|
+
readonly accountNames: NhAssistantAccountNames;
|
|
868
|
+
/**
|
|
869
|
+
* The name of the account the agent answers to, once known: the technical account of its run
|
|
870
|
+
* settings, or of an agent in code.
|
|
871
|
+
*/
|
|
872
|
+
readonly accountName: _angular_core.Signal<string | null>;
|
|
873
|
+
/** The agent's name; an agent in code names itself with a translation key. */
|
|
874
|
+
readonly agentName: _angular_core.Signal<string>;
|
|
435
875
|
/** The skill being changed; `null` with the skill form open adds a new skill. */
|
|
436
876
|
readonly editingSkill: _angular_core.WritableSignal<DataSkill | null>;
|
|
437
877
|
/** The trigger being changed; `null` with the trigger form open adds a new trigger. */
|
|
@@ -446,61 +886,24 @@ declare class NhAssistantAgentRunConfigurationComponent implements OnInit {
|
|
|
446
886
|
items: DataSkillVersion[] | null;
|
|
447
887
|
failed: boolean;
|
|
448
888
|
} | null>;
|
|
449
|
-
readonly
|
|
450
|
-
readonly serviceAccount: _angular_core.WritableSignal<string>;
|
|
451
|
-
readonly approvalPolicy: _angular_core.WritableSignal<string>;
|
|
452
|
-
readonly ruleHandler: _angular_core.WritableSignal<string>;
|
|
453
|
-
readonly triageProfile: _angular_core.WritableSignal<string>;
|
|
454
|
-
readonly retryCount: _angular_core.WritableSignal<string>;
|
|
455
|
-
readonly maxConcurrentRuns: _angular_core.WritableSignal<string>;
|
|
456
|
-
readonly maxRunsPerSubjectPerDay: _angular_core.WritableSignal<string>;
|
|
457
|
-
readonly maxTokensPerRun: _angular_core.WritableSignal<string>;
|
|
458
|
-
readonly dailyToolCalls: _angular_core.WritableSignal<string>;
|
|
459
|
-
readonly dailyTokens: _angular_core.WritableSignal<string>;
|
|
460
|
-
readonly allowGatewayReads: _angular_core.WritableSignal<boolean>;
|
|
461
|
-
readonly delegateFromInitiator: _angular_core.WritableSignal<boolean>;
|
|
462
|
-
readonly elevatedReads: _angular_core.WritableSignal<AgentElevatedReads>;
|
|
463
|
-
readonly skillId: _angular_core.WritableSignal<string>;
|
|
464
|
-
readonly skillDescription: _angular_core.WritableSignal<string>;
|
|
465
|
-
readonly skillInstructions: _angular_core.WritableSignal<string>;
|
|
466
|
-
readonly skillTools: _angular_core.WritableSignal<string[]>;
|
|
467
|
-
readonly skillProfile: _angular_core.WritableSignal<string>;
|
|
468
|
-
readonly skillRuleHandler: _angular_core.WritableSignal<string>;
|
|
469
|
-
readonly skillApprovalPolicy: _angular_core.WritableSignal<string>;
|
|
470
|
-
readonly skillMaxTokens: _angular_core.WritableSignal<string>;
|
|
471
|
-
readonly skillDailyToolCalls: _angular_core.WritableSignal<string>;
|
|
472
|
-
readonly skillDailyTokens: _angular_core.WritableSignal<string>;
|
|
473
|
-
readonly skillApply: _angular_core.WritableSignal<SkillApplyMode>;
|
|
474
|
-
readonly triggerId: _angular_core.WritableSignal<string>;
|
|
475
|
-
readonly triggerSource: _angular_core.WritableSignal<"event" | "schedule">;
|
|
476
|
-
readonly triggerEvent: _angular_core.WritableSignal<string>;
|
|
477
|
-
readonly triggerCron: _angular_core.WritableSignal<string>;
|
|
478
|
-
readonly triggerTimeZone: _angular_core.WritableSignal<string>;
|
|
479
|
-
readonly triggerSubjectSet: _angular_core.WritableSignal<string>;
|
|
480
|
-
readonly triggerMessage: _angular_core.WritableSignal<string>;
|
|
481
|
-
readonly triggerSkill: _angular_core.WritableSignal<string>;
|
|
482
|
-
readonly triggerConflict: _angular_core.WritableSignal<TriggerConflict>;
|
|
483
|
-
readonly triggerDebounce: _angular_core.WritableSignal<string>;
|
|
889
|
+
private readonly language;
|
|
484
890
|
readonly isAdminAgent: _angular_core.Signal<boolean>;
|
|
485
891
|
/** An agent created in the administration gets skills and triggers once it has run settings. */
|
|
486
892
|
readonly canAddRunData: _angular_core.Signal<boolean>;
|
|
487
|
-
readonly skillOptions: _angular_core.Signal<
|
|
893
|
+
readonly skillOptions: _angular_core.Signal<_NhAssistantPickerOption[]>;
|
|
894
|
+
readonly skillIds: _angular_core.Signal<string[]>;
|
|
895
|
+
readonly triggerIds: _angular_core.Signal<string[]>;
|
|
488
896
|
readonly problems: _angular_core.Signal<_newheap_platform_ai_chat.RunConfigurationProblem[]>;
|
|
489
|
-
|
|
490
|
-
readonly
|
|
491
|
-
readonly descriptionInvalid: _angular_core.Signal<boolean>;
|
|
897
|
+
/** What the run settings' approval policy means, in a sentence. */
|
|
898
|
+
readonly settingsPolicy: _angular_core.Signal<string | null>;
|
|
492
899
|
constructor();
|
|
493
900
|
ngOnInit(): void;
|
|
494
|
-
load(): void;
|
|
495
|
-
|
|
496
|
-
fieldError(field: string): string | null;
|
|
901
|
+
load(openSetup?: boolean): void;
|
|
902
|
+
openSetup(): void;
|
|
497
903
|
editSettings(): void;
|
|
498
|
-
saveSettings(): void;
|
|
499
904
|
removeSettings(): void;
|
|
500
905
|
addSkill(): void;
|
|
501
906
|
editSkill(skill: DataSkill): void;
|
|
502
|
-
toggleTool(selector: string, selected: boolean): void;
|
|
503
|
-
saveSkill(): void;
|
|
504
907
|
removeSkill(skill: DataSkill): void;
|
|
505
908
|
promote(skill: DataSkill): void;
|
|
506
909
|
discard(skill: DataSkill): void;
|
|
@@ -510,24 +913,41 @@ declare class NhAssistantAgentRunConfigurationComponent implements OnInit {
|
|
|
510
913
|
toggleVersions(skill: DataSkill): void;
|
|
511
914
|
addTrigger(): void;
|
|
512
915
|
editTrigger(trigger: DataTrigger): void;
|
|
513
|
-
/** A schedule skips a tick while a run is busy by default; an event coalesces. */
|
|
514
|
-
setTriggerSource(source: 'event' | 'schedule'): void;
|
|
515
|
-
saveTrigger(): void;
|
|
516
916
|
setTriggerShadow(trigger: DataTrigger, shadow: boolean): void;
|
|
517
917
|
removeTrigger(trigger: DataTrigger): void;
|
|
918
|
+
/** A form saved: show what happened and reload, which every change may affect. */
|
|
919
|
+
onSetupCompleted(live: boolean): void;
|
|
920
|
+
onSettingsSaved(): void;
|
|
921
|
+
onSkillSaved(result: SkillFormSaved): void;
|
|
922
|
+
onTriggerSaved(added: boolean): void;
|
|
518
923
|
confirm(action: Confirmation['action'], id: string): void;
|
|
519
924
|
isConfirming(action: Confirmation['action'], id: string): boolean;
|
|
925
|
+
/**
|
|
926
|
+
* An entry point of the flow: the forms of the run configuration open below with the focus in them;
|
|
927
|
+
* the editor, the account, the runs and the MCP servers belong to the host.
|
|
928
|
+
*/
|
|
929
|
+
onFlowEntry(entry: AgentFlowEntry): void;
|
|
520
930
|
cancel(): void;
|
|
521
931
|
value(event: Event): string;
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
932
|
+
/** A skill's name: the application's translation, or a readable form of its id. */
|
|
933
|
+
skillName(skillId: string | null | undefined): string;
|
|
934
|
+
/** A person's name, or the id when the application does not know it. */
|
|
935
|
+
nameOf(actorId: string | null | undefined): string;
|
|
936
|
+
/** The account ID as the tooltip of a name shown in its place. */
|
|
937
|
+
accountTitle(actorId: string | null | undefined): string | null;
|
|
938
|
+
/** The first of the keys with a translation, or the fallback. */
|
|
939
|
+
private translated;
|
|
940
|
+
/** Opens a form for the flow and remembers the entry point that opened it. */
|
|
941
|
+
private openFromFlow;
|
|
942
|
+
private finish;
|
|
525
943
|
/** Opens one form at a time and moves the focus into it. */
|
|
526
944
|
private open;
|
|
945
|
+
/** Whether the last failed action concerned this item, so its error shows there. */
|
|
946
|
+
failed(target: string): boolean;
|
|
527
947
|
/** Runs a change and reloads the configuration, which every change may affect. */
|
|
528
948
|
private run;
|
|
529
949
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAgentRunConfigurationComponent, never>;
|
|
530
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAgentRunConfigurationComponent, "nh-assistant-agent-run-configuration", never, { "agent": { "alias": "agent"; "required": true; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
|
|
950
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAgentRunConfigurationComponent, "nh-assistant-agent-run-configuration", never, { "agent": { "alias": "agent"; "required": true; "isSignal": true; }; "startSetup": { "alias": "startSetup"; "required": false; "isSignal": true; }; "tools": { "alias": "tools"; "required": false; "isSignal": true; }; "servers": { "alias": "servers"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "editAgent": "editAgent"; "changeAccount": "changeAccount"; "openRuns": "openRuns"; "openMcpServers": "openMcpServers"; }, never, never, true, never>;
|
|
531
951
|
}
|
|
532
952
|
|
|
533
953
|
/** Result of the latest connection test per server. */
|
|
@@ -536,11 +956,14 @@ interface TestState {
|
|
|
536
956
|
result: McpServerTestResult | null;
|
|
537
957
|
}
|
|
538
958
|
/**
|
|
539
|
-
* MCP server administration: list, connection test, tool sync, the
|
|
540
|
-
* tool table of one server.
|
|
959
|
+
* MCP server administration: list, connection test, tool sync, the organization's OAuth connection,
|
|
960
|
+
* the server editor and the tool table of one server. The personal connections are counted and
|
|
961
|
+
* revoked only for servers each person connects to with OAuth; a count that could not be read shows
|
|
962
|
+
* its translated code at the server.
|
|
541
963
|
*/
|
|
542
964
|
declare class NhAssistantAdminMcpServersComponent {
|
|
543
965
|
private readonly admin;
|
|
966
|
+
private readonly connector;
|
|
544
967
|
private subscription?;
|
|
545
968
|
private readonly actions;
|
|
546
969
|
readonly id: string;
|
|
@@ -552,6 +975,19 @@ declare class NhAssistantAdminMcpServersComponent {
|
|
|
552
975
|
readonly toolsOf: _angular_core.WritableSignal<McpServer | null>;
|
|
553
976
|
readonly tests: _angular_core.WritableSignal<Record<string, TestState>>;
|
|
554
977
|
readonly confirmingDelete: _angular_core.WritableSignal<string | null>;
|
|
978
|
+
/** The server whose organization connection is being authorized. */
|
|
979
|
+
readonly connecting: _angular_core.WritableSignal<string | null>;
|
|
980
|
+
readonly confirmingDisconnect: _angular_core.WritableSignal<string | null>;
|
|
981
|
+
readonly confirmingRevokeAll: _angular_core.WritableSignal<string | null>;
|
|
982
|
+
/** The personal connections per status of each server people connect to themselves. */
|
|
983
|
+
readonly summaries: _angular_core.WritableSignal<Record<string, McpConnectionsSummary>>;
|
|
984
|
+
/** Why the personal connections of a server could not be counted, per server. */
|
|
985
|
+
readonly summaryErrors: _angular_core.WritableSignal<Record<string, NhAssistantError>>;
|
|
986
|
+
/** The latest connection result to announce, per server. */
|
|
987
|
+
readonly notice: _angular_core.WritableSignal<{
|
|
988
|
+
serverId: string;
|
|
989
|
+
key: string;
|
|
990
|
+
} | null>;
|
|
555
991
|
readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
556
992
|
readonly errorKeys: _angular_core.Signal<string[]>;
|
|
557
993
|
constructor();
|
|
@@ -564,6 +1000,27 @@ declare class NhAssistantAdminMcpServersComponent {
|
|
|
564
1000
|
test(server: McpServer): void;
|
|
565
1001
|
testState(serverId: string): TestState | null;
|
|
566
1002
|
testErrorKeys(code: string | null): string[];
|
|
1003
|
+
/** The text of a server's failed count of personal connections. */
|
|
1004
|
+
summaryErrorKeys(serverId: string): string[];
|
|
1005
|
+
/** Whether an administrator connects the organization's account to the server. */
|
|
1006
|
+
authorizesOrganization(server: McpServer): boolean;
|
|
1007
|
+
/** Whether each person connects their own account to the server. */
|
|
1008
|
+
connectsPeople(server: McpServer): boolean;
|
|
1009
|
+
summary(server: McpServer): McpConnectionsSummary | null;
|
|
1010
|
+
/** Revokes every person's connection of the server; each person connects again. */
|
|
1011
|
+
revokeAll(server: McpServer): void;
|
|
1012
|
+
/** Counts the personal connections of the servers each person connects to with OAuth; only those have them. */
|
|
1013
|
+
private loadSummaries;
|
|
1014
|
+
/** Counts the personal connections of one server again. */
|
|
1015
|
+
retrySummary(server: McpServer): void;
|
|
1016
|
+
/**
|
|
1017
|
+
* Authorizes the organization's account, or for a server people connect to themselves the
|
|
1018
|
+
* administrator's own account, in a window opened right away, so popup blockers allow it, and
|
|
1019
|
+
* completes the connection with this administrator's session.
|
|
1020
|
+
*/
|
|
1021
|
+
connect(server: McpServer): void;
|
|
1022
|
+
/** Removes the organization connection; the server revokes its tokens. */
|
|
1023
|
+
disconnect(server: McpServer): void;
|
|
567
1024
|
remove(server: McpServer): void;
|
|
568
1025
|
private setTest;
|
|
569
1026
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminMcpServersComponent, never>;
|
|
@@ -572,19 +1029,57 @@ declare class NhAssistantAdminMcpServersComponent {
|
|
|
572
1029
|
|
|
573
1030
|
/**
|
|
574
1031
|
* What happens to the stored secret on save. `keep` omits `secret`, `replace` sends the
|
|
575
|
-
* new value and `clear` sends `""`. The stored value is never shown.
|
|
1032
|
+
* new value and `clear` sends `""`. The stored value is never shown. The editor offers no `clear`:
|
|
1033
|
+
* the API refuses a mode with a secret that has none, so a stored secret goes by choosing a reference
|
|
1034
|
+
* or a mode without a secret.
|
|
576
1035
|
*/
|
|
577
1036
|
type NhAssistantSecretAction = 'keep' | 'replace' | 'clear';
|
|
578
|
-
/**
|
|
1037
|
+
/** Where the secret is: stored here, encrypted, or a reference to a secret of the application. */
|
|
1038
|
+
type NhAssistantSecretSource = 'stored' | 'reference';
|
|
1039
|
+
/**
|
|
1040
|
+
* Creates or edits one MCP server: the authentication with a write-only secret or a reference to
|
|
1041
|
+
* one, OAuth with discovery the administrator confirms, an optional client certificate, the
|
|
1042
|
+
* transport and the use in background runs. Every field stops at the length the server accepts; a
|
|
1043
|
+
* refused save shows each of the server's field errors at its field, for example a secret reference
|
|
1044
|
+
* the application cannot resolve (`not-found`), and moves the focus to the first of them.
|
|
1045
|
+
*/
|
|
579
1046
|
declare class NhAssistantAdminMcpServerEditorComponent {
|
|
580
1047
|
private readonly admin;
|
|
1048
|
+
private readonly host;
|
|
1049
|
+
private readonly injector;
|
|
581
1050
|
private subscription?;
|
|
1051
|
+
private discoverySubscription?;
|
|
1052
|
+
private modesSubscription?;
|
|
1053
|
+
/** Fields whose server error the administrator changed since the refused save. */
|
|
1054
|
+
private readonly touched;
|
|
582
1055
|
/** The server to edit, or null for a new server. */
|
|
583
1056
|
readonly server: _angular_core.InputSignal<McpServer | null>;
|
|
584
1057
|
readonly saved: _angular_core.OutputEmitterRef<McpServer>;
|
|
585
1058
|
readonly cancelled: _angular_core.OutputEmitterRef<void>;
|
|
586
1059
|
readonly id: string;
|
|
587
|
-
readonly
|
|
1060
|
+
readonly limits: {
|
|
1061
|
+
readonly id: 40;
|
|
1062
|
+
readonly displayName: 200;
|
|
1063
|
+
readonly url: 2048;
|
|
1064
|
+
readonly headerName: 128;
|
|
1065
|
+
readonly secret: 2000;
|
|
1066
|
+
readonly secretReference: 233;
|
|
1067
|
+
readonly userName: 256;
|
|
1068
|
+
readonly clientCertificateReference: 100;
|
|
1069
|
+
readonly requiredPolicy: 256;
|
|
1070
|
+
readonly scopes: 1024;
|
|
1071
|
+
readonly clientId: 512;
|
|
1072
|
+
readonly clientSecret: 2000;
|
|
1073
|
+
readonly organizationAccountLabel: 200;
|
|
1074
|
+
};
|
|
1075
|
+
readonly builtInAuthModes: readonly McpBuiltInAuthMode[];
|
|
1076
|
+
/** The modes the application registered in code; none until they are loaded or when loading fails. */
|
|
1077
|
+
readonly customAuthModes: _angular_core.WritableSignal<readonly McpCustomAuthMode[]>;
|
|
1078
|
+
/** The built-in modes, the application's own and, kept selectable, a stored mode no longer registered. */
|
|
1079
|
+
readonly authModes: _angular_core.Signal<readonly McpAuthMode[]>;
|
|
1080
|
+
readonly transports: readonly McpTransport[];
|
|
1081
|
+
readonly secretSources: readonly NhAssistantSecretSource[];
|
|
1082
|
+
readonly connectionScopes: readonly McpConnectionScope[];
|
|
588
1083
|
readonly serverId: _angular_core.WritableSignal<string>;
|
|
589
1084
|
readonly displayName: _angular_core.WritableSignal<string>;
|
|
590
1085
|
readonly url: _angular_core.WritableSignal<string>;
|
|
@@ -592,28 +1087,121 @@ declare class NhAssistantAdminMcpServerEditorComponent {
|
|
|
592
1087
|
readonly headerName: _angular_core.WritableSignal<string>;
|
|
593
1088
|
readonly requiredPolicy: _angular_core.WritableSignal<string>;
|
|
594
1089
|
readonly isEnabled: _angular_core.WritableSignal<boolean>;
|
|
1090
|
+
readonly headlessUse: _angular_core.WritableSignal<McpHeadlessUse>;
|
|
1091
|
+
readonly userName: _angular_core.WritableSignal<string>;
|
|
1092
|
+
readonly secretSource: _angular_core.WritableSignal<NhAssistantSecretSource>;
|
|
1093
|
+
readonly secretReference: _angular_core.WritableSignal<string>;
|
|
1094
|
+
readonly clientCertificateReference: _angular_core.WritableSignal<string>;
|
|
1095
|
+
readonly transport: _angular_core.WritableSignal<McpTransport>;
|
|
595
1096
|
readonly secretAction: _angular_core.WritableSignal<NhAssistantSecretAction>;
|
|
596
1097
|
/** The new secret while typing. Never filled from the server. */
|
|
597
1098
|
readonly secret: _angular_core.WritableSignal<string>;
|
|
1099
|
+
readonly connectionScope: _angular_core.WritableSignal<McpConnectionScope>;
|
|
1100
|
+
readonly oauthClientId: _angular_core.WritableSignal<string>;
|
|
1101
|
+
readonly oauthScopes: _angular_core.WritableSignal<string>;
|
|
1102
|
+
readonly organizationAccountLabel: _angular_core.WritableSignal<string>;
|
|
1103
|
+
readonly oauthSecretSource: _angular_core.WritableSignal<NhAssistantSecretSource>;
|
|
1104
|
+
readonly oauthSecretReference: _angular_core.WritableSignal<string>;
|
|
1105
|
+
readonly oauthSecretAction: _angular_core.WritableSignal<NhAssistantSecretAction>;
|
|
1106
|
+
/** The new client secret while typing. Never filled from the server. */
|
|
1107
|
+
readonly oauthSecret: _angular_core.WritableSignal<string>;
|
|
1108
|
+
/** What discovery found for the address; the administrator confirms it on save. */
|
|
1109
|
+
readonly discovery: _angular_core.WritableSignal<McpDiscovery | null>;
|
|
1110
|
+
readonly discovering: _angular_core.WritableSignal<boolean>;
|
|
1111
|
+
readonly discoveryError: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
1112
|
+
readonly confirmAuthorization: _angular_core.WritableSignal<boolean>;
|
|
598
1113
|
readonly submitted: _angular_core.WritableSignal<boolean>;
|
|
599
1114
|
readonly saving: _angular_core.WritableSignal<boolean>;
|
|
600
1115
|
readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
|
|
601
1116
|
readonly isNew: _angular_core.Signal<boolean>;
|
|
1117
|
+
/** A stored secret that a save keeps; a reference replaces it. */
|
|
602
1118
|
readonly hasSecret: _angular_core.Signal<boolean>;
|
|
1119
|
+
/** The server's own secret; OAuth modes have a client secret instead. */
|
|
603
1120
|
readonly usesSecret: _angular_core.Signal<boolean>;
|
|
1121
|
+
readonly usesReference: _angular_core.Signal<boolean>;
|
|
1122
|
+
/**
|
|
1123
|
+
* The organization's credential may serve background runs; a forwarded user token only as the
|
|
1124
|
+
* short-lived token of the person a run acts for, after that person allowed it.
|
|
1125
|
+
*/
|
|
1126
|
+
readonly headlessUses: _angular_core.Signal<readonly McpHeadlessUse[]>;
|
|
1127
|
+
readonly isOAuth: _angular_core.Signal<boolean>;
|
|
1128
|
+
readonly isClientCredentials: _angular_core.Signal<boolean>;
|
|
1129
|
+
/** One authorization of the organization's account that everyone uses. */
|
|
1130
|
+
readonly isOrganizationOAuth: _angular_core.Signal<boolean>;
|
|
1131
|
+
/** Whose credential the application's own mode sends; null for a built-in mode. */
|
|
1132
|
+
readonly customOwnership: _angular_core.Signal<"organization" | "person" | null>;
|
|
1133
|
+
/**
|
|
1134
|
+
* The server runs with each person's own account: a forwarded sign-in, a personal OAuth connection
|
|
1135
|
+
* or a mode of the application that sends a person's credential.
|
|
1136
|
+
*/
|
|
1137
|
+
readonly personalCredential: _angular_core.Signal<boolean>;
|
|
1138
|
+
readonly hasOAuthSecret: _angular_core.Signal<boolean>;
|
|
1139
|
+
readonly usesOAuthReference: _angular_core.Signal<boolean>;
|
|
1140
|
+
readonly showOAuthSecretInput: _angular_core.Signal<boolean>;
|
|
1141
|
+
/**
|
|
1142
|
+
* The confirmed authorization server stays valid while the address and the OAuth use stay; a new
|
|
1143
|
+
* server, a new address or a switch to OAuth needs discovery and the administrator's confirmation.
|
|
1144
|
+
*/
|
|
1145
|
+
readonly needsConfirmation: _angular_core.Signal<boolean>;
|
|
1146
|
+
readonly pkceMissing: _angular_core.Signal<boolean>;
|
|
1147
|
+
readonly confirmMissing: _angular_core.Signal<boolean>;
|
|
1148
|
+
readonly scopesInvalid: _angular_core.Signal<boolean>;
|
|
1149
|
+
readonly clientIdMissing: _angular_core.Signal<boolean>;
|
|
1150
|
+
readonly labelMissing: _angular_core.Signal<boolean>;
|
|
1151
|
+
readonly oauthReferenceInvalid: _angular_core.Signal<boolean>;
|
|
1152
|
+
/** The registration discovery offers when no client id is entered. */
|
|
1153
|
+
readonly registration: _angular_core.Signal<"manual" | "metadata-document" | "dynamic" | null>;
|
|
1154
|
+
readonly effectiveHeadlessUse: _angular_core.Signal<McpHeadlessUse>;
|
|
604
1155
|
readonly showSecretInput: _angular_core.Signal<boolean>;
|
|
605
1156
|
readonly idInvalid: _angular_core.Signal<boolean>;
|
|
606
1157
|
readonly nameMissing: _angular_core.Signal<boolean>;
|
|
607
1158
|
readonly urlInvalid: _angular_core.Signal<boolean>;
|
|
1159
|
+
readonly userNameInvalid: _angular_core.Signal<boolean>;
|
|
1160
|
+
readonly secretReferenceInvalid: _angular_core.Signal<boolean>;
|
|
1161
|
+
readonly certificateInvalid: _angular_core.Signal<boolean>;
|
|
1162
|
+
readonly oauthInvalid: _angular_core.Signal<boolean>;
|
|
1163
|
+
readonly headerNameInvalid: _angular_core.Signal<boolean>;
|
|
608
1164
|
readonly valid: _angular_core.Signal<boolean>;
|
|
609
1165
|
readonly errorKeys: _angular_core.Signal<string[]>;
|
|
1166
|
+
/** The server's first error per field of the refused save, until the administrator changes the field. */
|
|
1167
|
+
readonly serverErrors: _angular_core.Signal<Readonly<Record<string, string>>>;
|
|
1168
|
+
/** Field errors of fields the editor does not show, listed with the form's error. */
|
|
1169
|
+
readonly otherServerErrors: _angular_core.Signal<{
|
|
1170
|
+
field: string;
|
|
1171
|
+
keys: string[];
|
|
1172
|
+
}[]>;
|
|
1173
|
+
readonly discoveryErrorKeys: _angular_core.Signal<string[]>;
|
|
610
1174
|
constructor();
|
|
611
1175
|
value(event: Event): string;
|
|
1176
|
+
/** Whether the server refused the field in the last save. */
|
|
1177
|
+
serverInvalid(field: string): boolean;
|
|
1178
|
+
/** The text of the server's error of a field: the text of its value, then the generic text. */
|
|
1179
|
+
serverErrorKeys(field: string): string[];
|
|
1180
|
+
/** The id of a field's error, for `aria-describedby`. */
|
|
1181
|
+
errorId(field: string): string;
|
|
1182
|
+
/** The ids a control describes itself with: its hint and, while the server refused it, its error. */
|
|
1183
|
+
describedBy(hintId: string | null, field: string): string | null;
|
|
1184
|
+
/** The administrator changed a field; its server error no longer applies. */
|
|
1185
|
+
touch(field: string): void;
|
|
612
1186
|
checked(event: Event): boolean;
|
|
613
1187
|
setSecretAction(action: NhAssistantSecretAction): void;
|
|
1188
|
+
setSecretSource(source: NhAssistantSecretSource): void;
|
|
614
1189
|
onSecretInput(event: Event): void;
|
|
1190
|
+
/** A new address makes earlier discovery meaningless. */
|
|
1191
|
+
onUrlInput(event: Event): void;
|
|
1192
|
+
setOAuthSecretSource(source: NhAssistantSecretSource): void;
|
|
1193
|
+
onOAuthSecretInput(event: Event): void;
|
|
1194
|
+
/** Reads the authorization of the address; the administrator confirms what it found. */
|
|
1195
|
+
discover(): void;
|
|
615
1196
|
save(): void;
|
|
1197
|
+
private focusFirstInvalid;
|
|
1198
|
+
private valueKeys;
|
|
616
1199
|
private reset;
|
|
1200
|
+
/**
|
|
1201
|
+
* The OAuth settings as the editor shows them: every value is sent, so an emptied field clears the
|
|
1202
|
+
* stored value. The client secret is write-only: sent only when replaced.
|
|
1203
|
+
*/
|
|
1204
|
+
private oauthInput;
|
|
617
1205
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminMcpServerEditorComponent, never>;
|
|
618
1206
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminMcpServerEditorComponent, "nh-assistant-admin-mcp-server-editor", never, { "server": { "alias": "server"; "required": false; "isSignal": true; }; }, { "saved": "saved"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
619
1207
|
}
|
|
@@ -662,5 +1250,5 @@ declare class NhAssistantAdminMcpToolsComponent {
|
|
|
662
1250
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminMcpToolsComponent, "nh-assistant-admin-mcp-tools", never, { "server": { "alias": "server"; "required": true; "isSignal": true; }; }, { "closed": "closed"; "synced": "synced"; }, never, never, true, never>;
|
|
663
1251
|
}
|
|
664
1252
|
|
|
665
|
-
export { NH_ASSISTANT_MAX_INSTRUCTIONS, NhAssistantAdminAgentEditorComponent, NhAssistantAdminAgentsComponent, NhAssistantAdminComponent, NhAssistantAdminContextComponent, NhAssistantAdminMcpServerEditorComponent, NhAssistantAdminMcpServersComponent, NhAssistantAdminMcpToolsComponent, NhAssistantAgentEvaluationComponent, NhAssistantAgentFeedbackReportComponent, NhAssistantAgentRunConfigurationComponent, nhAssistantSelectorMatches };
|
|
666
|
-
export type { NhAssistantAdminTab, NhAssistantEvaluationPeriod, NhAssistantFeedbackPeriod, NhAssistantSecretAction };
|
|
1253
|
+
export { NH_ASSISTANT_MAX_INSTRUCTIONS, NhAssistantAdminAgentEditorComponent, NhAssistantAdminAgentsComponent, NhAssistantAdminComponent, NhAssistantAdminContextComponent, NhAssistantAdminMcpServerEditorComponent, NhAssistantAdminMcpServersComponent, NhAssistantAdminMcpToolsComponent, NhAssistantAgentEvaluationComponent, NhAssistantAgentFeedbackReportComponent, NhAssistantAgentRunConfigurationComponent, NhAssistantAgentRunHistoryComponent, nhAssistantSelectorMatches };
|
|
1254
|
+
export type { AgentUse, NhAssistantAdminTab, NhAssistantEvaluationPeriod, NhAssistantFeedbackPeriod, NhAssistantSecretAction, NhAssistantSecretSource, WorksOnScope };
|