@ai-matrx/chat 0.7.25 → 0.7.26
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.
- package/CHANGELOG.md +6 -0
- package/dist/agents/components/inputs/smart-input/InputActionButtons.d.ts +2 -2
- package/dist/agents/components/inputs/smart-input/InputActionButtons.js +1 -3
- package/dist/agents/components/inputs/smart-input/SmartAgentInputStacked.js +3 -8
- package/dist/agents/components/messages-display/assistant/AssistantMessageFooter.js +2 -4
- package/dist/agents/components/shared/transcript-layout.d.ts +6 -7
- package/dist/agents/components/shared/transcript-layout.js +2 -2
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ai-matrx/chat
|
|
2
2
|
|
|
3
|
+
## 0.7.26
|
|
4
|
+
|
|
5
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
6
|
+
`git diff npm/chat/v0.7.25..npm/chat/v0.7.26 -- apps/shared/chat`).
|
|
7
|
+
No source changes intended and no consumer action required.
|
|
8
|
+
|
|
3
9
|
## 0.7.25
|
|
4
10
|
|
|
5
11
|
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
@@ -58,9 +58,9 @@ interface InputActionButtonsProps {
|
|
|
58
58
|
* audio) live in the + menu; Output and Effort in the agent pill's menu.
|
|
59
59
|
*/
|
|
60
60
|
folded?: boolean;
|
|
61
|
-
/**
|
|
61
|
+
/** Compact's row under the card: after + · mic (· live audio). */
|
|
62
62
|
leading?: React.ReactNode;
|
|
63
|
-
/**
|
|
63
|
+
/** Compact's row under the card: the right end (agent · output · effort). */
|
|
64
64
|
trailing?: React.ReactNode;
|
|
65
65
|
/**
|
|
66
66
|
* Which part this instance draws. Compact mounts two: `"send"` (↵, inside
|
|
@@ -202,11 +202,9 @@ function InputActionButtons({
|
|
|
202
202
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
203
203
|
plusMenu,
|
|
204
204
|
database ? /* @__PURE__ */ jsx(DesktopPresenceIndicator, { conversationId }) : null,
|
|
205
|
-
variablesToggle
|
|
206
|
-
composer.leading
|
|
205
|
+
variablesToggle
|
|
207
206
|
] }),
|
|
208
207
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
209
|
-
composer.trailing,
|
|
210
208
|
extraRightControls,
|
|
211
209
|
micGroup,
|
|
212
210
|
liveAudioButton,
|
|
@@ -20,7 +20,7 @@ import { Button } from "@ai-matrx/design-system";
|
|
|
20
20
|
import { cn } from "@ai-matrx/design-system";
|
|
21
21
|
import { composerShows } from "./composer/composer-mode-visibility.js";
|
|
22
22
|
import { ComposerChipsRow } from "./composer/ComposerChipsRow.js";
|
|
23
|
-
import { ComposerPills, ComposerScopeCluster, ComposerValueGroupChip } from "./composer/ComposerMetaRow.js";
|
|
23
|
+
import { ComposerMetaRow, ComposerPills, ComposerScopeCluster, ComposerValueGroupChip } from "./composer/ComposerMetaRow.js";
|
|
24
24
|
import { useComposerFold } from "./composer/useComposerFold.js";
|
|
25
25
|
import { useTouchOnlyDevice } from "../../../../ui/composer/useTouchOnlyDevice.js";
|
|
26
26
|
function SmartAgentInputStacked({
|
|
@@ -323,12 +323,7 @@ function SmartAgentInputStacked({
|
|
|
323
323
|
onVoiceBusyChange: setVoiceBusy,
|
|
324
324
|
extraRightControls,
|
|
325
325
|
onRequestInputExpand: () => setExpandRequestKey((key) => key + 1),
|
|
326
|
-
composer:
|
|
327
|
-
...composerParts,
|
|
328
|
-
// The pills live in the card's own bar: no strip under the card (rule: existing bars).
|
|
329
|
-
leading: composer.meta === "none" ? void 0 : /* @__PURE__ */ jsx(ComposerScopeCluster, { conversationId, composer, folded }),
|
|
330
|
-
trailing: composer.meta === "none" ? void 0 : /* @__PURE__ */ jsx(ComposerPills, { conversationId, composer, menuSide, folded })
|
|
331
|
-
}
|
|
326
|
+
composer: composerParts
|
|
332
327
|
}
|
|
333
328
|
)
|
|
334
329
|
] })
|
|
@@ -349,7 +344,7 @@ function SmartAgentInputStacked({
|
|
|
349
344
|
trailing: composer.meta === "none" ? void 0 : /* @__PURE__ */ jsx(ComposerPills, { conversationId, composer, menuSide, folded })
|
|
350
345
|
}
|
|
351
346
|
}
|
|
352
|
-
) : null
|
|
347
|
+
) : composer.meta === "none" ? null : /* @__PURE__ */ jsx(ComposerMetaRow, { conversationId, composer, menuSide, folded })
|
|
353
348
|
]
|
|
354
349
|
}
|
|
355
350
|
);
|
|
@@ -165,7 +165,7 @@ function AssistantMessageFooter(props) {
|
|
|
165
165
|
isLatestAssistant
|
|
166
166
|
} = useAssistantMessageActions(props);
|
|
167
167
|
const answerActions = useTranscriptLayout().answerActions;
|
|
168
|
-
const isHoverOnly = answerActions === "hover" ||
|
|
168
|
+
const isHoverOnly = answerActions === "hover" || density === "compact" && !isLatestAssistant;
|
|
169
169
|
const rowRef = useRef(null);
|
|
170
170
|
useEffect(() => {
|
|
171
171
|
const row = rowRef.current;
|
|
@@ -183,9 +183,7 @@ function AssistantMessageFooter(props) {
|
|
|
183
183
|
{
|
|
184
184
|
className: cn(
|
|
185
185
|
"transition-opacity",
|
|
186
|
-
isHoverOnly &&
|
|
187
|
-
// nothing. A touch screen has no hover, so it is always visible there.
|
|
188
|
-
"opacity-0 group-hover/assistant-msg:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100"
|
|
186
|
+
isHoverOnly && "opacity-0 group-hover/assistant-msg:opacity-100 focus-within:opacity-100"
|
|
189
187
|
),
|
|
190
188
|
children: [
|
|
191
189
|
/* @__PURE__ */ jsxs(
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* How a host lays the ONE conversation column out (HOST-OWNED-SOURCE-PLAN P28e look bar).
|
|
3
3
|
*
|
|
4
|
-
* Knobs, never forks:
|
|
5
|
-
*
|
|
4
|
+
* Knobs, never forks: every value has today's web default, and a host that says nothing gets
|
|
5
|
+
* exactly the web chat. Matrx 2 (desktop) fills its pane, starts at the left edge and draws the
|
|
6
6
|
* person's turn as a compact block — the look its coding screen had before the column.
|
|
7
7
|
*
|
|
8
8
|
* - `width`: "reading" (the canonical `max-w-3xl` reading column) | "fill" (the host's pane).
|
|
9
9
|
* - `align`: "center" | "start" — where a reading-width column sits in a wider pane.
|
|
10
|
-
* - `userMessage`: "
|
|
11
|
-
*
|
|
10
|
+
* - `userMessage`: "card" (DEFAULT: the bordered card that collapses a long message behind a chevron) |
|
|
11
|
+
* "compact" (a flat tight block; only a genuinely long message collapses) |
|
|
12
12
|
* "bubble" (Messages / Xcode's coding assistant: the person's turn on the trailing side in a
|
|
13
13
|
* rounded bubble as wide as its words, answers full width; collapses like "compact").
|
|
14
|
-
* - `answerActions`: "
|
|
14
|
+
* - `answerActions`: "shown" (DEFAULT: the latest answer's action row always visible) | "hover" (the action row is revealed on hover / keyboard focus, and
|
|
15
15
|
* always on touch — its height is reserved, so revealing it moves nothing; a finished answer ends
|
|
16
|
-
* on its last word) | "latest" (the latest answer's row is always visible, older ones on hover)
|
|
17
|
-
* "shown" (every answer's row always visible).
|
|
16
|
+
* on its last word) | "latest" (the latest answer's row is always visible, older ones on hover).
|
|
18
17
|
*/
|
|
19
18
|
import { type ReactNode } from "react";
|
|
20
19
|
export interface TranscriptLayout {
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
const DEFAULT_TRANSCRIPT_LAYOUT = {
|
|
7
7
|
width: "reading",
|
|
8
8
|
align: "center",
|
|
9
|
-
userMessage: "
|
|
10
|
-
answerActions: "
|
|
9
|
+
userMessage: "card",
|
|
10
|
+
answerActions: "shown",
|
|
11
11
|
timestamps: "hover"
|
|
12
12
|
};
|
|
13
13
|
const TranscriptLayoutContext = createContext(DEFAULT_TRANSCRIPT_LAYOUT);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-matrx/chat",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.26",
|
|
4
4
|
"description": "THE one AI Matrx person-to-agent chat system: the full chat (running agents, conversations, tool calls, streaming, context, surfaces, voice) as explicit per-module subpaths @ai-matrx/chat/<domain>/<module> (no wildcards: scripts/public-modules.json) over a host contract (/host, /host/react) whose only required value is a db. One chat, one renderer: the old kernel entries (., /external-store, /matrx, /react, /tools, styles.css, tokens.css) are retired.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -4681,25 +4681,25 @@
|
|
|
4681
4681
|
"server-only": "^0.0.1",
|
|
4682
4682
|
"uuid": "^14.0.2",
|
|
4683
4683
|
"zod": "^4.6.5",
|
|
4684
|
+
"@ai-matrx/agents": "latest",
|
|
4684
4685
|
"@ai-matrx/alchemy": "latest",
|
|
4685
4686
|
"@ai-matrx/associations": "latest",
|
|
4686
|
-
"@ai-matrx/agents": "latest",
|
|
4687
4687
|
"@ai-matrx/browser-audio": "latest",
|
|
4688
|
-
"@ai-matrx/content-ir": "latest",
|
|
4689
4688
|
"@ai-matrx/canvas": "latest",
|
|
4690
|
-
"@ai-matrx/
|
|
4691
|
-
"@ai-matrx/diff": "latest",
|
|
4689
|
+
"@ai-matrx/content-ir": "latest",
|
|
4692
4690
|
"@ai-matrx/data": "latest",
|
|
4691
|
+
"@ai-matrx/design-system": "latest",
|
|
4692
|
+
"@ai-matrx/icons": "latest",
|
|
4693
4693
|
"@ai-matrx/kit": "latest",
|
|
4694
|
+
"@ai-matrx/diff": "latest",
|
|
4695
|
+
"@ai-matrx/print": "latest",
|
|
4694
4696
|
"@ai-matrx/media": "latest",
|
|
4695
4697
|
"@ai-matrx/realtime": "latest",
|
|
4696
|
-
"@ai-matrx/print": "latest",
|
|
4697
4698
|
"@ai-matrx/records": "latest",
|
|
4698
4699
|
"@ai-matrx/records-ui": "latest",
|
|
4699
4700
|
"@ai-matrx/rich-editor": "latest",
|
|
4700
|
-
"@ai-matrx/
|
|
4701
|
-
"@ai-matrx/
|
|
4702
|
-
"@ai-matrx/content-ir-react": "latest"
|
|
4701
|
+
"@ai-matrx/content-ir-react": "latest",
|
|
4702
|
+
"@ai-matrx/rich-content": "latest"
|
|
4703
4703
|
},
|
|
4704
4704
|
"devDependencies": {
|
|
4705
4705
|
"@arethetypeswrong/cli": "^0.18.5",
|
|
@@ -4818,5 +4818,5 @@
|
|
|
4818
4818
|
"check:side-effects": "node ../scripts/check-side-effects-listed.mjs . && node ../scripts/check-side-effects-listed.mjs --self-test",
|
|
4819
4819
|
"check:public-surface": "node ./scripts/sync-public-surface.mjs --check && node ./scripts/sync-public-surface.mjs --self-test"
|
|
4820
4820
|
},
|
|
4821
|
-
"gitHead": "
|
|
4821
|
+
"gitHead": "85239a779e29a035d5fb6c1f61d0f023d94927ca"
|
|
4822
4822
|
}
|