@monotykamary/dsh-session-log-export 0.1.0-rc.8 → 0.1.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.
package/README.i18n.yaml CHANGED
@@ -3,4 +3,4 @@
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/session-query/session-log-export/README.md
5
5
  README.md: 051dcb9d1bd77bd743980b533394f016489aa4fd
6
- README.zh.md: 8e40eaf7e2fc0aaf54dffd4f44b5502f82defa35
6
+ README.zh.md: 3e1965c52e0a9641d4e8583221989c255807b9b1
package/README.zh.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](README.md) | 中文
4
4
 
5
- Web Session 日志下载控制,使用 `dsh-host-apiproxy` 拥有的 Host 流式 ZIP 端点。Host 半包注册 `/export`;浏览器半包在 Session Header 中提供 111×32 的 `Session log` 操作,以及一个供该按钮与斜杠命令共用的下载控制器和弹窗。ZIP 生成、原始 JSONL/zstd 读取、子 Session、附件、背压和 HTTP 错误语义仍由 [ApiProxy 下载实现](../../host/apiproxy/README.md)负责。
5
+ Web Session 日志下载控制,使用 `dsh-host-apiproxy` 拥有的 Host 流式 ZIP 端点。Host 半包注册 `/export`;浏览器半包在 Session Header 中提供 111×32 的 `Session log` 操作,以及一个供该按钮与斜杠命令共用的下载控制器和弹窗。ZIP 生成、原始 JSONL/zstd 读取、子 Session、附件、背压和 HTTP 错误语义仍由 [ApiProxy 下载实现](../../host/apiproxy/README.zh.md)负责。
6
6
 
7
7
  ## 命令约定
8
8
 
package/lib/client.js CHANGED
@@ -168,8 +168,8 @@ window.__ModuleLoader__.load({
168
168
  });
169
169
  }
170
170
  //#endregion
171
- //#region \0dsh-css:/Users/monotykamary/VCS/working-remote/open-source/deepseek-harness/packages/session-query/session-log-export/src/client/HeaderAction.module.css.mjs
172
- const css = ".TBrRZG_sessionLogButton{border:1px solid var(--dsw-alias-border-l2);min-width:111px;height:32px;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);cursor:pointer;background:0 0;border-radius:18px;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:400;line-height:20px;display:inline-flex}.TBrRZG_sessionLogButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.TBrRZG_sessionLogButton:disabled{color:var(--dsw-alias-label-dimmed);cursor:wait}.TBrRZG_sessionLogButton span,.TBrRZG_sessionLogButton svg{flex:none}.TBrRZG_sessionLogButton span{white-space:nowrap}";
171
+ //#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/session-query/session-log-export/src/client/HeaderAction.module.css.mjs
172
+ const css = ".nL4_yW_sessionLogButton{border:1px solid var(--dsw-alias-border-l2);min-width:111px;height:32px;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);cursor:pointer;background:0 0;border-radius:18px;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:400;line-height:20px;display:inline-flex}.nL4_yW_sessionLogButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.nL4_yW_sessionLogButton:disabled{color:var(--dsw-alias-label-dimmed);cursor:wait}.nL4_yW_sessionLogButton span,.nL4_yW_sessionLogButton svg{flex:none}.nL4_yW_sessionLogButton span{white-space:nowrap}";
173
173
  const tagId = "@monotykamary/dsh-session-log-export/HeaderAction.module.css";
174
174
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
175
175
  const tag = document.createElement("style");
@@ -178,17 +178,20 @@ window.__ModuleLoader__.load({
178
178
  tag.textContent = css;
179
179
  document.head.appendChild(tag);
180
180
  }
181
- var HeaderAction_module_css_default = { "sessionLogButton": "TBrRZG_sessionLogButton" };
181
+ var HeaderAction_module_css_default = { "sessionLogButton": "nL4_yW_sessionLogButton" };
182
182
  //#endregion
183
183
  //#region lib/types/client/HeaderAction.js
184
184
  /**
185
185
  * Render the Session Header export capsule and its shared result dialog.
186
186
  * @param props - Session runtime, download controller, and localized dialog copy.
187
- * @returns the persistent Header action and Session-scoped dialog.
187
+ * @returns the persistent Header action and Session-scoped dialog, hidden
188
+ * while the Session is still blank (no durable log exists to export).
188
189
  */
189
190
  function SessionLogDownloadHeaderAction(props) {
190
- const { sessionId, useSessionLogDownload, request } = props;
191
+ const { sessionId, useSession, useSessionLogDownload, request } = props;
192
+ const blank = useSession((s) => s.blank);
191
193
  const busy = useSessionLogDownload((state) => state.bySession[String(sessionId)])?.status === "downloading";
194
+ if (blank) return null;
192
195
  return (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsxs)("button", {
193
196
  type: "button",
194
197
  className: HeaderAction_module_css_default.sessionLogButton,
@@ -197,7 +200,7 @@ window.__ModuleLoader__.load({
197
200
  onClick: () => {
198
201
  request(sessionId);
199
202
  },
200
- children: [(0, react_jsx_runtime.jsx)("span", { children: "Session log" }), (0, react_jsx_runtime.jsx)(_monotykamary_dsh_client_ui_primitives.IconDownloadOutline16, { size: 12 })]
203
+ children: [(0, react_jsx_runtime.jsx)("span", { children: "Session log" }), (0, react_jsx_runtime.jsx)(_monotykamary_dsh_client_ui_primitives.Download, { size: 12 })]
201
204
  }), (0, react_jsx_runtime.jsx)(SessionLogDownloadDialog, { ...props })] });
202
205
  }
203
206
  //#endregion
@@ -3,7 +3,8 @@ import { type SessionLogDownloadDialogProps } from './Dialog.tsx';
3
3
  /**
4
4
  * Render the Session Header export capsule and its shared result dialog.
5
5
  * @param props - Session runtime, download controller, and localized dialog copy.
6
- * @returns the persistent Header action and Session-scoped dialog.
6
+ * @returns the persistent Header action and Session-scoped dialog, hidden
7
+ * while the Session is still blank (no durable log exists to export).
7
8
  */
8
9
  export declare function SessionLogDownloadHeaderAction(props: SessionLogDownloadDialogProps): ReactNode;
9
10
  //# sourceMappingURL=HeaderAction.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@monotykamary/dsh-session-log-export",
3
3
  "description": "Web Session-log export command and shared download dialog",
4
- "version": "0.1.0-rc.8",
4
+ "version": "0.1.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -39,30 +39,30 @@
39
39
  "peerDependencies": {
40
40
  "react": "^18.2.0",
41
41
  "@monotykamary/cordis": "^4.0.1",
42
- "@monotykamary/dsh-client-locale": "^0.1.0-rc.8",
43
- "@monotykamary/dsh-client-runtime": "^0.1.0-rc.8",
44
- "@monotykamary/dsh-client-ui-commands": "^0.1.0-rc.8",
45
- "@monotykamary/dsh-client-ui-primitives": "^0.1.0-rc.8",
46
- "@monotykamary/dsh-client-ui-slots": "^0.1.0-rc.8",
47
- "@monotykamary/dsh-commands": "^0.1.0-rc.8",
48
- "@monotykamary/dsh-client-ui-conversation": "^0.1.0-rc.8",
49
- "@monotykamary/dsh-invariants": "^0.1.0-rc.8"
42
+ "@monotykamary/dsh-client-locale": "^0.1.0",
43
+ "@monotykamary/dsh-client-runtime": "^0.1.0",
44
+ "@monotykamary/dsh-client-ui-commands": "^0.1.0",
45
+ "@monotykamary/dsh-client-ui-conversation": "^0.1.0",
46
+ "@monotykamary/dsh-commands": "^0.1.0",
47
+ "@monotykamary/dsh-client-ui-primitives": "^0.1.0",
48
+ "@monotykamary/dsh-client-ui-slots": "^0.1.0",
49
+ "@monotykamary/dsh-invariants": "^0.1.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/react": "~18.3.1",
53
53
  "react": "^18.2.0",
54
54
  "@monotykamary/cordis": "^4.0.1",
55
55
  "@monotykamary/cordis-plugin-loader": "^1.0.2",
56
- "@monotykamary/dsh-agent": "^0.1.0-rc.8",
57
- "@monotykamary/dsh-client-runtime": "^0.1.0-rc.8",
58
- "@monotykamary/dsh-client-locale": "^0.1.0-rc.8",
59
- "@monotykamary/dsh-client-ui-primitives": "^0.1.0-rc.8",
60
- "@monotykamary/dsh-client-ui-commands": "^0.1.0-rc.8",
61
- "@monotykamary/dsh-client-ui-slots": "^0.1.0-rc.8",
62
- "@monotykamary/dsh-invariants": "^0.1.0-rc.8",
63
- "@monotykamary/dsh-commands": "^0.1.0-rc.8",
64
- "@monotykamary/dsh-client-ui-conversation": "^0.1.0-rc.8",
65
- "@monotykamary/dsh-session": "^0.1.0-rc.8"
56
+ "@monotykamary/dsh-client-runtime": "^0.1.0",
57
+ "@monotykamary/dsh-agent": "^0.1.0",
58
+ "@monotykamary/dsh-client-locale": "^0.1.0",
59
+ "@monotykamary/dsh-client-ui-commands": "^0.1.0",
60
+ "@monotykamary/dsh-client-ui-conversation": "^0.1.0",
61
+ "@monotykamary/dsh-client-ui-slots": "^0.1.0",
62
+ "@monotykamary/dsh-client-ui-primitives": "^0.1.0",
63
+ "@monotykamary/dsh-commands": "^0.1.0",
64
+ "@monotykamary/dsh-invariants": "^0.1.0",
65
+ "@monotykamary/dsh-session": "^0.1.0"
66
66
  },
67
67
  "dsh": {
68
68
  "client": {