@arbium/enterprise-agent-connect 0.0.0-stage → 0.1.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 (137) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +117 -2
  3. package/dist/connectors/dell-techdirect/connector.json +39 -0
  4. package/dist/connectors/dell-techdirect/index.js +7 -0
  5. package/dist/connectors/dell-techdirect/index.js.map +1 -0
  6. package/dist/connectors/dell-techdirect/tools.js +49 -0
  7. package/dist/connectors/dell-techdirect/tools.js.map +1 -0
  8. package/dist/connectors/dell-techdirect/vendor.js +57 -0
  9. package/dist/connectors/dell-techdirect/vendor.js.map +1 -0
  10. package/dist/connectors/entra/connector.json +85 -0
  11. package/dist/connectors/entra/index.js +4 -0
  12. package/dist/connectors/entra/index.js.map +1 -0
  13. package/dist/connectors/entra/tools.js +262 -0
  14. package/dist/connectors/entra/tools.js.map +1 -0
  15. package/dist/connectors/fedex/connector.json +118 -0
  16. package/dist/connectors/fedex/index.js +7 -0
  17. package/dist/connectors/fedex/index.js.map +1 -0
  18. package/dist/connectors/fedex/tools.js +152 -0
  19. package/dist/connectors/fedex/tools.js.map +1 -0
  20. package/dist/connectors/fedex/vendor.js +98 -0
  21. package/dist/connectors/fedex/vendor.js.map +1 -0
  22. package/dist/connectors/http/index.js +235 -0
  23. package/dist/connectors/http/index.js.map +1 -0
  24. package/dist/connectors/intune/connector.json +106 -0
  25. package/dist/connectors/intune/index.js +4 -0
  26. package/dist/connectors/intune/index.js.map +1 -0
  27. package/dist/connectors/intune/tools.js +416 -0
  28. package/dist/connectors/intune/tools.js.map +1 -0
  29. package/dist/connectors/jira/connector.json +129 -0
  30. package/dist/connectors/jira/index.js +7 -0
  31. package/dist/connectors/jira/index.js.map +1 -0
  32. package/dist/connectors/jira/jql.js +67 -0
  33. package/dist/connectors/jira/jql.js.map +1 -0
  34. package/dist/connectors/jira/tools.js +464 -0
  35. package/dist/connectors/jira/tools.js.map +1 -0
  36. package/dist/connectors/jira/vendor.js +94 -0
  37. package/dist/connectors/jira/vendor.js.map +1 -0
  38. package/dist/connectors/microsoft/client.js +434 -0
  39. package/dist/connectors/microsoft/client.js.map +1 -0
  40. package/dist/connectors/microsoft/provider.json +118 -0
  41. package/dist/connectors/outlook-calendar/connector.json +136 -0
  42. package/dist/connectors/outlook-calendar/index.js +4 -0
  43. package/dist/connectors/outlook-calendar/index.js.map +1 -0
  44. package/dist/connectors/outlook-calendar/tools.js +398 -0
  45. package/dist/connectors/outlook-calendar/tools.js.map +1 -0
  46. package/dist/connectors/outlook-mail/connector.json +154 -0
  47. package/dist/connectors/outlook-mail/index.js +4 -0
  48. package/dist/connectors/outlook-mail/index.js.map +1 -0
  49. package/dist/connectors/outlook-mail/tools.js +236 -0
  50. package/dist/connectors/outlook-mail/tools.js.map +1 -0
  51. package/dist/connectors/salesforce/connector.json +122 -0
  52. package/dist/connectors/salesforce/index.js +7 -0
  53. package/dist/connectors/salesforce/index.js.map +1 -0
  54. package/dist/connectors/salesforce/soql.js +60 -0
  55. package/dist/connectors/salesforce/soql.js.map +1 -0
  56. package/dist/connectors/salesforce/tools.js +234 -0
  57. package/dist/connectors/salesforce/tools.js.map +1 -0
  58. package/dist/connectors/salesforce/vendor.js +107 -0
  59. package/dist/connectors/salesforce/vendor.js.map +1 -0
  60. package/dist/connectors/sharepoint-files/connector.json +194 -0
  61. package/dist/connectors/sharepoint-files/excel.js +300 -0
  62. package/dist/connectors/sharepoint-files/excel.js.map +1 -0
  63. package/dist/connectors/sharepoint-files/index.js +12 -0
  64. package/dist/connectors/sharepoint-files/index.js.map +1 -0
  65. package/dist/connectors/sharepoint-files/tools.js +365 -0
  66. package/dist/connectors/sharepoint-files/tools.js.map +1 -0
  67. package/dist/connectors/sharepoint-files/vendor.js +167 -0
  68. package/dist/connectors/sharepoint-files/vendor.js.map +1 -0
  69. package/dist/connectors/teams/connector.json +298 -0
  70. package/dist/connectors/teams/index.js +5 -0
  71. package/dist/connectors/teams/index.js.map +1 -0
  72. package/dist/connectors/teams/tools.js +391 -0
  73. package/dist/connectors/teams/tools.js.map +1 -0
  74. package/dist/packages/connector-kit/src/branding.js +102 -0
  75. package/dist/packages/connector-kit/src/branding.js.map +1 -0
  76. package/dist/packages/connector-kit/src/certificate.js +84 -0
  77. package/dist/packages/connector-kit/src/certificate.js.map +1 -0
  78. package/dist/packages/connector-kit/src/common.js +107 -0
  79. package/dist/packages/connector-kit/src/common.js.map +1 -0
  80. package/dist/packages/connector-kit/src/connector.js +492 -0
  81. package/dist/packages/connector-kit/src/connector.js.map +1 -0
  82. package/dist/packages/connector-kit/src/oauth.js +79 -0
  83. package/dist/packages/connector-kit/src/oauth.js.map +1 -0
  84. package/dist/packages/connector-kit/src/types.js +20 -0
  85. package/dist/packages/connector-kit/src/types.js.map +1 -0
  86. package/dist/packages/server/migrations/0001_tables.sql +268 -0
  87. package/dist/packages/server/migrations/0002_organizations.sql +72 -0
  88. package/dist/packages/server/migrations/0003_drop_unused.sql +3 -0
  89. package/dist/packages/server/migrations/0004_trigger_runners.sql +15 -0
  90. package/dist/packages/server/migrations/0005_run_runner.sql +3 -0
  91. package/dist/packages/server/migrations/0006_approvals.sql +36 -0
  92. package/dist/packages/server/migrations/rollback/to-legacy.sql +87 -0
  93. package/dist/packages/server/src/api.js +684 -0
  94. package/dist/packages/server/src/api.js.map +1 -0
  95. package/dist/packages/server/src/app.js +444 -0
  96. package/dist/packages/server/src/app.js.map +1 -0
  97. package/dist/packages/server/src/builtin.js +24 -0
  98. package/dist/packages/server/src/builtin.js.map +1 -0
  99. package/dist/packages/server/src/consent.js +36 -0
  100. package/dist/packages/server/src/consent.js.map +1 -0
  101. package/dist/packages/server/src/index.js +129 -0
  102. package/dist/packages/server/src/index.js.map +1 -0
  103. package/dist/packages/server/src/migrate.js +134 -0
  104. package/dist/packages/server/src/migrate.js.map +1 -0
  105. package/dist/packages/server/src/openapi.js +101 -0
  106. package/dist/packages/server/src/openapi.js.map +1 -0
  107. package/dist/packages/server/src/secrets.js +76 -0
  108. package/dist/packages/server/src/secrets.js.map +1 -0
  109. package/dist/packages/server/src/server.js +69 -0
  110. package/dist/packages/server/src/server.js.map +1 -0
  111. package/dist/packages/server/src/service.js +908 -0
  112. package/dist/packages/server/src/service.js.map +1 -0
  113. package/dist/packages/server/src/store.js +411 -0
  114. package/dist/packages/server/src/store.js.map +1 -0
  115. package/dist/packages/server/src/teams/activity.js +187 -0
  116. package/dist/packages/server/src/teams/activity.js.map +1 -0
  117. package/dist/packages/server/src/teams/admin.js +699 -0
  118. package/dist/packages/server/src/teams/admin.js.map +1 -0
  119. package/dist/packages/server/src/teams/approval.js +118 -0
  120. package/dist/packages/server/src/teams/approval.js.map +1 -0
  121. package/dist/packages/server/src/teams/bot.js +124 -0
  122. package/dist/packages/server/src/teams/bot.js.map +1 -0
  123. package/dist/packages/server/src/teams/claude.js +165 -0
  124. package/dist/packages/server/src/teams/claude.js.map +1 -0
  125. package/dist/packages/server/src/teams/jwt.js +121 -0
  126. package/dist/packages/server/src/teams/jwt.js.map +1 -0
  127. package/dist/packages/server/src/teams/package.js +319 -0
  128. package/dist/packages/server/src/teams/package.js.map +1 -0
  129. package/dist/packages/server/src/teams/provision.js +505 -0
  130. package/dist/packages/server/src/teams/provision.js.map +1 -0
  131. package/dist/packages/server/src/teams/runner.js +143 -0
  132. package/dist/packages/server/src/teams/runner.js.map +1 -0
  133. package/dist/packages/server/src/teams/runtime.js +701 -0
  134. package/dist/packages/server/src/teams/runtime.js.map +1 -0
  135. package/dist/packages/server/src/teams/store.js +507 -0
  136. package/dist/packages/server/src/teams/store.js.map +1 -0
  137. package/package.json +42 -4
@@ -0,0 +1,300 @@
1
+ import { z } from "zod";
2
+ import { audited, Denied, json, listLimit, mapLimit, } from "../../packages/connector-kit/src/common.js";
3
+ import { checkItem, cursorArg, inSite, nextCursor, ok, openSite, pageQuery, targetFolder, } from "./tools.js";
4
+ // Excel workbooks (.xlsx) in the SharePoint sites of the agent's grant (its `sites` limit,
5
+ // and the folder its `folders` limit names there), through the Excel API of Microsoft Graph,
6
+ // with the files tools' checks. A workbook is read back by id and must sit in a granted site,
7
+ // in its document library and inside the key's folder. Reads are sessionless; each edit runs in its own persistent session.
8
+ export const MAX_CELLS = 10_000;
9
+ export const MAX_TABLE_ROWS = 500;
10
+ const XLSX_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
11
+ const ITEM_ID = /^[A-Za-z0-9!_-]{1,256}$/;
12
+ const CELL = /^([A-Z]{1,3})([1-9][0-9]{0,6})$/;
13
+ const MAX_COLUMN = 16_384;
14
+ const MAX_ROW = 1_048_576;
15
+ // Excel forbids these in sheet names, and caps them at 31 characters.
16
+ const SHEET = /^[^[\]:*?/\\]{1,31}$/;
17
+ const TABLE = /^[A-Za-z0-9_.{}\\-]{1,255}$/;
18
+ function column(letters) {
19
+ return [...letters].reduce((n, ch) => n * 26 + ch.charCodeAt(0) - 64, 0);
20
+ }
21
+ /** A1 or A1:D20, upper-cased, with its size. Whole rows or columns are refused: their size
22
+ * is the whole sheet. */
23
+ export function parseRange(raw) {
24
+ const [first, last = first, extra] = raw.trim().toUpperCase().split(":");
25
+ const a = CELL.exec(first ?? "");
26
+ const b = CELL.exec(last);
27
+ if (extra !== undefined || !a || !b)
28
+ throw new Denied(`${raw} is not a range such as A1:D20`);
29
+ const [c1, c2] = [column(a[1]), column(b[1])];
30
+ const [r1, r2] = [Number(a[2]), Number(b[2])];
31
+ if (Math.max(c1, c2) > MAX_COLUMN || Math.max(r1, r2) > MAX_ROW)
32
+ throw new Denied(`${raw} is outside the sheet`);
33
+ const rows = Math.abs(r2 - r1) + 1;
34
+ const columns = Math.abs(c2 - c1) + 1;
35
+ if (rows * columns > MAX_CELLS)
36
+ throw new Denied(`Read or change at most ${MAX_CELLS} cells at a time`);
37
+ return { address: first === last ? first : `${first}:${last}`, rows, columns };
38
+ }
39
+ function sheetSegment(name) {
40
+ if (!SHEET.test(name))
41
+ throw new Denied(`${name} is not a worksheet name`);
42
+ return encodeURIComponent(name).replaceAll("'", "%27");
43
+ }
44
+ function tableSegment(name) {
45
+ if (!TABLE.test(name))
46
+ throw new Denied("Give a table name from excel_list_tables");
47
+ return encodeURIComponent(name);
48
+ }
49
+ export function isWorkbook(item) {
50
+ const type = item.file?.mimeType;
51
+ return (Boolean(item.file) &&
52
+ /\.xlsx$/i.test(item.name ?? "") &&
53
+ (type === undefined || type === XLSX_TYPE));
54
+ }
55
+ /** The workbook's Excel API path, once its item is read back and found in a granted site. */
56
+ async function workbookPath(ctx, mark, site, itemId) {
57
+ if (!ITEM_ID.test(itemId))
58
+ throw new Denied("Give a workbook id from excel_list_workbooks");
59
+ const opened = await openSite(ctx, mark, site);
60
+ const path = `/v1.0/sites/${encodeURIComponent(opened.id)}/drive/items/${encodeURIComponent(itemId)}`;
61
+ const item = await ok(ctx, mark, {
62
+ method: "GET",
63
+ path: `${path}?$select=id,name,file,folder,parentReference,remoteItem`,
64
+ });
65
+ await checkItem(ctx, mark, opened, item);
66
+ if (!isWorkbook(item))
67
+ throw new Denied("Only Excel workbooks (.xlsx) can be opened");
68
+ return `${path}/workbook`;
69
+ }
70
+ // Runs edits in a session that saves them, and closes it whatever happens.
71
+ async function inSession(ctx, mark, workbook, run) {
72
+ const session = await ok(ctx, mark, {
73
+ method: "POST",
74
+ path: `${workbook}/createSession`,
75
+ body: { persistChanges: true },
76
+ });
77
+ if (typeof session?.id !== "string")
78
+ throw new Error("Excel returned no session id");
79
+ const headers = { "workbook-session-id": session.id };
80
+ try {
81
+ return await run(headers);
82
+ }
83
+ finally {
84
+ const closed = await ctx.call({ method: "POST", path: `${workbook}/closeSession`, headers });
85
+ if (closed.status >= 300)
86
+ console.error(`[agent-connect] closeSession answered ${closed.status}`);
87
+ }
88
+ }
89
+ // Excel runs text starting with = (and +, - or @, which it turns into =) as a formula, and a
90
+ // formula can reach other workbooks or outside addresses (external links, WEBSERVICE,
91
+ // HYPERLINK) when a person opens the file. A leading apostrophe keeps it as the text written;
92
+ // tab and carriage return are on OWASP's list of formula starts too.
93
+ const FORMULA_START = /^[=+\-@\t\r]/;
94
+ export const literal = (rows) => rows.map((row) => row.map((v) => (typeof v === "string" && FORMULA_START.test(v) ? `'${v}` : v)));
95
+ function checkShape(values, rows, columns) {
96
+ if (values.length !== rows || values.some((r) => r.length !== columns))
97
+ throw new Denied(`values must be ${rows} row(s) of ${columns} cell(s), the size of the range`);
98
+ }
99
+ export const excelTools = {
100
+ names: [
101
+ "excel_list_workbooks",
102
+ "excel_list_worksheets",
103
+ "excel_read_range",
104
+ "excel_list_tables",
105
+ "excel_read_table",
106
+ "excel_update_range",
107
+ "excel_add_table_rows",
108
+ ],
109
+ register(server, ctx, allowed) {
110
+ const readOnly = { readOnlyHint: true, openWorldHint: true };
111
+ const edits = { readOnlyHint: false, destructiveHint: false, openWorldHint: true };
112
+ // The agent may have no files tool to list its sites, so they are named here.
113
+ const sites = listLimit(ctx.limits, "sites") ?? [];
114
+ const folders = mapLimit(ctx.limits, "folders") ?? {};
115
+ const named = sites.map((s) => (folders[s] ? `${s} (only its ${folders[s]} folder)` : s));
116
+ const site = z
117
+ .string()
118
+ .max(500)
119
+ .describe(`Site address, one of: ${named.join(", ") || "none (ask an administrator)"}`);
120
+ const workbook = z.string().max(300).describe("Workbook id from excel_list_workbooks.");
121
+ const worksheet = z.string().max(100).describe("Worksheet name from excel_list_worksheets.");
122
+ const table = z.string().max(255).describe("Table name from excel_list_tables.");
123
+ const cell = z.union([z.string().max(32_767), z.number(), z.boolean(), z.null()]);
124
+ const grid = z.array(z.array(cell).max(MAX_COLUMN)).max(MAX_CELLS);
125
+ if (allowed.has("excel_list_workbooks"))
126
+ server.registerTool("excel_list_workbooks", {
127
+ description: "List Excel workbooks (.xlsx) and folders in a site's document library, at its top or in a folder. A page can hold few or none while more follow: when `more` is true, call again with `cursor` set to `next`.",
128
+ inputSchema: z.object({
129
+ site,
130
+ folder: z
131
+ .string()
132
+ .max(1000)
133
+ .default("")
134
+ .describe("Folder path, e.g. Reports/2026. Empty: the top, or this agent's folder."),
135
+ max_results: z.number().int().min(1).max(200).default(100),
136
+ cursor: cursorArg,
137
+ }),
138
+ annotations: readOnly,
139
+ }, ({ site: s, folder, max_results, cursor }) => audited(ctx, "excel_list_workbooks", `${s} ${folder}`.trim(), async (mark) => {
140
+ const path = targetFolder(ctx, s, folder).map(encodeURIComponent).join("/");
141
+ const { id } = await openSite(ctx, mark, s);
142
+ const base = `/v1.0/sites/${encodeURIComponent(id)}/drive/root`;
143
+ const data = await ok(ctx, mark, {
144
+ method: "GET",
145
+ path: `${path ? `${base}:/${path}:` : base}/children?${pageQuery(max_results, cursor)}&$select=id,name,file,folder,lastModifiedDateTime,parentReference,remoteItem`,
146
+ });
147
+ const items = data.value.filter((i) => !i.remoteItem && inSite(i, id) && (i.folder || isWorkbook(i)));
148
+ return json({
149
+ items: items.map((i) => ({
150
+ id: i.id,
151
+ name: i.name ?? "",
152
+ kind: i.folder ? "folder" : "workbook",
153
+ modified: i.lastModifiedDateTime ?? null,
154
+ })),
155
+ more: Boolean(data["@odata.nextLink"]),
156
+ next: nextCursor(data),
157
+ });
158
+ }));
159
+ if (allowed.has("excel_list_worksheets"))
160
+ server.registerTool("excel_list_worksheets", {
161
+ description: "List the worksheets of a workbook.",
162
+ inputSchema: z.object({ site, workbook_id: workbook }),
163
+ annotations: readOnly,
164
+ }, ({ site: s, workbook_id }) => audited(ctx, "excel_list_worksheets", `${s} ${workbook_id}`, async (mark) => {
165
+ const base = await workbookPath(ctx, mark, s, workbook_id);
166
+ const data = await ok(ctx, mark, {
167
+ method: "GET",
168
+ path: `${base}/worksheets?$select=name,position,visibility`,
169
+ });
170
+ return json({
171
+ worksheets: data.value.map((w) => ({
172
+ name: w.name,
173
+ visible: w.visibility === undefined || w.visibility === "Visible",
174
+ })),
175
+ });
176
+ }));
177
+ if (allowed.has("excel_read_range"))
178
+ server.registerTool("excel_read_range", {
179
+ description: `Read the values of a range of cells (at most ${MAX_CELLS}) in a worksheet.`,
180
+ inputSchema: z.object({
181
+ site,
182
+ workbook_id: workbook,
183
+ worksheet,
184
+ range: z.string().max(30).describe("e.g. A1:D20"),
185
+ }),
186
+ annotations: readOnly,
187
+ }, ({ site: s, workbook_id, worksheet: sheet, range }) => audited(ctx, "excel_read_range", `${s} ${workbook_id} ${sheet}!${range}`, async (mark) => {
188
+ const { address } = parseRange(range);
189
+ const segment = sheetSegment(sheet);
190
+ const base = await workbookPath(ctx, mark, s, workbook_id);
191
+ const data = await ok(ctx, mark, {
192
+ method: "GET",
193
+ path: `${base}/worksheets/${segment}/range(address='${address}')?$select=address,values`,
194
+ });
195
+ return json({ address: data.address ?? address, values: data.values ?? [] });
196
+ }));
197
+ if (allowed.has("excel_list_tables"))
198
+ server.registerTool("excel_list_tables", {
199
+ description: "List the tables in a workbook.",
200
+ inputSchema: z.object({ site, workbook_id: workbook }),
201
+ annotations: readOnly,
202
+ }, ({ site: s, workbook_id }) => audited(ctx, "excel_list_tables", `${s} ${workbook_id}`, async (mark) => {
203
+ const base = await workbookPath(ctx, mark, s, workbook_id);
204
+ const data = await ok(ctx, mark, {
205
+ method: "GET",
206
+ path: `${base}/tables?$select=id,name,showHeaders`,
207
+ });
208
+ return json({
209
+ tables: data.value.map((t) => ({
210
+ name: t.name,
211
+ headers: t.showHeaders ?? true,
212
+ })),
213
+ });
214
+ }));
215
+ if (allowed.has("excel_read_table"))
216
+ server.registerTool("excel_read_table", {
217
+ description: `Read a table's header and rows, at most ${MAX_TABLE_ROWS} rows at a time.`,
218
+ inputSchema: z.object({
219
+ site,
220
+ workbook_id: workbook,
221
+ table,
222
+ max_rows: z.number().int().min(1).max(MAX_TABLE_ROWS).default(100),
223
+ skip: z.number().int().min(0).max(MAX_ROW).default(0),
224
+ }),
225
+ annotations: readOnly,
226
+ }, ({ site: s, workbook_id, table: t, max_rows, skip }) => audited(ctx, "excel_read_table", `${s} ${workbook_id} ${t}`, async (mark) => {
227
+ const segment = tableSegment(t);
228
+ const base = await workbookPath(ctx, mark, s, workbook_id);
229
+ const header = await ok(ctx, mark, {
230
+ method: "GET",
231
+ path: `${base}/tables/${segment}/headerRowRange?$select=values`,
232
+ });
233
+ // One more than asked, to tell whether more rows follow.
234
+ const data = await ok(ctx, mark, {
235
+ method: "GET",
236
+ path: `${base}/tables/${segment}/rows?$top=${max_rows + 1}&$skip=${skip}`,
237
+ });
238
+ const rows = data.value.map((r) => r.values?.[0] ?? []);
239
+ const cells = rows.slice(0, max_rows).reduce((n, r) => n + r.length, 0);
240
+ if (cells > MAX_CELLS)
241
+ throw new Denied(`That is more than ${MAX_CELLS} cells. Ask for fewer rows.`);
242
+ return json({
243
+ headers: header.values?.[0] ?? [],
244
+ rows: rows.slice(0, max_rows),
245
+ more: rows.length > max_rows,
246
+ });
247
+ }));
248
+ if (allowed.has("excel_update_range"))
249
+ server.registerTool("excel_update_range", {
250
+ description: `Write values into a range of cells (at most ${MAX_CELLS}). values must have the range's size; a null leaves that cell as it is. Text is written as text, never as a formula (send numbers as numbers: text such as "-5" stays text).`,
251
+ inputSchema: z.object({
252
+ site,
253
+ workbook_id: workbook,
254
+ worksheet,
255
+ range: z.string().max(30).describe("e.g. B2:C3"),
256
+ values: grid.describe("Rows of cells, e.g. [[1, 2], [3, 4]]"),
257
+ }),
258
+ annotations: edits,
259
+ }, ({ site: s, workbook_id, worksheet: sheet, range, values }) => audited(ctx, "excel_update_range", `${s} ${workbook_id} ${sheet}!${range}`, async (mark) => {
260
+ const { address, rows, columns } = parseRange(range);
261
+ checkShape(values, rows, columns);
262
+ const segment = sheetSegment(sheet);
263
+ const base = await workbookPath(ctx, mark, s, workbook_id);
264
+ const data = await inSession(ctx, mark, base, (headers) => ok(ctx, mark, {
265
+ method: "PATCH",
266
+ path: `${base}/worksheets/${segment}/range(address='${address}')`,
267
+ headers,
268
+ body: { values: literal(values) },
269
+ }));
270
+ return json({ address: data?.address ?? address, updated: rows * columns });
271
+ }));
272
+ if (allowed.has("excel_add_table_rows"))
273
+ server.registerTool("excel_add_table_rows", {
274
+ description: `Add rows (at most ${MAX_TABLE_ROWS}) to the end of a table. Each row has one cell per table column.`,
275
+ inputSchema: z.object({
276
+ site,
277
+ workbook_id: workbook,
278
+ table,
279
+ rows: z.array(z.array(cell).max(MAX_COLUMN)).min(1).max(MAX_TABLE_ROWS),
280
+ }),
281
+ annotations: edits,
282
+ }, ({ site: s, workbook_id, table: t, rows }) => audited(ctx, "excel_add_table_rows", `${s} ${workbook_id} ${t}`, async (mark) => {
283
+ const segment = tableSegment(t);
284
+ const width = rows[0].length;
285
+ if (width === 0 || rows.some((r) => r.length !== width))
286
+ throw new Denied("Every row needs the same number of cells, one per table column");
287
+ if (rows.length * width > MAX_CELLS)
288
+ throw new Denied(`Add at most ${MAX_CELLS} cells at a time`);
289
+ const base = await workbookPath(ctx, mark, s, workbook_id);
290
+ await inSession(ctx, mark, base, (headers) => ok(ctx, mark, {
291
+ method: "POST",
292
+ path: `${base}/tables/${segment}/rows`,
293
+ headers,
294
+ body: { values: literal(rows) },
295
+ }));
296
+ return json({ added: rows.length });
297
+ }));
298
+ },
299
+ };
300
+ //# sourceMappingURL=excel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.js","sourceRoot":"","sources":["../../../connectors/sharepoint-files/excel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,QAAQ,GAGT,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,EAAE,EACF,QAAQ,EACR,SAAS,EACT,YAAY,GAEb,MAAM,YAAY,CAAC;AAEpB,2FAA2F;AAC3F,6FAA6F;AAC7F,8FAA8F;AAC9F,4HAA4H;AAE5H,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,SAAS,GAAG,mEAAmE,CAAC;AACtF,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAC1C,MAAM,IAAI,GAAG,iCAAiC,CAAC;AAC/C,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,OAAO,GAAG,SAAS,CAAC;AAC1B,sEAAsE;AACtE,MAAM,KAAK,GAAG,sBAAsB,CAAC;AACrC,MAAM,KAAK,GAAG,6BAA6B,CAAC;AAI5C,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;0BAC0B;AAC1B,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG,gCAAgC,CAAC,CAAC;IAC9F,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO;QAC7D,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG,uBAAuB,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,OAAO,GAAG,SAAS;QAC5B,MAAM,IAAI,MAAM,CAAC,0BAA0B,SAAS,kBAAkB,CAAC,CAAC;IAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;IAC3E,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,MAAM,CAAC,0CAA0C,CAAC,CAAC;IACpF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;IACjC,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAClB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,YAAY,CACzB,GAAgB,EAChB,IAAyB,EACzB,IAAY,EACZ,MAAc;IAEd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,MAAM,CAAC,8CAA8C,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,eAAe,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IACtG,MAAM,IAAI,GAAc,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;QAC1C,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,GAAG,IAAI,yDAAyD;KACvE,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,MAAM,CAAC,4CAA4C,CAAC,CAAC;IACtF,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,SAAS,CACtB,GAAgB,EAChB,IAAyB,EACzB,QAAgB,EAChB,GAAoD;IAEpD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;QAClC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,GAAG,QAAQ,gBAAgB;QACjC,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KAC/B,CAAC,CAAC;IACH,IAAI,OAAO,OAAO,EAAE,EAAE,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG;YACtB,OAAO,CAAC,KAAK,CAAC,yCAAyC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,sFAAsF;AACtF,8FAA8F;AAC9F,qEAAqE;AACrE,MAAM,aAAa,GAAG,cAAc,CAAC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAc,EAAY,EAAE,CAClD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG,SAAS,UAAU,CAAC,MAAgB,EAAE,IAAY,EAAE,OAAe;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC;QACpE,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,cAAc,OAAO,iCAAiC,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC,KAAK,EAAE;QACL,sBAAsB;QACtB,uBAAuB;QACvB,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,sBAAsB;KACvB;IAED,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO;QAC3B,MAAM,QAAQ,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAW,CAAC;QACtE,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAW,CAAC;QAC5F,8EAA8E;QAC9E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,CAAC;aACX,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,6BAA6B,EAAE,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEnE,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACrC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;gBACE,WAAW,EACT,+MAA+M;gBACjN,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;oBACpB,IAAI;oBACJ,MAAM,EAAE,CAAC;yBACN,MAAM,EAAE;yBACR,GAAG,CAAC,IAAI,CAAC;yBACT,OAAO,CAAC,EAAE,CAAC;yBACX,QAAQ,CAAC,yEAAyE,CAAC;oBACtF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;oBAC1D,MAAM,EAAE,SAAS;iBAClB,CAAC;gBACF,WAAW,EAAE,QAAQ;aACtB,EACD,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAC3C,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC3E,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5E,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,eAAe,kBAAkB,CAAC,EAAE,CAAC,aAAa,CAAC;gBAChE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,aAAa,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,8EAA8E;iBACpK,CAAC,CAAC;gBACH,MAAM,KAAK,GAAI,IAAI,CAAC,KAAqB,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;gBACF,OAAO,IAAI,CAAC;oBACV,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvB,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;wBAClB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;wBACtC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,IAAI,IAAI;qBACzC,CAAC,CAAC;oBACH,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACtC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CACL,CAAC;QAEJ,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACtC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;gBACE,WAAW,EAAE,oCAAoC;gBACjD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;gBACtD,WAAW,EAAE,QAAQ;aACtB,EACD,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAC3B,OAAO,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC1E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,GAAG,IAAI,8CAA8C;iBAC5D,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;oBACV,UAAU,EAAG,IAAI,CAAC,KAAiD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC9E,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;qBAClE,CAAC,CAAC;iBACJ,CAAC,CAAC;YACL,CAAC,CAAC,CACL,CAAC;QAEJ,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACjC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;gBACE,WAAW,EAAE,gDAAgD,SAAS,mBAAmB;gBACzF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;oBACpB,IAAI;oBACJ,WAAW,EAAE,QAAQ;oBACrB,SAAS;oBACT,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;iBAClD,CAAC;gBACF,WAAW,EAAE,QAAQ;aACtB,EACD,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACpD,OAAO,CACL,GAAG,EACH,kBAAkB,EAClB,GAAG,CAAC,IAAI,WAAW,IAAI,KAAK,IAAI,KAAK,EAAE,EACvC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,GAAG,IAAI,eAAe,OAAO,mBAAmB,OAAO,2BAA2B;iBACzF,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/E,CAAC,CACF,CACJ,CAAC;QAEJ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAClC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;gBACE,WAAW,EAAE,gCAAgC;gBAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;gBACtD,WAAW,EAAE,QAAQ;aACtB,EACD,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAC3B,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,GAAG,IAAI,qCAAqC;iBACnD,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;oBACV,MAAM,EAAG,IAAI,CAAC,KAAmD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5E,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;qBAC/B,CAAC,CAAC;iBACJ,CAAC,CAAC;YACL,CAAC,CAAC,CACL,CAAC;QAEJ,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACjC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;gBACE,WAAW,EAAE,2CAA2C,cAAc,kBAAkB;gBACxF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;oBACpB,IAAI;oBACJ,WAAW,EAAE,QAAQ;oBACrB,KAAK;oBACL,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;oBAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBACtD,CAAC;gBACF,WAAW,EAAE,QAAQ;aACtB,EACD,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CACrD,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC1E,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBACjC,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,GAAG,IAAI,WAAW,OAAO,gCAAgC;iBAChE,CAAC,CAAC;gBACH,yDAAyD;gBACzD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,GAAG,IAAI,WAAW,OAAO,cAAc,QAAQ,GAAG,CAAC,UAAU,IAAI,EAAE;iBAC1E,CAAC,CAAC;gBACH,MAAM,IAAI,GAAI,IAAI,CAAC,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,KAAK,GAAG,SAAS;oBACnB,MAAM,IAAI,MAAM,CAAC,qBAAqB,SAAS,6BAA6B,CAAC,CAAC;gBAChF,OAAO,IAAI,CAAC;oBACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;oBACjC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;oBAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ;iBAC7B,CAAC,CAAC;YACL,CAAC,CAAC,CACL,CAAC;QAEJ,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACnC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;gBACE,WAAW,EAAE,+CAA+C,SAAS,8KAA8K;gBACnP,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;oBACpB,IAAI;oBACJ,WAAW,EAAE,QAAQ;oBACrB,SAAS;oBACT,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAChD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC;iBAC9D,CAAC;gBACF,WAAW,EAAE,KAAK;aACnB,EACD,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC5D,OAAO,CACL,GAAG,EACH,oBAAoB,EACpB,GAAG,CAAC,IAAI,WAAW,IAAI,KAAK,IAAI,KAAK,EAAE,EACvC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrD,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CACxD,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBACZ,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,GAAG,IAAI,eAAe,OAAO,mBAAmB,OAAO,IAAI;oBACjE,OAAO;oBACP,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;iBAClC,CAAC,CACH,CAAC;gBACF,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC,CACF,CACJ,CAAC;QAEJ,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACrC,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;gBACE,WAAW,EAAE,qBAAqB,cAAc,kEAAkE;gBAClH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;oBACpB,IAAI;oBACJ,WAAW,EAAE,QAAQ;oBACrB,KAAK;oBACL,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;iBACxE,CAAC;gBACF,WAAW,EAAE,KAAK;aACnB,EACD,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC3C,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7B,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC;oBACrD,MAAM,IAAI,MAAM,CAAC,gEAAgE,CAAC,CAAC;gBACrF,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS;oBACjC,MAAM,IAAI,MAAM,CAAC,eAAe,SAAS,kBAAkB,CAAC,CAAC;gBAC/D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3C,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE;oBACZ,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,GAAG,IAAI,WAAW,OAAO,OAAO;oBACtC,OAAO;oBACP,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;iBAChC,CAAC,CACH,CAAC;gBACF,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CACL,CAAC;IACN,CAAC;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { toolsets } from "../../packages/connector-kit/src/common.js";
2
+ import { excelTools } from "./excel.js";
3
+ import { graphTools } from "./tools.js";
4
+ import { sitesVendor } from "./vendor.js";
5
+ export default {
6
+ id: "sharepoint-files",
7
+ create: ({ microsoft }) => ({
8
+ vendor: sitesVendor(microsoft),
9
+ toolset: toolsets(graphTools, excelTools),
10
+ }),
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../connectors/sharepoint-files/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAe;IACb,EAAE,EAAE,kBAAkB;IACtB,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KAC1C,CAAC;CACuB,CAAC"}