@genesislcap/foundation-ai 14.432.2 → 14.433.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.
@@ -4,7 +4,7 @@ export { GeminiTransport, MalformedFunctionCallError } from './transports/gemini
4
4
  export { AI_FEATURE_FLAG, isAIFeatureEnabled } from './utils/feature-flags';
5
5
  export { SUPPORTED_GEMINI_MODEL_IDS } from './types';
6
6
  export type { AIConfig, AIStatus, AIProviderType, ChromeAIConfig, ChromeAvailability, GeminiAIConfig, GeminiModelId, ServerAIConfig, } from './types';
7
- export type { ChatAgentConfig, ChatAnimationsConfig, ChatAttachment, ChatConfig, ChatDriverResult, ChatMessage, ChatInteraction, ChatRequestOptions, ChatRole, ChatStreamChunk, ChatToolCall, ChatToolCallUnknown, ChatToolDefinition, ChatToolHandlers, ChatToolResult, ChatUiConfig, ChatSuggestionsConfig, InteractionResult, SubAgentRequestOptions, } from './types/chat.types';
7
+ export type { AgentPickerMode, ChatAgentConfig, ChatAgentPickerConfig, ChatAnimationsConfig, ChatAttachment, ChatConfig, ChatDriverResult, ChatInputDuringExecutionMode, ChatMessage, ChatInteraction, ChatRequestOptions, ChatRole, ChatStreamChunk, ChatToolCall, ChatToolCallUnknown, ChatToolDefinition, ChatToolHandlers, ChatToolResult, ChatUiConfig, ChatSuggestionsConfig, InteractionResult, SubAgentRequestOptions, } from './types/chat.types';
8
8
  export { isChatToolCallUnknown } from './types/chat.types';
9
9
  export type { ChatTransport } from './types/chat-transport.types';
10
10
  export type { ResolveAIConfigOptions } from './ai-provider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -128,6 +128,17 @@ export interface ChatToolDefinition {
128
128
  description: string;
129
129
  parameters: Record<string, unknown>;
130
130
  }
131
+ /**
132
+ * Controls how the main chat input area behaves while an agent (or sub-agent)
133
+ * is executing.
134
+ *
135
+ * - `'disabled'` (default): input stays visible but disabled.
136
+ * - `'hidden'`: the entire input row (attach button, textarea, send button) is
137
+ * hidden.
138
+ *
139
+ * @beta
140
+ */
141
+ export type ChatInputDuringExecutionMode = 'disabled' | 'hidden';
131
142
  /**
132
143
  * Options passed to `requestSubAgent` at call time.
133
144
  *
@@ -140,6 +151,15 @@ export interface SubAgentRequestOptions {
140
151
  historyCap?: number;
141
152
  /** Extra dynamic data injected as a primer message before the task. */
142
153
  context?: Record<string, unknown>;
154
+ /**
155
+ * Override how the main chat input area behaves while this sub-agent is
156
+ * executing. Mirrors the agent-level `chatInputDuringExecution` config but
157
+ * applies only for the lifetime of this invocation — reverts automatically
158
+ * when the sub-agent completes (explicitly via `completeSubAgent` or
159
+ * implicitly when its tool loop ends). When multiple overrides are active in
160
+ * parallel the most restrictive wins (`'hidden'` > `'disabled'`).
161
+ */
162
+ chatInputDuringExecution?: ChatInputDuringExecutionMode;
143
163
  }
144
164
  /**
145
165
  * Map of tool name to async handler function.
@@ -296,6 +316,44 @@ export interface ChatAgentConfig {
296
316
  */
297
317
  maxFoldOperations?: number;
298
318
  }
319
+ /**
320
+ * Controls the agent picker shown above the chat input.
321
+ *
322
+ * - `'disabled'` (default): no picker is shown; the orchestrator routes every
323
+ * message.
324
+ * - `'select'`: dropdown listing `Auto` plus each agent with
325
+ * `manualSelection.enabled: true`.
326
+ * - `'segmented-control'`: segmented control listing the same options.
327
+ * Falls back to `'select'` when the segments would overflow the available
328
+ * width.
329
+ *
330
+ * The picker is hidden regardless of this setting when there are fewer than
331
+ * two agents or no agents have manual selection enabled.
332
+ *
333
+ * @beta
334
+ */
335
+ export type AgentPickerMode = 'disabled' | 'select' | 'segmented-control';
336
+ /**
337
+ * Configuration for the agent picker shown above the chat input.
338
+ *
339
+ * @beta
340
+ */
341
+ export interface ChatAgentPickerConfig {
342
+ /** Picker variant. Defaults to `'disabled'` when omitted. */
343
+ mode?: AgentPickerMode;
344
+ /**
345
+ * Name of an agent to pre-pin when a session is first created. Ignored if
346
+ * the name doesn't match any agent. Once the user changes the selection
347
+ * (including to Auto), their choice persists for the session.
348
+ */
349
+ defaultAgent?: string;
350
+ /**
351
+ * When `true`, the pin icon uses the default text colour instead of the
352
+ * per-agent brand tint. Useful for hosts whose theme conflicts with the
353
+ * palette.
354
+ */
355
+ disablePinColours?: boolean;
356
+ }
299
357
  /**
300
358
  * Display and engine configuration for the chat assistant.
301
359
  *
@@ -308,6 +366,8 @@ export interface ChatConfig {
308
366
  agent?: ChatAgentConfig;
309
367
  /** Query suggestions feature configuration. */
310
368
  suggestions?: ChatSuggestionsConfig;
369
+ /** Agent picker configuration — mode + optional default pin. */
370
+ picker?: ChatAgentPickerConfig;
311
371
  }
312
372
  /**
313
373
  * Configuration for the chat suggestions feature.
@@ -1 +1 @@
1
- {"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../../src/types/chat.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../../src/types/chat.types.ts"],"names":[],"mappings":"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"}
@@ -172,6 +172,32 @@
172
172
  "name": "",
173
173
  "preserveMemberOrder": false,
174
174
  "members": [
175
+ {
176
+ "kind": "TypeAlias",
177
+ "canonicalReference": "@genesislcap/foundation-ai!AgentPickerMode:type",
178
+ "docComment": "/**\n * Controls the agent picker shown above the chat input.\n *\n * - `'disabled'` (default): no picker is shown; the orchestrator routes every message. - `'select'`: dropdown listing `Auto` plus each agent with `manualSelection.enabled: true`. - `'segmented-control'`: segmented control listing the same options. Falls back to `'select'` when the segments would overflow the available width.\n *\n * The picker is hidden regardless of this setting when there are fewer than two agents or no agents have manual selection enabled.\n *\n * @beta\n */\n",
179
+ "excerptTokens": [
180
+ {
181
+ "kind": "Content",
182
+ "text": "export type AgentPickerMode = "
183
+ },
184
+ {
185
+ "kind": "Content",
186
+ "text": "'disabled' | 'select' | 'segmented-control'"
187
+ },
188
+ {
189
+ "kind": "Content",
190
+ "text": ";"
191
+ }
192
+ ],
193
+ "fileUrlPath": "src/types/chat.types.ts",
194
+ "releaseTag": "Beta",
195
+ "name": "AgentPickerMode",
196
+ "typeTokenRange": {
197
+ "startIndex": 1,
198
+ "endIndex": 2
199
+ }
200
+ },
175
201
  {
176
202
  "kind": "Variable",
177
203
  "canonicalReference": "@genesislcap/foundation-ai!AI_FEATURE_FLAG:var",
@@ -954,6 +980,106 @@
954
980
  ],
955
981
  "extendsTokenRanges": []
956
982
  },
983
+ {
984
+ "kind": "Interface",
985
+ "canonicalReference": "@genesislcap/foundation-ai!ChatAgentPickerConfig:interface",
986
+ "docComment": "/**\n * Configuration for the agent picker shown above the chat input.\n *\n * @beta\n */\n",
987
+ "excerptTokens": [
988
+ {
989
+ "kind": "Content",
990
+ "text": "export interface ChatAgentPickerConfig "
991
+ }
992
+ ],
993
+ "fileUrlPath": "src/types/chat.types.ts",
994
+ "releaseTag": "Beta",
995
+ "name": "ChatAgentPickerConfig",
996
+ "preserveMemberOrder": false,
997
+ "members": [
998
+ {
999
+ "kind": "PropertySignature",
1000
+ "canonicalReference": "@genesislcap/foundation-ai!ChatAgentPickerConfig#defaultAgent:member",
1001
+ "docComment": "/**\n * Name of an agent to pre-pin when a session is first created. Ignored if the name doesn't match any agent. Once the user changes the selection (including to Auto), their choice persists for the session.\n */\n",
1002
+ "excerptTokens": [
1003
+ {
1004
+ "kind": "Content",
1005
+ "text": "defaultAgent?: "
1006
+ },
1007
+ {
1008
+ "kind": "Content",
1009
+ "text": "string"
1010
+ },
1011
+ {
1012
+ "kind": "Content",
1013
+ "text": ";"
1014
+ }
1015
+ ],
1016
+ "isReadonly": false,
1017
+ "isOptional": true,
1018
+ "releaseTag": "Beta",
1019
+ "name": "defaultAgent",
1020
+ "propertyTypeTokenRange": {
1021
+ "startIndex": 1,
1022
+ "endIndex": 2
1023
+ }
1024
+ },
1025
+ {
1026
+ "kind": "PropertySignature",
1027
+ "canonicalReference": "@genesislcap/foundation-ai!ChatAgentPickerConfig#disablePinColours:member",
1028
+ "docComment": "/**\n * When `true`, the pin icon uses the default text colour instead of the per-agent brand tint. Useful for hosts whose theme conflicts with the palette.\n */\n",
1029
+ "excerptTokens": [
1030
+ {
1031
+ "kind": "Content",
1032
+ "text": "disablePinColours?: "
1033
+ },
1034
+ {
1035
+ "kind": "Content",
1036
+ "text": "boolean"
1037
+ },
1038
+ {
1039
+ "kind": "Content",
1040
+ "text": ";"
1041
+ }
1042
+ ],
1043
+ "isReadonly": false,
1044
+ "isOptional": true,
1045
+ "releaseTag": "Beta",
1046
+ "name": "disablePinColours",
1047
+ "propertyTypeTokenRange": {
1048
+ "startIndex": 1,
1049
+ "endIndex": 2
1050
+ }
1051
+ },
1052
+ {
1053
+ "kind": "PropertySignature",
1054
+ "canonicalReference": "@genesislcap/foundation-ai!ChatAgentPickerConfig#mode:member",
1055
+ "docComment": "/**\n * Picker variant. Defaults to `'disabled'` when omitted.\n */\n",
1056
+ "excerptTokens": [
1057
+ {
1058
+ "kind": "Content",
1059
+ "text": "mode?: "
1060
+ },
1061
+ {
1062
+ "kind": "Reference",
1063
+ "text": "AgentPickerMode",
1064
+ "canonicalReference": "@genesislcap/foundation-ai!AgentPickerMode:type"
1065
+ },
1066
+ {
1067
+ "kind": "Content",
1068
+ "text": ";"
1069
+ }
1070
+ ],
1071
+ "isReadonly": false,
1072
+ "isOptional": true,
1073
+ "releaseTag": "Beta",
1074
+ "name": "mode",
1075
+ "propertyTypeTokenRange": {
1076
+ "startIndex": 1,
1077
+ "endIndex": 2
1078
+ }
1079
+ }
1080
+ ],
1081
+ "extendsTokenRanges": []
1082
+ },
957
1083
  {
958
1084
  "kind": "Interface",
959
1085
  "canonicalReference": "@genesislcap/foundation-ai!ChatAnimationsConfig:interface",
@@ -1168,6 +1294,34 @@
1168
1294
  "endIndex": 2
1169
1295
  }
1170
1296
  },
1297
+ {
1298
+ "kind": "PropertySignature",
1299
+ "canonicalReference": "@genesislcap/foundation-ai!ChatConfig#picker:member",
1300
+ "docComment": "/**\n * Agent picker configuration — mode + optional default pin.\n */\n",
1301
+ "excerptTokens": [
1302
+ {
1303
+ "kind": "Content",
1304
+ "text": "picker?: "
1305
+ },
1306
+ {
1307
+ "kind": "Reference",
1308
+ "text": "ChatAgentPickerConfig",
1309
+ "canonicalReference": "@genesislcap/foundation-ai!ChatAgentPickerConfig:interface"
1310
+ },
1311
+ {
1312
+ "kind": "Content",
1313
+ "text": ";"
1314
+ }
1315
+ ],
1316
+ "isReadonly": false,
1317
+ "isOptional": true,
1318
+ "releaseTag": "Beta",
1319
+ "name": "picker",
1320
+ "propertyTypeTokenRange": {
1321
+ "startIndex": 1,
1322
+ "endIndex": 2
1323
+ }
1324
+ },
1171
1325
  {
1172
1326
  "kind": "PropertySignature",
1173
1327
  "canonicalReference": "@genesislcap/foundation-ai!ChatConfig#suggestions:member",
@@ -1253,6 +1407,32 @@
1253
1407
  "endIndex": 2
1254
1408
  }
1255
1409
  },
1410
+ {
1411
+ "kind": "TypeAlias",
1412
+ "canonicalReference": "@genesislcap/foundation-ai!ChatInputDuringExecutionMode:type",
1413
+ "docComment": "/**\n * Controls how the main chat input area behaves while an agent (or sub-agent) is executing.\n *\n * - `'disabled'` (default): input stays visible but disabled. - `'hidden'`: the entire input row (attach button, textarea, send button) is hidden.\n *\n * @beta\n */\n",
1414
+ "excerptTokens": [
1415
+ {
1416
+ "kind": "Content",
1417
+ "text": "export type ChatInputDuringExecutionMode = "
1418
+ },
1419
+ {
1420
+ "kind": "Content",
1421
+ "text": "'disabled' | 'hidden'"
1422
+ },
1423
+ {
1424
+ "kind": "Content",
1425
+ "text": ";"
1426
+ }
1427
+ ],
1428
+ "fileUrlPath": "src/types/chat.types.ts",
1429
+ "releaseTag": "Beta",
1430
+ "name": "ChatInputDuringExecutionMode",
1431
+ "typeTokenRange": {
1432
+ "startIndex": 1,
1433
+ "endIndex": 2
1434
+ }
1435
+ },
1256
1436
  {
1257
1437
  "kind": "Interface",
1258
1438
  "canonicalReference": "@genesislcap/foundation-ai!ChatInteraction:interface",
@@ -4784,6 +4964,34 @@
4784
4964
  "name": "SubAgentRequestOptions",
4785
4965
  "preserveMemberOrder": false,
4786
4966
  "members": [
4967
+ {
4968
+ "kind": "PropertySignature",
4969
+ "canonicalReference": "@genesislcap/foundation-ai!SubAgentRequestOptions#chatInputDuringExecution:member",
4970
+ "docComment": "/**\n * Override how the main chat input area behaves while this sub-agent is executing. Mirrors the agent-level `chatInputDuringExecution` config but applies only for the lifetime of this invocation — reverts automatically when the sub-agent completes (explicitly via `completeSubAgent` or implicitly when its tool loop ends). When multiple overrides are active in parallel the most restrictive wins (`'hidden'` > `'disabled'`).\n */\n",
4971
+ "excerptTokens": [
4972
+ {
4973
+ "kind": "Content",
4974
+ "text": "chatInputDuringExecution?: "
4975
+ },
4976
+ {
4977
+ "kind": "Reference",
4978
+ "text": "ChatInputDuringExecutionMode",
4979
+ "canonicalReference": "@genesislcap/foundation-ai!ChatInputDuringExecutionMode:type"
4980
+ },
4981
+ {
4982
+ "kind": "Content",
4983
+ "text": ";"
4984
+ }
4985
+ ],
4986
+ "isReadonly": false,
4987
+ "isOptional": true,
4988
+ "releaseTag": "Beta",
4989
+ "name": "chatInputDuringExecution",
4990
+ "propertyTypeTokenRange": {
4991
+ "startIndex": 1,
4992
+ "endIndex": 2
4993
+ }
4994
+ },
4787
4995
  {
4788
4996
  "kind": "PropertySignature",
4789
4997
  "canonicalReference": "@genesislcap/foundation-ai!SubAgentRequestOptions#context:member",
@@ -1,5 +1,23 @@
1
1
  import { InterfaceSymbol } from '@microsoft/fast-foundation';
2
2
 
3
+ /**
4
+ * Controls the agent picker shown above the chat input.
5
+ *
6
+ * - `'disabled'` (default): no picker is shown; the orchestrator routes every
7
+ * message.
8
+ * - `'select'`: dropdown listing `Auto` plus each agent with
9
+ * `manualSelection.enabled: true`.
10
+ * - `'segmented-control'`: segmented control listing the same options.
11
+ * Falls back to `'select'` when the segments would overflow the available
12
+ * width.
13
+ *
14
+ * The picker is hidden regardless of this setting when there are fewer than
15
+ * two agents or no agents have manual selection enabled.
16
+ *
17
+ * @beta
18
+ */
19
+ export declare type AgentPickerMode = 'disabled' | 'select' | 'segmented-control';
20
+
3
21
  /** Feature flag name for AI functionality (beta). Enable via ?feature.ai in URL or GENX_ENABLE_AI env var. */
4
22
  export declare const AI_FEATURE_FLAG = "ai";
5
23
 
@@ -130,6 +148,28 @@ export declare interface ChatAgentConfig {
130
148
  maxFoldOperations?: number;
131
149
  }
132
150
 
151
+ /**
152
+ * Configuration for the agent picker shown above the chat input.
153
+ *
154
+ * @beta
155
+ */
156
+ export declare interface ChatAgentPickerConfig {
157
+ /** Picker variant. Defaults to `'disabled'` when omitted. */
158
+ mode?: AgentPickerMode;
159
+ /**
160
+ * Name of an agent to pre-pin when a session is first created. Ignored if
161
+ * the name doesn't match any agent. Once the user changes the selection
162
+ * (including to Auto), their choice persists for the session.
163
+ */
164
+ defaultAgent?: string;
165
+ /**
166
+ * When `true`, the pin icon uses the default text colour instead of the
167
+ * per-agent brand tint. Useful for hosts whose theme conflicts with the
168
+ * palette.
169
+ */
170
+ disablePinColours?: boolean;
171
+ }
172
+
133
173
  /**
134
174
  * Configuration for the animations feature.
135
175
  *
@@ -171,6 +211,8 @@ export declare interface ChatConfig {
171
211
  agent?: ChatAgentConfig;
172
212
  /** Query suggestions feature configuration. */
173
213
  suggestions?: ChatSuggestionsConfig;
214
+ /** Agent picker configuration — mode + optional default pin. */
215
+ picker?: ChatAgentPickerConfig;
174
216
  }
175
217
 
176
218
  /**
@@ -186,6 +228,18 @@ export declare type ChatDriverResult = {
186
228
  remainingTask: string;
187
229
  };
188
230
 
231
+ /**
232
+ * Controls how the main chat input area behaves while an agent (or sub-agent)
233
+ * is executing.
234
+ *
235
+ * - `'disabled'` (default): input stays visible but disabled.
236
+ * - `'hidden'`: the entire input row (attach button, textarea, send button) is
237
+ * hidden.
238
+ *
239
+ * @beta
240
+ */
241
+ export declare type ChatInputDuringExecutionMode = 'disabled' | 'hidden';
242
+
189
243
  /**
190
244
  * A user interaction component request.
191
245
  *
@@ -779,6 +833,15 @@ export declare interface SubAgentRequestOptions {
779
833
  historyCap?: number;
780
834
  /** Extra dynamic data injected as a primer message before the task. */
781
835
  context?: Record<string, unknown>;
836
+ /**
837
+ * Override how the main chat input area behaves while this sub-agent is
838
+ * executing. Mirrors the agent-level `chatInputDuringExecution` config but
839
+ * applies only for the lifetime of this invocation — reverts automatically
840
+ * when the sub-agent completes (explicitly via `completeSubAgent` or
841
+ * implicitly when its tool loop ends). When multiple overrides are active in
842
+ * parallel the most restrictive wins (`'hidden'` > `'disabled'`).
843
+ */
844
+ chatInputDuringExecution?: ChatInputDuringExecutionMode;
782
845
  }
783
846
 
784
847
  /** @beta */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-ai",
3
3
  "description": "Genesis Foundation AI - Provider-agnostic AI configuration and shared utilities",
4
- "version": "14.432.2",
4
+ "version": "14.433.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -51,17 +51,17 @@
51
51
  }
52
52
  },
53
53
  "devDependencies": {
54
- "@genesislcap/foundation-testing": "14.432.2",
55
- "@genesislcap/genx": "14.432.2",
56
- "@genesislcap/rollup-builder": "14.432.2",
57
- "@genesislcap/ts-builder": "14.432.2",
58
- "@genesislcap/uvu-playwright-builder": "14.432.2",
59
- "@genesislcap/vite-builder": "14.432.2",
60
- "@genesislcap/webpack-builder": "14.432.2"
54
+ "@genesislcap/foundation-testing": "14.433.0",
55
+ "@genesislcap/genx": "14.433.0",
56
+ "@genesislcap/rollup-builder": "14.433.0",
57
+ "@genesislcap/ts-builder": "14.433.0",
58
+ "@genesislcap/uvu-playwright-builder": "14.433.0",
59
+ "@genesislcap/vite-builder": "14.433.0",
60
+ "@genesislcap/webpack-builder": "14.433.0"
61
61
  },
62
62
  "dependencies": {
63
- "@genesislcap/foundation-logger": "14.432.2",
64
- "@genesislcap/foundation-utils": "14.432.2",
63
+ "@genesislcap/foundation-logger": "14.433.0",
64
+ "@genesislcap/foundation-utils": "14.433.0",
65
65
  "@microsoft/fast-foundation": "2.50.0"
66
66
  },
67
67
  "repository": {
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "a93cc1972a01671997a744f7ce0477ca5809006d"
75
+ "gitHead": "0ddedcdfa75d7b64b9c7b1397dcfa3008e23cd04"
76
76
  }