@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,234 +0,0 @@
1
- import { createSelector } from "@reduxjs/toolkit";
2
- import {
3
- buildApiPayload,
4
- getActionForMode,
5
- mergeEffectiveSettings,
6
- mergeVariableValues,
7
- resolveConflicts
8
- } from "./internal-utils.js";
9
- const EMPTY_SETTINGS = {};
10
- const EMPTY_VARIABLES = [];
11
- const EMPTY_OVERRIDES = {};
12
- const EMPTY_FIELDS = [];
13
- const EMPTY_AGENT_SETTINGS_ENTRIES = {};
14
- const EMPTY_AVAILABLE_TOOLS = [];
15
- const selectEntry = (state, agentId) => state.agentSettings?.entries[agentId];
16
- const selectDefaults = (state, agentId) => state.agentSettings?.entries[agentId]?.defaults ?? EMPTY_SETTINGS;
17
- const selectOverrides = (state, agentId) => state.agentSettings?.entries[agentId]?.overrides ?? EMPTY_SETTINGS;
18
- const selectEffectiveSettings = createSelector(
19
- [
20
- (state, agentId) => state.agentSettings?.entries[agentId]?.defaults ?? EMPTY_SETTINGS,
21
- (state, agentId) => state.agentSettings?.entries[agentId]?.overrides ?? EMPTY_SETTINGS
22
- ],
23
- (defaults, overrides) => mergeEffectiveSettings(defaults, overrides)
24
- );
25
- const selectEffectiveModelId = createSelector(
26
- [
27
- (state, agentId) => state.agentSettings?.entries[agentId]?.overrides?.model,
28
- (state, agentId) => state.agentSettings?.entries[agentId]?.defaults?.model
29
- ],
30
- (overrideModelId, defaultModelId) => overrideModelId ?? defaultModelId ?? null
31
- );
32
- const selectPendingSwitch = (state, agentId) => state.agentSettings?.entries[agentId]?.pendingSwitch ?? null;
33
- const selectHasPendingSwitch = (state, agentId) => (state.agentSettings?.entries[agentId]?.pendingSwitch ?? null) !== null;
34
- const selectPreviewedResolution = createSelector(
35
- [
36
- (state, agentId) => state.agentSettings?.entries[agentId]?.defaults ?? EMPTY_SETTINGS,
37
- (state, agentId) => state.agentSettings?.entries[agentId]?.overrides ?? EMPTY_SETTINGS,
38
- (state, agentId) => state.agentSettings?.entries[agentId]?.pendingSwitch ?? null
39
- ],
40
- (defaults, overrides, pendingSwitch) => {
41
- if (!pendingSwitch) return null;
42
- const currentEffective = mergeEffectiveSettings(defaults, overrides);
43
- const resolved = resolveConflicts(currentEffective, pendingSwitch);
44
- return {
45
- ...resolved,
46
- model: pendingSwitch.newModelId
47
- };
48
- }
49
- );
50
- const selectConflictActions = createSelector(
51
- [
52
- (state, agentId) => state.agentSettings?.entries[agentId]?.pendingSwitch ?? null
53
- ],
54
- (pendingSwitch) => {
55
- if (!pendingSwitch) return {};
56
- const result = {};
57
- for (const conflict of pendingSwitch.conflicts) {
58
- result[conflict.key] = getActionForMode(
59
- pendingSwitch.mode,
60
- conflict,
61
- pendingSwitch.customActions
62
- );
63
- }
64
- return result;
65
- }
66
- );
67
- const selectConflictSummary = createSelector(
68
- [
69
- (state, agentId) => state.agentSettings?.entries[agentId]?.pendingSwitch ?? null
70
- ],
71
- (pendingSwitch) => {
72
- if (!pendingSwitch) {
73
- return {
74
- totalConflicts: 0,
75
- unsupportedCount: 0,
76
- invalidValueCount: 0,
77
- supportedCount: 0,
78
- willRemoveCount: 0,
79
- willResetCount: 0,
80
- willKeepCount: 0
81
- };
82
- }
83
- const { conflicts, mode, customActions, supportedKeys } = pendingSwitch;
84
- let willRemoveCount = 0;
85
- let willResetCount = 0;
86
- let willKeepCount = 0;
87
- for (const conflict of conflicts) {
88
- const action = getActionForMode(mode, conflict, customActions);
89
- if (action === "reset") {
90
- if (conflict.reason === "unsupported_key") {
91
- willRemoveCount++;
92
- } else {
93
- willResetCount++;
94
- }
95
- } else {
96
- willKeepCount++;
97
- }
98
- }
99
- return {
100
- totalConflicts: conflicts.length,
101
- unsupportedCount: conflicts.filter(
102
- (c) => c.reason === "unsupported_key"
103
- ).length,
104
- invalidValueCount: conflicts.filter(
105
- (c) => c.reason !== "unsupported_key"
106
- ).length,
107
- supportedCount: supportedKeys.length,
108
- willRemoveCount,
109
- willResetCount,
110
- willKeepCount
111
- };
112
- }
113
- );
114
- const selectApiPayload = createSelector(
115
- [
116
- (state, agentId) => mergeEffectiveSettings(
117
- state.agentSettings?.entries[agentId]?.defaults ?? EMPTY_SETTINGS,
118
- state.agentSettings?.entries[agentId]?.overrides ?? EMPTY_SETTINGS
119
- ),
120
- (state, agentId) => state.agentSettings?.entries[agentId]?.overrides ?? EMPTY_SETTINGS,
121
- (state, agentId) => state.agentSettings?.entries[agentId]?.context ?? "builder"
122
- ],
123
- (effectiveSettings, overrides, context) => buildApiPayload(effectiveSettings, overrides, context)
124
- );
125
- const selectHasOverrides = (state, agentId) => Object.keys(
126
- state.agentSettings?.entries[agentId]?.overrides ?? EMPTY_SETTINGS
127
- ).length > 0;
128
- const selectOverriddenFields = createSelector(
129
- [
130
- (state, agentId) => state.agentSettings?.entries[agentId]?.overrides ?? EMPTY_SETTINGS
131
- ],
132
- (overrides) => Object.keys(overrides)
133
- );
134
- const selectVariableDefaults = (state, agentId) => state.agentSettings?.entries[agentId]?.variable_defaults ?? EMPTY_VARIABLES;
135
- const selectVariableOverrides = (state, agentId) => state.agentSettings?.entries[agentId]?.variable_overrides ?? EMPTY_OVERRIDES;
136
- const selectHasVariables = (state, agentId) => (state.agentSettings?.entries[agentId]?.variable_defaults?.length ?? 0) > 0;
137
- const selectEffectiveVariableValues = createSelector(
138
- [
139
- (state, agentId) => state.agentSettings?.entries[agentId]?.variable_defaults ?? EMPTY_VARIABLES,
140
- (state, agentId) => state.agentSettings?.entries[agentId]?.variable_overrides ?? EMPTY_OVERRIDES
141
- ],
142
- (variableDefaults, variableOverrides) => mergeVariableValues(variableDefaults, variableOverrides)
143
- );
144
- const selectIsDirty = (state, agentId) => state.agentSettings?.entries[agentId]?.isDirty ?? false;
145
- const selectIsLoading = (state, agentId) => state.agentSettings?.entries[agentId]?.isLoading ?? false;
146
- const selectIsSaving = (state, agentId) => state.agentSettings?.entries[agentId]?.isSaving ?? false;
147
- const selectError = (state, agentId) => state.agentSettings?.entries[agentId]?.error ?? null;
148
- const selectContext = (state, agentId) => state.agentSettings?.entries[agentId]?.context ?? null;
149
- const selectSource = (state, agentId) => state.agentSettings?.entries[agentId]?.source ?? null;
150
- const selectLastFetchedAt = (state, agentId) => state.agentSettings?.entries[agentId]?.lastFetchedAt ?? null;
151
- const selectAgentStatus = createSelector(
152
- [
153
- (state, agentId) => state.agentSettings?.entries[agentId]?.isDirty ?? false,
154
- (state, agentId) => state.agentSettings?.entries[agentId]?.isLoading ?? false,
155
- (state, agentId) => state.agentSettings?.entries[agentId]?.isSaving ?? false,
156
- (state, agentId) => state.agentSettings?.entries[agentId]?.error ?? null,
157
- (state, agentId) => state.agentSettings?.entries[agentId]?.lastFetchedAt ?? null
158
- ],
159
- (isDirty, isLoading, isSaving, error, lastFetchedAt) => ({
160
- isDirty,
161
- isLoading,
162
- isSaving,
163
- error,
164
- lastFetchedAt
165
- })
166
- );
167
- const selectActiveAgentId = (state) => state.agentSettings?.activeAgentId ?? null;
168
- const selectActiveEffectiveSettings = createSelector(
169
- [
170
- (state) => state.agentSettings?.activeAgentId ?? null,
171
- (state) => state.agentSettings?.entries ?? EMPTY_AGENT_SETTINGS_ENTRIES
172
- ],
173
- (activeAgentId, entries) => {
174
- if (!activeAgentId) return EMPTY_SETTINGS;
175
- const entry = entries[activeAgentId];
176
- if (!entry) return EMPTY_SETTINGS;
177
- return mergeEffectiveSettings(entry.defaults, entry.overrides);
178
- }
179
- );
180
- const selectActiveModelId = createSelector(
181
- [
182
- (state) => state.agentSettings?.activeAgentId ?? null,
183
- (state) => state.agentSettings?.entries ?? EMPTY_AGENT_SETTINGS_ENTRIES
184
- ],
185
- (activeAgentId, entries) => {
186
- if (!activeAgentId) return null;
187
- const entry = entries[activeAgentId];
188
- if (!entry) return null;
189
- return entry.overrides?.model ?? entry.defaults?.model ?? null;
190
- }
191
- );
192
- const selectAllEntries = (state) => state.agentSettings?.entries ?? EMPTY_AGENT_SETTINGS_ENTRIES;
193
- const selectAllAgentIds = createSelector(
194
- [
195
- (state) => state.agentSettings?.entries ?? EMPTY_AGENT_SETTINGS_ENTRIES
196
- ],
197
- (entries) => Object.keys(entries)
198
- );
199
- const selectAvailableTools = (state) => state.agentSettings?.availableTools ?? EMPTY_AVAILABLE_TOOLS;
200
- const selectIsLoadingTools = (state) => state.agentSettings?.isLoadingTools ?? false;
201
- export {
202
- selectActiveAgentId,
203
- selectActiveEffectiveSettings,
204
- selectActiveModelId,
205
- selectAgentStatus,
206
- selectAllAgentIds,
207
- selectAllEntries,
208
- selectApiPayload,
209
- selectAvailableTools,
210
- selectConflictActions,
211
- selectConflictSummary,
212
- selectContext,
213
- selectDefaults,
214
- selectEffectiveModelId,
215
- selectEffectiveSettings,
216
- selectEffectiveVariableValues,
217
- selectEntry,
218
- selectError,
219
- selectHasOverrides,
220
- selectHasPendingSwitch,
221
- selectHasVariables,
222
- selectIsDirty,
223
- selectIsLoading,
224
- selectIsLoadingTools,
225
- selectIsSaving,
226
- selectLastFetchedAt,
227
- selectOverriddenFields,
228
- selectOverrides,
229
- selectPendingSwitch,
230
- selectPreviewedResolution,
231
- selectSource,
232
- selectVariableDefaults,
233
- selectVariableOverrides
234
- };
@@ -1,8 +0,0 @@
1
- import type { NormalizedControls } from "./types.js";
2
- /**
3
- * Parsed controls for an agent-settings entry's effective model, from the model catalog's
4
- * records: the pinned CLASS's controls when a pin is set and loaded (a model's classes run
5
- * through different APIs, so Lightning ≠ Fast), else the model's own. Null until the record
6
- * (full, with controls) is loaded.
7
- */
8
- export declare function useNormalizedControls(agentId: string): NormalizedControls | null;
@@ -1,24 +0,0 @@
1
- "use client";
2
- import { useMemo } from "react";
3
- import { selectModelById, selectModelClassConfig } from "@ai-matrx/agents/models";
4
- import { useAppSelector } from "../../../store/hooks.js";
5
- import { useModelRecords } from "../../identity/model-catalog.js";
6
- import { effectiveOfferingPinOf, parseModelControls } from "./internal-utils.js";
7
- function useNormalizedControls(agentId) {
8
- const modelId = useAppSelector((state) => {
9
- const entry = state.agentSettings?.entries[agentId];
10
- const id = entry?.overrides?.model ?? entry?.defaults?.model;
11
- return typeof id === "string" ? id : null;
12
- });
13
- const pin = useAppSelector((state) => effectiveOfferingPinOf(state.agentSettings?.entries[agentId]) ?? null);
14
- const model = useModelRecords((s) => selectModelById(s, modelId));
15
- const classConfig = useModelRecords((s) => selectModelClassConfig(s, modelId, pin));
16
- return useMemo(() => {
17
- if (!model) return null;
18
- const controls = classConfig ? classConfig.controls : model.controls;
19
- return parseModelControls(controls);
20
- }, [model, classConfig]);
21
- }
22
- export {
23
- useNormalizedControls
24
- };