@skillful-ai/piece-latex-to-pdf 0.0.5 → 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.5",
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<false>;
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,10 +12,10 @@ 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
- required: false, // Changed to false to handle errors ourselves
17
+ description: "File reference from a previous step (e.g., output from 'Files Helper → Zip Files' action)",
18
+ required: true,
18
19
  }),
19
20
  mainFile: pieces_framework_1.Property.ShortText({
20
21
  displayName: "Main File",
@@ -49,42 +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
- // Log what we received for debugging
56
- console.log('[compile-zip] Received zipFile:', {
57
- type: typeof zipFile,
58
- isNull: zipFile === null,
59
- isUndefined: zipFile === undefined,
60
- keys: zipFile ? Object.keys(zipFile) : 'N/A',
61
- hasData: zipFile && 'data' in zipFile,
62
- hasBase64: zipFile && 'base64' in zipFile,
63
- });
64
56
  // Validate inputs
65
- if (!zipFile) {
66
- throw new Error(`ZIP file is required. Received: ${typeof zipFile}, value: ${JSON.stringify(zipFile)}`);
67
- }
68
- // Debug: Check what we received
69
- const zipFileType = typeof zipFile;
70
- const hasData = zipFile && 'data' in zipFile;
71
- const hasBase64Getter = zipFile && typeof zipFile.base64 === 'string';
72
- if (!hasData && !hasBase64Getter) {
73
- 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");
74
59
  }
75
60
  if (!(mainFile === null || mainFile === void 0 ? void 0 : mainFile.trim())) {
76
61
  throw new Error("Main file path is required");
77
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
+ }
78
106
  const serviceUrl = (0, common_1.getServiceUrl)(auth);
79
107
  const headers = (0, common_1.buildHeaders)(auth);
80
- // Get base64 content - ApFile has a getter that converts Buffer to base64
81
- const fileContent = zipFile.base64;
82
- if (!fileContent || fileContent.length === 0) {
83
- 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}`);
84
- }
85
- const filename = ((_c = zipFile.filename) === null || _c === void 0 ? void 0 : _c.endsWith(".zip"))
86
- ? zipFile.filename
87
- : "project.zip";
108
+ // Convert to base64
109
+ const fileContent = fileBuffer.toString('base64');
88
110
  // 1. Submit for compilation
89
111
  const submitResponse = yield (0, common_1.submitCompilation)(serviceUrl, {
90
112
  file_content: fileContent,
@@ -103,11 +125,11 @@ exports.compileZip = (0, pieces_framework_1.createAction)({
103
125
  return {
104
126
  success: true,
105
127
  jobId: result.job_id,
106
- pdfUrl: (_d = result.result) === null || _d === void 0 ? void 0 : _d.pdf_url,
107
- pdfBase64: (_e = result.result) === null || _e === void 0 ? void 0 : _e.pdf_base64,
108
- logUrl: (_f = result.result) === null || _f === void 0 ? void 0 : _f.log_url,
109
- durationMs: (_g = result.result) === null || _g === void 0 ? void 0 : _g.duration_ms,
110
- 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,
111
133
  compiler,
112
134
  mainFile: mainFile.trim(),
113
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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"}