@skillful-ai/piece-latex-to-pdf 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillful-ai/piece-latex-to-pdf",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -2,7 +2,7 @@ export declare const compileZip: import("@activepieces/pieces-framework").IActio
2
2
  serviceUrl: import("@activepieces/pieces-framework").ShortTextProperty<false>;
3
3
  apiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
4
4
  }>, {
5
- zipFile: import("@activepieces/pieces-framework").FileProperty<true>;
5
+ zipFileUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
6
  mainFile: import("@activepieces/pieces-framework").ShortTextProperty<true>;
7
7
  compiler: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
8
8
  outputFormat: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.compileZip = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
7
  const auth_1 = require("../auth");
7
8
  const common_1 = require("../common");
8
9
  exports.compileZip = (0, pieces_framework_1.createAction)({
@@ -11,9 +12,9 @@ exports.compileZip = (0, pieces_framework_1.createAction)({
11
12
  description: "Compile a ZIP file containing LaTeX source and images to PDF. The ZIP must contain a main.tex file (or specify the main file path).",
12
13
  auth: auth_1.latexToPdfAuth,
13
14
  props: {
14
- zipFile: pieces_framework_1.Property.File({
15
+ zipFileUrl: pieces_framework_1.Property.ShortText({
15
16
  displayName: "ZIP File",
16
- description: "A ZIP archive containing main.tex and any images/assets. Can be created using 'Files Helper → Zip Files' action.",
17
+ description: "File reference from a previous step (e.g., output from 'Files Helper → Zip Files' action)",
17
18
  required: true,
18
19
  }),
19
20
  mainFile: pieces_framework_1.Property.ShortText({
@@ -49,33 +50,63 @@ exports.compileZip = (0, pieces_framework_1.createAction)({
49
50
  },
50
51
  run(context) {
51
52
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
- var _a, _b, _c, _d, _e, _f, _g, _h;
53
- const { zipFile, mainFile, compiler, outputFormat } = context.propsValue;
53
+ var _a, _b, _c, _d, _e, _f;
54
+ const { zipFileUrl, mainFile, compiler, outputFormat } = context.propsValue;
54
55
  const auth = context.auth;
55
56
  // Validate inputs
56
- if (!zipFile) {
57
- throw new Error("ZIP file is required");
58
- }
59
- // Debug: Check what we received
60
- const zipFileType = typeof zipFile;
61
- const hasData = zipFile && 'data' in zipFile;
62
- const hasBase64Getter = zipFile && typeof zipFile.base64 === 'string';
63
- if (!hasData && !hasBase64Getter) {
64
- throw new Error(`Invalid ZIP file format. Received type: ${zipFileType}, keys: ${zipFile ? Object.keys(zipFile).join(', ') : 'none'}`);
57
+ if (!zipFileUrl || typeof zipFileUrl !== 'string' || zipFileUrl.trim() === '') {
58
+ throw new Error("ZIP file URL is required");
65
59
  }
66
60
  if (!(mainFile === null || mainFile === void 0 ? void 0 : mainFile.trim())) {
67
61
  throw new Error("Main file path is required");
68
62
  }
63
+ // Clean the URL - remove surrounding quotes if present
64
+ let cleanUrl = zipFileUrl.trim();
65
+ if ((cleanUrl.startsWith('"') && cleanUrl.endsWith('"')) ||
66
+ (cleanUrl.startsWith("'") && cleanUrl.endsWith("'"))) {
67
+ cleanUrl = cleanUrl.slice(1, -1);
68
+ }
69
+ // Download the ZIP file
70
+ let fileBuffer;
71
+ let filename = "project.zip";
72
+ try {
73
+ const response = yield pieces_common_1.httpClient.sendRequest({
74
+ method: pieces_common_1.HttpMethod.GET,
75
+ url: cleanUrl,
76
+ });
77
+ // Handle different response types
78
+ if (response.body instanceof Buffer) {
79
+ fileBuffer = response.body;
80
+ }
81
+ else if (response.body instanceof ArrayBuffer) {
82
+ fileBuffer = Buffer.from(response.body);
83
+ }
84
+ else if (typeof response.body === 'string') {
85
+ // If it's base64 encoded
86
+ fileBuffer = Buffer.from(response.body, 'base64');
87
+ }
88
+ else {
89
+ // Try to convert whatever we got
90
+ fileBuffer = Buffer.from(response.body);
91
+ }
92
+ // Extract filename from URL if possible
93
+ const urlParts = cleanUrl.split('/');
94
+ const lastPart = (_a = urlParts[urlParts.length - 1]) === null || _a === void 0 ? void 0 : _a.split('?')[0];
95
+ if (lastPart && lastPart.endsWith('.zip')) {
96
+ filename = lastPart;
97
+ }
98
+ }
99
+ catch (downloadError) {
100
+ const errorMsg = downloadError instanceof Error ? downloadError.message : String(downloadError);
101
+ throw new Error(`Failed to download ZIP file: ${errorMsg}`);
102
+ }
103
+ if (!fileBuffer || fileBuffer.length === 0) {
104
+ throw new Error("Downloaded ZIP file is empty");
105
+ }
69
106
  const serviceUrl = (0, common_1.getServiceUrl)(auth);
70
107
  const headers = (0, common_1.buildHeaders)(auth);
71
- // Get base64 content - ApFile has a getter that converts Buffer to base64
72
- const fileContent = zipFile.base64;
73
- if (!fileContent || fileContent.length === 0) {
74
- throw new Error(`ZIP file content is empty. Filename: ${zipFile.filename}, data length: ${(_b = (_a = zipFile.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0}`);
75
- }
76
- const filename = ((_c = zipFile.filename) === null || _c === void 0 ? void 0 : _c.endsWith(".zip"))
77
- ? zipFile.filename
78
- : "project.zip";
108
+ // Convert to base64
109
+ const fileContent = fileBuffer.toString('base64');
79
110
  // 1. Submit for compilation
80
111
  const submitResponse = yield (0, common_1.submitCompilation)(serviceUrl, {
81
112
  file_content: fileContent,
@@ -94,11 +125,11 @@ exports.compileZip = (0, pieces_framework_1.createAction)({
94
125
  return {
95
126
  success: true,
96
127
  jobId: result.job_id,
97
- pdfUrl: (_d = result.result) === null || _d === void 0 ? void 0 : _d.pdf_url,
98
- pdfBase64: (_e = result.result) === null || _e === void 0 ? void 0 : _e.pdf_base64,
99
- logUrl: (_f = result.result) === null || _f === void 0 ? void 0 : _f.log_url,
100
- durationMs: (_g = result.result) === null || _g === void 0 ? void 0 : _g.duration_ms,
101
- pdfSizeBytes: (_h = result.result) === null || _h === void 0 ? void 0 : _h.pdf_size_bytes,
128
+ pdfUrl: (_b = result.result) === null || _b === void 0 ? void 0 : _b.pdf_url,
129
+ pdfBase64: (_c = result.result) === null || _c === void 0 ? void 0 : _c.pdf_base64,
130
+ logUrl: (_d = result.result) === null || _d === void 0 ? void 0 : _d.log_url,
131
+ durationMs: (_e = result.result) === null || _e === void 0 ? void 0 : _e.duration_ms,
132
+ pdfSizeBytes: (_f = result.result) === null || _f === void 0 ? void 0 : _f.pdf_size_bytes,
102
133
  compiler,
103
134
  mainFile: mainFile.trim(),
104
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"compile-zip.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/latex-to-pdf/src/lib/actions/compile-zip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-zip.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/latex-to-pdf/src/lib/actions/compile-zip.ts"],"names":[],"mappings":"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"}