@genesislcap/foundation-ai 14.408.0 → 14.409.0-FUI-2495.2

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.
Files changed (130) hide show
  1. package/README.md +7 -1
  2. package/dist/dts/index.d.ts +1 -1
  3. package/dist/dts/index.d.ts.map +1 -1
  4. package/dist/dts/types/chat.types.d.ts +50 -4
  5. package/dist/dts/types/chat.types.d.ts.map +1 -1
  6. package/dist/dts/utils/feature-flags.d.ts +2 -2
  7. package/dist/dts/utils/feature-flags.d.ts.map +1 -1
  8. package/dist/esm/utils/feature-flags.js +10 -3
  9. package/dist/foundation-ai.api.json +376 -123
  10. package/dist/foundation-ai.d.ts +75 -26
  11. package/package.json +11 -11
  12. package/docs/api/foundation-ai.ai_feature_flag.md +0 -13
  13. package/docs/api/foundation-ai.aiconfig.md +0 -18
  14. package/docs/api/foundation-ai.aiprovider.chat.md +0 -85
  15. package/docs/api/foundation-ai.aiprovider.getstatus.md +0 -20
  16. package/docs/api/foundation-ai.aiprovider.interpretcriteria.md +0 -67
  17. package/docs/api/foundation-ai.aiprovider.md +0 -91
  18. package/docs/api/foundation-ai.aiprovider.streamchat.md +0 -85
  19. package/docs/api/foundation-ai.aiprovider.triggerdownload.md +0 -20
  20. package/docs/api/foundation-ai.aiprovidertype.md +0 -16
  21. package/docs/api/foundation-ai.aistatus.chromeavailability.md +0 -14
  22. package/docs/api/foundation-ai.aistatus.md +0 -99
  23. package/docs/api/foundation-ai.aistatus.model.md +0 -14
  24. package/docs/api/foundation-ai.aistatus.provider.md +0 -14
  25. package/docs/api/foundation-ai.chatanimationsconfig.enabled.md +0 -16
  26. package/docs/api/foundation-ai.chatanimationsconfig.md +0 -80
  27. package/docs/api/foundation-ai.chatanimationsconfig.userconfigurable.md +0 -16
  28. package/docs/api/foundation-ai.chatattachment.content.md +0 -14
  29. package/docs/api/foundation-ai.chatattachment.md +0 -99
  30. package/docs/api/foundation-ai.chatattachment.mimetype.md +0 -14
  31. package/docs/api/foundation-ai.chatattachment.name.md +0 -14
  32. package/docs/api/foundation-ai.chatconfig.acceptedfiles.md +0 -16
  33. package/docs/api/foundation-ai.chatconfig.allowdebugdownload.md +0 -16
  34. package/docs/api/foundation-ai.chatconfig.animations.md +0 -16
  35. package/docs/api/foundation-ai.chatconfig.loadingdelay.md +0 -16
  36. package/docs/api/foundation-ai.chatconfig.maxtooliterations.md +0 -16
  37. package/docs/api/foundation-ai.chatconfig.md +0 -177
  38. package/docs/api/foundation-ai.chatconfig.showthinkingsteps.md +0 -16
  39. package/docs/api/foundation-ai.chatconfig.showtoolcalls.md +0 -16
  40. package/docs/api/foundation-ai.chatinteraction.componentname.md +0 -14
  41. package/docs/api/foundation-ai.chatinteraction.data.md +0 -14
  42. package/docs/api/foundation-ai.chatinteraction.interactionid.md +0 -14
  43. package/docs/api/foundation-ai.chatinteraction.md +0 -118
  44. package/docs/api/foundation-ai.chatinteraction.resolved.md +0 -16
  45. package/docs/api/foundation-ai.chatmessage.attachments.md +0 -14
  46. package/docs/api/foundation-ai.chatmessage.content.md +0 -14
  47. package/docs/api/foundation-ai.chatmessage.interaction.md +0 -14
  48. package/docs/api/foundation-ai.chatmessage.md +0 -175
  49. package/docs/api/foundation-ai.chatmessage.role.md +0 -14
  50. package/docs/api/foundation-ai.chatmessage.thinking.md +0 -14
  51. package/docs/api/foundation-ai.chatmessage.toolcalls.md +0 -14
  52. package/docs/api/foundation-ai.chatmessage.toolresult.md +0 -14
  53. package/docs/api/foundation-ai.chatrequestoptions.attachments.md +0 -14
  54. package/docs/api/foundation-ai.chatrequestoptions.md +0 -118
  55. package/docs/api/foundation-ai.chatrequestoptions.signal.md +0 -14
  56. package/docs/api/foundation-ai.chatrequestoptions.systemprompt.md +0 -14
  57. package/docs/api/foundation-ai.chatrequestoptions.tools.md +0 -14
  58. package/docs/api/foundation-ai.chatrole.md +0 -16
  59. package/docs/api/foundation-ai.chatstreamchunk.delta.md +0 -14
  60. package/docs/api/foundation-ai.chatstreamchunk.done.md +0 -14
  61. package/docs/api/foundation-ai.chatstreamchunk.md +0 -99
  62. package/docs/api/foundation-ai.chatstreamchunk.toolcalls.md +0 -14
  63. package/docs/api/foundation-ai.chattoolcall.args.md +0 -14
  64. package/docs/api/foundation-ai.chattoolcall.id.md +0 -14
  65. package/docs/api/foundation-ai.chattoolcall.md +0 -99
  66. package/docs/api/foundation-ai.chattoolcall.name.md +0 -14
  67. package/docs/api/foundation-ai.chattooldefinition.description.md +0 -14
  68. package/docs/api/foundation-ai.chattooldefinition.md +0 -99
  69. package/docs/api/foundation-ai.chattooldefinition.name.md +0 -14
  70. package/docs/api/foundation-ai.chattooldefinition.parameters.md +0 -14
  71. package/docs/api/foundation-ai.chattoolhandlers.md +0 -18
  72. package/docs/api/foundation-ai.chattoolresult.content.md +0 -14
  73. package/docs/api/foundation-ai.chattoolresult.md +0 -80
  74. package/docs/api/foundation-ai.chattoolresult.toolcallid.md +0 -14
  75. package/docs/api/foundation-ai.chattransport.md +0 -58
  76. package/docs/api/foundation-ai.chattransport.sendchatmessage.md +0 -83
  77. package/docs/api/foundation-ai.chattransport.streamchatmessage.md +0 -83
  78. package/docs/api/foundation-ai.chromeaiconfig.md +0 -104
  79. package/docs/api/foundation-ai.chromeaiconfig.providertype.md +0 -14
  80. package/docs/api/foundation-ai.chromeaiconfig.temperature.md +0 -14
  81. package/docs/api/foundation-ai.chromeaiconfig.topk.md +0 -14
  82. package/docs/api/foundation-ai.chromeavailability.md +0 -16
  83. package/docs/api/foundation-ai.createaiprovider.md +0 -57
  84. package/docs/api/foundation-ai.criteriaclauseresult.field.md +0 -14
  85. package/docs/api/foundation-ai.criteriaclauseresult.md +0 -99
  86. package/docs/api/foundation-ai.criteriaclauseresult.operator.md +0 -14
  87. package/docs/api/foundation-ai.criteriaclauseresult.value.md +0 -14
  88. package/docs/api/foundation-ai.criteriagroupresult.clauses.md +0 -14
  89. package/docs/api/foundation-ai.criteriagroupresult.logic.md +0 -14
  90. package/docs/api/foundation-ai.criteriagroupresult.md +0 -99
  91. package/docs/api/foundation-ai.criteriagroupresult.negated.md +0 -14
  92. package/docs/api/foundation-ai.criteriainterpretationresult.groups.md +0 -14
  93. package/docs/api/foundation-ai.criteriainterpretationresult.md +0 -61
  94. package/docs/api/foundation-ai.criteriainterpretcontext.fields.md +0 -14
  95. package/docs/api/foundation-ai.criteriainterpretcontext.md +0 -61
  96. package/docs/api/foundation-ai.fieldlike.md +0 -21
  97. package/docs/api/foundation-ai.geminiaiconfig.apikey.md +0 -14
  98. package/docs/api/foundation-ai.geminiaiconfig.md +0 -123
  99. package/docs/api/foundation-ai.geminiaiconfig.model.md +0 -14
  100. package/docs/api/foundation-ai.geminiaiconfig.providertype.md +0 -14
  101. package/docs/api/foundation-ai.geminiaiconfig.serverendpoint.md +0 -14
  102. package/docs/api/foundation-ai.geminiprovider._constructor_.md +0 -65
  103. package/docs/api/foundation-ai.geminiprovider.chat.md +0 -83
  104. package/docs/api/foundation-ai.geminiprovider.getstatus.md +0 -18
  105. package/docs/api/foundation-ai.geminiprovider.interpretcriteria.md +0 -67
  106. package/docs/api/foundation-ai.geminiprovider.md +0 -128
  107. package/docs/api/foundation-ai.geminiprovider.streamchat.md +0 -83
  108. package/docs/api/foundation-ai.geminitransport._constructor_.md +0 -53
  109. package/docs/api/foundation-ai.geminitransport.getconfig.md +0 -21
  110. package/docs/api/foundation-ai.geminitransport.md +0 -116
  111. package/docs/api/foundation-ai.geminitransport.sendchatmessage.md +0 -83
  112. package/docs/api/foundation-ai.geminitransport.sendstructuredprompt.md +0 -53
  113. package/docs/api/foundation-ai.getaiprovider.md +0 -35
  114. package/docs/api/foundation-ai.interactionresult.md +0 -20
  115. package/docs/api/foundation-ai.isaifeatureenabled.md +0 -17
  116. package/docs/api/foundation-ai.isspeechrecognitionavailable.md +0 -20
  117. package/docs/api/foundation-ai.malformedfunctioncallerror._constructor_.md +0 -53
  118. package/docs/api/foundation-ai.malformedfunctioncallerror.finishmessage.md +0 -14
  119. package/docs/api/foundation-ai.malformedfunctioncallerror.md +0 -98
  120. package/docs/api/foundation-ai.md +0 -503
  121. package/docs/api/foundation-ai.resolveaiconfig.md +0 -57
  122. package/docs/api/foundation-ai.resolveaiconfigoptions.md +0 -99
  123. package/docs/api/foundation-ai.resolveaiconfigoptions.model.md +0 -16
  124. package/docs/api/foundation-ai.resolveaiconfigoptions.preferchrome.md +0 -16
  125. package/docs/api/foundation-ai.resolveaiconfigoptions.provider.md +0 -16
  126. package/docs/api/foundation-ai.serveraiconfig.md +0 -66
  127. package/docs/api/foundation-ai.serveraiconfig.provider.md +0 -14
  128. package/docs/api/foundation-ai.startspeechrecognition.md +0 -71
  129. package/docs/api/index.md +0 -30
  130. package/docs/api-report.md.api.md +0 -317
package/README.md CHANGED
@@ -21,12 +21,18 @@ Each provider exposes capabilities such as `interpretCriteria` (natural language
21
21
 
22
22
  ## Feature flag
23
23
 
24
- AI features are **disabled by default** and require the feature flag to be enabled. Add `?feature.ai` to the URL to activate:
24
+ AI features are **disabled by default**. Enable them via URL parameter or environment variable:
25
25
 
26
+ **URL parameter** — append `?feature.ai` to any URL (useful for testing without rebuilding):
26
27
  ```
27
28
  https://your-app.com/?feature.ai
28
29
  ```
29
30
 
31
+ **Environment variable** — set `GENX_ENABLE_AI=true` in your app's `.env` file to enable permanently without a URL parameter:
32
+ ```
33
+ GENX_ENABLE_AI=true
34
+ ```
35
+
30
36
  When the flag is off:
31
37
 
32
38
  - `createAIProvider()` and `getAIProvider()` return a no-op provider
@@ -3,7 +3,7 @@ export { GeminiProvider } from './providers/gemini-provider';
3
3
  export { GeminiTransport, MalformedFunctionCallError } from './transports/gemini-transport';
4
4
  export { AI_FEATURE_FLAG, isAIFeatureEnabled } from './utils/feature-flags';
5
5
  export type { AIConfig, AIStatus, AIProviderType, ChromeAIConfig, ChromeAvailability, GeminiAIConfig, ServerAIConfig, } from './types';
6
- export type { ChatAnimationsConfig, ChatAttachment, ChatConfig, ChatMessage, ChatInteraction, ChatRequestOptions, ChatRole, ChatStreamChunk, ChatToolCall, ChatToolDefinition, ChatToolHandlers, ChatToolResult, InteractionResult, } from './types/chat.types';
6
+ export type { ChatAgentConfig, ChatAnimationsConfig, ChatAttachment, ChatConfig, ChatDriverResult, ChatMessage, ChatInteraction, ChatRequestOptions, ChatRole, ChatStreamChunk, ChatToolCall, ChatToolDefinition, ChatToolHandlers, ChatToolResult, ChatUiConfig, InteractionResult, } from './types/chat.types';
7
7
  export type { ChatTransport } from './types/chat-transport.types';
8
8
  export type { ResolveAIConfigOptions } from './ai-provider';
9
9
  export type { CriteriaInterpretContext, FieldLike } from './interactions';
@@ -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,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,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,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,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,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @beta
5
5
  */
6
- export type ChatRole = 'user' | 'assistant' | 'system' | 'tool';
6
+ export type ChatRole = 'user' | 'assistant' | 'system' | 'tool' | 'system-event';
7
7
  /**
8
8
  * A tool call requested by the assistant.
9
9
  *
@@ -68,6 +68,8 @@ export interface ChatMessage {
68
68
  attachments?: ChatAttachment[];
69
69
  interaction?: ChatInteraction;
70
70
  thinking?: boolean;
71
+ /** Name of the agent that produced this message. Set by OrchestratingDriver. */
72
+ agentName?: string;
71
73
  }
72
74
  /**
73
75
  * JSON Schema-based tool definition for function calling.
@@ -98,6 +100,18 @@ export interface ChatRequestOptions {
98
100
  attachments?: ChatAttachment[];
99
101
  signal?: AbortSignal;
100
102
  }
103
+ /**
104
+ * The result returned by a driver after processing a user turn.
105
+ *
106
+ * @beta
107
+ */
108
+ export type ChatDriverResult = {
109
+ reason: 'done';
110
+ } | {
111
+ reason: 'agent-handoff';
112
+ summary: string;
113
+ remainingTask: string;
114
+ };
101
115
  /**
102
116
  * A streaming chunk from a chat response.
103
117
  *
@@ -126,7 +140,7 @@ export interface ChatAnimationsConfig {
126
140
  enabled?: string[];
127
141
  }
128
142
  /**
129
- * Display and behaviour configuration for the chat assistant.
143
+ * UI display configuration for the chat assistant.
130
144
  *
131
145
  * For toggle flags (`showToolCalls`, `showThinkingSteps`):
132
146
  * - `true` — default on, user can toggle off
@@ -135,7 +149,7 @@ export interface ChatAnimationsConfig {
135
149
  *
136
150
  * @beta
137
151
  */
138
- export interface ChatConfig {
152
+ export interface ChatUiConfig {
139
153
  /** Show tool call details in the chat UI. */
140
154
  showToolCalls?: boolean | null;
141
155
  /** Show model thinking/reasoning steps. */
@@ -151,7 +165,39 @@ export interface ChatConfig {
151
165
  loadingDelay?: number;
152
166
  /** Animations feature configuration. */
153
167
  animations?: ChatAnimationsConfig;
154
- /** Maximum number of tool call iterations per turn. Default: 50. */
168
+ /**
169
+ * Show an inline divider in the message list when the active specialist changes.
170
+ * Also shown automatically when showToolCalls is true.
171
+ * - `true` — default on, user can toggle off
172
+ * - `false` — default off, user can toggle on
173
+ * - `null` / `undefined` — completely disabled, no UI control shown
174
+ */
175
+ showAgentSwitchIndicator?: boolean | null;
176
+ }
177
+ /**
178
+ * Agent engine configuration for the chat assistant.
179
+ *
180
+ * @beta
181
+ */
182
+ export interface ChatAgentConfig {
183
+ /** Maximum number of tool call iterations within one agent's loop. Default: 50. */
155
184
  maxToolIterations?: number;
185
+ /** Maximum number of agent-to-agent handoffs per user turn. Default: 3. */
186
+ maxHandoffs?: number;
187
+ /** Number of recent messages passed to the classifier for context. Default: 4. */
188
+ classifierHistoryLength?: number;
189
+ /** Number of retries on classifier failure before erroring. Default: 2. */
190
+ classifierRetries?: number;
191
+ }
192
+ /**
193
+ * Display and engine configuration for the chat assistant.
194
+ *
195
+ * @beta
196
+ */
197
+ export interface ChatConfig {
198
+ /** UI display settings — toggles, file upload, animations, etc. */
199
+ ui?: ChatUiConfig;
200
+ /** Agent engine settings — iteration limits, handoff caps, classifier tuning. */
201
+ agent?: ChatAgentConfig;
156
202
  }
157
203
  //# sourceMappingURL=chat.types.d.ts.map
@@ -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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"}
@@ -1,5 +1,5 @@
1
- /** Feature flag name for AI functionality (beta). Enable via ?feature.ai in URL. */
1
+ /** Feature flag name for AI functionality (beta). Enable via ?feature.ai in URL or GENX_ENABLE_AI env var. */
2
2
  export declare const AI_FEATURE_FLAG = "ai";
3
- /** Returns true when AI features (beta) are enabled. Requires ?feature.ai in URL. */
3
+ /** Returns true when AI features (beta) are enabled via ?feature.ai URL param or GENX_ENABLE_AI=true env var. */
4
4
  export declare const isAIFeatureEnabled: () => boolean;
5
5
  //# sourceMappingURL=feature-flags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../src/utils/feature-flags.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,QAAO,OAA8C,CAAC"}
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../src/utils/feature-flags.ts"],"names":[],"mappings":"AAEA,8GAA8G;AAC9G,eAAO,MAAM,eAAe,OAAO,CAAC;AAUpC,iHAAiH;AACjH,eAAO,MAAM,kBAAkB,QAAO,OAA6D,CAAC"}
@@ -1,5 +1,12 @@
1
1
  import { isFeatureActivated } from '@genesislcap/foundation-utils';
2
- /** Feature flag name for AI functionality (beta). Enable via ?feature.ai in URL. */
2
+ /** Feature flag name for AI functionality (beta). Enable via ?feature.ai in URL or GENX_ENABLE_AI env var. */
3
3
  export const AI_FEATURE_FLAG = 'ai';
4
- /** Returns true when AI features (beta) are enabled. Requires ?feature.ai in URL. */
5
- export const isAIFeatureEnabled = () => isFeatureActivated(AI_FEATURE_FLAG);
4
+ let _envEnabled = false;
5
+ try {
6
+ if (typeof GENX_ENABLE_AI !== 'undefined') {
7
+ _envEnabled = GENX_ENABLE_AI === 'true';
8
+ }
9
+ }
10
+ catch (_a) { }
11
+ /** Returns true when AI features (beta) are enabled via ?feature.ai URL param or GENX_ENABLE_AI=true env var. */
12
+ export const isAIFeatureEnabled = () => _envEnabled || isFeatureActivated(AI_FEATURE_FLAG);