@uploadista/flow-documents-nodes 0.0.18-beta.4 → 0.0.18-beta.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/.turbo/turbo-build.log +14 -14
- package/dist/{index-CN8GG19X.d.cts → index-DN0piYEv.d.cts} +3 -3
- package/dist/{index-CN8GG19X.d.cts.map → index-DN0piYEv.d.cts.map} +1 -1
- package/dist/{index-DXwYQF9t.d.mts → index-aD9vy0kH.d.mts} +3 -3
- package/dist/{index-DXwYQF9t.d.mts.map → index-aD9vy0kH.d.mts.map} +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +47 -47
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +47 -47
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/types/index.d.cts +1 -1
- package/dist/types/index.d.mts +1 -1
- package/package.json +3 -3
- package/src/convert-to-markdown-node.ts +8 -0
- package/src/describe-document-node.ts +1 -0
- package/src/extract-text-node.ts +1 -0
- package/src/merge-pdf-node.ts +1 -0
- package/src/ocr-node.ts +8 -0
- package/src/split-pdf-node.ts +1 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @uploadista/flow-documents-nodes@0.0.18-beta.
|
|
3
|
+
> @uploadista/flow-documents-nodes@0.0.18-beta.5 build /Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/flow/documents/nodes
|
|
4
4
|
> tsdown
|
|
5
5
|
|
|
6
6
|
[34mℹ[39m tsdown [2mv0.16.7[22m powered by rolldown [2mv1.0.0-beta.51[22m
|
|
@@ -9,25 +9,25 @@
|
|
|
9
9
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
10
10
|
[34mℹ[39m Build start
|
|
11
11
|
[34mℹ[39m Cleaning 19 files
|
|
12
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mindex.cjs[22m [2m11.
|
|
12
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mindex.cjs[22m [2m11.65 kB[22m [2m│ gzip: 2.80 kB[22m
|
|
13
13
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mtypes/index.cjs[22m [2m 0.25 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
14
14
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtypes-Cz0s5Dxw.cjs [2m 1.09 kB[22m [2m│ gzip: 0.36 kB[22m
|
|
15
|
-
[34mℹ[39m [33m[CJS][39m 3 files, total: 12.
|
|
16
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.mjs[22m [
|
|
15
|
+
[34mℹ[39m [33m[CJS][39m 3 files, total: 12.99 kB
|
|
16
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.mjs[22m [2m10.28 kB[22m [2m│ gzip: 2.87 kB[22m
|
|
17
17
|
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mtypes/index.mjs[22m [2m 0.25 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
18
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.mjs.map [
|
|
18
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.mjs.map [2m38.24 kB[22m [2m│ gzip: 6.63 kB[22m
|
|
19
19
|
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.d.mts.map [2m 6.99 kB[22m [2m│ gzip: 1.25 kB[22m
|
|
20
20
|
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtypes-wF9yqL-x.mjs.map [2m 2.57 kB[22m [2m│ gzip: 0.77 kB[22m
|
|
21
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex-
|
|
21
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex-aD9vy0kH.d.mts.map [2m 1.02 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
22
22
|
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtypes-wF9yqL-x.mjs [2m 0.70 kB[22m [2m│ gzip: 0.35 kB[22m
|
|
23
23
|
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m32.56 kB[22m [2m│ gzip: 1.89 kB[22m
|
|
24
24
|
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mtypes/index.d.mts[22m[39m [2m 0.63 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
25
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mindex-
|
|
26
|
-
[34mℹ[39m [34m[ESM][39m 10 files, total:
|
|
25
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mindex-aD9vy0kH.d.mts[39m [2m 2.33 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
26
|
+
[34mℹ[39m [34m[ESM][39m 10 files, total: 95.58 kB
|
|
27
27
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex.d.cts.map [2m 6.99 kB[22m [2m│ gzip: 1.25 kB[22m
|
|
28
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex-
|
|
29
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mindex.d.cts[22m[39m [2m32.
|
|
30
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mtypes/index.d.cts[22m[39m [2m 0.63 kB[22m [2m│ gzip: 0.
|
|
31
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mindex-
|
|
32
|
-
[34mℹ[39m [33m[CJS][39m 5 files, total: 43.
|
|
33
|
-
[32m✔[39m Build complete in [
|
|
28
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex-DN0piYEv.d.cts.map [2m 1.02 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
29
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mindex.d.cts[22m[39m [2m32.56 kB[22m [2m│ gzip: 1.89 kB[22m
|
|
30
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mtypes/index.d.cts[22m[39m [2m 0.63 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
31
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mindex-DN0piYEv.d.cts[39m [2m 2.33 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
32
|
+
[34mℹ[39m [33m[CJS][39m 5 files, total: 43.54 kB
|
|
33
|
+
[32m✔[39m Build complete in [32m5581ms[39m
|
|
@@ -4,8 +4,8 @@ import { z } from "zod";
|
|
|
4
4
|
declare const convertToMarkdownParamsSchema: z.ZodObject<{
|
|
5
5
|
credentialId: z.ZodOptional<z.ZodString>;
|
|
6
6
|
resolution: z.ZodOptional<z.ZodEnum<{
|
|
7
|
-
small: "small";
|
|
8
7
|
tiny: "tiny";
|
|
8
|
+
small: "small";
|
|
9
9
|
base: "base";
|
|
10
10
|
gundam: "gundam";
|
|
11
11
|
large: "large";
|
|
@@ -36,8 +36,8 @@ declare const ocrParamsSchema: z.ZodObject<{
|
|
|
36
36
|
locateObject: "locateObject";
|
|
37
37
|
}>;
|
|
38
38
|
resolution: z.ZodOptional<z.ZodEnum<{
|
|
39
|
-
small: "small";
|
|
40
39
|
tiny: "tiny";
|
|
40
|
+
small: "small";
|
|
41
41
|
base: "base";
|
|
42
42
|
gundam: "gundam";
|
|
43
43
|
large: "large";
|
|
@@ -59,4 +59,4 @@ declare const splitPdfParamsSchema: z.ZodObject<{
|
|
|
59
59
|
type SplitPdfParams = z.infer<typeof splitPdfParamsSchema>;
|
|
60
60
|
//#endregion
|
|
61
61
|
export { MergePdfParams as a, extractTextParamsSchema as c, ConvertToMarkdownParams as d, convertToMarkdownParamsSchema as f, ocrParamsSchema as i, DescribeDocumentParams as l, splitPdfParamsSchema as n, mergePdfParamsSchema as o, OcrParams as r, ExtractTextParams as s, SplitPdfParams as t, describeDocumentParamsSchema as u };
|
|
62
|
-
//# sourceMappingURL=index-
|
|
62
|
+
//# sourceMappingURL=index-DN0piYEv.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-DN0piYEv.d.cts","names":[],"sources":["../src/types/convert-to-markdown-node.ts","../src/types/describe-document-node.ts","../src/types/extract-text-node.ts","../src/types/merge-pdf-node.ts","../src/types/ocr-node.ts","../src/types/split-pdf-node.ts"],"sourcesContent":[],"mappings":";;;cAEa,+BAA6B,CAAA,CAAA;;EAA7B,UAAA,eAAA,UAKX,CAAA;;;;;;EALwC,CAAA,CAAA,CAAA;CAAA,eAAA,CAAA;AAO9B,KAAA,uBAAA,GAA0B,CAAA,CAAE,KAC/B,CAAA,OAAA,6BADoC,CAAA;;;cCPhC,8BAA4B,CAAA,CAAA,cAAA,CAAA,CAAA,IAAA,CAAA;KAE7B,sBAAA,GAAyB,CAAA,CAAE,aAC9B;;;cCHI,yBAAuB,CAAA,CAAA,cAAA,CAAA,CAAA,IAAA,CAAA;KAExB,iBAAA,GAAoB,CAAA,CAAE,aAAa;;;cCFlC,sBAAoB,CAAA,CAAA;;AHAjC,CAAA,eAAa,CAAA;KGID,cAAA,GAAiB,CAAA,CAAE,aAAa;;;cCJ/B,iBAAe,CAAA,CAAA;;IJAf,iBAAA,EAAA,mBAKX;;;;;;IALwC,IAAA,EAAA,MAAA;IAAA,KAAA,EAAA,OAAA;IAO9B,IAAA,EAAA,MAAA;;;;ECPC,YAAA,eAAA,YAA2C,CAAA;EAE5C,aAAA,eAAsB,YACzB,CAAA;;KGWG,SAAA,GAAY,CAAA,CAAE,aAAa;;;cCd1B,sBAAoB,CAAA,CAAA;;ILApB,KAAA,EAAA,OAAA;;;;;;AAA6B,KKM9B,cAAA,GAAiB,CAAA,CAAE,KLNW,CAAA,OKME,oBLNF,CAAA"}
|
|
@@ -4,8 +4,8 @@ import { z } from "zod";
|
|
|
4
4
|
declare const convertToMarkdownParamsSchema: z.ZodObject<{
|
|
5
5
|
credentialId: z.ZodOptional<z.ZodString>;
|
|
6
6
|
resolution: z.ZodOptional<z.ZodEnum<{
|
|
7
|
-
small: "small";
|
|
8
7
|
tiny: "tiny";
|
|
8
|
+
small: "small";
|
|
9
9
|
base: "base";
|
|
10
10
|
gundam: "gundam";
|
|
11
11
|
large: "large";
|
|
@@ -36,8 +36,8 @@ declare const ocrParamsSchema: z.ZodObject<{
|
|
|
36
36
|
locateObject: "locateObject";
|
|
37
37
|
}>;
|
|
38
38
|
resolution: z.ZodOptional<z.ZodEnum<{
|
|
39
|
-
small: "small";
|
|
40
39
|
tiny: "tiny";
|
|
40
|
+
small: "small";
|
|
41
41
|
base: "base";
|
|
42
42
|
gundam: "gundam";
|
|
43
43
|
large: "large";
|
|
@@ -59,4 +59,4 @@ declare const splitPdfParamsSchema: z.ZodObject<{
|
|
|
59
59
|
type SplitPdfParams = z.infer<typeof splitPdfParamsSchema>;
|
|
60
60
|
//#endregion
|
|
61
61
|
export { MergePdfParams as a, extractTextParamsSchema as c, ConvertToMarkdownParams as d, convertToMarkdownParamsSchema as f, ocrParamsSchema as i, DescribeDocumentParams as l, splitPdfParamsSchema as n, mergePdfParamsSchema as o, OcrParams as r, ExtractTextParams as s, SplitPdfParams as t, describeDocumentParamsSchema as u };
|
|
62
|
-
//# sourceMappingURL=index-
|
|
62
|
+
//# sourceMappingURL=index-aD9vy0kH.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-aD9vy0kH.d.mts","names":[],"sources":["../src/types/convert-to-markdown-node.ts","../src/types/describe-document-node.ts","../src/types/extract-text-node.ts","../src/types/merge-pdf-node.ts","../src/types/ocr-node.ts","../src/types/split-pdf-node.ts"],"sourcesContent":[],"mappings":";;;cAEa,+BAA6B,CAAA,CAAA;;EAA7B,UAAA,eAAA,UAKX,CAAA;;;;;;EALwC,CAAA,CAAA,CAAA;CAAA,eAAA,CAAA;AAO9B,KAAA,uBAAA,GAA0B,CAAA,CAAE,KAC/B,CAAA,OAAA,6BADoC,CAAA;;;cCPhC,8BAA4B,CAAA,CAAA,cAAA,CAAA,CAAA,IAAA,CAAA;KAE7B,sBAAA,GAAyB,CAAA,CAAE,aAC9B;;;cCHI,yBAAuB,CAAA,CAAA,cAAA,CAAA,CAAA,IAAA,CAAA;KAExB,iBAAA,GAAoB,CAAA,CAAE,aAAa;;;cCFlC,sBAAoB,CAAA,CAAA;;AHAjC,CAAA,eAAa,CAAA;KGID,cAAA,GAAiB,CAAA,CAAE,aAAa;;;cCJ/B,iBAAe,CAAA,CAAA;;IJAf,iBAAA,EAAA,mBAKX;;;;;;IALwC,IAAA,EAAA,MAAA;IAAA,KAAA,EAAA,OAAA;IAO9B,IAAA,EAAA,MAAA;;;;ECPC,YAAA,eAAA,YAA2C,CAAA;EAE5C,aAAA,eAAsB,YACzB,CAAA;;KGWG,SAAA,GAAY,CAAA,CAAE,aAAa;;;cCd1B,sBAAoB,CAAA,CAAA;;ILApB,KAAA,EAAA,OAAA;;;;;;AAA6B,KKM9B,cAAA,GAAiB,CAAA,CAAE,KLNW,CAAA,OKME,oBLNF,CAAA"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const e=require(`./types-Cz0s5Dxw.cjs`);let t=require(`@uploadista/core/errors`),n=require(`@uploadista/core/flow`),r=require(`@uploadista/core/types`),i=require(`@uploadista/core/upload`),a=require(`effect`),o=require(`zod`);function s(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*n.DocumentAiPlugin,l=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Convert to Markdown`,description:`Convert documents to Markdown format (intelligently uses OCR if needed)`,type:n.NodeType.process,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:u,clientId:d})=>a.Effect.gen(function*(){let f={flowId:i,nodeId:e,jobId:u};yield*a.Effect.logInfo(`Converting file ${r.id} to Markdown`);let p=yield*l.read(r.id,d),m=yield*s.extractText(p).pipe(a.Effect.either),h,g;if(a.Either.isRight(m)&&m.right.trim().length>0){let e=m.right;yield*a.Effect.logInfo(`Successfully extracted ${e.length} characters from searchable PDF`),h=e.split(`
|
|
1
|
+
const e=require(`./types-Cz0s5Dxw.cjs`);let t=require(`@uploadista/core/errors`),n=require(`@uploadista/core/flow`),r=require(`@uploadista/core/types`),i=require(`@uploadista/core/upload`),a=require(`effect`),o=require(`zod`);function s(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*n.DocumentAiPlugin,l=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Convert to Markdown`,description:`Convert documents to Markdown format (intelligently uses OCR if needed)`,type:n.NodeType.process,nodeTypeId:`convert-to-markdown`,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,circuitBreaker:{enabled:!0,failureThreshold:5,resetTimeout:6e4,fallback:{type:`skip`,passThrough:!0}},run:({data:r,flowId:i,jobId:u,clientId:d})=>a.Effect.gen(function*(){let f={flowId:i,nodeId:e,jobId:u};yield*a.Effect.logInfo(`Converting file ${r.id} to Markdown`);let p=yield*l.read(r.id,d),m=yield*s.extractText(p).pipe(a.Effect.either),h,g;if(a.Either.isRight(m)&&m.right.trim().length>0){let e=m.right;yield*a.Effect.logInfo(`Successfully extracted ${e.length} characters from searchable PDF`),h=e.split(`
|
|
2
2
|
|
|
3
3
|
`).map(e=>e.trim()).filter(e=>e.length>0).join(`
|
|
4
4
|
|
|
5
|
-
`),g=`text`,yield*a.Effect.logInfo(`Converted text to Markdown (${h.length} characters)`)}else{yield*a.Effect.logInfo(`Text extraction failed or returned empty, falling back to OCR`);let e=r.url;if(!e)return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`URL is required for OCR-based markdown conversion`}).toEffect();let n={clientId:d,credentialId:o.credentialId};h=(yield*c.performOCR(e,{taskType:`convertToMarkdown`,resolution:o.resolution||`gundam`},n).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to perform OCR`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to perform OCR for markdown conversion`}).toEffect()})))).extractedText,g=`ocr`,yield*a.Effect.logInfo(`Successfully converted scanned document to Markdown using OCR (${h.length} characters)`)}let{metadata:_}=(0,n.resolveUploadMetadata)(r.metadata),v={...r.metadata,..._,markdown:h,markdownSource:g};return yield*a.Effect.logInfo(`Successfully converted file ${r.id} to Markdown via ${g}`),(0,n.completeNodeExecution)({...r,metadata:v,flow:f})})})})}function c(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Describe Document`,description:`Extract metadata from PDF documents`,type:n.NodeType.process,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:o,clientId:l})=>a.Effect.gen(function*(){let u={flowId:i,nodeId:e,jobId:o};yield*a.Effect.logInfo(`Extracting metadata from PDF file ${r.id}`);let d=yield*c.read(r.id,l),f=yield*s.getMetadata(d).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to extract metadata`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to extract metadata`}).toEffect()}))),{metadata:p}=(0,n.resolveUploadMetadata)(r.metadata),m={...r.metadata,...p,pageCount:f.pageCount,format:f.format,...f.author&&{author:f.author},...f.title&&{title:f.title},...f.subject&&{subject:f.subject},...f.creator&&{creator:f.creator},...f.creationDate&&{creationDate:f.creationDate},...f.modifiedDate&&{modifiedDate:f.modifiedDate},fileSize:f.fileSize};return yield*a.Effect.logInfo(`Successfully extracted metadata from file ${r.id}: ${f.pageCount} pages`),(0,n.completeNodeExecution)({...r,metadata:m,flow:u})})})})}function l(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Extract Text`,description:`Extract text from searchable PDF documents`,type:n.NodeType.process,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:o,clientId:l})=>a.Effect.gen(function*(){let u={flowId:i,nodeId:e,jobId:o};yield*a.Effect.logInfo(`Extracting text from PDF file ${r.id}`);let d=yield*c.read(r.id,l),f=yield*s.extractText(d).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to extract text`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to extract text`}).toEffect()}))),{metadata:p}=(0,n.resolveUploadMetadata)(r.metadata),m={...r.metadata,...p,extractedText:f};return!f||f.trim().length===0?yield*a.Effect.logWarning(`No text extracted from file ${r.id}. This might be a scanned document. Consider using the OCR node instead.`):yield*a.Effect.logInfo(`Successfully extracted ${f.length} characters from file ${r.id}`),(0,n.completeNodeExecution)({...r,metadata:m,flow:u})})})})}const u=o.z.array(r.uploadFileSchema);function d(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Merge PDFs`,description:`Merge multiple PDF documents into one`,type:n.NodeType.process,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:u,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:l,clientId:u})=>a.Effect.gen(function*(){let d={flowId:i,nodeId:e,jobId:l};if(!Array.isArray(r))return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`Merge PDF node requires an array of files from a Merge utility node`}).toEffect();if(r.length===0)return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`At least one PDF file is required for merging`}).toEffect();let f=[],p=0;for(let e of r){let t=yield*c.read(e.id,u);f.push(t);let r=(0,n.resolveUploadMetadata)(e.metadata).metadata;r?.pageCount&&typeof r.pageCount==`number`&&(p+=r.pageCount)}yield*a.Effect.logInfo(`Merging ${r.length} PDF files`);let m=yield*s.mergePdfs({pdfs:f}).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to merge PDFs`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to merge PDFs`}).toEffect()}))),h=r[0],{metadata:g}=(0,n.resolveUploadMetadata)(h.metadata),_=new ReadableStream({start(e){e.enqueue(m),e.close()}}),v=`merged-${r.length}-documents.pdf`;if(o.naming){let t={...o.naming,autoSuffix:o.naming.autoSuffix??(()=>`merged`)};v=`${(0,n.getBaseName)((0,n.applyFileNaming)(h,(0,n.buildNamingContext)(h,{flowId:i,jobId:l,nodeId:e,nodeType:`merge-pdf`},{mergedCount:r.length}),t))}.pdf`}let y=yield*c.upload({storageId:h.storage.id,size:m.byteLength,type:`application/pdf`,fileName:v,lastModified:0,metadata:JSON.stringify({...g,pageCount:p,mergedFrom:r.length}),flow:d},u,_),b={...g,pageCount:p,mergedFrom:r.length,fileName:v};return yield*a.Effect.logInfo(`Successfully merged ${r.length} PDFs into one document with ${p} pages`),(0,n.completeNodeExecution)({...y,metadata:b})})})})}function f(e,i){return a.Effect.gen(function*(){let o=yield*n.DocumentAiPlugin;return yield*(0,n.createFlowNode)({id:e,name:`OCR`,description:`Extract text from scanned documents using AI`,type:n.NodeType.process,outputTypeId:n.OCR_OUTPUT_TYPE_ID,keepOutput:i.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:n.ocrOutputSchema,run:({data:r,flowId:s,jobId:c,clientId:l})=>a.Effect.gen(function*(){let u={flowId:s,nodeId:e,jobId:c},d=r.url;if(!d)return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`URL is required for OCR operation`}).toEffect();yield*a.Effect.logInfo(`Starting OCR for file ${r.id} with task type: ${i.taskType}`);let f={clientId:l,credentialId:i.credentialId},p=yield*o.performOCR(d,{taskType:i.taskType,resolution:i.resolution,referenceText:i.referenceText},f).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to perform OCR`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to perform OCR`}).toEffect()})));return yield*a.Effect.logInfo(`Successfully completed OCR for file ${r.id}, extracted ${p.extractedText.length} characters`),(0,n.completeNodeExecution)({extractedText:p.extractedText,format:p.format,taskType:i.taskType,confidence:p.confidence,flow:u})})})})}function p(e,o){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Split PDF`,description:`Split PDF into pages or page ranges`,type:n.NodeType.process,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:l,clientId:u})=>a.Effect.gen(function*(){let d={flowId:i,nodeId:e,jobId:l};yield*a.Effect.logInfo(`Splitting PDF file ${r.id} in ${o.mode} mode`);let f=yield*c.read(r.id,u),p=yield*s.splitPdf(f,o).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to split PDF`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to split PDF`}).toEffect()}))),{metadata:m}=(0,n.resolveUploadMetadata)(r.metadata);if(p.mode===`individual`){yield*a.Effect.logInfo(`Successfully split PDF into ${p.pdfs.length} individual pages`),yield*a.Effect.logWarning(`Individual page mode returns multiple files - flow engine support required`);let t=p.pdfs[0],s=new ReadableStream({start(e){e.enqueue(t),e.close()}}),f=`${(0,n.getBaseName)(m?.fileName||`document`)}-page-1.pdf`;if(o.naming){let t={...o.naming,autoSuffix:o.naming.autoSuffix??(e=>`page-${e.pageNumber??1}`)};f=`${(0,n.getBaseName)((0,n.applyFileNaming)(r,(0,n.buildNamingContext)(r,{flowId:i,jobId:l,nodeId:e,nodeType:`split-pdf`},{pageNumber:1}),t))}.pdf`}let h=yield*c.upload({storageId:r.storage.id,size:t.byteLength,type:`application/pdf`,fileName:f,lastModified:0,metadata:JSON.stringify({...m,pageCount:1,splitMode:`individual`}),flow:d},u,s),g={...m,pageCount:1,splitMode:`individual`};return(0,n.completeNodeExecution)({...h,metadata:g})}let h=o.endPage&&o.startPage?o.endPage-o.startPage+1:1,g=p.pdf,_=new ReadableStream({start(e){e.enqueue(g),e.close()}}),v=`${(0,n.getBaseName)(m?.fileName||`document`)}-pages-${o.startPage}-${o.endPage}.pdf`;if(o.naming){let t={...o.naming,autoSuffix:o.naming.autoSuffix??(e=>`pages-${o.startPage}-${o.endPage}`)};v=`${(0,n.getBaseName)((0,n.applyFileNaming)(r,(0,n.buildNamingContext)(r,{flowId:i,jobId:l,nodeId:e,nodeType:`split-pdf`},{startPage:o.startPage,endPage:o.endPage}),t))}.pdf`}let y=yield*c.upload({storageId:r.storage.id,size:g.byteLength,type:`application/pdf`,fileName:v,lastModified:0,metadata:JSON.stringify({...m,pageCount:h,splitMode:`range`,splitRange:`${o.startPage}-${o.endPage}`}),flow:d},u,_),b={...m,pageCount:h,splitMode:`range`,splitRange:`${o.startPage}-${o.endPage}`};return yield*a.Effect.logInfo(`Successfully split PDF to pages ${o.startPage}-${o.endPage}`),(0,n.completeNodeExecution)({...y,metadata:b})})})})}exports.convertToMarkdownParamsSchema=e.o,exports.createConvertToMarkdownNode=s,exports.createDescribeDocumentNode=c,exports.createExtractTextNode=l,exports.createMergePdfNode=d,exports.createOcrNode=f,exports.createSplitPdfNode=p,exports.describeDocumentParamsSchema=e.a,exports.extractTextParamsSchema=e.i,exports.mergePdfParamsSchema=e.r,exports.ocrParamsSchema=e.n,exports.splitPdfParamsSchema=e.t;
|
|
5
|
+
`),g=`text`,yield*a.Effect.logInfo(`Converted text to Markdown (${h.length} characters)`)}else{yield*a.Effect.logInfo(`Text extraction failed or returned empty, falling back to OCR`);let e=r.url;if(!e)return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`URL is required for OCR-based markdown conversion`}).toEffect();let n={clientId:d,credentialId:o.credentialId};h=(yield*c.performOCR(e,{taskType:`convertToMarkdown`,resolution:o.resolution||`gundam`},n).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to perform OCR`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to perform OCR for markdown conversion`}).toEffect()})))).extractedText,g=`ocr`,yield*a.Effect.logInfo(`Successfully converted scanned document to Markdown using OCR (${h.length} characters)`)}let{metadata:_}=(0,n.resolveUploadMetadata)(r.metadata),v={...r.metadata,..._,markdown:h,markdownSource:g};return yield*a.Effect.logInfo(`Successfully converted file ${r.id} to Markdown via ${g}`),(0,n.completeNodeExecution)({...r,metadata:v,flow:f})})})})}function c(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Describe Document`,description:`Extract metadata from PDF documents`,type:n.NodeType.process,nodeTypeId:`describe-document`,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:o,clientId:l})=>a.Effect.gen(function*(){let u={flowId:i,nodeId:e,jobId:o};yield*a.Effect.logInfo(`Extracting metadata from PDF file ${r.id}`);let d=yield*c.read(r.id,l),f=yield*s.getMetadata(d).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to extract metadata`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to extract metadata`}).toEffect()}))),{metadata:p}=(0,n.resolveUploadMetadata)(r.metadata),m={...r.metadata,...p,pageCount:f.pageCount,format:f.format,...f.author&&{author:f.author},...f.title&&{title:f.title},...f.subject&&{subject:f.subject},...f.creator&&{creator:f.creator},...f.creationDate&&{creationDate:f.creationDate},...f.modifiedDate&&{modifiedDate:f.modifiedDate},fileSize:f.fileSize};return yield*a.Effect.logInfo(`Successfully extracted metadata from file ${r.id}: ${f.pageCount} pages`),(0,n.completeNodeExecution)({...r,metadata:m,flow:u})})})})}function l(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Extract Text`,description:`Extract text from searchable PDF documents`,type:n.NodeType.process,nodeTypeId:`extract-text`,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:o,clientId:l})=>a.Effect.gen(function*(){let u={flowId:i,nodeId:e,jobId:o};yield*a.Effect.logInfo(`Extracting text from PDF file ${r.id}`);let d=yield*c.read(r.id,l),f=yield*s.extractText(d).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to extract text`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to extract text`}).toEffect()}))),{metadata:p}=(0,n.resolveUploadMetadata)(r.metadata),m={...r.metadata,...p,extractedText:f};return!f||f.trim().length===0?yield*a.Effect.logWarning(`No text extracted from file ${r.id}. This might be a scanned document. Consider using the OCR node instead.`):yield*a.Effect.logInfo(`Successfully extracted ${f.length} characters from file ${r.id}`),(0,n.completeNodeExecution)({...r,metadata:m,flow:u})})})})}const u=o.z.array(r.uploadFileSchema);function d(e,o={}){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Merge PDFs`,description:`Merge multiple PDF documents into one`,type:n.NodeType.process,nodeTypeId:`merge-pdf`,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:u,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:l,clientId:u})=>a.Effect.gen(function*(){let d={flowId:i,nodeId:e,jobId:l};if(!Array.isArray(r))return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`Merge PDF node requires an array of files from a Merge utility node`}).toEffect();if(r.length===0)return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`At least one PDF file is required for merging`}).toEffect();let f=[],p=0;for(let e of r){let t=yield*c.read(e.id,u);f.push(t);let r=(0,n.resolveUploadMetadata)(e.metadata).metadata;r?.pageCount&&typeof r.pageCount==`number`&&(p+=r.pageCount)}yield*a.Effect.logInfo(`Merging ${r.length} PDF files`);let m=yield*s.mergePdfs({pdfs:f}).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to merge PDFs`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to merge PDFs`}).toEffect()}))),h=r[0],{metadata:g}=(0,n.resolveUploadMetadata)(h.metadata),_=new ReadableStream({start(e){e.enqueue(m),e.close()}}),v=`merged-${r.length}-documents.pdf`;if(o.naming){let t={...o.naming,autoSuffix:o.naming.autoSuffix??(()=>`merged`)};v=`${(0,n.getBaseName)((0,n.applyFileNaming)(h,(0,n.buildNamingContext)(h,{flowId:i,jobId:l,nodeId:e,nodeType:`merge-pdf`},{mergedCount:r.length}),t))}.pdf`}let y=yield*c.upload({storageId:h.storage.id,size:m.byteLength,type:`application/pdf`,fileName:v,lastModified:0,metadata:JSON.stringify({...g,pageCount:p,mergedFrom:r.length}),flow:d},u,_),b={...g,pageCount:p,mergedFrom:r.length,fileName:v};return yield*a.Effect.logInfo(`Successfully merged ${r.length} PDFs into one document with ${p} pages`),(0,n.completeNodeExecution)({...y,metadata:b})})})})}function f(e,i){return a.Effect.gen(function*(){let o=yield*n.DocumentAiPlugin;return yield*(0,n.createFlowNode)({id:e,name:`OCR`,description:`Extract text from scanned documents using AI`,type:n.NodeType.process,nodeTypeId:`ocr`,outputTypeId:n.OCR_OUTPUT_TYPE_ID,keepOutput:i.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:n.ocrOutputSchema,circuitBreaker:{enabled:!0,failureThreshold:5,resetTimeout:6e4,fallback:{type:`skip`,passThrough:!0}},run:({data:r,flowId:s,jobId:c,clientId:l})=>a.Effect.gen(function*(){let u={flowId:s,nodeId:e,jobId:c},d=r.url;if(!d)return yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:`URL is required for OCR operation`}).toEffect();yield*a.Effect.logInfo(`Starting OCR for file ${r.id} with task type: ${i.taskType}`);let f={clientId:l,credentialId:i.credentialId},p=yield*o.performOCR(d,{taskType:i.taskType,resolution:i.resolution,referenceText:i.referenceText},f).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to perform OCR`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to perform OCR`}).toEffect()})));return yield*a.Effect.logInfo(`Successfully completed OCR for file ${r.id}, extracted ${p.extractedText.length} characters`),(0,n.completeNodeExecution)({extractedText:p.extractedText,format:p.format,taskType:i.taskType,confidence:p.confidence,flow:u})})})})}function p(e,o){return a.Effect.gen(function*(){let s=yield*n.DocumentPlugin,c=yield*i.UploadServer;return yield*(0,n.createFlowNode)({id:e,name:`Split PDF`,description:`Split PDF into pages or page ranges`,type:n.NodeType.process,nodeTypeId:`split-pdf`,outputTypeId:n.STORAGE_OUTPUT_TYPE_ID,keepOutput:o.keepOutput,inputSchema:r.uploadFileSchema,outputSchema:r.uploadFileSchema,run:({data:r,flowId:i,jobId:l,clientId:u})=>a.Effect.gen(function*(){let d={flowId:i,nodeId:e,jobId:l};yield*a.Effect.logInfo(`Splitting PDF file ${r.id} in ${o.mode} mode`);let f=yield*c.read(r.id,u),p=yield*s.splitPdf(f,o).pipe(a.Effect.catchAll(e=>a.Effect.gen(function*(){return yield*a.Effect.logError(`Failed to split PDF`,e),yield*t.UploadistaError.fromCode(`FLOW_NODE_ERROR`,{cause:e instanceof Error?e.message:`Failed to split PDF`}).toEffect()}))),{metadata:m}=(0,n.resolveUploadMetadata)(r.metadata);if(p.mode===`individual`){yield*a.Effect.logInfo(`Successfully split PDF into ${p.pdfs.length} individual pages`),yield*a.Effect.logWarning(`Individual page mode returns multiple files - flow engine support required`);let t=p.pdfs[0],s=new ReadableStream({start(e){e.enqueue(t),e.close()}}),f=`${(0,n.getBaseName)(m?.fileName||`document`)}-page-1.pdf`;if(o.naming){let t={...o.naming,autoSuffix:o.naming.autoSuffix??(e=>`page-${e.pageNumber??1}`)};f=`${(0,n.getBaseName)((0,n.applyFileNaming)(r,(0,n.buildNamingContext)(r,{flowId:i,jobId:l,nodeId:e,nodeType:`split-pdf`},{pageNumber:1}),t))}.pdf`}let h=yield*c.upload({storageId:r.storage.id,size:t.byteLength,type:`application/pdf`,fileName:f,lastModified:0,metadata:JSON.stringify({...m,pageCount:1,splitMode:`individual`}),flow:d},u,s),g={...m,pageCount:1,splitMode:`individual`};return(0,n.completeNodeExecution)({...h,metadata:g})}let h=o.endPage&&o.startPage?o.endPage-o.startPage+1:1,g=p.pdf,_=new ReadableStream({start(e){e.enqueue(g),e.close()}}),v=`${(0,n.getBaseName)(m?.fileName||`document`)}-pages-${o.startPage}-${o.endPage}.pdf`;if(o.naming){let t={...o.naming,autoSuffix:o.naming.autoSuffix??(e=>`pages-${o.startPage}-${o.endPage}`)};v=`${(0,n.getBaseName)((0,n.applyFileNaming)(r,(0,n.buildNamingContext)(r,{flowId:i,jobId:l,nodeId:e,nodeType:`split-pdf`},{startPage:o.startPage,endPage:o.endPage}),t))}.pdf`}let y=yield*c.upload({storageId:r.storage.id,size:g.byteLength,type:`application/pdf`,fileName:v,lastModified:0,metadata:JSON.stringify({...m,pageCount:h,splitMode:`range`,splitRange:`${o.startPage}-${o.endPage}`}),flow:d},u,_),b={...m,pageCount:h,splitMode:`range`,splitRange:`${o.startPage}-${o.endPage}`};return yield*a.Effect.logInfo(`Successfully split PDF to pages ${o.startPage}-${o.endPage}`),(0,n.completeNodeExecution)({...y,metadata:b})})})})}exports.convertToMarkdownParamsSchema=e.o,exports.createConvertToMarkdownNode=s,exports.createDescribeDocumentNode=c,exports.createExtractTextNode=l,exports.createMergePdfNode=d,exports.createOcrNode=f,exports.createSplitPdfNode=p,exports.describeDocumentParamsSchema=e.a,exports.extractTextParamsSchema=e.i,exports.mergePdfParamsSchema=e.r,exports.ocrParamsSchema=e.n,exports.splitPdfParamsSchema=e.t;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as MergePdfParams, c as extractTextParamsSchema, d as ConvertToMarkdownParams, f as convertToMarkdownParamsSchema, i as ocrParamsSchema, l as DescribeDocumentParams, n as splitPdfParamsSchema, o as mergePdfParamsSchema, r as OcrParams, s as ExtractTextParams, t as SplitPdfParams, u as describeDocumentParamsSchema } from "./index-
|
|
2
|
-
import * as
|
|
1
|
+
import { a as MergePdfParams, c as extractTextParamsSchema, d as ConvertToMarkdownParams, f as convertToMarkdownParamsSchema, i as ocrParamsSchema, l as DescribeDocumentParams, n as splitPdfParamsSchema, o as mergePdfParamsSchema, r as OcrParams, s as ExtractTextParams, t as SplitPdfParams, u as describeDocumentParamsSchema } from "./index-DN0piYEv.cjs";
|
|
2
|
+
import * as _uploadista_core_flow2 from "@uploadista/core/flow";
|
|
3
3
|
import { DocumentAiPlugin, DocumentPlugin, FileNamingConfig, NodeType, OcrResolution, OcrTaskType } from "@uploadista/core/flow";
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
4
|
+
import * as zod_v4_core1 from "zod/v4/core";
|
|
5
|
+
import * as zod1 from "zod";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { UploadistaError } from "@uploadista/core/errors";
|
|
8
8
|
import { UploadServer } from "@uploadista/core/upload";
|
|
@@ -14,8 +14,8 @@ type ConvertToMarkdownNodeParams = {
|
|
|
14
14
|
resolution?: "tiny" | "small" | "base" | "gundam" | "large";
|
|
15
15
|
keepOutput?: boolean;
|
|
16
16
|
};
|
|
17
|
-
declare function createConvertToMarkdownNode(id: string, params?: ConvertToMarkdownNodeParams): Effect.Effect<
|
|
18
|
-
inputSchema:
|
|
17
|
+
declare function createConvertToMarkdownNode(id: string, params?: ConvertToMarkdownNodeParams): Effect.Effect<_uploadista_core_flow2.FlowNodeData & {
|
|
18
|
+
inputSchema: zod1.ZodType<{
|
|
19
19
|
id: string;
|
|
20
20
|
offset: number;
|
|
21
21
|
storage: {
|
|
@@ -42,7 +42,7 @@ declare function createConvertToMarkdownNode(id: string, params?: ConvertToMarkd
|
|
|
42
42
|
nodeId: string;
|
|
43
43
|
jobId: string;
|
|
44
44
|
} | undefined;
|
|
45
|
-
}, unknown,
|
|
45
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
46
46
|
id: string;
|
|
47
47
|
offset: number;
|
|
48
48
|
storage: {
|
|
@@ -70,7 +70,7 @@ declare function createConvertToMarkdownNode(id: string, params?: ConvertToMarkd
|
|
|
70
70
|
jobId: string;
|
|
71
71
|
} | undefined;
|
|
72
72
|
}, unknown>>;
|
|
73
|
-
outputSchema:
|
|
73
|
+
outputSchema: zod1.ZodType<{
|
|
74
74
|
id: string;
|
|
75
75
|
offset: number;
|
|
76
76
|
storage: {
|
|
@@ -97,7 +97,7 @@ declare function createConvertToMarkdownNode(id: string, params?: ConvertToMarkd
|
|
|
97
97
|
nodeId: string;
|
|
98
98
|
jobId: string;
|
|
99
99
|
} | undefined;
|
|
100
|
-
}, unknown,
|
|
100
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
101
101
|
id: string;
|
|
102
102
|
offset: number;
|
|
103
103
|
storage: {
|
|
@@ -159,7 +159,7 @@ declare function createConvertToMarkdownNode(id: string, params?: ConvertToMarkd
|
|
|
159
159
|
flowId: string;
|
|
160
160
|
inputs?: Record<string, unknown>;
|
|
161
161
|
clientId: string | null;
|
|
162
|
-
}) => Effect.Effect<
|
|
162
|
+
}) => Effect.Effect<_uploadista_core_flow2.NodeExecutionResult<{
|
|
163
163
|
id: string;
|
|
164
164
|
offset: number;
|
|
165
165
|
storage: {
|
|
@@ -200,17 +200,17 @@ declare function createConvertToMarkdownNode(id: string, params?: ConvertToMarkd
|
|
|
200
200
|
retryDelay?: number;
|
|
201
201
|
exponentialBackoff?: boolean;
|
|
202
202
|
};
|
|
203
|
-
circuitBreaker?:
|
|
203
|
+
circuitBreaker?: _uploadista_core_flow2.FlowCircuitBreakerConfig;
|
|
204
204
|
} & {
|
|
205
205
|
type: NodeType.process;
|
|
206
|
-
}, UploadistaError,
|
|
206
|
+
}, UploadistaError, UploadServer | DocumentPlugin | DocumentAiPlugin>;
|
|
207
207
|
//#endregion
|
|
208
208
|
//#region src/describe-document-node.d.ts
|
|
209
209
|
type DescribeDocumentNodeParams = {
|
|
210
210
|
keepOutput?: boolean;
|
|
211
211
|
};
|
|
212
|
-
declare function createDescribeDocumentNode(id: string, params?: DescribeDocumentNodeParams): Effect.Effect<
|
|
213
|
-
inputSchema:
|
|
212
|
+
declare function createDescribeDocumentNode(id: string, params?: DescribeDocumentNodeParams): Effect.Effect<_uploadista_core_flow2.FlowNodeData & {
|
|
213
|
+
inputSchema: zod1.ZodType<{
|
|
214
214
|
id: string;
|
|
215
215
|
offset: number;
|
|
216
216
|
storage: {
|
|
@@ -237,7 +237,7 @@ declare function createDescribeDocumentNode(id: string, params?: DescribeDocumen
|
|
|
237
237
|
nodeId: string;
|
|
238
238
|
jobId: string;
|
|
239
239
|
} | undefined;
|
|
240
|
-
}, unknown,
|
|
240
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
241
241
|
id: string;
|
|
242
242
|
offset: number;
|
|
243
243
|
storage: {
|
|
@@ -265,7 +265,7 @@ declare function createDescribeDocumentNode(id: string, params?: DescribeDocumen
|
|
|
265
265
|
jobId: string;
|
|
266
266
|
} | undefined;
|
|
267
267
|
}, unknown>>;
|
|
268
|
-
outputSchema:
|
|
268
|
+
outputSchema: zod1.ZodType<{
|
|
269
269
|
id: string;
|
|
270
270
|
offset: number;
|
|
271
271
|
storage: {
|
|
@@ -292,7 +292,7 @@ declare function createDescribeDocumentNode(id: string, params?: DescribeDocumen
|
|
|
292
292
|
nodeId: string;
|
|
293
293
|
jobId: string;
|
|
294
294
|
} | undefined;
|
|
295
|
-
}, unknown,
|
|
295
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
296
296
|
id: string;
|
|
297
297
|
offset: number;
|
|
298
298
|
storage: {
|
|
@@ -354,7 +354,7 @@ declare function createDescribeDocumentNode(id: string, params?: DescribeDocumen
|
|
|
354
354
|
flowId: string;
|
|
355
355
|
inputs?: Record<string, unknown>;
|
|
356
356
|
clientId: string | null;
|
|
357
|
-
}) => Effect.Effect<
|
|
357
|
+
}) => Effect.Effect<_uploadista_core_flow2.NodeExecutionResult<{
|
|
358
358
|
id: string;
|
|
359
359
|
offset: number;
|
|
360
360
|
storage: {
|
|
@@ -395,17 +395,17 @@ declare function createDescribeDocumentNode(id: string, params?: DescribeDocumen
|
|
|
395
395
|
retryDelay?: number;
|
|
396
396
|
exponentialBackoff?: boolean;
|
|
397
397
|
};
|
|
398
|
-
circuitBreaker?:
|
|
398
|
+
circuitBreaker?: _uploadista_core_flow2.FlowCircuitBreakerConfig;
|
|
399
399
|
} & {
|
|
400
400
|
type: NodeType.process;
|
|
401
|
-
}, UploadistaError,
|
|
401
|
+
}, UploadistaError, UploadServer | DocumentPlugin>;
|
|
402
402
|
//#endregion
|
|
403
403
|
//#region src/extract-text-node.d.ts
|
|
404
404
|
type ExtractTextNodeParams = {
|
|
405
405
|
keepOutput?: boolean;
|
|
406
406
|
};
|
|
407
|
-
declare function createExtractTextNode(id: string, params?: ExtractTextNodeParams): Effect.Effect<
|
|
408
|
-
inputSchema:
|
|
407
|
+
declare function createExtractTextNode(id: string, params?: ExtractTextNodeParams): Effect.Effect<_uploadista_core_flow2.FlowNodeData & {
|
|
408
|
+
inputSchema: zod1.ZodType<{
|
|
409
409
|
id: string;
|
|
410
410
|
offset: number;
|
|
411
411
|
storage: {
|
|
@@ -432,7 +432,7 @@ declare function createExtractTextNode(id: string, params?: ExtractTextNodeParam
|
|
|
432
432
|
nodeId: string;
|
|
433
433
|
jobId: string;
|
|
434
434
|
} | undefined;
|
|
435
|
-
}, unknown,
|
|
435
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
436
436
|
id: string;
|
|
437
437
|
offset: number;
|
|
438
438
|
storage: {
|
|
@@ -460,7 +460,7 @@ declare function createExtractTextNode(id: string, params?: ExtractTextNodeParam
|
|
|
460
460
|
jobId: string;
|
|
461
461
|
} | undefined;
|
|
462
462
|
}, unknown>>;
|
|
463
|
-
outputSchema:
|
|
463
|
+
outputSchema: zod1.ZodType<{
|
|
464
464
|
id: string;
|
|
465
465
|
offset: number;
|
|
466
466
|
storage: {
|
|
@@ -487,7 +487,7 @@ declare function createExtractTextNode(id: string, params?: ExtractTextNodeParam
|
|
|
487
487
|
nodeId: string;
|
|
488
488
|
jobId: string;
|
|
489
489
|
} | undefined;
|
|
490
|
-
}, unknown,
|
|
490
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
491
491
|
id: string;
|
|
492
492
|
offset: number;
|
|
493
493
|
storage: {
|
|
@@ -549,7 +549,7 @@ declare function createExtractTextNode(id: string, params?: ExtractTextNodeParam
|
|
|
549
549
|
flowId: string;
|
|
550
550
|
inputs?: Record<string, unknown>;
|
|
551
551
|
clientId: string | null;
|
|
552
|
-
}) => Effect.Effect<
|
|
552
|
+
}) => Effect.Effect<_uploadista_core_flow2.NodeExecutionResult<{
|
|
553
553
|
id: string;
|
|
554
554
|
offset: number;
|
|
555
555
|
storage: {
|
|
@@ -590,10 +590,10 @@ declare function createExtractTextNode(id: string, params?: ExtractTextNodeParam
|
|
|
590
590
|
retryDelay?: number;
|
|
591
591
|
exponentialBackoff?: boolean;
|
|
592
592
|
};
|
|
593
|
-
circuitBreaker?:
|
|
593
|
+
circuitBreaker?: _uploadista_core_flow2.FlowCircuitBreakerConfig;
|
|
594
594
|
} & {
|
|
595
595
|
type: NodeType.process;
|
|
596
|
-
}, UploadistaError,
|
|
596
|
+
}, UploadistaError, UploadServer | DocumentPlugin>;
|
|
597
597
|
//#endregion
|
|
598
598
|
//#region src/merge-pdf-node.d.ts
|
|
599
599
|
type MergePdfNodeParams = {
|
|
@@ -605,7 +605,7 @@ type MergePdfNodeParams = {
|
|
|
605
605
|
*/
|
|
606
606
|
naming?: FileNamingConfig;
|
|
607
607
|
};
|
|
608
|
-
declare function createMergePdfNode(id: string, params?: MergePdfNodeParams): Effect.Effect<
|
|
608
|
+
declare function createMergePdfNode(id: string, params?: MergePdfNodeParams): Effect.Effect<_uploadista_core_flow2.FlowNodeData & {
|
|
609
609
|
inputSchema: z.ZodType<{
|
|
610
610
|
id: string;
|
|
611
611
|
offset: number;
|
|
@@ -750,7 +750,7 @@ declare function createMergePdfNode(id: string, params?: MergePdfNodeParams): Ef
|
|
|
750
750
|
flowId: string;
|
|
751
751
|
inputs?: Record<string, unknown>;
|
|
752
752
|
clientId: string | null;
|
|
753
|
-
}) => Effect.Effect<
|
|
753
|
+
}) => Effect.Effect<_uploadista_core_flow2.NodeExecutionResult<{
|
|
754
754
|
id: string;
|
|
755
755
|
offset: number;
|
|
756
756
|
storage: {
|
|
@@ -791,10 +791,10 @@ declare function createMergePdfNode(id: string, params?: MergePdfNodeParams): Ef
|
|
|
791
791
|
retryDelay?: number;
|
|
792
792
|
exponentialBackoff?: boolean;
|
|
793
793
|
};
|
|
794
|
-
circuitBreaker?:
|
|
794
|
+
circuitBreaker?: _uploadista_core_flow2.FlowCircuitBreakerConfig;
|
|
795
795
|
} & {
|
|
796
796
|
type: NodeType.process;
|
|
797
|
-
}, UploadistaError,
|
|
797
|
+
}, UploadistaError, UploadServer | DocumentPlugin>;
|
|
798
798
|
//#endregion
|
|
799
799
|
//#region src/ocr-node.d.ts
|
|
800
800
|
type OcrNodeParams = {
|
|
@@ -804,8 +804,8 @@ type OcrNodeParams = {
|
|
|
804
804
|
referenceText?: string;
|
|
805
805
|
keepOutput?: boolean;
|
|
806
806
|
};
|
|
807
|
-
declare function createOcrNode(id: string, params: OcrNodeParams): Effect.Effect<
|
|
808
|
-
inputSchema:
|
|
807
|
+
declare function createOcrNode(id: string, params: OcrNodeParams): Effect.Effect<_uploadista_core_flow2.FlowNodeData & {
|
|
808
|
+
inputSchema: zod1.ZodType<{
|
|
809
809
|
id: string;
|
|
810
810
|
offset: number;
|
|
811
811
|
storage: {
|
|
@@ -832,7 +832,7 @@ declare function createOcrNode(id: string, params: OcrNodeParams): Effect.Effect
|
|
|
832
832
|
nodeId: string;
|
|
833
833
|
jobId: string;
|
|
834
834
|
} | undefined;
|
|
835
|
-
}, unknown,
|
|
835
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
836
836
|
id: string;
|
|
837
837
|
offset: number;
|
|
838
838
|
storage: {
|
|
@@ -860,12 +860,12 @@ declare function createOcrNode(id: string, params: OcrNodeParams): Effect.Effect
|
|
|
860
860
|
jobId: string;
|
|
861
861
|
} | undefined;
|
|
862
862
|
}, unknown>>;
|
|
863
|
-
outputSchema:
|
|
863
|
+
outputSchema: zod1.ZodType<{
|
|
864
864
|
extractedText: string;
|
|
865
865
|
format: "markdown" | "plain" | "structured";
|
|
866
866
|
taskType: "convertToMarkdown" | "freeOcr" | "parseFigure" | "locateObject";
|
|
867
867
|
confidence?: number | undefined;
|
|
868
|
-
}, unknown,
|
|
868
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
869
869
|
extractedText: string;
|
|
870
870
|
format: "markdown" | "plain" | "structured";
|
|
871
871
|
taskType: "convertToMarkdown" | "freeOcr" | "parseFigure" | "locateObject";
|
|
@@ -905,7 +905,7 @@ declare function createOcrNode(id: string, params: OcrNodeParams): Effect.Effect
|
|
|
905
905
|
flowId: string;
|
|
906
906
|
inputs?: Record<string, unknown>;
|
|
907
907
|
clientId: string | null;
|
|
908
|
-
}) => Effect.Effect<
|
|
908
|
+
}) => Effect.Effect<_uploadista_core_flow2.NodeExecutionResult<{
|
|
909
909
|
extractedText: string;
|
|
910
910
|
format: "markdown" | "plain" | "structured";
|
|
911
911
|
taskType: "convertToMarkdown" | "freeOcr" | "parseFigure" | "locateObject";
|
|
@@ -924,7 +924,7 @@ declare function createOcrNode(id: string, params: OcrNodeParams): Effect.Effect
|
|
|
924
924
|
retryDelay?: number;
|
|
925
925
|
exponentialBackoff?: boolean;
|
|
926
926
|
};
|
|
927
|
-
circuitBreaker?:
|
|
927
|
+
circuitBreaker?: _uploadista_core_flow2.FlowCircuitBreakerConfig;
|
|
928
928
|
} & {
|
|
929
929
|
type: NodeType.process;
|
|
930
930
|
}, UploadistaError, DocumentAiPlugin>;
|
|
@@ -941,8 +941,8 @@ type SplitPdfNodeParams = {
|
|
|
941
941
|
*/
|
|
942
942
|
naming?: FileNamingConfig;
|
|
943
943
|
};
|
|
944
|
-
declare function createSplitPdfNode(id: string, params: SplitPdfNodeParams): Effect.Effect<
|
|
945
|
-
inputSchema:
|
|
944
|
+
declare function createSplitPdfNode(id: string, params: SplitPdfNodeParams): Effect.Effect<_uploadista_core_flow2.FlowNodeData & {
|
|
945
|
+
inputSchema: zod1.ZodType<{
|
|
946
946
|
id: string;
|
|
947
947
|
offset: number;
|
|
948
948
|
storage: {
|
|
@@ -969,7 +969,7 @@ declare function createSplitPdfNode(id: string, params: SplitPdfNodeParams): Eff
|
|
|
969
969
|
nodeId: string;
|
|
970
970
|
jobId: string;
|
|
971
971
|
} | undefined;
|
|
972
|
-
}, unknown,
|
|
972
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
973
973
|
id: string;
|
|
974
974
|
offset: number;
|
|
975
975
|
storage: {
|
|
@@ -997,7 +997,7 @@ declare function createSplitPdfNode(id: string, params: SplitPdfNodeParams): Eff
|
|
|
997
997
|
jobId: string;
|
|
998
998
|
} | undefined;
|
|
999
999
|
}, unknown>>;
|
|
1000
|
-
outputSchema:
|
|
1000
|
+
outputSchema: zod1.ZodType<{
|
|
1001
1001
|
id: string;
|
|
1002
1002
|
offset: number;
|
|
1003
1003
|
storage: {
|
|
@@ -1024,7 +1024,7 @@ declare function createSplitPdfNode(id: string, params: SplitPdfNodeParams): Eff
|
|
|
1024
1024
|
nodeId: string;
|
|
1025
1025
|
jobId: string;
|
|
1026
1026
|
} | undefined;
|
|
1027
|
-
}, unknown,
|
|
1027
|
+
}, unknown, zod_v4_core1.$ZodTypeInternals<{
|
|
1028
1028
|
id: string;
|
|
1029
1029
|
offset: number;
|
|
1030
1030
|
storage: {
|
|
@@ -1086,7 +1086,7 @@ declare function createSplitPdfNode(id: string, params: SplitPdfNodeParams): Eff
|
|
|
1086
1086
|
flowId: string;
|
|
1087
1087
|
inputs?: Record<string, unknown>;
|
|
1088
1088
|
clientId: string | null;
|
|
1089
|
-
}) => Effect.Effect<
|
|
1089
|
+
}) => Effect.Effect<_uploadista_core_flow2.NodeExecutionResult<{
|
|
1090
1090
|
id: string;
|
|
1091
1091
|
offset: number;
|
|
1092
1092
|
storage: {
|
|
@@ -1127,10 +1127,10 @@ declare function createSplitPdfNode(id: string, params: SplitPdfNodeParams): Eff
|
|
|
1127
1127
|
retryDelay?: number;
|
|
1128
1128
|
exponentialBackoff?: boolean;
|
|
1129
1129
|
};
|
|
1130
|
-
circuitBreaker?:
|
|
1130
|
+
circuitBreaker?: _uploadista_core_flow2.FlowCircuitBreakerConfig;
|
|
1131
1131
|
} & {
|
|
1132
1132
|
type: NodeType.process;
|
|
1133
|
-
}, UploadistaError,
|
|
1133
|
+
}, UploadistaError, UploadServer | DocumentPlugin>;
|
|
1134
1134
|
//#endregion
|
|
1135
1135
|
export { type ConvertToMarkdownNodeParams, ConvertToMarkdownParams, type DescribeDocumentNodeParams, DescribeDocumentParams, type ExtractTextNodeParams, ExtractTextParams, type MergePdfNodeParams, MergePdfParams, type OcrNodeParams, OcrParams, type SplitPdfNodeParams, SplitPdfParams, convertToMarkdownParamsSchema, createConvertToMarkdownNode, createDescribeDocumentNode, createExtractTextNode, createMergePdfNode, createOcrNode, createSplitPdfNode, describeDocumentParamsSchema, extractTextParamsSchema, mergePdfParamsSchema, ocrParamsSchema, splitPdfParamsSchema };
|
|
1136
1136
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/convert-to-markdown-node.ts","../src/describe-document-node.ts","../src/extract-text-node.ts","../src/merge-pdf-node.ts","../src/ocr-node.ts","../src/split-pdf-node.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;KAcY,2BAAA;;;;;iBAMI,2BAAA,sBAEN,8BAAgC,MAAA,CAAA,OAAA,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/convert-to-markdown-node.ts","../src/describe-document-node.ts","../src/extract-text-node.ts","../src/merge-pdf-node.ts","../src/ocr-node.ts","../src/split-pdf-node.ts"],"sourcesContent":[],"mappings":"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"}
|