dsh-zotero 0.8.3 → 0.9.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.en.md +2 -2
- package/README.md +2 -2
- package/lib/ask.d.ts.map +1 -1
- package/lib/ask.js +2 -2
- package/lib/ask.js.map +1 -1
- package/lib/client.js +126 -67
- package/lib/client.js.map +3 -3
- package/lib/command.d.ts +16 -0
- package/lib/command.d.ts.map +1 -1
- package/lib/command.js +30 -12
- package/lib/command.js.map +1 -1
- package/lib/config.d.ts +21 -0
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +3 -0
- package/lib/config.js.map +1 -1
- package/lib/constants.d.ts +45 -4
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +45 -4
- package/lib/constants.js.map +1 -1
- package/lib/contract.d.ts +5 -0
- package/lib/contract.d.ts.map +1 -1
- package/lib/contract.js +16 -5
- package/lib/contract.js.map +1 -1
- package/lib/errors.d.ts +61 -1
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +88 -0
- package/lib/errors.js.map +1 -1
- package/lib/http-client.d.ts +71 -8
- package/lib/http-client.d.ts.map +1 -1
- package/lib/http-client.js +103 -43
- package/lib/http-client.js.map +1 -1
- package/lib/json.d.ts +2 -0
- package/lib/json.d.ts.map +1 -1
- package/lib/json.js +6 -0
- package/lib/json.js.map +1 -1
- package/lib/local/attachment-location.d.ts +16 -0
- package/lib/local/attachment-location.d.ts.map +1 -1
- package/lib/local/attachment-location.js +45 -11
- package/lib/local/attachment-location.js.map +1 -1
- package/lib/local/browse-domain.d.ts +41 -0
- package/lib/local/browse-domain.d.ts.map +1 -1
- package/lib/local/browse-domain.js +56 -13
- package/lib/local/browse-domain.js.map +1 -1
- package/lib/local/changes-domain.d.ts +6 -0
- package/lib/local/changes-domain.d.ts.map +1 -1
- package/lib/local/changes-domain.js +9 -3
- package/lib/local/changes-domain.js.map +1 -1
- package/lib/local/children-wire.d.ts +47 -0
- package/lib/local/children-wire.d.ts.map +1 -0
- package/lib/local/children-wire.js +57 -0
- package/lib/local/children-wire.js.map +1 -0
- package/lib/local/detail.d.ts +35 -21
- package/lib/local/detail.d.ts.map +1 -1
- package/lib/local/detail.js +68 -52
- package/lib/local/detail.js.map +1 -1
- package/lib/local/export-domain.d.ts.map +1 -1
- package/lib/local/export-domain.js +2 -1
- package/lib/local/export-domain.js.map +1 -1
- package/lib/local/note-format.d.ts +35 -0
- package/lib/local/note-format.d.ts.map +1 -0
- package/lib/local/note-format.js +215 -0
- package/lib/local/note-format.js.map +1 -0
- package/lib/local/provider.d.ts +36 -2
- package/lib/local/provider.d.ts.map +1 -1
- package/lib/local/provider.js +79 -12
- package/lib/local/provider.js.map +1 -1
- package/lib/local/retrieve.d.ts.map +1 -1
- package/lib/local/retrieve.js +6 -1
- package/lib/local/retrieve.js.map +1 -1
- package/lib/local/scope-directory.d.ts.map +1 -1
- package/lib/local/scope-directory.js +2 -2
- package/lib/local/scope-directory.js.map +1 -1
- package/lib/local/search-domain.d.ts +6 -0
- package/lib/local/search-domain.d.ts.map +1 -1
- package/lib/local/search-domain.js +7 -1
- package/lib/local/search-domain.js.map +1 -1
- package/lib/local/write-domain.d.ts +63 -0
- package/lib/local/write-domain.d.ts.map +1 -0
- package/lib/local/write-domain.js +348 -0
- package/lib/local/write-domain.js.map +1 -0
- package/lib/normalize.d.ts +7 -0
- package/lib/normalize.d.ts.map +1 -1
- package/lib/normalize.js +14 -10
- package/lib/normalize.js.map +1 -1
- package/lib/prompt.d.ts +12 -0
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js +16 -3
- package/lib/prompt.js.map +1 -1
- package/lib/refs.d.ts +17 -0
- package/lib/refs.d.ts.map +1 -1
- package/lib/refs.js +30 -6
- package/lib/refs.js.map +1 -1
- package/lib/remote.d.ts.map +1 -1
- package/lib/remote.js +1 -0
- package/lib/remote.js.map +1 -1
- package/lib/service.d.ts +48 -5
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +112 -5
- package/lib/service.js.map +1 -1
- package/lib/tools/add-tags.d.ts +74 -0
- package/lib/tools/add-tags.d.ts.map +1 -0
- package/lib/tools/add-tags.js +126 -0
- package/lib/tools/add-tags.js.map +1 -0
- package/lib/tools/add-to-collection.d.ts +65 -0
- package/lib/tools/add-to-collection.d.ts.map +1 -0
- package/lib/tools/add-to-collection.js +116 -0
- package/lib/tools/add-to-collection.js.map +1 -0
- package/lib/tools/attachment.d.ts +9 -0
- package/lib/tools/attachment.d.ts.map +1 -1
- package/lib/tools/attachment.js +2 -1
- package/lib/tools/attachment.js.map +1 -1
- package/lib/tools/browse.d.ts +13 -1
- package/lib/tools/browse.d.ts.map +1 -1
- package/lib/tools/browse.js +29 -14
- package/lib/tools/browse.js.map +1 -1
- package/lib/tools/changes.d.ts +32 -0
- package/lib/tools/changes.d.ts.map +1 -1
- package/lib/tools/changes.js +42 -20
- package/lib/tools/changes.js.map +1 -1
- package/lib/tools/children.d.ts +10 -6
- package/lib/tools/children.d.ts.map +1 -1
- package/lib/tools/children.js +14 -10
- package/lib/tools/children.js.map +1 -1
- package/lib/tools/create-note.d.ts +102 -0
- package/lib/tools/create-note.d.ts.map +1 -0
- package/lib/tools/create-note.js +168 -0
- package/lib/tools/create-note.js.map +1 -0
- package/lib/tools/export.d.ts +7 -0
- package/lib/tools/export.d.ts.map +1 -1
- package/lib/tools/export.js +13 -4
- package/lib/tools/export.js.map +1 -1
- package/lib/tools/get.d.ts +5 -3
- package/lib/tools/get.d.ts.map +1 -1
- package/lib/tools/get.js +6 -4
- package/lib/tools/get.js.map +1 -1
- package/lib/tools/retrieve.d.ts +37 -0
- package/lib/tools/retrieve.d.ts.map +1 -1
- package/lib/tools/retrieve.js +54 -11
- package/lib/tools/retrieve.js.map +1 -1
- package/lib/tools/search.d.ts +11 -0
- package/lib/tools/search.d.ts.map +1 -1
- package/lib/tools/search.js +23 -8
- package/lib/tools/search.js.map +1 -1
- package/lib/tools/validate.d.ts +10 -0
- package/lib/tools/validate.d.ts.map +1 -1
- package/lib/tools/validate.js +21 -7
- package/lib/tools/validate.js.map +1 -1
- package/lib/tools/write-approval.d.ts +58 -0
- package/lib/tools/write-approval.d.ts.map +1 -0
- package/lib/tools/write-approval.js +123 -0
- package/lib/tools/write-approval.js.map +1 -0
- package/lib/types.d.ts +131 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/write-auth.d.ts +116 -0
- package/lib/write-auth.d.ts.map +1 -0
- package/lib/write-auth.js +155 -0
- package/lib/write-auth.js.map +1 -0
- package/lib/write-http.d.ts +137 -0
- package/lib/write-http.d.ts.map +1 -0
- package/lib/write-http.js +366 -0
- package/lib/write-http.js.map +1 -0
- package/package.json +115 -168
package/README.en.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/v/dsh-zotero" alt="npm version" style="max-width:100%;"></a>
|
|
11
11
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/dm/dsh-zotero" alt="npm downloads" style="max-width:100%;"></a>
|
|
12
12
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/l/dsh-zotero" alt="license" style="max-width:100%;"></a>
|
|
13
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.
|
|
13
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.6-alpha.2"><img src="https://img.shields.io/badge/dsh-%3E%3D0.1.6--alpha.2-blue" alt="minimum dsh version" style="max-width:100%;"></a>
|
|
14
14
|
<a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="Awesome DSH Plugin"></a>
|
|
15
15
|
</p>
|
|
16
16
|
</div>
|
|
@@ -69,7 +69,7 @@ The plugin provides a settings page under **Settings → Zotero** — a left-nav
|
|
|
69
69
|
|
|
70
70
|
- Zotero ≥ 7 with local API enabled: **Settings → Advanced → "Allow other applications on this computer to communicate with Zotero"**
|
|
71
71
|
- Node.js ≥ 22.19 (or ≥ 24)
|
|
72
|
-
- dsh 0.1.
|
|
72
|
+
- dsh 0.1.6-alpha.2 host (all `@deepseek-ai/dsh-*` peer dependencies are `^0.1.6-alpha.2`, and the declared compatibility range is `engines.dsh`; only the latest pre-release line is supported until upstream stabilizes, with no backward compatibility)
|
|
73
73
|
- Local API at `http://127.0.0.1:23119/api`, unauthenticated, read-only
|
|
74
74
|
|
|
75
75
|
## Usage example
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/v/dsh-zotero" alt="npm version" style="max-width:100%;"></a>
|
|
11
11
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/dm/dsh-zotero" alt="npm downloads" style="max-width:100%;"></a>
|
|
12
12
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/l/dsh-zotero" alt="license" style="max-width:100%;"></a>
|
|
13
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.
|
|
13
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.6-alpha.2"><img src="https://img.shields.io/badge/dsh-%3E%3D0.1.6--alpha.2-blue" alt="最低 dsh 版本" style="max-width:100%;"></a>
|
|
14
14
|
<a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="Awesome DSH Plugin"></a>
|
|
15
15
|
</p>
|
|
16
16
|
</div>
|
|
@@ -69,7 +69,7 @@ dsh plugin --profile <name> add ./dsh-zotero-*.tgz
|
|
|
69
69
|
|
|
70
70
|
- Zotero ≥ 7 桌面版,启用本地 API:**设置 → 高级 → "允许其他应用程序与 Zotero 通信"**
|
|
71
71
|
- Node.js ≥ 22.19(或 ≥ 24)
|
|
72
|
-
- 宿主 dsh 0.1.
|
|
72
|
+
- 宿主 dsh 0.1.6-alpha.2(`@deepseek-ai/dsh-*` peer 依赖均为 `^0.1.6-alpha.2`,兼容范围另见 `engines.dsh`;上游发布稳定版之前只跟最新预发布线,不向后兼容)
|
|
73
73
|
- 本地 API 地址 `http://127.0.0.1:23119/api`,无认证,只读
|
|
74
74
|
|
|
75
75
|
## 使用示例
|
package/lib/ask.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AA2B1E,iEAAiE;AACjE,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAA;AA2EnE;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAE7D;;;;;;;OAOG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAW5E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,CAmCZ"}
|
package/lib/ask.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { HarnessError } from '@deepseek-ai/dsh-llm';
|
|
17
17
|
import { TOOL_ABORTED } from '@deepseek-ai/dsh-tools';
|
|
18
18
|
import { ZOTERO_LOCAL_API_VERSION } from './constants.js';
|
|
19
|
-
import { ZOTERO_API_DISABLED, ZOTERO_API_VERSION, ZOTERO_NOT_RUNNING, ZOTERO_TIMEOUT, ZoteroError, } from './errors.js';
|
|
19
|
+
import { TOOL_ABORTED_MESSAGE, ZOTERO_API_DISABLED, ZOTERO_API_VERSION, ZOTERO_NOT_RUNNING, ZOTERO_TIMEOUT, ZoteroError, } from './errors.js';
|
|
20
20
|
/** The connectivity failure codes that warrant asking the user how to proceed. */
|
|
21
21
|
const ASK_WORTHY_CODES = [
|
|
22
22
|
ZOTERO_NOT_RUNNING,
|
|
@@ -164,7 +164,7 @@ export async function withConnectivityAsk(ctx, recovery, exec, run) {
|
|
|
164
164
|
// A failed question (no provider, aborted ask, delegated caller) must
|
|
165
165
|
// never mask the underlying connectivity failure.
|
|
166
166
|
if (exec.signal?.aborted)
|
|
167
|
-
throw new HarnessError(
|
|
167
|
+
throw new HarnessError(TOOL_ABORTED_MESSAGE, TOOL_ABORTED);
|
|
168
168
|
throw error;
|
|
169
169
|
}
|
|
170
170
|
if (!retry)
|
package/lib/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"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"}
|
package/lib/client.js
CHANGED
|
@@ -30,17 +30,18 @@ module.exports = __toCommonJS(index_exports);
|
|
|
30
30
|
var import_dsh_client_ui_primitives2 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
31
31
|
|
|
32
32
|
// src/client/fields.tsx
|
|
33
|
+
var import_react = require("react");
|
|
33
34
|
var import_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
34
35
|
|
|
35
36
|
// src/client/fields.module.css
|
|
36
|
-
var style = `.gONAZG_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.gONAZG_field+.gONAZG_field{border-top:.5px solid var(--dsw-alias-border-l2)}.gONAZG_head{align-items:center;gap:8px;display:flex}.gONAZG_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.gONAZG_badges{align-items:center;gap:8px;display:inline-flex}.gONAZG_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.gONAZG_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.gONAZG_reset:disabled{cursor:default}.gONAZG_input{border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-3);height:34px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.gONAZG_input:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.gONAZG_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.
|
|
37
|
+
var style = `.gONAZG_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.gONAZG_field+.gONAZG_field{border-top:.5px solid var(--dsw-alias-border-l2)}.gONAZG_head{align-items:center;gap:8px;display:flex}.gONAZG_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.gONAZG_labelGroup{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.gONAZG_labelGroup>.gONAZG_label{flex:0 auto}.gONAZG_helpButton{width:24px;height:24px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.gONAZG_helpButton:hover,.gONAZG_helpButton[aria-expanded=true]{background:var(--dsw-alias-bg-layer-4);color:var(--dsw-alias-label-secondary)}.gONAZG_helpButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.gONAZG_help{color:var(--dsw-alias-label-secondary);padding:10px 0 0;font-size:12px;line-height:1.6}.gONAZG_help>p{margin:0}.gONAZG_help>p+p{margin-top:8px}.gONAZG_badges{align-items:center;gap:8px;display:inline-flex}.gONAZG_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.gONAZG_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.gONAZG_reset:disabled{cursor:default}.gONAZG_input{border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-3);height:34px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.gONAZG_input:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.gONAZG_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.gONAZG_input[aria-invalid=true]{border-color:var(--dsw-alias-state-error-primary)}.gONAZG_invalid{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:1.5}.gONAZG_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.gONAZG_toggleRow{align-items:center;gap:8px;display:flex}.gONAZG_toggleLabel{min-width:0;color:var(--dsw-alias-label-primary);cursor:pointer;flex:1;font-size:13px;font-weight:500;line-height:1.5}.gONAZG_toggle{width:16px;height:16px;accent-color:var(--dsw-alias-state-business-primary);cursor:pointer;flex:none;margin:0}`;
|
|
37
38
|
if (typeof document !== "undefined" && !document.querySelector('style[data-plugin-css="dsh-zotero/fields.module.css"]')) {
|
|
38
39
|
const tag = document.createElement("style");
|
|
39
40
|
tag.setAttribute("data-plugin-css", "dsh-zotero/fields.module.css");
|
|
40
41
|
tag.textContent = style;
|
|
41
42
|
document.head.appendChild(tag);
|
|
42
43
|
}
|
|
43
|
-
var fields_default = { "
|
|
44
|
+
var fields_default = { "help": "gONAZG_help", "reset": "gONAZG_reset", "input": "gONAZG_input", "hint": "gONAZG_hint", "toggleRow": "gONAZG_toggleRow", "label": "gONAZG_label", "invalid": "gONAZG_invalid", "badges": "gONAZG_badges", "head": "gONAZG_head", "toggle": "gONAZG_toggle", "labelGroup": "gONAZG_labelGroup", "helpButton": "gONAZG_helpButton", "toggleLabel": "gONAZG_toggleLabel", "field": "gONAZG_field" };
|
|
44
45
|
|
|
45
46
|
// src/client/fields.tsx
|
|
46
47
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -51,9 +52,30 @@ function OverrideControls(props) {
|
|
|
51
52
|
] });
|
|
52
53
|
}
|
|
53
54
|
function ValueField(props) {
|
|
55
|
+
const [helpOpen, setHelpOpen] = (0, import_react.useState)(false);
|
|
56
|
+
const helpId = `${props.id}-help`;
|
|
57
|
+
const messageId = `${props.id}-message`;
|
|
58
|
+
const hasMessage = props.invalid || Boolean(props.hint);
|
|
59
|
+
const description = [hasMessage ? messageId : "", helpOpen ? helpId : ""].filter(Boolean).join(" ");
|
|
54
60
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: fields_default.field, children: [
|
|
55
61
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: fields_default.head, children: [
|
|
56
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
62
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: fields_default.labelGroup, children: [
|
|
63
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { className: fields_default.label, htmlFor: props.id, children: props.label }),
|
|
64
|
+
props.help !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
65
|
+
"button",
|
|
66
|
+
{
|
|
67
|
+
type: "button",
|
|
68
|
+
className: fields_default.helpButton,
|
|
69
|
+
"aria-label": props.help.label,
|
|
70
|
+
"aria-expanded": helpOpen,
|
|
71
|
+
"aria-controls": helpId,
|
|
72
|
+
onClick: () => {
|
|
73
|
+
setHelpOpen(!helpOpen);
|
|
74
|
+
},
|
|
75
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.IconInfoOutline14, { size: 12 })
|
|
76
|
+
}
|
|
77
|
+
) : null
|
|
78
|
+
] }),
|
|
57
79
|
props.overridden ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
58
80
|
OverrideControls,
|
|
59
81
|
{
|
|
@@ -68,10 +90,11 @@ function ValueField(props) {
|
|
|
68
90
|
"input",
|
|
69
91
|
{
|
|
70
92
|
id: props.id,
|
|
71
|
-
className:
|
|
93
|
+
className: fields_default.input,
|
|
72
94
|
type: "text",
|
|
73
95
|
...props.numeric === true ? { inputMode: "numeric" } : {},
|
|
74
96
|
...props.invalid ? { "aria-invalid": true } : {},
|
|
97
|
+
"aria-describedby": description || void 0,
|
|
75
98
|
value: props.text,
|
|
76
99
|
placeholder: props.placeholder ?? "",
|
|
77
100
|
disabled: props.disabled,
|
|
@@ -80,7 +103,8 @@ function ValueField(props) {
|
|
|
80
103
|
}
|
|
81
104
|
}
|
|
82
105
|
),
|
|
83
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: props.invalid ? fields_default.invalid : fields_default.hint, children: props.invalid ? props.invalidLabel : props.hint })
|
|
106
|
+
hasMessage ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { id: messageId, className: props.invalid ? fields_default.invalid : fields_default.hint, children: props.invalid ? props.invalidLabel : props.hint }) : null,
|
|
107
|
+
props.help !== void 0 && helpOpen ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { id: helpId, className: fields_default.help, role: "region", "aria-label": props.help.label, children: props.help.content }) : null
|
|
84
108
|
] });
|
|
85
109
|
}
|
|
86
110
|
function BooleanField(props) {
|
|
@@ -304,7 +328,7 @@ var CardForm = class {
|
|
|
304
328
|
}
|
|
305
329
|
spec(field2) {
|
|
306
330
|
const spec = this.specs.get(field2);
|
|
307
|
-
if (spec === void 0) throw new Error(`
|
|
331
|
+
if (spec === void 0) throw new Error(`settings form has no field ${field2}`);
|
|
308
332
|
return spec;
|
|
309
333
|
}
|
|
310
334
|
sectionValue(field2) {
|
|
@@ -348,7 +372,10 @@ var FIELD_SPECS = [
|
|
|
348
372
|
{ key: "maxBrowseResults", kind: "number", group: "groupOutput" },
|
|
349
373
|
{ key: "maxChangesResults", kind: "number", group: "groupOutput" },
|
|
350
374
|
{ key: "defaultStyle", kind: "text", group: "groupDefaults" },
|
|
351
|
-
{ key: "defaultLocale", kind: "text", group: "groupDefaults" }
|
|
375
|
+
{ key: "defaultLocale", kind: "text", group: "groupDefaults" },
|
|
376
|
+
{ key: "writeEnabled", kind: "boolean", group: "groupWrite" },
|
|
377
|
+
{ key: "writeConfirm", kind: "boolean", group: "groupWrite" },
|
|
378
|
+
{ key: "writePersistKey", kind: "boolean", group: "groupWrite" }
|
|
352
379
|
];
|
|
353
380
|
var FIELDS = FIELD_SPECS.map((spec) => {
|
|
354
381
|
if (spec.kind === "number") return numberFieldSpec(spec.key);
|
|
@@ -410,7 +437,7 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
410
437
|
tag.textContent = style2;
|
|
411
438
|
document.head.appendChild(tag);
|
|
412
439
|
}
|
|
413
|
-
var ZoteroSettingsForm_default = { "
|
|
440
|
+
var ZoteroSettingsForm_default = { "group": "iz3HHa_group", "groupTitle": "iz3HHa_groupTitle", "fields": "iz3HHa_fields" };
|
|
414
441
|
|
|
415
442
|
// src/client/ZoteroSettingsForm.tsx
|
|
416
443
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
@@ -471,7 +498,7 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
471
498
|
tag.textContent = style3;
|
|
472
499
|
document.head.appendChild(tag);
|
|
473
500
|
}
|
|
474
|
-
var ZoteroSettingsSection_default = { "status": "_33OGJa_status", "failed": "_33OGJa_failed", "page": "_33OGJa_page", "
|
|
501
|
+
var ZoteroSettingsSection_default = { "status": "_33OGJa_status", "failed": "_33OGJa_failed", "page": "_33OGJa_page", "pending": "_33OGJa_pending", "save": "_33OGJa_save", "head": "_33OGJa_head", "footer": "_33OGJa_footer", "discard": "_33OGJa_discard", "title": "_33OGJa_title", "description": "_33OGJa_description" };
|
|
475
502
|
|
|
476
503
|
// src/client/ZoteroSettingsSection.tsx
|
|
477
504
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
@@ -511,7 +538,7 @@ function ZoteroSettingsSection(props) {
|
|
|
511
538
|
}
|
|
512
539
|
|
|
513
540
|
// src/client/components/SourcesTab.tsx
|
|
514
|
-
var
|
|
541
|
+
var import_react11 = require("react");
|
|
515
542
|
|
|
516
543
|
// src/ref-grammar.ts
|
|
517
544
|
var REF_KEY_SOURCE = "[A-Z0-9]{8}";
|
|
@@ -1228,7 +1255,7 @@ function buildSourceWorkspace(blocks, options = {}) {
|
|
|
1228
1255
|
}
|
|
1229
1256
|
|
|
1230
1257
|
// src/client/components/workspace/ZoteroWorkspaceView.tsx
|
|
1231
|
-
var
|
|
1258
|
+
var import_react10 = require("react");
|
|
1232
1259
|
|
|
1233
1260
|
// node_modules/clsx/dist/clsx.mjs
|
|
1234
1261
|
function r(e) {
|
|
@@ -1439,15 +1466,15 @@ function exportedRefCountOf(exports) {
|
|
|
1439
1466
|
}
|
|
1440
1467
|
|
|
1441
1468
|
// src/client/components/workspace/WorkspaceToolbar.tsx
|
|
1442
|
-
var
|
|
1469
|
+
var import_react2 = require("react");
|
|
1443
1470
|
var import_dsh_client_ui_primitives3 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1444
1471
|
|
|
1445
1472
|
// src/client/build-info.ts
|
|
1446
1473
|
function buildVersion() {
|
|
1447
|
-
return true ? "0.
|
|
1474
|
+
return true ? "0.9.0" : "unknown";
|
|
1448
1475
|
}
|
|
1449
1476
|
function buildCommit() {
|
|
1450
|
-
return true ? "
|
|
1477
|
+
return true ? "88341d5" : "unknown";
|
|
1451
1478
|
}
|
|
1452
1479
|
function buildInfoOf() {
|
|
1453
1480
|
return `${buildVersion()} \xB7 ${buildCommit()}`;
|
|
@@ -1471,18 +1498,25 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
1471
1498
|
tag.textContent = style4;
|
|
1472
1499
|
document.head.appendChild(tag);
|
|
1473
1500
|
}
|
|
1474
|
-
var workspace_default = { "
|
|
1501
|
+
var workspace_default = { "inspectorMeta": "_o1AEW_inspectorMeta", "warning": "_o1AEW_warning", "inspectorTabs": "_o1AEW_inspectorTabs", "section": "_o1AEW_section", "empty": "_o1AEW_empty", "exportsPage": "_o1AEW_exportsPage", "toolbar": "_o1AEW_toolbar", "sectionLabel": "_o1AEW_sectionLabel", "emptyNote": "_o1AEW_emptyNote", "starterRow": "_o1AEW_starterRow", "evidencePage": "_o1AEW_evidencePage", "summaryLine": "_o1AEW_summaryLine", "backAction": "_o1AEW_backAction", "actionRow": "_o1AEW_actionRow", "detailToggle": "_o1AEW_detailToggle", "listbox": "_o1AEW_listbox", "line": "_o1AEW_line", "badges": "_o1AEW_badges", "emptyWrap": "_o1AEW_emptyWrap", "inspector": "_o1AEW_inspector", "note": "_o1AEW_note", "passage": "_o1AEW_passage", "lensTabActive": "_o1AEW_lensTabActive", "inspectorBody": "_o1AEW_inspectorBody", "inspectorTitle": "_o1AEW_inspectorTitle", "availability": "_o1AEW_availability", "cardStack": "_o1AEW_cardStack", "filterBar": "_o1AEW_filterBar", "filterClear": "_o1AEW_filterClear", "badge": "_o1AEW_badge", "lensTab": "_o1AEW_lensTab", "filterArrowLeft": "_o1AEW_filterArrowLeft", "diagnosis": "_o1AEW_diagnosis", "inspectorHead": "_o1AEW_inspectorHead", "sourceTag": "_o1AEW_sourceTag", "menuButton": "_o1AEW_menuButton", "detailTabCount": "_o1AEW_detailTabCount", "evidenceEntry": "_o1AEW_evidenceEntry", "listItemTitle": "_o1AEW_listItemTitle", "filterArrowRight": "_o1AEW_filterArrowRight", "action": "_o1AEW_action", "listItemMeta": "_o1AEW_listItemMeta", "emptyIcon": "_o1AEW_emptyIcon", "spacer": "_o1AEW_spacer", "detailTabActive": "_o1AEW_detailTabActive", "refresh": "_o1AEW_refresh", "workspace": "_o1AEW_workspace", "panel": "_o1AEW_panel", "sidebar": "_o1AEW_sidebar", "inspectorTitleWrap": "_o1AEW_inspectorTitleWrap", "emptyText": "_o1AEW_emptyText", "passages": "_o1AEW_passages", "filterArrow": "_o1AEW_filterArrow", "passageHead": "_o1AEW_passageHead", "exportStack": "_o1AEW_exportStack", "statusText": "_o1AEW_statusText", "detailTab": "_o1AEW_detailTab", "lensBar": "_o1AEW_lensBar", "view": "_o1AEW_view", "listItem": "_o1AEW_listItem", "lensTabCount": "_o1AEW_lensTabCount", "listItemSelected": "_o1AEW_listItemSelected" };
|
|
1475
1502
|
|
|
1476
1503
|
// src/client/components/workspace/WorkspaceToolbar.tsx
|
|
1477
1504
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
1478
1505
|
function WorkspaceToolbar({ connection, onRefresh, t }) {
|
|
1479
|
-
const [menuOpen, setMenuOpen] = (0,
|
|
1506
|
+
const [menuOpen, setMenuOpen] = (0, import_react2.useState)(false);
|
|
1480
1507
|
const failed = connection.kind === "unavailable" || connection.kind === "remote-error";
|
|
1481
1508
|
const diagnosis = failed ? connectionDiagnosisOf(connection, t) : "";
|
|
1482
1509
|
const checkedAt = connection.kind === "connected" || connection.kind === "unavailable" ? connection.checkedAt : void 0;
|
|
1483
1510
|
const data = connection.kind === "connected" || connection.kind === "unavailable" ? connection.data : void 0;
|
|
1484
1511
|
const menuItems = [
|
|
1485
1512
|
...data?.serverId !== void 0 ? [{ id: "serverId", label: `${t("serverIdLabel")} ${data.serverId}`, disabled: true }] : [],
|
|
1513
|
+
...data?.write !== void 0 ? [
|
|
1514
|
+
{
|
|
1515
|
+
id: "write",
|
|
1516
|
+
label: `${t("writeLabel")} ${data.write.enabled ? data.write.authorized ? t("writeAuthorizedLabel") : t("writeUnauthorizedLabel") : t("writeDisabledLabel")}`,
|
|
1517
|
+
disabled: true
|
|
1518
|
+
}
|
|
1519
|
+
] : [],
|
|
1486
1520
|
...data?.zoteroVersion !== void 0 ? [
|
|
1487
1521
|
{
|
|
1488
1522
|
id: "zotero",
|
|
@@ -1566,7 +1600,7 @@ function WorkspaceToolbar({ connection, onRefresh, t }) {
|
|
|
1566
1600
|
}
|
|
1567
1601
|
|
|
1568
1602
|
// src/client/components/workspace/SourceSidebar.tsx
|
|
1569
|
-
var
|
|
1603
|
+
var import_react3 = require("react");
|
|
1570
1604
|
var import_dsh_client_ui_primitives4 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1571
1605
|
|
|
1572
1606
|
// src/client/components/workspace/SourceListItem.tsx
|
|
@@ -1635,22 +1669,22 @@ function SourceSidebar({
|
|
|
1635
1669
|
asideRef,
|
|
1636
1670
|
t
|
|
1637
1671
|
}) {
|
|
1638
|
-
const optionRefs = (0,
|
|
1672
|
+
const optionRefs = (0, import_react3.useRef)([]);
|
|
1639
1673
|
optionRefs.current.length = visible.length;
|
|
1640
1674
|
const asideRefLocal = asideRef;
|
|
1641
|
-
const filterBarRef = (0,
|
|
1642
|
-
const [filterEdges, setFilterEdges] = (0,
|
|
1643
|
-
const updateFilterEdges = (0,
|
|
1675
|
+
const filterBarRef = (0, import_react3.useRef)(null);
|
|
1676
|
+
const [filterEdges, setFilterEdges] = (0, import_react3.useState)({ left: false, right: false });
|
|
1677
|
+
const updateFilterEdges = (0, import_react3.useCallback)(() => {
|
|
1644
1678
|
const el = filterBarRef.current;
|
|
1645
1679
|
if (el === null) return;
|
|
1646
1680
|
const left = el.scrollLeft > 1;
|
|
1647
1681
|
const right = el.scrollLeft < el.scrollWidth - el.clientWidth - 1;
|
|
1648
1682
|
setFilterEdges((prev) => prev.left === left && prev.right === right ? prev : { left, right });
|
|
1649
1683
|
}, []);
|
|
1650
|
-
(0,
|
|
1684
|
+
(0, import_react3.useLayoutEffect)(() => {
|
|
1651
1685
|
updateFilterEdges();
|
|
1652
1686
|
}, [counts, filter, updateFilterEdges]);
|
|
1653
|
-
(0,
|
|
1687
|
+
(0, import_react3.useEffect)(() => {
|
|
1654
1688
|
const el = filterBarRef.current;
|
|
1655
1689
|
if (el === null) return;
|
|
1656
1690
|
el.addEventListener("scroll", updateFilterEdges);
|
|
@@ -1798,10 +1832,10 @@ function SourceSidebar({
|
|
|
1798
1832
|
}
|
|
1799
1833
|
|
|
1800
1834
|
// src/client/components/workspace/SourceInspector.tsx
|
|
1801
|
-
var
|
|
1835
|
+
var import_react9 = require("react");
|
|
1802
1836
|
|
|
1803
1837
|
// src/client/components/workspace/SourceOverview.tsx
|
|
1804
|
-
var
|
|
1838
|
+
var import_react6 = require("react");
|
|
1805
1839
|
|
|
1806
1840
|
// src/client/actions/source-actions.ts
|
|
1807
1841
|
function askDraftOf(ref, t) {
|
|
@@ -1812,7 +1846,7 @@ function exportDraftOf(ref, t) {
|
|
|
1812
1846
|
}
|
|
1813
1847
|
|
|
1814
1848
|
// src/client/components/CopyButton.tsx
|
|
1815
|
-
var
|
|
1849
|
+
var import_react4 = require("react");
|
|
1816
1850
|
var import_dsh_client_ui_primitives5 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1817
1851
|
|
|
1818
1852
|
// src/client/components/cards.module.css
|
|
@@ -1823,14 +1857,14 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
1823
1857
|
tag.textContent = style5;
|
|
1824
1858
|
document.head.appendChild(tag);
|
|
1825
1859
|
}
|
|
1826
|
-
var cards_default = { "
|
|
1860
|
+
var cards_default = { "exportSectionTitle": "_27yOoG_exportSectionTitle", "exportFacts": "_27yOoG_exportFacts", "lineAction": "_27yOoG_lineAction", "cardTitle": "_27yOoG_cardTitle", "chevron": "_27yOoG_chevron", "unresolvedItemsText": "_27yOoG_unresolvedItemsText", "exportKeys": "_27yOoG_exportKeys", "line": "_27yOoG_line", "exportBody": "_27yOoG_exportBody", "exportKeysText": "_27yOoG_exportKeysText", "passages": "_27yOoG_passages", "chevronOpen": "_27yOoG_chevronOpen", "exportHead": "_27yOoG_exportHead", "exportTitle": "_27yOoG_exportTitle", "exportPre": "_27yOoG_exportPre", "note": "_27yOoG_note", "exportSectionActions": "_27yOoG_exportSectionActions", "exportSection": "_27yOoG_exportSection", "unresolvedItems": "_27yOoG_unresolvedItems", "passageHead": "_27yOoG_passageHead", "exportSectionCount": "_27yOoG_exportSectionCount", "lineActions": "_27yOoG_lineActions", "card": "_27yOoG_card", "exportSectionHead": "_27yOoG_exportSectionHead", "cardHead": "_27yOoG_cardHead", "exportCode": "_27yOoG_exportCode", "sourceTag": "_27yOoG_sourceTag", "link": "_27yOoG_link", "documentKey": "_27yOoG_documentKey", "exportRow": "_27yOoG_exportRow", "exportCodeLabel": "_27yOoG_exportCodeLabel", "documentTitle": "_27yOoG_documentTitle", "availability": "_27yOoG_availability", "passage": "_27yOoG_passage", "exportToggle": "_27yOoG_exportToggle", "exportCodeHead": "_27yOoG_exportCodeHead" };
|
|
1827
1861
|
|
|
1828
1862
|
// src/client/components/CopyButton.tsx
|
|
1829
1863
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
1830
1864
|
function CopyButton({ value, label, copiedLabel, className }) {
|
|
1831
|
-
const [copied, setCopied] = (0,
|
|
1832
|
-
const epoch = (0,
|
|
1833
|
-
(0,
|
|
1865
|
+
const [copied, setCopied] = (0, import_react4.useState)(false);
|
|
1866
|
+
const epoch = (0, import_react4.useRef)(0);
|
|
1867
|
+
(0, import_react4.useEffect)(() => {
|
|
1834
1868
|
if (!copied) return;
|
|
1835
1869
|
const timer = window.setTimeout(() => {
|
|
1836
1870
|
setCopied(false);
|
|
@@ -1857,7 +1891,7 @@ function CopyButton({ value, label, copiedLabel, className }) {
|
|
|
1857
1891
|
}
|
|
1858
1892
|
|
|
1859
1893
|
// src/client/components/open/BlockedOpenAction.tsx
|
|
1860
|
-
var
|
|
1894
|
+
var import_react5 = require("react");
|
|
1861
1895
|
var import_dsh_client_ui_primitives6 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1862
1896
|
|
|
1863
1897
|
// src/client/components/open/open.module.css
|
|
@@ -1868,13 +1902,13 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
1868
1902
|
tag.textContent = style6;
|
|
1869
1903
|
document.head.appendChild(tag);
|
|
1870
1904
|
}
|
|
1871
|
-
var open_default = { "
|
|
1905
|
+
var open_default = { "linkWrap": "_02bwZG_linkWrap", "button": "_02bwZG_button", "note": "_02bwZG_note", "linkIcon": "_02bwZG_linkIcon", "blocked": "_02bwZG_blocked", "link": "_02bwZG_link", "srOnly": "_02bwZG_srOnly" };
|
|
1872
1906
|
|
|
1873
1907
|
// src/client/components/open/BlockedOpenAction.tsx
|
|
1874
1908
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
1875
1909
|
function BlockedOpenAction({ label, t, className }) {
|
|
1876
1910
|
const reason = t("provenanceMismatch");
|
|
1877
|
-
const reasonId = (0,
|
|
1911
|
+
const reasonId = (0, import_react5.useId)();
|
|
1878
1912
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
|
|
1879
1913
|
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_dsh_client_ui_primitives6.Tooltip, { label: reason, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1880
1914
|
"button",
|
|
@@ -1948,7 +1982,7 @@ function filterLineOf(itemTypes, tags, t) {
|
|
|
1948
1982
|
return parts.length === 0 ? "" : parts.join(" \xB7 ");
|
|
1949
1983
|
}
|
|
1950
1984
|
function SourceOverview({ item, t, setDraft }) {
|
|
1951
|
-
const [detailOpen, setDetailOpen] = (0,
|
|
1985
|
+
const [detailOpen, setDetailOpen] = (0, import_react6.useState)(false);
|
|
1952
1986
|
const verdict = openVerdictOf(item);
|
|
1953
1987
|
const selectUrl = selectUrlOf(item.ref);
|
|
1954
1988
|
const pdfCapability = pdfCapabilityOf(item);
|
|
@@ -2129,7 +2163,7 @@ function downloadBlob(text, fileName, mime) {
|
|
|
2129
2163
|
}
|
|
2130
2164
|
|
|
2131
2165
|
// src/client/components/ExportDocumentRow.tsx
|
|
2132
|
-
var
|
|
2166
|
+
var import_react8 = require("react");
|
|
2133
2167
|
var import_dsh_client_ui_primitives9 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2134
2168
|
|
|
2135
2169
|
// src/export-items.ts
|
|
@@ -2155,7 +2189,7 @@ function citeCommandOf(keys) {
|
|
|
2155
2189
|
}
|
|
2156
2190
|
|
|
2157
2191
|
// src/client/components/ExportCard.tsx
|
|
2158
|
-
var
|
|
2192
|
+
var import_react7 = require("react");
|
|
2159
2193
|
var import_dsh_client_ui_primitives8 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2160
2194
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
2161
2195
|
function formatLabelOf(format, t) {
|
|
@@ -2219,12 +2253,12 @@ function artifactTimeOf(artifact) {
|
|
|
2219
2253
|
return `${pad(date5.getHours())}:${pad(date5.getMinutes())}`;
|
|
2220
2254
|
}
|
|
2221
2255
|
function ExportCard({ artifact, t }) {
|
|
2222
|
-
const [open, setOpen] = (0,
|
|
2223
|
-
const keys = (0,
|
|
2256
|
+
const [open, setOpen] = (0, import_react7.useState)(false);
|
|
2257
|
+
const keys = (0, import_react7.useMemo)(
|
|
2224
2258
|
() => artifact.format === "bibtex" || artifact.format === "biblatex" ? bibTexKeysOf(artifact.text) : [],
|
|
2225
2259
|
[artifact.format, artifact.text]
|
|
2226
2260
|
);
|
|
2227
|
-
const citeCommand = (0,
|
|
2261
|
+
const citeCommand = (0, import_react7.useMemo)(() => citeCommandOf(keys), [keys]);
|
|
2228
2262
|
const timeLabel = artifactTimeOf(artifact);
|
|
2229
2263
|
const download = () => {
|
|
2230
2264
|
downloadBlob(artifact.text, fileNameOf(artifact), mimeOf(artifact.format));
|
|
@@ -2271,8 +2305,8 @@ function ExportCard({ artifact, t }) {
|
|
|
2271
2305
|
// src/client/components/ExportDocumentRow.tsx
|
|
2272
2306
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
2273
2307
|
function ExportDocumentRow({ doc, t }) {
|
|
2274
|
-
const [open, setOpen] = (0,
|
|
2275
|
-
const citeCommand = (0,
|
|
2308
|
+
const [open, setOpen] = (0, import_react8.useState)(false);
|
|
2309
|
+
const citeCommand = (0, import_react8.useMemo)(
|
|
2276
2310
|
() => doc.key === void 0 ? "" : citeCommandOf([doc.key]),
|
|
2277
2311
|
[doc.key]
|
|
2278
2312
|
);
|
|
@@ -2410,12 +2444,12 @@ function SourceInspector({
|
|
|
2410
2444
|
setDraft,
|
|
2411
2445
|
t
|
|
2412
2446
|
}) {
|
|
2413
|
-
const [panel, setPanel] = (0,
|
|
2414
|
-
const selected = (0,
|
|
2447
|
+
const [panel, setPanel] = (0, import_react9.useState)("overview");
|
|
2448
|
+
const selected = (0, import_react9.useMemo)(
|
|
2415
2449
|
() => workspace.sources.find((item) => item.key === selectedKey),
|
|
2416
2450
|
[workspace.sources, selectedKey]
|
|
2417
2451
|
);
|
|
2418
|
-
(0,
|
|
2452
|
+
(0, import_react9.useEffect)(() => {
|
|
2419
2453
|
setPanel("overview");
|
|
2420
2454
|
}, [selectedKey]);
|
|
2421
2455
|
if (selected === void 0) {
|
|
@@ -2691,22 +2725,22 @@ function ZoteroWorkspaceView({
|
|
|
2691
2725
|
onRefresh,
|
|
2692
2726
|
t
|
|
2693
2727
|
}) {
|
|
2694
|
-
const [lens, setLens] = (0,
|
|
2695
|
-
const [filter, setFilter] = (0,
|
|
2696
|
-
const [selection, setSelection] = (0,
|
|
2697
|
-
const [mobilePane, setMobilePane] = (0,
|
|
2698
|
-
const [evidenceOpen, setEvidenceOpen] = (0,
|
|
2699
|
-
const asideRef = (0,
|
|
2700
|
-
const counts = (0,
|
|
2701
|
-
const visible = (0,
|
|
2728
|
+
const [lens, setLens] = (0, import_react10.useState)("sources");
|
|
2729
|
+
const [filter, setFilter] = (0, import_react10.useState)("all");
|
|
2730
|
+
const [selection, setSelection] = (0, import_react10.useState)({ key: void 0, focusIndex: 0 });
|
|
2731
|
+
const [mobilePane, setMobilePane] = (0, import_react10.useState)("list");
|
|
2732
|
+
const [evidenceOpen, setEvidenceOpen] = (0, import_react10.useState)(false);
|
|
2733
|
+
const asideRef = (0, import_react10.useRef)(null);
|
|
2734
|
+
const counts = (0, import_react10.useMemo)(() => filterCountsOf(workspace.sources), [workspace.sources]);
|
|
2735
|
+
const visible = (0, import_react10.useMemo)(
|
|
2702
2736
|
() => filterSources(workspace.sources, filter),
|
|
2703
2737
|
[workspace.sources, filter]
|
|
2704
2738
|
);
|
|
2705
|
-
const selectedKey = (0,
|
|
2739
|
+
const selectedKey = (0, import_react10.useMemo)(
|
|
2706
2740
|
() => effectiveSelectionOf(selection, workspace.sources, visible),
|
|
2707
2741
|
[selection, workspace.sources, visible]
|
|
2708
2742
|
);
|
|
2709
|
-
const exportedCount = (0,
|
|
2743
|
+
const exportedCount = (0, import_react10.useMemo)(() => exportedRefCountOf(workspace.exports), [workspace.exports]);
|
|
2710
2744
|
void sessionId;
|
|
2711
2745
|
if (evidenceOpen) {
|
|
2712
2746
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: workspace_default.view, "data-conversation-composer-overlay": true, children: [
|
|
@@ -2884,22 +2918,22 @@ function collectZoteroCalls(snapshot) {
|
|
|
2884
2918
|
return out;
|
|
2885
2919
|
}
|
|
2886
2920
|
function useZoteroBlocks(chat) {
|
|
2887
|
-
const signature = (0,
|
|
2888
|
-
return (0,
|
|
2921
|
+
const signature = (0, import_react11.useMemo)(() => sessionSignatureOf(chat), [chat]);
|
|
2922
|
+
return (0, import_react11.useMemo)(() => collectZoteroCalls(chat), [signature]);
|
|
2889
2923
|
}
|
|
2890
2924
|
function SourcesTab({ status, t, useSession, useChat, inputActions }) {
|
|
2891
2925
|
const sessionId = useSession((snapshot) => snapshot.sessionId);
|
|
2892
2926
|
const chat = useChat((snapshot) => snapshot);
|
|
2893
|
-
const [statusState, setStatusState] = (0,
|
|
2894
|
-
const [requestId, setRequestId] = (0,
|
|
2895
|
-
const [serverId, setServerId] = (0,
|
|
2927
|
+
const [statusState, setStatusState] = (0, import_react11.useState)({ kind: "loading" });
|
|
2928
|
+
const [requestId, setRequestId] = (0, import_react11.useState)(0);
|
|
2929
|
+
const [serverId, setServerId] = (0, import_react11.useState)(void 0);
|
|
2896
2930
|
const blocks = useZoteroBlocks(chat);
|
|
2897
|
-
const workspace = (0,
|
|
2931
|
+
const workspace = (0, import_react11.useMemo)(
|
|
2898
2932
|
() => buildSourceWorkspace(blocks, { currentServerId: serverId }),
|
|
2899
2933
|
[blocks, serverId]
|
|
2900
2934
|
);
|
|
2901
2935
|
const setDraft = inputActions?.setDraft.bind(inputActions);
|
|
2902
|
-
(0,
|
|
2936
|
+
(0, import_react11.useEffect)(() => {
|
|
2903
2937
|
if (status === void 0) return;
|
|
2904
2938
|
const controller = new AbortController();
|
|
2905
2939
|
setStatusState({ kind: "loading" });
|
|
@@ -17471,8 +17505,15 @@ var zoteroStatusSchema = external_exports.object({
|
|
|
17471
17505
|
serverId: external_exports.string().optional(),
|
|
17472
17506
|
schemaVersion: external_exports.string().optional(),
|
|
17473
17507
|
zoteroVersion: external_exports.string().optional(),
|
|
17508
|
+
write: external_exports.object({ enabled: external_exports.boolean(), authorized: external_exports.boolean() }).strict().optional(),
|
|
17474
17509
|
diagnosis: external_exports.string()
|
|
17475
17510
|
}).strict().readonly();
|
|
17511
|
+
var zoteroStatusCodec = {
|
|
17512
|
+
mode: "strict",
|
|
17513
|
+
typeSymbol: "dsh-zotero#ZoteroStatusView",
|
|
17514
|
+
create: () => zoteroStatusSchema,
|
|
17515
|
+
schema: zoteroStatusSchema
|
|
17516
|
+
};
|
|
17476
17517
|
var ZOTERO_INVOCATIONS = [
|
|
17477
17518
|
{
|
|
17478
17519
|
id: "dsh-zotero#zotero/status",
|
|
@@ -17481,11 +17522,7 @@ var ZOTERO_INVOCATIONS = [
|
|
|
17481
17522
|
method: "status",
|
|
17482
17523
|
invocation: { kind: "direct" },
|
|
17483
17524
|
parameters: [],
|
|
17484
|
-
result:
|
|
17485
|
-
mode: "strict",
|
|
17486
|
-
typeSymbol: "dsh-zotero#ZoteroStatusView",
|
|
17487
|
-
schema: zoteroStatusSchema
|
|
17488
|
-
}
|
|
17525
|
+
result: zoteroStatusCodec
|
|
17489
17526
|
}
|
|
17490
17527
|
];
|
|
17491
17528
|
|
|
@@ -17514,6 +17551,13 @@ var en = {
|
|
|
17514
17551
|
groupSearch: "Search limits",
|
|
17515
17552
|
groupOutput: "Output limits",
|
|
17516
17553
|
groupDefaults: "Export defaults",
|
|
17554
|
+
groupWrite: "Writing",
|
|
17555
|
+
writeEnabled: "Enable write tools",
|
|
17556
|
+
writeEnabledHint: "Registers zotero_create_note, zotero_add_tags, and zotero_add_to_collection, and lets the local provider serve writes. Zotero 10 still gates every write behind its own authorization dialog.",
|
|
17557
|
+
writeConfirm: "Confirm each write",
|
|
17558
|
+
writeConfirmHint: "Shows a plan card and waits for your approval before every write. The Zotero key gate stays in force either way.",
|
|
17559
|
+
writePersistKey: "Store the Zotero write key",
|
|
17560
|
+
writePersistKeyHint: 'Persists an "Always Allow" key from the Zotero dialog into the credentials store, bound to the Zotero instance that issued it. One-time keys are never stored.',
|
|
17517
17561
|
baseUrl: "Local API base URL",
|
|
17518
17562
|
baseUrlHint: "Must be a loopback HTTP address (127.0.0.1, localhost, or ::1).",
|
|
17519
17563
|
provider: "Provider id",
|
|
@@ -17569,6 +17613,10 @@ var en = {
|
|
|
17569
17613
|
schemaVersionLabel: "Schema version",
|
|
17570
17614
|
zoteroVersionLabel: "Zotero version",
|
|
17571
17615
|
serverIdLabel: "Server ID",
|
|
17616
|
+
writeLabel: "Write",
|
|
17617
|
+
writeAuthorizedLabel: "enabled, key stored",
|
|
17618
|
+
writeUnauthorizedLabel: "enabled, no key yet",
|
|
17619
|
+
writeDisabledLabel: "disabled",
|
|
17572
17620
|
buildInfoLabel: "Build",
|
|
17573
17621
|
diagnosisLabel: "Diagnosis",
|
|
17574
17622
|
refresh: "Refresh",
|
|
@@ -17700,6 +17748,13 @@ var zh = {
|
|
|
17700
17748
|
groupSearch: "\u68C0\u7D22\u9650\u5236",
|
|
17701
17749
|
groupOutput: "\u8F93\u51FA\u9650\u5236",
|
|
17702
17750
|
groupDefaults: "\u5BFC\u51FA\u9ED8\u8BA4",
|
|
17751
|
+
groupWrite: "\u5199\u5165",
|
|
17752
|
+
writeEnabled: "\u542F\u7528\u5199\u5165\u5DE5\u5177",
|
|
17753
|
+
writeEnabledHint: "\u6CE8\u518C zotero_create_note\u3001zotero_add_tags\u3001zotero_add_to_collection\uFF0C\u5E76\u5141\u8BB8 local provider \u63D0\u4F9B\u5199\u5165\u80FD\u529B\u3002Zotero 10 \u4ECD\u4F1A\u7528\u5B83\u81EA\u5DF1\u7684\u6388\u6743\u5F39\u7A97\u628A\u5173\u6BCF\u4E00\u6B21\u5199\u5165\u3002",
|
|
17754
|
+
writeConfirm: "\u6BCF\u6B21\u5199\u5165\u524D\u786E\u8BA4",
|
|
17755
|
+
writeConfirmHint: "\u6BCF\u6B21\u5199\u5165\u524D\u5C55\u793A\u8BA1\u5212\u5361\u7247\u5E76\u7B49\u5F85\u4F60\u6279\u51C6\u3002\u65E0\u8BBA\u6B64\u9879\u5F00\u5173\u5982\u4F55\uFF0CZotero \u81EA\u5DF1\u7684 key \u5173\u5361\u59CB\u7EC8\u751F\u6548\u3002",
|
|
17756
|
+
writePersistKey: "\u4FDD\u5B58 Zotero \u5199\u5165\u5BC6\u94A5",
|
|
17757
|
+
writePersistKeyHint: '\u628A Zotero \u6388\u6743\u5F39\u7A97\u91CC"Always Allow"\u7B7E\u53D1\u7684\u5BC6\u94A5\u5B58\u5165\u5BBF\u4E3B\u51ED\u636E\u5E93\uFF0C\u5E76\u7ED1\u5B9A\u5230\u7B7E\u53D1\u5B83\u7684 Zotero \u5B9E\u4F8B\u3002\u4E00\u6B21\u6027\u5BC6\u94A5\u6C38\u4E0D\u843D\u76D8\u3002',
|
|
17703
17758
|
baseUrl: "Local API \u5730\u5740",
|
|
17704
17759
|
baseUrlHint: "\u4EC5\u5141\u8BB8\u672C\u673A\u56DE\u73AF HTTP \u5730\u5740\uFF08127.0.0.1\u3001localhost \u6216 ::1\uFF09\u3002",
|
|
17705
17760
|
provider: "\u63D0\u4F9B\u65B9 ID",
|
|
@@ -17754,7 +17809,11 @@ var zh = {
|
|
|
17754
17809
|
apiVersionLabel: "API \u7248\u672C",
|
|
17755
17810
|
schemaVersionLabel: "Schema \u7248\u672C",
|
|
17756
17811
|
zoteroVersionLabel: "Zotero \u7248\u672C",
|
|
17757
|
-
serverIdLabel: "
|
|
17812
|
+
serverIdLabel: "\u670D\u52A1\u5668 ID",
|
|
17813
|
+
writeLabel: "\u5199\u5165",
|
|
17814
|
+
writeAuthorizedLabel: "\u5DF2\u542F\u7528\uFF0C\u5BC6\u94A5\u5DF2\u4FDD\u5B58",
|
|
17815
|
+
writeUnauthorizedLabel: "\u5DF2\u542F\u7528\uFF0C\u5C1A\u672A\u6388\u6743",
|
|
17816
|
+
writeDisabledLabel: "\u5DF2\u5173\u95ED",
|
|
17758
17817
|
buildInfoLabel: "\u6784\u5EFA",
|
|
17759
17818
|
diagnosisLabel: "\u8BCA\u65AD",
|
|
17760
17819
|
refresh: "\u5237\u65B0",
|