dsh-zotero 0.4.0 → 0.4.2
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 +9 -0
- package/README.md +12 -3
- package/lib/ask.d.ts +0 -3
- package/lib/ask.d.ts.map +1 -1
- package/lib/ask.js +1 -1
- package/lib/ask.js.map +1 -1
- package/lib/client.js +113 -13
- package/lib/client.js.map +3 -3
- package/lib/command.d.ts +0 -3
- package/lib/command.d.ts.map +1 -1
- package/lib/command.js +1 -1
- package/lib/command.js.map +1 -1
- package/lib/concurrency.d.ts +12 -0
- package/lib/concurrency.d.ts.map +1 -0
- package/lib/concurrency.js +35 -0
- package/lib/concurrency.js.map +1 -0
- package/lib/config.d.ts +3 -0
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +2 -0
- package/lib/config.js.map +1 -1
- package/lib/contract.d.ts +0 -10
- package/lib/contract.d.ts.map +1 -1
- package/lib/contract.js +1 -1
- package/lib/contract.js.map +1 -1
- package/lib/http-client.d.ts.map +1 -1
- package/lib/http-client.js +14 -3
- package/lib/http-client.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/item-graph.d.ts +55 -0
- package/lib/item-graph.d.ts.map +1 -0
- package/lib/item-graph.js +47 -0
- package/lib/item-graph.js.map +1 -0
- package/lib/local/identity.d.ts +35 -0
- package/lib/local/identity.d.ts.map +1 -0
- package/lib/local/identity.js +27 -0
- package/lib/local/identity.js.map +1 -0
- package/lib/normalize.d.ts +13 -7
- package/lib/normalize.d.ts.map +1 -1
- package/lib/normalize.js +104 -24
- package/lib/normalize.js.map +1 -1
- package/lib/presentation-meta.d.ts +25 -20
- package/lib/presentation-meta.d.ts.map +1 -1
- package/lib/presentation-meta.js +27 -16
- package/lib/presentation-meta.js.map +1 -1
- package/lib/prompt.d.ts +1 -10
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js +5 -5
- package/lib/prompt.js.map +1 -1
- package/lib/provider-local.d.ts +30 -10
- package/lib/provider-local.d.ts.map +1 -1
- package/lib/provider-local.js +559 -110
- package/lib/provider-local.js.map +1 -1
- package/lib/refs.d.ts +37 -9
- package/lib/refs.d.ts.map +1 -1
- package/lib/refs.js +78 -6
- package/lib/refs.js.map +1 -1
- package/lib/service.d.ts +3 -2
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +11 -1
- package/lib/service.js.map +1 -1
- package/lib/tools/attachment.d.ts +0 -68
- package/lib/tools/attachment.d.ts.map +1 -1
- package/lib/tools/attachment.js +4 -4
- package/lib/tools/attachment.js.map +1 -1
- package/lib/tools/browse.d.ts +115 -0
- package/lib/tools/browse.d.ts.map +1 -0
- package/lib/tools/browse.js +166 -0
- package/lib/tools/browse.js.map +1 -0
- package/lib/tools/changes.d.ts +185 -0
- package/lib/tools/changes.d.ts.map +1 -0
- package/lib/tools/changes.js +168 -0
- package/lib/tools/changes.js.map +1 -0
- package/lib/tools/children.d.ts +176 -0
- package/lib/tools/children.d.ts.map +1 -0
- package/lib/tools/children.js +166 -0
- package/lib/tools/children.js.map +1 -0
- package/lib/tools/export.d.ts +0 -136
- package/lib/tools/export.d.ts.map +1 -1
- package/lib/tools/export.js +4 -4
- package/lib/tools/export.js.map +1 -1
- package/lib/tools/get.d.ts +24 -1
- package/lib/tools/get.d.ts.map +1 -1
- package/lib/tools/get.js +21 -5
- package/lib/tools/get.js.map +1 -1
- package/lib/tools/retrieve.d.ts +1 -1
- package/lib/tools/retrieve.d.ts.map +1 -1
- package/lib/tools/retrieve.js +3 -3
- package/lib/tools/retrieve.js.map +1 -1
- package/lib/tools/search.d.ts +54 -3
- package/lib/tools/search.d.ts.map +1 -1
- package/lib/tools/search.js +75 -6
- package/lib/tools/search.js.map +1 -1
- package/lib/types.d.ts +85 -5
- package/lib/types.d.ts.map +1 -1
- package/package.json +76 -29
package/README.en.md
CHANGED
|
@@ -65,6 +65,7 @@ The plugin provides a settings card under **Settings → Plugins** where you can
|
|
|
65
65
|
|
|
66
66
|
- Zotero ≥ 7 with local API enabled: **Settings → Advanced → "Allow other applications on this computer to communicate with Zotero"**
|
|
67
67
|
- Node.js ≥ 22.19 (or ≥ 24)
|
|
68
|
+
- dsh 0.1.0-rc.8 series host (all `@deepseek-ai/dsh-*` peer dependencies are `^0.1.0-rc.8`)
|
|
68
69
|
- Local API at `http://127.0.0.1:23119/api`, unauthenticated, read-only
|
|
69
70
|
|
|
70
71
|
## Usage example
|
|
@@ -100,6 +101,14 @@ More examples in [Features](docs/features.md).
|
|
|
100
101
|
- **Full-text evidence depends on Zotero's index**: unindexed PDFs yield no full-text passages
|
|
101
102
|
- **Attachment depth depends on the harness**: `zotero_attachment` returns the file location; reading the PDF further needs a matching host capability
|
|
102
103
|
|
|
104
|
+
## Permissions and external side effects
|
|
105
|
+
|
|
106
|
+
- **Network**: HTTP requests go only to `http://127.0.0.1:23119/api` (redirects are not followed); `resolveConfig` enforces a loopback address
|
|
107
|
+
- **Filesystem**: read-only — `zotero_attachment` verifies attachment paths with `existsSync`; no file writes
|
|
108
|
+
- **Persistence**: the only write comes from the settings card under Settings → Plugins, saved to the `zotero:` user layer of `$DSH_HOME/settings.yaml`
|
|
109
|
+
- **No shell / native / background tasks**: the plugin runs no shell commands, loads no native modules, and starts no daemon
|
|
110
|
+
- **Restart**: after installing or removing the plugin, restart dsh and start a new session; configuration changes hot-reload on save without a restart
|
|
111
|
+
|
|
103
112
|
## Documentation
|
|
104
113
|
|
|
105
114
|
| Doc | Covers |
|
package/README.md
CHANGED
|
@@ -65,6 +65,7 @@ dsh plugin --profile <name> add ./dsh-zotero-*.tgz
|
|
|
65
65
|
|
|
66
66
|
- Zotero ≥ 7 桌面版,启用本地 API:**设置 → 高级 → "允许其他应用程序与 Zotero 通信"**
|
|
67
67
|
- Node.js ≥ 22.19(或 ≥ 24)
|
|
68
|
+
- 宿主 dsh 0.1.0-rc.8 系列(`@deepseek-ai/dsh-*` peer 依赖均为 `^0.1.0-rc.8`)
|
|
68
69
|
- 本地 API 地址 `http://127.0.0.1:23119/api`,无认证,只读
|
|
69
70
|
|
|
70
71
|
## 使用示例
|
|
@@ -100,6 +101,14 @@ Agent → zotero_export(refs: [1,2,3], format: "bibtex")
|
|
|
100
101
|
- **全文证据依赖 Zotero 索引**:未索引的 PDF 无法提供全文段落
|
|
101
102
|
- **附件深度取决于宿主**:`zotero_attachment` 返回文件位置,继续阅读 PDF 需要宿主具备对应能力
|
|
102
103
|
|
|
104
|
+
## 权限与外部副作用
|
|
105
|
+
|
|
106
|
+
- **网络**:只向 `http://127.0.0.1:23119/api` 发起 HTTP 请求(不跟随重定向),`resolveConfig` 强制 loopback 地址
|
|
107
|
+
- **文件**:只读,`zotero_attachment` 用 `existsSync` 校验 Zotero 返回的附件路径,不写文件系统
|
|
108
|
+
- **持久化**:唯一写入来自 Settings → Plugins 中的配置卡片,保存到 `$DSH_HOME/settings.yaml` 的 `zotero:` 用户层
|
|
109
|
+
- **无 Shell / native / 后台任务**:插件不执行 shell 命令、不加载 native 模块、不启动常驻进程
|
|
110
|
+
- **重启**:安装或卸载插件后需要重启 dsh 并新建会话;配置修改保存即热更新,无需重启
|
|
111
|
+
|
|
103
112
|
## 文档
|
|
104
113
|
|
|
105
114
|
| 文档 | 内容 |
|
|
@@ -115,7 +124,7 @@ Agent → zotero_export(refs: [1,2,3], format: "bibtex")
|
|
|
115
124
|
## 开发
|
|
116
125
|
|
|
117
126
|
```sh
|
|
118
|
-
npm install
|
|
127
|
+
npm install # 本仓库与 ../deepseek-harness 并列;仅嵌套在 harness 内时需加 --no-workspaces
|
|
119
128
|
npm test # 单元测试(vitest,mock Zotero 服务器)
|
|
120
129
|
npm run typecheck # tsc --noEmit,覆盖 node、test、client 三个项目
|
|
121
130
|
npm run build # tsc 编译 node 部分到 lib/,esbuild 编译浏览器部分到 lib/client.js
|
|
@@ -123,8 +132,8 @@ npm run dev # tsc --watch,host half 热更新
|
|
|
123
132
|
npm run dev:client # esbuild --watch,浏览器部分热更新
|
|
124
133
|
```
|
|
125
134
|
|
|
126
|
-
|
|
135
|
+
`lib/` 放 Node 侧代码,`lib/client.js` 放浏览器侧代码(settings 卡片和 Zotero tab)。你用 `dev-lib.cordis.yml` overlay 跑完整插件流程,见[开发指南](docs/development.md)。本仓库与 `../deepseek-harness` 并列,属本地暂存布局。
|
|
127
136
|
|
|
128
137
|
## 许可证
|
|
129
138
|
|
|
130
|
-
[MIT](./LICENSE)
|
|
139
|
+
[MIT](./LICENSE):自由使用、修改和分发。
|
package/lib/ask.d.ts
CHANGED
|
@@ -15,9 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { Context } from '@deepseek-ai/cordis';
|
|
17
17
|
import { type ToolRunContext } from '@deepseek-ai/dsh-tools';
|
|
18
|
-
/** The connectivity failure codes that warrant asking the user how to proceed. */
|
|
19
|
-
export declare const ASK_WORTHY_CODES: readonly ["ZOTERO_NOT_RUNNING", "ZOTERO_API_DISABLED", "ZOTERO_API_VERSION", "ZOTERO_TIMEOUT"];
|
|
20
|
-
export type AskWorthyCode = (typeof ASK_WORTHY_CODES)[number];
|
|
21
18
|
/** The parts of a tool execution `withConnectivityAsk` needs. */
|
|
22
19
|
export type ConnectivityAskExec = Pick<ToolRunContext, 'signal' | 'agent'>;
|
|
23
20
|
/**
|
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;AAyB1E,iEAAiE;AACjE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAA;AA2E1E;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,CA4BZ"}
|
package/lib/ask.js
CHANGED
|
@@ -17,7 +17,7 @@ import { HarnessError } from '@deepseek-ai/dsh-llm';
|
|
|
17
17
|
import { TOOL_ABORTED } from '@deepseek-ai/dsh-tools';
|
|
18
18
|
import { ZOTERO_API_DISABLED, ZOTERO_API_VERSION, ZOTERO_NOT_RUNNING, ZOTERO_TIMEOUT, ZoteroError, } from './errors.js';
|
|
19
19
|
/** The connectivity failure codes that warrant asking the user how to proceed. */
|
|
20
|
-
|
|
20
|
+
const ASK_WORTHY_CODES = [
|
|
21
21
|
ZOTERO_NOT_RUNNING,
|
|
22
22
|
ZOTERO_API_DISABLED,
|
|
23
23
|
ZOTERO_API_VERSION,
|
package/lib/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAuB,MAAM,wBAAwB,CAAA;AAO1E,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,aAAa,CAAA;AAEpB,kFAAkF;AAClF,MAAM,
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"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"}
|
package/lib/client.js
CHANGED
|
@@ -405,6 +405,7 @@ var FIELD_SPECS = [
|
|
|
405
405
|
{ key: "maxResponseBytes", kind: "number", group: "groupOutput" },
|
|
406
406
|
{ key: "maxExportChars", kind: "number", group: "groupOutput" },
|
|
407
407
|
{ key: "maxExportRefs", kind: "number", group: "groupOutput" },
|
|
408
|
+
{ key: "maxBrowseResults", kind: "number", group: "groupOutput" },
|
|
408
409
|
{ key: "defaultStyle", kind: "text", group: "groupDefaults" },
|
|
409
410
|
{ key: "defaultLocale", kind: "text", group: "groupDefaults" }
|
|
410
411
|
];
|
|
@@ -818,10 +819,38 @@ function decodeSearchRows(value) {
|
|
|
818
819
|
}
|
|
819
820
|
return rows;
|
|
820
821
|
}
|
|
822
|
+
function decodeSupportedLibrary(value) {
|
|
823
|
+
if (!isRecord(value)) return null;
|
|
824
|
+
const type = stringField(value, "type");
|
|
825
|
+
const id = numberField2(value, "id");
|
|
826
|
+
if (type !== "user" && type !== "group" || id === void 0 || !Number.isInteger(id))
|
|
827
|
+
return null;
|
|
828
|
+
if (type === "user" && id !== 0) return null;
|
|
829
|
+
if (type === "group" && id <= 0) return null;
|
|
830
|
+
return { type, id };
|
|
831
|
+
}
|
|
832
|
+
function decodeResolvedScope(value) {
|
|
833
|
+
if (!isRecord(value)) return null;
|
|
834
|
+
const kind = stringField(value, "kind");
|
|
835
|
+
if (kind === "library") {
|
|
836
|
+
const lib = decodeSupportedLibrary(value["library"]);
|
|
837
|
+
if (lib === null) return null;
|
|
838
|
+
return { kind: "library", library: lib };
|
|
839
|
+
}
|
|
840
|
+
if (kind === "collection" || kind === "savedSearch") {
|
|
841
|
+
const ref = stringField(value, "ref");
|
|
842
|
+
const name2 = stringField(value, "name");
|
|
843
|
+
if (ref === void 0 || name2 === void 0) return null;
|
|
844
|
+
return { kind, ref, name: name2 };
|
|
845
|
+
}
|
|
846
|
+
return null;
|
|
847
|
+
}
|
|
821
848
|
function searchMetaOf(meta3) {
|
|
822
849
|
return {
|
|
823
850
|
rows: decodeSearchRows(meta3["items"]),
|
|
824
|
-
omitted: numberField2(meta3, "omitted") ?? null
|
|
851
|
+
omitted: numberField2(meta3, "omitted") ?? null,
|
|
852
|
+
scope: decodeResolvedScope(meta3["scope"]),
|
|
853
|
+
library: decodeSupportedLibrary(meta3["library"])
|
|
825
854
|
};
|
|
826
855
|
}
|
|
827
856
|
function getMetaOf(meta3) {
|
|
@@ -943,14 +972,28 @@ function searchIdentityOf(args) {
|
|
|
943
972
|
const mode = args["mode"] === "everything" ? "everything" : "metadata";
|
|
944
973
|
const itemTypes = normalizedListOf(args["itemTypes"]);
|
|
945
974
|
const tags = normalizedListOf(args["tags"]);
|
|
975
|
+
const tagMatch = args["tagMatch"] === "any" ? "any" : "all";
|
|
976
|
+
const excludeTags = normalizedListOf(args["excludeTags"]);
|
|
977
|
+
const includeTrashed = args["includeTrashed"] === true;
|
|
946
978
|
const sort = typeof args["sort"] === "string" ? args["sort"] : "";
|
|
947
979
|
const direction = typeof args["direction"] === "string" ? args["direction"] : "";
|
|
980
|
+
const library = (() => {
|
|
981
|
+
const l = args["library"];
|
|
982
|
+
if (isRecord(l) && (l["type"] === "user" || l["type"] === "group") && typeof l["id"] === "number") {
|
|
983
|
+
return { type: l["type"], id: l["id"] };
|
|
984
|
+
}
|
|
985
|
+
return { type: "user", id: 0 };
|
|
986
|
+
})();
|
|
948
987
|
return JSON.stringify({
|
|
949
988
|
query,
|
|
950
989
|
mode,
|
|
990
|
+
library,
|
|
951
991
|
scope: scopeOf(args["scope"]),
|
|
952
992
|
itemTypes,
|
|
953
993
|
tags,
|
|
994
|
+
tagMatch,
|
|
995
|
+
excludeTags,
|
|
996
|
+
includeTrashed,
|
|
954
997
|
sort,
|
|
955
998
|
direction
|
|
956
999
|
});
|
|
@@ -967,7 +1010,45 @@ function scopeOf(value) {
|
|
|
967
1010
|
return refOrName.startsWith("zotero://") ? { kind, ref: refOrName } : { kind, name: refOrName };
|
|
968
1011
|
}
|
|
969
1012
|
}
|
|
970
|
-
return { kind: "library" };
|
|
1013
|
+
return { kind: "library", library: { type: "user", id: 0 } };
|
|
1014
|
+
}
|
|
1015
|
+
function resolvedToSourceScope(scope) {
|
|
1016
|
+
if (scope.kind === "library") return { kind: "library", library: scope.library };
|
|
1017
|
+
if (scope.kind === "collection") return { kind: "collection", ref: scope.ref, name: scope.name };
|
|
1018
|
+
return { kind: "savedSearch", ref: scope.ref, name: scope.name };
|
|
1019
|
+
}
|
|
1020
|
+
function searchIdentityOfResolved(args, resolvedScope, resolvedLibrary) {
|
|
1021
|
+
if (args === null) return null;
|
|
1022
|
+
const query = typeof args["query"] === "string" ? args["query"] : "";
|
|
1023
|
+
const mode = args["mode"] === "everything" ? "everything" : "metadata";
|
|
1024
|
+
const itemTypes = normalizedListOf(args["itemTypes"]);
|
|
1025
|
+
const tags = normalizedListOf(args["tags"]);
|
|
1026
|
+
const tagMatch = args["tagMatch"] === "any" ? "any" : "all";
|
|
1027
|
+
const excludeTags = normalizedListOf(args["excludeTags"]);
|
|
1028
|
+
const includeTrashed = args["includeTrashed"] === true;
|
|
1029
|
+
const sort = typeof args["sort"] === "string" ? args["sort"] : "";
|
|
1030
|
+
const direction = typeof args["direction"] === "string" ? args["direction"] : "";
|
|
1031
|
+
const library = resolvedLibrary ?? (() => {
|
|
1032
|
+
const l = args["library"];
|
|
1033
|
+
if (isRecord(l) && (l["type"] === "user" || l["type"] === "group") && typeof l["id"] === "number") {
|
|
1034
|
+
return { type: l["type"], id: l["id"] };
|
|
1035
|
+
}
|
|
1036
|
+
return { type: "user", id: 0 };
|
|
1037
|
+
})();
|
|
1038
|
+
const scope = resolvedScope !== null ? resolvedToSourceScope(resolvedScope) : scopeOf(args["scope"]);
|
|
1039
|
+
return JSON.stringify({
|
|
1040
|
+
query,
|
|
1041
|
+
mode,
|
|
1042
|
+
library,
|
|
1043
|
+
scope,
|
|
1044
|
+
itemTypes,
|
|
1045
|
+
tags,
|
|
1046
|
+
tagMatch,
|
|
1047
|
+
excludeTags,
|
|
1048
|
+
includeTrashed,
|
|
1049
|
+
sort,
|
|
1050
|
+
direction
|
|
1051
|
+
});
|
|
971
1052
|
}
|
|
972
1053
|
function offsetOf(args) {
|
|
973
1054
|
if (args === null) return 0;
|
|
@@ -1125,16 +1206,27 @@ function buildSourceWorkspace(blocks, options = {}) {
|
|
|
1125
1206
|
if (state !== "ok") break;
|
|
1126
1207
|
const view = meta3 === null ? null : searchMetaOf(meta3);
|
|
1127
1208
|
if (view === null || view.rows === null) break;
|
|
1128
|
-
const
|
|
1209
|
+
const resolvedScope = view.scope;
|
|
1210
|
+
const resolvedLibrary = view.library;
|
|
1211
|
+
const identity = resolvedScope !== null && resolvedLibrary !== null ? searchIdentityOfResolved(args, resolvedScope, resolvedLibrary) : searchIdentityOf(args);
|
|
1129
1212
|
if (lastEpisode === null || identity === null || lastEpisode.identity !== identity) {
|
|
1213
|
+
const scopeForEpisode = resolvedScope !== null ? resolvedToSourceScope(resolvedScope) : scopeOf(args?.["scope"]);
|
|
1214
|
+
const libraryForEpisode = resolvedLibrary ?? (() => {
|
|
1215
|
+
const libArg = args?.["library"];
|
|
1216
|
+
return isRecord(libArg) && (libArg["type"] === "user" || libArg["type"] === "group") && typeof libArg["id"] === "number" ? libArg : void 0;
|
|
1217
|
+
})();
|
|
1130
1218
|
lastEpisode = {
|
|
1131
1219
|
identity,
|
|
1132
1220
|
callId: block.callId,
|
|
1133
1221
|
...typeof args?.["query"] === "string" && args["query"] !== "" ? { query: args["query"] } : {},
|
|
1134
1222
|
mode: args?.["mode"] === "everything" ? "everything" : "metadata",
|
|
1135
|
-
scope:
|
|
1223
|
+
scope: scopeForEpisode,
|
|
1224
|
+
...libraryForEpisode ? { library: libraryForEpisode } : {},
|
|
1136
1225
|
itemTypes: normalizedListOf(args?.["itemTypes"]),
|
|
1137
1226
|
tags: normalizedListOf(args?.["tags"]),
|
|
1227
|
+
tagMatch: args?.["tagMatch"] === "any" ? "any" : "all",
|
|
1228
|
+
excludeTags: normalizedListOf(args?.["excludeTags"]),
|
|
1229
|
+
includeTrashed: args?.["includeTrashed"] === true,
|
|
1138
1230
|
offset: offsetOf(args),
|
|
1139
1231
|
returned: 0,
|
|
1140
1232
|
omitted: 0,
|
|
@@ -1254,8 +1346,12 @@ function buildSourceWorkspace(blocks, options = {}) {
|
|
|
1254
1346
|
...episode.query === void 0 ? {} : { query: episode.query },
|
|
1255
1347
|
mode: episode.mode,
|
|
1256
1348
|
scope: episode.scope,
|
|
1349
|
+
...episode.library ? { library: episode.library } : {},
|
|
1257
1350
|
itemTypes: episode.itemTypes,
|
|
1258
|
-
tags: episode.tags
|
|
1351
|
+
tags: episode.tags,
|
|
1352
|
+
...episode.tagMatch ? { tagMatch: episode.tagMatch } : {},
|
|
1353
|
+
excludeTags: episode.excludeTags,
|
|
1354
|
+
includeTrashed: episode.includeTrashed
|
|
1259
1355
|
};
|
|
1260
1356
|
for (const key of episode.keys) {
|
|
1261
1357
|
byKey.get(key).searches.push(provenance);
|
|
@@ -1510,10 +1606,10 @@ var import_dsh_client_ui_primitives3 = require("@deepseek-ai/dsh-client-ui-primi
|
|
|
1510
1606
|
|
|
1511
1607
|
// src/client/build-info.ts
|
|
1512
1608
|
function buildVersion() {
|
|
1513
|
-
return true ? "0.4.
|
|
1609
|
+
return true ? "0.4.2" : "unknown";
|
|
1514
1610
|
}
|
|
1515
1611
|
function buildCommit() {
|
|
1516
|
-
return true ? "
|
|
1612
|
+
return true ? "84a41d9" : "unknown";
|
|
1517
1613
|
}
|
|
1518
1614
|
function buildInfoOf() {
|
|
1519
1615
|
return `${buildVersion()} \xB7 ${buildCommit()}`;
|
|
@@ -1530,14 +1626,14 @@ function connectionDiagnosisOf(connection, t) {
|
|
|
1530
1626
|
}
|
|
1531
1627
|
|
|
1532
1628
|
// src/client/components/workspace/workspace.module.css
|
|
1533
|
-
var style = `.Tz8rAq_view{background:var(--dsw-alias-bg-layer-1);height:100%;color:var(--dsw-alias-label-primary);flex-direction:column;display:flex;container-type:inline-size}.Tz8rAq_lensBar,.Tz8rAq_workspace,.Tz8rAq_exportsPage,.Tz8rAq_evidencePage{box-sizing:border-box;width:100%;max-width:1440px;margin-inline:auto}.Tz8rAq_toolbar{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);flex-wrap:wrap;flex:none;align-items:center;gap:4px 8px;min-height:36px;padding:5px 12px;display:flex}.Tz8rAq_statusText{color:var(--dsw-alias-label-secondary);flex:none;font-size:13px;font-weight:500;line-height:20px}.Tz8rAq_diagnosis{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-state-error-primary);flex:auto;font-size:12px;line-height:18px;overflow:hidden}.Tz8rAq_spacer{flex:auto}.Tz8rAq_menuButton{min-width:28px;height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.Tz8rAq_menuButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Tz8rAq_menuButton:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.Tz8rAq_refresh{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;flex:none;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.Tz8rAq_refresh:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Tz8rAq_refresh:disabled{opacity:.5;cursor:default}.Tz8rAq_refresh:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.Tz8rAq_lensBar{flex:none;align-items:stretch;gap:12px;padding:4px 12px 0;display:flex}.Tz8rAq_lensTab{color:var(--dsw-alias-label-secondary);cursor:pointer;transition:color .12s var(--ds-ease-in-out);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:6px 2px;font-family:inherit;font-size:13px;line-height:20px;display:inline-flex}.Tz8rAq_lensTab:hover{color:var(--dsw-alias-label-primary)}.Tz8rAq_lensTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Tz8rAq_lensTabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-label-primary)}.Tz8rAq_lensTabCount{color:var(--dsw-alias-label-caption);font-size:12px;line-height:16px}.Tz8rAq_workspace{flex:auto;grid-template-columns:clamp(280px,30cqi,400px) minmax(0,1fr);min-height:0;display:grid}.Tz8rAq_sidebar{min-height:0;padding:8px 12px calc(var(--dsh-composer-height,152px) + 16px);border-right:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:8px;display:flex;overflow:hidden}.Tz8rAq_filterBar{scrollbar-width:none;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-wrap:nowrap;flex:none;align-items:center;gap:4px;display:flex;position:relative;overflow-x:auto}.Tz8rAq_filterBar>*{flex:none}.Tz8rAq_filterBar::-webkit-scrollbar{display:none}.Tz8rAq_filterArrow{z-index:2;border:1px solid var(--dsw-alias-border-l2-darkmode-thin);background:var(--dsw-specific-input-major);width:20px;height:20px;color:var(--dsw-alias-label-secondary);box-shadow:var(--dsw-shadow-lv2);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.Tz8rAq_filterArrow:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.Tz8rAq_filterArrowLeft{left:2px}.Tz8rAq_filterArrowRight{right:2px}.Tz8rAq_evidenceEntry{height:24px;color:var(--dsw-alias-state-business-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-self:flex-start;align-items:center;margin-left:8px;padding:0;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.Tz8rAq_evidenceEntry:hover{text-decoration:underline}.Tz8rAq_evidenceEntry:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.Tz8rAq_evidencePage{min-height:0;padding:8px 16px calc(var(--dsh-composer-height,152px) + 16px);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;flex:auto;gap:8px;display:flex;overflow-y:auto}.Tz8rAq_emptyNote{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}.Tz8rAq_emptyWrap{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.Tz8rAq_filterClear{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.Tz8rAq_filterClear:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Tz8rAq_filterClear:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.Tz8rAq_listbox{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex;overflow-y:auto}.Tz8rAq_listItem{cursor:pointer;border-left:2px solid #0000;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px 6px 10px;display:flex}.Tz8rAq_listItem:hover{background:var(--dsw-alias-interactive-bg-hover)}.Tz8rAq_listItem:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Tz8rAq_listItemSelected{background:var(--dsw-alias-interactive-bg-hover);border-left-color:var(--dsw-alias-state-business-primary)}.Tz8rAq_listItemTitle{min-width:0;color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}.Tz8rAq_listItemMeta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px;overflow:hidden}.Tz8rAq_badges{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.Tz8rAq_badge{letter-spacing:.035em;height:18px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;display:inline-flex}.Tz8rAq_inspector{min-height:0;padding:8px 16px calc(var(--dsh-composer-height,152px) + 16px);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;gap:8px;display:flex;overflow-y:auto}.Tz8rAq_backAction{display:none}.Tz8rAq_inspectorHead,.Tz8rAq_inspectorTitleWrap{flex-direction:column;gap:2px;display:flex}.Tz8rAq_inspectorTitle{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:22px}.Tz8rAq_inspectorMeta{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.Tz8rAq_inspectorTabs{border-bottom:1px solid var(--dsw-alias-border-l2);flex:none;align-items:stretch;gap:12px;display:flex}.Tz8rAq_detailTab{color:var(--dsw-alias-label-secondary);cursor:pointer;transition:color .12s var(--ds-ease-in-out);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;padding:4px 1px;font-family:inherit;font-size:12px;line-height:18px;display:inline-flex}.Tz8rAq_detailTab:hover{color:var(--dsw-alias-label-primary)}.Tz8rAq_detailTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Tz8rAq_detailTabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-label-primary)}.Tz8rAq_detailTabCount{color:var(--dsw-alias-label-caption);font-size:11px;line-height:14px}.Tz8rAq_inspectorBody{flex-direction:column;gap:8px;min-height:0;display:flex}.Tz8rAq_panel{flex-direction:column;gap:6px;max-width:900px;display:flex}.Tz8rAq_section{flex-direction:column;gap:2px;display:flex}.Tz8rAq_sectionLabel{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}.Tz8rAq_line{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}.Tz8rAq_note{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}.Tz8rAq_warning{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:18px}.Tz8rAq_summaryLine{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}.Tz8rAq_actionRow{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.Tz8rAq_action{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.Tz8rAq_action:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Tz8rAq_action:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.Tz8rAq_passages{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.Tz8rAq_passage{flex-direction:column;gap:2px;display:flex}.Tz8rAq_passageHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.Tz8rAq_sourceTag{letter-spacing:.035em;height:18px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;display:inline-flex}.Tz8rAq_availability{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.Tz8rAq_cardStack{flex-direction:column;gap:8px;display:flex}.Tz8rAq_exportStack{flex-direction:column;display:flex}.Tz8rAq_exportStack>*+*{border-top:1px solid var(--dsw-alias-border-l2)}.Tz8rAq_detailToggle{height:22px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;padding:0 2px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.Tz8rAq_detailToggle:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.Tz8rAq_detailToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.Tz8rAq_exportsPage{min-height:0;padding:8px 16px calc(var(--dsh-composer-height,152px) + 16px);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;flex:auto;gap:8px;display:flex;overflow-y:auto}.Tz8rAq_empty{min-height:0;padding:72px 16px calc(var(--dsh-composer-height,152px) + 32px);flex-direction:column;flex:auto;align-items:center;gap:8px;display:flex}.Tz8rAq_emptyIcon{color:var(--dsw-alias-label-caption)}.Tz8rAq_emptyText{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px;line-height:20px}.Tz8rAq_starterRow{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}@container (width<=760px){.Tz8rAq_workspace{grid-template-columns:minmax(0,1fr)}.Tz8rAq_workspace[data-pane=list] .Tz8rAq_inspector,.Tz8rAq_workspace[data-pane=detail] .Tz8rAq_sidebar{display:none}.Tz8rAq_backAction{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.Tz8rAq_backAction:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Tz8rAq_backAction:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}}@container (width<=620px){.Tz8rAq_lensBar{padding:4px 8px 0}.Tz8rAq_sidebar{padding:8px 8px calc(var(--dsh-composer-height,152px) + 16px)}.Tz8rAq_inspector,.Tz8rAq_exportsPage{padding-left:12px;padding-right:12px}}@container (width<=460px){.Tz8rAq_toolbar{padding:4px 8px}}@media (prefers-reduced-motion:reduce){.Tz8rAq_refresh,.Tz8rAq_action,.Tz8rAq_menuButton,.Tz8rAq_filterClear,.Tz8rAq_backAction,.Tz8rAq_lensTab,.Tz8rAq_detailTab{transition:none}}`;
|
|
1629
|
+
var style = `._o1AEW_view{background:var(--dsw-alias-bg-layer-1);height:100%;color:var(--dsw-alias-label-primary);flex-direction:column;display:flex;container-type:inline-size}._o1AEW_lensBar,._o1AEW_workspace,._o1AEW_exportsPage,._o1AEW_evidencePage{box-sizing:border-box;width:100%;max-width:1440px;margin-inline:auto}._o1AEW_toolbar{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);flex-wrap:wrap;flex:none;align-items:center;gap:4px 8px;min-height:36px;padding:5px 12px;display:flex}._o1AEW_statusText{color:var(--dsw-alias-label-secondary);flex:none;font-size:13px;font-weight:500;line-height:20px}._o1AEW_diagnosis{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-state-error-primary);flex:auto;font-size:12px;line-height:18px;overflow:hidden}._o1AEW_spacer{flex:auto}._o1AEW_menuButton{min-width:28px;height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._o1AEW_menuButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._o1AEW_menuButton:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._o1AEW_refresh{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;flex:none;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._o1AEW_refresh:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._o1AEW_refresh:disabled{opacity:.5;cursor:default}._o1AEW_refresh:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._o1AEW_lensBar{flex:none;align-items:stretch;gap:12px;padding:4px 12px 0;display:flex}._o1AEW_lensTab{color:var(--dsw-alias-label-secondary);cursor:pointer;transition:color .12s var(--ds-ease-in-out);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:6px 2px;font-family:inherit;font-size:13px;line-height:20px;display:inline-flex}._o1AEW_lensTab:hover{color:var(--dsw-alias-label-primary)}._o1AEW_lensTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}._o1AEW_lensTabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-label-primary)}._o1AEW_lensTabCount{color:var(--dsw-alias-label-caption);font-size:12px;line-height:16px}._o1AEW_workspace{flex:auto;grid-template-columns:clamp(280px,30cqi,400px) minmax(0,1fr);min-height:0;display:grid}._o1AEW_sidebar{min-height:0;padding:8px 12px calc(var(--dsh-composer-height,152px) + 16px);border-right:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:8px;display:flex;overflow:hidden}._o1AEW_filterBar{scrollbar-width:none;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-wrap:nowrap;flex:none;align-items:center;gap:4px;display:flex;position:relative;overflow-x:auto}._o1AEW_filterBar>*{flex:none}._o1AEW_filterBar::-webkit-scrollbar{display:none}._o1AEW_filterArrow{z-index:2;border:1px solid var(--dsw-alias-border-l2-darkmode-thin);background:var(--dsw-specific-input-major);width:20px;height:20px;color:var(--dsw-alias-label-secondary);box-shadow:var(--dsw-shadow-lv2);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}._o1AEW_filterArrow:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}._o1AEW_filterArrowLeft{left:2px}._o1AEW_filterArrowRight{right:2px}._o1AEW_evidenceEntry{height:24px;color:var(--dsw-alias-state-business-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-self:flex-start;align-items:center;margin-left:8px;padding:0;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._o1AEW_evidenceEntry:hover{text-decoration:underline}._o1AEW_evidenceEntry:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._o1AEW_evidencePage{min-height:0;padding:8px 16px calc(var(--dsh-composer-height,152px) + 16px);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;flex:auto;gap:8px;display:flex;overflow-y:auto}._o1AEW_emptyNote{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}._o1AEW_emptyWrap{flex-direction:column;align-items:flex-start;gap:6px;display:flex}._o1AEW_filterClear{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._o1AEW_filterClear:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._o1AEW_filterClear:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._o1AEW_listbox{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex;overflow-y:auto}._o1AEW_listItem{cursor:pointer;border-left:2px solid #0000;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px 6px 10px;display:flex}._o1AEW_listItem:hover{background:var(--dsw-alias-interactive-bg-hover)}._o1AEW_listItem:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}._o1AEW_listItemSelected{background:var(--dsw-alias-interactive-bg-hover);border-left-color:var(--dsw-alias-state-business-primary)}._o1AEW_listItemTitle{min-width:0;color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}._o1AEW_listItemMeta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px;overflow:hidden}._o1AEW_badges{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}._o1AEW_badge{letter-spacing:.035em;height:18px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;display:inline-flex}._o1AEW_inspector{min-height:0;padding:8px 16px calc(var(--dsh-composer-height,152px) + 16px);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;gap:8px;display:flex;overflow-y:auto}._o1AEW_backAction{display:none}._o1AEW_inspectorHead,._o1AEW_inspectorTitleWrap{flex-direction:column;gap:2px;display:flex}._o1AEW_inspectorTitle{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:22px}._o1AEW_inspectorMeta{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._o1AEW_inspectorTabs{border-bottom:1px solid var(--dsw-alias-border-l2);flex:none;align-items:stretch;gap:12px;display:flex}._o1AEW_detailTab{color:var(--dsw-alias-label-secondary);cursor:pointer;transition:color .12s var(--ds-ease-in-out);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;padding:4px 1px;font-family:inherit;font-size:12px;line-height:18px;display:inline-flex}._o1AEW_detailTab:hover{color:var(--dsw-alias-label-primary)}._o1AEW_detailTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}._o1AEW_detailTabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-label-primary)}._o1AEW_detailTabCount{color:var(--dsw-alias-label-caption);font-size:11px;line-height:14px}._o1AEW_inspectorBody{flex-direction:column;gap:8px;min-height:0;display:flex}._o1AEW_panel{flex-direction:column;gap:6px;max-width:900px;display:flex}._o1AEW_section{flex-direction:column;gap:2px;display:flex}._o1AEW_sectionLabel{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}._o1AEW_line{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._o1AEW_note{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}._o1AEW_warning{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:18px}._o1AEW_summaryLine{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}._o1AEW_actionRow{flex-wrap:wrap;align-items:center;gap:4px;display:flex}._o1AEW_action{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._o1AEW_action:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._o1AEW_action:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._o1AEW_passages{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}._o1AEW_passage{flex-direction:column;gap:2px;display:flex}._o1AEW_passageHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}._o1AEW_sourceTag{letter-spacing:.035em;height:18px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;display:inline-flex}._o1AEW_availability{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}._o1AEW_cardStack{flex-direction:column;gap:8px;display:flex}._o1AEW_exportStack{flex-direction:column;display:flex}._o1AEW_exportStack>*+*{border-top:1px solid var(--dsw-alias-border-l2)}._o1AEW_detailToggle{height:22px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;padding:0 2px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._o1AEW_detailToggle:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}._o1AEW_detailToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._o1AEW_exportsPage{min-height:0;padding:8px 16px calc(var(--dsh-composer-height,152px) + 16px);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;flex:auto;gap:8px;display:flex;overflow-y:auto}._o1AEW_empty{min-height:0;padding:72px 16px calc(var(--dsh-composer-height,152px) + 32px);flex-direction:column;flex:auto;align-items:center;gap:8px;display:flex}._o1AEW_emptyIcon{color:var(--dsw-alias-label-caption)}._o1AEW_emptyText{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px;line-height:20px}._o1AEW_starterRow{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}@container (width<=760px){._o1AEW_workspace{grid-template-columns:minmax(0,1fr)}._o1AEW_workspace[data-pane=list] ._o1AEW_inspector,._o1AEW_workspace[data-pane=detail] ._o1AEW_sidebar{display:none}._o1AEW_backAction{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._o1AEW_backAction:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._o1AEW_backAction:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}}@container (width<=620px){._o1AEW_lensBar{padding:4px 8px 0}._o1AEW_sidebar{padding:8px 8px calc(var(--dsh-composer-height,152px) + 16px)}._o1AEW_inspector,._o1AEW_exportsPage{padding-left:12px;padding-right:12px}}@container (width<=460px){._o1AEW_toolbar{padding:4px 8px}}@media (prefers-reduced-motion:reduce){._o1AEW_refresh,._o1AEW_action,._o1AEW_menuButton,._o1AEW_filterClear,._o1AEW_backAction,._o1AEW_lensTab,._o1AEW_detailTab{transition:none}}`;
|
|
1534
1630
|
if (typeof document !== "undefined" && !document.querySelector('style[data-plugin-css="dsh-zotero/workspace.module.css"]')) {
|
|
1535
1631
|
const tag = document.createElement("style");
|
|
1536
1632
|
tag.setAttribute("data-plugin-css", "dsh-zotero/workspace.module.css");
|
|
1537
1633
|
tag.textContent = style;
|
|
1538
1634
|
document.head.appendChild(tag);
|
|
1539
1635
|
}
|
|
1540
|
-
var workspace_default = { "
|
|
1636
|
+
var workspace_default = { "note": "_o1AEW_note", "listItem": "_o1AEW_listItem", "summaryLine": "_o1AEW_summaryLine", "emptyText": "_o1AEW_emptyText", "listItemTitle": "_o1AEW_listItemTitle", "empty": "_o1AEW_empty", "lensTabActive": "_o1AEW_lensTabActive", "listbox": "_o1AEW_listbox", "lensTabCount": "_o1AEW_lensTabCount", "lensBar": "_o1AEW_lensBar", "actionRow": "_o1AEW_actionRow", "inspector": "_o1AEW_inspector", "exportsPage": "_o1AEW_exportsPage", "statusText": "_o1AEW_statusText", "filterArrowLeft": "_o1AEW_filterArrowLeft", "diagnosis": "_o1AEW_diagnosis", "badges": "_o1AEW_badges", "panel": "_o1AEW_panel", "detailToggle": "_o1AEW_detailToggle", "inspectorTitleWrap": "_o1AEW_inspectorTitleWrap", "inspectorBody": "_o1AEW_inspectorBody", "sectionLabel": "_o1AEW_sectionLabel", "starterRow": "_o1AEW_starterRow", "detailTabCount": "_o1AEW_detailTabCount", "action": "_o1AEW_action", "passages": "_o1AEW_passages", "filterClear": "_o1AEW_filterClear", "filterArrowRight": "_o1AEW_filterArrowRight", "availability": "_o1AEW_availability", "passage": "_o1AEW_passage", "sidebar": "_o1AEW_sidebar", "listItemSelected": "_o1AEW_listItemSelected", "refresh": "_o1AEW_refresh", "inspectorMeta": "_o1AEW_inspectorMeta", "sourceTag": "_o1AEW_sourceTag", "exportStack": "_o1AEW_exportStack", "badge": "_o1AEW_badge", "filterBar": "_o1AEW_filterBar", "spacer": "_o1AEW_spacer", "section": "_o1AEW_section", "warning": "_o1AEW_warning", "inspectorTabs": "_o1AEW_inspectorTabs", "listItemMeta": "_o1AEW_listItemMeta", "passageHead": "_o1AEW_passageHead", "toolbar": "_o1AEW_toolbar", "emptyNote": "_o1AEW_emptyNote", "workspace": "_o1AEW_workspace", "backAction": "_o1AEW_backAction", "detailTab": "_o1AEW_detailTab", "cardStack": "_o1AEW_cardStack", "menuButton": "_o1AEW_menuButton", "view": "_o1AEW_view", "filterArrow": "_o1AEW_filterArrow", "evidenceEntry": "_o1AEW_evidenceEntry", "emptyWrap": "_o1AEW_emptyWrap", "evidencePage": "_o1AEW_evidencePage", "lensTab": "_o1AEW_lensTab", "inspectorHead": "_o1AEW_inspectorHead", "inspectorTitle": "_o1AEW_inspectorTitle", "detailTabActive": "_o1AEW_detailTabActive", "line": "_o1AEW_line", "emptyIcon": "_o1AEW_emptyIcon" };
|
|
1541
1637
|
|
|
1542
1638
|
// src/client/components/workspace/WorkspaceToolbar.tsx
|
|
1543
1639
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
@@ -1862,14 +1958,14 @@ var import_react4 = require("react");
|
|
|
1862
1958
|
var import_dsh_client_ui_primitives5 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1863
1959
|
|
|
1864
1960
|
// src/client/components/open/open.module.css
|
|
1865
|
-
var style2 = `.
|
|
1961
|
+
var style2 = `._02bwZG_linkWrap{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}._02bwZG_link{color:var(--dsw-alias-state-business-primary);font-size:12px;line-height:16px;text-decoration:none}._02bwZG_link:hover{text-decoration:underline}._02bwZG_link:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._02bwZG_note{color:var(--dsw-alias-label-caption);font-size:12px;line-height:18px}._02bwZG_button{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;text-decoration:none;display:inline-flex}._02bwZG_button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._02bwZG_button:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._02bwZG_blocked{opacity:.5;cursor:default}._02bwZG_blocked:hover{color:var(--dsw-alias-label-secondary);background:0 0}._02bwZG_srOnly{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){._02bwZG_button{transition:none}}`;
|
|
1866
1962
|
if (typeof document !== "undefined" && !document.querySelector('style[data-plugin-css="dsh-zotero/open.module.css"]')) {
|
|
1867
1963
|
const tag = document.createElement("style");
|
|
1868
1964
|
tag.setAttribute("data-plugin-css", "dsh-zotero/open.module.css");
|
|
1869
1965
|
tag.textContent = style2;
|
|
1870
1966
|
document.head.appendChild(tag);
|
|
1871
1967
|
}
|
|
1872
|
-
var open_default = { "
|
|
1968
|
+
var open_default = { "linkWrap": "_02bwZG_linkWrap", "button": "_02bwZG_button", "note": "_02bwZG_note", "srOnly": "_02bwZG_srOnly", "blocked": "_02bwZG_blocked", "link": "_02bwZG_link" };
|
|
1873
1969
|
|
|
1874
1970
|
// src/client/components/open/BlockedOpenAction.tsx
|
|
1875
1971
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
@@ -2031,14 +2127,14 @@ var import_react6 = require("react");
|
|
|
2031
2127
|
var import_dsh_client_ui_primitives7 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2032
2128
|
|
|
2033
2129
|
// src/client/components/SourcesList.module.css
|
|
2034
|
-
var style3 =
|
|
2130
|
+
var style3 = `.o5qj9a_note{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}.o5qj9a_line{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}.o5qj9a_lineActions{flex:none;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.o5qj9a_lineAction{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}.o5qj9a_lineAction:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.o5qj9a_lineAction:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.o5qj9a_chevron{color:var(--dsw-alias-label-caption);transition:transform .12s var(--ds-ease-in-out);flex:none}.o5qj9a_chevronOpen{transform:rotate(180deg)}.o5qj9a_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:8px;flex-direction:column;gap:6px;max-width:900px;padding:10px 12px;display:flex}.o5qj9a_cardHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.o5qj9a_cardTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}.o5qj9a_link{color:var(--dsw-alias-state-business-primary);font-size:12px;line-height:16px;text-decoration:none}.o5qj9a_link:hover{text-decoration:underline}.o5qj9a_link:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.o5qj9a_passages{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.o5qj9a_passage{flex-direction:column;gap:2px;display:flex}.o5qj9a_passageHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.o5qj9a_sourceTag{letter-spacing:.035em;height:18px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;display:inline-flex}.o5qj9a_availability{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.o5qj9a_exportRow{flex-direction:column;gap:4px;padding:6px 0;display:flex}.o5qj9a_exportSection{flex-direction:column;gap:2px;display:flex}.o5qj9a_exportSectionHead{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 0 4px;display:flex}.o5qj9a_exportSectionTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}.o5qj9a_exportSectionCount{color:var(--dsw-alias-label-caption);flex:none;font-size:12px;line-height:18px}.o5qj9a_exportSectionActions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.o5qj9a_documentKey{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-primary);flex:auto;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.o5qj9a_documentTitle{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-caption);margin:0;padding-left:2px;font-size:12px;line-height:18px;overflow:hidden}.o5qj9a_exportHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.o5qj9a_exportToggle{text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:8px;min-width:0;padding:2px 0;font-family:inherit;display:inline-flex}.o5qj9a_exportToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px;border-radius:4px}.o5qj9a_exportTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}.o5qj9a_exportFacts{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-caption);flex:auto;font-size:12px;line-height:18px;overflow:hidden}.o5qj9a_exportBody{flex-direction:column;gap:6px;max-width:960px;padding:4px 0 10px;display:flex}.o5qj9a_exportCode{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:8px;overflow:hidden}.o5qj9a_exportCodeHead{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;min-height:32px;padding:0 10px;display:flex}.o5qj9a_exportCodeLabel{min-width:0;color:var(--dsw-alias-label-secondary);flex:auto;font-size:12px;line-height:16px}.o5qj9a_exportKeys{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;display:flex}.o5qj9a_exportKeysText{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:480px;font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px;overflow:hidden}.o5qj9a_exportPre{max-height:280px;font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-secondary);white-space:pre;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);margin:0;padding:10px 12px;font-size:12px;line-height:18px;overflow:auto}.o5qj9a_unresolvedItems{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 0 6px;display:flex}.o5qj9a_unresolvedItemsText{color:var(--dsw-alias-label-caption);font-size:12px;line-height:18px}@media (prefers-reduced-motion:reduce){.o5qj9a_chevron,.o5qj9a_lineAction{transition:none}}`;
|
|
2035
2131
|
if (typeof document !== "undefined" && !document.querySelector('style[data-plugin-css="dsh-zotero/SourcesList.module.css"]')) {
|
|
2036
2132
|
const tag = document.createElement("style");
|
|
2037
2133
|
tag.setAttribute("data-plugin-css", "dsh-zotero/SourcesList.module.css");
|
|
2038
2134
|
tag.textContent = style3;
|
|
2039
2135
|
document.head.appendChild(tag);
|
|
2040
2136
|
}
|
|
2041
|
-
var SourcesList_default = { "
|
|
2137
|
+
var SourcesList_default = { "lineAction": "o5qj9a_lineAction", "passageHead": "o5qj9a_passageHead", "passage": "o5qj9a_passage", "exportSectionCount": "o5qj9a_exportSectionCount", "exportCodeLabel": "o5qj9a_exportCodeLabel", "line": "o5qj9a_line", "card": "o5qj9a_card", "exportPre": "o5qj9a_exportPre", "exportBody": "o5qj9a_exportBody", "exportHead": "o5qj9a_exportHead", "exportTitle": "o5qj9a_exportTitle", "exportFacts": "o5qj9a_exportFacts", "documentTitle": "o5qj9a_documentTitle", "exportKeys": "o5qj9a_exportKeys", "exportSection": "o5qj9a_exportSection", "exportKeysText": "o5qj9a_exportKeysText", "availability": "o5qj9a_availability", "lineActions": "o5qj9a_lineActions", "exportSectionTitle": "o5qj9a_exportSectionTitle", "link": "o5qj9a_link", "unresolvedItems": "o5qj9a_unresolvedItems", "exportCodeHead": "o5qj9a_exportCodeHead", "chevron": "o5qj9a_chevron", "documentKey": "o5qj9a_documentKey", "exportToggle": "o5qj9a_exportToggle", "cardHead": "o5qj9a_cardHead", "passages": "o5qj9a_passages", "exportSectionHead": "o5qj9a_exportSectionHead", "cardTitle": "o5qj9a_cardTitle", "unresolvedItemsText": "o5qj9a_unresolvedItemsText", "exportCode": "o5qj9a_exportCode", "exportRow": "o5qj9a_exportRow", "chevronOpen": "o5qj9a_chevronOpen", "note": "o5qj9a_note", "exportSectionActions": "o5qj9a_exportSectionActions", "sourceTag": "o5qj9a_sourceTag" };
|
|
2042
2138
|
|
|
2043
2139
|
// src/client/components/CopyButton.tsx
|
|
2044
2140
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
@@ -17482,6 +17578,8 @@ var en = {
|
|
|
17482
17578
|
maxExportCharsHint: "Provider hard limit for zotero_export output.",
|
|
17483
17579
|
maxExportRefs: "Export ref cap",
|
|
17484
17580
|
maxExportRefsHint: "Refs one zotero_export call accepts at most.",
|
|
17581
|
+
maxBrowseResults: "Browse result cap",
|
|
17582
|
+
maxBrowseResultsHint: "Items one zotero_browse call returns at most.",
|
|
17485
17583
|
defaultStyle: "Default citation style",
|
|
17486
17584
|
defaultStyleHint: "CSL style id for citation and bibliography formats (e.g. apa).",
|
|
17487
17585
|
defaultLocale: "Default locale",
|
|
@@ -17661,6 +17759,8 @@ var zh = {
|
|
|
17661
17759
|
maxExportCharsHint: "zotero_export \u8F93\u51FA\u7684\u63D0\u4F9B\u65B9\u786C\u4E0A\u9650\u3002",
|
|
17662
17760
|
maxExportRefs: "\u5BFC\u51FA\u6761\u76EE\u4E0A\u9650",
|
|
17663
17761
|
maxExportRefsHint: "zotero_export \u5355\u6B21\u8C03\u7528\u6700\u591A\u63A5\u53D7\u7684 refs \u6570\u3002",
|
|
17762
|
+
maxBrowseResults: "\u6D4F\u89C8\u7ED3\u679C\u4E0A\u9650",
|
|
17763
|
+
maxBrowseResultsHint: "zotero_browse \u5355\u6B21\u8C03\u7528\u6700\u591A\u8FD4\u56DE\u7684\u6761\u76EE\u6570\u3002",
|
|
17664
17764
|
defaultStyle: "\u9ED8\u8BA4\u5F15\u6587\u6837\u5F0F",
|
|
17665
17765
|
defaultStyleHint: "citation/bibliography \u683C\u5F0F\u7684 CSL \u6837\u5F0F id\uFF08\u5982 apa\uFF09\u3002",
|
|
17666
17766
|
defaultLocale: "\u9ED8\u8BA4\u533A\u57DF\u8BBE\u7F6E",
|