aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sdk
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-04-13 01:27:45 +0000
committerMohamed Bassem <me@mbassem.com>2025-04-13 01:53:11 +0000
commitcf97bace33fdd14f29ce947d55d17cba8fa85c11 (patch)
tree048a88eeabfcb1b1b32b2cd298c229e6c7082341 /packages/sdk
parenta39cd5f3c0a3e287652f945d203facab413b5b65 (diff)
downloadkarakeep-cf97bace33fdd14f29ce947d55d17cba8fa85c11.tar.zst
feat: Add an MCP server for karakeep
Diffstat (limited to 'packages/sdk')
-rw-r--r--packages/sdk/package.json1
-rw-r--r--packages/sdk/src/hoarder-api.d.ts351
2 files changed, 352 insertions, 0 deletions
diff --git a/packages/sdk/package.json b/packages/sdk/package.json
index 51408f79..eada3234 100644
--- a/packages/sdk/package.json
+++ b/packages/sdk/package.json
@@ -21,6 +21,7 @@
"@karakeep/prettier-config": "workspace:^0.1.0",
"@karakeep/tsconfig": "workspace:^0.1.0",
"@tsconfig/node22": "^22.0.0",
+ "openapi-typescript": "^7.6.1",
"tsx": "^4.7.1",
"vite": "^5.1.0",
"vite-plugin-dts": "^4.4.0"
diff --git a/packages/sdk/src/hoarder-api.d.ts b/packages/sdk/src/hoarder-api.d.ts
index d0fd8e19..44b8bef7 100644
--- a/packages/sdk/src/hoarder-api.d.ts
+++ b/packages/sdk/src/hoarder-api.d.ts
@@ -98,6 +98,18 @@ export interface paths {
"application/json": components["schemas"]["Bookmark"];
};
};
+ /** @description Bad request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
delete?: never;
@@ -180,6 +192,18 @@ export interface paths {
"application/json": components["schemas"]["Bookmark"];
};
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
put?: never;
@@ -206,6 +230,18 @@ export interface paths {
};
content?: never;
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
options?: never;
@@ -265,6 +301,18 @@ export interface paths {
};
};
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
trace?: never;
@@ -313,6 +361,18 @@ export interface paths {
};
};
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
delete?: never;
@@ -366,6 +426,18 @@ export interface paths {
};
};
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
/**
@@ -404,6 +476,18 @@ export interface paths {
};
};
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
options?: never;
@@ -444,6 +528,18 @@ export interface paths {
};
};
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
put?: never;
@@ -516,6 +612,18 @@ export interface paths {
};
};
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
delete?: never;
@@ -562,6 +670,18 @@ export interface paths {
};
content?: never;
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
post?: never;
@@ -588,6 +708,18 @@ export interface paths {
};
content?: never;
};
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
options?: never;
@@ -645,6 +777,7 @@ export interface paths {
content: {
"application/json": {
name: string;
+ description?: string;
icon: string;
/**
* @default manual
@@ -666,6 +799,18 @@ export interface paths {
"application/json": components["schemas"]["List"];
};
};
+ /** @description Bad request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
delete?: never;
@@ -705,6 +850,18 @@ export interface paths {
"application/json": components["schemas"]["List"];
};
};
+ /** @description List not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
put?: never;
@@ -731,6 +888,18 @@ export interface paths {
};
content?: never;
};
+ /** @description List not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
options?: never;
@@ -753,6 +922,7 @@ export interface paths {
content: {
"application/json": {
name?: string;
+ description?: string | null;
icon?: string;
parentId?: string | null;
query?: string;
@@ -769,6 +939,18 @@ export interface paths {
"application/json": components["schemas"]["List"];
};
};
+ /** @description List not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
trace?: never;
@@ -807,6 +989,18 @@ export interface paths {
"application/json": components["schemas"]["PaginatedBookmarks"];
};
};
+ /** @description List not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
put?: never;
@@ -848,6 +1042,30 @@ export interface paths {
};
content?: never;
};
+ /** @description Bookmark already in list */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
+ /** @description List or bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
post?: never;
@@ -874,6 +1092,30 @@ export interface paths {
};
content?: never;
};
+ /** @description Bookmark already not in list */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
+ /** @description List or bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
options?: never;
@@ -953,6 +1195,18 @@ export interface paths {
"application/json": components["schemas"]["Tag"];
};
};
+ /** @description Tag not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
put?: never;
@@ -979,6 +1233,18 @@ export interface paths {
};
content?: never;
};
+ /** @description Tag not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
options?: never;
@@ -1014,6 +1280,18 @@ export interface paths {
"application/json": components["schemas"]["Tag"];
};
};
+ /** @description Tag not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
trace?: never;
@@ -1052,6 +1330,18 @@ export interface paths {
"application/json": components["schemas"]["PaginatedBookmarks"];
};
};
+ /** @description Tag not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
put?: never;
@@ -1135,6 +1425,30 @@ export interface paths {
"application/json": components["schemas"]["Highlight"];
};
};
+ /** @description Bad highlight request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
+ /** @description Bookmark not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
delete?: never;
@@ -1174,6 +1488,18 @@ export interface paths {
"application/json": components["schemas"]["Highlight"];
};
};
+ /** @description Highlight not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
put?: never;
@@ -1202,6 +1528,18 @@ export interface paths {
"application/json": components["schemas"]["Highlight"];
};
};
+ /** @description Highlight not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
options?: never;
@@ -1238,6 +1576,18 @@ export interface paths {
"application/json": components["schemas"]["Highlight"];
};
};
+ /** @description Highlight not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ code: string;
+ message: string;
+ };
+ };
+ };
};
};
trace?: never;
@@ -1440,6 +1790,7 @@ export interface components {
List: {
id: string;
name: string;
+ description?: string | null;
icon: string;
parentId: string | null;
/**