@opentabs-dev/opentabs-plugin-microsoft-word 0.0.74

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 (133) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15874 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/docx-utils.d.ts +63 -0
  5. package/dist/docx-utils.d.ts.map +1 -0
  6. package/dist/docx-utils.js +370 -0
  7. package/dist/docx-utils.js.map +1 -0
  8. package/dist/index.d.ts +14 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +78 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/microsoft-word-api.d.ts +17 -0
  13. package/dist/microsoft-word-api.d.ts.map +1 -0
  14. package/dist/microsoft-word-api.js +142 -0
  15. package/dist/microsoft-word-api.js.map +1 -0
  16. package/dist/tools/append-to-document.d.ts +8 -0
  17. package/dist/tools/append-to-document.d.ts.map +1 -0
  18. package/dist/tools/append-to-document.js +26 -0
  19. package/dist/tools/append-to-document.js.map +1 -0
  20. package/dist/tools/copy-item.d.ts +9 -0
  21. package/dist/tools/copy-item.d.ts.map +1 -0
  22. package/dist/tools/copy-item.js +69 -0
  23. package/dist/tools/copy-item.js.map +1 -0
  24. package/dist/tools/create-document.d.ts +20 -0
  25. package/dist/tools/create-document.d.ts.map +1 -0
  26. package/dist/tools/create-document.js +73 -0
  27. package/dist/tools/create-document.js.map +1 -0
  28. package/dist/tools/create-folder.d.ts +20 -0
  29. package/dist/tools/create-folder.d.ts.map +1 -0
  30. package/dist/tools/create-folder.js +30 -0
  31. package/dist/tools/create-folder.js.map +1 -0
  32. package/dist/tools/create-sharing-link.d.ts +22 -0
  33. package/dist/tools/create-sharing-link.d.ts.map +1 -0
  34. package/dist/tools/create-sharing-link.js +31 -0
  35. package/dist/tools/create-sharing-link.js.map +1 -0
  36. package/dist/tools/delete-item.d.ts +7 -0
  37. package/dist/tools/delete-item.d.ts.map +1 -0
  38. package/dist/tools/delete-item.js +24 -0
  39. package/dist/tools/delete-item.js.map +1 -0
  40. package/dist/tools/delete-permission.d.ts +8 -0
  41. package/dist/tools/delete-permission.d.ts.map +1 -0
  42. package/dist/tools/delete-permission.js +23 -0
  43. package/dist/tools/delete-permission.js.map +1 -0
  44. package/dist/tools/docx-edit-helpers.d.ts +10 -0
  45. package/dist/tools/docx-edit-helpers.d.ts.map +1 -0
  46. package/dist/tools/docx-edit-helpers.js +103 -0
  47. package/dist/tools/docx-edit-helpers.js.map +1 -0
  48. package/dist/tools/get-active-document.d.ts +18 -0
  49. package/dist/tools/get-active-document.d.ts.map +1 -0
  50. package/dist/tools/get-active-document.js +50 -0
  51. package/dist/tools/get-active-document.js.map +1 -0
  52. package/dist/tools/get-current-user.d.ts +9 -0
  53. package/dist/tools/get-current-user.d.ts.map +1 -0
  54. package/dist/tools/get-current-user.js +23 -0
  55. package/dist/tools/get-current-user.js.map +1 -0
  56. package/dist/tools/get-document-text.d.ts +8 -0
  57. package/dist/tools/get-document-text.d.ts.map +1 -0
  58. package/dist/tools/get-document-text.js +87 -0
  59. package/dist/tools/get-document-text.js.map +1 -0
  60. package/dist/tools/get-drive.d.ts +15 -0
  61. package/dist/tools/get-drive.d.ts.map +1 -0
  62. package/dist/tools/get-drive.js +19 -0
  63. package/dist/tools/get-drive.js.map +1 -0
  64. package/dist/tools/get-file-content.d.ts +8 -0
  65. package/dist/tools/get-file-content.d.ts.map +1 -0
  66. package/dist/tools/get-file-content.js +74 -0
  67. package/dist/tools/get-file-content.js.map +1 -0
  68. package/dist/tools/get-item.d.ts +19 -0
  69. package/dist/tools/get-item.d.ts.map +1 -0
  70. package/dist/tools/get-item.js +25 -0
  71. package/dist/tools/get-item.js.map +1 -0
  72. package/dist/tools/get-preview-url.d.ts +7 -0
  73. package/dist/tools/get-preview-url.d.ts.map +1 -0
  74. package/dist/tools/get-preview-url.js +22 -0
  75. package/dist/tools/get-preview-url.js.map +1 -0
  76. package/dist/tools/list-children.d.ts +21 -0
  77. package/dist/tools/list-children.d.ts.map +1 -0
  78. package/dist/tools/list-children.js +33 -0
  79. package/dist/tools/list-children.js.map +1 -0
  80. package/dist/tools/list-permissions.d.ts +13 -0
  81. package/dist/tools/list-permissions.d.ts.map +1 -0
  82. package/dist/tools/list-permissions.js +23 -0
  83. package/dist/tools/list-permissions.js.map +1 -0
  84. package/dist/tools/list-recent-documents.d.ts +19 -0
  85. package/dist/tools/list-recent-documents.d.ts.map +1 -0
  86. package/dist/tools/list-recent-documents.js +27 -0
  87. package/dist/tools/list-recent-documents.js.map +1 -0
  88. package/dist/tools/list-shared-with-me.d.ts +19 -0
  89. package/dist/tools/list-shared-with-me.d.ts.map +1 -0
  90. package/dist/tools/list-shared-with-me.js +28 -0
  91. package/dist/tools/list-shared-with-me.js.map +1 -0
  92. package/dist/tools/list-versions.d.ts +11 -0
  93. package/dist/tools/list-versions.d.ts.map +1 -0
  94. package/dist/tools/list-versions.js +23 -0
  95. package/dist/tools/list-versions.js.map +1 -0
  96. package/dist/tools/move-item.d.ts +20 -0
  97. package/dist/tools/move-item.d.ts.map +1 -0
  98. package/dist/tools/move-item.js +27 -0
  99. package/dist/tools/move-item.js.map +1 -0
  100. package/dist/tools/rename-item.d.ts +20 -0
  101. package/dist/tools/rename-item.d.ts.map +1 -0
  102. package/dist/tools/rename-item.js +27 -0
  103. package/dist/tools/rename-item.js.map +1 -0
  104. package/dist/tools/replace-text-in-document.d.ts +10 -0
  105. package/dist/tools/replace-text-in-document.d.ts.map +1 -0
  106. package/dist/tools/replace-text-in-document.js +31 -0
  107. package/dist/tools/replace-text-in-document.js.map +1 -0
  108. package/dist/tools/restore-version.d.ts +8 -0
  109. package/dist/tools/restore-version.d.ts.map +1 -0
  110. package/dist/tools/restore-version.js +23 -0
  111. package/dist/tools/restore-version.js.map +1 -0
  112. package/dist/tools/schemas.d.ts +155 -0
  113. package/dist/tools/schemas.d.ts.map +1 -0
  114. package/dist/tools/schemas.js +90 -0
  115. package/dist/tools/schemas.js.map +1 -0
  116. package/dist/tools/search-files.d.ts +20 -0
  117. package/dist/tools/search-files.d.ts.map +1 -0
  118. package/dist/tools/search-files.js +29 -0
  119. package/dist/tools/search-files.js.map +1 -0
  120. package/dist/tools/update-document.d.ts +8 -0
  121. package/dist/tools/update-document.d.ts.map +1 -0
  122. package/dist/tools/update-document.js +26 -0
  123. package/dist/tools/update-document.js.map +1 -0
  124. package/dist/tools/update-file-content.d.ts +21 -0
  125. package/dist/tools/update-file-content.d.ts.map +1 -0
  126. package/dist/tools/update-file-content.js +66 -0
  127. package/dist/tools/update-file-content.js.map +1 -0
  128. package/dist/tools/upload-file.d.ts +21 -0
  129. package/dist/tools/upload-file.d.ts.map +1 -0
  130. package/dist/tools/upload-file.js +64 -0
  131. package/dist/tools/upload-file.js.map +1 -0
  132. package/dist/tools.json +1940 -0
  133. package/package.json +55 -0
@@ -0,0 +1,33 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ import { driveItemSchema, mapDriveItem } from './schemas.js';
5
+ const SELECT_FIELDS = 'id,name,folder,file,size,lastModifiedDateTime,webUrl,parentReference,createdDateTime,description';
6
+ export const listChildren = defineTool({
7
+ name: 'list_children',
8
+ displayName: 'List Children',
9
+ description: 'List files and folders in a directory. Use item_id to specify the folder, or omit for root.',
10
+ summary: 'List files and folders',
11
+ icon: 'folder-open',
12
+ group: 'Files',
13
+ input: z.object({
14
+ item_id: z.string().optional().describe('Folder ID — omit for drive root'),
15
+ top: z.number().int().min(1).max(200).optional().describe('Max results (default 20, max 200)'),
16
+ order_by: z.string().optional().describe('Sort field (e.g., "name asc", "lastModifiedDateTime desc")'),
17
+ }),
18
+ output: z.object({
19
+ items: z.array(driveItemSchema).describe('Files and folders'),
20
+ }),
21
+ handle: async (params) => {
22
+ const base = params.item_id ? `/me/drive/items/${params.item_id}/children` : '/me/drive/root/children';
23
+ const data = await api(base, {
24
+ query: {
25
+ $top: params.top ?? 20,
26
+ $select: SELECT_FIELDS,
27
+ $orderby: params.order_by,
28
+ },
29
+ });
30
+ return { items: (data.value ?? []).map(mapDriveItem) };
31
+ },
32
+ });
33
+ //# sourceMappingURL=list-children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-children.js","sourceRoot":"","sources":["../../src/tools/list-children.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAqB,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,aAAa,GACjB,kGAAkG,CAAC;AAErG,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,6FAA6F;IAC1G,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC1E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;KACvG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KAC9D,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC;QAEvG,MAAM,IAAI,GAAG,MAAM,GAAG,CAA4B,IAAI,EAAE;YACtD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;gBACtB,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACzD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ export declare const listPermissions: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ item_id: z.ZodString;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ permissions: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ roles: z.ZodArray<z.ZodString>;
8
+ link_url: z.ZodString;
9
+ link_type: z.ZodString;
10
+ granted_to: z.ZodString;
11
+ }, z.core.$strip>>;
12
+ }, z.core.$strip>>;
13
+ //# sourceMappingURL=list-permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-permissions.d.ts","sourceRoot":"","sources":["../../src/tools/list-permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;;;;;;kBAiB1B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ import { mapPermission, permissionSchema } from './schemas.js';
5
+ export const listPermissions = defineTool({
6
+ name: 'list_permissions',
7
+ displayName: 'List Permissions',
8
+ description: 'List sharing permissions on a file or folder.',
9
+ summary: 'List sharing permissions',
10
+ icon: 'shield',
11
+ group: 'Sharing',
12
+ input: z.object({
13
+ item_id: z.string().describe('File or folder ID'),
14
+ }),
15
+ output: z.object({
16
+ permissions: z.array(permissionSchema).describe('Sharing permissions'),
17
+ }),
18
+ handle: async ({ item_id }) => {
19
+ const data = await api(`/me/drive/items/${item_id}/permissions`);
20
+ return { permissions: data.value.map(mapPermission) };
21
+ },
22
+ });
23
+ //# sourceMappingURL=list-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-permissions.js","sourceRoot":"","sources":["../../src/tools/list-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAsB,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,+CAA+C;IAC5D,OAAO,EAAE,0BAA0B;IACnC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KAClD,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAA6B,mBAAmB,OAAO,cAAc,CAAC,CAAC;QAC7F,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;IACxD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const listRecentDocuments: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ limit: z.ZodOptional<z.ZodNumber>;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ items: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ name: z.ZodString;
8
+ size: z.ZodNumber;
9
+ is_folder: z.ZodBoolean;
10
+ mime_type: z.ZodString;
11
+ web_url: z.ZodString;
12
+ created_at: z.ZodString;
13
+ last_modified_at: z.ZodString;
14
+ parent_path: z.ZodString;
15
+ parent_id: z.ZodString;
16
+ description: z.ZodString;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ //# sourceMappingURL=list-recent-documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-recent-documents.d.ts","sourceRoot":"","sources":["../../src/tools/list-recent-documents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;kBAqB9B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ import { driveItemSchema, mapDriveItem } from './schemas.js';
5
+ export const listRecentDocuments = defineTool({
6
+ name: 'list_recent_documents',
7
+ displayName: 'List Recent Documents',
8
+ description: 'List recently accessed documents from OneDrive.',
9
+ summary: 'List recent documents',
10
+ icon: 'clock',
11
+ group: 'Files',
12
+ input: z.object({
13
+ limit: z.number().int().min(1).max(50).optional().describe('Max results (default 10, max 50)'),
14
+ }),
15
+ output: z.object({
16
+ items: z.array(driveItemSchema).describe('Recently accessed items'),
17
+ }),
18
+ handle: async (params) => {
19
+ const data = await api('/me/drive/recent', {
20
+ query: {
21
+ $top: params.limit ?? 10,
22
+ },
23
+ });
24
+ return { items: (data.value ?? []).map(mapDriveItem) };
25
+ },
26
+ });
27
+ //# sourceMappingURL=list-recent-documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-recent-documents.js","sourceRoot":"","sources":["../../src/tools/list-recent-documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAqB,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,iDAAiD;IAC9D,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAC/F,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,GAAG,CAA4B,kBAAkB,EAAE;YACpE,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;aACzB;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACzD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const listSharedWithMe: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ top: z.ZodOptional<z.ZodNumber>;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ items: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ name: z.ZodString;
8
+ size: z.ZodNumber;
9
+ is_folder: z.ZodBoolean;
10
+ mime_type: z.ZodString;
11
+ web_url: z.ZodString;
12
+ created_at: z.ZodString;
13
+ last_modified_at: z.ZodString;
14
+ parent_path: z.ZodString;
15
+ parent_id: z.ZodString;
16
+ description: z.ZodString;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ //# sourceMappingURL=list-shared-with-me.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-shared-with-me.d.ts","sourceRoot":"","sources":["../../src/tools/list-shared-with-me.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;kBAsB3B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ import { driveItemSchema, mapDriveItem } from './schemas.js';
5
+ export const listSharedWithMe = defineTool({
6
+ name: 'list_shared_with_me',
7
+ displayName: 'List Shared With Me',
8
+ description: 'List files and folders shared with the current user.',
9
+ summary: 'List files shared with me',
10
+ icon: 'users',
11
+ group: 'Files',
12
+ input: z.object({
13
+ top: z.number().int().min(1).max(50).optional().describe('Max results (default 10, max 50)'),
14
+ }),
15
+ output: z.object({
16
+ items: z.array(driveItemSchema).describe('Shared files and folders'),
17
+ }),
18
+ handle: async ({ top }) => {
19
+ const data = await api('/me/drive/sharedWithMe', {
20
+ query: {
21
+ $top: top ?? 10,
22
+ $select: 'id,name,size,folder,file,webUrl,createdDateTime,lastModifiedDateTime,parentReference,description',
23
+ },
24
+ });
25
+ return { items: data.value.map(mapDriveItem) };
26
+ },
27
+ });
28
+ //# sourceMappingURL=list-shared-with-me.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-shared-with-me.js","sourceRoot":"","sources":["../../src/tools/list-shared-with-me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAqB,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;IACzC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,sDAAsD;IACnE,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAC7F,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACrE,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,GAAG,CAA4B,wBAAwB,EAAE;YAC1E,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,IAAI,EAAE;gBACf,OAAO,EAAE,kGAAkG;aAC5G;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACjD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare const listVersions: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ item_id: z.ZodString;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ versions: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ last_modified_at: z.ZodString;
8
+ size: z.ZodNumber;
9
+ }, z.core.$strip>>;
10
+ }, z.core.$strip>>;
11
+ //# sourceMappingURL=list-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-versions.d.ts","sourceRoot":"","sources":["../../src/tools/list-versions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;kBAiBvB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ import { mapVersion, versionSchema } from './schemas.js';
5
+ export const listVersions = defineTool({
6
+ name: 'list_versions',
7
+ displayName: 'List Versions',
8
+ description: 'List version history of a file.',
9
+ summary: 'List file version history',
10
+ icon: 'history',
11
+ group: 'Versions',
12
+ input: z.object({
13
+ item_id: z.string().describe('File ID'),
14
+ }),
15
+ output: z.object({
16
+ versions: z.array(versionSchema).describe('Version history entries'),
17
+ }),
18
+ handle: async ({ item_id }) => {
19
+ const data = await api(`/me/drive/items/${item_id}/versions`);
20
+ return { versions: data.value.map(mapVersion) };
21
+ },
22
+ });
23
+ //# sourceMappingURL=list-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-versions.js","sourceRoot":"","sources":["../../src/tools/list-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAmB,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,iCAAiC;IAC9C,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACxC,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACrE,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAA0B,mBAAmB,OAAO,WAAW,CAAC,CAAC;QACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IAClD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ export declare const moveItem: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ item_id: z.ZodString;
4
+ destination_id: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ item: z.ZodObject<{
7
+ id: z.ZodString;
8
+ name: z.ZodString;
9
+ size: z.ZodNumber;
10
+ is_folder: z.ZodBoolean;
11
+ mime_type: z.ZodString;
12
+ web_url: z.ZodString;
13
+ created_at: z.ZodString;
14
+ last_modified_at: z.ZodString;
15
+ parent_path: z.ZodString;
16
+ parent_id: z.ZodString;
17
+ description: z.ZodString;
18
+ }, z.core.$strip>;
19
+ }, z.core.$strip>>;
20
+ //# sourceMappingURL=move-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-item.d.ts","sourceRoot":"","sources":["../../src/tools/move-item.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;kBAqBnB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ import { driveItemSchema, mapDriveItem } from './schemas.js';
5
+ export const moveItem = defineTool({
6
+ name: 'move_item',
7
+ displayName: 'Move Item',
8
+ description: 'Move a file or folder to a new parent folder.',
9
+ summary: 'Move a file or folder',
10
+ icon: 'folder-input',
11
+ group: 'Files',
12
+ input: z.object({
13
+ item_id: z.string().describe('ID of the file or folder to move'),
14
+ destination_id: z.string().describe('ID of the destination folder'),
15
+ }),
16
+ output: z.object({
17
+ item: driveItemSchema.describe('The moved item'),
18
+ }),
19
+ handle: async (params) => {
20
+ const data = await api(`/me/drive/items/${params.item_id}`, {
21
+ method: 'PATCH',
22
+ body: { parentReference: { id: params.destination_id } },
23
+ });
24
+ return { item: mapDriveItem(data) };
25
+ },
26
+ });
27
+ //# sourceMappingURL=move-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-item.js","sourceRoot":"","sources":["../../src/tools/move-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAqB,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,+CAA+C;IAC5D,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAChE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACjD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAe,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAAE;YACxE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,EAAE;SACzD,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ export declare const renameItem: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ item_id: z.ZodString;
4
+ name: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ item: z.ZodObject<{
7
+ id: z.ZodString;
8
+ name: z.ZodString;
9
+ size: z.ZodNumber;
10
+ is_folder: z.ZodBoolean;
11
+ mime_type: z.ZodString;
12
+ web_url: z.ZodString;
13
+ created_at: z.ZodString;
14
+ last_modified_at: z.ZodString;
15
+ parent_path: z.ZodString;
16
+ parent_id: z.ZodString;
17
+ description: z.ZodString;
18
+ }, z.core.$strip>;
19
+ }, z.core.$strip>>;
20
+ //# sourceMappingURL=rename-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-item.d.ts","sourceRoot":"","sources":["../../src/tools/rename-item.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;kBAqBrB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ import { driveItemSchema, mapDriveItem } from './schemas.js';
5
+ export const renameItem = defineTool({
6
+ name: 'rename_item',
7
+ displayName: 'Rename Item',
8
+ description: 'Rename a file or folder.',
9
+ summary: 'Rename a file or folder',
10
+ icon: 'pencil',
11
+ group: 'Files',
12
+ input: z.object({
13
+ item_id: z.string().describe('File or folder ID'),
14
+ name: z.string().min(1).describe('New name for the item'),
15
+ }),
16
+ output: z.object({
17
+ item: driveItemSchema.describe('The renamed item'),
18
+ }),
19
+ handle: async (params) => {
20
+ const data = await api(`/me/drive/items/${params.item_id}`, {
21
+ method: 'PATCH',
22
+ body: { name: params.name },
23
+ });
24
+ return { item: mapDriveItem(data) };
25
+ },
26
+ });
27
+ //# sourceMappingURL=rename-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-item.js","sourceRoot":"","sources":["../../src/tools/rename-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAqB,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,yBAAyB;IAClC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KAC1D,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACnD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAe,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAAE;YACxE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ export declare const replaceTextInDocument: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ item_id: z.ZodString;
4
+ find: z.ZodString;
5
+ replace: z.ZodString;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ success: z.ZodBoolean;
8
+ replacements: z.ZodNumber;
9
+ }, z.core.$strip>>;
10
+ //# sourceMappingURL=replace-text-in-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-text-in-document.d.ts","sourceRoot":"","sources":["../../src/tools/replace-text-in-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;;;;kBA8BhC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { ToolError, defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { replaceTextInXml } from '../docx-utils.js';
4
+ import { downloadDocxEntries, uploadModifiedDocx } from './docx-edit-helpers.js';
5
+ export const replaceTextInDocument = defineTool({
6
+ name: 'replace_text_in_document',
7
+ displayName: 'Replace Text in Document',
8
+ description: 'Find and replace text in an existing Word document (.docx). This is the recommended way to edit documents because it preserves all formatting (bold, italic, headings, styles). Replaces all occurrences of the search text with the replacement text within existing paragraph runs. The search is case-sensitive and matches exact strings.',
9
+ summary: 'Find and replace text in a Word document',
10
+ icon: 'replace',
11
+ group: 'Documents',
12
+ input: z.object({
13
+ item_id: z.string().describe('File ID of the .docx document'),
14
+ find: z.string().min(1).describe('Text to search for (case-sensitive, exact match)'),
15
+ replace: z.string().describe('Replacement text (use empty string to delete matches)'),
16
+ }),
17
+ output: z.object({
18
+ success: z.boolean().describe('Whether replacements were made'),
19
+ replacements: z.number().int().describe('Number of replacements made'),
20
+ }),
21
+ handle: async (params) => {
22
+ const { entries, documentXml, documentXmlIndex } = await downloadDocxEntries(params.item_id);
23
+ const { xml: newXml, count } = replaceTextInXml(documentXml, params.find, params.replace);
24
+ if (count === 0) {
25
+ throw ToolError.notFound(`Text "${params.find}" not found in the document.`);
26
+ }
27
+ await uploadModifiedDocx(params.item_id, entries, documentXmlIndex, newXml);
28
+ return { success: true, replacements: count };
29
+ },
30
+ });
31
+ //# sourceMappingURL=replace-text-in-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-text-in-document.js","sourceRoot":"","sources":["../../src/tools/replace-text-in-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,0BAA0B;IACvC,WAAW,EACT,+UAA+U;IACjV,OAAO,EAAE,0CAA0C;IACnD,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACpF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KACtF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7F,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1F,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,SAAS,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,IAAI,8BAA8B,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAE5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export declare const restoreVersion: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ item_id: z.ZodString;
4
+ version_id: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ success: z.ZodBoolean;
7
+ }, z.core.$strip>>;
8
+ //# sourceMappingURL=restore-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-version.d.ts","sourceRoot":"","sources":["../../src/tools/restore-version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;kBAkBzB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../microsoft-word-api.js';
4
+ export const restoreVersion = defineTool({
5
+ name: 'restore_version',
6
+ displayName: 'Restore Version',
7
+ description: 'Restore a file to a previous version.',
8
+ summary: 'Restore a file version',
9
+ icon: 'rotate-ccw',
10
+ group: 'Versions',
11
+ input: z.object({
12
+ item_id: z.string().describe('File ID'),
13
+ version_id: z.string().describe('Version ID to restore'),
14
+ }),
15
+ output: z.object({
16
+ success: z.boolean().describe('Whether the version was restored'),
17
+ }),
18
+ handle: async ({ item_id, version_id }) => {
19
+ await api(`/me/drive/items/${item_id}/versions/${version_id}/restoreVersion`, { method: 'POST' });
20
+ return { success: true };
21
+ },
22
+ });
23
+ //# sourceMappingURL=restore-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-version.js","sourceRoot":"","sources":["../../src/tools/restore-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,uCAAuC;IACpD,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACzD,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAClE,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;QACxC,MAAM,GAAG,CAAC,mBAAmB,OAAO,aAAa,UAAU,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAClG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { z } from 'zod';
2
+ export declare const userSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ display_name: z.ZodString;
5
+ email: z.ZodString;
6
+ }, z.core.$strip>;
7
+ export interface RawUser {
8
+ id?: string;
9
+ displayName?: string;
10
+ mail?: string;
11
+ userPrincipalName?: string;
12
+ }
13
+ export declare const mapUser: (u: RawUser) => {
14
+ id: string;
15
+ display_name: string;
16
+ email: string;
17
+ };
18
+ export declare const quotaSchema: z.ZodObject<{
19
+ total: z.ZodNumber;
20
+ used: z.ZodNumber;
21
+ remaining: z.ZodNumber;
22
+ state: z.ZodString;
23
+ }, z.core.$strip>;
24
+ export declare const driveSchema: z.ZodObject<{
25
+ id: z.ZodString;
26
+ name: z.ZodString;
27
+ drive_type: z.ZodString;
28
+ quota: z.ZodObject<{
29
+ total: z.ZodNumber;
30
+ used: z.ZodNumber;
31
+ remaining: z.ZodNumber;
32
+ state: z.ZodString;
33
+ }, z.core.$strip>;
34
+ }, z.core.$strip>;
35
+ export interface RawQuota {
36
+ total?: number;
37
+ used?: number;
38
+ remaining?: number;
39
+ state?: string;
40
+ }
41
+ export interface RawDrive {
42
+ id?: string;
43
+ name?: string;
44
+ driveType?: string;
45
+ quota?: RawQuota;
46
+ }
47
+ export declare const mapDrive: (d: RawDrive) => {
48
+ id: string;
49
+ name: string;
50
+ drive_type: string;
51
+ quota: {
52
+ total: number;
53
+ used: number;
54
+ remaining: number;
55
+ state: string;
56
+ };
57
+ };
58
+ export declare const driveItemSchema: z.ZodObject<{
59
+ id: z.ZodString;
60
+ name: z.ZodString;
61
+ size: z.ZodNumber;
62
+ is_folder: z.ZodBoolean;
63
+ mime_type: z.ZodString;
64
+ web_url: z.ZodString;
65
+ created_at: z.ZodString;
66
+ last_modified_at: z.ZodString;
67
+ parent_path: z.ZodString;
68
+ parent_id: z.ZodString;
69
+ description: z.ZodString;
70
+ }, z.core.$strip>;
71
+ export interface RawDriveItem {
72
+ id?: string;
73
+ name?: string;
74
+ size?: number;
75
+ folder?: Record<string, unknown>;
76
+ file?: {
77
+ mimeType?: string;
78
+ hashes?: Record<string, string>;
79
+ };
80
+ webUrl?: string;
81
+ createdDateTime?: string;
82
+ lastModifiedDateTime?: string;
83
+ parentReference?: {
84
+ driveId?: string;
85
+ driveType?: string;
86
+ id?: string;
87
+ name?: string;
88
+ path?: string;
89
+ };
90
+ description?: string;
91
+ }
92
+ export declare const mapDriveItem: (i: RawDriveItem) => {
93
+ id: string;
94
+ name: string;
95
+ size: number;
96
+ is_folder: boolean;
97
+ mime_type: string;
98
+ web_url: string;
99
+ created_at: string;
100
+ last_modified_at: string;
101
+ parent_path: string;
102
+ parent_id: string;
103
+ description: string;
104
+ };
105
+ export declare const permissionSchema: z.ZodObject<{
106
+ id: z.ZodString;
107
+ roles: z.ZodArray<z.ZodString>;
108
+ link_url: z.ZodString;
109
+ link_type: z.ZodString;
110
+ granted_to: z.ZodString;
111
+ }, z.core.$strip>;
112
+ export interface RawPermission {
113
+ id?: string;
114
+ roles?: string[];
115
+ link?: {
116
+ webUrl?: string;
117
+ type?: string;
118
+ scope?: string;
119
+ };
120
+ grantedTo?: {
121
+ user?: {
122
+ displayName?: string;
123
+ id?: string;
124
+ };
125
+ };
126
+ grantedToIdentities?: Array<{
127
+ user?: {
128
+ displayName?: string;
129
+ id?: string;
130
+ };
131
+ }>;
132
+ }
133
+ export declare const mapPermission: (p: RawPermission) => {
134
+ id: string;
135
+ roles: string[];
136
+ link_url: string;
137
+ link_type: string;
138
+ granted_to: string;
139
+ };
140
+ export declare const versionSchema: z.ZodObject<{
141
+ id: z.ZodString;
142
+ last_modified_at: z.ZodString;
143
+ size: z.ZodNumber;
144
+ }, z.core.$strip>;
145
+ export interface RawVersion {
146
+ id?: string;
147
+ lastModifiedDateTime?: string;
148
+ size?: number;
149
+ }
150
+ export declare const mapVersion: (v: RawVersion) => {
151
+ id: string;
152
+ last_modified_at: string;
153
+ size: number;
154
+ };
155
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}