@genesislcap/ai-assistant 14.444.1 → 14.445.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.
Files changed (47) hide show
  1. package/dist/ai-assistant.api.json +312 -41
  2. package/dist/ai-assistant.d.ts +105 -8
  3. package/dist/dts/components/ai-driver/ai-driver.d.ts +7 -0
  4. package/dist/dts/components/ai-driver/ai-driver.d.ts.map +1 -1
  5. package/dist/dts/components/chat-driver/chat-driver.d.ts +37 -3
  6. package/dist/dts/components/chat-driver/chat-driver.d.ts.map +1 -1
  7. package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts +5 -3
  8. package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts.map +1 -1
  9. package/dist/dts/config/config.d.ts +31 -0
  10. package/dist/dts/config/config.d.ts.map +1 -1
  11. package/dist/dts/config/define-stateful-agent.d.ts +9 -0
  12. package/dist/dts/config/define-stateful-agent.d.ts.map +1 -1
  13. package/dist/dts/config/validate-providers.d.ts +25 -0
  14. package/dist/dts/config/validate-providers.d.ts.map +1 -0
  15. package/dist/dts/config/validate-providers.test.d.ts +2 -0
  16. package/dist/dts/config/validate-providers.test.d.ts.map +1 -0
  17. package/dist/dts/main/main.d.ts +17 -5
  18. package/dist/dts/main/main.d.ts.map +1 -1
  19. package/dist/dts/main/main.styles.d.ts.map +1 -1
  20. package/dist/dts/main/main.template.d.ts.map +1 -1
  21. package/dist/dts/state/ai-assistant-slice.d.ts +14 -1
  22. package/dist/dts/state/ai-assistant-slice.d.ts.map +1 -1
  23. package/dist/dts/state/session-store.d.ts +2 -0
  24. package/dist/dts/state/session-store.d.ts.map +1 -1
  25. package/dist/esm/components/chat-driver/chat-driver.js +84 -15
  26. package/dist/esm/components/orchestrating-driver/orchestrating-driver.js +23 -4
  27. package/dist/esm/config/define-stateful-agent.js +12 -0
  28. package/dist/esm/config/validate-providers.js +47 -0
  29. package/dist/esm/config/validate-providers.test.js +100 -0
  30. package/dist/esm/main/main.js +57 -10
  31. package/dist/esm/main/main.styles.js +52 -0
  32. package/dist/esm/main/main.template.js +36 -1
  33. package/dist/esm/state/ai-assistant-slice.js +8 -0
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/docs/migration-GENC-1262.md +219 -0
  36. package/package.json +16 -16
  37. package/src/components/ai-driver/ai-driver.ts +8 -0
  38. package/src/components/chat-driver/chat-driver.ts +96 -14
  39. package/src/components/orchestrating-driver/orchestrating-driver.ts +29 -4
  40. package/src/config/config.ts +32 -0
  41. package/src/config/define-stateful-agent.ts +28 -0
  42. package/src/config/validate-providers.test.ts +148 -0
  43. package/src/config/validate-providers.ts +58 -0
  44. package/src/main/main.styles.ts +52 -0
  45. package/src/main/main.template.ts +50 -2
  46. package/src/main/main.ts +51 -7
  47. package/src/state/ai-assistant-slice.ts +24 -1
@@ -1,4 +1,8 @@
1
- import type { ChatInputDuringExecutionMode, ChatMessage } from '@genesislcap/foundation-ai';
1
+ import type {
2
+ AIProviderRegistryStatusEntry,
3
+ ChatInputDuringExecutionMode,
4
+ ChatMessage,
5
+ } from '@genesislcap/foundation-ai';
2
6
  import type { PayloadAction } from '@genesislcap/foundation-redux';
3
7
  import { createSlice } from '@genesislcap/foundation-redux';
4
8
  import type { AgentConfig } from '../config/config';
@@ -39,6 +43,17 @@ export interface AiAssistantSessionState {
39
43
  sessionCostUsd: number;
40
44
  /** Active model id (e.g. `claude-sonnet-4-6`), resolved on connect. */
41
45
  activeModel: string | undefined;
46
+ /**
47
+ * Name of the AI provider used on the most recent turn — drives "current"
48
+ * marker in the settings panel. `undefined` until the first turn runs.
49
+ */
50
+ activeProviderName: string | undefined;
51
+ /**
52
+ * Snapshot of every registered provider's status, in registration order.
53
+ * Populated on connect (or on settings-open if not yet loaded) and reused
54
+ * for the lifetime of the session — provider registration is static.
55
+ */
56
+ providerStatuses: AIProviderRegistryStatusEntry[];
42
57
  activeAgent: Omit<AgentConfig, 'toolHandlers'> | undefined;
43
58
  /**
44
59
  * Name of the agent the user has pinned via the picker. `null` means the
@@ -90,6 +105,8 @@ export const defaultSessionState: AiAssistantSessionState = {
90
105
  contextLimit: undefined,
91
106
  sessionCostUsd: 0,
92
107
  activeModel: undefined,
108
+ activeProviderName: undefined,
109
+ providerStatuses: [],
93
110
  activeAgent: undefined,
94
111
  pinnedAgentName: null,
95
112
  flowOwnerAgentName: null,
@@ -137,6 +154,12 @@ export const aiAssistantSlice = createSlice({
137
154
  setActiveModel(state, action: PayloadAction<string | undefined>) {
138
155
  state.activeModel = action.payload;
139
156
  },
157
+ setActiveProviderName(state, action: PayloadAction<string | undefined>) {
158
+ state.activeProviderName = action.payload;
159
+ },
160
+ setProviderStatuses(state, action: PayloadAction<AIProviderRegistryStatusEntry[]>) {
161
+ state.providerStatuses = action.payload;
162
+ },
140
163
  setActiveAgent(state, action: PayloadAction<Omit<AgentConfig, 'toolHandlers'> | undefined>) {
141
164
  state.activeAgent = action.payload;
142
165
  },