@wetoria/siyuan-sdk 0.0.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.
Files changed (102) hide show
  1. package/README.md +44 -0
  2. package/dist/api/archive/index.d.ts +12 -0
  3. package/dist/api/archive/index.d.ts.map +1 -0
  4. package/dist/api/archive/index.js +8 -0
  5. package/dist/api/archive/index.js.map +1 -0
  6. package/dist/api/asset/index.d.ts +12 -0
  7. package/dist/api/asset/index.d.ts.map +1 -0
  8. package/dist/api/asset/index.js +10 -0
  9. package/dist/api/asset/index.js.map +1 -0
  10. package/dist/api/attr/index.d.ts +39 -0
  11. package/dist/api/attr/index.d.ts.map +1 -0
  12. package/dist/api/attr/index.js +17 -0
  13. package/dist/api/attr/index.js.map +1 -0
  14. package/dist/api/block/index.d.ts +91 -0
  15. package/dist/api/block/index.d.ts.map +1 -0
  16. package/dist/api/block/index.js +87 -0
  17. package/dist/api/block/index.js.map +1 -0
  18. package/dist/api/convert/index.d.ts +12 -0
  19. package/dist/api/convert/index.d.ts.map +1 -0
  20. package/dist/api/convert/index.js +5 -0
  21. package/dist/api/convert/index.js.map +1 -0
  22. package/dist/api/export/index.d.ts +18 -0
  23. package/dist/api/export/index.d.ts.map +1 -0
  24. package/dist/api/export/index.js +12 -0
  25. package/dist/api/export/index.js.map +1 -0
  26. package/dist/api/file/index.d.ts +27 -0
  27. package/dist/api/file/index.d.ts.map +1 -0
  28. package/dist/api/file/index.js +27 -0
  29. package/dist/api/file/index.js.map +1 -0
  30. package/dist/api/filetree/index.d.ts +50 -0
  31. package/dist/api/filetree/index.d.ts.map +1 -0
  32. package/dist/api/filetree/index.js +47 -0
  33. package/dist/api/filetree/index.js.map +1 -0
  34. package/dist/api/index.d.ts +38 -0
  35. package/dist/api/index.d.ts.map +1 -0
  36. package/dist/api/index.js +17 -0
  37. package/dist/api/index.js.map +1 -0
  38. package/dist/api/network/index.d.ts +12 -0
  39. package/dist/api/network/index.d.ts.map +1 -0
  40. package/dist/api/network/index.js +12 -0
  41. package/dist/api/network/index.js.map +1 -0
  42. package/dist/api/notebook/index.d.ts +48 -0
  43. package/dist/api/notebook/index.d.ts.map +1 -0
  44. package/dist/api/notebook/index.js +32 -0
  45. package/dist/api/notebook/index.js.map +1 -0
  46. package/dist/api/notification/index.d.ts +17 -0
  47. package/dist/api/notification/index.d.ts.map +1 -0
  48. package/dist/api/notification/index.js +14 -0
  49. package/dist/api/notification/index.js.map +1 -0
  50. package/dist/api/sql/index.d.ts +29 -0
  51. package/dist/api/sql/index.d.ts.map +1 -0
  52. package/dist/api/sql/index.js +18 -0
  53. package/dist/api/sql/index.js.map +1 -0
  54. package/dist/api/sqlite/index.d.ts +12 -0
  55. package/dist/api/sqlite/index.d.ts.map +1 -0
  56. package/dist/api/sqlite/index.js +5 -0
  57. package/dist/api/sqlite/index.js.map +1 -0
  58. package/dist/api/system/index.d.ts +27 -0
  59. package/dist/api/system/index.d.ts.map +1 -0
  60. package/dist/api/system/index.js +14 -0
  61. package/dist/api/system/index.js.map +1 -0
  62. package/dist/api/template/index.d.ts +18 -0
  63. package/dist/api/template/index.d.ts.map +1 -0
  64. package/dist/api/template/index.js +11 -0
  65. package/dist/api/template/index.js.map +1 -0
  66. package/dist/core/index.d.ts +103 -0
  67. package/dist/core/index.d.ts.map +1 -0
  68. package/dist/core/index.js +152 -0
  69. package/dist/core/index.js.map +1 -0
  70. package/dist/index.d.ts +8 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +7 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/types/index.d.ts +88 -0
  75. package/dist/types/index.d.ts.map +1 -0
  76. package/dist/types/index.js +2 -0
  77. package/dist/types/index.js.map +1 -0
  78. package/dist/utils/index.d.ts +2 -0
  79. package/dist/utils/index.d.ts.map +1 -0
  80. package/dist/utils/index.js +4 -0
  81. package/dist/utils/index.js.map +1 -0
  82. package/package.json +42 -0
  83. package/src/api/archive/index.ts +26 -0
  84. package/src/api/asset/index.ts +26 -0
  85. package/src/api/attr/index.ts +59 -0
  86. package/src/api/block/index.ts +226 -0
  87. package/src/api/convert/index.ts +18 -0
  88. package/src/api/export/index.ts +36 -0
  89. package/src/api/file/index.ts +59 -0
  90. package/src/api/filetree/index.ts +129 -0
  91. package/src/api/index.ts +56 -0
  92. package/src/api/network/index.ts +32 -0
  93. package/src/api/notebook/index.ts +93 -0
  94. package/src/api/notification/index.ts +33 -0
  95. package/src/api/sql/index.ts +65 -0
  96. package/src/api/sqlite/index.ts +20 -0
  97. package/src/api/system/index.ts +46 -0
  98. package/src/api/template/index.ts +32 -0
  99. package/src/core/index.ts +237 -0
  100. package/src/index.ts +9 -0
  101. package/src/types/index.ts +140 -0
  102. package/src/utils/index.ts +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,oBAAoB,CAAA;AAC3B,OAAO,kBAAkB,CAAA;AACzB,OAAO,iBAAiB,CAAA;AACxB,OAAO,kBAAkB,CAAA;AACzB,OAAO,oBAAoB,CAAA;AAC3B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,iBAAiB,CAAA;AACxB,OAAO,qBAAqB,CAAA;AAC5B,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,yBAAyB,CAAA;AAChC,OAAO,gBAAgB,CAAA;AACvB,OAAO,mBAAmB,CAAA;AAC1B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,qBAAqB,CAAA;AAE5B;;GAEG;AACH,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,SACR,SACA,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW;KACX;CACH"}
@@ -0,0 +1,17 @@
1
+ // 导入所有 API 实现
2
+ import './archive/index.js';
3
+ import './asset/index.js';
4
+ import './attr/index.js';
5
+ import './block/index.js';
6
+ import './convert/index.js';
7
+ import './export/index.js';
8
+ import './file/index.js';
9
+ import './filetree/index.js';
10
+ import './network/index.js';
11
+ import './notebook/index.js';
12
+ import './notification/index.js';
13
+ import './sql/index.js';
14
+ import './sqlite/index.js';
15
+ import './system/index.js';
16
+ import './template/index.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAgBA,cAAc;AACd,OAAO,oBAAoB,CAAA;AAC3B,OAAO,kBAAkB,CAAA;AACzB,OAAO,iBAAiB,CAAA;AACxB,OAAO,kBAAkB,CAAA;AACzB,OAAO,oBAAoB,CAAA;AAC3B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,iBAAiB,CAAA;AACxB,OAAO,qBAAqB,CAAA;AAC5B,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,yBAAyB,CAAA;AAChC,OAAO,gBAAgB,CAAA;AACvB,OAAO,mBAAmB,CAAA;AAC1B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,qBAAqB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { SyApiMethodResponse } from '../../core/index.js';
2
+ /**
3
+ * Network API 类型定义
4
+ */
5
+ export interface NetworkAPI {
6
+ /**
7
+ * 转发代理请求
8
+ * @path /api/network/forwardProxy
9
+ */
10
+ forwardProxy: (url: string, method?: string, payload?: any, headers?: any[], timeout?: number, contentType?: string) => SyApiMethodResponse<any>;
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAG9D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,GAAG,EACb,OAAO,CAAC,EAAE,GAAG,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,KACjB,mBAAmB,CAAC,GAAG,CAAC,CAAA;CAC9B"}
@@ -0,0 +1,12 @@
1
+ import { SiYuanAPI } from '../../core/index.js';
2
+ SiYuanAPI.prototype.forwardProxy = function (url, method = 'GET', payload = {}, headers = [], timeout = 7000, contentType = 'text/html') {
3
+ return this.request('/api/network/forwardProxy', {
4
+ url,
5
+ method,
6
+ timeout,
7
+ contentType,
8
+ headers,
9
+ payload,
10
+ });
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/network/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAoB/C,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,GAAW,EAAE,SAAiB,KAAK,EAAE,UAAe,EAAE,EAAE,UAAiB,EAAE,EAAE,UAAkB,IAAI,EAAE,cAAsB,WAAW;IACjL,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE;QAC/C,GAAG;QACH,MAAM;QACN,OAAO;QACP,WAAW;QACX,OAAO;QACP,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,48 @@
1
+ import type { SyApiMethodResponse } from '../../core/index.js';
2
+ import type { NotebookId } from '../../types/index.js';
3
+ /**
4
+ * Notebook API 类型定义
5
+ */
6
+ export interface NotebookAPI {
7
+ /**
8
+ * 列出所有笔记本
9
+ * @path /api/notebook/lsNotebooks
10
+ */
11
+ lsNotebooks: () => SyApiMethodResponse<any>;
12
+ /**
13
+ * 打开笔记本
14
+ * @path /api/notebook/openNotebook
15
+ */
16
+ openNotebook: (notebook: NotebookId) => SyApiMethodResponse<any>;
17
+ /**
18
+ * 关闭笔记本
19
+ * @path /api/notebook/closeNotebook
20
+ */
21
+ closeNotebook: (notebook: NotebookId) => SyApiMethodResponse<any>;
22
+ /**
23
+ * 重命名笔记本
24
+ * @path /api/notebook/renameNotebook
25
+ */
26
+ renameNotebook: (notebook: NotebookId, name: string) => SyApiMethodResponse<any>;
27
+ /**
28
+ * 创建笔记本
29
+ * @path /api/notebook/createNotebook
30
+ */
31
+ createNotebook: (name: string) => SyApiMethodResponse<any>;
32
+ /**
33
+ * 删除笔记本
34
+ * @path /api/notebook/removeNotebook
35
+ */
36
+ removeNotebook: (notebook: NotebookId) => SyApiMethodResponse<any>;
37
+ /**
38
+ * 获取笔记本配置
39
+ * @path /api/notebook/getNotebookConf
40
+ */
41
+ getNotebookConf: (notebook: NotebookId) => SyApiMethodResponse<any>;
42
+ /**
43
+ * 设置笔记本配置
44
+ * @path /api/notebook/setNotebookConf
45
+ */
46
+ setNotebookConf: (notebook: NotebookId, conf: any) => SyApiMethodResponse<any>;
47
+ }
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC3C;;;OAGG;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAChE;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACjE;;;OAGG;IACH,cAAc,EAAE,CACd,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,KACT,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC7B;;;OAGG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D;;;OAGG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAClE;;;OAGG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACnE;;;OAGG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,GAAG,KACN,mBAAmB,CAAC,GAAG,CAAC,CAAA;CAC9B"}
@@ -0,0 +1,32 @@
1
+ import { SiYuanAPI } from '../../core/index.js';
2
+ SiYuanAPI.prototype.lsNotebooks = function () {
3
+ return this.request('/api/notebook/lsNotebooks', '');
4
+ };
5
+ SiYuanAPI.prototype.openNotebook = function (notebook) {
6
+ return this.request('/api/notebook/openNotebook', { notebook });
7
+ };
8
+ SiYuanAPI.prototype.closeNotebook = function (notebook) {
9
+ return this.request('/api/notebook/closeNotebook', { notebook });
10
+ };
11
+ SiYuanAPI.prototype.renameNotebook = function (notebook, name) {
12
+ return this.request('/api/notebook/renameNotebook', {
13
+ notebook,
14
+ name,
15
+ });
16
+ };
17
+ SiYuanAPI.prototype.createNotebook = function (name) {
18
+ return this.request('/api/notebook/createNotebook', { name });
19
+ };
20
+ SiYuanAPI.prototype.removeNotebook = function (notebook) {
21
+ return this.request('/api/notebook/removeNotebook', { notebook });
22
+ };
23
+ SiYuanAPI.prototype.getNotebookConf = function (notebook) {
24
+ return this.request('/api/notebook/getNotebookConf', { notebook });
25
+ };
26
+ SiYuanAPI.prototype.setNotebookConf = function (notebook, conf) {
27
+ return this.request('/api/notebook/setNotebookConf', {
28
+ notebook,
29
+ conf,
30
+ });
31
+ };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAsD/C,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,QAAgB;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,QAAgB;IAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB,EAAE,IAAY;IAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE;QAClD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,IAAY;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB,EAAE,IAAS;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE;QACnD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { SyApiMethodResponse } from '../../core/index.js';
2
+ /**
3
+ * Notification API 类型定义
4
+ */
5
+ export interface NotificationAPI {
6
+ /**
7
+ * 推送消息通知
8
+ * @path /api/notification/pushMsg
9
+ */
10
+ pushMsg: (msg: string, timeout?: number) => SyApiMethodResponse<any>;
11
+ /**
12
+ * 推送错误消息通知
13
+ * @path /api/notification/pushErrMsg
14
+ */
15
+ pushErrMsg: (msg: string, timeout?: number) => SyApiMethodResponse<any>;
16
+ }
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/notification/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAG9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACpE;;;OAGG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;CACxE"}
@@ -0,0 +1,14 @@
1
+ import { SiYuanAPI } from '../../core/index.js';
2
+ SiYuanAPI.prototype.pushMsg = function (msg, timeout = 7000) {
3
+ return this.request('/api/notification/pushMsg', {
4
+ msg,
5
+ timeout,
6
+ });
7
+ };
8
+ SiYuanAPI.prototype.pushErrMsg = function (msg, timeout = 7000) {
9
+ return this.request('/api/notification/pushErrMsg', {
10
+ msg,
11
+ timeout,
12
+ });
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/notification/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAkB/C,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,GAAW,EAAE,UAAkB,IAAI;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE;QAC/C,GAAG;QACH,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,GAAW,EAAE,UAAkB,IAAI;IAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE;QAClD,GAAG;QACH,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,29 @@
1
+ import type { Block, BlockId } from '../../types/index.js';
2
+ import { SyApiMethodResponse } from '../../core/index.js';
3
+ /**
4
+ * SQL API 类型定义
5
+ */
6
+ export interface SqlAPI {
7
+ /**
8
+ * Execute SQL query
9
+ *
10
+ * @path /api/query/sql
11
+ * @param stmt - SQL statement to execute
12
+ * @param options - The options for the SQL query
13
+ * @param options.trim - Whether to trim the SQL string
14
+ * @default true
15
+ * @returns {T[]} result of the SQL query
16
+ */
17
+ sql: <T = any>(stmt: string, options?: {
18
+ trim?: boolean;
19
+ }) => SyApiMethodResponse<T[]>;
20
+ /**
21
+ * Get block by block_id (through SQL query)
22
+ *
23
+ * @path wrapper: uses sql
24
+ * @param {BlockId} blockId - block_id
25
+ * @returns {Block | null} block data - Block or null
26
+ */
27
+ getBlockByID: (blockId: BlockId) => SyApiMethodResponse<Block | null>;
28
+ }
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/sql/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,OAAO,EACR,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAG5B;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;OASG;IACH,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,OAAO,CAAA;KACf,KACE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7B;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;CACtE"}
@@ -0,0 +1,18 @@
1
+ import { SiYuanAPI, } from '../../core/index.js';
2
+ import { trimSqlBlank } from '../../utils/index.js';
3
+ SiYuanAPI.prototype.sql = function (stmt, options = {}) {
4
+ const { trim = true, } = options;
5
+ const finalStmt = trim ? trimSqlBlank(stmt) : stmt;
6
+ return this.request('/api/query/sql', {
7
+ stmt: finalStmt,
8
+ });
9
+ };
10
+ SiYuanAPI.prototype.getBlockByID = async function (blockId) {
11
+ const res = await this.sql(`select * from blocks where id ='${blockId}'`);
12
+ return {
13
+ code: res.code,
14
+ msg: res.msg,
15
+ data: res.data?.[0] ?? null,
16
+ };
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/sql/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,GAEV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAiCnD,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,UACxB,IAAY,EACZ,UAEI,EAAE;IAEN,MAAM,EACJ,IAAI,GAAG,IAAI,GACZ,GAAG,OAAO,CAAA;IACX,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;QACpC,IAAI,EAAE,SAAS;KAChB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,WAAW,OAAe;IAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mCAAmC,OAAO,GAAG,CAAC,CAAA;IACzE,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;KAC5B,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { SyApiMethodResponse } from '../../core/index.js';
2
+ /**
3
+ * Sqlite API 类型定义
4
+ */
5
+ export interface SqliteAPI {
6
+ /**
7
+ * 刷新事务
8
+ * @path /api/sqlite/flushTransaction
9
+ */
10
+ flushTransactions: () => SyApiMethodResponse<any>;
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAG5B;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;CAClD"}
@@ -0,0 +1,5 @@
1
+ import { SiYuanAPI } from '../../core/index.js';
2
+ SiYuanAPI.prototype.flushTransactions = function () {
3
+ return this.request('/api/sqlite/flushTransaction', {});
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/sqlite/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAa/C,SAAS,CAAC,SAAS,CAAC,iBAAiB,GAAG;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACzD,CAAC,CAAA"}
@@ -0,0 +1,27 @@
1
+ import type { SyApiMethodResponse } from '../../core/index.js';
2
+ /**
3
+ * System API 类型定义
4
+ */
5
+ export interface SystemAPI {
6
+ /**
7
+ * 获取启动进度
8
+ * @path /api/system/bootProgress
9
+ */
10
+ bootProgress: () => SyApiMethodResponse<any>;
11
+ /**
12
+ * 获取版本号
13
+ * @path /api/system/version
14
+ */
15
+ version: () => SyApiMethodResponse<string>;
16
+ /**
17
+ * 获取当前时间戳
18
+ * @path /api/system/currentTime
19
+ */
20
+ currentTime: () => SyApiMethodResponse<number>;
21
+ /**
22
+ * 执行同步
23
+ * @path /api/sync/performSync
24
+ */
25
+ performSync: () => SyApiMethodResponse<number>;
26
+ }
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/system/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAI9D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,YAAY,EAAE,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC5C;;;OAGG;IACH,OAAO,EAAE,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC1C;;;OAGG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC9C;;;OAGG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;CAC/C"}
@@ -0,0 +1,14 @@
1
+ import { SiYuanAPI } from '../../core/index.js';
2
+ SiYuanAPI.prototype.bootProgress = function () {
3
+ return this.request('/api/system/bootProgress', {});
4
+ };
5
+ SiYuanAPI.prototype.version = function () {
6
+ return this.request('/api/system/version', {});
7
+ };
8
+ SiYuanAPI.prototype.currentTime = function () {
9
+ return this.request('/api/system/currentTime', {});
10
+ };
11
+ SiYuanAPI.prototype.performSync = function () {
12
+ return this.request('/api/sync/performSync', {});
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/system/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA4B/C,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;AAClD,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { SyApiMethodResponse } from '../../core/index.js';
2
+ import type { DocumentId } from '../../types/index.js';
3
+ /**
4
+ * Template API 类型定义
5
+ */
6
+ export interface TemplateAPI {
7
+ /**
8
+ * 渲染模板
9
+ * @path /api/template/render
10
+ */
11
+ render: (id: DocumentId, path: string) => SyApiMethodResponse<any>;
12
+ /**
13
+ * 渲染 Sprig 模板
14
+ * @path /api/template/renderSprig
15
+ */
16
+ renderSprig: (template: string) => SyApiMethodResponse<string>;
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAClE;;;OAGG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAA;CAC/D"}
@@ -0,0 +1,11 @@
1
+ import { SiYuanAPI } from '../../core/index.js';
2
+ SiYuanAPI.prototype.render = function (id, path) {
3
+ return this.request('/api/template/render', {
4
+ id,
5
+ path,
6
+ });
7
+ };
8
+ SiYuanAPI.prototype.renderSprig = function (template) {
9
+ return this.request('/api/template/renderSprig', { template });
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/template/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAkB/C,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,EAAU,EAAE,IAAY;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;QAC1C,EAAE;QACF,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,QAAgB;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChE,CAAC,CAAA"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * SiYuan SDK - API Client
3
+ *
4
+ * Supports maintaining baseURL and token, binding custom fetch, and dynamically adding methods
5
+ *
6
+ * 支持维护 baseURL 和 token,绑定自定义 fetch,动态添加方法
7
+ *
8
+ */
9
+ import { IWebSocketData } from 'siyuan';
10
+ /**
11
+ * 标准 API 响应格式
12
+ */
13
+ export interface SyApiResponse<T = any> {
14
+ code: number;
15
+ msg: string;
16
+ data: T;
17
+ }
18
+ export type SyApiMethodResponse<T = any> = Promise<SyApiResponse<T> | IWebSocketData>;
19
+ /**
20
+ * 请求选项
21
+ */
22
+ export interface RequestOptions {
23
+ /** 请求方法 */
24
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
25
+ /** 请求头 */
26
+ headers?: Record<string, string>;
27
+ /** 超时时间(毫秒) */
28
+ timeout?: number;
29
+ }
30
+ /**
31
+ * 基础 Fetch 函数类型(统一的结构)
32
+ */
33
+ export type SyBaseApiMethod<T = any> = (url: string, data?: any, options?: RequestOptions) => SyApiMethodResponse<T>;
34
+ /**
35
+ * 自定义 Fetch 函数类型(别名)
36
+ */
37
+ export type CustomFetch<T = any> = SyBaseApiMethod<T>;
38
+ /**
39
+ * API 配置(两种方式互斥)
40
+ */
41
+ export type SiYuanAPIConfig = {
42
+ baseURL: string;
43
+ token: string;
44
+ customFetch?: never;
45
+ } | {
46
+ baseURL?: never;
47
+ token?: never;
48
+ customFetch: SyBaseApiMethod;
49
+ };
50
+ /**
51
+ * SiYuan API 客户端
52
+ */
53
+ export declare class SiYuanAPI {
54
+ /** 基础 URL */
55
+ private baseURL;
56
+ /** 认证 Token(与 customFetch 互斥) */
57
+ private token?;
58
+ /** 自定义 fetch 函数(与 token 互斥) */
59
+ private customFetch?;
60
+ constructor(config: SiYuanAPIConfig);
61
+ setConfig(config: SiYuanAPIConfig): void;
62
+ /**
63
+ * 获取当前配置
64
+ */
65
+ getConfig(): {
66
+ baseURL: string;
67
+ token?: string;
68
+ customFetch?: CustomFetch;
69
+ };
70
+ /**
71
+ * 默认的 baseFetch 实现(使用标准 fetch)
72
+ */
73
+ private _defaultBaseFetch;
74
+ /**
75
+ * 内部请求方法
76
+ * 如果存在自定义 fetch,使用自定义 fetch;否则使用默认的 baseFetch(会自动设置 baseURL 和 token)
77
+ * 返回思源标准格式 SyApiResponse<T>
78
+ * 此方法为内部方法,禁止外部修改或覆盖
79
+ * 允许在注入的 API 方法中使用
80
+ *
81
+ * @param url - API 端点路径
82
+ * @param data - 请求数据
83
+ * @param options - 请求选项
84
+ * @returns SyApiResponse<T>
85
+ *
86
+ * @internal
87
+ */
88
+ request<T = any>(url: string, data?: any, options?: RequestOptions): SyApiMethodResponse<T>;
89
+ post<T = any>(url: string, data?: any, options?: RequestOptions): SyApiMethodResponse<T>;
90
+ /**
91
+ * 提取响应数据(用于插件模式,直接返回 data)
92
+ * 如果 code === 0,返回 data;否则返回 null
93
+ *
94
+ * @param response - API 响应
95
+ * @returns 提取的数据或 null
96
+ */
97
+ extractData<T>(response: SyApiResponse<T>): T | null;
98
+ }
99
+ /**
100
+ * 创建 API 实例的便捷函数
101
+ */
102
+ export declare function createAPI(config: SiYuanAPIConfig): SiYuanAPI;
103
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAIvC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAA;AAGrF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD,UAAU;IACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAKD;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,KACrB,mBAAmB,CAAC,CAAC,CAAC,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;AAIrD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,GACvD;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAA;AAGpE;;GAEG;AACH,qBAAa,SAAS;IACpB,aAAa;IACb,OAAO,CAAC,OAAO,CAAQ;IACvB,iCAAiC;IACjC,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,+BAA+B;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAa;gBAGrB,MAAM,EAAE,eAAe;IAInC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAexC;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,WAAW,CAAA;KAC1B;IAQD;;OAEG;YACW,iBAAiB;IAqE/B;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,mBAAmB,CAAC,CAAC,CAAC;IAWnB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAQ9F;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;CAGrD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAE5D"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * SiYuan SDK - API Client
3
+ *
4
+ * Supports maintaining baseURL and token, binding custom fetch, and dynamically adding methods
5
+ *
6
+ * 支持维护 baseURL 和 token,绑定自定义 fetch,动态添加方法
7
+ *
8
+ */
9
+ /**
10
+ * SiYuan API 客户端
11
+ */
12
+ export class SiYuanAPI {
13
+ /** 基础 URL */
14
+ baseURL;
15
+ /** 认证 Token(与 customFetch 互斥) */
16
+ token;
17
+ /** 自定义 fetch 函数(与 token 互斥) */
18
+ customFetch;
19
+ constructor(config) {
20
+ this.setConfig(config);
21
+ }
22
+ setConfig(config) {
23
+ // 根据配置类型设置属性
24
+ if ('customFetch' in config) {
25
+ // 使用 customFetch
26
+ this.baseURL = ''; // customFetch 模式下 baseURL 可能不需要
27
+ this.customFetch = config.customFetch;
28
+ this.token = undefined;
29
+ }
30
+ else {
31
+ // 使用 baseURL + token
32
+ this.baseURL = config.baseURL;
33
+ this.token = config.token;
34
+ this.customFetch = undefined;
35
+ }
36
+ }
37
+ /**
38
+ * 获取当前配置
39
+ */
40
+ getConfig() {
41
+ return {
42
+ baseURL: this.baseURL,
43
+ token: this.token,
44
+ customFetch: this.customFetch,
45
+ };
46
+ }
47
+ /**
48
+ * 默认的 baseFetch 实现(使用标准 fetch)
49
+ */
50
+ async _defaultBaseFetch(url, data, options) {
51
+ const baseURL = this.baseURL || '';
52
+ const fullURL = url.startsWith('http')
53
+ ? url
54
+ : `${baseURL.replace(/\/$/, '')}${url}`;
55
+ const method = options?.method || 'POST';
56
+ const headers = {
57
+ 'Content-Type': 'application/json',
58
+ ...options?.headers,
59
+ };
60
+ // 如果有 token,添加到请求头
61
+ if (this.token) {
62
+ headers.Authorization = `Token ${this.token}`;
63
+ }
64
+ const requestInit = {
65
+ method,
66
+ headers,
67
+ };
68
+ // 处理请求体
69
+ if (data !== undefined) {
70
+ if (data instanceof FormData) {
71
+ delete headers['Content-Type'];
72
+ requestInit.body = data;
73
+ }
74
+ else {
75
+ requestInit.body = JSON.stringify(data);
76
+ }
77
+ }
78
+ // 处理超时
79
+ const timeout = options?.timeout || 30000;
80
+ const controller = new AbortController();
81
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
82
+ try {
83
+ const response = await fetch(fullURL, {
84
+ ...requestInit,
85
+ signal: controller.signal,
86
+ });
87
+ clearTimeout(timeoutId);
88
+ if (!response.ok) {
89
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
90
+ }
91
+ const contentType = response.headers.get('content-type');
92
+ if (contentType && contentType.includes('application/json')) {
93
+ return await response.json();
94
+ }
95
+ else {
96
+ return await response.text();
97
+ }
98
+ }
99
+ catch (error) {
100
+ clearTimeout(timeoutId);
101
+ if (error.name === 'AbortError') {
102
+ throw new Error(`Request timeout after ${timeout}ms`);
103
+ }
104
+ throw error;
105
+ }
106
+ }
107
+ /**
108
+ * 内部请求方法
109
+ * 如果存在自定义 fetch,使用自定义 fetch;否则使用默认的 baseFetch(会自动设置 baseURL 和 token)
110
+ * 返回思源标准格式 SyApiResponse<T>
111
+ * 此方法为内部方法,禁止外部修改或覆盖
112
+ * 允许在注入的 API 方法中使用
113
+ *
114
+ * @param url - API 端点路径
115
+ * @param data - 请求数据
116
+ * @param options - 请求选项
117
+ * @returns SyApiResponse<T>
118
+ *
119
+ * @internal
120
+ */
121
+ async request(url, data, options) {
122
+ // 如果提供了自定义 fetch,使用自定义 fetch
123
+ if (this.customFetch) {
124
+ return await this.customFetch(url, data, options);
125
+ }
126
+ // 否则使用默认的 baseFetch
127
+ return await this._defaultBaseFetch(url, data, options);
128
+ }
129
+ async post(url, data, options) {
130
+ return await this.request(url, data, {
131
+ ...options,
132
+ method: 'POST',
133
+ });
134
+ }
135
+ /**
136
+ * 提取响应数据(用于插件模式,直接返回 data)
137
+ * 如果 code === 0,返回 data;否则返回 null
138
+ *
139
+ * @param response - API 响应
140
+ * @returns 提取的数据或 null
141
+ */
142
+ extractData(response) {
143
+ return response.code === 0 ? response.data : null;
144
+ }
145
+ }
146
+ /**
147
+ * 创建 API 实例的便捷函数
148
+ */
149
+ export function createAPI(config) {
150
+ return new SiYuanAPI(config);
151
+ }
152
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyDH;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,aAAa;IACL,OAAO,CAAQ;IACvB,iCAAiC;IACzB,KAAK,CAAS;IACtB,+BAA+B;IACvB,WAAW,CAAc;IAGjC,YAAY,MAAuB;QACjC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAED,SAAS,CAAC,MAAuB;QAC/B,aAAa;QACb,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC5B,iBAAiB;YACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA,CAAC,gCAAgC;YAClD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;YACrC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;YAC7B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YACzB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QAKP,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAA;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,GAAW,EACX,IAAU,EACV,OAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAA;QAEzC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,MAAM,CAAA;QACxC,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO,EAAE,OAAO;SACpB,CAAA;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,aAAa,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/C,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,MAAM;YACN,OAAO;SACR,CAAA;QAED,QAAQ;QACR,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;gBAC7B,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;gBAC9B,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;QAED,OAAO;QACP,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAA;QACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAE/D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,GAAG,WAAW;gBACd,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YAEF,YAAY,CAAC,SAAS,CAAC,CAAA;YAEvB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAExD,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC5D,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,IAAI,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,CACX,GAAW,EACX,IAAU,EACV,OAAwB;QAExB,6BAA6B;QAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAqB,CAAA;QACvE,CAAC;QAED,oBAAoB;QACpB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAqB,CAAA;IAC7E,CAAC;IAGD,KAAK,CAAC,IAAI,CAAU,GAAW,EAAE,IAAU,EAAE,OAAwB;QACnE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;YACnC,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;SACf,CAAqB,CAAA;IACxB,CAAC;IAGD;;;;;;OAMG;IACH,WAAW,CAAI,QAA0B;QACvC,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACnD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC"}