@karakeep/sdk 0.23.2 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.oxlintrc.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "../../node_modules/oxlint/configuration_schema.json",
3
+ "extends": [
4
+ "../../tooling/oxlint/oxlint-base.json"
5
+ ],
6
+ "env": {
7
+ "builtin": true,
8
+ "commonjs": true
9
+ },
10
+ "ignorePatterns": [
11
+ "**/*.config.js",
12
+ "**/*.config.cjs",
13
+ "**/.eslintrc.cjs",
14
+ "**/.next",
15
+ "**/dist",
16
+ "**/build",
17
+ "**/pnpm-lock.yaml",
18
+ "src/karakeep-api.d.ts"
19
+ ]
20
+ }
package/README.md CHANGED
@@ -11,12 +11,12 @@ npm install @karakeep/sdk
11
11
  ## Usage
12
12
 
13
13
  ```typescript
14
- import { createHoarderClient } from "@karakeep/sdk";
14
+ import { createKarakeepClient } from "@karakeep/sdk";
15
15
 
16
16
  // Create a client
17
17
  const apiKey = "my-super-secret-key";
18
18
  const addr = `https://karakeep.mydomain.com`;
19
- const client = createHoarderClient({
19
+ const client = createKarakeepClient({
20
20
  baseUrl: `${addr}/api/v1/`,
21
21
  headers: {
22
22
  "Content-Type": "application/json",
package/dist/index.cjs CHANGED
@@ -2,5 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const createClient = require("openapi-fetch");
4
4
  const createHoarderClient = createClient;
5
+ const createKarakeepClient = createClient;
5
6
  exports.createHoarderClient = createHoarderClient;
7
+ exports.createKarakeepClient = createKarakeepClient;
6
8
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import createClient from \"openapi-fetch\";\n\nimport type { paths } from \"./hoarder-api.d.ts\";\n\nexport const createHoarderClient = createClient<paths>;\n"],"names":[],"mappings":";;;AAIO,MAAM,sBAAsB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import createClient from \"openapi-fetch\";\n\nimport type { components, paths } from \"./karakeep-api.d.ts\";\n\n/**\n * @deprecated Use createKarakeepClient instead.\n */\nexport const createHoarderClient = createClient<paths>;\n\nexport const createKarakeepClient = createClient<paths>;\n\nexport type KarakeepAPISchemas = components[\"schemas\"];\n"],"names":[],"mappings":";;;AAOO,MAAM,sBAAsB;AAE5B,MAAM,uBAAuB;;;"}
package/dist/index.d.ts CHANGED
@@ -3,8 +3,6 @@ import { ClientOptions } from 'openapi-fetch';
3
3
 
4
4
  declare interface components {
5
5
  schemas: {
6
- /** @example ieidlxygmwj87oxz5hxttoc8 */
7
- AssetId: string;
8
6
  /** @example ieidlxygmwj87oxz5hxttoc8 */
9
7
  BookmarkId: string;
10
8
  /** @example ieidlxygmwj87oxz5hxttoc8 */
@@ -13,6 +11,8 @@ declare interface components {
13
11
  TagId: string;
14
12
  /** @example ieidlxygmwj87oxz5hxttoc8 */
15
13
  HighlightId: string;
14
+ /** @example ieidlxygmwj87oxz5hxttoc8 */
15
+ AssetId: string;
16
16
  Bookmark: {
17
17
  id: string;
18
18
  createdAt: string;
@@ -22,6 +22,8 @@ declare interface components {
22
22
  favourited: boolean;
23
23
  /** @enum {string|null} */
24
24
  taggingStatus: "success" | "failure" | "pending" | null;
25
+ /** @enum {string|null} */
26
+ summarizationStatus: "success" | "failure" | "pending" | null;
25
27
  note?: string | null;
26
28
  summary?: string | null;
27
29
  tags: {
@@ -45,6 +47,7 @@ declare interface components {
45
47
  videoAssetId?: string | null;
46
48
  favicon?: string | null;
47
49
  htmlContent?: string | null;
50
+ contentAssetId?: string | null;
48
51
  crawledAt?: string | null;
49
52
  author?: string | null;
50
53
  publisher?: string | null;
@@ -66,6 +69,7 @@ declare interface components {
66
69
  fileName?: string | null;
67
70
  sourceUrl?: string | null;
68
71
  size?: number | null;
72
+ content?: string | null;
69
73
  }
70
74
  | {
71
75
  /** @enum {string} */
@@ -75,6 +79,7 @@ declare interface components {
75
79
  id: string;
76
80
  /** @enum {string} */
77
81
  assetType:
82
+ | "linkHtmlContent"
78
83
  | "screenshot"
79
84
  | "assetScreenshot"
80
85
  | "bannerImage"
@@ -108,6 +113,7 @@ declare interface components {
108
113
  List: {
109
114
  id: string;
110
115
  name: string;
116
+ description?: string | null;
111
117
  icon: string;
112
118
  parentId: string | null;
113
119
  /**
@@ -116,6 +122,7 @@ declare interface components {
116
122
  */
117
123
  type: "manual" | "smart";
118
124
  query?: string | null;
125
+ public: boolean;
119
126
  };
120
127
  Tag: {
121
128
  id: string;
@@ -130,22 +137,36 @@ declare interface components {
130
137
  highlights: components["schemas"]["Highlight"][];
131
138
  nextCursor: string | null;
132
139
  };
140
+ Asset: {
141
+ assetId: string;
142
+ contentType: string;
143
+ size: number;
144
+ fileName: string;
145
+ };
146
+ "File to be uploaded": unknown;
133
147
  };
134
148
  responses: never;
135
149
  parameters: {
136
- AssetId: components["schemas"]["AssetId"];
137
150
  BookmarkId: components["schemas"]["BookmarkId"];
138
151
  ListId: components["schemas"]["ListId"];
139
152
  TagId: components["schemas"]["TagId"];
140
153
  HighlightId: components["schemas"]["HighlightId"];
154
+ AssetId: components["schemas"]["AssetId"];
141
155
  };
142
156
  requestBodies: never;
143
157
  headers: never;
144
158
  pathItems: never;
145
159
  }
146
160
 
161
+ /**
162
+ * @deprecated Use createKarakeepClient instead.
163
+ */
147
164
  export declare const createHoarderClient: (clientOptions?: ClientOptions) => Client<paths, `${string}/${string}`>;
148
165
 
166
+ export declare const createKarakeepClient: (clientOptions?: ClientOptions) => Client<paths, `${string}/${string}`>;
167
+
168
+ export declare type KarakeepAPISchemas = components["schemas"];
169
+
149
170
  /**
150
171
  * This file was auto-generated by openapi-typescript.
151
172
  * Do not make direct changes to the file.
@@ -168,8 +189,11 @@ declare interface paths {
168
189
  query?: {
169
190
  archived?: boolean;
170
191
  favourited?: boolean;
192
+ sortOrder?: "asc" | "desc";
171
193
  limit?: number;
172
194
  cursor?: components["schemas"]["Cursor"];
195
+ /** @description If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks. */
196
+ includeContent?: boolean;
173
197
  };
174
198
  header?: never;
175
199
  path?: never;
@@ -210,6 +234,8 @@ declare interface paths {
210
234
  note?: string;
211
235
  summary?: string;
212
236
  createdAt?: string | null;
237
+ /** @enum {string} */
238
+ crawlPriority?: "low" | "normal";
213
239
  } & (
214
240
  | {
215
241
  /** @enum {string} */
@@ -246,6 +272,18 @@ declare interface paths {
246
272
  "application/json": components["schemas"]["Bookmark"];
247
273
  };
248
274
  };
275
+ /** @description Bad request */
276
+ 400: {
277
+ headers: {
278
+ [name: string]: unknown;
279
+ };
280
+ content: {
281
+ "application/json": {
282
+ code: string;
283
+ message: string;
284
+ };
285
+ };
286
+ };
249
287
  };
250
288
  };
251
289
  delete?: never;
@@ -269,8 +307,11 @@ declare interface paths {
269
307
  parameters: {
270
308
  query: {
271
309
  q: string;
310
+ sortOrder?: "asc" | "desc" | "relevance";
272
311
  limit?: number;
273
312
  cursor?: components["schemas"]["Cursor"];
313
+ /** @description If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks. */
314
+ includeContent?: boolean;
274
315
  };
275
316
  header?: never;
276
317
  path?: never;
@@ -310,7 +351,10 @@ declare interface paths {
310
351
  */
311
352
  get: {
312
353
  parameters: {
313
- query?: never;
354
+ query?: {
355
+ /** @description If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks. */
356
+ includeContent?: boolean;
357
+ };
314
358
  header?: never;
315
359
  path: {
316
360
  bookmarkId: components["parameters"]["BookmarkId"];
@@ -328,6 +372,18 @@ declare interface paths {
328
372
  "application/json": components["schemas"]["Bookmark"];
329
373
  };
330
374
  };
375
+ /** @description Bookmark not found */
376
+ 404: {
377
+ headers: {
378
+ [name: string]: unknown;
379
+ };
380
+ content: {
381
+ "application/json": {
382
+ code: string;
383
+ message: string;
384
+ };
385
+ };
386
+ };
331
387
  };
332
388
  };
333
389
  put?: never;
@@ -354,6 +410,18 @@ declare interface paths {
354
410
  };
355
411
  content?: never;
356
412
  };
413
+ /** @description Bookmark not found */
414
+ 404: {
415
+ headers: {
416
+ [name: string]: unknown;
417
+ };
418
+ content: {
419
+ "application/json": {
420
+ code: string;
421
+ message: string;
422
+ };
423
+ };
424
+ };
357
425
  };
358
426
  };
359
427
  options?: never;
@@ -389,6 +457,7 @@ declare interface paths {
389
457
  datePublished?: string | null;
390
458
  dateModified?: string | null;
391
459
  text?: string | null;
460
+ assetContent?: string | null;
392
461
  };
393
462
  };
394
463
  };
@@ -408,11 +477,25 @@ declare interface paths {
408
477
  favourited: boolean;
409
478
  /** @enum {string|null} */
410
479
  taggingStatus: "success" | "failure" | "pending" | null;
480
+ /** @enum {string|null} */
481
+ summarizationStatus: "success" | "failure" | "pending" | null;
411
482
  note?: string | null;
412
483
  summary?: string | null;
413
484
  };
414
485
  };
415
486
  };
487
+ /** @description Bookmark not found */
488
+ 404: {
489
+ headers: {
490
+ [name: string]: unknown;
491
+ };
492
+ content: {
493
+ "application/json": {
494
+ code: string;
495
+ message: string;
496
+ };
497
+ };
498
+ };
416
499
  };
417
500
  };
418
501
  trace?: never;
@@ -456,11 +539,25 @@ declare interface paths {
456
539
  favourited: boolean;
457
540
  /** @enum {string|null} */
458
541
  taggingStatus: "success" | "failure" | "pending" | null;
542
+ /** @enum {string|null} */
543
+ summarizationStatus: "success" | "failure" | "pending" | null;
459
544
  note?: string | null;
460
545
  summary?: string | null;
461
546
  };
462
547
  };
463
548
  };
549
+ /** @description Bookmark not found */
550
+ 404: {
551
+ headers: {
552
+ [name: string]: unknown;
553
+ };
554
+ content: {
555
+ "application/json": {
556
+ code: string;
557
+ message: string;
558
+ };
559
+ };
560
+ };
464
561
  };
465
562
  };
466
563
  delete?: never;
@@ -514,6 +611,18 @@ declare interface paths {
514
611
  };
515
612
  };
516
613
  };
614
+ /** @description Bookmark not found */
615
+ 404: {
616
+ headers: {
617
+ [name: string]: unknown;
618
+ };
619
+ content: {
620
+ "application/json": {
621
+ code: string;
622
+ message: string;
623
+ };
624
+ };
625
+ };
517
626
  };
518
627
  };
519
628
  /**
@@ -552,6 +661,18 @@ declare interface paths {
552
661
  };
553
662
  };
554
663
  };
664
+ /** @description Bookmark not found */
665
+ 404: {
666
+ headers: {
667
+ [name: string]: unknown;
668
+ };
669
+ content: {
670
+ "application/json": {
671
+ code: string;
672
+ message: string;
673
+ };
674
+ };
675
+ };
555
676
  };
556
677
  };
557
678
  options?: never;
@@ -592,6 +713,18 @@ declare interface paths {
592
713
  };
593
714
  };
594
715
  };
716
+ /** @description Bookmark not found */
717
+ 404: {
718
+ headers: {
719
+ [name: string]: unknown;
720
+ };
721
+ content: {
722
+ "application/json": {
723
+ code: string;
724
+ message: string;
725
+ };
726
+ };
727
+ };
595
728
  };
596
729
  };
597
730
  put?: never;
@@ -631,6 +764,7 @@ declare interface paths {
631
764
  id: string;
632
765
  /** @enum {string} */
633
766
  assetType:
767
+ | "linkHtmlContent"
634
768
  | "screenshot"
635
769
  | "assetScreenshot"
636
770
  | "bannerImage"
@@ -653,6 +787,7 @@ declare interface paths {
653
787
  id: string;
654
788
  /** @enum {string} */
655
789
  assetType:
790
+ | "linkHtmlContent"
656
791
  | "screenshot"
657
792
  | "assetScreenshot"
658
793
  | "bannerImage"
@@ -664,6 +799,18 @@ declare interface paths {
664
799
  };
665
800
  };
666
801
  };
802
+ /** @description Bookmark not found */
803
+ 404: {
804
+ headers: {
805
+ [name: string]: unknown;
806
+ };
807
+ content: {
808
+ "application/json": {
809
+ code: string;
810
+ message: string;
811
+ };
812
+ };
813
+ };
667
814
  };
668
815
  };
669
816
  delete?: never;
@@ -710,6 +857,18 @@ declare interface paths {
710
857
  };
711
858
  content?: never;
712
859
  };
860
+ /** @description Bookmark not found */
861
+ 404: {
862
+ headers: {
863
+ [name: string]: unknown;
864
+ };
865
+ content: {
866
+ "application/json": {
867
+ code: string;
868
+ message: string;
869
+ };
870
+ };
871
+ };
713
872
  };
714
873
  };
715
874
  post?: never;
@@ -736,6 +895,18 @@ declare interface paths {
736
895
  };
737
896
  content?: never;
738
897
  };
898
+ /** @description Bookmark not found */
899
+ 404: {
900
+ headers: {
901
+ [name: string]: unknown;
902
+ };
903
+ content: {
904
+ "application/json": {
905
+ code: string;
906
+ message: string;
907
+ };
908
+ };
909
+ };
739
910
  };
740
911
  };
741
912
  options?: never;
@@ -793,6 +964,7 @@ declare interface paths {
793
964
  content: {
794
965
  "application/json": {
795
966
  name: string;
967
+ description?: string;
796
968
  icon: string;
797
969
  /**
798
970
  * @default manual
@@ -814,6 +986,18 @@ declare interface paths {
814
986
  "application/json": components["schemas"]["List"];
815
987
  };
816
988
  };
989
+ /** @description Bad request */
990
+ 400: {
991
+ headers: {
992
+ [name: string]: unknown;
993
+ };
994
+ content: {
995
+ "application/json": {
996
+ code: string;
997
+ message: string;
998
+ };
999
+ };
1000
+ };
817
1001
  };
818
1002
  };
819
1003
  delete?: never;
@@ -853,6 +1037,18 @@ declare interface paths {
853
1037
  "application/json": components["schemas"]["List"];
854
1038
  };
855
1039
  };
1040
+ /** @description List not found */
1041
+ 404: {
1042
+ headers: {
1043
+ [name: string]: unknown;
1044
+ };
1045
+ content: {
1046
+ "application/json": {
1047
+ code: string;
1048
+ message: string;
1049
+ };
1050
+ };
1051
+ };
856
1052
  };
857
1053
  };
858
1054
  put?: never;
@@ -879,6 +1075,18 @@ declare interface paths {
879
1075
  };
880
1076
  content?: never;
881
1077
  };
1078
+ /** @description List not found */
1079
+ 404: {
1080
+ headers: {
1081
+ [name: string]: unknown;
1082
+ };
1083
+ content: {
1084
+ "application/json": {
1085
+ code: string;
1086
+ message: string;
1087
+ };
1088
+ };
1089
+ };
882
1090
  };
883
1091
  };
884
1092
  options?: never;
@@ -901,9 +1109,11 @@ declare interface paths {
901
1109
  content: {
902
1110
  "application/json": {
903
1111
  name?: string;
1112
+ description?: string | null;
904
1113
  icon?: string;
905
1114
  parentId?: string | null;
906
1115
  query?: string;
1116
+ public?: boolean;
907
1117
  };
908
1118
  };
909
1119
  };
@@ -917,6 +1127,18 @@ declare interface paths {
917
1127
  "application/json": components["schemas"]["List"];
918
1128
  };
919
1129
  };
1130
+ /** @description List not found */
1131
+ 404: {
1132
+ headers: {
1133
+ [name: string]: unknown;
1134
+ };
1135
+ content: {
1136
+ "application/json": {
1137
+ code: string;
1138
+ message: string;
1139
+ };
1140
+ };
1141
+ };
920
1142
  };
921
1143
  };
922
1144
  trace?: never;
@@ -929,14 +1151,17 @@ declare interface paths {
929
1151
  cookie?: never;
930
1152
  };
931
1153
  /**
932
- * Get a bookmarks in a list
933
- * @description Get the bookmarks in a list
1154
+ * Get bookmarks in the list
1155
+ * @description Get bookmarks in the list
934
1156
  */
935
1157
  get: {
936
1158
  parameters: {
937
1159
  query?: {
1160
+ sortOrder?: "asc" | "desc";
938
1161
  limit?: number;
939
1162
  cursor?: components["schemas"]["Cursor"];
1163
+ /** @description If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks. */
1164
+ includeContent?: boolean;
940
1165
  };
941
1166
  header?: never;
942
1167
  path: {
@@ -955,6 +1180,18 @@ declare interface paths {
955
1180
  "application/json": components["schemas"]["PaginatedBookmarks"];
956
1181
  };
957
1182
  };
1183
+ /** @description List not found */
1184
+ 404: {
1185
+ headers: {
1186
+ [name: string]: unknown;
1187
+ };
1188
+ content: {
1189
+ "application/json": {
1190
+ code: string;
1191
+ message: string;
1192
+ };
1193
+ };
1194
+ };
958
1195
  };
959
1196
  };
960
1197
  put?: never;
@@ -996,6 +1233,18 @@ declare interface paths {
996
1233
  };
997
1234
  content?: never;
998
1235
  };
1236
+ /** @description List or bookmark not found */
1237
+ 404: {
1238
+ headers: {
1239
+ [name: string]: unknown;
1240
+ };
1241
+ content: {
1242
+ "application/json": {
1243
+ code: string;
1244
+ message: string;
1245
+ };
1246
+ };
1247
+ };
999
1248
  };
1000
1249
  };
1001
1250
  post?: never;
@@ -1022,6 +1271,30 @@ declare interface paths {
1022
1271
  };
1023
1272
  content?: never;
1024
1273
  };
1274
+ /** @description Bookmark already not in list */
1275
+ 400: {
1276
+ headers: {
1277
+ [name: string]: unknown;
1278
+ };
1279
+ content: {
1280
+ "application/json": {
1281
+ code: string;
1282
+ message: string;
1283
+ };
1284
+ };
1285
+ };
1286
+ /** @description List or bookmark not found */
1287
+ 404: {
1288
+ headers: {
1289
+ [name: string]: unknown;
1290
+ };
1291
+ content: {
1292
+ "application/json": {
1293
+ code: string;
1294
+ message: string;
1295
+ };
1296
+ };
1297
+ };
1025
1298
  };
1026
1299
  };
1027
1300
  options?: never;
@@ -1063,7 +1336,40 @@ declare interface paths {
1063
1336
  };
1064
1337
  };
1065
1338
  put?: never;
1066
- post?: never;
1339
+ /**
1340
+ * Create a new tag
1341
+ * @description Create a new tag
1342
+ */
1343
+ post: {
1344
+ parameters: {
1345
+ query?: never;
1346
+ header?: never;
1347
+ path?: never;
1348
+ cookie?: never;
1349
+ };
1350
+ /** @description The data to create the tag with. */
1351
+ requestBody?: {
1352
+ content: {
1353
+ "application/json": {
1354
+ name: string;
1355
+ };
1356
+ };
1357
+ };
1358
+ responses: {
1359
+ /** @description The created tag */
1360
+ 201: {
1361
+ headers: {
1362
+ [name: string]: unknown;
1363
+ };
1364
+ content: {
1365
+ "application/json": {
1366
+ id: string;
1367
+ name: string;
1368
+ };
1369
+ };
1370
+ };
1371
+ };
1372
+ };
1067
1373
  delete?: never;
1068
1374
  options?: never;
1069
1375
  head?: never;
@@ -1101,6 +1407,18 @@ declare interface paths {
1101
1407
  "application/json": components["schemas"]["Tag"];
1102
1408
  };
1103
1409
  };
1410
+ /** @description Tag not found */
1411
+ 404: {
1412
+ headers: {
1413
+ [name: string]: unknown;
1414
+ };
1415
+ content: {
1416
+ "application/json": {
1417
+ code: string;
1418
+ message: string;
1419
+ };
1420
+ };
1421
+ };
1104
1422
  };
1105
1423
  };
1106
1424
  put?: never;
@@ -1127,6 +1445,18 @@ declare interface paths {
1127
1445
  };
1128
1446
  content?: never;
1129
1447
  };
1448
+ /** @description Tag not found */
1449
+ 404: {
1450
+ headers: {
1451
+ [name: string]: unknown;
1452
+ };
1453
+ content: {
1454
+ "application/json": {
1455
+ code: string;
1456
+ message: string;
1457
+ };
1458
+ };
1459
+ };
1130
1460
  };
1131
1461
  };
1132
1462
  options?: never;
@@ -1159,7 +1489,22 @@ declare interface paths {
1159
1489
  [name: string]: unknown;
1160
1490
  };
1161
1491
  content: {
1162
- "application/json": components["schemas"]["Tag"];
1492
+ "application/json": {
1493
+ id: string;
1494
+ name: string;
1495
+ };
1496
+ };
1497
+ };
1498
+ /** @description Tag not found */
1499
+ 404: {
1500
+ headers: {
1501
+ [name: string]: unknown;
1502
+ };
1503
+ content: {
1504
+ "application/json": {
1505
+ code: string;
1506
+ message: string;
1507
+ };
1163
1508
  };
1164
1509
  };
1165
1510
  };
@@ -1174,14 +1519,17 @@ declare interface paths {
1174
1519
  cookie?: never;
1175
1520
  };
1176
1521
  /**
1177
- * Get a bookmarks with the tag
1178
- * @description Get the bookmarks with the tag
1522
+ * Get bookmarks with the tag
1523
+ * @description Get bookmarks with the tag
1179
1524
  */
1180
1525
  get: {
1181
1526
  parameters: {
1182
1527
  query?: {
1528
+ sortOrder?: "asc" | "desc";
1183
1529
  limit?: number;
1184
1530
  cursor?: components["schemas"]["Cursor"];
1531
+ /** @description If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks. */
1532
+ includeContent?: boolean;
1185
1533
  };
1186
1534
  header?: never;
1187
1535
  path: {
@@ -1200,6 +1548,18 @@ declare interface paths {
1200
1548
  "application/json": components["schemas"]["PaginatedBookmarks"];
1201
1549
  };
1202
1550
  };
1551
+ /** @description Tag not found */
1552
+ 404: {
1553
+ headers: {
1554
+ [name: string]: unknown;
1555
+ };
1556
+ content: {
1557
+ "application/json": {
1558
+ code: string;
1559
+ message: string;
1560
+ };
1561
+ };
1562
+ };
1203
1563
  };
1204
1564
  };
1205
1565
  put?: never;
@@ -1283,6 +1643,30 @@ declare interface paths {
1283
1643
  "application/json": components["schemas"]["Highlight"];
1284
1644
  };
1285
1645
  };
1646
+ /** @description Bad highlight request */
1647
+ 400: {
1648
+ headers: {
1649
+ [name: string]: unknown;
1650
+ };
1651
+ content: {
1652
+ "application/json": {
1653
+ code: string;
1654
+ message: string;
1655
+ };
1656
+ };
1657
+ };
1658
+ /** @description Bookmark not found */
1659
+ 404: {
1660
+ headers: {
1661
+ [name: string]: unknown;
1662
+ };
1663
+ content: {
1664
+ "application/json": {
1665
+ code: string;
1666
+ message: string;
1667
+ };
1668
+ };
1669
+ };
1286
1670
  };
1287
1671
  };
1288
1672
  delete?: never;
@@ -1322,6 +1706,18 @@ declare interface paths {
1322
1706
  "application/json": components["schemas"]["Highlight"];
1323
1707
  };
1324
1708
  };
1709
+ /** @description Highlight not found */
1710
+ 404: {
1711
+ headers: {
1712
+ [name: string]: unknown;
1713
+ };
1714
+ content: {
1715
+ "application/json": {
1716
+ code: string;
1717
+ message: string;
1718
+ };
1719
+ };
1720
+ };
1325
1721
  };
1326
1722
  };
1327
1723
  put?: never;
@@ -1350,6 +1746,18 @@ declare interface paths {
1350
1746
  "application/json": components["schemas"]["Highlight"];
1351
1747
  };
1352
1748
  };
1749
+ /** @description Highlight not found */
1750
+ 404: {
1751
+ headers: {
1752
+ [name: string]: unknown;
1753
+ };
1754
+ content: {
1755
+ "application/json": {
1756
+ code: string;
1757
+ message: string;
1758
+ };
1759
+ };
1760
+ };
1353
1761
  };
1354
1762
  };
1355
1763
  options?: never;
@@ -1386,6 +1794,18 @@ declare interface paths {
1386
1794
  "application/json": components["schemas"]["Highlight"];
1387
1795
  };
1388
1796
  };
1797
+ /** @description Highlight not found */
1798
+ 404: {
1799
+ headers: {
1800
+ [name: string]: unknown;
1801
+ };
1802
+ content: {
1803
+ "application/json": {
1804
+ code: string;
1805
+ message: string;
1806
+ };
1807
+ };
1808
+ };
1389
1809
  };
1390
1810
  };
1391
1811
  trace?: never;
@@ -1420,6 +1840,7 @@ declare interface paths {
1420
1840
  id: string;
1421
1841
  name?: string | null;
1422
1842
  email?: string | null;
1843
+ localUser: boolean;
1423
1844
  };
1424
1845
  };
1425
1846
  };
@@ -1466,6 +1887,38 @@ declare interface paths {
1466
1887
  numTags: number;
1467
1888
  numLists: number;
1468
1889
  numHighlights: number;
1890
+ bookmarksByType: {
1891
+ link: number;
1892
+ text: number;
1893
+ asset: number;
1894
+ };
1895
+ topDomains: {
1896
+ domain: string;
1897
+ count: number;
1898
+ }[];
1899
+ totalAssetSize: number;
1900
+ assetsByType: {
1901
+ type: string;
1902
+ count: number;
1903
+ totalSize: number;
1904
+ }[];
1905
+ bookmarkingActivity: {
1906
+ thisWeek: number;
1907
+ thisMonth: number;
1908
+ thisYear: number;
1909
+ byHour: {
1910
+ hour: number;
1911
+ count: number;
1912
+ }[];
1913
+ byDayOfWeek: {
1914
+ day: number;
1915
+ count: number;
1916
+ }[];
1917
+ };
1918
+ tagUsage: {
1919
+ name: string;
1920
+ count: number;
1921
+ }[];
1469
1922
  };
1470
1923
  };
1471
1924
  };
@@ -1479,6 +1932,188 @@ declare interface paths {
1479
1932
  patch?: never;
1480
1933
  trace?: never;
1481
1934
  };
1935
+ "/assets": {
1936
+ parameters: {
1937
+ query?: never;
1938
+ header?: never;
1939
+ path?: never;
1940
+ cookie?: never;
1941
+ };
1942
+ get?: never;
1943
+ put?: never;
1944
+ /**
1945
+ * Upload a new asset
1946
+ * @description Upload a new asset
1947
+ */
1948
+ post: {
1949
+ parameters: {
1950
+ query?: never;
1951
+ header?: never;
1952
+ path?: never;
1953
+ cookie?: never;
1954
+ };
1955
+ /** @description The data to create the asset with. */
1956
+ requestBody?: {
1957
+ content: {
1958
+ "multipart/form-data": {
1959
+ file: components["schemas"]["File to be uploaded"];
1960
+ };
1961
+ };
1962
+ };
1963
+ responses: {
1964
+ /** @description Details about the created asset */
1965
+ 200: {
1966
+ headers: {
1967
+ [name: string]: unknown;
1968
+ };
1969
+ content: {
1970
+ "application/json": components["schemas"]["Asset"];
1971
+ };
1972
+ };
1973
+ };
1974
+ };
1975
+ delete?: never;
1976
+ options?: never;
1977
+ head?: never;
1978
+ patch?: never;
1979
+ trace?: never;
1980
+ };
1981
+ "/assets/{assetId}": {
1982
+ parameters: {
1983
+ query?: never;
1984
+ header?: never;
1985
+ path?: never;
1986
+ cookie?: never;
1987
+ };
1988
+ /**
1989
+ * Get a single asset
1990
+ * @description Get asset by its id
1991
+ */
1992
+ get: {
1993
+ parameters: {
1994
+ query?: never;
1995
+ header?: never;
1996
+ path: {
1997
+ assetId: components["parameters"]["AssetId"];
1998
+ };
1999
+ cookie?: never;
2000
+ };
2001
+ requestBody?: never;
2002
+ responses: {
2003
+ /** @description Asset content. Content type is determined by the asset type. */
2004
+ 200: {
2005
+ headers: {
2006
+ [name: string]: unknown;
2007
+ };
2008
+ content?: never;
2009
+ };
2010
+ };
2011
+ };
2012
+ put?: never;
2013
+ post?: never;
2014
+ delete?: never;
2015
+ options?: never;
2016
+ head?: never;
2017
+ patch?: never;
2018
+ trace?: never;
2019
+ };
2020
+ "/admin/users/{userId}": {
2021
+ parameters: {
2022
+ query?: never;
2023
+ header?: never;
2024
+ path?: never;
2025
+ cookie?: never;
2026
+ };
2027
+ get?: never;
2028
+ /**
2029
+ * Update user
2030
+ * @description Update a user's role, bookmark quota, or storage quota. Admin access required.
2031
+ */
2032
+ put: {
2033
+ parameters: {
2034
+ query?: never;
2035
+ header?: never;
2036
+ path: {
2037
+ userId: string;
2038
+ };
2039
+ cookie?: never;
2040
+ };
2041
+ requestBody?: {
2042
+ content: {
2043
+ "application/json": {
2044
+ /** @enum {string} */
2045
+ role?: "user" | "admin";
2046
+ bookmarkQuota?: number | null;
2047
+ storageQuota?: number | null;
2048
+ browserCrawlingEnabled?: boolean | null;
2049
+ };
2050
+ };
2051
+ };
2052
+ responses: {
2053
+ /** @description User updated successfully */
2054
+ 200: {
2055
+ headers: {
2056
+ [name: string]: unknown;
2057
+ };
2058
+ content: {
2059
+ "application/json": {
2060
+ success: boolean;
2061
+ };
2062
+ };
2063
+ };
2064
+ /** @description Bad request - Invalid input data or cannot update own user */
2065
+ 400: {
2066
+ headers: {
2067
+ [name: string]: unknown;
2068
+ };
2069
+ content: {
2070
+ "application/json": {
2071
+ error: string;
2072
+ };
2073
+ };
2074
+ };
2075
+ /** @description Unauthorized - Authentication required */
2076
+ 401: {
2077
+ headers: {
2078
+ [name: string]: unknown;
2079
+ };
2080
+ content: {
2081
+ "application/json": {
2082
+ error: string;
2083
+ };
2084
+ };
2085
+ };
2086
+ /** @description Forbidden - Admin access required */
2087
+ 403: {
2088
+ headers: {
2089
+ [name: string]: unknown;
2090
+ };
2091
+ content: {
2092
+ "application/json": {
2093
+ error: string;
2094
+ };
2095
+ };
2096
+ };
2097
+ /** @description User not found */
2098
+ 404: {
2099
+ headers: {
2100
+ [name: string]: unknown;
2101
+ };
2102
+ content: {
2103
+ "application/json": {
2104
+ error: string;
2105
+ };
2106
+ };
2107
+ };
2108
+ };
2109
+ };
2110
+ post?: never;
2111
+ delete?: never;
2112
+ options?: never;
2113
+ head?: never;
2114
+ patch?: never;
2115
+ trace?: never;
2116
+ };
1482
2117
  }
1483
2118
 
1484
2119
  export { }
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import createClient from "openapi-fetch";
2
2
  const createHoarderClient = createClient;
3
+ const createKarakeepClient = createClient;
3
4
  export {
4
- createHoarderClient
5
+ createHoarderClient,
6
+ createKarakeepClient
5
7
  };
6
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import createClient from \"openapi-fetch\";\n\nimport type { paths } from \"./hoarder-api.d.ts\";\n\nexport const createHoarderClient = createClient<paths>;\n"],"names":[],"mappings":";AAIO,MAAM,sBAAsB;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import createClient from \"openapi-fetch\";\n\nimport type { components, paths } from \"./karakeep-api.d.ts\";\n\n/**\n * @deprecated Use createKarakeepClient instead.\n */\nexport const createHoarderClient = createClient<paths>;\n\nexport const createKarakeepClient = createClient<paths>;\n\nexport type KarakeepAPISchemas = components[\"schemas\"];\n"],"names":[],"mappings":";AAOO,MAAM,sBAAsB;AAE5B,MAAM,uBAAuB;"}
package/package.json CHANGED
@@ -1,20 +1,21 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@karakeep/sdk",
4
- "version": "0.23.2",
4
+ "version": "0.26.0",
5
5
  "description": "Typescript SDK for Karakeep",
6
6
  "license": "GNU Affero General Public License version 3",
7
7
  "keywords": [
8
8
  "hoarder",
9
+ "karakeep",
9
10
  "sdk"
10
11
  ],
11
12
  "main": "./dist/index.js",
12
13
  "type": "module",
13
14
  "devDependencies": {
14
- "@karakeep/eslint-config": "^0.2.0",
15
15
  "@karakeep/prettier-config": "^0.1.0",
16
16
  "@karakeep/tsconfig": "^0.1.0",
17
17
  "@tsconfig/node22": "^22.0.0",
18
+ "openapi-typescript": "^7.6.1",
18
19
  "tsx": "^4.7.1",
19
20
  "vite": "^5.1.0",
20
21
  "vite-plugin-dts": "^4.4.0"
@@ -24,15 +25,6 @@
24
25
  "url": "git+https://github.com/karakeep-app/karakeep.git",
25
26
  "directory": "packages/sdk"
26
27
  },
27
- "eslintConfig": {
28
- "root": true,
29
- "extends": [
30
- "@karakeep/eslint-config/base"
31
- ],
32
- "ignorePatterns": [
33
- "src/hoarder-api.d.ts"
34
- ]
35
- },
36
28
  "prettier": "@karakeep/prettier-config",
37
29
  "dependencies": {
38
30
  "openapi-fetch": "^0.13.3"
@@ -40,8 +32,8 @@
40
32
  "scripts": {
41
33
  "build": "vite build",
42
34
  "run": "tsx src/index.ts",
43
- "lint": "eslint .",
44
- "lint:fix": "eslint . --fix",
35
+ "lint": "oxlint .",
36
+ "lint:fix": "oxlint . --fix",
45
37
  "format": "prettier . --ignore-path ../../.prettierignore",
46
38
  "format:fix": "prettier . --write --ignore-path ../../.prettierignore",
47
39
  "typecheck": "tsc --noEmit"