awolve-myoffice-cli 1.1.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.
Files changed (94) hide show
  1. package/README.md +205 -0
  2. package/dist/auth/cache-plugin.d.ts +20 -0
  3. package/dist/auth/cache-plugin.d.ts.map +1 -0
  4. package/dist/auth/cache-plugin.js +49 -0
  5. package/dist/auth/cache-plugin.js.map +1 -0
  6. package/dist/auth/config.d.ts +22 -0
  7. package/dist/auth/config.d.ts.map +1 -0
  8. package/dist/auth/config.js +64 -0
  9. package/dist/auth/config.js.map +1 -0
  10. package/dist/auth/device-code.d.ts +2 -0
  11. package/dist/auth/device-code.d.ts.map +1 -0
  12. package/dist/auth/device-code.js +38 -0
  13. package/dist/auth/device-code.js.map +1 -0
  14. package/dist/auth/index.d.ts +4 -0
  15. package/dist/auth/index.d.ts.map +1 -0
  16. package/dist/auth/index.js +4 -0
  17. package/dist/auth/index.js.map +1 -0
  18. package/dist/auth/login.d.ts +7 -0
  19. package/dist/auth/login.d.ts.map +1 -0
  20. package/dist/auth/login.js +22 -0
  21. package/dist/auth/login.js.map +1 -0
  22. package/dist/auth/token-manager.d.ts +4 -0
  23. package/dist/auth/token-manager.d.ts.map +1 -0
  24. package/dist/auth/token-manager.js +78 -0
  25. package/dist/auth/token-manager.js.map +1 -0
  26. package/dist/cli/formatter.d.ts +5 -0
  27. package/dist/cli/formatter.d.ts.map +1 -0
  28. package/dist/cli/formatter.js +317 -0
  29. package/dist/cli/formatter.js.map +1 -0
  30. package/dist/cli.d.ts +3 -0
  31. package/dist/cli.d.ts.map +1 -0
  32. package/dist/cli.js +802 -0
  33. package/dist/cli.js.map +1 -0
  34. package/dist/core/handler.d.ts +8 -0
  35. package/dist/core/handler.d.ts.map +1 -0
  36. package/dist/core/handler.js +289 -0
  37. package/dist/core/handler.js.map +1 -0
  38. package/dist/index.d.ts +3 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +819 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/tools/calendar.d.ts +124 -0
  43. package/dist/tools/calendar.d.ts.map +1 -0
  44. package/dist/tools/calendar.js +129 -0
  45. package/dist/tools/calendar.js.map +1 -0
  46. package/dist/tools/chats.d.ts +66 -0
  47. package/dist/tools/chats.d.ts.map +1 -0
  48. package/dist/tools/chats.js +102 -0
  49. package/dist/tools/chats.js.map +1 -0
  50. package/dist/tools/contacts.d.ts +119 -0
  51. package/dist/tools/contacts.d.ts.map +1 -0
  52. package/dist/tools/contacts.js +136 -0
  53. package/dist/tools/contacts.js.map +1 -0
  54. package/dist/tools/index.d.ts +10 -0
  55. package/dist/tools/index.d.ts.map +1 -0
  56. package/dist/tools/index.js +10 -0
  57. package/dist/tools/index.js.map +1 -0
  58. package/dist/tools/mail.d.ts +138 -0
  59. package/dist/tools/mail.d.ts.map +1 -0
  60. package/dist/tools/mail.js +187 -0
  61. package/dist/tools/mail.js.map +1 -0
  62. package/dist/tools/onedrive.d.ts +107 -0
  63. package/dist/tools/onedrive.d.ts.map +1 -0
  64. package/dist/tools/onedrive.js +136 -0
  65. package/dist/tools/onedrive.js.map +1 -0
  66. package/dist/tools/planner.d.ts +261 -0
  67. package/dist/tools/planner.d.ts.map +1 -0
  68. package/dist/tools/planner.js +401 -0
  69. package/dist/tools/planner.js.map +1 -0
  70. package/dist/tools/sharepoint.d.ts +138 -0
  71. package/dist/tools/sharepoint.d.ts.map +1 -0
  72. package/dist/tools/sharepoint.js +156 -0
  73. package/dist/tools/sharepoint.js.map +1 -0
  74. package/dist/tools/tasks.d.ts +107 -0
  75. package/dist/tools/tasks.d.ts.map +1 -0
  76. package/dist/tools/tasks.js +131 -0
  77. package/dist/tools/tasks.js.map +1 -0
  78. package/dist/tools/teams.d.ts +66 -0
  79. package/dist/tools/teams.d.ts.map +1 -0
  80. package/dist/tools/teams.js +69 -0
  81. package/dist/tools/teams.js.map +1 -0
  82. package/dist/utils/graph-client.d.ts +10 -0
  83. package/dist/utils/graph-client.d.ts.map +1 -0
  84. package/dist/utils/graph-client.js +49 -0
  85. package/dist/utils/graph-client.js.map +1 -0
  86. package/dist/utils/signature.d.ts +2 -0
  87. package/dist/utils/signature.d.ts.map +1 -0
  88. package/dist/utils/signature.js +17 -0
  89. package/dist/utils/signature.js.map +1 -0
  90. package/dist/utils/version.d.ts +2 -0
  91. package/dist/utils/version.d.ts.map +1 -0
  92. package/dist/utils/version.js +20 -0
  93. package/dist/utils/version.js.map +1 -0
  94. package/package.json +51 -0
@@ -0,0 +1,136 @@
1
+ import { z } from 'zod';
2
+ import { graphRequest, graphList } from '../utils/graph-client.js';
3
+ // Schemas
4
+ export const listContactsSchema = z.object({
5
+ maxItems: z.number().optional().describe('Maximum number of contacts. Default: 50'),
6
+ });
7
+ export const searchContactsSchema = z.object({
8
+ query: z.string().describe('Search query (name, email, or company)'),
9
+ maxItems: z.number().optional().describe('Maximum results. Default: 25'),
10
+ });
11
+ export const getContactSchema = z.object({
12
+ contactId: z.string().describe('The ID of the contact to retrieve'),
13
+ });
14
+ export const createContactSchema = z.object({
15
+ givenName: z.string().optional().describe('First name'),
16
+ surname: z.string().optional().describe('Last name'),
17
+ email: z.string().optional().describe('Email address'),
18
+ mobilePhone: z.string().optional().describe('Mobile phone number'),
19
+ businessPhone: z.string().optional().describe('Business phone number'),
20
+ companyName: z.string().optional().describe('Company name'),
21
+ jobTitle: z.string().optional().describe('Job title'),
22
+ });
23
+ export const updateContactSchema = z.object({
24
+ contactId: z.string().describe('The ID of the contact to update'),
25
+ givenName: z.string().optional().describe('First name'),
26
+ surname: z.string().optional().describe('Last name'),
27
+ email: z.string().optional().describe('Email address'),
28
+ mobilePhone: z.string().optional().describe('Mobile phone number'),
29
+ businessPhone: z.string().optional().describe('Business phone number'),
30
+ companyName: z.string().optional().describe('Company name'),
31
+ jobTitle: z.string().optional().describe('Job title'),
32
+ });
33
+ // Tool implementations
34
+ export async function listContacts(params) {
35
+ const { maxItems = 50 } = params;
36
+ const path = `/me/contacts?$select=id,displayName,givenName,surname,emailAddresses,businessPhones,mobilePhone,companyName,jobTitle&$orderby=displayName&$top=${maxItems}`;
37
+ const contacts = await graphList(path, { maxItems });
38
+ return contacts.map((c) => ({
39
+ id: c.id,
40
+ name: c.displayName,
41
+ firstName: c.givenName,
42
+ lastName: c.surname,
43
+ email: c.emailAddresses?.[0]?.address,
44
+ phone: c.mobilePhone || c.businessPhones?.[0],
45
+ company: c.companyName,
46
+ title: c.jobTitle,
47
+ }));
48
+ }
49
+ export async function searchContacts(params) {
50
+ const { query, maxItems = 25 } = params;
51
+ // Use $filter for search since contacts don't support $search
52
+ const encodedQuery = encodeURIComponent(query);
53
+ const path = `/me/contacts?$filter=contains(displayName,'${encodedQuery}') or contains(givenName,'${encodedQuery}') or contains(surname,'${encodedQuery}')&$select=id,displayName,emailAddresses,businessPhones,mobilePhone,companyName&$top=${maxItems}`;
54
+ const contacts = await graphList(path, { maxItems });
55
+ return contacts.map((c) => ({
56
+ id: c.id,
57
+ name: c.displayName,
58
+ email: c.emailAddresses?.[0]?.address,
59
+ phone: c.mobilePhone || c.businessPhones?.[0],
60
+ company: c.companyName,
61
+ }));
62
+ }
63
+ export async function getContact(params) {
64
+ const { contactId } = params;
65
+ const contact = await graphRequest(`/me/contacts/${contactId}?$select=id,displayName,givenName,surname,emailAddresses,businessPhones,mobilePhone,companyName,jobTitle`);
66
+ return {
67
+ id: contact.id,
68
+ name: contact.displayName,
69
+ firstName: contact.givenName,
70
+ lastName: contact.surname,
71
+ emails: contact.emailAddresses?.map((e) => e.address),
72
+ businessPhones: contact.businessPhones,
73
+ mobilePhone: contact.mobilePhone,
74
+ company: contact.companyName,
75
+ title: contact.jobTitle,
76
+ };
77
+ }
78
+ export async function createContact(params) {
79
+ const { givenName, surname, email, mobilePhone, businessPhone, companyName, jobTitle } = params;
80
+ const body = {};
81
+ if (givenName)
82
+ body.givenName = givenName;
83
+ if (surname)
84
+ body.surname = surname;
85
+ if (email) {
86
+ body.emailAddresses = [{ address: email, name: `${givenName || ''} ${surname || ''}`.trim() || email }];
87
+ }
88
+ if (mobilePhone)
89
+ body.mobilePhone = mobilePhone;
90
+ if (businessPhone)
91
+ body.businessPhones = [businessPhone];
92
+ if (companyName)
93
+ body.companyName = companyName;
94
+ if (jobTitle)
95
+ body.jobTitle = jobTitle;
96
+ const contact = await graphRequest('/me/contacts', {
97
+ method: 'POST',
98
+ body,
99
+ });
100
+ return {
101
+ success: true,
102
+ contactId: contact.id,
103
+ name: contact.displayName,
104
+ message: 'Contact created',
105
+ };
106
+ }
107
+ export async function updateContact(params) {
108
+ const { contactId, givenName, surname, email, mobilePhone, businessPhone, companyName, jobTitle } = params;
109
+ const body = {};
110
+ if (givenName !== undefined)
111
+ body.givenName = givenName;
112
+ if (surname !== undefined)
113
+ body.surname = surname;
114
+ if (email !== undefined) {
115
+ body.emailAddresses = [{ address: email }];
116
+ }
117
+ if (mobilePhone !== undefined)
118
+ body.mobilePhone = mobilePhone;
119
+ if (businessPhone !== undefined)
120
+ body.businessPhones = [businessPhone];
121
+ if (companyName !== undefined)
122
+ body.companyName = companyName;
123
+ if (jobTitle !== undefined)
124
+ body.jobTitle = jobTitle;
125
+ const contact = await graphRequest(`/me/contacts/${contactId}`, {
126
+ method: 'PATCH',
127
+ body,
128
+ });
129
+ return {
130
+ success: true,
131
+ contactId: contact.id,
132
+ name: contact.displayName,
133
+ message: 'Contact updated',
134
+ };
135
+ }
136
+ //# sourceMappingURL=contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export * from './mail.js';
2
+ export * from './calendar.js';
3
+ export * from './tasks.js';
4
+ export * from './onedrive.js';
5
+ export * from './sharepoint.js';
6
+ export * from './contacts.js';
7
+ export * from './teams.js';
8
+ export * from './chats.js';
9
+ export * from './planner.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ export * from './mail.js';
2
+ export * from './calendar.js';
3
+ export * from './tasks.js';
4
+ export * from './onedrive.js';
5
+ export * from './sharepoint.js';
6
+ export * from './contacts.js';
7
+ export * from './teams.js';
8
+ export * from './chats.js';
9
+ export * from './planner.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,138 @@
1
+ import { z } from 'zod';
2
+ export declare const listMailsSchema: z.ZodObject<{
3
+ folder: z.ZodOptional<z.ZodString>;
4
+ maxItems: z.ZodOptional<z.ZodNumber>;
5
+ unreadOnly: z.ZodOptional<z.ZodBoolean>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ maxItems?: number | undefined;
8
+ folder?: string | undefined;
9
+ unreadOnly?: boolean | undefined;
10
+ }, {
11
+ maxItems?: number | undefined;
12
+ folder?: string | undefined;
13
+ unreadOnly?: boolean | undefined;
14
+ }>;
15
+ export declare const readMailSchema: z.ZodObject<{
16
+ messageId: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ messageId: string;
19
+ }, {
20
+ messageId: string;
21
+ }>;
22
+ export declare const searchMailSchema: z.ZodObject<{
23
+ query: z.ZodString;
24
+ maxItems: z.ZodOptional<z.ZodNumber>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ query: string;
27
+ maxItems?: number | undefined;
28
+ }, {
29
+ query: string;
30
+ maxItems?: number | undefined;
31
+ }>;
32
+ export declare const sendMailSchema: z.ZodObject<{
33
+ to: z.ZodArray<z.ZodString, "many">;
34
+ subject: z.ZodString;
35
+ body: z.ZodString;
36
+ isHtml: z.ZodOptional<z.ZodBoolean>;
37
+ cc: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
38
+ bcc: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
39
+ useSignature: z.ZodOptional<z.ZodBoolean>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ body: string;
42
+ to: string[];
43
+ subject: string;
44
+ isHtml?: boolean | undefined;
45
+ cc?: string[] | undefined;
46
+ bcc?: string[] | undefined;
47
+ useSignature?: boolean | undefined;
48
+ }, {
49
+ body: string;
50
+ to: string[];
51
+ subject: string;
52
+ isHtml?: boolean | undefined;
53
+ cc?: string[] | undefined;
54
+ bcc?: string[] | undefined;
55
+ useSignature?: boolean | undefined;
56
+ }>;
57
+ export declare const replyMailSchema: z.ZodObject<{
58
+ messageId: z.ZodString;
59
+ body: z.ZodString;
60
+ isHtml: z.ZodOptional<z.ZodBoolean>;
61
+ replyAll: z.ZodOptional<z.ZodBoolean>;
62
+ useSignature: z.ZodOptional<z.ZodBoolean>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ body: string;
65
+ messageId: string;
66
+ isHtml?: boolean | undefined;
67
+ useSignature?: boolean | undefined;
68
+ replyAll?: boolean | undefined;
69
+ }, {
70
+ body: string;
71
+ messageId: string;
72
+ isHtml?: boolean | undefined;
73
+ useSignature?: boolean | undefined;
74
+ replyAll?: boolean | undefined;
75
+ }>;
76
+ export declare const deleteMailSchema: z.ZodObject<{
77
+ messageId: z.ZodString;
78
+ }, "strip", z.ZodTypeAny, {
79
+ messageId: string;
80
+ }, {
81
+ messageId: string;
82
+ }>;
83
+ export declare const markAsReadSchema: z.ZodObject<{
84
+ messageId: z.ZodString;
85
+ isRead: z.ZodOptional<z.ZodBoolean>;
86
+ }, "strip", z.ZodTypeAny, {
87
+ messageId: string;
88
+ isRead?: boolean | undefined;
89
+ }, {
90
+ messageId: string;
91
+ isRead?: boolean | undefined;
92
+ }>;
93
+ export declare function listMails(params: z.infer<typeof listMailsSchema>): Promise<{
94
+ id: string;
95
+ subject: string;
96
+ from: string | undefined;
97
+ fromName: string | undefined;
98
+ received: string;
99
+ isRead: boolean;
100
+ preview: string | undefined;
101
+ hasAttachments: boolean | undefined;
102
+ }[]>;
103
+ export declare function readMail(params: z.infer<typeof readMailSchema>): Promise<{
104
+ id: string;
105
+ subject: string;
106
+ from: string | undefined;
107
+ fromName: string | undefined;
108
+ to: string[] | undefined;
109
+ received: string;
110
+ body: string | undefined;
111
+ bodyType: string | undefined;
112
+ hasAttachments: boolean | undefined;
113
+ }>;
114
+ export declare function searchMail(params: z.infer<typeof searchMailSchema>): Promise<{
115
+ id: string;
116
+ subject: string;
117
+ from: string | undefined;
118
+ received: string;
119
+ isRead: boolean;
120
+ preview: string | undefined;
121
+ }[]>;
122
+ export declare function sendMail(params: z.infer<typeof sendMailSchema>): Promise<{
123
+ success: boolean;
124
+ message: string;
125
+ }>;
126
+ export declare function replyMail(params: z.infer<typeof replyMailSchema>): Promise<{
127
+ success: boolean;
128
+ message: string;
129
+ }>;
130
+ export declare function deleteMail(params: z.infer<typeof deleteMailSchema>): Promise<{
131
+ success: boolean;
132
+ message: string;
133
+ }>;
134
+ export declare function markAsRead(params: z.infer<typeof markAsReadSchema>): Promise<{
135
+ success: boolean;
136
+ message: string;
137
+ }>;
138
+ //# sourceMappingURL=mail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/tools/mail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAQzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAGH,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;KAqBtE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC;;;;;;;;;;GAkBpE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;;;;;KAexE;AAgBD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC;;;GA6CpE;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;GAoCtE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;GAQxE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;GASxE"}
@@ -0,0 +1,187 @@
1
+ import { z } from 'zod';
2
+ import { graphRequest, graphList } from '../utils/graph-client.js';
3
+ import { getSignature } from '../utils/signature.js';
4
+ // Schemas
5
+ export const listMailsSchema = z.object({
6
+ folder: z.string().optional().describe('Folder to list (inbox, sentitems, drafts, etc.). Default: inbox'),
7
+ maxItems: z.number().optional().describe('Maximum number of emails to return. Default: 25'),
8
+ unreadOnly: z.boolean().optional().describe('Only return unread emails'),
9
+ });
10
+ export const readMailSchema = z.object({
11
+ messageId: z.string().describe('The ID of the message to read'),
12
+ });
13
+ export const searchMailSchema = z.object({
14
+ query: z.string().describe('Search query (searches subject, body, and participants)'),
15
+ maxItems: z.number().optional().describe('Maximum number of results. Default: 25'),
16
+ });
17
+ export const sendMailSchema = z.object({
18
+ to: z.array(z.string()).describe('List of recipient email addresses'),
19
+ subject: z.string().describe('Email subject'),
20
+ body: z.string().describe('Email body (plain text or HTML)'),
21
+ isHtml: z.boolean().optional().describe('Whether body is HTML. Default: true'),
22
+ cc: z.array(z.string()).optional().describe('CC recipients'),
23
+ bcc: z.array(z.string()).optional().describe('BCC recipients'),
24
+ useSignature: z.boolean().optional().describe('Append email signature if configured. Default: true'),
25
+ });
26
+ export const replyMailSchema = z.object({
27
+ messageId: z.string().describe('The ID of the message to reply to'),
28
+ body: z.string().describe('Reply body (HTML by default)'),
29
+ isHtml: z.boolean().optional().describe('Whether body is HTML. Default: true'),
30
+ replyAll: z.boolean().optional().describe('Reply to all recipients. Default: false'),
31
+ useSignature: z.boolean().optional().describe('Append email signature if configured. Default: false'),
32
+ });
33
+ export const deleteMailSchema = z.object({
34
+ messageId: z.string().describe('The ID of the message to delete'),
35
+ });
36
+ export const markAsReadSchema = z.object({
37
+ messageId: z.string().describe('The ID of the message to mark as read'),
38
+ isRead: z.boolean().optional().describe('Set to false to mark as unread. Default: true'),
39
+ });
40
+ // Tool implementations
41
+ export async function listMails(params) {
42
+ const { folder = 'inbox', maxItems = 25, unreadOnly = false } = params;
43
+ let path = `/me/mailFolders/${folder}/messages?$select=id,subject,from,receivedDateTime,isRead,bodyPreview,hasAttachments&$orderby=receivedDateTime desc&$top=${maxItems}`;
44
+ if (unreadOnly) {
45
+ path += '&$filter=isRead eq false';
46
+ }
47
+ const messages = await graphList(path, { maxItems });
48
+ return messages.map((m) => ({
49
+ id: m.id,
50
+ subject: m.subject,
51
+ from: m.from?.emailAddress?.address,
52
+ fromName: m.from?.emailAddress?.name,
53
+ received: m.receivedDateTime,
54
+ isRead: m.isRead,
55
+ preview: m.bodyPreview?.substring(0, 200),
56
+ hasAttachments: m.hasAttachments,
57
+ }));
58
+ }
59
+ export async function readMail(params) {
60
+ const { messageId } = params;
61
+ const message = await graphRequest(`/me/messages/${messageId}?$select=id,subject,from,toRecipients,receivedDateTime,body,hasAttachments`);
62
+ return {
63
+ id: message.id,
64
+ subject: message.subject,
65
+ from: message.from?.emailAddress?.address,
66
+ fromName: message.from?.emailAddress?.name,
67
+ to: message.toRecipients?.map((r) => r.emailAddress.address),
68
+ received: message.receivedDateTime,
69
+ body: message.body?.content,
70
+ bodyType: message.body?.contentType,
71
+ hasAttachments: message.hasAttachments,
72
+ };
73
+ }
74
+ export async function searchMail(params) {
75
+ const { query, maxItems = 25 } = params;
76
+ const path = `/me/messages?$search="${encodeURIComponent(query)}"&$select=id,subject,from,receivedDateTime,isRead,bodyPreview&$top=${maxItems}`;
77
+ const messages = await graphList(path, { maxItems });
78
+ return messages.map((m) => ({
79
+ id: m.id,
80
+ subject: m.subject,
81
+ from: m.from?.emailAddress?.address,
82
+ received: m.receivedDateTime,
83
+ isRead: m.isRead,
84
+ preview: m.bodyPreview?.substring(0, 200),
85
+ }));
86
+ }
87
+ // Convert plain text to HTML (escape special chars, convert newlines to <br>)
88
+ function textToHtml(text) {
89
+ return text
90
+ .replace(/&/g, '&amp;')
91
+ .replace(/</g, '&lt;')
92
+ .replace(/>/g, '&gt;')
93
+ .replace(/\n/g, '<br>');
94
+ }
95
+ // Check if string looks like HTML (contains tags)
96
+ function looksLikeHtml(text) {
97
+ return /<[a-z][\s\S]*>/i.test(text);
98
+ }
99
+ export async function sendMail(params) {
100
+ const { to, subject, body, isHtml = true, cc, bcc, useSignature = true } = params;
101
+ // Prepare body - convert plain text to HTML if needed
102
+ let finalBody = body;
103
+ if (isHtml && !looksLikeHtml(body)) {
104
+ finalBody = textToHtml(body);
105
+ }
106
+ // Append signature if enabled and configured
107
+ if (useSignature) {
108
+ const signature = getSignature();
109
+ if (signature) {
110
+ finalBody = isHtml
111
+ ? `${finalBody}<br><br>${signature}`
112
+ : `${finalBody}\n\n--\n${signature}`;
113
+ }
114
+ }
115
+ const message = {
116
+ message: {
117
+ subject,
118
+ body: {
119
+ contentType: isHtml ? 'HTML' : 'Text',
120
+ content: finalBody,
121
+ },
122
+ toRecipients: to.map((addr) => ({
123
+ emailAddress: { address: addr },
124
+ })),
125
+ ccRecipients: cc?.map((addr) => ({
126
+ emailAddress: { address: addr },
127
+ })),
128
+ bccRecipients: bcc?.map((addr) => ({
129
+ emailAddress: { address: addr },
130
+ })),
131
+ },
132
+ saveToSentItems: true,
133
+ };
134
+ await graphRequest('/me/sendMail', {
135
+ method: 'POST',
136
+ body: message,
137
+ });
138
+ return { success: true, message: `Email sent to ${to.join(', ')}` };
139
+ }
140
+ export async function replyMail(params) {
141
+ const { messageId, body, isHtml = true, replyAll = false, useSignature = false } = params;
142
+ // Prepare body - convert plain text to HTML if needed
143
+ let finalBody = body;
144
+ if (isHtml && !looksLikeHtml(body)) {
145
+ finalBody = textToHtml(body);
146
+ }
147
+ // Append signature if enabled and configured
148
+ if (useSignature) {
149
+ const signature = getSignature();
150
+ if (signature) {
151
+ finalBody = isHtml
152
+ ? `${finalBody}<br><br>${signature}`
153
+ : `${finalBody}\n\n--\n${signature}`;
154
+ }
155
+ }
156
+ const endpoint = replyAll
157
+ ? `/me/messages/${messageId}/replyAll`
158
+ : `/me/messages/${messageId}/reply`;
159
+ await graphRequest(endpoint, {
160
+ method: 'POST',
161
+ body: {
162
+ message: {
163
+ body: {
164
+ contentType: isHtml ? 'HTML' : 'Text',
165
+ content: finalBody,
166
+ },
167
+ },
168
+ },
169
+ });
170
+ return { success: true, message: replyAll ? 'Reply sent to all' : 'Reply sent' };
171
+ }
172
+ export async function deleteMail(params) {
173
+ const { messageId } = params;
174
+ await graphRequest(`/me/messages/${messageId}`, {
175
+ method: 'DELETE',
176
+ });
177
+ return { success: true, message: 'Email deleted' };
178
+ }
179
+ export async function markAsRead(params) {
180
+ const { messageId, isRead = true } = params;
181
+ await graphRequest(`/me/messages/${messageId}`, {
182
+ method: 'PATCH',
183
+ body: { isRead },
184
+ });
185
+ return { success: true, message: isRead ? 'Email marked as read' : 'Email marked as unread' };
186
+ }
187
+ //# sourceMappingURL=mail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/tools/mail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { z } from 'zod';
2
+ export declare const listFilesSchema: z.ZodObject<{
3
+ path: z.ZodOptional<z.ZodString>;
4
+ maxItems: z.ZodOptional<z.ZodNumber>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ maxItems?: number | undefined;
7
+ path?: string | undefined;
8
+ }, {
9
+ maxItems?: number | undefined;
10
+ path?: string | undefined;
11
+ }>;
12
+ export declare const getFileSchema: z.ZodObject<{
13
+ path: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ path: string;
16
+ }, {
17
+ path: string;
18
+ }>;
19
+ export declare const searchFilesSchema: z.ZodObject<{
20
+ query: z.ZodString;
21
+ maxItems: z.ZodOptional<z.ZodNumber>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ query: string;
24
+ maxItems?: number | undefined;
25
+ }, {
26
+ query: string;
27
+ maxItems?: number | undefined;
28
+ }>;
29
+ export declare const readFileContentSchema: z.ZodObject<{
30
+ path: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ path: string;
33
+ }, {
34
+ path: string;
35
+ }>;
36
+ export declare const createFolderSchema: z.ZodObject<{
37
+ name: z.ZodString;
38
+ parentPath: z.ZodOptional<z.ZodString>;
39
+ }, "strip", z.ZodTypeAny, {
40
+ name: string;
41
+ parentPath?: string | undefined;
42
+ }, {
43
+ name: string;
44
+ parentPath?: string | undefined;
45
+ }>;
46
+ export declare const listSharedWithMeSchema: z.ZodObject<{
47
+ maxItems: z.ZodOptional<z.ZodNumber>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ maxItems?: number | undefined;
50
+ }, {
51
+ maxItems?: number | undefined;
52
+ }>;
53
+ export declare function listFiles(params: z.infer<typeof listFilesSchema>): Promise<{
54
+ id: string;
55
+ name: string;
56
+ type: string;
57
+ size: number | undefined;
58
+ mimeType: string | undefined;
59
+ childCount: number | undefined;
60
+ created: string;
61
+ modified: string;
62
+ webUrl: string;
63
+ }[]>;
64
+ export declare function getFile(params: z.infer<typeof getFileSchema>): Promise<{
65
+ id: string;
66
+ name: string;
67
+ size: number | undefined;
68
+ mimeType: string | undefined;
69
+ created: string;
70
+ modified: string;
71
+ webUrl: string;
72
+ }>;
73
+ export declare function searchFiles(params: z.infer<typeof searchFilesSchema>): Promise<{
74
+ id: string;
75
+ name: string;
76
+ type: string;
77
+ size: number | undefined;
78
+ mimeType: string | undefined;
79
+ webUrl: string;
80
+ }[]>;
81
+ export declare function readFileContent(params: z.infer<typeof readFileContentSchema>): Promise<{
82
+ name: string;
83
+ size: number | undefined;
84
+ mimeType: string | undefined;
85
+ content: string;
86
+ }>;
87
+ export declare function createFolder(params: z.infer<typeof createFolderSchema>): Promise<{
88
+ success: boolean;
89
+ folderId: string;
90
+ name: string;
91
+ webUrl: string;
92
+ }>;
93
+ export declare function listSharedWithMe(params: z.infer<typeof listSharedWithMeSchema>): Promise<{
94
+ id: string;
95
+ name: string;
96
+ type: string;
97
+ size: number | undefined;
98
+ mimeType: string | undefined;
99
+ childCount: number | undefined;
100
+ created: string;
101
+ modified: string;
102
+ webUrl: string;
103
+ remoteDriveId: string | undefined;
104
+ remoteDriveType: string | undefined;
105
+ remoteItemId: string | undefined;
106
+ }[]>;
107
+ //# sourceMappingURL=onedrive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onedrive.d.ts","sourceRoot":"","sources":["../../src/tools/onedrive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,eAAe;;;;;;;;;EAG1B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;EAExB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAGH,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;KAsBtE;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC;;;;;;;;GAgBlE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;;;KAe1E;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;GAgClF;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;GAsB5E;AAaD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC;;;;;;;;;;;;;KAsBpF"}