@newheap/platform-ai-chat 0.15.0 → 0.16.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
@@ -727,6 +727,33 @@ interface AgentSummary {
727
727
  displayNameKey: string;
728
728
  descriptionKey: string;
729
729
  canMutate: boolean;
730
+ /**
731
+ * What people may attach to a message to this agent; `null` or missing when they can attach
732
+ * nothing: the application keeps no files for the assistant, accepts no uploads, or the agent
733
+ * accepts no files.
734
+ */
735
+ uploads?: AgentUploads | null;
736
+ }
737
+ /** What people may upload with `POST conversations/{id}/files` and attach to one message to an agent. */
738
+ interface AgentUploads {
739
+ /** Lowercase media types, for example `application/pdf`. */
740
+ acceptedMediaTypes: string[];
741
+ /** The largest file in bytes. */
742
+ maxFileBytes: number;
743
+ /** The most files of one message. */
744
+ maxFiles: number;
745
+ }
746
+ /**
747
+ * A file the application keeps, as the upload endpoint returns it and a message names it in
748
+ * `files`. It never carries content.
749
+ */
750
+ interface FileReference {
751
+ id: string;
752
+ name: string;
753
+ mediaType: string;
754
+ size: number;
755
+ /** The application's hash of the content, when it keeps one. */
756
+ hash?: string | null;
730
757
  }
731
758
  interface ConversationSummary {
732
759
  id: string;
@@ -827,7 +854,17 @@ interface Message {
827
854
  * `rule` for an assistant message the agent's rules wrote without a model.
828
855
  */
829
856
  type MessageAuthorKind = 'person' | 'trigger' | 'rule';
830
- type MessagePart = TextPart | ToolCallPart | ApprovalPart | ConnectionRequiredPart;
857
+ type MessagePart = TextPart | ToolCallPart | ApprovalPart | ConnectionRequiredPart | FilePart;
858
+ /**
859
+ * A file a person attached to a message: its name, media type and size in bytes, never its content.
860
+ * The application keeps the file; a later turn opens it again with the rights of that turn.
861
+ */
862
+ interface FilePart {
863
+ type: 'file';
864
+ name: string;
865
+ mediaType: string;
866
+ size: number;
867
+ }
831
868
  /**
832
869
  * Why a turn asks the person to connect an MCP server: never connected, the connection ended, or
833
870
  * the server asked for permissions the connection lacks.
@@ -955,6 +992,8 @@ interface SendMessageRequest {
955
992
  clientMessageId: string;
956
993
  /** Page context of this message; `null` when the user left it out. */
957
994
  clientContext?: ClientContext | null;
995
+ /** Files the person attaches, as `POST conversations/{id}/files` returned them. */
996
+ files?: FileReference[];
958
997
  }
959
998
  type ApprovalDecision = 'approve' | 'reject';
960
999
  /** Body of `POST conversations/{id}/approvals/{approvalId}/decide`. */
@@ -1037,6 +1076,12 @@ interface AssistantErrorEvent {
1037
1076
  code: string;
1038
1077
  messageKey: string;
1039
1078
  }
1079
+ /**
1080
+ * The server accepted a message for the next run of the agent that works in the thread, with its
1081
+ * files, instead of starting a turn: it answered `202` with the trigger receipt. The client emits it
1082
+ * in place of a stream, which then ends; a server never streams it.
1083
+ */
1084
+ type MessageQueuedEvent = AgentTriggerReceipt;
1040
1085
  /** Map from SSE event name to its data payload. */
1041
1086
  interface NhAssistantSseEventMap {
1042
1087
  'turn.started': TurnStartedEvent;
@@ -1056,6 +1101,14 @@ type NhAssistantSseEvent = {
1056
1101
  data: NhAssistantSseEventMap[K];
1057
1102
  };
1058
1103
  }[NhAssistantSseEventType];
1104
+ /**
1105
+ * What `NhAssistantApiService.sendMessage` emits: the events of the turn it started, or, when the
1106
+ * message waits for the next run of the agent working in the thread, one `message.queued` event.
1107
+ */
1108
+ type NhAssistantMessageEvent = NhAssistantSseEvent | {
1109
+ type: 'message.queued';
1110
+ data: MessageQueuedEvent;
1111
+ };
1059
1112
  declare const NH_ASSISTANT_SSE_EVENT_TYPES: readonly NhAssistantSseEventType[];
1060
1113
  /**
1061
1114
  * Stable client-side failure codes. The client emits these as `error` events when the
@@ -1252,6 +1305,25 @@ interface AdminAgentInput {
1252
1305
  runPolicy?: string | null;
1253
1306
  /** Who sees its results for the whole application, from the run catalog's `agentPolicies`; `null`: the agent's required policy. */
1254
1307
  viewPolicy?: string | null;
1308
+ /**
1309
+ * On create only: the new agent starts off, so its events, schedules and other triggers are
1310
+ * ignored until someone switches it on with `setAgentState`. Omitted starts it active; ignored on
1311
+ * update.
1312
+ */
1313
+ startsOff?: boolean;
1314
+ /**
1315
+ * For an agent created in the administration: the model profile of its model calls, one of the run
1316
+ * catalog's `profiles` (`profile: not-found` otherwise). Omitted keeps it on update; a new agent uses
1317
+ * the application's chat profile. Agents in code take it from their code.
1318
+ */
1319
+ profile?: string | null;
1320
+ /**
1321
+ * For an agent created in the administration: the classification of the data its model calls carry,
1322
+ * in people's chats with it and in its runs (`dataClassification: invalid` for another value). A
1323
+ * skill's own wins. Omitted keeps it on update; a new agent has none, so its calls are `internal`.
1324
+ * Agents in code take it from their code.
1325
+ */
1326
+ dataClassification?: AssistantDataClassification | null;
1255
1327
  }
1256
1328
  /** Body of `PUT admin/agents/{id}`. */
1257
1329
  type UpdateAdminAgentRequest = AdminAgentInput & {
@@ -1259,10 +1331,13 @@ type UpdateAdminAgentRequest = AdminAgentInput & {
1259
1331
  };
1260
1332
  /**
1261
1333
  * The run state of an agent. `paused`: no new runs; events wait and run after the resume.
1262
- * `stopped`: active runs were cancelled and events are refused. `configured-off`: disabled in the
1263
- * application's code until the next deployment; it cannot be resumed here.
1334
+ * `stopped`: active runs were cancelled and events are refused. `off`: events, schedules and other
1335
+ * triggers are ignored and nothing waits, while running runs finish, proposals stay decidable and
1336
+ * people still chat with it and start it by hand; switching it on replays nothing.
1337
+ * `configured-off`: disabled in the application's code until the next deployment; it cannot be
1338
+ * resumed here.
1264
1339
  */
1265
- type AgentRunState = 'active' | 'paused' | 'stopped' | 'configured-off';
1340
+ type AgentRunState = 'active' | 'paused' | 'stopped' | 'off' | 'configured-off';
1266
1341
  interface AdminAgent extends AdminAgentInput {
1267
1342
  /** `false` while the agent is stopped; read `runState` for the full state. */
1268
1343
  isEnabled: boolean;
@@ -1308,6 +1383,23 @@ interface AdminAgent extends AdminAgentInput {
1308
1383
  groups?: string[];
1309
1384
  /** The groups the agent joins in code, by id; empty for an agent created here. */
1310
1385
  codeGroups?: string[];
1386
+ /**
1387
+ * The model profile of the agent's model calls: from its code, or chosen here for an agent created
1388
+ * here; missing on older servers.
1389
+ */
1390
+ profile?: string;
1391
+ /**
1392
+ * The classification of the data the agent's model calls carry: from its code, or chosen here for
1393
+ * an agent created here; `null` when it has none, so its calls are `internal`. Missing on older
1394
+ * servers.
1395
+ */
1396
+ dataClassification?: AssistantDataClassification | null;
1397
+ /**
1398
+ * Why the agent, saved and in effect, may still not work as configured (`AssistantConfigurationWarning`):
1399
+ * `classification-not-permitted` when neither its model profile nor the profile's fallbacks permit
1400
+ * its classification. A warning never refuses a save; missing on older servers.
1401
+ */
1402
+ warnings?: AssistantConfigurationWarning[];
1311
1403
  }
1312
1404
  /** The groups one agent is in, as `setAgentGroups` answers. */
1313
1405
  interface AdminAgentGroups {
@@ -1352,7 +1444,7 @@ interface AgentServiceAccountState {
1352
1444
  interface AgentSkillState {
1353
1445
  skillId: string;
1354
1446
  description: string;
1355
- runState: 'active' | 'paused' | 'stopped';
1447
+ runState: 'active' | 'paused' | 'stopped' | 'off';
1356
1448
  changedAt: string | null;
1357
1449
  changedBy: string | null;
1358
1450
  reason: string | null;
@@ -1400,9 +1492,9 @@ interface SetAgentServiceAccountRequest {
1400
1492
  /** Optional, at most 500 characters. */
1401
1493
  reason?: string | null;
1402
1494
  }
1403
- /** Body of `POST admin/agents/{id}/state`. `active` resumes the agent. */
1495
+ /** Body of `POST admin/agents/{id}/state`. `active` resumes the agent or switches it on. */
1404
1496
  interface SetAgentStateRequest {
1405
- state: 'active' | 'paused' | 'stopped';
1497
+ state: 'active' | 'paused' | 'stopped' | 'off';
1406
1498
  /** Optional, at most 500 characters. */
1407
1499
  reason?: string | null;
1408
1500
  }
@@ -1563,6 +1655,35 @@ interface McpServerInput {
1563
1655
  connectionScope?: McpConnectionScope;
1564
1656
  /** The OAuth settings of `oauth` and `oauth-client-credentials`; omit to keep them. */
1565
1657
  oauth?: McpOAuthInput | null;
1658
+ /**
1659
+ * The readers of the server, at most 16; omit to keep them, `[]` removes them all. A refused save
1660
+ * names the field of a reader with its index, such as `readers[0].toolName`.
1661
+ */
1662
+ readers?: McpReaderInput[] | null;
1663
+ }
1664
+ /**
1665
+ * One reader of an MCP server: its synced tool `toolName` turns files of `mediaTypes` into text for
1666
+ * models that do not read those types themselves. A file above `maxClassification` is never sent to
1667
+ * it; sending a file to an MCP server is data leaving the application. The assistant asks the
1668
+ * application's own readers first, then the MCP readers by `priority`, highest first, then by server
1669
+ * id and tool name.
1670
+ */
1671
+ interface McpReader {
1672
+ mediaTypes: string[];
1673
+ toolName: string;
1674
+ maxClassification: AssistantDataClassification;
1675
+ priority: number;
1676
+ }
1677
+ /**
1678
+ * A reader as saved: one to 16 media types; `toolName` must name a tool synced from the server, one
1679
+ * reader per tool; the tool receives `name`, `mediaType` and the base64 `content` of a file and returns
1680
+ * its text. `priority` is a whole number from -1000 to 1000; omitted it is 0.
1681
+ */
1682
+ interface McpReaderInput {
1683
+ mediaTypes: string[];
1684
+ toolName: string | null;
1685
+ maxClassification: AssistantDataClassification | null;
1686
+ priority?: number | null;
1566
1687
  }
1567
1688
  interface McpServer {
1568
1689
  id: string;
@@ -1594,6 +1715,8 @@ interface McpServer {
1594
1715
  authorization: McpAuthorization | null;
1595
1716
  /** The organization's OAuth connection; `null` for servers without one. */
1596
1717
  organizationConnection: McpOrganizationConnection | null;
1718
+ /** The readers of the server, by priority, highest first; empty when it reads no files. */
1719
+ readers: McpReader[];
1597
1720
  }
1598
1721
  interface McpServerTestResult {
1599
1722
  ok: boolean;
@@ -1895,6 +2018,31 @@ interface RunCatalog {
1895
2018
  * language: what an administrator may put an agent in; missing on older servers.
1896
2019
  */
1897
2020
  agentGroups?: AgentGroup[];
2021
+ /**
2022
+ * The application's file limits: the run settings of an agent created here and a skill defined here
2023
+ * can only lower them; missing on older servers.
2024
+ */
2025
+ fileLimits?: FileLimits | null;
2026
+ }
2027
+ /**
2028
+ * File limits: the largest file in bytes, the most pages of one file, the most files of one turn and
2029
+ * the most estimated file tokens of one turn.
2030
+ */
2031
+ interface FileLimits {
2032
+ maxFileBytes: number;
2033
+ maxFilePages: number;
2034
+ maxFilesPerTurn: number;
2035
+ maxFileTokensPerTurn: number;
2036
+ }
2037
+ /**
2038
+ * Lower file limits of an agent or a skill that accepts files; `null` or missing keeps the
2039
+ * application's (for a skill: the agent's). Each is at most the application's limit.
2040
+ */
2041
+ interface LowerFileLimits {
2042
+ maxFileBytes?: number | null;
2043
+ maxFilePages?: number | null;
2044
+ maxFilesPerTurn?: number | null;
2045
+ maxFileTokensPerTurn?: number | null;
1898
2046
  }
1899
2047
  /** A group of agents the application registers in code, as people see it. */
1900
2048
  interface AgentGroup {
@@ -1978,7 +2126,7 @@ type AgentElevatedReads = 'restricted' | 'deny';
1978
2126
  * The run settings of an agent created in the administration. Grants are never data: in headless
1979
2127
  * runs the agent acts with the rights of the account it answers to, within its tool selectors.
1980
2128
  */
1981
- interface AgentRunSettings {
2129
+ interface AgentRunSettings extends LowerFileLimits {
1982
2130
  version: number;
1983
2131
  accountability: AgentAccountability;
1984
2132
  serviceAccountActorId: string | null;
@@ -1999,9 +2147,14 @@ interface AgentRunSettings {
1999
2147
  reason: string | null;
2000
2148
  inEffect: boolean;
2001
2149
  problem: string | null;
2150
+ /**
2151
+ * People's messages and the agent's tools may give it files; missing on older servers. Off for a new
2152
+ * agent.
2153
+ */
2154
+ acceptsFiles?: boolean;
2002
2155
  }
2003
2156
  /** Body of `PUT admin/agents/{id}/run-settings`. */
2004
- interface AgentRunSettingsRequest {
2157
+ interface AgentRunSettingsRequest extends LowerFileLimits {
2005
2158
  accountability: AgentAccountability;
2006
2159
  /** For `service-account` only: an account that exists and may sign in. */
2007
2160
  serviceAccountActorId?: string | null;
@@ -2026,11 +2179,20 @@ interface AgentRunSettingsRequest {
2026
2179
  expectedVersion?: number | null;
2027
2180
  /** Optional, at most 500 characters. */
2028
2181
  reason?: string | null;
2182
+ /** People's messages and the agent's tools may give it files; `false` by default. */
2183
+ acceptsFiles?: boolean;
2029
2184
  }
2030
2185
  /** A skill the agent declares in code; it cannot change here. */
2031
2186
  interface CodeSkill {
2032
2187
  skillId: string;
2033
2188
  description: string;
2189
+ /**
2190
+ * The skill starts off in code (`StartsOff()`): it was off when the application first saw it. Its
2191
+ * state now is in the skill's state; missing on older servers.
2192
+ */
2193
+ startsOff?: boolean;
2194
+ /** The skill accepts files in code (`AcceptsFiles()`); missing on older servers. */
2195
+ acceptsFiles?: boolean;
2034
2196
  }
2035
2197
  /** A trigger registered in code; it cannot change here. */
2036
2198
  interface CodeTrigger {
@@ -2057,9 +2219,28 @@ interface CodeRunSettings {
2057
2219
  approvalPolicy: string | null;
2058
2220
  /** It works by a rule handler in code instead of the model. */
2059
2221
  usesRules: boolean;
2222
+ /**
2223
+ * The agent starts off in code (`StartsOff()`): it was off when the application first saw it. Its
2224
+ * state now is the agent's `runState`; missing on older servers.
2225
+ */
2226
+ startsOff?: boolean;
2227
+ /** The agent accepts files in code (`AcceptsFiles()`); missing on older servers. */
2228
+ acceptsFiles?: boolean;
2060
2229
  }
2230
+ /**
2231
+ * How sensitive the data is that a model call carries (`NhAiDataClassification`); the model profile of
2232
+ * the call must permit it.
2233
+ */
2234
+ type AssistantDataClassification = 'public' | 'internal' | 'confidential' | 'restricted';
2235
+ /**
2236
+ * Why an agent or a skill that is saved and in effect may still not work as configured
2237
+ * (`NhAssistantConfigurationWarnings`). `classification-not-permitted`: neither its model profile nor
2238
+ * the profile's fallbacks permit its data classification, so its model calls are refused. A newer
2239
+ * server may report other codes.
2240
+ */
2241
+ type AssistantConfigurationWarning = 'classification-not-permitted' | (string & {});
2061
2242
  /** One version of a skill defined as data. */
2062
- interface DataSkill {
2243
+ interface DataSkill extends LowerFileLimits {
2063
2244
  skillId: string;
2064
2245
  version: number;
2065
2246
  description: string;
@@ -2080,11 +2261,27 @@ interface DataSkill {
2080
2261
  problem: string | null;
2081
2262
  /** The candidate that runs in shadow next to this live version; missing or null without one. */
2082
2263
  candidate?: DataSkill | null;
2264
+ /**
2265
+ * The classification of the data the skill's model calls carry; `null` uses the agent's, missing on
2266
+ * older servers.
2267
+ */
2268
+ dataClassification?: AssistantDataClassification | null;
2269
+ /**
2270
+ * A run in the skill reads files when its agent accepts them too; missing on older servers. Off for a
2271
+ * new skill.
2272
+ */
2273
+ acceptsFiles?: boolean;
2274
+ /**
2275
+ * Why the skill, saved and in effect, may still not work as configured: `classification-not-permitted`
2276
+ * when neither its model profile, or else its agent's, nor the profile's fallbacks permit its
2277
+ * classification, or else its agent's. A warning never refuses a save; missing on older servers.
2278
+ */
2279
+ warnings?: AssistantConfigurationWarning[];
2083
2280
  }
2084
2281
  /** How a change of a skill takes effect: at once, or as a candidate in shadow next to the live version. */
2085
2282
  type SkillApplyMode = 'live' | 'shadow';
2086
2283
  /** Body of `PUT admin/agents/{id}/skills/{skillId}`. */
2087
- interface DataSkillRequest {
2284
+ interface DataSkillRequest extends LowerFileLimits {
2088
2285
  /** At most 300 characters; triage and `use_skill` choose by it. */
2089
2286
  description: string;
2090
2287
  /** At most 20,000 characters. */
@@ -2102,6 +2299,18 @@ interface DataSkillRequest {
2102
2299
  reason?: string | null;
2103
2300
  /** For a change of a skill; `live` by default. */
2104
2301
  apply?: SkillApplyMode;
2302
+ /**
2303
+ * For a new skill only: it starts off, so triggers that name it are ignored and rules and triage do
2304
+ * not route to it until someone switches it on. A change of a skill fails with `startsOff: invalid`.
2305
+ */
2306
+ startsOff?: boolean;
2307
+ /**
2308
+ * The classification of the data the skill's model calls carry; `null` uses the agent's. The model
2309
+ * profile of its runs must permit it, or its model calls are refused.
2310
+ */
2311
+ dataClassification?: AssistantDataClassification | null;
2312
+ /** A run in the skill reads files when its agent accepts them too; `false` by default. */
2313
+ acceptsFiles?: boolean;
2105
2314
  }
2106
2315
  type DataSkillVersionStatus = 'live' | 'candidate' | 'superseded' | 'discarded';
2107
2316
  /** One version in the history of a skill defined as data. */
@@ -2376,6 +2585,25 @@ type NhAssistantFetch = (input: string, init: RequestInit) => Promise<Response>;
2376
2585
  * `@newheap/platform-ai-chat/testing` replace it.
2377
2586
  */
2378
2587
  declare const NH_ASSISTANT_FETCH: InjectionToken<NhAssistantFetch>;
2588
+ /** One file upload of the assistant client, which reports how much of the body was sent. */
2589
+ interface NhAssistantUploadRequest {
2590
+ url: string;
2591
+ /** The request headers; never `Content-Type`, which the browser sets with the multipart boundary. */
2592
+ headers: Record<string, string>;
2593
+ body: FormData;
2594
+ signal: AbortSignal;
2595
+ /** Called while the body is sent, with the bytes sent so far and the total. */
2596
+ onProgress: (loaded: number, total: number) => void;
2597
+ }
2598
+ /** Sends an upload and resolves with the server's response; rejects when the request did not reach the server. */
2599
+ type NhAssistantUpload = (request: NhAssistantUploadRequest) => Promise<Response>;
2600
+ /**
2601
+ * Sends the uploads of the assistant client. The default uses `XMLHttpRequest`, because `fetch` does
2602
+ * not report upload progress. The mock API from `@newheap/platform-ai-chat/testing` replaces it.
2603
+ */
2604
+ declare const NH_ASSISTANT_UPLOAD: InjectionToken<NhAssistantUpload>;
2605
+ /** The default upload: `XMLHttpRequest` with upload progress, answered as a `Response`. */
2606
+ declare function nhAssistantXhrUpload(request: NhAssistantUploadRequest): Promise<Response>;
2379
2607
  /** Default policy: every user who can reach the host may use the assistant. */
2380
2608
  declare class NhAssistantAllowAllAccessPolicy implements NhAssistantAccessPolicy {
2381
2609
  canUse(): boolean;
@@ -2407,6 +2635,16 @@ declare class NhAssistantTranslationMerger {
2407
2635
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<NhAssistantTranslationMerger>;
2408
2636
  }
2409
2637
 
2638
+ /**
2639
+ * Failure codes the assistant back-end sends in error bodies, SSE `error` events and tool
2640
+ * result codes (`NhAssistantErrorCodes`, `NhAssistantAdminErrorCodes` and the runtime codes
2641
+ * of `NewHeap.Platform.AI.Chat`). Every code needs a text under `nh-assistant.errors.<code>`
2642
+ * in each bundled language; the translation tests enforce that.
2643
+ */
2644
+ declare const NH_ASSISTANT_SERVER_ERROR_CODES: readonly string[];
2645
+ /** Every code the assistant UI can show: server codes and client-side transport codes. */
2646
+ declare const NH_ASSISTANT_ERROR_CODES: readonly string[];
2647
+
2410
2648
  /** One raw server-sent event before its data is interpreted. */
2411
2649
  interface NhAssistantRawSseMessage {
2412
2650
  event: string;
@@ -2432,6 +2670,11 @@ declare class NhAssistantSseParser {
2432
2670
  private dispatch;
2433
2671
  }
2434
2672
 
2673
+ /**
2674
+ * The request header every upload carries. A browser cannot send it with a cross-site form, so the
2675
+ * upload endpoint keeps the posture of the JSON endpoints.
2676
+ */
2677
+ declare const NH_ASSISTANT_UPLOAD_HEADER = "X-NH-Assistant-Upload";
2435
2678
  /** A failed JSON request of the assistant API. Carries a stable code, never response text. */
2436
2679
  declare class NhAssistantApiError extends Error {
2437
2680
  readonly status: number;
@@ -2460,6 +2703,15 @@ declare function nhAssistantCodeForStatus(status: number): string;
2460
2703
  /** Status-specific codes that replace the generic mapping for one endpoint. */
2461
2704
  type NhAssistantStatusCodes = Partial<Record<number, string>>;
2462
2705
 
2706
+ /** The progress of one upload, then the file the application stored. */
2707
+ type NhAssistantUploadEvent = {
2708
+ type: 'progress';
2709
+ loaded: number;
2710
+ total: number;
2711
+ } | {
2712
+ type: 'uploaded';
2713
+ file: FileReference;
2714
+ };
2463
2715
  /**
2464
2716
  * Client for the assistant HTTP API. JSON endpoints return cold observables that abort
2465
2717
  * their request on unsubscribe. Streaming endpoints emit every contract event and complete
@@ -2474,7 +2726,14 @@ declare class NhAssistantApiService {
2474
2726
  createConversation(request: CreateConversationRequest): Observable<Conversation>;
2475
2727
  getConversation(conversationId: string): Observable<Conversation>;
2476
2728
  deleteConversation(conversationId: string): Observable<void>;
2477
- sendMessage(conversationId: string, request: SendMessageRequest): Observable<NhAssistantSseEvent>;
2729
+ sendMessage(conversationId: string, request: SendMessageRequest): Observable<NhAssistantMessageEvent>;
2730
+ /**
2731
+ * Uploads one file to a conversation as `multipart/form-data` (`POST conversations/{id}/files`):
2732
+ * emits the progress while the file is sent and then the stored file, whose reference a message
2733
+ * carries in `files`. Fails with `NhAssistantApiError`; unsubscribing aborts the upload. The
2734
+ * media type of `file` is the one the upload declares.
2735
+ */
2736
+ uploadFile(conversationId: string, file: Blob, name: string): Observable<NhAssistantUploadEvent>;
2478
2737
  decideApproval(conversationId: string, approvalId: string, request: DecideApprovalRequest): Observable<NhAssistantSseEvent>;
2479
2738
  cancel(conversationId: string): Observable<void>;
2480
2739
  /** Raises the caller's read position to `sequence`, or to the latest message when omitted. */
@@ -2516,8 +2775,18 @@ declare class NhAssistantApiService {
2516
2775
  disconnectMcpConnection(serverId: string): Observable<void>;
2517
2776
  /** Activates the connection of an authorization the caller started, with the callback's completion code. */
2518
2777
  completeMcpAuthorization(request: McpCompleteRequest): Observable<McpCompletion>;
2778
+ /**
2779
+ * Streams a turn. With `queuedReceipt` a `202` answer with a trigger receipt becomes
2780
+ * `message.queued`; without it, a stream is required.
2781
+ */
2519
2782
  private requestStream;
2520
2783
  private executeStream;
2784
+ /**
2785
+ * A message to an agent's thread whose run works waits for the next run: the server answers `202`
2786
+ * with the trigger receipt instead of a stream. A receipt the run takes the message with becomes
2787
+ * `message.queued`; one that refused it becomes an `error` with its code.
2788
+ */
2789
+ private readQueuedReceipt;
2521
2790
  private readStream;
2522
2791
  private emitClientError;
2523
2792
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantApiService, never>;
@@ -2986,9 +3255,37 @@ interface NhAssistantQueuedMessage {
2986
3255
  conversationId: string;
2987
3256
  text: string;
2988
3257
  state: 'preparing' | 'queued' | 'sending' | 'failed';
3258
+ /** The files the message carries, uploaded before it was queued. */
3259
+ files?: readonly FileReference[];
3260
+ }
3261
+ /**
3262
+ * A file the person attaches to the next message of the open conversation: while it uploads, once
3263
+ * the application stored it, or why it cannot be attached. Attachments live only in this tab's
3264
+ * memory.
3265
+ */
3266
+ interface NhAssistantAttachment {
3267
+ /** The attachment's id in this tab. */
3268
+ id: string;
3269
+ name: string;
3270
+ /** The media type the upload declares, lowercase. */
3271
+ mediaType: string;
3272
+ /** The size in bytes. */
3273
+ size: number;
3274
+ state: 'uploading' | 'uploaded' | 'failed';
3275
+ /** The share of the file sent so far, from 0 to 1. */
3276
+ progress: number;
3277
+ /** The stored file, once uploaded; the message carries its reference. */
3278
+ file: FileReference | null;
3279
+ /** Why the file is not attached, for a failed attachment. */
3280
+ error: NhAssistantError | null;
2989
3281
  }
2990
3282
  /** Notice code for a completed turn that produced no answer text and no server code. */
2991
3283
  declare const NH_ASSISTANT_NO_ANSWER_NOTICE_CODE = "assistant-no-answer";
3284
+ /**
3285
+ * Notice code for a message that waits for the next run of the agent working in its thread: the
3286
+ * server answered `202` with the trigger receipt, and the run adds the message, with its files.
3287
+ */
3288
+ declare const NH_ASSISTANT_MESSAGE_QUEUED_NOTICE_CODE = "assistant-message-queued";
2992
3289
  /**
2993
3290
  * Who decides an approval the current user cannot decide: `turn`, the person whose turn created
2994
3291
  * it in a chat; `approver`, an approver of the agent thread's subject; `other-approver`, another
@@ -3067,7 +3364,12 @@ declare class NhAssistantStore {
3067
3364
  private readonly submittingState;
3068
3365
  /** Agent proposals the current user rejected in this session and may give feedback on. */
3069
3366
  private readonly feedbackApprovalsState;
3367
+ /** The attachments of the next message per conversation; `''` for a new conversation. */
3368
+ private readonly attachmentsState;
3070
3369
  private destroyed;
3370
+ private readonly uploadSubscriptions;
3371
+ /** The conversation an attachment of a new conversation creates, once for every file chosen meanwhile. */
3372
+ private attachmentConversation;
3071
3373
  private readonly streams;
3072
3374
  private readonly cancelTimers;
3073
3375
  /** Pending reloads of agent threads after live agent-work updates, per conversation. */
@@ -3131,6 +3433,19 @@ declare class NhAssistantStore {
3131
3433
  readonly queuePaused: _angular_core.Signal<boolean>;
3132
3434
  /** Steering cancels the active turn before sending the selected correction. */
3133
3435
  readonly canSteer: _angular_core.Signal<boolean>;
3436
+ /**
3437
+ * What the person may attach to the next message: the uploads of the open conversation's agent, or
3438
+ * of the selected agent for a new conversation. `null` when nothing can be attached: the server
3439
+ * offers no uploads for the agent, the conversation is archived, or the person only reads the
3440
+ * agent's thread.
3441
+ */
3442
+ readonly uploads: _angular_core.Signal<AgentUploads | null>;
3443
+ /** The attachments of the next message of the open conversation, in the order they were chosen. */
3444
+ readonly attachments: _angular_core.Signal<readonly NhAssistantAttachment[]>;
3445
+ /** The stored files of the open conversation's next message, for `submit`. */
3446
+ readonly attachedFiles: _angular_core.Signal<FileReference[]>;
3447
+ /** True while a file of the next message still uploads; the message waits for it. */
3448
+ readonly uploading: _angular_core.Signal<boolean>;
3134
3449
  /** The owner and participants of the open conversation; empty while it is not shared. */
3135
3450
  readonly members: _angular_core.Signal<ConversationMember[]>;
3136
3451
  /** True when the current user owns the open conversation (or it is new). */
@@ -3180,16 +3495,18 @@ declare class NhAssistantStore {
3180
3495
  /**
3181
3496
  * Sends a user message. Creates a conversation with the selected agent when none is open,
3182
3497
  * shows the message optimistically and applies the streamed events. Other conversations keep
3183
- * their own turns. Resolves `false` when the message was not accepted.
3498
+ * their own turns. Resolves `false` when the message was not accepted. `files` are uploaded
3499
+ * attachments, such as `attachedFiles()`; once the message is accepted, the attachments of the
3500
+ * conversation leave the composer.
3184
3501
  */
3185
- send(text: string): Promise<boolean>;
3502
+ send(text: string, files?: readonly FileReference[]): Promise<boolean>;
3186
3503
  /**
3187
3504
  * Sends immediately when the conversation accepts a message, otherwise appends to the
3188
3505
  * conversation's FIFO queue. A shown error alone does not hold a message back while nothing is
3189
3506
  * queued: the person asks again, for example after a failed turn. Queued messages still wait
3190
- * for an explicit `resumeQueue` after Stop or a failure.
3507
+ * for an explicit `resumeQueue` after Stop or a failure. A queued message keeps its `files`.
3191
3508
  */
3192
- submit(text: string): Promise<boolean>;
3509
+ submit(text: string, files?: readonly FileReference[]): Promise<boolean>;
3193
3510
  /** Edits an unsent queued message without replacing the composer's current draft. */
3194
3511
  updateQueuedMessage(id: string, text: string): boolean;
3195
3512
  removeQueuedMessage(id: string): void;
@@ -3242,6 +3559,27 @@ declare class NhAssistantStore {
3242
3559
  setPageContextExcluded(excluded: boolean): void;
3243
3560
  /** Returns and clears the draft of a message that was not accepted. */
3244
3561
  consumeRestoredDraft(): string | null;
3562
+ /**
3563
+ * Attaches files to the next message of the open conversation and uploads them at once. Each
3564
+ * file is checked first against `uploads()`: the most files of one message, the accepted media
3565
+ * types and the largest size; a file that fails stays as a failed attachment with its code and
3566
+ * is never uploaded. A new conversation is created first, because an upload belongs to one.
3567
+ */
3568
+ attach(files: readonly File[]): Promise<void>;
3569
+ /** Removes an attachment of the next message; an upload in progress stops. */
3570
+ removeAttachment(attachmentId: string): void;
3571
+ private startUpload;
3572
+ private attachmentsOf;
3573
+ private patchAttachments;
3574
+ /** Moves the attachments of a new conversation to the conversation that was created for them. */
3575
+ private moveAttachments;
3576
+ /**
3577
+ * The attachments a message took leave the composer, and with them the failed ones; files that
3578
+ * still upload stay for the next message.
3579
+ */
3580
+ private releaseAttachments;
3581
+ /** Stops the uploads of a conversation, or of every conversation, and forgets their attachments. */
3582
+ private dropAttachments;
3245
3583
  private loadConversation;
3246
3584
  private setActive;
3247
3585
  /**
@@ -3591,7 +3929,21 @@ declare class NhAssistantMcpConnectService {
3591
3929
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<NhAssistantMcpConnectService>;
3592
3930
  }
3593
3931
 
3594
- type NhAssistantIconName = 'assistant' | 'close' | 'send' | 'stop' | 'plus' | 'list' | 'trash' | 'tool' | 'check' | 'x' | 'warning' | 'chevron-down' | 'clock' | 'settings' | 'admin' | 'edit' | 'refresh' | 'link' | 'page' | 'users' | 'copy' | 'bell' | 'leave';
3932
+ /** Converts any failure into a user-facing code and translation key, never raw text. */
3933
+ declare function toNhAssistantError(error: unknown): NhAssistantError;
3934
+ /** The error of a code without a message key of its own, such as a code a callback page reported. */
3935
+ declare function nhAssistantErrorOf(code: string): NhAssistantError;
3936
+ /** Translation keys for an error, from the most to the least specific. */
3937
+ declare function nhAssistantErrorKeys(error: NhAssistantError | null): string[];
3938
+ /**
3939
+ * Translation keys for a bare failure code, such as a run's `failureCode`: the registered text of
3940
+ * the code, then the generic text. Empty without a code.
3941
+ */
3942
+ declare function nhAssistantCodeKeys(code: string | null | undefined): string[];
3943
+ /** Dash-case identifiers as the contract requires for agent and MCP server ids. */
3944
+ declare const NH_ASSISTANT_DASH_CASE: RegExp;
3945
+
3946
+ type NhAssistantIconName = 'assistant' | 'close' | 'send' | 'stop' | 'plus' | 'list' | 'trash' | 'tool' | 'check' | 'x' | 'warning' | 'chevron-down' | 'clock' | 'settings' | 'admin' | 'edit' | 'refresh' | 'link' | 'page' | 'users' | 'copy' | 'bell' | 'leave' | 'attach' | 'file';
3595
3947
  /**
3596
3948
  * Optional icon classes of the host's icon library, for example `{ close: 'ph ph-x' }`.
3597
3949
  * Icons without a class use the library's small built-in outline glyphs.
@@ -3635,12 +3987,19 @@ declare const NH_ASSISTANT_VIRTUAL_SCROLL_THRESHOLD = 200;
3635
3987
  /**
3636
3988
  * The messages of a conversation as a live log. Assistant text renders as sanitized
3637
3989
  * Markdown, consecutive tool calls as one collapsible group that counts along, and
3638
- * approvals as cards. Messages a trigger wrote into an agent thread read as events, not as
3639
- * a person. While a turn runs without visible progress, a working indicator shows the
3640
- * elapsed time. The thread follows new content while the user is at the bottom.
3990
+ * approvals as cards. The files a person attached show by name, type and size. Messages a
3991
+ * trigger wrote into an agent thread read as events, not as a person. While a turn runs
3992
+ * without visible progress, a working indicator shows the elapsed time. The thread follows
3993
+ * new content while the user is at the bottom.
3641
3994
  */
3642
3995
  declare class NhAssistantThreadComponent {
3643
3996
  private readonly injector;
3997
+ private readonly translate;
3998
+ /** The type and size of an attached file, in the current language. */
3999
+ fileMeta(file: FilePart): {
4000
+ type: string;
4001
+ size: string;
4002
+ };
3644
4003
  readonly messages: _angular_core.InputSignal<readonly Message[]>;
3645
4004
  readonly streaming: _angular_core.InputSignal<boolean>;
3646
4005
  readonly deciding: _angular_core.InputSignal<boolean>;
@@ -3767,6 +4126,10 @@ declare class NhAssistantPanelComponent implements AfterViewInit, OnDestroy {
3767
4126
  openConversation(conversationId: string): void;
3768
4127
  deleteConversation(conversationId: string): void;
3769
4128
  send(text: string): void;
4129
+ /** Uploads the files the person attached to the next message. */
4130
+ attach(files: File[]): void;
4131
+ /** The names of the files a queued message carries, as the queue lists them. */
4132
+ fileNames(files: readonly FileReference[]): string;
3770
4133
  editQueuedMessage(id: string, text: string): void;
3771
4134
  changeQueuedDraft(event: Event): void;
3772
4135
  saveQueuedMessage(id: string): void;
@@ -3807,7 +4170,10 @@ declare class NhAssistantConversationListComponent {
3807
4170
 
3808
4171
  /**
3809
4172
  * Message input. Enter sends when sending is available; Shift+Enter inserts a new line.
3810
- * Drafting remains available while the assistant runs or waits for approval.
4173
+ * Drafting remains available while the assistant runs or waits for approval. With `uploads`, an
4174
+ * attach button chooses files for the next message; the host uploads them and passes them back as
4175
+ * `attachments`, which show their progress, or why they cannot be attached, at the control. Sending
4176
+ * waits while a file uploads.
3811
4177
  */
3812
4178
  declare class NhAssistantComposerComponent {
3813
4179
  /** Disables the editor only when the conversation itself cannot accept a draft. */
@@ -3827,20 +4193,45 @@ declare class NhAssistantComposerComponent {
3827
4193
  readonly maxLength: _angular_core.InputSignal<number | null>;
3828
4194
  /** Text to put back into the input, for example a message the server did not accept. */
3829
4195
  readonly restore: _angular_core.InputSignal<string | null>;
4196
+ /**
4197
+ * What the person may attach, for example `NhAssistantStore.uploads()`; `null` hides the attach
4198
+ * button.
4199
+ */
4200
+ readonly uploads: _angular_core.InputSignal<AgentUploads | null>;
4201
+ /** The attachments of the next message, for example `NhAssistantStore.attachments()`. */
4202
+ readonly attachments: _angular_core.InputSignal<readonly NhAssistantAttachment[]>;
3830
4203
  readonly send: _angular_core.OutputEmitterRef<string>;
3831
4204
  readonly cancel: _angular_core.OutputEmitterRef<void>;
3832
4205
  readonly restored: _angular_core.OutputEmitterRef<void>;
4206
+ /** Files the person chose to attach, for example for `NhAssistantStore.attach`. */
4207
+ readonly attach: _angular_core.OutputEmitterRef<File[]>;
4208
+ /** The id of an attachment the person removed, for example for `NhAssistantStore.removeAttachment`. */
4209
+ readonly removeAttachment: _angular_core.OutputEmitterRef<string>;
3833
4210
  private readonly host;
4211
+ private readonly translate;
3834
4212
  private readonly textarea;
4213
+ private readonly attachButton;
3835
4214
  private ownedFocus;
3836
4215
  private previousBusy;
3837
4216
  readonly inputId: string;
3838
4217
  readonly hintId: string;
4218
+ readonly attachHintId: string;
4219
+ readonly attachmentsId: string;
3839
4220
  readonly text: _angular_core.WritableSignal<string>;
3840
4221
  readonly length: _angular_core.Signal<number>;
3841
4222
  readonly tooLong: _angular_core.Signal<boolean>;
3842
4223
  readonly showCounter: _angular_core.Signal<boolean>;
4224
+ /** True while a file of the next message still uploads. */
4225
+ readonly uploading: _angular_core.Signal<boolean>;
3843
4226
  readonly canSend: _angular_core.Signal<boolean>;
4227
+ /** The `accept` attribute of the file input. */
4228
+ readonly accept: _angular_core.Signal<string>;
4229
+ /** The values the attachment texts name: the accepted types, the largest size and the most files. */
4230
+ readonly uploadParams: _angular_core.Signal<{
4231
+ types: string;
4232
+ max: string;
4233
+ count: number;
4234
+ }>;
3844
4235
  constructor();
3845
4236
  onFocusIn(): void;
3846
4237
  onFocusOut(event: FocusEvent): void;
@@ -3848,9 +4239,18 @@ declare class NhAssistantComposerComponent {
3848
4239
  onKeydown(event: KeyboardEvent): void;
3849
4240
  onSubmit(event: SubmitEvent): void;
3850
4241
  submit(): void;
4242
+ /** Hands the chosen files to the host and empties the input, so the same file can be chosen again. */
4243
+ onFilesChosen(event: Event): void;
4244
+ /** Removes an attachment and keeps the keyboard in the composer, on the attach button. */
4245
+ remove(attachment: NhAssistantAttachment): void;
4246
+ /** The translation keys of why an attachment failed, from the composer's own text to the generic one. */
4247
+ errorKeys(attachment: NhAssistantAttachment): string[];
4248
+ percent(attachment: NhAssistantAttachment): number;
4249
+ /** A size in bytes in the current language, such as `1.4 MB`. */
4250
+ size(bytes: number): string;
3851
4251
  private restoreOwnedFocus;
3852
4252
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NhAssistantComposerComponent, never>;
3853
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantComposerComponent, "nh-assistant-composer", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "sendDisabled": { "alias": "sendDisabled"; "required": false; "isSignal": true; }; "busy": { "alias": "busy"; "required": false; "isSignal": true; }; "queueWhileBusy": { "alias": "queueWhileBusy"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusActor": { "alias": "statusActor"; "required": false; "isSignal": true; }; "canStop": { "alias": "canStop"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "restore": { "alias": "restore"; "required": false; "isSignal": true; }; }, { "send": "send"; "cancel": "cancel"; "restored": "restored"; }, never, ["[nhAssistantComposerControls]"], true, never>;
4253
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NhAssistantComposerComponent, "nh-assistant-composer", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "sendDisabled": { "alias": "sendDisabled"; "required": false; "isSignal": true; }; "busy": { "alias": "busy"; "required": false; "isSignal": true; }; "queueWhileBusy": { "alias": "queueWhileBusy"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusActor": { "alias": "statusActor"; "required": false; "isSignal": true; }; "canStop": { "alias": "canStop"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "restore": { "alias": "restore"; "required": false; "isSignal": true; }; "uploads": { "alias": "uploads"; "required": false; "isSignal": true; }; "attachments": { "alias": "attachments"; "required": false; "isSignal": true; }; }, { "send": "send"; "cancel": "cancel"; "restored": "restored"; "attach": "attach"; "removeAttachment": "removeAttachment"; }, never, ["[nhAssistantComposerControls]"], true, never>;
3854
4254
  }
3855
4255
 
3856
4256
  /** Shows one tool invocation with its status and expandable input and result previews. */
@@ -4400,19 +4800,5 @@ declare class NhAssistantMarkdownPipe implements PipeTransform {
4400
4800
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<NhAssistantMarkdownPipe, "nhAssistantMarkdown", true>;
4401
4801
  }
4402
4802
 
4403
- /** Converts any failure into a user-facing code and translation key, never raw text. */
4404
- declare function toNhAssistantError(error: unknown): NhAssistantError;
4405
- /** The error of a code without a message key of its own, such as a code a callback page reported. */
4406
- declare function nhAssistantErrorOf(code: string): NhAssistantError;
4407
- /** Translation keys for an error, from the most to the least specific. */
4408
- declare function nhAssistantErrorKeys(error: NhAssistantError | null): string[];
4409
- /**
4410
- * Translation keys for a bare failure code, such as a run's `failureCode`: the registered text of
4411
- * the code, then the generic text. Empty without a code.
4412
- */
4413
- declare function nhAssistantCodeKeys(code: string | null | undefined): string[];
4414
- /** Dash-case identifiers as the contract requires for agent and MCP server ids. */
4415
- declare const NH_ASSISTANT_DASH_CASE: RegExp;
4416
-
4417
- 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_MCP_AUTHORIZATION_MESSAGE, NH_ASSISTANT_MCP_AUTHORIZATION_WINDOW, NH_ASSISTANT_NO_ANSWER_NOTICE_CODE, NH_ASSISTANT_PAGE_CONTEXT_LIMITS, NH_ASSISTANT_PANEL_MOBILE_QUERY, NH_ASSISTANT_PANEL_WIDTH, NH_ASSISTANT_RESULT_PREVIEW_LENGTH, NH_ASSISTANT_RUN_HISTORY_MAX_PAGE, NH_ASSISTANT_RUN_RESULT_MAX_LENGTH, NH_ASSISTANT_SSE_EVENT_TYPES, NH_ASSISTANT_SUBJECT_SEARCH, NH_ASSISTANT_SYSTEM_GLOBAL_ID, NH_ASSISTANT_SYSTEM_SUBJECT_TYPE, NH_ASSISTANT_TRANSLATIONS, NH_ASSISTANT_VIRTUAL_SCROLL_THRESHOLD, NhAssistantActivityComponent, NhAssistantAdminApiService, NhAssistantAgentPickerComponent, NhAssistantAgentRunApiService, NhAssistantAllowAllAccessPolicy, NhAssistantApiError, NhAssistantApiService, NhAssistantApprovalCardComponent, NhAssistantClientErrorCodes, NhAssistantComposerComponent, NhAssistantConnectionRequiredComponent, NhAssistantConversationListComponent, NhAssistantLauncherComponent, NhAssistantLiveService, NhAssistantMcpConnectService, NhAssistantMcpConnectionsComponent, NhAssistantMcpPopupAuthorizationWindow, NhAssistantPanelComponent, NhAssistantPanelService, NhAssistantPreferencesComponent, NhAssistantProposalFeedbackComponent, NhAssistantPushService, NhAssistantShareComponent, NhAssistantSseParser, NhAssistantStore, NhAssistantSubjectBadgeComponent, NhAssistantSubjectSummaryService, NhAssistantThreadComponent, NhAssistantToolCallCardComponent, NhAssistantToolCallGroupComponent, NhAssistantTranslationMerger, applyNhAssistantApprovalDecision, applyNhAssistantConversationChange, applyNhAssistantEvent, applyNhAssistantLiveEvent, describeNhAssistantClientContext, formatNhAssistantCountdown, nhAssistantCodeForStatus, nhAssistantConnectMcp, nhAssistantErrorMessageKey, nhAssistantIsUnread, nhAssistantLatestTurnHasText, nhAssistantMcpAuthorizationFromFragment, nhAssistantShareLink, normalizeNhAssistantClientContext, provideNhAssistant, NH_ASSISTANT_DASH_CASE as ɵNH_ASSISTANT_DASH_CASE, NhAssistantIconComponent as ɵNhAssistantIconComponent, NhAssistantMarkdownPipe as ɵNhAssistantMarkdownPipe, NhAssistantPickerComponent as ɵNhAssistantPickerComponent, NhAssistantSubjectLinkComponent as ɵNhAssistantSubjectLinkComponent, NhAssistantTranslatePipe as ɵNhAssistantTranslatePipe, nhAssistantCodeKeys as ɵnhAssistantCodeKeys, nhAssistantErrorKeys as ɵnhAssistantErrorKeys, nhAssistantErrorOf as ɵnhAssistantErrorOf, nhAssistantReloadOnAgentWork as ɵnhAssistantReloadOnAgentWork, nhAssistantWatchAgentWork as ɵnhAssistantWatchAgentWork, toNhAssistantError as ɵtoNhAssistantError };
4418
- export type { AdminAgent, AdminAgentGroups, AdminAgentInput, AgentAccountability, AgentArtifact, AgentBoard, AgentBoardAgent, AgentBoardList, AgentBoardSubjectType, AgentBoardSummary, AgentBoardVisit, AgentBoardWorksOn, AgentConsultation, AgentConsultationList, AgentConsultationStatus, AgentDecisionOutcome, AgentElevatedReads, AgentEvaluation, AgentEvaluationCost, AgentEvaluationDecisions, AgentEvaluationDifference, AgentEvaluationFilter, AgentEvaluationRouting, AgentEvaluationRuns, AgentEvaluationTool, AgentExecutionResolution, AgentFeedbackCategoryCount, AgentFeedbackExportFilter, AgentFeedbackFilter, AgentFeedbackItem, AgentFeedbackList, AgentFeedbackListFilter, AgentFeedbackOutcome, AgentFeedbackSummary, AgentFeedbackSummaryRow, AgentGrantSource, AgentGroup, AgentInbox, AgentInboxFilter, AgentInvalidationCount, AgentLatestRun, AgentObjectAgent, AgentObjectAgents, AgentProposal, AgentProposalDecision, AgentProposalDecisionRight, AgentProposalFeedback, AgentProposalFeedbackCategory, AgentProposalFeedbackGroup, AgentProposalLookup, AgentProposalObject, AgentProposalOrigin, AgentProposalStatus, AgentReplay, AgentReplayList, AgentReplayRequest, AgentRun, AgentRunConfiguration, AgentRunFilter, AgentRunHistory, AgentRunHistoryItem, AgentRunKind, AgentRunList, AgentRunMcpSkip, AgentRunResult, AgentRunRetryMode, AgentRunSettings, AgentRunSettingsRequest, AgentRunState, AgentRunStatus, AgentServiceAccountState, AgentShadowMode, AgentShadowState, AgentSkillChooser, AgentSkillState, AgentState, AgentSubjectRole, AgentSubjectSearch, AgentSubjectSearchResult, AgentSubjectSummary, AgentSubjectSummaryList, AgentSubjectType, AgentSubjectWork, AgentSubjectWorkAgent, AgentSubjectWorkProposal, AgentSummary, AgentThread, AgentThreadLookup, AgentThreadMemory, AgentTriggerOutcome, AgentTriggerReceipt, ApplicationContext, ApplicationContextVersion, ApprovalDecision, ApprovalPart, ApprovalPolicySummary, ApprovalPresentation, ApprovalPresentationField, ApprovalRequiredEvent, ApprovalStatus, ApproverSummary, AssistantAccount, AssistantAddressForm, AssistantAutonomy, AssistantCollaboration, AssistantErrorEvent, AssistantPreferences, AssistantResponseLength, AssistantStatus, AssistantStyle, ClientContext, ClientContextEntity, CodeRunSettings, CodeSkill, CodeTrigger, ConnectionRequiredEvent, ConnectionRequiredPart, ConnectionRequiredReason, Conversation, ConversationKind, ConversationMember, ConversationPage, ConversationRole, ConversationStatus, ConversationSummary, ConversationThread, ConversationThreadDecision, CreateConversationRequest, DataSkill, DataSkillRequest, DataSkillVersion, DataSkillVersionStatus, DataTrigger, DataTriggerRequest, DataTriggerShadowRequest, DecideApprovalRequest, DirectoryEntry, LiveAgentWorkChanged, LiveAgentWorkReason, LiveAgentWorkWatch, LiveConversationChanged, LiveConversationEvent, LiveConversationRead, LiveConversationRemoved, McpAuthMode, McpAuthorization, McpAuthorizationStart, McpAuthorizeRequest, McpBuiltInAuthMode, McpCompleteRequest, McpCompletion, McpConnection, McpConnectionScope, McpConnectionStatus, McpConnectionsSummary, McpCustomAuthMode, McpDiscoverRequest, McpDiscovery, McpHeadlessUse, McpOAuthInput, McpOAuthSettings, McpOrganizationConnection, McpServer, McpServerInput, McpServerTestResult, McpTool, McpToolEffect, McpToolStatus, McpTransport, Message, MessageAuthorKind, MessageDeltaEvent, MessagePart, NhAssistantAccessPolicy, NhAssistantActivity, NhAssistantApprovalChoice, NhAssistantApprovalRight, NhAssistantApprovalWaitingFor, NhAssistantClientContext, NhAssistantClientErrorCode, NhAssistantConfig, NhAssistantError, NhAssistantFetch, NhAssistantIconName, NhAssistantLiveState, NhAssistantMcpAuthorizationHandle, NhAssistantMcpAuthorizationOutcome, NhAssistantMcpAuthorizationWindow, NhAssistantMcpReturnOutcome, NhAssistantNotice, NhAssistantProposalFeedbackSaved, NhAssistantPushConfig, NhAssistantPushState, NhAssistantQueuedMessage, NhAssistantRawSseMessage, NhAssistantSseEvent, NhAssistantSseEventMap, NhAssistantSseEventType, NhAssistantStatusCodes, NhAssistantSubjectLinkBuilder, NhAssistantSubjectRef, NhAssistantToolCallGroupState, NotificationSettings, PushSubscriptionRequest, RunBlock, RunCatalog, RunConfigurationProblem, RunConfigurationProblemKind, RunConfigurationRemoval, SendMessageRequest, SetAgentServiceAccountRequest, SetAgentShadowRequest, SetAgentStateRequest, ShareLink, SkillApplyMode, SkillCandidateRequest, SkillComparison, SkillComparisonFilter, SkillComparisonTool, SkillVersionStats, StaleKind, StartAgentRequest, TextPart, ToolCallPart, ToolCallStatus, ToolCatalogEffect, ToolCatalogEntry, ToolCompletedEvent, ToolStartedEvent, TriggerConflict, TurnCompletedEvent, TurnCompletionStatus, TurnStartedEvent, TurnUsage, UpdateAdminAgentRequest, UpdateApplicationContextRequest, UpdateMcpConnectionRequest, UpdateMcpToolRequest, NhAssistantPickerOption as ɵNhAssistantPickerOption };
4803
+ export { NH_ASSISTANT_ACCESS_POLICY, NH_ASSISTANT_CONFIG, NH_ASSISTANT_CONVERSATION_FRAGMENT, NH_ASSISTANT_ERROR_CODES, 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_MCP_AUTHORIZATION_MESSAGE, NH_ASSISTANT_MCP_AUTHORIZATION_WINDOW, NH_ASSISTANT_MESSAGE_QUEUED_NOTICE_CODE, NH_ASSISTANT_NO_ANSWER_NOTICE_CODE, NH_ASSISTANT_PAGE_CONTEXT_LIMITS, NH_ASSISTANT_PANEL_MOBILE_QUERY, NH_ASSISTANT_PANEL_WIDTH, NH_ASSISTANT_RESULT_PREVIEW_LENGTH, NH_ASSISTANT_RUN_HISTORY_MAX_PAGE, NH_ASSISTANT_RUN_RESULT_MAX_LENGTH, NH_ASSISTANT_SERVER_ERROR_CODES, NH_ASSISTANT_SSE_EVENT_TYPES, NH_ASSISTANT_SUBJECT_SEARCH, NH_ASSISTANT_SYSTEM_GLOBAL_ID, NH_ASSISTANT_SYSTEM_SUBJECT_TYPE, NH_ASSISTANT_TRANSLATIONS, NH_ASSISTANT_UPLOAD, NH_ASSISTANT_UPLOAD_HEADER, NH_ASSISTANT_VIRTUAL_SCROLL_THRESHOLD, NhAssistantActivityComponent, NhAssistantAdminApiService, NhAssistantAgentPickerComponent, NhAssistantAgentRunApiService, NhAssistantAllowAllAccessPolicy, NhAssistantApiError, NhAssistantApiService, NhAssistantApprovalCardComponent, NhAssistantClientErrorCodes, NhAssistantComposerComponent, NhAssistantConnectionRequiredComponent, NhAssistantConversationListComponent, NhAssistantLauncherComponent, NhAssistantLiveService, NhAssistantMcpConnectService, NhAssistantMcpConnectionsComponent, NhAssistantMcpPopupAuthorizationWindow, NhAssistantPanelComponent, NhAssistantPanelService, NhAssistantPreferencesComponent, NhAssistantProposalFeedbackComponent, NhAssistantPushService, NhAssistantShareComponent, NhAssistantSseParser, NhAssistantStore, NhAssistantSubjectBadgeComponent, NhAssistantSubjectSummaryService, NhAssistantThreadComponent, NhAssistantToolCallCardComponent, NhAssistantToolCallGroupComponent, NhAssistantTranslationMerger, applyNhAssistantApprovalDecision, applyNhAssistantConversationChange, applyNhAssistantEvent, applyNhAssistantLiveEvent, describeNhAssistantClientContext, formatNhAssistantCountdown, nhAssistantCodeForStatus, nhAssistantConnectMcp, nhAssistantErrorMessageKey, nhAssistantIsUnread, nhAssistantLatestTurnHasText, nhAssistantMcpAuthorizationFromFragment, nhAssistantShareLink, nhAssistantXhrUpload, normalizeNhAssistantClientContext, provideNhAssistant, toNhAssistantError, NH_ASSISTANT_DASH_CASE as ɵNH_ASSISTANT_DASH_CASE, NhAssistantIconComponent as ɵNhAssistantIconComponent, NhAssistantMarkdownPipe as ɵNhAssistantMarkdownPipe, NhAssistantPickerComponent as ɵNhAssistantPickerComponent, NhAssistantSubjectLinkComponent as ɵNhAssistantSubjectLinkComponent, NhAssistantTranslatePipe as ɵNhAssistantTranslatePipe, nhAssistantCodeKeys as ɵnhAssistantCodeKeys, nhAssistantErrorKeys as ɵnhAssistantErrorKeys, nhAssistantErrorOf as ɵnhAssistantErrorOf, nhAssistantReloadOnAgentWork as ɵnhAssistantReloadOnAgentWork, nhAssistantWatchAgentWork as ɵnhAssistantWatchAgentWork, toNhAssistantError as ɵtoNhAssistantError };
4804
+ export type { AdminAgent, AdminAgentGroups, AdminAgentInput, AgentAccountability, AgentArtifact, AgentBoard, AgentBoardAgent, AgentBoardList, AgentBoardSubjectType, AgentBoardSummary, AgentBoardVisit, AgentBoardWorksOn, AgentConsultation, AgentConsultationList, AgentConsultationStatus, AgentDecisionOutcome, AgentElevatedReads, AgentEvaluation, AgentEvaluationCost, AgentEvaluationDecisions, AgentEvaluationDifference, AgentEvaluationFilter, AgentEvaluationRouting, AgentEvaluationRuns, AgentEvaluationTool, AgentExecutionResolution, AgentFeedbackCategoryCount, AgentFeedbackExportFilter, AgentFeedbackFilter, AgentFeedbackItem, AgentFeedbackList, AgentFeedbackListFilter, AgentFeedbackOutcome, AgentFeedbackSummary, AgentFeedbackSummaryRow, AgentGrantSource, AgentGroup, AgentInbox, AgentInboxFilter, AgentInvalidationCount, AgentLatestRun, AgentObjectAgent, AgentObjectAgents, AgentProposal, AgentProposalDecision, AgentProposalDecisionRight, AgentProposalFeedback, AgentProposalFeedbackCategory, AgentProposalFeedbackGroup, AgentProposalLookup, AgentProposalObject, AgentProposalOrigin, AgentProposalStatus, AgentReplay, AgentReplayList, AgentReplayRequest, AgentRun, AgentRunConfiguration, AgentRunFilter, AgentRunHistory, AgentRunHistoryItem, AgentRunKind, AgentRunList, AgentRunMcpSkip, AgentRunResult, AgentRunRetryMode, AgentRunSettings, AgentRunSettingsRequest, AgentRunState, AgentRunStatus, AgentServiceAccountState, AgentShadowMode, AgentShadowState, AgentSkillChooser, AgentSkillState, AgentState, AgentSubjectRole, AgentSubjectSearch, AgentSubjectSearchResult, AgentSubjectSummary, AgentSubjectSummaryList, AgentSubjectType, AgentSubjectWork, AgentSubjectWorkAgent, AgentSubjectWorkProposal, AgentSummary, AgentThread, AgentThreadLookup, AgentThreadMemory, AgentTriggerOutcome, AgentTriggerReceipt, AgentUploads, ApplicationContext, ApplicationContextVersion, ApprovalDecision, ApprovalPart, ApprovalPolicySummary, ApprovalPresentation, ApprovalPresentationField, ApprovalRequiredEvent, ApprovalStatus, ApproverSummary, AssistantAccount, AssistantAddressForm, AssistantAutonomy, AssistantCollaboration, AssistantConfigurationWarning, AssistantDataClassification, AssistantErrorEvent, AssistantPreferences, AssistantResponseLength, AssistantStatus, AssistantStyle, ClientContext, ClientContextEntity, CodeRunSettings, CodeSkill, CodeTrigger, ConnectionRequiredEvent, ConnectionRequiredPart, ConnectionRequiredReason, Conversation, ConversationKind, ConversationMember, ConversationPage, ConversationRole, ConversationStatus, ConversationSummary, ConversationThread, ConversationThreadDecision, CreateConversationRequest, DataSkill, DataSkillRequest, DataSkillVersion, DataSkillVersionStatus, DataTrigger, DataTriggerRequest, DataTriggerShadowRequest, DecideApprovalRequest, DirectoryEntry, FileLimits, FilePart, FileReference, LiveAgentWorkChanged, LiveAgentWorkReason, LiveAgentWorkWatch, LiveConversationChanged, LiveConversationEvent, LiveConversationRead, LiveConversationRemoved, LowerFileLimits, McpAuthMode, McpAuthorization, McpAuthorizationStart, McpAuthorizeRequest, McpBuiltInAuthMode, McpCompleteRequest, McpCompletion, McpConnection, McpConnectionScope, McpConnectionStatus, McpConnectionsSummary, McpCustomAuthMode, McpDiscoverRequest, McpDiscovery, McpHeadlessUse, McpOAuthInput, McpOAuthSettings, McpOrganizationConnection, McpReader, McpReaderInput, McpServer, McpServerInput, McpServerTestResult, McpTool, McpToolEffect, McpToolStatus, McpTransport, Message, MessageAuthorKind, MessageDeltaEvent, MessagePart, MessageQueuedEvent, NhAssistantAccessPolicy, NhAssistantActivity, NhAssistantApprovalChoice, NhAssistantApprovalRight, NhAssistantApprovalWaitingFor, NhAssistantAttachment, NhAssistantClientContext, NhAssistantClientErrorCode, NhAssistantConfig, NhAssistantError, NhAssistantFetch, NhAssistantIconName, NhAssistantLiveState, NhAssistantMcpAuthorizationHandle, NhAssistantMcpAuthorizationOutcome, NhAssistantMcpAuthorizationWindow, NhAssistantMcpReturnOutcome, NhAssistantMessageEvent, NhAssistantNotice, NhAssistantProposalFeedbackSaved, NhAssistantPushConfig, NhAssistantPushState, NhAssistantQueuedMessage, NhAssistantRawSseMessage, NhAssistantSseEvent, NhAssistantSseEventMap, NhAssistantSseEventType, NhAssistantStatusCodes, NhAssistantSubjectLinkBuilder, NhAssistantSubjectRef, NhAssistantToolCallGroupState, NhAssistantUpload, NhAssistantUploadEvent, NhAssistantUploadRequest, NotificationSettings, PushSubscriptionRequest, RunBlock, RunCatalog, RunConfigurationProblem, RunConfigurationProblemKind, RunConfigurationRemoval, SendMessageRequest, SetAgentServiceAccountRequest, SetAgentShadowRequest, SetAgentStateRequest, ShareLink, SkillApplyMode, SkillCandidateRequest, SkillComparison, SkillComparisonFilter, SkillComparisonTool, SkillVersionStats, StaleKind, StartAgentRequest, TextPart, ToolCallPart, ToolCallStatus, ToolCatalogEffect, ToolCatalogEntry, ToolCompletedEvent, ToolStartedEvent, TriggerConflict, TurnCompletedEvent, TurnCompletionStatus, TurnStartedEvent, TurnUsage, UpdateAdminAgentRequest, UpdateApplicationContextRequest, UpdateMcpConnectionRequest, UpdateMcpToolRequest, NhAssistantPickerOption as ɵNhAssistantPickerOption };