@newheap/platform-ai-chat 0.1.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.
@@ -0,0 +1,294 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { NhAssistantStore, NhAssistantError, ApplicationContext, ApplicationContextVersion, AdminAgent, ToolCatalogEntry, McpServer, AssistantAutonomy, McpServerTestResult, McpAuthMode, McpToolEffect, McpTool } from '@newheap/platform-ai-chat';
3
+
4
+ type NhAssistantAdminTab = 'context' | 'agents' | 'mcp-servers';
5
+ /**
6
+ * The assistant administration page with the tabs Context, Agents and MCP servers. The host
7
+ * routes to it and guards the route with its admin permission; the component additionally
8
+ * shows a no-access state unless the server reports `canAdminister`.
9
+ */
10
+ declare class NhAssistantAdminComponent {
11
+ private readonly host;
12
+ readonly store: NhAssistantStore;
13
+ /** Tab shown first. */
14
+ readonly initialTab: _angular_core.InputSignal<NhAssistantAdminTab>;
15
+ readonly id: string;
16
+ readonly tabs: readonly NhAssistantAdminTab[];
17
+ readonly activeTab: _angular_core.WritableSignal<NhAssistantAdminTab | null>;
18
+ readonly ready: _angular_core.WritableSignal<boolean>;
19
+ constructor();
20
+ selected(): NhAssistantAdminTab;
21
+ select(tab: NhAssistantAdminTab): void;
22
+ /** Arrow keys, Home and End move between tabs as the ARIA tabs pattern describes. */
23
+ onTabKeydown(event: KeyboardEvent): void;
24
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminComponent, never>;
25
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminComponent, "nh-assistant-admin", never, { "initialTab": { "alias": "initialTab"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ }
27
+
28
+ /** Maximum length of the application context and of agent instructions. */
29
+ declare const NH_ASSISTANT_MAX_INSTRUCTIONS = 20000;
30
+ /**
31
+ * Editor of the application context: the current version with its hash, optimistic
32
+ * concurrency through `expectedVersion`, and the version history.
33
+ */
34
+ declare class NhAssistantAdminContextComponent {
35
+ private readonly admin;
36
+ private subscription?;
37
+ readonly id: string;
38
+ readonly max = 20000;
39
+ readonly loading: _angular_core.WritableSignal<boolean>;
40
+ readonly loadFailed: _angular_core.WritableSignal<boolean>;
41
+ readonly saving: _angular_core.WritableSignal<boolean>;
42
+ readonly saved: _angular_core.WritableSignal<boolean>;
43
+ readonly conflict: _angular_core.WritableSignal<boolean>;
44
+ readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
45
+ readonly context: _angular_core.WritableSignal<ApplicationContext | null>;
46
+ readonly versions: _angular_core.WritableSignal<ApplicationContextVersion[]>;
47
+ readonly text: _angular_core.WritableSignal<string>;
48
+ readonly tooLong: _angular_core.Signal<boolean>;
49
+ readonly dirty: _angular_core.Signal<boolean>;
50
+ readonly canSave: _angular_core.Signal<boolean>;
51
+ readonly errorKeys: _angular_core.Signal<string[]>;
52
+ readonly history: _angular_core.Signal<ApplicationContextVersion[]>;
53
+ constructor();
54
+ /** Loads the latest version; with `keepDraft` the user's unsaved text stays in the editor. */
55
+ load(keepDraft: boolean): void;
56
+ onInput(event: Event): void;
57
+ save(): void;
58
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminContextComponent, never>;
59
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminContextComponent, "nh-assistant-admin-context", never, {}, {}, never, never, true, never>;
60
+ }
61
+
62
+ /**
63
+ * Agent administration: code agents (override, disable, reset) and agents created here
64
+ * (edit, disable, delete). Editing opens `nh-assistant-admin-agent-editor`.
65
+ */
66
+ declare class NhAssistantAdminAgentsComponent {
67
+ private readonly admin;
68
+ private readonly store;
69
+ private subscription?;
70
+ private actionSubscription?;
71
+ readonly id: string;
72
+ readonly loading: _angular_core.WritableSignal<boolean>;
73
+ readonly loadFailed: _angular_core.WritableSignal<boolean>;
74
+ readonly agents: _angular_core.WritableSignal<AdminAgent[]>;
75
+ readonly tools: _angular_core.WritableSignal<ToolCatalogEntry[]>;
76
+ readonly servers: _angular_core.WritableSignal<McpServer[]>;
77
+ /** `undefined`: list; `null`: new agent; an agent: editing that agent. */
78
+ readonly editing: _angular_core.WritableSignal<AdminAgent | null | undefined>;
79
+ readonly confirming: _angular_core.WritableSignal<{
80
+ agentId: string;
81
+ action: "delete" | "reset";
82
+ } | null>;
83
+ readonly busyAgentId: _angular_core.WritableSignal<string | null>;
84
+ readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
85
+ readonly errorKeys: _angular_core.Signal<string[]>;
86
+ constructor();
87
+ load(): void;
88
+ create(): void;
89
+ edit(agent: AdminAgent): void;
90
+ onSaved(agent: AdminAgent): void;
91
+ setEnabled(agent: AdminAgent, isEnabled: boolean): void;
92
+ confirm(agentId: string, action: 'delete' | 'reset'): void;
93
+ isConfirming(agentId: string, action: 'delete' | 'reset'): boolean;
94
+ reset(agent: AdminAgent): void;
95
+ remove(agent: AdminAgent): void;
96
+ private run;
97
+ private replace;
98
+ /** Agent changes affect the agent picker of the panel. */
99
+ private refreshChat;
100
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminAgentsComponent, never>;
101
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminAgentsComponent, "nh-assistant-admin-agents", never, {}, {}, never, never, true, never>;
102
+ }
103
+
104
+ /** True when a tool id matches a selector glob (`*` matches any characters). */
105
+ declare function nhAssistantSelectorMatches(toolId: string, selector: string): boolean;
106
+ /**
107
+ * Creates or edits one agent: texts, autonomy, policy, tool selectors chosen from the tool
108
+ * catalog or typed as patterns, and assigned MCP servers.
109
+ */
110
+ declare class NhAssistantAdminAgentEditorComponent {
111
+ private readonly admin;
112
+ private subscription?;
113
+ /** The agent to edit, or null for a new agent. */
114
+ readonly agent: _angular_core.InputSignal<AdminAgent | null>;
115
+ readonly tools: _angular_core.InputSignal<readonly ToolCatalogEntry[]>;
116
+ readonly servers: _angular_core.InputSignal<readonly McpServer[]>;
117
+ readonly saved: _angular_core.OutputEmitterRef<AdminAgent>;
118
+ readonly cancelled: _angular_core.OutputEmitterRef<void>;
119
+ readonly id: string;
120
+ readonly max = 20000;
121
+ readonly autonomyLevels: readonly AssistantAutonomy[];
122
+ readonly agentId: _angular_core.WritableSignal<string>;
123
+ readonly displayName: _angular_core.WritableSignal<string>;
124
+ readonly description: _angular_core.WritableSignal<string>;
125
+ readonly instructions: _angular_core.WritableSignal<string>;
126
+ readonly autonomy: _angular_core.WritableSignal<AssistantAutonomy>;
127
+ readonly requiredPolicy: _angular_core.WritableSignal<string>;
128
+ readonly isEnabled: _angular_core.WritableSignal<boolean>;
129
+ readonly toolSelectors: _angular_core.WritableSignal<string[]>;
130
+ readonly mcpServerIds: _angular_core.WritableSignal<string[]>;
131
+ readonly newSelector: _angular_core.WritableSignal<string>;
132
+ readonly catalogFilter: _angular_core.WritableSignal<string>;
133
+ readonly submitted: _angular_core.WritableSignal<boolean>;
134
+ readonly saving: _angular_core.WritableSignal<boolean>;
135
+ readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
136
+ readonly isNew: _angular_core.Signal<boolean>;
137
+ readonly idInvalid: _angular_core.Signal<boolean>;
138
+ readonly nameMissing: _angular_core.Signal<boolean>;
139
+ readonly tooLong: _angular_core.Signal<boolean>;
140
+ readonly selectorInvalid: _angular_core.Signal<boolean>;
141
+ readonly valid: _angular_core.Signal<boolean>;
142
+ readonly errorKeys: _angular_core.Signal<string[]>;
143
+ readonly filteredTools: _angular_core.Signal<ToolCatalogEntry[]>;
144
+ readonly matchCount: _angular_core.Signal<number>;
145
+ constructor();
146
+ isSelected(toolId: string): boolean;
147
+ isCovered(toolId: string): boolean;
148
+ toggleTool(toolId: string, checked: boolean): void;
149
+ addSelector(): void;
150
+ onSelectorKeydown(event: KeyboardEvent): void;
151
+ removeSelector(selector: string): void;
152
+ toggleServer(serverId: string, checked: boolean): void;
153
+ value(event: Event): string;
154
+ checked(event: Event): boolean;
155
+ save(): void;
156
+ private reset;
157
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminAgentEditorComponent, never>;
158
+ 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>;
159
+ }
160
+
161
+ /** Result of the latest connection test per server. */
162
+ interface TestState {
163
+ running: boolean;
164
+ result: McpServerTestResult | null;
165
+ }
166
+ /**
167
+ * MCP server administration: list, connection test, tool sync, the server editor and the
168
+ * tool table of one server.
169
+ */
170
+ declare class NhAssistantAdminMcpServersComponent {
171
+ private readonly admin;
172
+ private subscription?;
173
+ private readonly actions;
174
+ readonly id: string;
175
+ readonly loading: _angular_core.WritableSignal<boolean>;
176
+ readonly loadFailed: _angular_core.WritableSignal<boolean>;
177
+ readonly servers: _angular_core.WritableSignal<McpServer[]>;
178
+ /** `undefined`: list; `null`: new server; a server: editing that server. */
179
+ readonly editing: _angular_core.WritableSignal<McpServer | null | undefined>;
180
+ readonly toolsOf: _angular_core.WritableSignal<McpServer | null>;
181
+ readonly tests: _angular_core.WritableSignal<Record<string, TestState>>;
182
+ readonly confirmingDelete: _angular_core.WritableSignal<string | null>;
183
+ readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
184
+ readonly errorKeys: _angular_core.Signal<string[]>;
185
+ constructor();
186
+ load(): void;
187
+ /** Reloads the list silently, for example after a sync changed the sync status. */
188
+ refresh(): void;
189
+ create(): void;
190
+ edit(server: McpServer): void;
191
+ onSaved(server: McpServer): void;
192
+ test(server: McpServer): void;
193
+ testState(serverId: string): TestState | null;
194
+ testErrorKeys(code: string | null): string[];
195
+ remove(server: McpServer): void;
196
+ private setTest;
197
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminMcpServersComponent, never>;
198
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantAdminMcpServersComponent, "nh-assistant-admin-mcp-servers", never, {}, {}, never, never, true, never>;
199
+ }
200
+
201
+ /**
202
+ * What happens to the stored secret on save. `keep` omits `secret`, `replace` sends the
203
+ * new value and `clear` sends `""`. The stored value is never shown.
204
+ */
205
+ type NhAssistantSecretAction = 'keep' | 'replace' | 'clear';
206
+ /** Creates or edits one MCP server with a write-only secret. */
207
+ declare class NhAssistantAdminMcpServerEditorComponent {
208
+ private readonly admin;
209
+ private subscription?;
210
+ /** The server to edit, or null for a new server. */
211
+ readonly server: _angular_core.InputSignal<McpServer | null>;
212
+ readonly saved: _angular_core.OutputEmitterRef<McpServer>;
213
+ readonly cancelled: _angular_core.OutputEmitterRef<void>;
214
+ readonly id: string;
215
+ readonly authModes: readonly McpAuthMode[];
216
+ readonly serverId: _angular_core.WritableSignal<string>;
217
+ readonly displayName: _angular_core.WritableSignal<string>;
218
+ readonly url: _angular_core.WritableSignal<string>;
219
+ readonly authMode: _angular_core.WritableSignal<McpAuthMode>;
220
+ readonly headerName: _angular_core.WritableSignal<string>;
221
+ readonly requiredPolicy: _angular_core.WritableSignal<string>;
222
+ readonly isEnabled: _angular_core.WritableSignal<boolean>;
223
+ readonly secretAction: _angular_core.WritableSignal<NhAssistantSecretAction>;
224
+ /** The new secret while typing. Never filled from the server. */
225
+ readonly secret: _angular_core.WritableSignal<string>;
226
+ readonly submitted: _angular_core.WritableSignal<boolean>;
227
+ readonly saving: _angular_core.WritableSignal<boolean>;
228
+ readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
229
+ readonly isNew: _angular_core.Signal<boolean>;
230
+ readonly hasSecret: _angular_core.Signal<boolean>;
231
+ readonly usesSecret: _angular_core.Signal<boolean>;
232
+ readonly showSecretInput: _angular_core.Signal<boolean>;
233
+ readonly idInvalid: _angular_core.Signal<boolean>;
234
+ readonly nameMissing: _angular_core.Signal<boolean>;
235
+ readonly urlInvalid: _angular_core.Signal<boolean>;
236
+ readonly valid: _angular_core.Signal<boolean>;
237
+ readonly errorKeys: _angular_core.Signal<string[]>;
238
+ constructor();
239
+ value(event: Event): string;
240
+ checked(event: Event): boolean;
241
+ setSecretAction(action: NhAssistantSecretAction): void;
242
+ onSecretInput(event: Event): void;
243
+ save(): void;
244
+ private reset;
245
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminMcpServerEditorComponent, never>;
246
+ 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>;
247
+ }
248
+
249
+ /** Unsaved changes of one tool row. */
250
+ interface ToolDraft {
251
+ isEnabled: boolean;
252
+ effect: McpToolEffect;
253
+ descriptionOverride: string;
254
+ }
255
+ /**
256
+ * The tools of one MCP server. Every tool starts disabled as a change that needs approval;
257
+ * the administrator enables it and chooses the effect. Remote annotations appear as hints
258
+ * only, and a changed remote input schema is shown as a warning.
259
+ */
260
+ declare class NhAssistantAdminMcpToolsComponent {
261
+ private readonly admin;
262
+ private subscription?;
263
+ private rowSubscription?;
264
+ readonly server: _angular_core.InputSignal<McpServer>;
265
+ readonly closed: _angular_core.OutputEmitterRef<void>;
266
+ /** Emitted after a sync so the host can refresh the server's sync status. */
267
+ readonly synced: _angular_core.OutputEmitterRef<void>;
268
+ readonly id: string;
269
+ readonly effects: readonly McpToolEffect[];
270
+ readonly loading: _angular_core.WritableSignal<boolean>;
271
+ readonly loadFailed: _angular_core.WritableSignal<boolean>;
272
+ readonly syncing: _angular_core.WritableSignal<boolean>;
273
+ readonly savingTool: _angular_core.WritableSignal<string | null>;
274
+ readonly savedTool: _angular_core.WritableSignal<string | null>;
275
+ readonly tools: _angular_core.WritableSignal<McpTool[]>;
276
+ readonly drafts: _angular_core.WritableSignal<Record<string, ToolDraft>>;
277
+ readonly error: _angular_core.WritableSignal<NhAssistantError | null>;
278
+ readonly errorKeys: _angular_core.Signal<string[]>;
279
+ constructor();
280
+ load(serverId?: string): void;
281
+ sync(): void;
282
+ draft(tool: McpTool): ToolDraft;
283
+ isDirty(tool: McpTool): boolean;
284
+ change(tool: McpTool, patch: Partial<ToolDraft>): void;
285
+ value(event: Event): string;
286
+ checked(event: Event): boolean;
287
+ save(tool: McpTool): void;
288
+ private setTools;
289
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantAdminMcpToolsComponent, never>;
290
+ 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>;
291
+ }
292
+
293
+ export { NH_ASSISTANT_MAX_INSTRUCTIONS, NhAssistantAdminAgentEditorComponent, NhAssistantAdminAgentsComponent, NhAssistantAdminComponent, NhAssistantAdminContextComponent, NhAssistantAdminMcpServerEditorComponent, NhAssistantAdminMcpServersComponent, NhAssistantAdminMcpToolsComponent, nhAssistantSelectorMatches };
294
+ export type { NhAssistantAdminTab, NhAssistantSecretAction };