@kb-labs/inbox-contracts 2.96.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/index.d.ts +121 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/package.json +42 -0
package/README.md
ADDED
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
interface EmailAddress {
|
|
4
|
+
name?: string;
|
|
5
|
+
address: string;
|
|
6
|
+
}
|
|
7
|
+
interface EmailAttachment {
|
|
8
|
+
filename: string;
|
|
9
|
+
contentType: string;
|
|
10
|
+
size: number;
|
|
11
|
+
}
|
|
12
|
+
interface Email {
|
|
13
|
+
uid: number;
|
|
14
|
+
messageId?: string;
|
|
15
|
+
subject: string;
|
|
16
|
+
from: EmailAddress;
|
|
17
|
+
to: EmailAddress[];
|
|
18
|
+
cc?: EmailAddress[];
|
|
19
|
+
date: string;
|
|
20
|
+
folder: string;
|
|
21
|
+
flags: string[];
|
|
22
|
+
text?: string;
|
|
23
|
+
html?: string;
|
|
24
|
+
attachments?: EmailAttachment[];
|
|
25
|
+
inReplyTo?: string;
|
|
26
|
+
references?: string[];
|
|
27
|
+
}
|
|
28
|
+
interface EmailSlim {
|
|
29
|
+
uid: number;
|
|
30
|
+
subject: string;
|
|
31
|
+
from: EmailAddress;
|
|
32
|
+
date: string;
|
|
33
|
+
folder: string;
|
|
34
|
+
unread: boolean;
|
|
35
|
+
flagged: boolean;
|
|
36
|
+
hasAttachments: boolean;
|
|
37
|
+
}
|
|
38
|
+
interface Folder {
|
|
39
|
+
name: string;
|
|
40
|
+
path: string;
|
|
41
|
+
flags: string[];
|
|
42
|
+
specialUse?: string;
|
|
43
|
+
}
|
|
44
|
+
interface AccountInfo {
|
|
45
|
+
name: string;
|
|
46
|
+
user: string;
|
|
47
|
+
imapHost: string;
|
|
48
|
+
imapPort: number;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
declare const SendMessageSchema: z.ZodObject<{
|
|
52
|
+
to: z.ZodString;
|
|
53
|
+
subject: z.ZodString;
|
|
54
|
+
body: z.ZodString;
|
|
55
|
+
cc: z.ZodOptional<z.ZodString>;
|
|
56
|
+
bcc: z.ZodOptional<z.ZodString>;
|
|
57
|
+
account: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
to: string;
|
|
60
|
+
subject: string;
|
|
61
|
+
body: string;
|
|
62
|
+
cc?: string | undefined;
|
|
63
|
+
bcc?: string | undefined;
|
|
64
|
+
account?: string | undefined;
|
|
65
|
+
}, {
|
|
66
|
+
to: string;
|
|
67
|
+
subject: string;
|
|
68
|
+
body: string;
|
|
69
|
+
cc?: string | undefined;
|
|
70
|
+
bcc?: string | undefined;
|
|
71
|
+
account?: string | undefined;
|
|
72
|
+
}>;
|
|
73
|
+
type SendMessageInput = z.infer<typeof SendMessageSchema>;
|
|
74
|
+
declare const ReplyMessageSchema: z.ZodObject<{
|
|
75
|
+
body: z.ZodString;
|
|
76
|
+
account: z.ZodOptional<z.ZodString>;
|
|
77
|
+
}, "strip", z.ZodTypeAny, {
|
|
78
|
+
body: string;
|
|
79
|
+
account?: string | undefined;
|
|
80
|
+
}, {
|
|
81
|
+
body: string;
|
|
82
|
+
account?: string | undefined;
|
|
83
|
+
}>;
|
|
84
|
+
type ReplyMessageInput = z.infer<typeof ReplyMessageSchema>;
|
|
85
|
+
declare const MoveMessageSchema: z.ZodObject<{
|
|
86
|
+
folder: z.ZodString;
|
|
87
|
+
account: z.ZodOptional<z.ZodString>;
|
|
88
|
+
}, "strip", z.ZodTypeAny, {
|
|
89
|
+
folder: string;
|
|
90
|
+
account?: string | undefined;
|
|
91
|
+
}, {
|
|
92
|
+
folder: string;
|
|
93
|
+
account?: string | undefined;
|
|
94
|
+
}>;
|
|
95
|
+
type MoveMessageInput = z.infer<typeof MoveMessageSchema>;
|
|
96
|
+
declare const MarkMessageSchema: z.ZodObject<{
|
|
97
|
+
mark: z.ZodEnum<["read", "unread", "spam", "flagged", "unflagged"]>;
|
|
98
|
+
account: z.ZodOptional<z.ZodString>;
|
|
99
|
+
}, "strip", z.ZodTypeAny, {
|
|
100
|
+
mark: "read" | "unread" | "spam" | "flagged" | "unflagged";
|
|
101
|
+
account?: string | undefined;
|
|
102
|
+
}, {
|
|
103
|
+
mark: "read" | "unread" | "spam" | "flagged" | "unflagged";
|
|
104
|
+
account?: string | undefined;
|
|
105
|
+
}>;
|
|
106
|
+
type MarkMessageInput = z.infer<typeof MarkMessageSchema>;
|
|
107
|
+
|
|
108
|
+
declare const INBOX_BASE_PATH: "/v1/plugins/inbox";
|
|
109
|
+
declare const INBOX_ROUTES: {
|
|
110
|
+
readonly MESSAGES: "/messages";
|
|
111
|
+
readonly MESSAGE: "/messages/:uid";
|
|
112
|
+
readonly MESSAGE_THREAD: "/messages/:uid/thread";
|
|
113
|
+
readonly MESSAGE_REPLY: "/messages/:uid/reply";
|
|
114
|
+
readonly MESSAGE_MOVE: "/messages/:uid/move";
|
|
115
|
+
readonly MESSAGE_MARK: "/messages/:uid/mark";
|
|
116
|
+
readonly SEARCH: "/search";
|
|
117
|
+
readonly FOLDERS: "/folders";
|
|
118
|
+
readonly ACCOUNTS: "/accounts";
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
export { type AccountInfo, type Email, type EmailAddress, type EmailAttachment, type EmailSlim, type Folder, INBOX_BASE_PATH, INBOX_ROUTES, type MarkMessageInput, MarkMessageSchema, type MoveMessageInput, MoveMessageSchema, type ReplyMessageInput, ReplyMessageSchema, type SendMessageInput, SendMessageSchema };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// src/schemas.ts
|
|
4
|
+
var SendMessageSchema = z.object({
|
|
5
|
+
to: z.string().min(1),
|
|
6
|
+
subject: z.string().min(1),
|
|
7
|
+
body: z.string().min(1),
|
|
8
|
+
cc: z.string().optional(),
|
|
9
|
+
bcc: z.string().optional(),
|
|
10
|
+
account: z.string().optional()
|
|
11
|
+
});
|
|
12
|
+
var ReplyMessageSchema = z.object({
|
|
13
|
+
body: z.string().min(1),
|
|
14
|
+
account: z.string().optional()
|
|
15
|
+
});
|
|
16
|
+
var MoveMessageSchema = z.object({
|
|
17
|
+
folder: z.string().min(1),
|
|
18
|
+
account: z.string().optional()
|
|
19
|
+
});
|
|
20
|
+
var MarkMessageSchema = z.object({
|
|
21
|
+
mark: z.enum(["read", "unread", "spam", "flagged", "unflagged"]),
|
|
22
|
+
account: z.string().optional()
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// src/routes.ts
|
|
26
|
+
var INBOX_BASE_PATH = "/v1/plugins/inbox";
|
|
27
|
+
var INBOX_ROUTES = {
|
|
28
|
+
MESSAGES: "/messages",
|
|
29
|
+
MESSAGE: "/messages/:uid",
|
|
30
|
+
MESSAGE_THREAD: "/messages/:uid/thread",
|
|
31
|
+
MESSAGE_REPLY: "/messages/:uid/reply",
|
|
32
|
+
MESSAGE_MOVE: "/messages/:uid/move",
|
|
33
|
+
MESSAGE_MARK: "/messages/:uid/mark",
|
|
34
|
+
SEARCH: "/search",
|
|
35
|
+
FOLDERS: "/folders",
|
|
36
|
+
ACCOUNTS: "/accounts"
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { INBOX_BASE_PATH, INBOX_ROUTES, MarkMessageSchema, MoveMessageSchema, ReplyMessageSchema, SendMessageSchema };
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schemas.ts","../src/routes.ts"],"names":[],"mappings":";;;AAEO,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAI,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACpB,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACzB,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACtB,EAAA,EAAI,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC;AAGM,IAAM,kBAAA,GAAqB,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACtB,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC;AAGM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACxC,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACxB,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC;AAGM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAM,EAAE,IAAA,CAAK,CAAC,QAAQ,QAAA,EAAU,MAAA,EAAQ,SAAA,EAAW,WAAW,CAAC,CAAA;AAAA,EAC/D,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC;;;AC3BM,IAAM,eAAA,GAAkB;AAExB,IAAM,YAAA,GAAe;AAAA,EAC1B,QAAA,EAAgB,WAAA;AAAA,EAChB,OAAA,EAAgB,gBAAA;AAAA,EAChB,cAAA,EAAgB,uBAAA;AAAA,EAChB,aAAA,EAAgB,sBAAA;AAAA,EAChB,YAAA,EAAgB,qBAAA;AAAA,EAChB,YAAA,EAAgB,qBAAA;AAAA,EAChB,MAAA,EAAgB,SAAA;AAAA,EAChB,OAAA,EAAgB,UAAA;AAAA,EAChB,QAAA,EAAgB;AAClB","file":"index.js","sourcesContent":["import { z } from 'zod';\n\nexport const SendMessageSchema = z.object({\n to: z.string().min(1),\n subject: z.string().min(1),\n body: z.string().min(1),\n cc: z.string().optional(),\n bcc: z.string().optional(),\n account: z.string().optional(),\n});\nexport type SendMessageInput = z.infer<typeof SendMessageSchema>;\n\nexport const ReplyMessageSchema = z.object({\n body: z.string().min(1),\n account: z.string().optional(),\n});\nexport type ReplyMessageInput = z.infer<typeof ReplyMessageSchema>;\n\nexport const MoveMessageSchema = z.object({\n folder: z.string().min(1),\n account: z.string().optional(),\n});\nexport type MoveMessageInput = z.infer<typeof MoveMessageSchema>;\n\nexport const MarkMessageSchema = z.object({\n mark: z.enum(['read', 'unread', 'spam', 'flagged', 'unflagged']),\n account: z.string().optional(),\n});\nexport type MarkMessageInput = z.infer<typeof MarkMessageSchema>;\n","export const INBOX_BASE_PATH = '/v1/plugins/inbox' as const;\n\nexport const INBOX_ROUTES = {\n MESSAGES: '/messages',\n MESSAGE: '/messages/:uid',\n MESSAGE_THREAD: '/messages/:uid/thread',\n MESSAGE_REPLY: '/messages/:uid/reply',\n MESSAGE_MOVE: '/messages/:uid/move',\n MESSAGE_MARK: '/messages/:uid/mark',\n SEARCH: '/search',\n FOLDERS: '/folders',\n ACCOUNTS: '/accounts',\n} as const;\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kb-labs/inbox-contracts",
|
|
3
|
+
"version": "2.96.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Public types and schemas for the inbox plugin",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"sideEffects": false,
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"zod": "3.25.76"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/node": "^24.0.0",
|
|
23
|
+
"rimraf": "^6.0.1",
|
|
24
|
+
"tsup": "^8.5.0",
|
|
25
|
+
"typescript": "^5.6.3",
|
|
26
|
+
"vitest": "^3.2.6",
|
|
27
|
+
"@kb-labs/devkit": "2.96.0"
|
|
28
|
+
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=20.0.0",
|
|
31
|
+
"pnpm": ">=9.0.0"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"clean": "rimraf dist",
|
|
35
|
+
"build": "tsup",
|
|
36
|
+
"dev": "tsup --watch",
|
|
37
|
+
"lint": "eslint src --ext .ts",
|
|
38
|
+
"lint:fix": "eslint . --fix",
|
|
39
|
+
"type-check": "tsc --noEmit",
|
|
40
|
+
"test": "vitest run --passWithNoTests"
|
|
41
|
+
}
|
|
42
|
+
}
|