@awolve/myoffice 1.6.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 +271 -0
- package/dist/auth/cache-plugin.d.ts +20 -0
- package/dist/auth/cache-plugin.d.ts.map +1 -0
- package/dist/auth/cache-plugin.js +49 -0
- package/dist/auth/cache-plugin.js.map +1 -0
- package/dist/auth/config.d.ts +40 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +135 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/device-code.d.ts +2 -0
- package/dist/auth/device-code.d.ts.map +1 -0
- package/dist/auth/device-code.js +40 -0
- package/dist/auth/device-code.js.map +1 -0
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +4 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/login.d.ts +7 -0
- package/dist/auth/login.d.ts.map +1 -0
- package/dist/auth/login.js +22 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/token-manager.d.ts +4 -0
- package/dist/auth/token-manager.d.ts.map +1 -0
- package/dist/auth/token-manager.js +85 -0
- package/dist/auth/token-manager.js.map +1 -0
- package/dist/cli/formatter.d.ts +5 -0
- package/dist/cli/formatter.d.ts.map +1 -0
- package/dist/cli/formatter.js +317 -0
- package/dist/cli/formatter.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +973 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/handler.d.ts +8 -0
- package/dist/core/handler.d.ts.map +1 -0
- package/dist/core/handler.js +327 -0
- package/dist/core/handler.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +924 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/calendar.d.ts +124 -0
- package/dist/tools/calendar.d.ts.map +1 -0
- package/dist/tools/calendar.js +129 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/chats.d.ts +66 -0
- package/dist/tools/chats.d.ts.map +1 -0
- package/dist/tools/chats.js +102 -0
- package/dist/tools/chats.js.map +1 -0
- package/dist/tools/contacts.d.ts +138 -0
- package/dist/tools/contacts.d.ts.map +1 -0
- package/dist/tools/contacts.js +189 -0
- package/dist/tools/contacts.js.map +1 -0
- package/dist/tools/index.d.ts +10 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +10 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/mail.d.ts +138 -0
- package/dist/tools/mail.d.ts.map +1 -0
- package/dist/tools/mail.js +187 -0
- package/dist/tools/mail.js.map +1 -0
- package/dist/tools/onedrive.d.ts +125 -0
- package/dist/tools/onedrive.d.ts.map +1 -0
- package/dist/tools/onedrive.js +203 -0
- package/dist/tools/onedrive.js.map +1 -0
- package/dist/tools/planner.d.ts +390 -0
- package/dist/tools/planner.d.ts.map +1 -0
- package/dist/tools/planner.js +693 -0
- package/dist/tools/planner.js.map +1 -0
- package/dist/tools/sharepoint.d.ts +138 -0
- package/dist/tools/sharepoint.d.ts.map +1 -0
- package/dist/tools/sharepoint.js +156 -0
- package/dist/tools/sharepoint.js.map +1 -0
- package/dist/tools/tasks.d.ts +107 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +131 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/tools/teams.d.ts +66 -0
- package/dist/tools/teams.d.ts.map +1 -0
- package/dist/tools/teams.js +69 -0
- package/dist/tools/teams.js.map +1 -0
- package/dist/utils/graph-client.d.ts +15 -0
- package/dist/utils/graph-client.d.ts.map +1 -0
- package/dist/utils/graph-client.js +126 -0
- package/dist/utils/graph-client.js.map +1 -0
- package/dist/utils/signature.d.ts +2 -0
- package/dist/utils/signature.d.ts.map +1 -0
- package/dist/utils/signature.js +17 -0
- package/dist/utils/signature.js.map +1 -0
- package/dist/utils/version.d.ts +2 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +20 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,125 @@
|
|
|
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 const uploadFileSchema: z.ZodObject<{
|
|
54
|
+
localPath: z.ZodString;
|
|
55
|
+
remotePath: z.ZodOptional<z.ZodString>;
|
|
56
|
+
}, "strip", z.ZodTypeAny, {
|
|
57
|
+
localPath: string;
|
|
58
|
+
remotePath?: string | undefined;
|
|
59
|
+
}, {
|
|
60
|
+
localPath: string;
|
|
61
|
+
remotePath?: string | undefined;
|
|
62
|
+
}>;
|
|
63
|
+
export declare function listFiles(params: z.infer<typeof listFilesSchema>): Promise<{
|
|
64
|
+
id: string;
|
|
65
|
+
name: string;
|
|
66
|
+
type: string;
|
|
67
|
+
size: number | undefined;
|
|
68
|
+
mimeType: string | undefined;
|
|
69
|
+
childCount: number | undefined;
|
|
70
|
+
created: string;
|
|
71
|
+
modified: string;
|
|
72
|
+
webUrl: string;
|
|
73
|
+
}[]>;
|
|
74
|
+
export declare function getFile(params: z.infer<typeof getFileSchema>): Promise<{
|
|
75
|
+
id: string;
|
|
76
|
+
name: string;
|
|
77
|
+
size: number | undefined;
|
|
78
|
+
mimeType: string | undefined;
|
|
79
|
+
created: string;
|
|
80
|
+
modified: string;
|
|
81
|
+
webUrl: string;
|
|
82
|
+
}>;
|
|
83
|
+
export declare function searchFiles(params: z.infer<typeof searchFilesSchema>): Promise<{
|
|
84
|
+
id: string;
|
|
85
|
+
name: string;
|
|
86
|
+
type: string;
|
|
87
|
+
size: number | undefined;
|
|
88
|
+
mimeType: string | undefined;
|
|
89
|
+
webUrl: string;
|
|
90
|
+
}[]>;
|
|
91
|
+
export declare function readFileContent(params: z.infer<typeof readFileContentSchema>): Promise<{
|
|
92
|
+
name: string;
|
|
93
|
+
size: number | undefined;
|
|
94
|
+
mimeType: string | undefined;
|
|
95
|
+
content: string;
|
|
96
|
+
}>;
|
|
97
|
+
export declare function createFolder(params: z.infer<typeof createFolderSchema>): Promise<{
|
|
98
|
+
success: boolean;
|
|
99
|
+
folderId: string;
|
|
100
|
+
name: string;
|
|
101
|
+
webUrl: string;
|
|
102
|
+
}>;
|
|
103
|
+
export declare function listSharedWithMe(params: z.infer<typeof listSharedWithMeSchema>): Promise<{
|
|
104
|
+
id: string;
|
|
105
|
+
name: string;
|
|
106
|
+
type: string;
|
|
107
|
+
size: number | undefined;
|
|
108
|
+
mimeType: string | undefined;
|
|
109
|
+
childCount: number | undefined;
|
|
110
|
+
created: string;
|
|
111
|
+
modified: string;
|
|
112
|
+
webUrl: string;
|
|
113
|
+
remoteDriveId: string | undefined;
|
|
114
|
+
remoteDriveType: string | undefined;
|
|
115
|
+
remoteItemId: string | undefined;
|
|
116
|
+
}[]>;
|
|
117
|
+
export declare function uploadFile(params: z.infer<typeof uploadFileSchema>): Promise<{
|
|
118
|
+
success: boolean;
|
|
119
|
+
id: string;
|
|
120
|
+
name: string;
|
|
121
|
+
size: number | undefined;
|
|
122
|
+
webUrl: string;
|
|
123
|
+
mimeType: string | undefined;
|
|
124
|
+
}>;
|
|
125
|
+
//# 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;AAmBxB,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;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAM3B,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;AAgCD,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;;;;;GAyCxE"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { readFile } from 'fs/promises';
|
|
3
|
+
import { basename } from 'path';
|
|
4
|
+
import { graphRequest, graphList, graphUpload, graphUploadLarge } from '../utils/graph-client.js';
|
|
5
|
+
// Schemas
|
|
6
|
+
export const listFilesSchema = z.object({
|
|
7
|
+
path: z.string().optional().describe('Folder path (e.g., "Documents/Projects"). Default: root'),
|
|
8
|
+
maxItems: z.number().optional().describe('Maximum number of items. Default: 50'),
|
|
9
|
+
});
|
|
10
|
+
export const getFileSchema = z.object({
|
|
11
|
+
path: z.string().describe('File path (e.g., "Documents/report.pdf")'),
|
|
12
|
+
});
|
|
13
|
+
export const searchFilesSchema = z.object({
|
|
14
|
+
query: z.string().describe('Search query'),
|
|
15
|
+
maxItems: z.number().optional().describe('Maximum results. Default: 25'),
|
|
16
|
+
});
|
|
17
|
+
export const readFileContentSchema = z.object({
|
|
18
|
+
path: z.string().describe('File path to read (works best with text files)'),
|
|
19
|
+
});
|
|
20
|
+
export const createFolderSchema = z.object({
|
|
21
|
+
name: z.string().describe('Folder name'),
|
|
22
|
+
parentPath: z.string().optional().describe('Parent folder path. Default: root'),
|
|
23
|
+
});
|
|
24
|
+
export const listSharedWithMeSchema = z.object({
|
|
25
|
+
maxItems: z.number().optional().describe('Maximum number of items. Default: 50'),
|
|
26
|
+
});
|
|
27
|
+
export const uploadFileSchema = z.object({
|
|
28
|
+
localPath: z.string().describe('Local file path to upload'),
|
|
29
|
+
remotePath: z
|
|
30
|
+
.string()
|
|
31
|
+
.optional()
|
|
32
|
+
.describe('Destination path in OneDrive (e.g., "Documents/file.pdf"). If omitted, uploads to root with original filename'),
|
|
33
|
+
});
|
|
34
|
+
// Tool implementations
|
|
35
|
+
export async function listFiles(params) {
|
|
36
|
+
const { path = '', maxItems = 50 } = params;
|
|
37
|
+
const apiPath = path
|
|
38
|
+
? `/me/drive/root:/${path}:/children`
|
|
39
|
+
: '/me/drive/root/children';
|
|
40
|
+
const fullPath = `${apiPath}?$select=id,name,size,createdDateTime,lastModifiedDateTime,webUrl,folder,file&$top=${maxItems}`;
|
|
41
|
+
const items = await graphList(fullPath, { maxItems });
|
|
42
|
+
return items.map((item) => ({
|
|
43
|
+
id: item.id,
|
|
44
|
+
name: item.name,
|
|
45
|
+
type: item.folder ? 'folder' : 'file',
|
|
46
|
+
size: item.size,
|
|
47
|
+
mimeType: item.file?.mimeType,
|
|
48
|
+
childCount: item.folder?.childCount,
|
|
49
|
+
created: item.createdDateTime,
|
|
50
|
+
modified: item.lastModifiedDateTime,
|
|
51
|
+
webUrl: item.webUrl,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
export async function getFile(params) {
|
|
55
|
+
const { path } = params;
|
|
56
|
+
const item = await graphRequest(`/me/drive/root:/${path}?$select=id,name,size,createdDateTime,lastModifiedDateTime,webUrl,file`);
|
|
57
|
+
return {
|
|
58
|
+
id: item.id,
|
|
59
|
+
name: item.name,
|
|
60
|
+
size: item.size,
|
|
61
|
+
mimeType: item.file?.mimeType,
|
|
62
|
+
created: item.createdDateTime,
|
|
63
|
+
modified: item.lastModifiedDateTime,
|
|
64
|
+
webUrl: item.webUrl,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export async function searchFiles(params) {
|
|
68
|
+
const { query, maxItems = 25 } = params;
|
|
69
|
+
const path = `/me/drive/root/search(q='${encodeURIComponent(query)}')?$select=id,name,size,webUrl,file,folder&$top=${maxItems}`;
|
|
70
|
+
const items = await graphList(path, { maxItems });
|
|
71
|
+
return items.map((item) => ({
|
|
72
|
+
id: item.id,
|
|
73
|
+
name: item.name,
|
|
74
|
+
type: item.folder ? 'folder' : 'file',
|
|
75
|
+
size: item.size,
|
|
76
|
+
mimeType: item.file?.mimeType,
|
|
77
|
+
webUrl: item.webUrl,
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
export async function readFileContent(params) {
|
|
81
|
+
const { path } = params;
|
|
82
|
+
// Get the file metadata with download URL
|
|
83
|
+
const item = await graphRequest(`/me/drive/root:/${path}?$select=id,name,size,file,@microsoft.graph.downloadUrl`);
|
|
84
|
+
const downloadUrl = item['@microsoft.graph.downloadUrl'];
|
|
85
|
+
if (!downloadUrl) {
|
|
86
|
+
throw new Error('Could not get download URL for file');
|
|
87
|
+
}
|
|
88
|
+
// Check file size (limit to 1MB for text content)
|
|
89
|
+
if (item.size && item.size > 1024 * 1024) {
|
|
90
|
+
throw new Error('File too large to read directly. Use download URL instead.');
|
|
91
|
+
}
|
|
92
|
+
// Fetch the content
|
|
93
|
+
const response = await fetch(downloadUrl);
|
|
94
|
+
if (!response.ok) {
|
|
95
|
+
throw new Error(`Failed to download file: ${response.statusText}`);
|
|
96
|
+
}
|
|
97
|
+
const content = await response.text();
|
|
98
|
+
return {
|
|
99
|
+
name: item.name,
|
|
100
|
+
size: item.size,
|
|
101
|
+
mimeType: item.file?.mimeType,
|
|
102
|
+
content,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export async function createFolder(params) {
|
|
106
|
+
const { name, parentPath = '' } = params;
|
|
107
|
+
const apiPath = parentPath
|
|
108
|
+
? `/me/drive/root:/${parentPath}:/children`
|
|
109
|
+
: '/me/drive/root/children';
|
|
110
|
+
const created = await graphRequest(apiPath, {
|
|
111
|
+
method: 'POST',
|
|
112
|
+
body: {
|
|
113
|
+
name,
|
|
114
|
+
folder: {},
|
|
115
|
+
'@microsoft.graph.conflictBehavior': 'rename',
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
return {
|
|
119
|
+
success: true,
|
|
120
|
+
folderId: created.id,
|
|
121
|
+
name: created.name,
|
|
122
|
+
webUrl: created.webUrl,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export async function listSharedWithMe(params) {
|
|
126
|
+
const { maxItems = 50 } = params;
|
|
127
|
+
const path = `/me/drive/sharedWithMe?$select=id,name,size,createdDateTime,lastModifiedDateTime,webUrl,folder,file,remoteItem&$top=${maxItems}`;
|
|
128
|
+
const items = await graphList(path, { maxItems });
|
|
129
|
+
return items.map((item) => ({
|
|
130
|
+
id: item.id,
|
|
131
|
+
name: item.name,
|
|
132
|
+
type: item.folder ? 'folder' : 'file',
|
|
133
|
+
size: item.size,
|
|
134
|
+
mimeType: item.file?.mimeType,
|
|
135
|
+
childCount: item.folder?.childCount,
|
|
136
|
+
created: item.createdDateTime,
|
|
137
|
+
modified: item.lastModifiedDateTime,
|
|
138
|
+
webUrl: item.webUrl,
|
|
139
|
+
// Include remote item info for accessing the file via its source drive
|
|
140
|
+
remoteDriveId: item.remoteItem?.parentReference?.driveId,
|
|
141
|
+
remoteDriveType: item.remoteItem?.parentReference?.driveType,
|
|
142
|
+
remoteItemId: item.remoteItem?.id,
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
// MIME type detection from file extension
|
|
146
|
+
const MIME_TYPES = {
|
|
147
|
+
'.pdf': 'application/pdf',
|
|
148
|
+
'.doc': 'application/msword',
|
|
149
|
+
'.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
150
|
+
'.xls': 'application/vnd.ms-excel',
|
|
151
|
+
'.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
152
|
+
'.ppt': 'application/vnd.ms-powerpoint',
|
|
153
|
+
'.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
|
154
|
+
'.txt': 'text/plain',
|
|
155
|
+
'.csv': 'text/csv',
|
|
156
|
+
'.json': 'application/json',
|
|
157
|
+
'.xml': 'application/xml',
|
|
158
|
+
'.html': 'text/html',
|
|
159
|
+
'.htm': 'text/html',
|
|
160
|
+
'.png': 'image/png',
|
|
161
|
+
'.jpg': 'image/jpeg',
|
|
162
|
+
'.jpeg': 'image/jpeg',
|
|
163
|
+
'.gif': 'image/gif',
|
|
164
|
+
'.svg': 'image/svg+xml',
|
|
165
|
+
'.zip': 'application/zip',
|
|
166
|
+
'.mp4': 'video/mp4',
|
|
167
|
+
'.mp3': 'audio/mpeg',
|
|
168
|
+
};
|
|
169
|
+
function getMimeType(filename) {
|
|
170
|
+
const ext = filename.toLowerCase().match(/\.[^.]+$/)?.[0] || '';
|
|
171
|
+
return MIME_TYPES[ext] || 'application/octet-stream';
|
|
172
|
+
}
|
|
173
|
+
export async function uploadFile(params) {
|
|
174
|
+
const { localPath, remotePath } = params;
|
|
175
|
+
// Read the local file
|
|
176
|
+
const content = await readFile(localPath);
|
|
177
|
+
// Determine the destination path
|
|
178
|
+
const filename = basename(localPath);
|
|
179
|
+
const destPath = remotePath || filename;
|
|
180
|
+
// Get MIME type
|
|
181
|
+
const contentType = getMimeType(filename);
|
|
182
|
+
// Choose upload method based on file size
|
|
183
|
+
// Simple upload for files <= 4MB, resumable for larger
|
|
184
|
+
const MAX_SIMPLE_UPLOAD = 4 * 1024 * 1024;
|
|
185
|
+
let uploaded;
|
|
186
|
+
if (content.length <= MAX_SIMPLE_UPLOAD) {
|
|
187
|
+
// Simple upload (single request)
|
|
188
|
+
uploaded = await graphUpload(`/me/drive/root:/${destPath}:/content`, content, { contentType });
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// Resumable upload for large files
|
|
192
|
+
uploaded = await graphUploadLarge(`/me/drive/root:/${destPath}`, content);
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
success: true,
|
|
196
|
+
id: uploaded.id,
|
|
197
|
+
name: uploaded.name,
|
|
198
|
+
size: uploaded.size,
|
|
199
|
+
webUrl: uploaded.webUrl,
|
|
200
|
+
mimeType: uploaded.file?.mimeType,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=onedrive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onedrive.js","sourceRoot":"","sources":["../../src/tools/onedrive.ts"],"names":[],"mappings":"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"}
|