@bubblelab/bubble-core 0.1.0

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 (275) hide show
  1. package/LICENSE.txt +202 -0
  2. package/dist/bubble-bundle.d.ts +2021 -0
  3. package/dist/bubble-factory.d.ts +161 -0
  4. package/dist/bubble-factory.d.ts.map +1 -0
  5. package/dist/bubble-factory.js +426 -0
  6. package/dist/bubble-factory.js.map +1 -0
  7. package/dist/bubble-flow/bubble-flow-class.d.ts +19 -0
  8. package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -0
  9. package/dist/bubble-flow/bubble-flow-class.js +23 -0
  10. package/dist/bubble-flow/bubble-flow-class.js.map +1 -0
  11. package/dist/bubble-flow/sample/data-analyst-flow.d.ts +15 -0
  12. package/dist/bubble-flow/sample/data-analyst-flow.d.ts.map +1 -0
  13. package/dist/bubble-flow/sample/data-analyst-flow.js +63 -0
  14. package/dist/bubble-flow/sample/data-analyst-flow.js.map +1 -0
  15. package/dist/bubble-flow/sample/error-ts.d.ts +23 -0
  16. package/dist/bubble-flow/sample/error-ts.d.ts.map +1 -0
  17. package/dist/bubble-flow/sample/error-ts.js +31 -0
  18. package/dist/bubble-flow/sample/error-ts.js.map +1 -0
  19. package/dist/bubble-flow/sample/sanitytest.d.ts +10 -0
  20. package/dist/bubble-flow/sample/sanitytest.d.ts.map +1 -0
  21. package/dist/bubble-flow/sample/sanitytest.js +13 -0
  22. package/dist/bubble-flow/sample/sanitytest.js.map +1 -0
  23. package/dist/bubble-flow/sample/simple-webhook-2.d.ts +19 -0
  24. package/dist/bubble-flow/sample/simple-webhook-2.d.ts.map +1 -0
  25. package/dist/bubble-flow/sample/simple-webhook-2.js +23 -0
  26. package/dist/bubble-flow/sample/simple-webhook-2.js.map +1 -0
  27. package/dist/bubble-flow/sample/simple-webhook.d.ts +10 -0
  28. package/dist/bubble-flow/sample/simple-webhook.d.ts.map +1 -0
  29. package/dist/bubble-flow/sample/simple-webhook.js +18 -0
  30. package/dist/bubble-flow/sample/simple-webhook.js.map +1 -0
  31. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts +29 -0
  32. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -0
  33. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js +150 -0
  34. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js.map +1 -0
  35. package/dist/bubble-flow/sample/slack-v0.1.d.ts +10 -0
  36. package/dist/bubble-flow/sample/slack-v0.1.d.ts.map +1 -0
  37. package/dist/bubble-flow/sample/slack-v0.1.js +59 -0
  38. package/dist/bubble-flow/sample/slack-v0.1.js.map +1 -0
  39. package/dist/bubble-flow/sample/slackagenttest.d.ts +10 -0
  40. package/dist/bubble-flow/sample/slackagenttest.d.ts.map +1 -0
  41. package/dist/bubble-flow/sample/slackagenttest.js +59 -0
  42. package/dist/bubble-flow/sample/slackagenttest.js.map +1 -0
  43. package/dist/bubble-trigger/index.d.ts +2 -0
  44. package/dist/bubble-trigger/index.d.ts.map +1 -0
  45. package/dist/bubble-trigger/index.js +2 -0
  46. package/dist/bubble-trigger/index.js.map +1 -0
  47. package/dist/bubble-trigger/types.d.ts +87 -0
  48. package/dist/bubble-trigger/types.d.ts.map +1 -0
  49. package/dist/bubble-trigger/types.js +14 -0
  50. package/dist/bubble-trigger/types.js.map +1 -0
  51. package/dist/bubbles/service-bubble/ai-agent.d.ts +428 -0
  52. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -0
  53. package/dist/bubbles/service-bubble/ai-agent.js +881 -0
  54. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -0
  55. package/dist/bubbles/service-bubble/gmail.d.ts +3073 -0
  56. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -0
  57. package/dist/bubbles/service-bubble/gmail.js +908 -0
  58. package/dist/bubbles/service-bubble/gmail.js.map +1 -0
  59. package/dist/bubbles/service-bubble/google-calendar.d.ts +3377 -0
  60. package/dist/bubbles/service-bubble/google-calendar.d.ts.map +1 -0
  61. package/dist/bubbles/service-bubble/google-calendar.js +527 -0
  62. package/dist/bubbles/service-bubble/google-calendar.js.map +1 -0
  63. package/dist/bubbles/service-bubble/google-drive.d.ts +1152 -0
  64. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -0
  65. package/dist/bubbles/service-bubble/google-drive.js +943 -0
  66. package/dist/bubbles/service-bubble/google-drive.js.map +1 -0
  67. package/dist/bubbles/service-bubble/google-sheets.d.ts +1811 -0
  68. package/dist/bubbles/service-bubble/google-sheets.d.ts.map +1 -0
  69. package/dist/bubbles/service-bubble/google-sheets.js +904 -0
  70. package/dist/bubbles/service-bubble/google-sheets.js.map +1 -0
  71. package/dist/bubbles/service-bubble/hello-world.d.ts +74 -0
  72. package/dist/bubbles/service-bubble/hello-world.d.ts.map +1 -0
  73. package/dist/bubbles/service-bubble/hello-world.js +67 -0
  74. package/dist/bubbles/service-bubble/hello-world.js.map +1 -0
  75. package/dist/bubbles/service-bubble/http.d.ts +134 -0
  76. package/dist/bubbles/service-bubble/http.d.ts.map +1 -0
  77. package/dist/bubbles/service-bubble/http.js +184 -0
  78. package/dist/bubbles/service-bubble/http.js.map +1 -0
  79. package/dist/bubbles/service-bubble/postgresql.d.ts +180 -0
  80. package/dist/bubbles/service-bubble/postgresql.d.ts.map +1 -0
  81. package/dist/bubbles/service-bubble/postgresql.js +448 -0
  82. package/dist/bubbles/service-bubble/postgresql.js.map +1 -0
  83. package/dist/bubbles/service-bubble/resend.d.ts +301 -0
  84. package/dist/bubbles/service-bubble/resend.d.ts.map +1 -0
  85. package/dist/bubbles/service-bubble/resend.js +253 -0
  86. package/dist/bubbles/service-bubble/resend.js.map +1 -0
  87. package/dist/bubbles/service-bubble/slack.d.ts +5869 -0
  88. package/dist/bubbles/service-bubble/slack.d.ts.map +1 -0
  89. package/dist/bubbles/service-bubble/slack.js +1536 -0
  90. package/dist/bubbles/service-bubble/slack.js.map +1 -0
  91. package/dist/bubbles/service-bubble/storage.d.ts +571 -0
  92. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -0
  93. package/dist/bubbles/service-bubble/storage.js +504 -0
  94. package/dist/bubbles/service-bubble/storage.js.map +1 -0
  95. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +308 -0
  96. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts.map +1 -0
  97. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js +285 -0
  98. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js.map +1 -0
  99. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +416 -0
  100. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts.map +1 -0
  101. package/dist/bubbles/tool-bubble/chart-js-tool.js +570 -0
  102. package/dist/bubbles/tool-bubble/chart-js-tool.js.map +1 -0
  103. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +99 -0
  104. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -0
  105. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +645 -0
  106. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -0
  107. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +112 -0
  108. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts.map +1 -0
  109. package/dist/bubbles/tool-bubble/list-bubbles-tool.js +82 -0
  110. package/dist/bubbles/tool-bubble/list-bubbles-tool.js.map +1 -0
  111. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +413 -0
  112. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -0
  113. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +327 -0
  114. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -0
  115. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +122 -0
  116. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts.map +1 -0
  117. package/dist/bubbles/tool-bubble/research-agent-tool.js +343 -0
  118. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -0
  119. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +131 -0
  120. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts.map +1 -0
  121. package/dist/bubbles/tool-bubble/sql-query-tool.js +147 -0
  122. package/dist/bubbles/tool-bubble/sql-query-tool.js.map +1 -0
  123. package/dist/bubbles/tool-bubble/tool-template.d.ts +257 -0
  124. package/dist/bubbles/tool-bubble/tool-template.d.ts.map +1 -0
  125. package/dist/bubbles/tool-bubble/tool-template.js +238 -0
  126. package/dist/bubbles/tool-bubble/tool-template.js.map +1 -0
  127. package/dist/bubbles/tool-bubble/virtual-file-editor-example.d.ts +8 -0
  128. package/dist/bubbles/tool-bubble/virtual-file-editor-example.d.ts.map +1 -0
  129. package/dist/bubbles/tool-bubble/virtual-file-editor-example.js +65 -0
  130. package/dist/bubbles/tool-bubble/virtual-file-editor-example.js.map +1 -0
  131. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.d.ts +125 -0
  132. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.d.ts.map +1 -0
  133. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.js +169 -0
  134. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.js.map +1 -0
  135. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +218 -0
  136. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts.map +1 -0
  137. package/dist/bubbles/tool-bubble/web-crawl-tool.js +255 -0
  138. package/dist/bubbles/tool-bubble/web-crawl-tool.js.map +1 -0
  139. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +134 -0
  140. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts.map +1 -0
  141. package/dist/bubbles/tool-bubble/web-extract-tool.js +175 -0
  142. package/dist/bubbles/tool-bubble/web-extract-tool.js.map +1 -0
  143. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +228 -0
  144. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -0
  145. package/dist/bubbles/tool-bubble/web-scrape-tool.js +214 -0
  146. package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -0
  147. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +134 -0
  148. package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -0
  149. package/dist/bubbles/tool-bubble/web-search-tool.js +155 -0
  150. package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -0
  151. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +114 -0
  152. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -0
  153. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +777 -0
  154. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -0
  155. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.d.ts +97 -0
  156. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.d.ts.map +1 -0
  157. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.js +327 -0
  158. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.js.map +1 -0
  159. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +303 -0
  160. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts.map +1 -0
  161. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.js +297 -0
  162. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.js.map +1 -0
  163. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.d.ts +157 -0
  164. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.d.ts.map +1 -0
  165. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.js +310 -0
  166. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.js.map +1 -0
  167. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +543 -0
  168. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts.map +1 -0
  169. package/dist/bubbles/workflow-bubble/generate-document.workflow.js +628 -0
  170. package/dist/bubbles/workflow-bubble/generate-document.workflow.js.map +1 -0
  171. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +679 -0
  172. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts.map +1 -0
  173. package/dist/bubbles/workflow-bubble/parse-document.workflow.js +604 -0
  174. package/dist/bubbles/workflow-bubble/parse-document.workflow.js.map +1 -0
  175. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +1011 -0
  176. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -0
  177. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +841 -0
  178. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -0
  179. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +883 -0
  180. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -0
  181. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +781 -0
  182. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -0
  183. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +300 -0
  184. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts.map +1 -0
  185. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +508 -0
  186. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -0
  187. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +731 -0
  188. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts.map +1 -0
  189. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +690 -0
  190. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -0
  191. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +401 -0
  192. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -0
  193. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +382 -0
  194. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -0
  195. package/dist/bubbles/workflow-bubble/workflow-template.d.ts +144 -0
  196. package/dist/bubbles/workflow-bubble/workflow-template.d.ts.map +1 -0
  197. package/dist/bubbles/workflow-bubble/workflow-template.js +124 -0
  198. package/dist/bubbles/workflow-bubble/workflow-template.js.map +1 -0
  199. package/dist/index.d.ts +46 -0
  200. package/dist/index.d.ts.map +1 -0
  201. package/dist/index.js +53 -0
  202. package/dist/index.js.map +1 -0
  203. package/dist/logging/BubbleLogger.d.ts +146 -0
  204. package/dist/logging/BubbleLogger.d.ts.map +1 -0
  205. package/dist/logging/BubbleLogger.js +472 -0
  206. package/dist/logging/BubbleLogger.js.map +1 -0
  207. package/dist/logging/StreamingBubbleLogger.d.ts +85 -0
  208. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -0
  209. package/dist/logging/StreamingBubbleLogger.js +340 -0
  210. package/dist/logging/StreamingBubbleLogger.js.map +1 -0
  211. package/dist/types/ai-models.d.ts +4 -0
  212. package/dist/types/ai-models.d.ts.map +1 -0
  213. package/dist/types/ai-models.js +14 -0
  214. package/dist/types/ai-models.js.map +1 -0
  215. package/dist/types/available-tools.d.ts +4 -0
  216. package/dist/types/available-tools.d.ts.map +1 -0
  217. package/dist/types/available-tools.js +19 -0
  218. package/dist/types/available-tools.js.map +1 -0
  219. package/dist/types/base-bubble-class.d.ts +47 -0
  220. package/dist/types/base-bubble-class.d.ts.map +1 -0
  221. package/dist/types/base-bubble-class.js +212 -0
  222. package/dist/types/base-bubble-class.js.map +1 -0
  223. package/dist/types/bubble-errors.d.ts +44 -0
  224. package/dist/types/bubble-errors.d.ts.map +1 -0
  225. package/dist/types/bubble-errors.js +51 -0
  226. package/dist/types/bubble-errors.js.map +1 -0
  227. package/dist/types/bubble.d.ts +73 -0
  228. package/dist/types/bubble.d.ts.map +1 -0
  229. package/dist/types/bubble.js +2 -0
  230. package/dist/types/bubble.js.map +1 -0
  231. package/dist/types/credentials.d.ts +6 -0
  232. package/dist/types/credentials.d.ts.map +1 -0
  233. package/dist/types/credentials.js +6 -0
  234. package/dist/types/credentials.js.map +1 -0
  235. package/dist/types/service-bubble-class.d.ts +31 -0
  236. package/dist/types/service-bubble-class.d.ts.map +1 -0
  237. package/dist/types/service-bubble-class.js +36 -0
  238. package/dist/types/service-bubble-class.js.map +1 -0
  239. package/dist/types/streaming-events.d.ts +18 -0
  240. package/dist/types/streaming-events.d.ts.map +1 -0
  241. package/dist/types/streaming-events.js +5 -0
  242. package/dist/types/streaming-events.js.map +1 -0
  243. package/dist/types/tool-bubble-class.d.ts +19 -0
  244. package/dist/types/tool-bubble-class.d.ts.map +1 -0
  245. package/dist/types/tool-bubble-class.js +48 -0
  246. package/dist/types/tool-bubble-class.js.map +1 -0
  247. package/dist/types/workflow-bubble-class.d.ts +25 -0
  248. package/dist/types/workflow-bubble-class.d.ts.map +1 -0
  249. package/dist/types/workflow-bubble-class.js +30 -0
  250. package/dist/types/workflow-bubble-class.js.map +1 -0
  251. package/dist/utils/bubbleflow-parser.d.ts +32 -0
  252. package/dist/utils/bubbleflow-parser.d.ts.map +1 -0
  253. package/dist/utils/bubbleflow-parser.js +332 -0
  254. package/dist/utils/bubbleflow-parser.js.map +1 -0
  255. package/dist/utils/bubbleflow-validation.d.ts +9 -0
  256. package/dist/utils/bubbleflow-validation.d.ts.map +1 -0
  257. package/dist/utils/bubbleflow-validation.js +116 -0
  258. package/dist/utils/bubbleflow-validation.js.map +1 -0
  259. package/dist/utils/json-parsing.d.ts +20 -0
  260. package/dist/utils/json-parsing.d.ts.map +1 -0
  261. package/dist/utils/json-parsing.js +394 -0
  262. package/dist/utils/json-parsing.js.map +1 -0
  263. package/dist/utils/mock-data-generator.d.ts +43 -0
  264. package/dist/utils/mock-data-generator.d.ts.map +1 -0
  265. package/dist/utils/mock-data-generator.js +312 -0
  266. package/dist/utils/mock-data-generator.js.map +1 -0
  267. package/dist/utils/param-helper.d.ts +2 -0
  268. package/dist/utils/param-helper.d.ts.map +1 -0
  269. package/dist/utils/param-helper.js +5 -0
  270. package/dist/utils/param-helper.js.map +1 -0
  271. package/dist/utils/source-bubble-parser.d.ts +31 -0
  272. package/dist/utils/source-bubble-parser.d.ts.map +1 -0
  273. package/dist/utils/source-bubble-parser.js +231 -0
  274. package/dist/utils/source-bubble-parser.js.map +1 -0
  275. package/package.json +63 -0
@@ -0,0 +1,883 @@
1
+ /**
2
+ * PDF OCR WORKFLOW
3
+ *
4
+ * A comprehensive workflow that converts PDF documents to images and passes them
5
+ * to an AI agent along with discovered form fields to parse and extract schema information.
6
+ *
7
+ * This workflow combines:
8
+ * 1. PDF field discovery using pdf-lib
9
+ * 2. PDF to images conversion using pdf-img-convert
10
+ * 3. AI agent analysis for schema parsing and field extraction
11
+ *
12
+ * Returns structured JSON containing field IDs from discovery and extracted field names
13
+ * with their values from AI analysis.
14
+ */
15
+ import { z } from 'zod';
16
+ import { WorkflowBubble } from '../../types/workflow-bubble-class.js';
17
+ import type { BubbleContext } from '../../types/bubble.js';
18
+ import { CredentialType, type BubbleName } from '@bubblelab/shared-schemas';
19
+ /**
20
+ * Parameters schema for PDF OCR workflow using discriminated union for different modes
21
+ */
22
+ declare const PDFOcrWorkflowParamsSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
23
+ mode: z.ZodLiteral<"identify">;
24
+ pdfData: z.ZodString;
25
+ discoveryOptions: z.ZodDefault<z.ZodObject<{
26
+ targetPage: z.ZodOptional<z.ZodNumber>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ targetPage?: number | undefined;
29
+ }, {
30
+ targetPage?: number | undefined;
31
+ }>>;
32
+ imageOptions: z.ZodDefault<z.ZodObject<{
33
+ format: z.ZodDefault<z.ZodEnum<["png", "jpeg"]>>;
34
+ quality: z.ZodDefault<z.ZodNumber>;
35
+ dpi: z.ZodDefault<z.ZodNumber>;
36
+ pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ format: "png" | "jpeg";
39
+ quality: number;
40
+ dpi: number;
41
+ pages?: number[] | undefined;
42
+ }, {
43
+ format?: "png" | "jpeg" | undefined;
44
+ quality?: number | undefined;
45
+ pages?: number[] | undefined;
46
+ dpi?: number | undefined;
47
+ }>>;
48
+ aiOptions: z.ZodDefault<z.ZodObject<{
49
+ model: z.ZodDefault<z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-o4-mini", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview"]>>;
50
+ temperature: z.ZodDefault<z.ZodNumber>;
51
+ maxTokens: z.ZodDefault<z.ZodNumber>;
52
+ jsonMode: z.ZodDefault<z.ZodBoolean>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
55
+ temperature: number;
56
+ maxTokens: number;
57
+ jsonMode: boolean;
58
+ }, {
59
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
60
+ temperature?: number | undefined;
61
+ maxTokens?: number | undefined;
62
+ jsonMode?: boolean | undefined;
63
+ }>>;
64
+ credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ mode: "identify";
67
+ pdfData: string;
68
+ discoveryOptions: {
69
+ targetPage?: number | undefined;
70
+ };
71
+ imageOptions: {
72
+ format: "png" | "jpeg";
73
+ quality: number;
74
+ dpi: number;
75
+ pages?: number[] | undefined;
76
+ };
77
+ aiOptions: {
78
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
79
+ temperature: number;
80
+ maxTokens: number;
81
+ jsonMode: boolean;
82
+ };
83
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
84
+ }, {
85
+ mode: "identify";
86
+ pdfData: string;
87
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
88
+ discoveryOptions?: {
89
+ targetPage?: number | undefined;
90
+ } | undefined;
91
+ imageOptions?: {
92
+ format?: "png" | "jpeg" | undefined;
93
+ quality?: number | undefined;
94
+ pages?: number[] | undefined;
95
+ dpi?: number | undefined;
96
+ } | undefined;
97
+ aiOptions?: {
98
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
99
+ temperature?: number | undefined;
100
+ maxTokens?: number | undefined;
101
+ jsonMode?: boolean | undefined;
102
+ } | undefined;
103
+ }>, z.ZodObject<{
104
+ mode: z.ZodLiteral<"autofill">;
105
+ pdfData: z.ZodString;
106
+ clientInformation: z.ZodString;
107
+ discoveryOptions: z.ZodDefault<z.ZodObject<{
108
+ targetPage: z.ZodOptional<z.ZodNumber>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ targetPage?: number | undefined;
111
+ }, {
112
+ targetPage?: number | undefined;
113
+ }>>;
114
+ imageOptions: z.ZodDefault<z.ZodObject<{
115
+ format: z.ZodDefault<z.ZodEnum<["png", "jpeg"]>>;
116
+ quality: z.ZodDefault<z.ZodNumber>;
117
+ dpi: z.ZodDefault<z.ZodNumber>;
118
+ pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ format: "png" | "jpeg";
121
+ quality: number;
122
+ dpi: number;
123
+ pages?: number[] | undefined;
124
+ }, {
125
+ format?: "png" | "jpeg" | undefined;
126
+ quality?: number | undefined;
127
+ pages?: number[] | undefined;
128
+ dpi?: number | undefined;
129
+ }>>;
130
+ aiOptions: z.ZodDefault<z.ZodObject<{
131
+ model: z.ZodDefault<z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-o4-mini", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview"]>>;
132
+ temperature: z.ZodDefault<z.ZodNumber>;
133
+ maxTokens: z.ZodDefault<z.ZodNumber>;
134
+ jsonMode: z.ZodDefault<z.ZodBoolean>;
135
+ }, "strip", z.ZodTypeAny, {
136
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
137
+ temperature: number;
138
+ maxTokens: number;
139
+ jsonMode: boolean;
140
+ }, {
141
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
142
+ temperature?: number | undefined;
143
+ maxTokens?: number | undefined;
144
+ jsonMode?: boolean | undefined;
145
+ }>>;
146
+ credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
147
+ }, "strip", z.ZodTypeAny, {
148
+ mode: "autofill";
149
+ pdfData: string;
150
+ discoveryOptions: {
151
+ targetPage?: number | undefined;
152
+ };
153
+ imageOptions: {
154
+ format: "png" | "jpeg";
155
+ quality: number;
156
+ dpi: number;
157
+ pages?: number[] | undefined;
158
+ };
159
+ aiOptions: {
160
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
161
+ temperature: number;
162
+ maxTokens: number;
163
+ jsonMode: boolean;
164
+ };
165
+ clientInformation: string;
166
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
167
+ }, {
168
+ mode: "autofill";
169
+ pdfData: string;
170
+ clientInformation: string;
171
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
172
+ discoveryOptions?: {
173
+ targetPage?: number | undefined;
174
+ } | undefined;
175
+ imageOptions?: {
176
+ format?: "png" | "jpeg" | undefined;
177
+ quality?: number | undefined;
178
+ pages?: number[] | undefined;
179
+ dpi?: number | undefined;
180
+ } | undefined;
181
+ aiOptions?: {
182
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
183
+ temperature?: number | undefined;
184
+ maxTokens?: number | undefined;
185
+ jsonMode?: boolean | undefined;
186
+ } | undefined;
187
+ }>]>;
188
+ /**
189
+ * Result schema for PDF OCR workflow using discriminated union for different modes
190
+ */
191
+ declare const PDFOcrWorkflowResultSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
192
+ mode: z.ZodLiteral<"identify">;
193
+ extractedFields: z.ZodArray<z.ZodObject<{
194
+ id: z.ZodNumber;
195
+ fieldName: z.ZodString;
196
+ confidence: z.ZodNumber;
197
+ }, "strip", z.ZodTypeAny, {
198
+ id: number;
199
+ fieldName: string;
200
+ confidence: number;
201
+ }, {
202
+ id: number;
203
+ fieldName: string;
204
+ confidence: number;
205
+ }>, "many">;
206
+ discoveryData: z.ZodObject<{
207
+ totalFields: z.ZodNumber;
208
+ fieldsWithCoordinates: z.ZodNumber;
209
+ pages: z.ZodArray<z.ZodNumber, "many">;
210
+ }, "strip", z.ZodTypeAny, {
211
+ pages: number[];
212
+ totalFields: number;
213
+ fieldsWithCoordinates: number;
214
+ }, {
215
+ pages: number[];
216
+ totalFields: number;
217
+ fieldsWithCoordinates: number;
218
+ }>;
219
+ imageData: z.ZodObject<{
220
+ totalPages: z.ZodNumber;
221
+ convertedPages: z.ZodNumber;
222
+ format: z.ZodString;
223
+ dpi: z.ZodNumber;
224
+ }, "strip", z.ZodTypeAny, {
225
+ format: string;
226
+ totalPages: number;
227
+ dpi: number;
228
+ convertedPages: number;
229
+ }, {
230
+ format: string;
231
+ totalPages: number;
232
+ dpi: number;
233
+ convertedPages: number;
234
+ }>;
235
+ aiAnalysis: z.ZodObject<{
236
+ model: z.ZodString;
237
+ iterations: z.ZodNumber;
238
+ processingTime: z.ZodOptional<z.ZodNumber>;
239
+ }, "strip", z.ZodTypeAny, {
240
+ iterations: number;
241
+ model: string;
242
+ processingTime?: number | undefined;
243
+ }, {
244
+ iterations: number;
245
+ model: string;
246
+ processingTime?: number | undefined;
247
+ }>;
248
+ success: z.ZodBoolean;
249
+ error: z.ZodString;
250
+ }, "strip", z.ZodTypeAny, {
251
+ success: boolean;
252
+ error: string;
253
+ mode: "identify";
254
+ imageData: {
255
+ format: string;
256
+ totalPages: number;
257
+ dpi: number;
258
+ convertedPages: number;
259
+ };
260
+ extractedFields: {
261
+ id: number;
262
+ fieldName: string;
263
+ confidence: number;
264
+ }[];
265
+ discoveryData: {
266
+ pages: number[];
267
+ totalFields: number;
268
+ fieldsWithCoordinates: number;
269
+ };
270
+ aiAnalysis: {
271
+ iterations: number;
272
+ model: string;
273
+ processingTime?: number | undefined;
274
+ };
275
+ }, {
276
+ success: boolean;
277
+ error: string;
278
+ mode: "identify";
279
+ imageData: {
280
+ format: string;
281
+ totalPages: number;
282
+ dpi: number;
283
+ convertedPages: number;
284
+ };
285
+ extractedFields: {
286
+ id: number;
287
+ fieldName: string;
288
+ confidence: number;
289
+ }[];
290
+ discoveryData: {
291
+ pages: number[];
292
+ totalFields: number;
293
+ fieldsWithCoordinates: number;
294
+ };
295
+ aiAnalysis: {
296
+ iterations: number;
297
+ model: string;
298
+ processingTime?: number | undefined;
299
+ };
300
+ }>, z.ZodObject<{
301
+ mode: z.ZodLiteral<"autofill">;
302
+ extractedFields: z.ZodArray<z.ZodObject<{
303
+ id: z.ZodNumber;
304
+ originalFieldName: z.ZodOptional<z.ZodString>;
305
+ fieldName: z.ZodString;
306
+ value: z.ZodString;
307
+ confidence: z.ZodNumber;
308
+ }, "strip", z.ZodTypeAny, {
309
+ value: string;
310
+ id: number;
311
+ fieldName: string;
312
+ confidence: number;
313
+ originalFieldName?: string | undefined;
314
+ }, {
315
+ value: string;
316
+ id: number;
317
+ fieldName: string;
318
+ confidence: number;
319
+ originalFieldName?: string | undefined;
320
+ }>, "many">;
321
+ filledPdfData: z.ZodString;
322
+ discoveryData: z.ZodObject<{
323
+ totalFields: z.ZodNumber;
324
+ fieldsWithCoordinates: z.ZodNumber;
325
+ pages: z.ZodArray<z.ZodNumber, "many">;
326
+ }, "strip", z.ZodTypeAny, {
327
+ pages: number[];
328
+ totalFields: number;
329
+ fieldsWithCoordinates: number;
330
+ }, {
331
+ pages: number[];
332
+ totalFields: number;
333
+ fieldsWithCoordinates: number;
334
+ }>;
335
+ imageData: z.ZodObject<{
336
+ totalPages: z.ZodNumber;
337
+ convertedPages: z.ZodNumber;
338
+ format: z.ZodString;
339
+ dpi: z.ZodNumber;
340
+ }, "strip", z.ZodTypeAny, {
341
+ format: string;
342
+ totalPages: number;
343
+ dpi: number;
344
+ convertedPages: number;
345
+ }, {
346
+ format: string;
347
+ totalPages: number;
348
+ dpi: number;
349
+ convertedPages: number;
350
+ }>;
351
+ aiAnalysis: z.ZodObject<{
352
+ model: z.ZodString;
353
+ iterations: z.ZodNumber;
354
+ processingTime: z.ZodOptional<z.ZodNumber>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ iterations: number;
357
+ model: string;
358
+ processingTime?: number | undefined;
359
+ }, {
360
+ iterations: number;
361
+ model: string;
362
+ processingTime?: number | undefined;
363
+ }>;
364
+ fillResults: z.ZodObject<{
365
+ filledFields: z.ZodNumber;
366
+ successfullyFilled: z.ZodNumber;
367
+ }, "strip", z.ZodTypeAny, {
368
+ filledFields: number;
369
+ successfullyFilled: number;
370
+ }, {
371
+ filledFields: number;
372
+ successfullyFilled: number;
373
+ }>;
374
+ success: z.ZodBoolean;
375
+ error: z.ZodString;
376
+ }, "strip", z.ZodTypeAny, {
377
+ success: boolean;
378
+ error: string;
379
+ mode: "autofill";
380
+ filledPdfData: string;
381
+ imageData: {
382
+ format: string;
383
+ totalPages: number;
384
+ dpi: number;
385
+ convertedPages: number;
386
+ };
387
+ extractedFields: {
388
+ value: string;
389
+ id: number;
390
+ fieldName: string;
391
+ confidence: number;
392
+ originalFieldName?: string | undefined;
393
+ }[];
394
+ discoveryData: {
395
+ pages: number[];
396
+ totalFields: number;
397
+ fieldsWithCoordinates: number;
398
+ };
399
+ aiAnalysis: {
400
+ iterations: number;
401
+ model: string;
402
+ processingTime?: number | undefined;
403
+ };
404
+ fillResults: {
405
+ filledFields: number;
406
+ successfullyFilled: number;
407
+ };
408
+ }, {
409
+ success: boolean;
410
+ error: string;
411
+ mode: "autofill";
412
+ filledPdfData: string;
413
+ imageData: {
414
+ format: string;
415
+ totalPages: number;
416
+ dpi: number;
417
+ convertedPages: number;
418
+ };
419
+ extractedFields: {
420
+ value: string;
421
+ id: number;
422
+ fieldName: string;
423
+ confidence: number;
424
+ originalFieldName?: string | undefined;
425
+ }[];
426
+ discoveryData: {
427
+ pages: number[];
428
+ totalFields: number;
429
+ fieldsWithCoordinates: number;
430
+ };
431
+ aiAnalysis: {
432
+ iterations: number;
433
+ model: string;
434
+ processingTime?: number | undefined;
435
+ };
436
+ fillResults: {
437
+ filledFields: number;
438
+ successfullyFilled: number;
439
+ };
440
+ }>]>;
441
+ type PDFOcrWorkflowParams = z.input<typeof PDFOcrWorkflowParamsSchema>;
442
+ type PDFOcrWorkflowResult = z.output<typeof PDFOcrWorkflowResultSchema>;
443
+ export type PDFOcrModeResult<T extends PDFOcrWorkflowParams['mode']> = Extract<PDFOcrWorkflowResult, {
444
+ mode: T;
445
+ }>;
446
+ export type PDFOcrOperationResult<T extends PDFOcrWorkflowParams['mode']> = Extract<PDFOcrWorkflowResult, {
447
+ mode: T;
448
+ }>;
449
+ /**
450
+ * PDF OCR Workflow
451
+ * Combines PDF field discovery, image conversion, and AI analysis for comprehensive form field extraction
452
+ */
453
+ export declare class PDFOcrWorkflow<T extends PDFOcrWorkflowParams = PDFOcrWorkflowParams> extends WorkflowBubble<T, Extract<PDFOcrWorkflowResult, {
454
+ mode: T['mode'];
455
+ }>> {
456
+ static readonly type: "workflow";
457
+ static readonly bubbleName: BubbleName;
458
+ static readonly schema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
459
+ mode: z.ZodLiteral<"identify">;
460
+ pdfData: z.ZodString;
461
+ discoveryOptions: z.ZodDefault<z.ZodObject<{
462
+ targetPage: z.ZodOptional<z.ZodNumber>;
463
+ }, "strip", z.ZodTypeAny, {
464
+ targetPage?: number | undefined;
465
+ }, {
466
+ targetPage?: number | undefined;
467
+ }>>;
468
+ imageOptions: z.ZodDefault<z.ZodObject<{
469
+ format: z.ZodDefault<z.ZodEnum<["png", "jpeg"]>>;
470
+ quality: z.ZodDefault<z.ZodNumber>;
471
+ dpi: z.ZodDefault<z.ZodNumber>;
472
+ pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
473
+ }, "strip", z.ZodTypeAny, {
474
+ format: "png" | "jpeg";
475
+ quality: number;
476
+ dpi: number;
477
+ pages?: number[] | undefined;
478
+ }, {
479
+ format?: "png" | "jpeg" | undefined;
480
+ quality?: number | undefined;
481
+ pages?: number[] | undefined;
482
+ dpi?: number | undefined;
483
+ }>>;
484
+ aiOptions: z.ZodDefault<z.ZodObject<{
485
+ model: z.ZodDefault<z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-o4-mini", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview"]>>;
486
+ temperature: z.ZodDefault<z.ZodNumber>;
487
+ maxTokens: z.ZodDefault<z.ZodNumber>;
488
+ jsonMode: z.ZodDefault<z.ZodBoolean>;
489
+ }, "strip", z.ZodTypeAny, {
490
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
491
+ temperature: number;
492
+ maxTokens: number;
493
+ jsonMode: boolean;
494
+ }, {
495
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
496
+ temperature?: number | undefined;
497
+ maxTokens?: number | undefined;
498
+ jsonMode?: boolean | undefined;
499
+ }>>;
500
+ credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
501
+ }, "strip", z.ZodTypeAny, {
502
+ mode: "identify";
503
+ pdfData: string;
504
+ discoveryOptions: {
505
+ targetPage?: number | undefined;
506
+ };
507
+ imageOptions: {
508
+ format: "png" | "jpeg";
509
+ quality: number;
510
+ dpi: number;
511
+ pages?: number[] | undefined;
512
+ };
513
+ aiOptions: {
514
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
515
+ temperature: number;
516
+ maxTokens: number;
517
+ jsonMode: boolean;
518
+ };
519
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
520
+ }, {
521
+ mode: "identify";
522
+ pdfData: string;
523
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
524
+ discoveryOptions?: {
525
+ targetPage?: number | undefined;
526
+ } | undefined;
527
+ imageOptions?: {
528
+ format?: "png" | "jpeg" | undefined;
529
+ quality?: number | undefined;
530
+ pages?: number[] | undefined;
531
+ dpi?: number | undefined;
532
+ } | undefined;
533
+ aiOptions?: {
534
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
535
+ temperature?: number | undefined;
536
+ maxTokens?: number | undefined;
537
+ jsonMode?: boolean | undefined;
538
+ } | undefined;
539
+ }>, z.ZodObject<{
540
+ mode: z.ZodLiteral<"autofill">;
541
+ pdfData: z.ZodString;
542
+ clientInformation: z.ZodString;
543
+ discoveryOptions: z.ZodDefault<z.ZodObject<{
544
+ targetPage: z.ZodOptional<z.ZodNumber>;
545
+ }, "strip", z.ZodTypeAny, {
546
+ targetPage?: number | undefined;
547
+ }, {
548
+ targetPage?: number | undefined;
549
+ }>>;
550
+ imageOptions: z.ZodDefault<z.ZodObject<{
551
+ format: z.ZodDefault<z.ZodEnum<["png", "jpeg"]>>;
552
+ quality: z.ZodDefault<z.ZodNumber>;
553
+ dpi: z.ZodDefault<z.ZodNumber>;
554
+ pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
555
+ }, "strip", z.ZodTypeAny, {
556
+ format: "png" | "jpeg";
557
+ quality: number;
558
+ dpi: number;
559
+ pages?: number[] | undefined;
560
+ }, {
561
+ format?: "png" | "jpeg" | undefined;
562
+ quality?: number | undefined;
563
+ pages?: number[] | undefined;
564
+ dpi?: number | undefined;
565
+ }>>;
566
+ aiOptions: z.ZodDefault<z.ZodObject<{
567
+ model: z.ZodDefault<z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-o4-mini", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview"]>>;
568
+ temperature: z.ZodDefault<z.ZodNumber>;
569
+ maxTokens: z.ZodDefault<z.ZodNumber>;
570
+ jsonMode: z.ZodDefault<z.ZodBoolean>;
571
+ }, "strip", z.ZodTypeAny, {
572
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
573
+ temperature: number;
574
+ maxTokens: number;
575
+ jsonMode: boolean;
576
+ }, {
577
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
578
+ temperature?: number | undefined;
579
+ maxTokens?: number | undefined;
580
+ jsonMode?: boolean | undefined;
581
+ }>>;
582
+ credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
583
+ }, "strip", z.ZodTypeAny, {
584
+ mode: "autofill";
585
+ pdfData: string;
586
+ discoveryOptions: {
587
+ targetPage?: number | undefined;
588
+ };
589
+ imageOptions: {
590
+ format: "png" | "jpeg";
591
+ quality: number;
592
+ dpi: number;
593
+ pages?: number[] | undefined;
594
+ };
595
+ aiOptions: {
596
+ model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview";
597
+ temperature: number;
598
+ maxTokens: number;
599
+ jsonMode: boolean;
600
+ };
601
+ clientInformation: string;
602
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
603
+ }, {
604
+ mode: "autofill";
605
+ pdfData: string;
606
+ clientInformation: string;
607
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
608
+ discoveryOptions?: {
609
+ targetPage?: number | undefined;
610
+ } | undefined;
611
+ imageOptions?: {
612
+ format?: "png" | "jpeg" | undefined;
613
+ quality?: number | undefined;
614
+ pages?: number[] | undefined;
615
+ dpi?: number | undefined;
616
+ } | undefined;
617
+ aiOptions?: {
618
+ model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-o4-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | undefined;
619
+ temperature?: number | undefined;
620
+ maxTokens?: number | undefined;
621
+ jsonMode?: boolean | undefined;
622
+ } | undefined;
623
+ }>]>;
624
+ static readonly resultSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
625
+ mode: z.ZodLiteral<"identify">;
626
+ extractedFields: z.ZodArray<z.ZodObject<{
627
+ id: z.ZodNumber;
628
+ fieldName: z.ZodString;
629
+ confidence: z.ZodNumber;
630
+ }, "strip", z.ZodTypeAny, {
631
+ id: number;
632
+ fieldName: string;
633
+ confidence: number;
634
+ }, {
635
+ id: number;
636
+ fieldName: string;
637
+ confidence: number;
638
+ }>, "many">;
639
+ discoveryData: z.ZodObject<{
640
+ totalFields: z.ZodNumber;
641
+ fieldsWithCoordinates: z.ZodNumber;
642
+ pages: z.ZodArray<z.ZodNumber, "many">;
643
+ }, "strip", z.ZodTypeAny, {
644
+ pages: number[];
645
+ totalFields: number;
646
+ fieldsWithCoordinates: number;
647
+ }, {
648
+ pages: number[];
649
+ totalFields: number;
650
+ fieldsWithCoordinates: number;
651
+ }>;
652
+ imageData: z.ZodObject<{
653
+ totalPages: z.ZodNumber;
654
+ convertedPages: z.ZodNumber;
655
+ format: z.ZodString;
656
+ dpi: z.ZodNumber;
657
+ }, "strip", z.ZodTypeAny, {
658
+ format: string;
659
+ totalPages: number;
660
+ dpi: number;
661
+ convertedPages: number;
662
+ }, {
663
+ format: string;
664
+ totalPages: number;
665
+ dpi: number;
666
+ convertedPages: number;
667
+ }>;
668
+ aiAnalysis: z.ZodObject<{
669
+ model: z.ZodString;
670
+ iterations: z.ZodNumber;
671
+ processingTime: z.ZodOptional<z.ZodNumber>;
672
+ }, "strip", z.ZodTypeAny, {
673
+ iterations: number;
674
+ model: string;
675
+ processingTime?: number | undefined;
676
+ }, {
677
+ iterations: number;
678
+ model: string;
679
+ processingTime?: number | undefined;
680
+ }>;
681
+ success: z.ZodBoolean;
682
+ error: z.ZodString;
683
+ }, "strip", z.ZodTypeAny, {
684
+ success: boolean;
685
+ error: string;
686
+ mode: "identify";
687
+ imageData: {
688
+ format: string;
689
+ totalPages: number;
690
+ dpi: number;
691
+ convertedPages: number;
692
+ };
693
+ extractedFields: {
694
+ id: number;
695
+ fieldName: string;
696
+ confidence: number;
697
+ }[];
698
+ discoveryData: {
699
+ pages: number[];
700
+ totalFields: number;
701
+ fieldsWithCoordinates: number;
702
+ };
703
+ aiAnalysis: {
704
+ iterations: number;
705
+ model: string;
706
+ processingTime?: number | undefined;
707
+ };
708
+ }, {
709
+ success: boolean;
710
+ error: string;
711
+ mode: "identify";
712
+ imageData: {
713
+ format: string;
714
+ totalPages: number;
715
+ dpi: number;
716
+ convertedPages: number;
717
+ };
718
+ extractedFields: {
719
+ id: number;
720
+ fieldName: string;
721
+ confidence: number;
722
+ }[];
723
+ discoveryData: {
724
+ pages: number[];
725
+ totalFields: number;
726
+ fieldsWithCoordinates: number;
727
+ };
728
+ aiAnalysis: {
729
+ iterations: number;
730
+ model: string;
731
+ processingTime?: number | undefined;
732
+ };
733
+ }>, z.ZodObject<{
734
+ mode: z.ZodLiteral<"autofill">;
735
+ extractedFields: z.ZodArray<z.ZodObject<{
736
+ id: z.ZodNumber;
737
+ originalFieldName: z.ZodOptional<z.ZodString>;
738
+ fieldName: z.ZodString;
739
+ value: z.ZodString;
740
+ confidence: z.ZodNumber;
741
+ }, "strip", z.ZodTypeAny, {
742
+ value: string;
743
+ id: number;
744
+ fieldName: string;
745
+ confidence: number;
746
+ originalFieldName?: string | undefined;
747
+ }, {
748
+ value: string;
749
+ id: number;
750
+ fieldName: string;
751
+ confidence: number;
752
+ originalFieldName?: string | undefined;
753
+ }>, "many">;
754
+ filledPdfData: z.ZodString;
755
+ discoveryData: z.ZodObject<{
756
+ totalFields: z.ZodNumber;
757
+ fieldsWithCoordinates: z.ZodNumber;
758
+ pages: z.ZodArray<z.ZodNumber, "many">;
759
+ }, "strip", z.ZodTypeAny, {
760
+ pages: number[];
761
+ totalFields: number;
762
+ fieldsWithCoordinates: number;
763
+ }, {
764
+ pages: number[];
765
+ totalFields: number;
766
+ fieldsWithCoordinates: number;
767
+ }>;
768
+ imageData: z.ZodObject<{
769
+ totalPages: z.ZodNumber;
770
+ convertedPages: z.ZodNumber;
771
+ format: z.ZodString;
772
+ dpi: z.ZodNumber;
773
+ }, "strip", z.ZodTypeAny, {
774
+ format: string;
775
+ totalPages: number;
776
+ dpi: number;
777
+ convertedPages: number;
778
+ }, {
779
+ format: string;
780
+ totalPages: number;
781
+ dpi: number;
782
+ convertedPages: number;
783
+ }>;
784
+ aiAnalysis: z.ZodObject<{
785
+ model: z.ZodString;
786
+ iterations: z.ZodNumber;
787
+ processingTime: z.ZodOptional<z.ZodNumber>;
788
+ }, "strip", z.ZodTypeAny, {
789
+ iterations: number;
790
+ model: string;
791
+ processingTime?: number | undefined;
792
+ }, {
793
+ iterations: number;
794
+ model: string;
795
+ processingTime?: number | undefined;
796
+ }>;
797
+ fillResults: z.ZodObject<{
798
+ filledFields: z.ZodNumber;
799
+ successfullyFilled: z.ZodNumber;
800
+ }, "strip", z.ZodTypeAny, {
801
+ filledFields: number;
802
+ successfullyFilled: number;
803
+ }, {
804
+ filledFields: number;
805
+ successfullyFilled: number;
806
+ }>;
807
+ success: z.ZodBoolean;
808
+ error: z.ZodString;
809
+ }, "strip", z.ZodTypeAny, {
810
+ success: boolean;
811
+ error: string;
812
+ mode: "autofill";
813
+ filledPdfData: string;
814
+ imageData: {
815
+ format: string;
816
+ totalPages: number;
817
+ dpi: number;
818
+ convertedPages: number;
819
+ };
820
+ extractedFields: {
821
+ value: string;
822
+ id: number;
823
+ fieldName: string;
824
+ confidence: number;
825
+ originalFieldName?: string | undefined;
826
+ }[];
827
+ discoveryData: {
828
+ pages: number[];
829
+ totalFields: number;
830
+ fieldsWithCoordinates: number;
831
+ };
832
+ aiAnalysis: {
833
+ iterations: number;
834
+ model: string;
835
+ processingTime?: number | undefined;
836
+ };
837
+ fillResults: {
838
+ filledFields: number;
839
+ successfullyFilled: number;
840
+ };
841
+ }, {
842
+ success: boolean;
843
+ error: string;
844
+ mode: "autofill";
845
+ filledPdfData: string;
846
+ imageData: {
847
+ format: string;
848
+ totalPages: number;
849
+ dpi: number;
850
+ convertedPages: number;
851
+ };
852
+ extractedFields: {
853
+ value: string;
854
+ id: number;
855
+ fieldName: string;
856
+ confidence: number;
857
+ originalFieldName?: string | undefined;
858
+ }[];
859
+ discoveryData: {
860
+ pages: number[];
861
+ totalFields: number;
862
+ fieldsWithCoordinates: number;
863
+ };
864
+ aiAnalysis: {
865
+ iterations: number;
866
+ model: string;
867
+ processingTime?: number | undefined;
868
+ };
869
+ fillResults: {
870
+ filledFields: number;
871
+ successfullyFilled: number;
872
+ };
873
+ }>]>;
874
+ static readonly shortDescription = "PDF OCR workflow: identify fields or autofill forms using AI analysis";
875
+ static readonly longDescription = "\n Comprehensive PDF OCR workflow with two modes for form field processing:\n \n **Identify Mode:**\n - Discovers and names form fields from PDF documents\n - Returns field IDs, descriptive names, and confidence scores\n - Useful for form schema generation and document understanding\n \n **Autofill Mode:**\n - Identifies form fields AND fills them using provided client information\n - Returns field data with values plus a filled PDF\n - Uses AI to intelligently map client data to appropriate form fields\n \n Process:\n 1. Discover form fields using PyMuPDF (field names, types, coordinates)\n 2. Convert PDF pages to high-quality images using PyMuPDF\n 3. Send images + discovery data + client info (autofill mode) to AI agent\n 4. For autofill mode: Use PDF Form Operations to fill the form with AI-determined values\n \n Features:\n - Two distinct modes: identify vs autofill\n - Cross-references visual analysis with form field metadata\n - Supports both fillable PDFs and scanned documents\n - Generates meaningful field names based on PDF content and context\n - Intelligent value mapping from client information (autofill mode)\n - Configurable image quality and AI model selection\n - Returns confidence scores for field identification accuracy\n \n Use cases:\n - **Identify**: Form schema generation, document structure analysis\n - **Autofill**: Automated form filling, client onboarding, data entry automation\n \n Input: Base64 encoded PDF data + mode + client information (autofill mode)\n Output: Mode-specific results with field data and optional filled PDF\n ";
876
+ static readonly alias = "pdf-ocr";
877
+ constructor(params: T, context?: BubbleContext);
878
+ protected performAction(): Promise<Extract<PDFOcrWorkflowResult, {
879
+ mode: T['mode'];
880
+ }>>;
881
+ }
882
+ export {};
883
+ //# sourceMappingURL=pdf-ocr.workflow.d.ts.map