@skillful-ai/piece-latex-to-pdf 0.0.5 → 0.0.7

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.7",
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,79 @@ 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
+ // Debug: log what we received
78
+ const bodyType = typeof response.body;
79
+ const isBuffer = response.body instanceof Buffer;
80
+ const isArrayBuffer = response.body instanceof ArrayBuffer;
81
+ console.log(`[compile-zip] Response body type: ${bodyType}, isBuffer: ${isBuffer}, isArrayBuffer: ${isArrayBuffer}`);
82
+ // Handle different response types
83
+ if (response.body instanceof Buffer) {
84
+ fileBuffer = response.body;
85
+ console.log(`[compile-zip] Body is Buffer, length: ${fileBuffer.length}`);
86
+ }
87
+ else if (response.body instanceof ArrayBuffer) {
88
+ fileBuffer = Buffer.from(response.body);
89
+ console.log(`[compile-zip] Body is ArrayBuffer, length: ${fileBuffer.length}`);
90
+ }
91
+ else if (typeof response.body === 'string') {
92
+ // Log first 100 chars to understand the content
93
+ console.log(`[compile-zip] Body is string, length: ${response.body.length}, first 100 chars: ${response.body.substring(0, 100)}`);
94
+ // If it's base64 encoded
95
+ fileBuffer = Buffer.from(response.body, 'base64');
96
+ console.log(`[compile-zip] Decoded as base64, buffer length: ${fileBuffer.length}`);
97
+ }
98
+ else {
99
+ console.log(`[compile-zip] Body is unknown type, trying to convert`);
100
+ // Try to convert whatever we got
101
+ fileBuffer = Buffer.from(response.body);
102
+ }
103
+ // Log first bytes to verify ZIP magic number (PK = 0x50 0x4B)
104
+ if (fileBuffer.length >= 4) {
105
+ const header = fileBuffer.slice(0, 4);
106
+ console.log(`[compile-zip] First 4 bytes (hex): ${header.toString('hex')}, as string: ${header.toString('utf8')}`);
107
+ }
108
+ // Extract filename from URL if possible
109
+ const urlParts = cleanUrl.split('/');
110
+ const lastPart = (_a = urlParts[urlParts.length - 1]) === null || _a === void 0 ? void 0 : _a.split('?')[0];
111
+ if (lastPart && lastPart.endsWith('.zip')) {
112
+ filename = lastPart;
113
+ }
114
+ }
115
+ catch (downloadError) {
116
+ const errorMsg = downloadError instanceof Error ? downloadError.message : String(downloadError);
117
+ throw new Error(`Failed to download ZIP file: ${errorMsg}`);
118
+ }
119
+ if (!fileBuffer || fileBuffer.length === 0) {
120
+ throw new Error("Downloaded ZIP file is empty");
121
+ }
78
122
  const serviceUrl = (0, common_1.getServiceUrl)(auth);
79
123
  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";
124
+ // Convert to base64
125
+ const fileContent = fileBuffer.toString('base64');
88
126
  // 1. Submit for compilation
89
127
  const submitResponse = yield (0, common_1.submitCompilation)(serviceUrl, {
90
128
  file_content: fileContent,
@@ -103,11 +141,11 @@ exports.compileZip = (0, pieces_framework_1.createAction)({
103
141
  return {
104
142
  success: true,
105
143
  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,
144
+ pdfUrl: (_b = result.result) === null || _b === void 0 ? void 0 : _b.pdf_url,
145
+ pdfBase64: (_c = result.result) === null || _c === void 0 ? void 0 : _c.pdf_base64,
146
+ logUrl: (_d = result.result) === null || _d === void 0 ? void 0 : _d.log_url,
147
+ durationMs: (_e = result.result) === null || _e === void 0 ? void 0 : _e.duration_ms,
148
+ pdfSizeBytes: (_f = result.result) === null || _f === void 0 ? void 0 : _f.pdf_size_bytes,
111
149
  compiler,
112
150
  mainFile: mainFile.trim(),
113
151
  };
@@ -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":";;;;AAAA,qEAAwE;AACxE,kCAAyD;AACzD,sCAOmB;AAEN,QAAA,UAAU,GAAG,IAAA,+BAAY,EAAC;IACrC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,qIAAqI;IAClJ,IAAI,EAAE,qBAAc;IACpB,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,IAAI,CAAC;YACrB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,kHAAkH;YAC/H,QAAQ,EAAE,KAAK,EAAG,8CAA8C;SACjE,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,kEAAkE;YAC/E,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,UAAU;SACzB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,yCAAyC,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,UAAU,EAAE;iBACvD;aACF;SACF,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACpC,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,KAAK,EAAE;oBACxD,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,QAAQ,EAAE;iBAC5D;aACF;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACzE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAkC,CAAC;YAExD,qCAAqC;YACrC,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE;gBAC7C,IAAI,EAAE,OAAO,OAAO;gBACpB,MAAM,EAAE,OAAO,KAAK,IAAI;gBACxB,WAAW,EAAE,OAAO,KAAK,SAAS;gBAClC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC5C,OAAO,EAAE,OAAO,IAAI,MAAM,IAAI,OAAO;gBACrC,SAAS,EAAE,OAAO,IAAI,QAAQ,IAAI,OAAO;aAC1C,CAAC,CAAC;YAEH,kBAAkB;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,OAAO,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;YAED,gCAAgC;YAChC,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC;YACnC,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,IAAI,OAAO,CAAC;YAC7C,MAAM,eAAe,GAAG,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;YAEtE,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,WAAW,WAAW,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACzI,CAAC;YAED,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;YAEnC,0EAA0E;YAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;YAEnC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,CAAC,QAAQ,kBAAkB,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,MAAM,mCAAI,CAAC,EAAE,CAAC,CAAC;YACzH,CAAC;YAED,MAAM,QAAQ,GAAG,CAAA,MAAA,OAAO,CAAC,QAAQ,0CAAE,QAAQ,CAAC,MAAM,CAAC;gBACjD,CAAC,CAAC,OAAO,CAAC,QAAQ;gBAClB,CAAC,CAAC,aAAa,CAAC;YAElB,4BAA4B;YAC5B,MAAM,cAAc,GAAG,MAAM,IAAA,0BAAiB,EAC5C,UAAU,EACV;gBACE,YAAY,EAAE,WAAW;gBACzB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE;gBAC1B,QAAQ,EAAE,QAAwB;gBAClC,aAAa,EAAE,YAA4B;aAC5C,EACD,OAAO,CACR,CAAC;YAEF,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAiB,EACpC,UAAU,EACV,cAAc,CAAC,MAAM,EACrB,OAAO,CACR,CAAC;YAEF,oBAAoB;YACpB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,IAAI,oBAAoB,CAAC,CAAC;YAClF,CAAC;YAED,UAAU;YACV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,OAAO;gBAC9B,SAAS,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,UAAU;gBACpC,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,OAAO;gBAC9B,UAAU,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW;gBACtC,YAAY,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,cAAc;gBAC3C,QAAQ;gBACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;aAC1B,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
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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"}