teamshare-bridge 0.14.49 → 0.14.50

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 (35) hide show
  1. package/dist/lib/api.d.ts +47 -0
  2. package/dist/lib/api.js +37 -0
  3. package/dist/lib/api.js.map +1 -1
  4. package/dist/lib/chat-reply.js +9 -0
  5. package/dist/lib/chat-reply.js.map +1 -1
  6. package/dist/lib/doc-reply.js +7 -0
  7. package/dist/lib/doc-reply.js.map +1 -1
  8. package/dist/lib/orchestrator/client.d.ts +5 -0
  9. package/dist/lib/orchestrator/client.js +42 -0
  10. package/dist/lib/orchestrator/client.js.map +1 -1
  11. package/dist/lib/tools/chart-builder.d.ts +5 -0
  12. package/dist/lib/tools/chart-builder.js +182 -0
  13. package/dist/lib/tools/chart-builder.js.map +1 -0
  14. package/dist/lib/tools/csv-cruncher.d.ts +11 -0
  15. package/dist/lib/tools/csv-cruncher.js +189 -0
  16. package/dist/lib/tools/csv-cruncher.js.map +1 -0
  17. package/dist/lib/tools/docx-report.d.ts +5 -0
  18. package/dist/lib/tools/docx-report.js +391 -0
  19. package/dist/lib/tools/docx-report.js.map +1 -0
  20. package/dist/lib/tools/pdf-exporter.d.ts +5 -0
  21. package/dist/lib/tools/pdf-exporter.js +254 -0
  22. package/dist/lib/tools/pdf-exporter.js.map +1 -0
  23. package/dist/lib/tools/pptx-deck.d.ts +5 -0
  24. package/dist/lib/tools/pptx-deck.js +187 -0
  25. package/dist/lib/tools/pptx-deck.js.map +1 -0
  26. package/dist/lib/tools/process-image.d.ts +5 -0
  27. package/dist/lib/tools/process-image.js +99 -0
  28. package/dist/lib/tools/process-image.js.map +1 -0
  29. package/dist/lib/tools/runner.d.ts +16 -0
  30. package/dist/lib/tools/runner.js +61 -0
  31. package/dist/lib/tools/runner.js.map +1 -0
  32. package/dist/lib/tools/xlsx-workbook.d.ts +5 -0
  33. package/dist/lib/tools/xlsx-workbook.js +118 -0
  34. package/dist/lib/tools/xlsx-workbook.js.map +1 -0
  35. package/package.json +10 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-exporter.js","sourceRoot":"","sources":["../../../src/lib/tools/pdf-exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ToolModule, ToolResult } from './runner';
2
+ export declare class PptxDeckTool implements ToolModule {
3
+ key: string;
4
+ run(params: Record<string, unknown>): Promise<ToolResult>;
5
+ }
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PptxDeckTool = void 0;
7
+ /**
8
+ * Slide Deck Generator tool.
9
+ * Creates PowerPoint presentations from markdown outlines using pptxgenjs.
10
+ * H1 = document title, H2 = slide title, H3 = bullet points.
11
+ */
12
+ const pptxgenjs_1 = __importDefault(require("pptxgenjs"));
13
+ function parseOutline(markdown) {
14
+ const lines = markdown.split(/\r?\n/);
15
+ let docTitle = 'Presentation';
16
+ const slides = [];
17
+ let current = null;
18
+ for (const line of lines) {
19
+ const trimmed = line.trim();
20
+ if (!trimmed)
21
+ continue;
22
+ const h1 = trimmed.match(/^#\s+(.*)$/);
23
+ const h2 = trimmed.match(/^##\s+(.*)$/);
24
+ const h3 = trimmed.match(/^###\s+(.*)$/);
25
+ const bullet = trimmed.match(/^[-*+]\s+(.*)$/);
26
+ const numbered = trimmed.match(/^\d+[.)]\s+(.*)$/);
27
+ if (h1) {
28
+ docTitle = h1[1].replace(/\*\*/g, '');
29
+ }
30
+ else if (h2) {
31
+ if (current)
32
+ slides.push(current);
33
+ current = {
34
+ title: h2[1].replace(/\*\*/g, ''),
35
+ bullets: [],
36
+ };
37
+ }
38
+ else if (h3) {
39
+ if (!current) {
40
+ current = { title: '', bullets: [] };
41
+ }
42
+ current.notes = h3[1];
43
+ }
44
+ else if ((bullet || numbered) && current) {
45
+ const text = (bullet ? bullet[1] : numbered[1])
46
+ .replace(/\*\*([^*]+)\*\*/g, '$1')
47
+ .replace(/\*([^*]+)\*/g, '$1');
48
+ current.bullets.push(text);
49
+ }
50
+ else if (current && !current.title) {
51
+ current.title = trimmed.replace(/\*\*/g, '');
52
+ }
53
+ }
54
+ if (current)
55
+ slides.push(current);
56
+ return { docTitle, slides };
57
+ }
58
+ const THEMES = {
59
+ default: { bg: 'FFFFFF', color: '374151', accent: '1a56db', titleColor: '111827' },
60
+ dark: { bg: '1f2937', color: 'e5e7eb', accent: '3b82f6', titleColor: 'f9fafb' },
61
+ ocean: { bg: 'F0F9FF', color: '1e3a5f', accent: '0284c7', titleColor: '0c4a6e' },
62
+ forest: { bg: 'F0FDF4', color: '14532d', accent: '16a34a', titleColor: '166534' },
63
+ sunset: { bg: 'FFF7ED', color: '7c2d12', accent: 'ea580c', titleColor: '9a3412' },
64
+ };
65
+ class PptxDeckTool {
66
+ key = 'pptx-deck';
67
+ async run(params) {
68
+ const outlineMd = String(params.outlineMd ?? '');
69
+ const themeName = String(params.theme ?? 'default');
70
+ const aspect = String(params.aspect ?? '16:9');
71
+ if (!outlineMd.trim()) {
72
+ return { outputs: [], error: 'No outline provided' };
73
+ }
74
+ const theme = THEMES[themeName] ?? THEMES.default;
75
+ const { docTitle, slides: slideData } = parseOutline(outlineMd);
76
+ if (slideData.length === 0) {
77
+ return { outputs: [], error: 'No slides found in outline (use ## for slide titles)' };
78
+ }
79
+ const pptx = new pptxgenjs_1.default();
80
+ pptx.layout = aspect === '4:3' ? 'LAYOUT_4x3' : 'LAYOUT_16x9';
81
+ pptx.author = 'TeamShare';
82
+ pptx.title = docTitle;
83
+ // Title slide
84
+ const titleSlide = pptx.addSlide();
85
+ titleSlide.background = { color: theme.accent };
86
+ titleSlide.addText(docTitle, {
87
+ x: '10%',
88
+ y: '30%',
89
+ w: '80%',
90
+ h: '30%',
91
+ fontSize: 36,
92
+ fontFace: 'Arial',
93
+ color: 'FFFFFF',
94
+ bold: true,
95
+ align: 'center',
96
+ valign: 'middle',
97
+ });
98
+ titleSlide.addText(`Generated by TeamShare`, {
99
+ x: '10%',
100
+ y: '65%',
101
+ w: '80%',
102
+ h: '10%',
103
+ fontSize: 14,
104
+ fontFace: 'Arial',
105
+ color: 'FFFFFFCC',
106
+ align: 'center',
107
+ });
108
+ // Content slides
109
+ for (const slide of slideData) {
110
+ const s = pptx.addSlide();
111
+ s.background = { color: theme.bg };
112
+ // Slide number
113
+ s.addText(`${slideData.indexOf(slide) + 1}`, {
114
+ x: '92%',
115
+ y: '92%',
116
+ w: '6%',
117
+ h: '5%',
118
+ fontSize: 10,
119
+ color: theme.color + '80',
120
+ align: 'center',
121
+ });
122
+ // Title
123
+ s.addText(slide.title, {
124
+ x: '8%',
125
+ y: '8%',
126
+ w: '84%',
127
+ h: '15%',
128
+ fontSize: 28,
129
+ fontFace: 'Arial',
130
+ color: theme.titleColor,
131
+ bold: true,
132
+ });
133
+ // Accent bar under title
134
+ s.addShape(pptx.ShapeType.rect, {
135
+ x: '8%',
136
+ y: '23%',
137
+ w: '15%',
138
+ h: '0.5%',
139
+ fill: { color: theme.accent },
140
+ });
141
+ // Bullets
142
+ if (slide.bullets.length > 0) {
143
+ const bulletText = slide.bullets.map((b) => ({
144
+ text: b,
145
+ options: {
146
+ fontSize: 16,
147
+ fontFace: 'Arial',
148
+ color: theme.color,
149
+ bullet: { code: '2022' },
150
+ paraSpaceAfter: 8,
151
+ },
152
+ }));
153
+ s.addText(bulletText, {
154
+ x: '8%',
155
+ y: '28%',
156
+ w: '84%',
157
+ h: '60%',
158
+ valign: 'top',
159
+ lineSpacingMultiple: 1.2,
160
+ });
161
+ }
162
+ // Speaker notes
163
+ if (slide.notes) {
164
+ s.addNotes(slide.notes);
165
+ }
166
+ }
167
+ const buffer = await pptx.write({ outputType: 'nodebuffer' });
168
+ const safeName = docTitle.replace(/[^a-zA-Z0-9_-]/g, '_').slice(0, 64);
169
+ return {
170
+ outputs: [
171
+ {
172
+ buffer: buffer,
173
+ fileName: `${safeName}.pptx`,
174
+ mime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
175
+ },
176
+ ],
177
+ log: [
178
+ `Generated PPTX: ${safeName}.pptx`,
179
+ `Title: ${docTitle}`,
180
+ `Slides: ${slideData.length + 1} (1 title + ${slideData.length} content)`,
181
+ `Theme: ${themeName}, Aspect: ${aspect}`,
182
+ ],
183
+ };
184
+ }
185
+ }
186
+ exports.PptxDeckTool = PptxDeckTool;
187
+ //# sourceMappingURL=pptx-deck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pptx-deck.js","sourceRoot":"","sources":["../../../src/lib/tools/pptx-deck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ToolModule, ToolResult } from './runner';
2
+ export declare class ProcessImageTool implements ToolModule {
3
+ key: string;
4
+ run(params: Record<string, unknown>): Promise<ToolResult>;
5
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ProcessImageTool = void 0;
7
+ /**
8
+ * Image Processing tool.
9
+ * Uses sharp for resize, crop, thumbnail, and format conversion.
10
+ */
11
+ const sharp_1 = __importDefault(require("sharp"));
12
+ class ProcessImageTool {
13
+ key = 'process-image';
14
+ async run(params) {
15
+ const operation = String(params.operation ?? 'resize');
16
+ const inputBuffer = params.inputBuffer;
17
+ const width = params.width ? Number(params.width) : undefined;
18
+ const height = params.height ? Number(params.height) : undefined;
19
+ const format = params.format ? String(params.format) : undefined;
20
+ const quality = params.quality ? Number(params.quality) : 80;
21
+ if (!inputBuffer || !Buffer.isBuffer(inputBuffer)) {
22
+ return { outputs: [], error: 'No image buffer provided (send as inputBuffer)' };
23
+ }
24
+ let pipeline;
25
+ switch (operation) {
26
+ case 'resize':
27
+ if (!width && !height) {
28
+ return { outputs: [], error: 'resize requires width and/or height' };
29
+ }
30
+ pipeline = (0, sharp_1.default)(inputBuffer).resize(width, height, { fit: 'inside' });
31
+ break;
32
+ case 'crop':
33
+ if (!width || !height) {
34
+ return { outputs: [], error: 'crop requires both width and height' };
35
+ }
36
+ pipeline = (0, sharp_1.default)(inputBuffer).extract({
37
+ left: 0,
38
+ top: 0,
39
+ width: Math.min(width, (await (0, sharp_1.default)(inputBuffer).metadata()).width ?? width),
40
+ height: Math.min(height, (await (0, sharp_1.default)(inputBuffer).metadata()).height ?? height),
41
+ });
42
+ break;
43
+ case 'thumbnail':
44
+ if (!width && !height) {
45
+ return { outputs: [], error: 'thumbnail requires width and/or height' };
46
+ }
47
+ pipeline = (0, sharp_1.default)(inputBuffer).resize(width, height, { fit: 'inside', withoutEnlargement: true });
48
+ break;
49
+ case 'convert':
50
+ pipeline = (0, sharp_1.default)(inputBuffer);
51
+ break;
52
+ default:
53
+ return { outputs: [], error: `Unknown operation: ${operation}. Use resize, crop, thumbnail, or convert` };
54
+ }
55
+ // Apply output format
56
+ const metadata = await (0, sharp_1.default)(inputBuffer).metadata();
57
+ const outputFormat = format ?? metadata.format ?? 'png';
58
+ const outputFormatStr = String(outputFormat);
59
+ switch (outputFormatStr) {
60
+ case 'jpeg':
61
+ case 'jpg':
62
+ pipeline = pipeline.jpeg({ quality, mozjpeg: true });
63
+ break;
64
+ case 'png':
65
+ pipeline = pipeline.png({ compressionLevel: 6 });
66
+ break;
67
+ case 'webp':
68
+ pipeline = pipeline.webp({ quality });
69
+ break;
70
+ case 'avif':
71
+ pipeline = pipeline.avif({ quality });
72
+ break;
73
+ case 'tiff':
74
+ case 'tif':
75
+ pipeline = pipeline.tiff({ quality });
76
+ break;
77
+ default:
78
+ pipeline = pipeline.png();
79
+ }
80
+ const outputBuffer = await pipeline.toBuffer();
81
+ const ext = outputFormatStr === 'jpg' ? 'jpeg' : outputFormatStr;
82
+ return {
83
+ outputs: [
84
+ {
85
+ buffer: outputBuffer,
86
+ fileName: `image.${ext}`,
87
+ mime: `image/${ext}`,
88
+ },
89
+ ],
90
+ log: [
91
+ `Processed image: ${operation}`,
92
+ `Input: ${metadata.width}x${metadata.height} ${metadata.format}`,
93
+ `Output: ${outputBuffer.length} bytes ${outputFormat}`,
94
+ ],
95
+ };
96
+ }
97
+ }
98
+ exports.ProcessImageTool = ProcessImageTool;
99
+ //# sourceMappingURL=process-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-image.js","sourceRoot":"","sources":["../../../src/lib/tools/process-image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface ToolOutput {
2
+ buffer: Buffer;
3
+ fileName: string;
4
+ mime: string;
5
+ }
6
+ export interface ToolResult {
7
+ outputs: ToolOutput[];
8
+ log?: string[];
9
+ error?: string;
10
+ }
11
+ export interface ToolModule {
12
+ key: string;
13
+ run(params: Record<string, unknown>): Promise<ToolResult>;
14
+ }
15
+ export declare function listToolKeys(): string[];
16
+ export declare function runTool(toolKey: string, params: Record<string, unknown>): Promise<ToolResult>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listToolKeys = listToolKeys;
4
+ exports.runTool = runTool;
5
+ /**
6
+ * Node.js in-process tool runner for TeamShare document/data tools.
7
+ * Replaces the Python-on-PC Path A from tools-tab-plan.md.
8
+ *
9
+ * Each tool is a TypeScript module that returns Buffer[] outputs.
10
+ * No subprocess, no venv, no Python — everything runs in the bridge process.
11
+ */
12
+ const docx_report_1 = require("./docx-report");
13
+ const chart_builder_1 = require("./chart-builder");
14
+ const xlsx_workbook_1 = require("./xlsx-workbook");
15
+ const pdf_exporter_1 = require("./pdf-exporter");
16
+ const csv_cruncher_1 = require("./csv-cruncher");
17
+ const pptx_deck_1 = require("./pptx-deck");
18
+ const process_image_1 = require("./process-image");
19
+ const TOOL_TIMEOUT_MS = 60_000;
20
+ const TOOLS = [
21
+ new docx_report_1.DocxReportTool(),
22
+ new chart_builder_1.ChartBuilderTool(),
23
+ new xlsx_workbook_1.XlsxWorkbookTool(),
24
+ new pdf_exporter_1.PdfExporterTool(),
25
+ new csv_cruncher_1.CsvCruncherTool(),
26
+ new pptx_deck_1.PptxDeckTool(),
27
+ new process_image_1.ProcessImageTool(),
28
+ ];
29
+ const TOOL_MAP = new Map(TOOLS.map((t) => [t.key, t]));
30
+ function listToolKeys() {
31
+ return TOOLS.map((t) => t.key);
32
+ }
33
+ async function runTool(toolKey, params) {
34
+ const tool = TOOL_MAP.get(toolKey);
35
+ if (!tool) {
36
+ return {
37
+ outputs: [],
38
+ error: `Unknown tool: ${toolKey}. Valid keys: ${listToolKeys().join(', ')}`,
39
+ };
40
+ }
41
+ try {
42
+ const result = await Promise.race([
43
+ tool.run(params),
44
+ new Promise((_, reject) => setTimeout(() => reject(new Error(`Tool "${toolKey}" timed out after ${TOOL_TIMEOUT_MS / 1000}s`)), TOOL_TIMEOUT_MS)),
45
+ ]);
46
+ const oversized = result.outputs.filter((o) => o.buffer.length > 25 * 1024 * 1024);
47
+ if (oversized.length > 0) {
48
+ return {
49
+ outputs: [],
50
+ log: result.log,
51
+ error: `Output too large: ${oversized.map((o) => o.fileName).join(', ')} exceeds 25MB limit`,
52
+ };
53
+ }
54
+ return result;
55
+ }
56
+ catch (err) {
57
+ const message = err instanceof Error ? err.message : String(err);
58
+ return { outputs: [], error: `Tool "${toolKey}" failed: ${message}` };
59
+ }
60
+ }
61
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/lib/tools/runner.ts"],"names":[],"mappings":";;AAgDA,oCAEC;AAED,0BAqCC;AAzFD;;;;;;GAMG;AACH,+CAA+C;AAC/C,mDAAmD;AACnD,mDAAmD;AACnD,iDAAiD;AACjD,iDAAiD;AACjD,2CAA2C;AAC3C,mDAAmD;AAmBnD,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,MAAM,KAAK,GAAiB;IAC1B,IAAI,4BAAc,EAAE;IACpB,IAAI,gCAAgB,EAAE;IACtB,IAAI,gCAAgB,EAAE;IACtB,IAAI,8BAAe,EAAE;IACrB,IAAI,8BAAe,EAAE;IACrB,IAAI,wBAAY,EAAE;IAClB,IAAI,gCAAgB,EAAE;CACvB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAC7B,CAAC;AAEF,SAAgB,YAAY;IAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAEM,KAAK,UAAU,OAAO,CAC3B,OAAe,EACf,MAA+B;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,iBAAiB,OAAO,iBAAiB,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAChB,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,OAAO,qBAAqB,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,EACvF,eAAe,CAChB,CACF;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACnF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,qBAAqB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB;aAC7F,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,OAAO,aAAa,OAAO,EAAE,EAAE,CAAC;IACxE,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ToolModule, ToolResult } from './runner';
2
+ export declare class XlsxWorkbookTool implements ToolModule {
3
+ key: string;
4
+ run(params: Record<string, unknown>): Promise<ToolResult>;
5
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.XlsxWorkbookTool = void 0;
7
+ /**
8
+ * Excel Workbook Builder tool.
9
+ * Creates .xlsx files with styled headers, freeze panes, auto-fit columns,
10
+ * conditional formatting, and formula support using exceljs.
11
+ */
12
+ const exceljs_1 = __importDefault(require("exceljs"));
13
+ class XlsxWorkbookTool {
14
+ key = 'xlsx-workbook';
15
+ async run(params) {
16
+ const sheets = Array.isArray(params.sheets)
17
+ ? params.sheets
18
+ : [];
19
+ if (sheets.length === 0) {
20
+ return { outputs: [], error: 'No sheets provided' };
21
+ }
22
+ const workbook = new exceljs_1.default.Workbook();
23
+ workbook.creator = 'TeamShare';
24
+ workbook.created = new Date();
25
+ for (const sheetDef of sheets) {
26
+ const ws = workbook.addWorksheet(sheetDef.name || 'Sheet1');
27
+ const headers = sheetDef.headers ?? [];
28
+ const rows = sheetDef.rows ?? [];
29
+ // Add headers
30
+ if (headers.length > 0) {
31
+ const headerRow = ws.addRow(headers);
32
+ headerRow.eachCell((cell) => {
33
+ cell.font = { bold: true, color: { argb: 'FFFFFFFF' }, size: 11 };
34
+ cell.fill = {
35
+ type: 'pattern',
36
+ pattern: 'solid',
37
+ fgColor: { argb: 'FF1a56db' },
38
+ };
39
+ cell.border = {
40
+ top: { style: 'thin' },
41
+ bottom: { style: 'thin' },
42
+ left: { style: 'thin' },
43
+ right: { style: 'thin' },
44
+ };
45
+ cell.alignment = { vertical: 'middle', horizontal: 'center' };
46
+ });
47
+ headerRow.height = 22;
48
+ }
49
+ // Add data rows
50
+ for (const rowData of rows) {
51
+ const row = ws.addRow(rowData);
52
+ row.eachCell((cell, colNumber) => {
53
+ cell.border = {
54
+ top: { style: 'thin', color: { argb: 'FFE5E7EB' } },
55
+ bottom: { style: 'thin', color: { argb: 'FFE5E7EB' } },
56
+ left: { style: 'thin', color: { argb: 'FFE5E7EB' } },
57
+ right: { style: 'thin', color: { argb: 'FFE5E7EB' } },
58
+ };
59
+ // Alternate row shading
60
+ if (row.number % 2 === 0) {
61
+ cell.fill = {
62
+ type: 'pattern',
63
+ pattern: 'solid',
64
+ fgColor: { argb: 'FFF9FAFB' },
65
+ };
66
+ }
67
+ });
68
+ }
69
+ // Auto-fit column widths
70
+ if (sheetDef.columnWidths) {
71
+ sheetDef.columnWidths.forEach((w, idx) => {
72
+ ws.getColumn(idx + 1).width = w;
73
+ });
74
+ }
75
+ else if (headers.length > 0) {
76
+ const colWidths = headers.map((h, idx) => {
77
+ const maxData = rows.reduce((max, r) => Math.max(max, String(r[idx] ?? '').length), 0);
78
+ return Math.min(Math.max(h.length, maxData) + 4, 50);
79
+ });
80
+ colWidths.forEach((w, idx) => {
81
+ ws.getColumn(idx + 1).width = w;
82
+ });
83
+ }
84
+ // Freeze header row
85
+ if (sheetDef.freezeHeader && headers.length > 0) {
86
+ ws.views = [{ state: 'frozen', ySplit: 1 }];
87
+ }
88
+ // Auto-filter
89
+ if (headers.length > 0 && rows.length > 0) {
90
+ ws.autoFilter = {
91
+ from: { row: 1, column: 1 },
92
+ to: { row: rows.length + 1, column: headers.length },
93
+ };
94
+ }
95
+ }
96
+ const buffer = await workbook.xlsx.writeBuffer();
97
+ const buf = Buffer.from(buffer);
98
+ const sheetNames = sheets.map((s) => s.name || 'Sheet1').join(', ');
99
+ const safeName = (sheets[0]?.name ?? 'workbook')
100
+ .replace(/[^a-zA-Z0-9_-]/g, '_')
101
+ .slice(0, 64);
102
+ return {
103
+ outputs: [
104
+ {
105
+ buffer: buf,
106
+ fileName: `${safeName}.xlsx`,
107
+ mime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
108
+ },
109
+ ],
110
+ log: [
111
+ `Generated XLSX: ${sheets.length} sheet(s) (${sheetNames})`,
112
+ `Total rows: ${sheets.reduce((sum, s) => sum + (s.rows?.length ?? 0), 0)}`,
113
+ ],
114
+ };
115
+ }
116
+ }
117
+ exports.XlsxWorkbookTool = XlsxWorkbookTool;
118
+ //# sourceMappingURL=xlsx-workbook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xlsx-workbook.js","sourceRoot":"","sources":["../../../src/lib/tools/xlsx-workbook.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teamshare-bridge",
3
- "version": "0.14.49",
3
+ "version": "0.14.50",
4
4
  "description": "Local bridge for TeamShare agents - CLI session runner, auto-wake WebSocket daemon, and teamshare:// protocol handler.",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
@@ -41,10 +41,18 @@
41
41
  "@napi-rs/keyring": "^1.3.0",
42
42
  "@types/better-sqlite3": "^9.6.0",
43
43
  "better-sqlite3": "^13.0.3",
44
+ "chart.js": "^4.5.1",
45
+ "chartjs-node-canvas": "^5.0.0",
46
+ "docx": "^9.7.1",
47
+ "exceljs": "^4.4.0",
48
+ "pdfkit": "^0.20.2",
49
+ "pptxgenjs": "^4.0.1",
50
+ "sharp": "^0.35.4",
44
51
  "socket.io-client": "^4.8.3"
45
52
  },
46
53
  "devDependencies": {
47
- "@types/node": "^22.0.0",
54
+ "@types/node": "^22.20.1",
55
+ "@types/pdfkit": "^0.17.6",
48
56
  "typescript": "^5.6.0"
49
57
  }
50
58
  }