bn-google-workspace-mcp-server 0.0.1

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 (75) hide show
  1. package/README.md +718 -0
  2. package/dist/debug-middleware.d.ts +12 -0
  3. package/dist/debug-middleware.d.ts.map +1 -0
  4. package/dist/debug-middleware.js +36 -0
  5. package/dist/debug-middleware.js.map +1 -0
  6. package/dist/google-api-client.d.ts +46 -0
  7. package/dist/google-api-client.d.ts.map +1 -0
  8. package/dist/google-api-client.js +76 -0
  9. package/dist/google-api-client.js.map +1 -0
  10. package/dist/helpers.d.ts +40 -0
  11. package/dist/helpers.d.ts.map +1 -0
  12. package/dist/helpers.js +171 -0
  13. package/dist/helpers.js.map +1 -0
  14. package/dist/index.d.ts +9 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +166 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/schemas.d.ts +303 -0
  19. package/dist/schemas.d.ts.map +1 -0
  20. package/dist/schemas.js +611 -0
  21. package/dist/schemas.js.map +1 -0
  22. package/dist/tool-loader.d.ts +35 -0
  23. package/dist/tool-loader.d.ts.map +1 -0
  24. package/dist/tool-loader.js +121 -0
  25. package/dist/tool-loader.js.map +1 -0
  26. package/dist/tool-registry.d.ts +44 -0
  27. package/dist/tool-registry.d.ts.map +1 -0
  28. package/dist/tool-registry.js +56 -0
  29. package/dist/tool-registry.js.map +1 -0
  30. package/dist/tools/calendar.d.ts +44 -0
  31. package/dist/tools/calendar.d.ts.map +1 -0
  32. package/dist/tools/calendar.js +76 -0
  33. package/dist/tools/calendar.js.map +1 -0
  34. package/dist/tools/chat.d.ts +29 -0
  35. package/dist/tools/chat.d.ts.map +1 -0
  36. package/dist/tools/chat.js +42 -0
  37. package/dist/tools/chat.js.map +1 -0
  38. package/dist/tools/docs.d.ts +29 -0
  39. package/dist/tools/docs.d.ts.map +1 -0
  40. package/dist/tools/docs.js +63 -0
  41. package/dist/tools/docs.js.map +1 -0
  42. package/dist/tools/drive.d.ts +45 -0
  43. package/dist/tools/drive.d.ts.map +1 -0
  44. package/dist/tools/drive.js +135 -0
  45. package/dist/tools/drive.js.map +1 -0
  46. package/dist/tools/forms.d.ts +30 -0
  47. package/dist/tools/forms.d.ts.map +1 -0
  48. package/dist/tools/forms.js +46 -0
  49. package/dist/tools/forms.js.map +1 -0
  50. package/dist/tools/gmail.d.ts +55 -0
  51. package/dist/tools/gmail.d.ts.map +1 -0
  52. package/dist/tools/gmail.js +112 -0
  53. package/dist/tools/gmail.js.map +1 -0
  54. package/dist/tools/index.d.ts +13 -0
  55. package/dist/tools/index.d.ts.map +1 -0
  56. package/dist/tools/index.js +22 -0
  57. package/dist/tools/index.js.map +1 -0
  58. package/dist/tools/sheets.d.ts +40 -0
  59. package/dist/tools/sheets.d.ts.map +1 -0
  60. package/dist/tools/sheets.js +64 -0
  61. package/dist/tools/sheets.js.map +1 -0
  62. package/dist/tools/slides.d.ts +32 -0
  63. package/dist/tools/slides.d.ts.map +1 -0
  64. package/dist/tools/slides.js +46 -0
  65. package/dist/tools/slides.js.map +1 -0
  66. package/dist/tools/tasks.d.ts +43 -0
  67. package/dist/tools/tasks.d.ts.map +1 -0
  68. package/dist/tools/tasks.js +69 -0
  69. package/dist/tools/tasks.js.map +1 -0
  70. package/dist/types.d.ts +110 -0
  71. package/dist/types.d.ts.map +1 -0
  72. package/dist/types.js +2 -0
  73. package/dist/types.js.map +1 -0
  74. package/package.json +54 -0
  75. package/tools.json +379 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Google Tasks tool handlers
3
+ */
4
+ import type { Request } from "express";
5
+ import type { z } from "zod";
6
+ import type { TasksListTaskListsSchema, TasksListTasksSchema, TasksCreateTaskSchema } from "../schemas.js";
7
+ /**
8
+ * List Google Tasks task lists
9
+ */
10
+ export declare function tasksListTaskLists(req: Request, _args: z.infer<typeof TasksListTaskListsSchema>): Promise<{
11
+ success: boolean;
12
+ taskLists: {
13
+ id: string | null | undefined;
14
+ title: string | null | undefined;
15
+ updated: string | null | undefined;
16
+ }[];
17
+ }>;
18
+ /**
19
+ * List tasks from a Google Tasks list
20
+ */
21
+ export declare function tasksListTasks(req: Request, args: z.infer<typeof TasksListTasksSchema>): Promise<{
22
+ success: boolean;
23
+ tasks: {
24
+ id: string | null | undefined;
25
+ title: string | null | undefined;
26
+ status: string | null | undefined;
27
+ notes: string;
28
+ due: string | null | undefined;
29
+ updated: string | null | undefined;
30
+ }[];
31
+ }>;
32
+ /**
33
+ * Create a task in Google Tasks
34
+ */
35
+ export declare function tasksCreateTask(req: Request, args: z.infer<typeof TasksCreateTaskSchema>): Promise<{
36
+ success: boolean;
37
+ task: {
38
+ id: string | null | undefined;
39
+ title: string | null | undefined;
40
+ status: string | null | undefined;
41
+ };
42
+ }>;
43
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC;;;;;;;GAehD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;;;;;;GAsB3C;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;;;GA0B5C"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Google Tasks tool handlers
3
+ */
4
+ import { getTasksService } from "../google-api-client.js";
5
+ /**
6
+ * List Google Tasks task lists
7
+ */
8
+ export async function tasksListTaskLists(req, _args) {
9
+ const tasks = getTasksService(req);
10
+ const result = await tasks.tasklists.list();
11
+ const taskLists = result.data.items || [];
12
+ return {
13
+ success: true,
14
+ taskLists: taskLists.map((tl) => ({
15
+ id: tl.id,
16
+ title: tl.title,
17
+ updated: tl.updated,
18
+ })),
19
+ };
20
+ }
21
+ /**
22
+ * List tasks from a Google Tasks list
23
+ */
24
+ export async function tasksListTasks(req, args) {
25
+ const tasks = getTasksService(req);
26
+ const { taskListId } = args;
27
+ const result = await tasks.tasks.list({
28
+ tasklist: taskListId,
29
+ });
30
+ const taskItems = result.data.items || [];
31
+ return {
32
+ success: true,
33
+ tasks: taskItems.map((task) => ({
34
+ id: task.id,
35
+ title: task.title,
36
+ status: task.status,
37
+ notes: task.notes || "",
38
+ due: task.due,
39
+ updated: task.updated,
40
+ })),
41
+ };
42
+ }
43
+ /**
44
+ * Create a task in Google Tasks
45
+ */
46
+ export async function tasksCreateTask(req, args) {
47
+ const tasks = getTasksService(req);
48
+ const { taskListId, title, notes, due } = args;
49
+ const taskBody = { title };
50
+ if (notes) {
51
+ taskBody.notes = notes;
52
+ }
53
+ if (due) {
54
+ taskBody.due = due;
55
+ }
56
+ const created = await tasks.tasks.insert({
57
+ tasklist: taskListId,
58
+ requestBody: taskBody,
59
+ });
60
+ return {
61
+ success: true,
62
+ task: {
63
+ id: created.data.id,
64
+ title: created.data.title,
65
+ status: created.data.status,
66
+ },
67
+ };
68
+ }
69
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAY,EACZ,KAA+C;IAE/C,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChC,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAY,EACZ,IAA0C;IAE1C,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACpC,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAY,EACZ,IAA2C;IAE3C,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE/C,MAAM,QAAQ,GAAoD,EAAE,KAAK,EAAE,CAAC;IAC5E,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,QAAQ;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC5B;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,110 @@
1
+ export interface DebugMetadata {
2
+ toolName: string;
3
+ toolInput: unknown;
4
+ toolCallTime: number;
5
+ timestamp: string;
6
+ }
7
+ export interface ToolResponse<T = unknown> {
8
+ data: T;
9
+ debug?: DebugMetadata;
10
+ }
11
+ export interface GmailLabel {
12
+ id: string;
13
+ name: string;
14
+ type: string;
15
+ }
16
+ export interface GmailMessage {
17
+ id: string;
18
+ subject: string;
19
+ from: string;
20
+ snippet: string;
21
+ }
22
+ export interface GmailMessageDetail {
23
+ id: string;
24
+ threadId: string;
25
+ subject: string;
26
+ from: string;
27
+ to: string;
28
+ date: string;
29
+ body: string;
30
+ }
31
+ export interface DriveFile {
32
+ id: string;
33
+ name: string;
34
+ mimeType: string;
35
+ modifiedTime?: string;
36
+ size?: string;
37
+ webViewLink?: string;
38
+ }
39
+ export interface CalendarEvent {
40
+ id: string;
41
+ summary: string;
42
+ start?: string;
43
+ end?: string;
44
+ description?: string;
45
+ }
46
+ export interface Calendar {
47
+ id: string;
48
+ summary: string;
49
+ description?: string;
50
+ primary?: boolean;
51
+ }
52
+ export interface DocsDocument {
53
+ documentId: string;
54
+ title: string;
55
+ content?: string;
56
+ }
57
+ export interface SheetsSpreadsheet {
58
+ spreadsheetId: string;
59
+ title: string;
60
+ sheets: Array<{
61
+ sheetId: number;
62
+ title: string;
63
+ }>;
64
+ }
65
+ export interface SlidesPresentation {
66
+ presentationId: string;
67
+ title: string;
68
+ slides: Array<{
69
+ objectId: string;
70
+ }>;
71
+ }
72
+ export interface TaskList {
73
+ id: string;
74
+ title: string;
75
+ updated?: string;
76
+ }
77
+ export interface Task {
78
+ id: string;
79
+ title: string;
80
+ status: string;
81
+ due?: string;
82
+ notes?: string;
83
+ }
84
+ export interface Form {
85
+ formId: string;
86
+ title: string;
87
+ description?: string;
88
+ responderUri?: string;
89
+ }
90
+ export interface ChatSpace {
91
+ name: string;
92
+ displayName: string;
93
+ type: string;
94
+ }
95
+ export interface ChatMessage {
96
+ name: string;
97
+ text: string;
98
+ createTime: string;
99
+ }
100
+ export interface SuccessResult<T = unknown> {
101
+ success: true;
102
+ data?: T;
103
+ [key: string]: unknown;
104
+ }
105
+ export interface ErrorResult {
106
+ success: false;
107
+ error: string;
108
+ }
109
+ export type ToolResult<T = unknown> = SuccessResult<T> | ErrorResult;
110
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAGD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "bn-google-workspace-mcp-server",
3
+ "version": "0.0.1",
4
+ "description": "Stateless MCP Server for Google Workspace APIs",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "bn-google-workspace-mcp-server": "dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "node --watch dist/index.js",
13
+ "start": "node dist/index.js",
14
+ "test": "vitest run",
15
+ "test:watch": "vitest",
16
+ "package": "docker build -t bn-google-workspace-mcp-server .",
17
+ "clean": "rm -rf dist"
18
+ },
19
+ "keywords": [
20
+ "mcp",
21
+ "google-workspace",
22
+ "gmail",
23
+ "drive",
24
+ "calendar",
25
+ "docs",
26
+ "sheets",
27
+ "slides",
28
+ "tasks",
29
+ "forms",
30
+ "chat",
31
+ "stateless"
32
+ ],
33
+ "author": "BlueNexus AI",
34
+ "license": "PROPRIETARY",
35
+ "dependencies": {
36
+ "@modelcontextprotocol/sdk": "^1.0.4",
37
+ "express": "^4.21.2",
38
+ "googleapis": "^144.0.0",
39
+ "zod": "^3.24.1"
40
+ },
41
+ "devDependencies": {
42
+ "@types/express": "^5.0.0",
43
+ "@types/node": "^22.10.2",
44
+ "typescript": "^5.8.3",
45
+ "vitest": "^3.0.0"
46
+ },
47
+ "files": [
48
+ "dist/**/*",
49
+ "README.md",
50
+ "LICENSE",
51
+ "tools.json"
52
+ ],
53
+ "packageManager": "pnpm@10.22.0"
54
+ }