@morlay/ui-conversation-message-actions 0.0.19-alpha.6 → 0.0.19-alpha.7

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/locale/en.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Message Actions",
4
+ "description": "Rewind / retry / fork orchestration on the host side, plus the user-bubble renderer replacement in the browser."
5
+ }
6
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "消息动作",
4
+ "description": "host 侧的 rewind / retry / fork 编排,以及浏览器侧 user 消息气泡的渲染替换。"
5
+ }
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morlay/ui-conversation-message-actions",
3
- "version": "0.0.19-alpha.6",
3
+ "version": "0.0.19-alpha.7",
4
4
  "description": "Rewind / retry / fork orchestration (host) plus conversation.chat.node renderer replacement (browser) — message edit / retry actions on user bubbles.",
5
5
  "keywords": [
6
6
  "conversation-chat-node",
@@ -19,6 +19,7 @@
19
19
  "url": "https://github.com/morlay/dsh-plugin.git"
20
20
  },
21
21
  "files": [
22
+ "locale/*.json",
22
23
  "dist",
23
24
  "src",
24
25
  "cordis.patch.yml",
@@ -35,40 +36,41 @@
35
36
  "./client": {
36
37
  "types": "./dist/client.d.cts",
37
38
  "default": "./dist/client.cjs"
38
- }
39
+ },
40
+ "./locale/*.json": "./locale/*.json"
39
41
  },
40
42
  "dependencies": {
41
- "@morlay/session-branch": "0.0.10-alpha.6"
43
+ "@morlay/session-branch": "0.0.10-alpha.7"
42
44
  },
43
45
  "devDependencies": {
44
- "@deepseek-ai/dsh-session-stats": "0.1.7-alpha.1",
45
- "@morlay/dsh-client-ui-primitives": "0.0.2-alpha.6",
46
- "@morlay/session-rdb": "0.0.21-alpha.6",
46
+ "@deepseek-ai/dsh-session-stats": "0.1.7-alpha.2",
47
+ "@morlay/dsh-client-ui-primitives": "0.0.2-alpha.7",
48
+ "@morlay/session-rdb": "0.0.21-alpha.7",
47
49
  "@types/react": "~18.3.1",
48
50
  "@types/react-dom": "~18.3.0",
49
51
  "react": "^18.2.0",
50
52
  "react-dom": "^18.2.0"
51
53
  },
52
54
  "peerDependencies": {
53
- "@deepseek-ai/cordis": "4.0.3",
54
- "@deepseek-ai/dsh-api-session-controller": "0.1.7-alpha.1",
55
- "@deepseek-ai/dsh-attachment": "0.1.7-alpha.1",
56
- "@deepseek-ai/dsh-client-connection": "0.1.7-alpha.1",
57
- "@deepseek-ai/dsh-client-store": "0.1.7-alpha.1",
58
- "@deepseek-ai/dsh-client-ui-attachment": "0.1.7-alpha.1",
59
- "@deepseek-ai/dsh-client-ui-chat": "0.1.7-alpha.1",
60
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.7-alpha.1",
61
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-alpha.1",
62
- "@deepseek-ai/dsh-client-ui-slots": "0.1.7-alpha.1",
63
- "@deepseek-ai/dsh-client-ui-workspace": "0.1.7-alpha.1",
64
- "@deepseek-ai/dsh-invariants": "0.1.7-alpha.1",
65
- "@deepseek-ai/dsh-llm": "0.1.7-alpha.1",
66
- "@deepseek-ai/dsh-session": "0.1.7-alpha.1",
67
- "@deepseek-ai/dsh-session-persistence": "0.1.7-alpha.1",
68
- "@deepseek-ai/dsh-session-projection": "0.1.7-alpha.1",
69
- "@deepseek-ai/dsh-token-meter": "0.1.7-alpha.1",
70
- "@morlay/dsh-client-ui-conversation": "0.0.2-alpha.6",
71
- "@morlay/dsh-client-ui-primitives": "0.0.2-alpha.6"
55
+ "@deepseek-ai/cordis": "4.0.4",
56
+ "@deepseek-ai/dsh-api-session-controller": "0.1.7-alpha.2",
57
+ "@deepseek-ai/dsh-attachment": "0.1.7-alpha.2",
58
+ "@deepseek-ai/dsh-client-connection": "0.1.7-alpha.2",
59
+ "@deepseek-ai/dsh-client-store": "0.1.7-alpha.2",
60
+ "@deepseek-ai/dsh-client-ui-attachment": "0.1.7-alpha.2",
61
+ "@deepseek-ai/dsh-client-ui-chat": "0.1.7-alpha.2",
62
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.7-alpha.2",
63
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-alpha.2",
64
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.7-alpha.2",
65
+ "@deepseek-ai/dsh-client-ui-workspace": "0.1.7-alpha.2",
66
+ "@deepseek-ai/dsh-invariants": "0.1.7-alpha.2",
67
+ "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
68
+ "@deepseek-ai/dsh-session": "0.1.7-alpha.2",
69
+ "@deepseek-ai/dsh-session-persistence": "0.1.7-alpha.2",
70
+ "@deepseek-ai/dsh-session-projection": "0.1.7-alpha.2",
71
+ "@deepseek-ai/dsh-token-meter": "0.1.7-alpha.2",
72
+ "@morlay/dsh-client-ui-conversation": "0.0.2-alpha.7",
73
+ "@morlay/dsh-client-ui-primitives": "0.0.2-alpha.7"
72
74
  },
73
75
  "dsh": {
74
76
  "bundle": {
@@ -3,8 +3,9 @@
3
3
  // database pill (total tokens + cache hit) opening the token-usage dialog.
4
4
  // Settled-node identity prevents stream-delta updates from rerendering the row.
5
5
  // Carried from upstream ui-chat (composer.dock id 'stats', priority -1 shadows it)
6
- // so the fixed token-format (out-of-range cacheRead no longer hangs) stays wired;
7
- // data-composer-stats pairs with ui-conversation's InputBar `:has()` bottom clearance.
6
+ // so the fixed token-format (out-of-range cacheRead no longer hangs) stays wired.
7
+ // `data-composer-stats` stays as this row's stable anchor (style/test hooks) — the InputBar it once
8
+ // paired with is upstream's again, so nothing tightens the composer clearance off it any more.
8
9
 
9
10
  import { memo, useMemo, useState } from "react";
10
11
  import { createPortal } from "react-dom";
@@ -351,8 +352,7 @@ export const StatsPills = memo(function StatsPills({ useChat, useProjection, t }
351
352
  // billing (e.g. every request failed) shows its counts without a usage pill.
352
353
  const hasTokens = usage !== undefined && (billedInputTokens(usage) > 0 || usage.outputTokens > 0);
353
354
  if (stats.steps === 0 && !hasTokens) return null;
354
- // data-composer-stats: InputBar's `.root:has([data-composer-stats])` rule
355
- // tightens the composer's bottom clearance only while this row renders.
355
+ // data-composer-stats: 这一行的稳定锚点(样式 / 测试定位用)。
356
356
  return (
357
357
  <div {...styling.props(styles.root)} data-composer-stats>
358
358
  {stats.steps > 0 && (