@ai-matrx/chat 0.5.18 → 0.6.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 (89) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/agents/components/identity-refs/AiIdentityRef.d.ts +33 -0
  3. package/dist/agents/components/identity-refs/AiIdentityRef.js +138 -0
  4. package/dist/agents/components/inputs/smart-input/QuicksetPanel.js +5 -9
  5. package/dist/agents/components/inputs/smart-input/RunSkillPicker.js +1 -1
  6. package/dist/agents/components/inputs/smart-input/RunToolPicker.js +6 -11
  7. package/dist/agents/components/inputs/smart-input/ShapeChipsRow.js +1 -1
  8. package/dist/agents/components/inputs/smart-input/composer/ComposerEffortPill.js +1 -1
  9. package/dist/agents/components/inputs/smart-input/composer/ComposerOutput.js +1 -1
  10. package/dist/agents/components/inputs/smart-input/composer/ComposerPlusMenu.js +1 -1
  11. package/dist/agents/components/inputs/smart-input/composer/useComposerAgent.js +1 -1
  12. package/dist/agents/components/inputs/smart-input/composer/useRunControlCounts.d.ts +3 -0
  13. package/dist/agents/components/inputs/smart-input/composer/useRunControlCounts.js +54 -0
  14. package/dist/agents/components/model-tiers/ModelTierIdentityList.js +1 -1
  15. package/dist/agents/components/run-controls/RunConfigOverrides.js +1 -1
  16. package/dist/agents/components/run-controls/RunInputCapabilities.js +1 -1
  17. package/dist/agents/components/run-controls/panels/shared.d.ts +0 -2
  18. package/dist/agents/hooks/useDiffEnrichment.js +3 -6
  19. package/dist/agents/identity/agent-catalog-lists.js +2 -1
  20. package/dist/agents/identity/agent-identity.js +2 -1
  21. package/dist/agents/identity/model-catalog.d.ts +9 -0
  22. package/dist/agents/identity/model-catalog.js +25 -0
  23. package/dist/agents/identity/preferred-chat-model.d.ts +9 -0
  24. package/dist/agents/identity/preferred-chat-model.js +33 -0
  25. package/dist/agents/identity/settings-store.d.ts +10 -0
  26. package/dist/agents/identity/settings-store.js +49 -0
  27. package/dist/agents/identity/skill-catalog.d.ts +27 -0
  28. package/dist/agents/identity/skill-catalog.js +100 -0
  29. package/dist/agents/identity/tool-catalog.d.ts +15 -0
  30. package/dist/agents/identity/tool-catalog.js +67 -0
  31. package/dist/agents/redux/agent-definition/cache-bust-middleware.d.ts +0 -1
  32. package/dist/agents/redux/agent-definition/cache-bust-middleware.js +1 -13
  33. package/dist/agents/redux/agent-definition/selectors.d.ts +12 -546
  34. package/dist/agents/redux/agent-settings/internal-utils.d.ts +2 -123
  35. package/dist/agents/redux/agent-settings/internal-utils.js +1 -315
  36. package/dist/agents/redux/agent-settings/settings-catalogue.d.ts +2 -78
  37. package/dist/agents/redux/agent-settings/settings-catalogue.js +1 -176
  38. package/dist/agents/redux/agent-settings/types.d.ts +2 -148
  39. package/dist/agents/redux/agent-settings/types.js +1 -0
  40. package/dist/agents/redux/agent-settings/ui-gates.d.ts +2 -54
  41. package/dist/agents/redux/agent-settings/ui-gates.js +1 -38
  42. package/dist/agents/redux/agent-shortcut-categories/selectors.d.ts +0 -100
  43. package/dist/agents/redux/agent-shortcuts/selectors.d.ts +0 -294
  44. package/dist/agents/redux/conversation-history/selectors.d.ts +0 -32
  45. package/dist/agents/redux/conversation-list/conversation-list.selectors.d.ts +0 -4
  46. package/dist/agents/redux/execution-system/active-requests/active-requests.selectors.d.ts +0 -108
  47. package/dist/agents/redux/execution-system/context-state/context-state.selectors.d.ts +0 -28
  48. package/dist/agents/redux/execution-system/conversations/conversations.selectors.d.ts +0 -10
  49. package/dist/agents/redux/execution-system/instance-context/instance-context.selectors.d.ts +0 -6
  50. package/dist/agents/redux/execution-system/instance-model-overrides/launch-model-overrides.js +1 -1
  51. package/dist/agents/redux/execution-system/instance-resources/instance-resources.selectors.d.ts +0 -16
  52. package/dist/agents/redux/execution-system/instance-ui-state/instance-ui-state.selectors.d.ts +0 -10
  53. package/dist/agents/redux/execution-system/instance-variable-values/instance-variable-values.selectors.d.ts +0 -14
  54. package/dist/agents/redux/execution-system/messages/messages.selectors.d.ts +0 -2
  55. package/dist/agents/redux/execution-system/observability/observability.selectors.d.ts +0 -14
  56. package/dist/agents/redux/execution-system/observational-memory/observational-memory.selectors.d.ts +0 -2
  57. package/dist/agents/redux/execution-system/selectors/aggregate.selectors.d.ts +0 -28
  58. package/dist/agents/redux/execution-system/thunks/process-stream.js +2 -5
  59. package/dist/agents/redux/execution-system/utils/loaded-skill-sources.d.ts +1 -1
  60. package/dist/agents/redux/execution-system/utils/loaded-skill-sources.js +3 -3
  61. package/dist/agents/redux/proposed-directives/proposedDirectivesSlice.d.ts +0 -2
  62. package/dist/agents/ui-first-tools/redux/agent-lists.selectors.d.ts +0 -4
  63. package/dist/host/ui-slots.d.ts +0 -46
  64. package/dist/host/ui-slots.js +0 -33
  65. package/dist/store/create-chat-store.d.ts +0 -4
  66. package/dist/store/middlewares.d.ts +0 -10
  67. package/dist/store/slices.d.ts +0 -2
  68. package/dist/store/slices.js +0 -4
  69. package/dist/surfaces/redux/selectors.d.ts +0 -4
  70. package/dist/tool-call-visualization/redux/selectors.d.ts +0 -2
  71. package/dist/ui/chat-default-model-knob.d.ts +1 -1
  72. package/dist/ui/chat-default-model-knob.js +1 -1
  73. package/package.json +4 -4
  74. package/dist/agents/components/model/AgentModelPanel.d.ts +0 -4
  75. package/dist/agents/components/model/AgentModelPanel.js +0 -9
  76. package/dist/agents/redux/agent-settings/agentSettingsSlice.d.ts +0 -1015
  77. package/dist/agents/redux/agent-settings/agentSettingsSlice.js +0 -659
  78. package/dist/agents/redux/agent-settings/selectors.d.ts +0 -10057
  79. package/dist/agents/redux/agent-settings/selectors.js +0 -234
  80. package/dist/agents/redux/agent-settings/useNormalizedControls.d.ts +0 -8
  81. package/dist/agents/redux/agent-settings/useNormalizedControls.js +0 -24
  82. package/dist/agents/redux/tools/tools.selectors.d.ts +0 -529
  83. package/dist/agents/redux/tools/tools.selectors.js +0 -24
  84. package/dist/agents/redux/tools/tools.slice.d.ts +0 -12
  85. package/dist/agents/redux/tools/tools.slice.js +0 -37
  86. package/dist/agents/redux/tools/tools.thunks.d.ts +0 -125
  87. package/dist/agents/redux/tools/tools.thunks.js +0 -45
  88. package/dist/host/defaults/setting-control-input.d.ts +0 -11
  89. package/dist/host/defaults/setting-control-input.js +0 -91
@@ -1,1015 +0,0 @@
1
- /**
2
- * Agent Settings Slice
3
- *
4
- * Single source of truth for agent/prompt settings across all contexts:
5
- * - Prompt Builder: edits go directly to defaults, saved to DB
6
- * - Chat: overrides tracked separately, never saved to DB
7
- * - Test: multiple agents in memory simultaneously
8
- *
9
- * All business logic (controls parsing, conflict detection, merge resolution,
10
- * override diffing, API payload building) lives in internal-utils.ts and is
11
- * invoked here. Components never compute or interpret settings themselves.
12
- */
13
- import { type PayloadAction } from "@reduxjs/toolkit";
14
- import type { AgentContext, AgentSettings, AgentSettingsState, AgentSource, AgentVariable, ConflictAction, ResolutionMode } from "./types.js";
15
- export declare const fetchAvailableTools: import("@reduxjs/toolkit").AsyncThunk<{
16
- id: string;
17
- name: string;
18
- description: string;
19
- category?: string;
20
- icon?: string;
21
- }[], void, import("@reduxjs/toolkit").AsyncThunkConfig>;
22
- /**
23
- * Fetch an agent's settings from Supabase and initialize the entry.
24
- * Determines the table from `source`:
25
- * 'builtin' → agent.definition (agent schema; prompt_builtins migrated 1:1, same UUIDs)
26
- * 'prompt' → prompts (public schema)
27
- */
28
- export declare const loadAgentSettings: import("@reduxjs/toolkit").AsyncThunk<{
29
- agentId: string;
30
- source: AgentSource;
31
- context: AgentContext;
32
- rawSettings: {
33
- model?: string | undefined;
34
- offering_id?: string | undefined;
35
- max_output_tokens?: number | undefined;
36
- temperature?: number | undefined;
37
- top_p?: number | undefined;
38
- top_k?: number | undefined;
39
- tool_choice?: NonNullable<"auto" | "none" | "required" | null | undefined> | undefined;
40
- parallel_tool_calls?: NonNullable<boolean | null | undefined> | undefined;
41
- reasoning_effort?: NonNullable<"auto" | "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null | undefined> | undefined;
42
- reasoning_summary?: NonNullable<"always" | "auto" | "concise" | "detailed" | "never" | null | undefined> | undefined;
43
- visualization?: NonNullable<"auto" | "off" | null | undefined> | undefined;
44
- thinking_level?: NonNullable<"high" | "low" | "medium" | "minimal" | null | undefined> | undefined;
45
- include_thoughts?: NonNullable<boolean | null | undefined> | undefined;
46
- thinking_budget?: number | undefined;
47
- clear_thinking?: NonNullable<boolean | null | undefined> | undefined;
48
- disable_reasoning?: NonNullable<boolean | null | undefined> | undefined;
49
- response_format?: NonNullable<{
50
- type: "json_object";
51
- } | {
52
- type: "json_schema";
53
- json_schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["OutputSchemaEnvelope"] | null;
54
- name?: string | null;
55
- schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonSchemaObjectDocument"] | null;
56
- strict?: boolean | null;
57
- } | {
58
- type: "text";
59
- } | null | undefined> | undefined;
60
- stop_sequences?: string[] | undefined;
61
- stream?: NonNullable<boolean | null | undefined> | undefined;
62
- store?: NonNullable<boolean | null | undefined> | undefined;
63
- previous_interaction_id?: string | undefined;
64
- task?: NonNullable<"edit" | "image_to_video" | "reference_to_video" | "text_to_video" | null | undefined> | undefined;
65
- verbosity?: NonNullable<"high" | "low" | "medium" | null | undefined> | undefined;
66
- internal_web_search?: NonNullable<boolean | null | undefined> | undefined;
67
- internal_url_context?: NonNullable<boolean | null | undefined> | undefined;
68
- internal_x_search?: NonNullable<boolean | null | undefined> | undefined;
69
- aspect_ratio?: NonNullable<"16:9" | "1:1" | "21:9" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | null | undefined> | undefined;
70
- width?: number | undefined;
71
- height?: number | undefined;
72
- count?: number | undefined;
73
- render_quality?: NonNullable<"auto" | "high" | "low" | "medium" | null | undefined> | undefined;
74
- background?: NonNullable<"auto" | "opaque" | "transparent" | null | undefined> | undefined;
75
- output_compression?: number | undefined;
76
- moderation?: NonNullable<"auto" | "low" | null | undefined> | undefined;
77
- input_fidelity?: NonNullable<"high" | "low" | null | undefined> | undefined;
78
- partial_images?: number | undefined;
79
- style?: NonNullable<"natural" | "vivid" | null | undefined> | undefined;
80
- reference_strength?: number | undefined;
81
- tts_voice?: NonNullable<string | {
82
- text: string;
83
- voice_id: string;
84
- }[] | {
85
- name: string;
86
- voice: string;
87
- gender?: string;
88
- }[] | null | undefined> | undefined;
89
- audio_format?: NonNullable<"aac" | "alaw" | "flac" | "mp3" | "mulaw" | "ogg" | "opus" | "pcm" | "wav" | null | undefined> | undefined;
90
- performance_direction?: string | undefined;
91
- speech_speed?: number | undefined;
92
- turn_pause_ms?: number | undefined;
93
- language_code?: string | undefined;
94
- duration_seconds?: number | undefined;
95
- resolution?: NonNullable<"1080p" | "1K" | "2K" | "480p" | "4K" | "4k" | "720p" | null | undefined> | undefined;
96
- fps?: number | undefined;
97
- steps?: number | undefined;
98
- seed?: number | undefined;
99
- guidance_scale?: number | undefined;
100
- encode_quality?: number | undefined;
101
- negative_prompt?: string | undefined;
102
- output_format?: NonNullable<"base64" | "jpeg" | "json_object" | "json_schema" | "png" | "text" | "url" | "webp" | null | undefined> | undefined;
103
- frame_images?: ({
104
- file_id?: string | null;
105
- url?: string | null;
106
- file_uri?: string | null;
107
- mime_type?: string | null;
108
- metadata?: {
109
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
110
- };
111
- vision_class?: string | null;
112
- base64_data?: string | null;
113
- resolved_url?: string | null;
114
- file_size?: number | null;
115
- owner_id?: string | null;
116
- is_ours?: boolean;
117
- resolver_error?: string | null;
118
- is_resolved?: boolean;
119
- } & {
120
- [key: string]: unknown;
121
- })[] | undefined;
122
- reference_images?: ({
123
- file_id?: string | null;
124
- url?: string | null;
125
- file_uri?: string | null;
126
- mime_type?: string | null;
127
- metadata?: {
128
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
129
- };
130
- vision_class?: string | null;
131
- base64_data?: string | null;
132
- resolved_url?: string | null;
133
- file_size?: number | null;
134
- owner_id?: string | null;
135
- is_ours?: boolean;
136
- resolver_error?: string | null;
137
- is_resolved?: boolean;
138
- } & {
139
- [key: string]: unknown;
140
- })[] | undefined;
141
- image_loras?: {
142
- path: string;
143
- scale: number;
144
- }[] | undefined;
145
- disable_safety_checker?: NonNullable<boolean | null | undefined> | undefined;
146
- generate_audio?: NonNullable<boolean | null | undefined> | undefined;
147
- enhance_prompt?: NonNullable<boolean | null | undefined> | undefined;
148
- camera_control?: {
149
- [key: string]: unknown;
150
- } | undefined;
151
- image_input?: ({
152
- file_id?: string | null;
153
- url?: string | null;
154
- file_uri?: string | null;
155
- mime_type?: string | null;
156
- metadata?: {
157
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
158
- };
159
- vision_class?: string | null;
160
- base64_data?: string | null;
161
- resolved_url?: string | null;
162
- file_size?: number | null;
163
- owner_id?: string | null;
164
- is_ours?: boolean;
165
- resolver_error?: string | null;
166
- is_resolved?: boolean;
167
- } & {
168
- [key: string]: unknown;
169
- }) | undefined;
170
- image_inputs?: ({
171
- file_id?: string | null;
172
- url?: string | null;
173
- file_uri?: string | null;
174
- mime_type?: string | null;
175
- metadata?: {
176
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
177
- };
178
- vision_class?: string | null;
179
- base64_data?: string | null;
180
- resolved_url?: string | null;
181
- file_size?: number | null;
182
- owner_id?: string | null;
183
- is_ours?: boolean;
184
- resolver_error?: string | null;
185
- is_resolved?: boolean;
186
- } & {
187
- [key: string]: unknown;
188
- })[] | undefined;
189
- mask?: ({
190
- file_id?: string | null;
191
- url?: string | null;
192
- file_uri?: string | null;
193
- mime_type?: string | null;
194
- metadata?: {
195
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
196
- };
197
- vision_class?: string | null;
198
- base64_data?: string | null;
199
- resolved_url?: string | null;
200
- file_size?: number | null;
201
- owner_id?: string | null;
202
- is_ours?: boolean;
203
- resolver_error?: string | null;
204
- is_resolved?: boolean;
205
- } & {
206
- [key: string]: unknown;
207
- }) | undefined;
208
- last_frame_image?: ({
209
- file_id?: string | null;
210
- url?: string | null;
211
- file_uri?: string | null;
212
- mime_type?: string | null;
213
- metadata?: {
214
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
215
- };
216
- vision_class?: string | null;
217
- base64_data?: string | null;
218
- resolved_url?: string | null;
219
- file_size?: number | null;
220
- owner_id?: string | null;
221
- is_ours?: boolean;
222
- resolver_error?: string | null;
223
- is_resolved?: boolean;
224
- } & {
225
- [key: string]: unknown;
226
- }) | undefined;
227
- video_input?: ({
228
- file_id?: string | null;
229
- url?: string | null;
230
- file_uri?: string | null;
231
- mime_type?: string | null;
232
- metadata?: {
233
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
234
- };
235
- vision_class?: string | null;
236
- base64_data?: string | null;
237
- resolved_url?: string | null;
238
- file_size?: number | null;
239
- owner_id?: string | null;
240
- is_ours?: boolean;
241
- resolver_error?: string | null;
242
- is_resolved?: boolean;
243
- } & {
244
- [key: string]: unknown;
245
- }) | undefined;
246
- video_action?: NonNullable<"edit" | "extend" | "generate" | null | undefined> | undefined;
247
- custom_tools?: {
248
- name: string;
249
- description?: string;
250
- input_schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["CustomToolInputSchema"];
251
- }[] | undefined;
252
- mcp_servers?: string[] | undefined;
253
- compaction_settings?: {
254
- tier2_minimal_prune?: boolean | null;
255
- tier3_content_to_retrieval?: boolean | null;
256
- tier4_threshold_trim?: boolean | null;
257
- tier5_hard_compression?: boolean | null;
258
- } | undefined;
259
- detected_contexts?: {
260
- [key: string]: string;
261
- } | undefined;
262
- dictionary?: {
263
- entries?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["DictionaryEntry"][];
264
- custom_entries?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["DictionaryEntry"][];
265
- max_inline_chars?: number | null;
266
- source_count?: number;
267
- glossary?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["GlossaryEntry"][];
268
- context?: string | null;
269
- } | undefined;
270
- tts_quality?: NonNullable<"fast" | "high_quality" | null | undefined> | undefined;
271
- max_tokens?: number | undefined;
272
- n?: number | undefined;
273
- num_outputs?: number | undefined;
274
- number_of_images?: number | undefined;
275
- quality?: NonNullable<"auto" | "high" | "low" | "medium" | null | undefined> | undefined;
276
- output_quality?: number | undefined;
277
- seconds?: number | undefined;
278
- duration?: number | undefined;
279
- };
280
- rawVariableDefaults: AgentVariable[];
281
- }, {
282
- agentId: string;
283
- source: AgentSource;
284
- context?: AgentContext;
285
- }, import("@reduxjs/toolkit").AsyncThunkConfig>;
286
- /**
287
- * Initialize from already-fetched data (e.g. an agentDefinition record).
288
- * No network request — just normalizes and loads into slice state.
289
- */
290
- export declare const loadAgentSettingsDirect: import("@reduxjs/toolkit").AsyncThunk<{
291
- agentId: string;
292
- source: AgentSource;
293
- context: AgentContext;
294
- rawSettings: {
295
- model?: string | undefined;
296
- offering_id?: string | undefined;
297
- max_output_tokens?: number | undefined;
298
- temperature?: number | undefined;
299
- top_p?: number | undefined;
300
- top_k?: number | undefined;
301
- tool_choice?: NonNullable<"auto" | "none" | "required" | null | undefined> | undefined;
302
- parallel_tool_calls?: NonNullable<boolean | null | undefined> | undefined;
303
- reasoning_effort?: NonNullable<"auto" | "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null | undefined> | undefined;
304
- reasoning_summary?: NonNullable<"always" | "auto" | "concise" | "detailed" | "never" | null | undefined> | undefined;
305
- visualization?: NonNullable<"auto" | "off" | null | undefined> | undefined;
306
- thinking_level?: NonNullable<"high" | "low" | "medium" | "minimal" | null | undefined> | undefined;
307
- include_thoughts?: NonNullable<boolean | null | undefined> | undefined;
308
- thinking_budget?: number | undefined;
309
- clear_thinking?: NonNullable<boolean | null | undefined> | undefined;
310
- disable_reasoning?: NonNullable<boolean | null | undefined> | undefined;
311
- response_format?: NonNullable<{
312
- type: "json_object";
313
- } | {
314
- type: "json_schema";
315
- json_schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["OutputSchemaEnvelope"] | null;
316
- name?: string | null;
317
- schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonSchemaObjectDocument"] | null;
318
- strict?: boolean | null;
319
- } | {
320
- type: "text";
321
- } | null | undefined> | undefined;
322
- stop_sequences?: string[] | undefined;
323
- stream?: NonNullable<boolean | null | undefined> | undefined;
324
- store?: NonNullable<boolean | null | undefined> | undefined;
325
- previous_interaction_id?: string | undefined;
326
- task?: NonNullable<"edit" | "image_to_video" | "reference_to_video" | "text_to_video" | null | undefined> | undefined;
327
- verbosity?: NonNullable<"high" | "low" | "medium" | null | undefined> | undefined;
328
- internal_web_search?: NonNullable<boolean | null | undefined> | undefined;
329
- internal_url_context?: NonNullable<boolean | null | undefined> | undefined;
330
- internal_x_search?: NonNullable<boolean | null | undefined> | undefined;
331
- aspect_ratio?: NonNullable<"16:9" | "1:1" | "21:9" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | null | undefined> | undefined;
332
- width?: number | undefined;
333
- height?: number | undefined;
334
- count?: number | undefined;
335
- render_quality?: NonNullable<"auto" | "high" | "low" | "medium" | null | undefined> | undefined;
336
- background?: NonNullable<"auto" | "opaque" | "transparent" | null | undefined> | undefined;
337
- output_compression?: number | undefined;
338
- moderation?: NonNullable<"auto" | "low" | null | undefined> | undefined;
339
- input_fidelity?: NonNullable<"high" | "low" | null | undefined> | undefined;
340
- partial_images?: number | undefined;
341
- style?: NonNullable<"natural" | "vivid" | null | undefined> | undefined;
342
- reference_strength?: number | undefined;
343
- tts_voice?: NonNullable<string | {
344
- text: string;
345
- voice_id: string;
346
- }[] | {
347
- name: string;
348
- voice: string;
349
- gender?: string;
350
- }[] | null | undefined> | undefined;
351
- audio_format?: NonNullable<"aac" | "alaw" | "flac" | "mp3" | "mulaw" | "ogg" | "opus" | "pcm" | "wav" | null | undefined> | undefined;
352
- performance_direction?: string | undefined;
353
- speech_speed?: number | undefined;
354
- turn_pause_ms?: number | undefined;
355
- language_code?: string | undefined;
356
- duration_seconds?: number | undefined;
357
- resolution?: NonNullable<"1080p" | "1K" | "2K" | "480p" | "4K" | "4k" | "720p" | null | undefined> | undefined;
358
- fps?: number | undefined;
359
- steps?: number | undefined;
360
- seed?: number | undefined;
361
- guidance_scale?: number | undefined;
362
- encode_quality?: number | undefined;
363
- negative_prompt?: string | undefined;
364
- output_format?: NonNullable<"base64" | "jpeg" | "json_object" | "json_schema" | "png" | "text" | "url" | "webp" | null | undefined> | undefined;
365
- frame_images?: ({
366
- file_id?: string | null;
367
- url?: string | null;
368
- file_uri?: string | null;
369
- mime_type?: string | null;
370
- metadata?: {
371
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
372
- };
373
- vision_class?: string | null;
374
- base64_data?: string | null;
375
- resolved_url?: string | null;
376
- file_size?: number | null;
377
- owner_id?: string | null;
378
- is_ours?: boolean;
379
- resolver_error?: string | null;
380
- is_resolved?: boolean;
381
- } & {
382
- [key: string]: unknown;
383
- })[] | undefined;
384
- reference_images?: ({
385
- file_id?: string | null;
386
- url?: string | null;
387
- file_uri?: string | null;
388
- mime_type?: string | null;
389
- metadata?: {
390
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
391
- };
392
- vision_class?: string | null;
393
- base64_data?: string | null;
394
- resolved_url?: string | null;
395
- file_size?: number | null;
396
- owner_id?: string | null;
397
- is_ours?: boolean;
398
- resolver_error?: string | null;
399
- is_resolved?: boolean;
400
- } & {
401
- [key: string]: unknown;
402
- })[] | undefined;
403
- image_loras?: {
404
- path: string;
405
- scale: number;
406
- }[] | undefined;
407
- disable_safety_checker?: NonNullable<boolean | null | undefined> | undefined;
408
- generate_audio?: NonNullable<boolean | null | undefined> | undefined;
409
- enhance_prompt?: NonNullable<boolean | null | undefined> | undefined;
410
- camera_control?: {
411
- [key: string]: unknown;
412
- } | undefined;
413
- image_input?: ({
414
- file_id?: string | null;
415
- url?: string | null;
416
- file_uri?: string | null;
417
- mime_type?: string | null;
418
- metadata?: {
419
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
420
- };
421
- vision_class?: string | null;
422
- base64_data?: string | null;
423
- resolved_url?: string | null;
424
- file_size?: number | null;
425
- owner_id?: string | null;
426
- is_ours?: boolean;
427
- resolver_error?: string | null;
428
- is_resolved?: boolean;
429
- } & {
430
- [key: string]: unknown;
431
- }) | undefined;
432
- image_inputs?: ({
433
- file_id?: string | null;
434
- url?: string | null;
435
- file_uri?: string | null;
436
- mime_type?: string | null;
437
- metadata?: {
438
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
439
- };
440
- vision_class?: string | null;
441
- base64_data?: string | null;
442
- resolved_url?: string | null;
443
- file_size?: number | null;
444
- owner_id?: string | null;
445
- is_ours?: boolean;
446
- resolver_error?: string | null;
447
- is_resolved?: boolean;
448
- } & {
449
- [key: string]: unknown;
450
- })[] | undefined;
451
- mask?: ({
452
- file_id?: string | null;
453
- url?: string | null;
454
- file_uri?: string | null;
455
- mime_type?: string | null;
456
- metadata?: {
457
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
458
- };
459
- vision_class?: string | null;
460
- base64_data?: string | null;
461
- resolved_url?: string | null;
462
- file_size?: number | null;
463
- owner_id?: string | null;
464
- is_ours?: boolean;
465
- resolver_error?: string | null;
466
- is_resolved?: boolean;
467
- } & {
468
- [key: string]: unknown;
469
- }) | undefined;
470
- last_frame_image?: ({
471
- file_id?: string | null;
472
- url?: string | null;
473
- file_uri?: string | null;
474
- mime_type?: string | null;
475
- metadata?: {
476
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
477
- };
478
- vision_class?: string | null;
479
- base64_data?: string | null;
480
- resolved_url?: string | null;
481
- file_size?: number | null;
482
- owner_id?: string | null;
483
- is_ours?: boolean;
484
- resolver_error?: string | null;
485
- is_resolved?: boolean;
486
- } & {
487
- [key: string]: unknown;
488
- }) | undefined;
489
- video_input?: ({
490
- file_id?: string | null;
491
- url?: string | null;
492
- file_uri?: string | null;
493
- mime_type?: string | null;
494
- metadata?: {
495
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
496
- };
497
- vision_class?: string | null;
498
- base64_data?: string | null;
499
- resolved_url?: string | null;
500
- file_size?: number | null;
501
- owner_id?: string | null;
502
- is_ours?: boolean;
503
- resolver_error?: string | null;
504
- is_resolved?: boolean;
505
- } & {
506
- [key: string]: unknown;
507
- }) | undefined;
508
- video_action?: NonNullable<"edit" | "extend" | "generate" | null | undefined> | undefined;
509
- custom_tools?: {
510
- name: string;
511
- description?: string;
512
- input_schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["CustomToolInputSchema"];
513
- }[] | undefined;
514
- mcp_servers?: string[] | undefined;
515
- compaction_settings?: {
516
- tier2_minimal_prune?: boolean | null;
517
- tier3_content_to_retrieval?: boolean | null;
518
- tier4_threshold_trim?: boolean | null;
519
- tier5_hard_compression?: boolean | null;
520
- } | undefined;
521
- detected_contexts?: {
522
- [key: string]: string;
523
- } | undefined;
524
- dictionary?: {
525
- entries?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["DictionaryEntry"][];
526
- custom_entries?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["DictionaryEntry"][];
527
- max_inline_chars?: number | null;
528
- source_count?: number;
529
- glossary?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["GlossaryEntry"][];
530
- context?: string | null;
531
- } | undefined;
532
- tts_quality?: NonNullable<"fast" | "high_quality" | null | undefined> | undefined;
533
- max_tokens?: number | undefined;
534
- n?: number | undefined;
535
- num_outputs?: number | undefined;
536
- number_of_images?: number | undefined;
537
- quality?: NonNullable<"auto" | "high" | "low" | "medium" | null | undefined> | undefined;
538
- output_quality?: number | undefined;
539
- seconds?: number | undefined;
540
- duration?: number | undefined;
541
- } | null;
542
- rawVariableDefaults: AgentVariable[] | null;
543
- }, {
544
- agentId: string;
545
- source: AgentSource;
546
- context?: AgentContext;
547
- data: {
548
- settings?: AgentSettings | null;
549
- variable_defaults?: AgentVariable[] | null;
550
- };
551
- }, import("@reduxjs/toolkit").AsyncThunkConfig>;
552
- /**
553
- * Core model switch thunk — contains ALL the intelligence.
554
- *
555
- * Steps:
556
- * 1. Get new model from the model catalog's records
557
- * 2. Parse its controls → NormalizedControls
558
- * 3. Extract its defaults
559
- * 4. Get current effective settings from state
560
- * 5. Detect conflicts between current settings and new model's capabilities
561
- * 6. Store PendingModelSwitch in state for the UI to present
562
- *
563
- * The UI reads pendingSwitch from the slice and dispatches resolution actions.
564
- * No model change is applied until confirmModelSwitch is dispatched.
565
- */
566
- export declare const requestModelSwitch: import("@reduxjs/toolkit").AsyncThunk<{
567
- agentId: string;
568
- pendingSwitch: {
569
- prevModelId: string;
570
- prevModelName: string;
571
- newModelId: string;
572
- newModelName: string;
573
- conflicts: import("./types.js").ConflictItem[];
574
- supportedKeys: ("aspect_ratio" | "audio_format" | "background" | "camera_control" | "clear_thinking" | "compaction_settings" | "count" | "custom_tools" | "detected_contexts" | "dictionary" | "disable_reasoning" | "disable_safety_checker" | "duration" | "duration_seconds" | "encode_quality" | "enhance_prompt" | "fps" | "frame_images" | "generate_audio" | "guidance_scale" | "height" | "image_input" | "image_inputs" | "image_loras" | "include_thoughts" | "input_fidelity" | "internal_url_context" | "internal_web_search" | "internal_x_search" | "language_code" | "last_frame_image" | "mask" | "max_output_tokens" | "max_tokens" | "mcp_servers" | "model" | "moderation" | "n" | "negative_prompt" | "num_outputs" | "number_of_images" | "offering_id" | "output_compression" | "output_format" | "output_quality" | "parallel_tool_calls" | "partial_images" | "performance_direction" | "previous_interaction_id" | "quality" | "reasoning_effort" | "reasoning_summary" | "reference_images" | "reference_strength" | "render_quality" | "resolution" | "response_format" | "seconds" | "seed" | "speech_speed" | "steps" | "stop_sequences" | "store" | "stream" | "style" | "task" | "temperature" | "thinking_budget" | "thinking_level" | "tool_choice" | "top_k" | "top_p" | "tts_quality" | "tts_voice" | "turn_pause_ms" | "verbosity" | "video_action" | "video_input" | "visualization" | "width")[];
575
- newModelControls: import("./types.js").NormalizedControls;
576
- mode: ResolutionMode;
577
- customActions: {};
578
- offeringId?: string | undefined;
579
- };
580
- newDefaults: Partial<{
581
- model?: string | undefined;
582
- offering_id?: string | undefined;
583
- max_output_tokens?: number | undefined;
584
- temperature?: number | undefined;
585
- top_p?: number | undefined;
586
- top_k?: number | undefined;
587
- tool_choice?: NonNullable<"auto" | "none" | "required" | null | undefined> | undefined;
588
- parallel_tool_calls?: NonNullable<boolean | null | undefined> | undefined;
589
- reasoning_effort?: NonNullable<"auto" | "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null | undefined> | undefined;
590
- reasoning_summary?: NonNullable<"always" | "auto" | "concise" | "detailed" | "never" | null | undefined> | undefined;
591
- visualization?: NonNullable<"auto" | "off" | null | undefined> | undefined;
592
- thinking_level?: NonNullable<"high" | "low" | "medium" | "minimal" | null | undefined> | undefined;
593
- include_thoughts?: NonNullable<boolean | null | undefined> | undefined;
594
- thinking_budget?: number | undefined;
595
- clear_thinking?: NonNullable<boolean | null | undefined> | undefined;
596
- disable_reasoning?: NonNullable<boolean | null | undefined> | undefined;
597
- response_format?: NonNullable<{
598
- type: "json_object";
599
- } | {
600
- type: "json_schema";
601
- json_schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["OutputSchemaEnvelope"] | null;
602
- name?: string | null;
603
- schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonSchemaObjectDocument"] | null;
604
- strict?: boolean | null;
605
- } | {
606
- type: "text";
607
- } | null | undefined> | undefined;
608
- stop_sequences?: string[] | undefined;
609
- stream?: NonNullable<boolean | null | undefined> | undefined;
610
- store?: NonNullable<boolean | null | undefined> | undefined;
611
- previous_interaction_id?: string | undefined;
612
- task?: NonNullable<"edit" | "image_to_video" | "reference_to_video" | "text_to_video" | null | undefined> | undefined;
613
- verbosity?: NonNullable<"high" | "low" | "medium" | null | undefined> | undefined;
614
- internal_web_search?: NonNullable<boolean | null | undefined> | undefined;
615
- internal_url_context?: NonNullable<boolean | null | undefined> | undefined;
616
- internal_x_search?: NonNullable<boolean | null | undefined> | undefined;
617
- aspect_ratio?: NonNullable<"16:9" | "1:1" | "21:9" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | null | undefined> | undefined;
618
- width?: number | undefined;
619
- height?: number | undefined;
620
- count?: number | undefined;
621
- render_quality?: NonNullable<"auto" | "high" | "low" | "medium" | null | undefined> | undefined;
622
- background?: NonNullable<"auto" | "opaque" | "transparent" | null | undefined> | undefined;
623
- output_compression?: number | undefined;
624
- moderation?: NonNullable<"auto" | "low" | null | undefined> | undefined;
625
- input_fidelity?: NonNullable<"high" | "low" | null | undefined> | undefined;
626
- partial_images?: number | undefined;
627
- style?: NonNullable<"natural" | "vivid" | null | undefined> | undefined;
628
- reference_strength?: number | undefined;
629
- tts_voice?: NonNullable<string | {
630
- text: string;
631
- voice_id: string;
632
- }[] | {
633
- name: string;
634
- voice: string;
635
- gender?: string;
636
- }[] | null | undefined> | undefined;
637
- audio_format?: NonNullable<"aac" | "alaw" | "flac" | "mp3" | "mulaw" | "ogg" | "opus" | "pcm" | "wav" | null | undefined> | undefined;
638
- performance_direction?: string | undefined;
639
- speech_speed?: number | undefined;
640
- turn_pause_ms?: number | undefined;
641
- language_code?: string | undefined;
642
- duration_seconds?: number | undefined;
643
- resolution?: NonNullable<"1080p" | "1K" | "2K" | "480p" | "4K" | "4k" | "720p" | null | undefined> | undefined;
644
- fps?: number | undefined;
645
- steps?: number | undefined;
646
- seed?: number | undefined;
647
- guidance_scale?: number | undefined;
648
- encode_quality?: number | undefined;
649
- negative_prompt?: string | undefined;
650
- output_format?: NonNullable<"base64" | "jpeg" | "json_object" | "json_schema" | "png" | "text" | "url" | "webp" | null | undefined> | undefined;
651
- frame_images?: ({
652
- file_id?: string | null;
653
- url?: string | null;
654
- file_uri?: string | null;
655
- mime_type?: string | null;
656
- metadata?: {
657
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
658
- };
659
- vision_class?: string | null;
660
- base64_data?: string | null;
661
- resolved_url?: string | null;
662
- file_size?: number | null;
663
- owner_id?: string | null;
664
- is_ours?: boolean;
665
- resolver_error?: string | null;
666
- is_resolved?: boolean;
667
- } & {
668
- [key: string]: unknown;
669
- })[] | undefined;
670
- reference_images?: ({
671
- file_id?: string | null;
672
- url?: string | null;
673
- file_uri?: string | null;
674
- mime_type?: string | null;
675
- metadata?: {
676
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
677
- };
678
- vision_class?: string | null;
679
- base64_data?: string | null;
680
- resolved_url?: string | null;
681
- file_size?: number | null;
682
- owner_id?: string | null;
683
- is_ours?: boolean;
684
- resolver_error?: string | null;
685
- is_resolved?: boolean;
686
- } & {
687
- [key: string]: unknown;
688
- })[] | undefined;
689
- image_loras?: {
690
- path: string;
691
- scale: number;
692
- }[] | undefined;
693
- disable_safety_checker?: NonNullable<boolean | null | undefined> | undefined;
694
- generate_audio?: NonNullable<boolean | null | undefined> | undefined;
695
- enhance_prompt?: NonNullable<boolean | null | undefined> | undefined;
696
- camera_control?: {
697
- [key: string]: unknown;
698
- } | undefined;
699
- image_input?: ({
700
- file_id?: string | null;
701
- url?: string | null;
702
- file_uri?: string | null;
703
- mime_type?: string | null;
704
- metadata?: {
705
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
706
- };
707
- vision_class?: string | null;
708
- base64_data?: string | null;
709
- resolved_url?: string | null;
710
- file_size?: number | null;
711
- owner_id?: string | null;
712
- is_ours?: boolean;
713
- resolver_error?: string | null;
714
- is_resolved?: boolean;
715
- } & {
716
- [key: string]: unknown;
717
- }) | undefined;
718
- image_inputs?: ({
719
- file_id?: string | null;
720
- url?: string | null;
721
- file_uri?: string | null;
722
- mime_type?: string | null;
723
- metadata?: {
724
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
725
- };
726
- vision_class?: string | null;
727
- base64_data?: string | null;
728
- resolved_url?: string | null;
729
- file_size?: number | null;
730
- owner_id?: string | null;
731
- is_ours?: boolean;
732
- resolver_error?: string | null;
733
- is_resolved?: boolean;
734
- } & {
735
- [key: string]: unknown;
736
- })[] | undefined;
737
- mask?: ({
738
- file_id?: string | null;
739
- url?: string | null;
740
- file_uri?: string | null;
741
- mime_type?: string | null;
742
- metadata?: {
743
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
744
- };
745
- vision_class?: string | null;
746
- base64_data?: string | null;
747
- resolved_url?: string | null;
748
- file_size?: number | null;
749
- owner_id?: string | null;
750
- is_ours?: boolean;
751
- resolver_error?: string | null;
752
- is_resolved?: boolean;
753
- } & {
754
- [key: string]: unknown;
755
- }) | undefined;
756
- last_frame_image?: ({
757
- file_id?: string | null;
758
- url?: string | null;
759
- file_uri?: string | null;
760
- mime_type?: string | null;
761
- metadata?: {
762
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
763
- };
764
- vision_class?: string | null;
765
- base64_data?: string | null;
766
- resolved_url?: string | null;
767
- file_size?: number | null;
768
- owner_id?: string | null;
769
- is_ours?: boolean;
770
- resolver_error?: string | null;
771
- is_resolved?: boolean;
772
- } & {
773
- [key: string]: unknown;
774
- }) | undefined;
775
- video_input?: ({
776
- file_id?: string | null;
777
- url?: string | null;
778
- file_uri?: string | null;
779
- mime_type?: string | null;
780
- metadata?: {
781
- [key: string]: import("@ai-matrx/agents/generated/api-types").components["schemas"]["JsonValue"];
782
- };
783
- vision_class?: string | null;
784
- base64_data?: string | null;
785
- resolved_url?: string | null;
786
- file_size?: number | null;
787
- owner_id?: string | null;
788
- is_ours?: boolean;
789
- resolver_error?: string | null;
790
- is_resolved?: boolean;
791
- } & {
792
- [key: string]: unknown;
793
- }) | undefined;
794
- video_action?: NonNullable<"edit" | "extend" | "generate" | null | undefined> | undefined;
795
- custom_tools?: {
796
- name: string;
797
- description?: string;
798
- input_schema?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["CustomToolInputSchema"];
799
- }[] | undefined;
800
- mcp_servers?: string[] | undefined;
801
- compaction_settings?: {
802
- tier2_minimal_prune?: boolean | null;
803
- tier3_content_to_retrieval?: boolean | null;
804
- tier4_threshold_trim?: boolean | null;
805
- tier5_hard_compression?: boolean | null;
806
- } | undefined;
807
- detected_contexts?: {
808
- [key: string]: string;
809
- } | undefined;
810
- dictionary?: {
811
- entries?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["DictionaryEntry"][];
812
- custom_entries?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["DictionaryEntry"][];
813
- max_inline_chars?: number | null;
814
- source_count?: number;
815
- glossary?: import("@ai-matrx/agents/generated/api-types").components["schemas"]["GlossaryEntry"][];
816
- context?: string | null;
817
- } | undefined;
818
- tts_quality?: NonNullable<"fast" | "high_quality" | null | undefined> | undefined;
819
- max_tokens?: number | undefined;
820
- n?: number | undefined;
821
- num_outputs?: number | undefined;
822
- number_of_images?: number | undefined;
823
- quality?: NonNullable<"auto" | "high" | "low" | "medium" | null | undefined> | undefined;
824
- output_quality?: number | undefined;
825
- seconds?: number | undefined;
826
- duration?: number | undefined;
827
- }>;
828
- }, {
829
- agentId: string;
830
- newModelId: string;
831
- /** The new model's class picked in the same gesture (applied on confirm). */
832
- offeringId?: string;
833
- }, import("@reduxjs/toolkit").AsyncThunkConfig>;
834
- /**
835
- * Save agent settings to the database.
836
- * Context-aware:
837
- * - 'builder': merges overrides into defaults, writes to DB
838
- * - 'chat': no DB write (overrides are session-ephemeral)
839
- * - 'test': no-op (in-memory only)
840
- */
841
- export declare const saveAgentSettings: import("@reduxjs/toolkit").AsyncThunk<{
842
- agentId: string;
843
- savedAt: null;
844
- } | {
845
- agentId: string;
846
- savedAt: string;
847
- }, {
848
- agentId: string;
849
- }, import("@reduxjs/toolkit").AsyncThunkConfig>;
850
- export declare const agentSettingsActions: import("@reduxjs/toolkit").CaseReducerActions<{
851
- /**
852
- * Directly initialize an entry (synchronous — data already available).
853
- * Useful for test context or when the data comes from another slice.
854
- */
855
- initializeAgent(state: AgentSettingsState, action: PayloadAction<{
856
- agentId: string;
857
- source: AgentSource;
858
- context: AgentContext;
859
- settings?: Partial<AgentSettings> | null;
860
- variable_defaults?: AgentVariable[] | null;
861
- }>): void;
862
- setActiveAgent(state: AgentSettingsState, action: PayloadAction<string | null>): void;
863
- removeAgent(state: AgentSettingsState, action: PayloadAction<string>): void;
864
- /**
865
- * Set a single field override. Marks isDirty.
866
- * For 'builder' context use updateDefaults instead.
867
- */
868
- setOverride(state: AgentSettingsState, action: PayloadAction<{
869
- agentId: string;
870
- field: keyof AgentSettings;
871
- value: AgentSettings[keyof AgentSettings];
872
- }>): void;
873
- /**
874
- * Apply a full settings object from the dialog. The diff against defaults
875
- * is computed internally — only true overrides are stored.
876
- */
877
- applySettingsFromDialog(state: AgentSettingsState, action: PayloadAction<{
878
- agentId: string;
879
- newSettings: Partial<AgentSettings>;
880
- }>): void;
881
- resetOverride(state: AgentSettingsState, action: PayloadAction<{
882
- agentId: string;
883
- field: keyof AgentSettings;
884
- }>): void;
885
- resetAllOverrides(state: AgentSettingsState, action: PayloadAction<string>): void;
886
- /**
887
- * Directly update defaults (builder mode — no override tracking).
888
- * Marks isDirty so the save button activates.
889
- */
890
- updateDefaults(state: AgentSettingsState, action: PayloadAction<{
891
- agentId: string;
892
- settings: Partial<AgentSettings>;
893
- }>): void;
894
- addVariable(state: AgentSettingsState, action: PayloadAction<{
895
- agentId: string;
896
- variable: AgentVariable;
897
- }>): void;
898
- updateVariable(state: AgentSettingsState, action: PayloadAction<{
899
- agentId: string;
900
- name: string;
901
- updates: Partial<AgentVariable>;
902
- }>): void;
903
- removeVariable(state: AgentSettingsState, action: PayloadAction<{
904
- agentId: string;
905
- name: string;
906
- }>): void;
907
- setVariableOverride(state: AgentSettingsState, action: PayloadAction<{
908
- agentId: string;
909
- name: string;
910
- value: string;
911
- }>): void;
912
- resetVariableOverride(state: AgentSettingsState, action: PayloadAction<{
913
- agentId: string;
914
- name: string;
915
- }>): void;
916
- resetAllVariableOverrides(state: AgentSettingsState, action: PayloadAction<string>): void;
917
- /**
918
- * Change the resolution mode while the conflict dialog is open.
919
- * Triggers re-render of the previewed resolved settings via selector.
920
- */
921
- setResolutionMode(state: AgentSettingsState, action: PayloadAction<{
922
- agentId: string;
923
- mode: ResolutionMode;
924
- }>): void;
925
- /**
926
- * Toggle a single conflict's action when mode is 'custom'.
927
- * Automatically promotes mode to 'custom' if needed.
928
- */
929
- setCustomConflictAction(state: AgentSettingsState, action: PayloadAction<{
930
- agentId: string;
931
- key: keyof AgentSettings;
932
- conflictAction: ConflictAction;
933
- }>): void;
934
- /**
935
- * Confirm the pending model switch.
936
- * Resolves conflicts using current mode/customActions and applies the result.
937
- *
938
- * - In 'builder': updates defaults directly (the canonical state)
939
- * - In 'chat'/'test': updates overrides with the model change + resolved settings
940
- */
941
- confirmModelSwitch(state: AgentSettingsState, action: PayloadAction<string>): void;
942
- /**
943
- * Cancel the pending model switch — revert to previous model, clear pendingSwitch.
944
- */
945
- cancelModelSwitch(state: AgentSettingsState, action: PayloadAction<string>): void;
946
- setLoading(state: AgentSettingsState, action: PayloadAction<{
947
- agentId: string;
948
- value: boolean;
949
- }>): void;
950
- setSaving(state: AgentSettingsState, action: PayloadAction<{
951
- agentId: string;
952
- value: boolean;
953
- }>): void;
954
- setError(state: AgentSettingsState, action: PayloadAction<{
955
- agentId: string;
956
- error: string | null;
957
- }>): void;
958
- clearError(state: AgentSettingsState, action: PayloadAction<string>): void;
959
- }, "agentSettings">;
960
- export declare const initializeAgent: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
961
- agentId: string;
962
- source: AgentSource;
963
- context: AgentContext;
964
- settings?: Partial<AgentSettings> | null;
965
- variable_defaults?: AgentVariable[] | null;
966
- }, "agentSettings/initializeAgent">, setActiveAgent: import("@reduxjs/toolkit").ActionCreatorWithPayload<string | null, "agentSettings/setActiveAgent">, removeAgent: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "agentSettings/removeAgent">, setOverride: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
967
- agentId: string;
968
- field: keyof AgentSettings;
969
- value: AgentSettings[keyof AgentSettings];
970
- }, "agentSettings/setOverride">, applySettingsFromDialog: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
971
- agentId: string;
972
- newSettings: Partial<AgentSettings>;
973
- }, "agentSettings/applySettingsFromDialog">, resetOverride: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
974
- agentId: string;
975
- field: keyof AgentSettings;
976
- }, "agentSettings/resetOverride">, resetAllOverrides: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "agentSettings/resetAllOverrides">, updateDefaults: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
977
- agentId: string;
978
- settings: Partial<AgentSettings>;
979
- }, "agentSettings/updateDefaults">, addVariable: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
980
- agentId: string;
981
- variable: AgentVariable;
982
- }, "agentSettings/addVariable">, updateVariable: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
983
- agentId: string;
984
- name: string;
985
- updates: Partial<AgentVariable>;
986
- }, "agentSettings/updateVariable">, removeVariable: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
987
- agentId: string;
988
- name: string;
989
- }, "agentSettings/removeVariable">, setVariableOverride: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
990
- agentId: string;
991
- name: string;
992
- value: string;
993
- }, "agentSettings/setVariableOverride">, resetVariableOverride: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
994
- agentId: string;
995
- name: string;
996
- }, "agentSettings/resetVariableOverride">, resetAllVariableOverrides: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "agentSettings/resetAllVariableOverrides">, setResolutionMode: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
997
- agentId: string;
998
- mode: ResolutionMode;
999
- }, "agentSettings/setResolutionMode">, setCustomConflictAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
1000
- agentId: string;
1001
- key: keyof AgentSettings;
1002
- conflictAction: ConflictAction;
1003
- }, "agentSettings/setCustomConflictAction">, confirmModelSwitch: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "agentSettings/confirmModelSwitch">, cancelModelSwitch: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "agentSettings/cancelModelSwitch">, setLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
1004
- agentId: string;
1005
- value: boolean;
1006
- }, "agentSettings/setLoading">, setSaving: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
1007
- agentId: string;
1008
- value: boolean;
1009
- }, "agentSettings/setSaving">, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
1010
- agentId: string;
1011
- error: string | null;
1012
- }, "agentSettings/setError">, clearError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "agentSettings/clearError">;
1013
- declare const _default: import("redux").Reducer<AgentSettingsState>;
1014
- export default _default;
1015
- export { buildApiPayload, detectConflicts, extractModelDefaults, getActionForMode, mergeEffectiveSettings, mergeVariableValues, parseModelControls, resolveConflicts, sanitizeSettings, computeOverrideDiff, PARAM_ALIASES, } from "./internal-utils.js";