@morlay/ui-conversation-message-actions 0.1.3 → 0.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morlay/ui-conversation-message-actions",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Rewind / retry / recall / fork orchestration (host) plus the browser half — replaces the conversation.chat.node user / steering rendering and overrides the conversation.composer.dock stats row.",
5
5
  "keywords": [
6
6
  "conversation-chat-node",
@@ -38,12 +38,13 @@
38
38
  "./locale/*.json": "./locale/*.json"
39
39
  },
40
40
  "dependencies": {
41
- "@morlay/session-branch": "0.1.3"
41
+ "@morlay/session-branch": "0.1.4"
42
42
  },
43
43
  "devDependencies": {
44
- "@deepseek-ai/dsh-session-stats": "0.2.0-rc.1",
45
- "@morlay/dsh-client-ui-primitives": "0.0.6",
46
- "@morlay/session-rdb": "0.1.3",
44
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2",
45
+ "@deepseek-ai/dsh-session-stats": "0.2.0-rc.2",
46
+ "@morlay/dsh-client-ui-primitives": "0.0.7",
47
+ "@morlay/session-rdb": "0.1.4",
47
48
  "@types/react": "~18.3.1",
48
49
  "@types/react-dom": "~18.3.0",
49
50
  "react": "^18.2.0",
@@ -51,24 +52,23 @@
51
52
  },
52
53
  "peerDependencies": {
53
54
  "@deepseek-ai/cordis": "^4.0.4",
54
- "@deepseek-ai/dsh-api-session-controller": "^0.2.0-rc.1",
55
- "@deepseek-ai/dsh-attachment": "^0.2.0-rc.1",
56
- "@deepseek-ai/dsh-client-connection": "^0.2.0-rc.1",
57
- "@deepseek-ai/dsh-client-store": "^0.2.0-rc.1",
58
- "@deepseek-ai/dsh-client-ui-attachment": "^0.2.0-rc.1",
59
- "@deepseek-ai/dsh-client-ui-chat": "^0.2.0-rc.1",
60
- "@deepseek-ai/dsh-client-ui-primitives": "^0.2.0-rc.1",
61
- "@deepseek-ai/dsh-client-ui-renderer": "^0.2.0-rc.1",
62
- "@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.1",
63
- "@deepseek-ai/dsh-client-ui-workspace": "^0.2.0-rc.1",
64
- "@deepseek-ai/dsh-invariants": "^0.2.0-rc.1",
65
- "@deepseek-ai/dsh-llm": "^0.2.0-rc.1",
66
- "@deepseek-ai/dsh-session": "^0.2.0-rc.1",
67
- "@deepseek-ai/dsh-session-persistence": "^0.2.0-rc.1",
68
- "@deepseek-ai/dsh-session-projection": "^0.2.0-rc.1",
69
- "@deepseek-ai/dsh-token-meter": "^0.2.0-rc.1",
70
- "@morlay/dsh-client-ui-conversation": "0.1.3",
71
- "@morlay/dsh-client-ui-primitives": "0.0.6"
55
+ "@deepseek-ai/dsh-api-session-controller": "^0.2.0-rc.2",
56
+ "@deepseek-ai/dsh-attachment": "^0.2.0-rc.2",
57
+ "@deepseek-ai/dsh-client-connection": "^0.2.0-rc.2",
58
+ "@deepseek-ai/dsh-client-store": "^0.2.0-rc.2",
59
+ "@deepseek-ai/dsh-client-ui-attachment": "^0.2.0-rc.2",
60
+ "@deepseek-ai/dsh-client-ui-chat": "^0.2.0-rc.2",
61
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.2.0-rc.2",
62
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.2.0-rc.2",
63
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.2.0-rc.2",
64
+ "@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.2",
65
+ "@deepseek-ai/dsh-client-ui-workspace": "^0.2.0-rc.2",
66
+ "@deepseek-ai/dsh-invariants": "^0.2.0-rc.2",
67
+ "@deepseek-ai/dsh-llm": "^0.2.0-rc.2",
68
+ "@deepseek-ai/dsh-session": "^0.2.0-rc.2",
69
+ "@deepseek-ai/dsh-session-persistence": "^0.2.0-rc.2",
70
+ "@deepseek-ai/dsh-session-projection": "^0.2.0-rc.2",
71
+ "@deepseek-ai/dsh-token-meter": "^0.2.0-rc.2"
72
72
  },
73
73
  "dsh": {
74
74
  "client": {
@@ -77,7 +77,7 @@
77
77
  "@deepseek-ai/dsh-client-connection",
78
78
  "@deepseek-ai/dsh-client-store",
79
79
  "@deepseek-ai/dsh-client-ui-workspace",
80
- "@morlay/dsh-client-ui-conversation",
80
+ "@deepseek-ai/dsh-client-ui-conversation",
81
81
  "@deepseek-ai/dsh-client-ui-chat"
82
82
  ]
83
83
  }
@@ -14,7 +14,7 @@ import { Button, Modal } from "@deepseek-ai/dsh-client-ui-primitives";
14
14
  import type { UserMessageNode } from "@deepseek-ai/dsh-client-ui-chat/client";
15
15
  import { JsonBlock } from "@deepseek-ai/dsh-client-ui-primitives";
16
16
  import type { ChatNodeViewProps, ChatViewSlotProps } from "@deepseek-ai/dsh-client-ui-chat/client";
17
- import type { RenderMessageImages } from "@morlay/dsh-client-ui-conversation/client";
17
+ import type { RenderMessageImages } from "@deepseek-ai/dsh-client-ui-conversation/client";
18
18
  import { MessageIconActions } from "./MessageIconActions.tsx";
19
19
  import { styles } from "./MessageItem.styles.ts";
20
20
  import type { EditableMessageBlock } from "../../shared.ts";
@@ -1,6 +1,6 @@
1
1
  import type { Context } from "@deepseek-ai/cordis";
2
2
  import type { SessionId } from "@deepseek-ai/dsh-session";
3
- import "@morlay/dsh-client-ui-conversation/client";
3
+ import type {} from "@deepseek-ai/dsh-client-ui-conversation/client";
4
4
  import type {} from "@deepseek-ai/dsh-client-ui-chat/client";
5
5
  import type {} from "@deepseek-ai/dsh-client-ui-renderer/client";
6
6
  import { UserMessageNodeView } from "./MessageItem.tsx";
@@ -1,6 +1,6 @@
1
1
  import type { Context } from "@deepseek-ai/cordis";
2
2
  import type {} from "@deepseek-ai/dsh-client-ui-chat/client";
3
- import type {} from "@morlay/dsh-client-ui-conversation/client";
3
+ import type {} from "@deepseek-ai/dsh-client-ui-conversation/client";
4
4
  import { StatsPills } from "./StatsPills.tsx";
5
5
 
6
6
  // 官方 ui-chat 的字典命名空间:文案沿用上游(`stats.*` / `message.turnUsage.*`)。
@@ -123,6 +123,7 @@ export class SessionEditorController {
123
123
  });
124
124
  }
125
125
 
126
+ // 撤回回填:写官方输入契约的草稿(`setDraft`)。拿不到输入面(会话没打开 / 面未就绪)就只撤回、不回填。
126
127
  private setComposerDraft(text: string): void {
127
128
  if (this.sessions.binding(this.sessionId) === undefined) return;
128
129
  const scoped = this.sessions.scope(this.sessionId);
@@ -130,10 +131,10 @@ export class SessionEditorController {
130
131
  const conversation = scoped.get("conversation") as
131
132
  | {
132
133
  input?: {
133
- for(ctx: ClientContext): { restoreDraft(draft: string): void };
134
+ for(ctx: ClientContext): { setDraft(draft: string): void };
134
135
  };
135
136
  }
136
137
  | undefined;
137
- conversation?.input?.for(scoped).restoreDraft(text);
138
+ conversation?.input?.for(scoped).setDraft(text);
138
139
  }
139
140
  }
@@ -1,17 +1,19 @@
1
1
  import type { Context } from "@deepseek-ai/cordis";
2
- import type {} from "@morlay/dsh-client-ui-conversation/client";
2
+ import type {} from "@deepseek-ai/dsh-client-ui-conversation/client";
3
3
  import type {} from "@deepseek-ai/dsh-client-ui-chat/client";
4
4
  import type {} from "@deepseek-ai/dsh-client-ui-renderer/client";
5
5
  import type { SessionId } from "@deepseek-ai/dsh-session";
6
6
  import { SessionEditorController } from "./controller.ts";
7
7
  import { registerChatNodeRenderers } from "./chat-node/register.ts";
8
8
  import { registerComposerStats } from "./composer-stats/register.ts";
9
- import { styling } from "@morlay/dsh-client-ui-primitives/client";
9
+ import { apply as installUiPrimitives, styling } from "@morlay/dsh-client-ui-primitives/client";
10
10
  import { globals as messageIconGlobals } from "./chat-node/MessageIconActions.styles.ts";
11
11
 
12
12
  export const inject = ["slots", "conversation", "connection", "sessions", "uiWorkspace"];
13
13
 
14
14
  export function apply(ctx: Context): void {
15
+ // 基础面随本包 inline(不再是装配行):装上它提供的字典、字段槽与按行配置页;多份副本只装一次。
16
+ installUiPrimitives(ctx);
15
17
  styling.injectGlobals(messageIconGlobals);
16
18
 
17
19
  const controllers = new Map<SessionId, SessionEditorController>();