@eigenpal/cli 0.10.26 → 0.10.28

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/dist/cli.js CHANGED
@@ -17080,6 +17080,171 @@ var require_picocolors = __commonJS((exports, module) => {
17080
17080
  module.exports.createColors = createColors;
17081
17081
  });
17082
17082
 
17083
+ // ../types/src/provider-logo-data.generated.ts
17084
+ var PROVIDER_LOGO_DATA;
17085
+ var init_provider_logo_data_generated = __esm(() => {
17086
+ PROVIDER_LOGO_DATA = {
17087
+ anthropic: {
17088
+ title: "Anthropic",
17089
+ viewBox: "0 0 24 24",
17090
+ paths: [
17091
+ {
17092
+ d: "M13.827 3.52h3.603L24 20h-3.603l-6.57-16.48zm-7.258 0h3.767L16.906 20h-3.674l-1.343-3.461H5.017l-1.344 3.46H0L6.57 3.522zm4.132 9.959L8.453 7.687 6.205 13.48H10.7z"
17093
+ }
17094
+ ]
17095
+ },
17096
+ aws: {
17097
+ title: "AWS",
17098
+ viewBox: "0 0 24 24",
17099
+ paths: [
17100
+ {
17101
+ d: "M6.763 11.212c0 .296.032.535.088.71.064.176.144.368.256.576.04.063.056.127.056.183 0 .08-.048.16-.152.24l-.503.335a.383.383 0 01-.208.072c-.08 0-.16-.04-.239-.112a2.47 2.47 0 01-.287-.375 6.18 6.18 0 01-.248-.471c-.622.734-1.405 1.101-2.347 1.101-.67 0-1.205-.191-1.596-.574-.39-.384-.59-.894-.59-1.533 0-.678.24-1.23.726-1.644.487-.415 1.133-.623 1.955-.623.272 0 .551.024.846.064.296.04.6.104.918.176v-.583c0-.607-.127-1.03-.375-1.277-.255-.248-.686-.367-1.3-.367-.28 0-.568.031-.863.103-.295.072-.583.16-.862.272-.09.04-.184.075-.28.104a.488.488 0 01-.127.023c-.112 0-.168-.08-.168-.247v-.391c0-.128.016-.224.056-.28a.597.597 0 01.224-.167 4.577 4.577 0 011.005-.36 4.84 4.84 0 011.246-.151c.95 0 1.644.216 2.091.647.44.43.662 1.085.662 1.963v2.586h.016zm-3.24 1.214c.263 0 .534-.048.822-.144a1.78 1.78 0 00.758-.51 1.27 1.27 0 00.272-.512c.047-.191.08-.423.08-.694v-.335a6.66 6.66 0 00-.735-.136 6.02 6.02 0 00-.75-.048c-.535 0-.926.104-1.19.32-.263.215-.39.518-.39.917 0 .375.095.655.295.846.191.2.47.296.838.296zm6.41.862c-.144 0-.24-.024-.304-.08-.064-.048-.12-.16-.168-.311L7.586 6.726a1.398 1.398 0 01-.072-.32c0-.128.064-.2.191-.2h.783c.151 0 .255.025.31.08.065.048.113.16.16.312l1.342 5.284 1.245-5.284c.04-.16.088-.264.151-.312a.549.549 0 01.32-.08h.638c.152 0 .256.025.32.08.063.048.12.16.151.312l1.261 5.348 1.381-5.348c.048-.16.104-.264.16-.312a.52.52 0 01.311-.08h.743c.127 0 .2.065.2.2 0 .04-.009.08-.017.128a1.137 1.137 0 01-.056.2l-1.923 6.17c-.048.16-.104.263-.168.311a.51.51 0 01-.303.08h-.687c-.15 0-.255-.024-.32-.08-.063-.056-.119-.16-.15-.32L12.32 7.747l-1.23 5.14c-.04.16-.087.264-.15.32-.065.056-.177.08-.32.08l-.686.001zm10.256.215c-.415 0-.83-.048-1.229-.143-.399-.096-.71-.2-.918-.32-.128-.071-.215-.151-.247-.223a.563.563 0 01-.048-.224v-.407c0-.167.064-.247.183-.247.048 0 .096.008.144.024.048.016.12.048.2.08.271.12.566.215.878.279.32.064.63.096.95.096.502 0 .894-.088 1.165-.264a.86.86 0 00.415-.758.777.777 0 00-.215-.559c-.144-.151-.416-.287-.807-.415l-1.157-.36c-.583-.183-1.014-.454-1.277-.813a1.902 1.902 0 01-.4-1.158c0-.335.073-.63.216-.886.144-.255.335-.479.575-.654.24-.184.51-.32.83-.415.32-.096.655-.136 1.006-.136.175 0 .36.008.535.032.183.024.35.056.518.088.16.04.312.08.455.127.144.048.256.096.336.144a.69.69 0 01.24.2.43.43 0 01.071.263v.375c0 .168-.064.256-.184.256a.83.83 0 01-.303-.096 3.652 3.652 0 00-1.532-.311c-.455 0-.815.071-1.062.223-.248.152-.375.383-.375.71 0 .224.08.416.24.567.16.152.454.304.877.44l1.134.358c.574.184.99.44 1.237.767.247.327.367.702.367 1.117 0 .343-.072.655-.207.926a2.157 2.157 0 01-.583.703c-.248.2-.543.343-.886.447-.36.111-.734.167-1.142.167z"
17102
+ },
17103
+ {
17104
+ d: "M.378 15.475c3.384 1.963 7.56 3.153 11.877 3.153 2.914 0 6.114-.607 9.06-1.852.44-.2.814.287.383.607-2.626 1.94-6.442 2.969-9.722 2.969-4.598 0-8.74-1.7-11.87-4.526-.247-.223-.024-.527.272-.351zm23.531-.2c.287.36-.08 2.826-1.485 4.007-.215.184-.423.088-.327-.151l.175-.439c.343-.88.802-2.198.52-2.555-.336-.43-2.22-.207-3.074-.103-.255.032-.295-.192-.063-.36 1.5-1.053 3.967-.75 4.254-.399z"
17105
+ }
17106
+ ]
17107
+ },
17108
+ azure: {
17109
+ title: "Azure",
17110
+ viewBox: "0 0 24 24",
17111
+ paths: [
17112
+ {
17113
+ d: "M18.397 15.296H7.4a.51.51 0 00-.347.882l7.066 6.595c.206.192.477.298.758.298h6.226l-2.706-7.775z",
17114
+ fillOpacity: ".75"
17115
+ },
17116
+ {
17117
+ d: "M8.295.857c-.477 0-.9.304-1.053.756L.495 21.605a1.11 1.11 0 001.052 1.466h5.43c.477 0 .9-.304 1.053-.755l1.341-3.975-2.318-2.163a.51.51 0 01.347-.882h3L15.271.857H8.295z",
17118
+ fillOpacity: ".5"
17119
+ },
17120
+ {
17121
+ d: "M17.193 1.613a1.11 1.11 0 00-1.052-.756h-7.81.035c.477 0 .9.304 1.052.756l6.748 19.992a1.11 1.11 0 01-1.052 1.466h-.12 7.895a1.11 1.11 0 001.052-1.466L17.193 1.613z"
17122
+ }
17123
+ ]
17124
+ },
17125
+ cohere: {
17126
+ title: "Cohere",
17127
+ viewBox: "0 0 24 24",
17128
+ paths: [
17129
+ {
17130
+ d: "M8.128 14.099c.592 0 1.77-.033 3.398-.703 1.897-.781 5.672-2.2 8.395-3.656 1.905-1.018 2.74-2.366 2.74-4.18A4.56 4.56 0 0018.1 1H7.549A6.55 6.55 0 001 7.55c0 3.617 2.745 6.549 7.128 6.549z",
17131
+ clipRule: "evenodd"
17132
+ },
17133
+ {
17134
+ d: "M9.912 18.61a4.387 4.387 0 012.705-4.052l3.323-1.38c3.361-1.394 7.06 1.076 7.06 4.715a5.104 5.104 0 01-5.105 5.104l-3.597-.001a4.386 4.386 0 01-4.386-4.387z",
17135
+ clipRule: "evenodd"
17136
+ },
17137
+ {
17138
+ d: "M4.776 14.962A3.775 3.775 0 001 18.738v.489a3.776 3.776 0 007.551 0v-.49a3.775 3.775 0 00-3.775-3.775z"
17139
+ }
17140
+ ]
17141
+ },
17142
+ deepseek: {
17143
+ title: "DeepSeek",
17144
+ viewBox: "0 0 24 24",
17145
+ paths: [
17146
+ {
17147
+ d: "M23.748 4.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526 5.526 0 01-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365 11.365 0 00-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055 3.055 0 01-.465.137 9.597 9.597 0 00-2.883-.102c-1.885.21-3.39 1.102-4.497 2.623C.082 8.606-.231 10.684.152 12.85c.403 2.284 1.569 4.175 3.36 5.653 1.858 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.133-.284 4.994-1.86.47.234.962.327 1.78.397.63.059 1.236-.03 1.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926 1.096-1.296 2.746-2.642 3.392-7.003.05-.347.007-.565 0-.845-.004-.17.035-.237.23-.256a4.173 4.173 0 001.545-.475c1.396-.763 1.96-2.015 2.093-3.517.02-.23-.004-.467-.247-.588zM11.581 18c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696 4.696 0 011.529-.039c2.132.312 3.946 1.265 5.468 2.774.868.86 1.525 1.887 2.202 2.891.72 1.066 1.494 2.082 2.48 2.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306 0 01.415-.287.302.302 0 01.2.288.306.306 0 01-.31.307.303.303 0 01-.304-.308zm3.11 1.596c-.2.081-.399.151-.59.16a1.245 1.245 0 01-.798-.254c-.274-.23-.47-.358-.552-.758a1.73 1.73 0 01.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559 0 01-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z"
17148
+ }
17149
+ ]
17150
+ },
17151
+ google: {
17152
+ title: "Google",
17153
+ viewBox: "0 0 24 24",
17154
+ paths: [
17155
+ {
17156
+ d: "M23 12.245c0-.905-.075-1.565-.236-2.25h-10.54v4.083h6.186c-.124 1.014-.797 2.542-2.294 3.569l-.021.136 3.332 2.53.23.022C21.779 18.417 23 15.593 23 12.245z"
17157
+ },
17158
+ {
17159
+ d: "M12.225 23c3.03 0 5.574-.978 7.433-2.665l-3.542-2.688c-.948.648-2.22 1.1-3.891 1.1a6.745 6.745 0 01-6.386-4.572l-.132.011-3.465 2.628-.045.124C4.043 20.531 7.835 23 12.225 23z"
17160
+ },
17161
+ {
17162
+ d: "M5.84 14.175A6.65 6.65 0 015.463 12c0-.758.138-1.491.361-2.175l-.006-.147-3.508-2.67-.115.054A10.831 10.831 0 001 12c0 1.772.436 3.447 1.197 4.938l3.642-2.763z"
17163
+ },
17164
+ {
17165
+ d: "M12.225 5.253c2.108 0 3.529.892 4.34 1.638l3.167-3.031C17.787 2.088 15.255 1 12.225 1 7.834 1 4.043 3.469 2.197 7.062l3.63 2.763a6.77 6.77 0 016.398-4.572z"
17166
+ }
17167
+ ]
17168
+ },
17169
+ kimi: {
17170
+ title: "Kimi",
17171
+ viewBox: "0 0 24 24",
17172
+ paths: [
17173
+ {
17174
+ d: "M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z"
17175
+ },
17176
+ {
17177
+ d: "M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z"
17178
+ }
17179
+ ]
17180
+ },
17181
+ meta: {
17182
+ title: "Meta",
17183
+ viewBox: "0 0 24 24",
17184
+ paths: [
17185
+ {
17186
+ d: "M6.897 4c1.915 0 3.516.932 5.43 3.376l.282-.373c.19-.246.383-.484.58-.71l.313-.35C14.588 4.788 15.792 4 17.225 4c1.273 0 2.469.557 3.491 1.516l.218.213c1.73 1.765 2.917 4.71 3.053 8.026l.011.392.002.25c0 1.501-.28 2.759-.818 3.7l-.14.23-.108.153c-.301.42-.664.758-1.086 1.009l-.265.142-.087.04a3.493 3.493 0 01-.302.118 4.117 4.117 0 01-1.33.208c-.524 0-.996-.067-1.438-.215-.614-.204-1.163-.56-1.726-1.116l-.227-.235c-.753-.812-1.534-1.976-2.493-3.586l-1.43-2.41-.544-.895-1.766 3.13-.343.592C7.597 19.156 6.227 20 4.356 20c-1.21 0-2.205-.42-2.936-1.182l-.168-.184c-.484-.573-.837-1.311-1.043-2.189l-.067-.32a8.69 8.69 0 01-.136-1.288L0 14.468c.002-.745.06-1.49.174-2.23l.1-.573c.298-1.53.828-2.958 1.536-4.157l.209-.34c1.177-1.83 2.789-3.053 4.615-3.16L6.897 4zm-.033 2.615l-.201.01c-.83.083-1.606.673-2.252 1.577l-.138.199-.01.018c-.67 1.017-1.185 2.378-1.456 3.845l-.004.022a12.591 12.591 0 00-.207 2.254l.002.188c.004.18.017.36.04.54l.043.291c.092.503.257.908.486 1.208l.117.137c.303.323.698.492 1.17.492 1.1 0 1.796-.676 3.696-3.641l2.175-3.4.454-.701-.139-.198C9.11 7.3 8.084 6.616 6.864 6.616zm10.196-.552l-.176.007c-.635.048-1.223.359-1.82.933l-.196.198c-.439.462-.887 1.064-1.367 1.807l.266.398c.18.274.362.56.55.858l.293.475 1.396 2.335.695 1.114c.583.926 1.03 1.6 1.408 2.082l.213.262c.282.326.529.54.777.673l.102.05c.227.1.457.138.718.138.176.002.35-.023.518-.073.338-.104.61-.32.813-.637l.095-.163.077-.162c.194-.459.29-1.06.29-1.785l-.006-.449c-.08-2.871-.938-5.372-2.2-6.798l-.176-.189c-.67-.683-1.444-1.074-2.27-1.074z"
17187
+ }
17188
+ ]
17189
+ },
17190
+ mistral: {
17191
+ title: "Mistral",
17192
+ viewBox: "0 0 24 24",
17193
+ paths: [
17194
+ {
17195
+ d: "M3.428 3.4h3.429v3.428h3.429v3.429h-.002 3.431V6.828h3.427V3.4h3.43v13.714H24v3.429H13.714v-3.428h-3.428v-3.429h-3.43v3.428h3.43v3.429H0v-3.429h3.428V3.4zm10.286 13.715h3.428v-3.429h-3.427v3.429z",
17196
+ clipRule: "evenodd"
17197
+ }
17198
+ ]
17199
+ },
17200
+ nvidia: {
17201
+ title: "Nvidia",
17202
+ viewBox: "0 0 24 24",
17203
+ paths: [
17204
+ {
17205
+ d: "M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"
17206
+ }
17207
+ ]
17208
+ },
17209
+ openai: {
17210
+ title: "OpenAI",
17211
+ viewBox: "0 0 24 24",
17212
+ paths: [
17213
+ {
17214
+ d: "M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z"
17215
+ }
17216
+ ]
17217
+ },
17218
+ perplexity: {
17219
+ title: "Perplexity",
17220
+ viewBox: "0 0 24 24",
17221
+ paths: [
17222
+ {
17223
+ d: "M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z"
17224
+ }
17225
+ ]
17226
+ },
17227
+ qwen: {
17228
+ title: "Qwen",
17229
+ viewBox: "0 0 24 24",
17230
+ paths: [
17231
+ {
17232
+ d: "M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"
17233
+ }
17234
+ ]
17235
+ },
17236
+ xai: {
17237
+ title: "Grok",
17238
+ viewBox: "0 0 24 24",
17239
+ paths: [
17240
+ {
17241
+ d: "M6.469 8.776L16.512 23h-4.464L2.005 8.776H6.47zm-.004 7.9l2.233 3.164L6.467 23H2l4.465-6.324zM22 2.582V23h-3.659V7.764L22 2.582zM22 1l-9.952 14.095-2.233-3.163L17.533 1H22z"
17242
+ }
17243
+ ]
17244
+ }
17245
+ };
17246
+ });
17247
+
17083
17248
  // ../types/src/core/index.ts
17084
17249
  var init_core3 = () => {};
17085
17250
 
@@ -62073,7 +62238,8 @@ var init_steps = __esm(() => {
62073
62238
  "ai.extract",
62074
62239
  "ai.split",
62075
62240
  "ai.segment",
62076
- "ai.classify"
62241
+ "ai.classify",
62242
+ "ai.vision"
62077
62243
  ];
62078
62244
  TRANSFORM_STEP_TYPES = [
62079
62245
  "transform.set",
@@ -62114,6 +62280,7 @@ var init_steps = __esm(() => {
62114
62280
  AI_SPLIT: "ai.split",
62115
62281
  AI_SEGMENT: "ai.segment",
62116
62282
  AI_CLASSIFY: "ai.classify",
62283
+ AI_VISION: "ai.vision",
62117
62284
  TRANSFORM_SET: "transform.set",
62118
62285
  TRANSFORM_REMOVE: "transform.remove",
62119
62286
  TRANSFORM_COMBINE: "transform.combine",
@@ -62313,7 +62480,7 @@ function isOutputSchemaUnknown(stepType) {
62313
62480
  const def = schema._def;
62314
62481
  return def?.typeName === "ZodUnknown";
62315
62482
  }
62316
- var AiParseConfigSchema, AiParseOutputSchema, AiExtractConfigSchema, AiExtractOutputSchema, AiSplitConfigSchema, AiSplitOutputSchema, AiSegmentConfigSchema, AiSegmentOutputSchema, AiClassifyConfigSchema, AiClassifyOutputSchema, TransformSetConfigSchema, TransformSetOutputSchema, TransformRemoveConfigSchema, TransformRemoveOutputSchema, TransformCombineConfigSchema, TransformCombineOutputSchema, TransformSplitConfigSchema, TransformSplitOutputSchema, TransformMergeConfigSchema, TransformMergeOutputSchema, TransformTemplateConfigSchema, TransformTemplateOutputSchema, TransformPdfEmbedConfigSchema, TransformPdfEmbedOutputSchema, TransformXlsxToJsonConfigSchema, TransformXlsxToJsonOutputSchema, TransformScriptConfigSchema, TransformScriptOutputSchema, ParsedDocPageSchema, TransformTextChunkerConfigSchema, TransformTextChunkerOutputSchema, RegexNormalizerSchema, RegexFormatSchema, REGEX_FLAGS, RegexFieldSchema, TransformRegexExtractConfigSchema, TransformRegexExtractOutputSchema, ActionHttpConfigSchema, ActionHttpOutputSchema, ActionInvokeWorkflowConfigSchema, ActionInvokeWorkflowOutputSchema, ActionWebsiteReaderConfigSchema, ActionWebsiteReaderOutputSchema, ControlIfConfigSchema, ControlIfOutputSchema, ControlSwitchConfigSchema, ControlSwitchOutputSchema, ControlForeachConfigSchema, ControlForeachOutputSchema, ControlParallelMapConfigSchema, ControlParallelMapOutputSchema, ControlParallelConfigSchema, ControlParallelOutputSchema, ControlWaitConfigSchema, ControlWaitOutputSchema, ControlFailConfigSchema, ControlFailOutputSchema, AI_RETRY_CAPABILITY, DETERMINISTIC_RETRY_CAPABILITY, CONTROL_RETRY_CAPABILITY, FILE_OUTPUT_RETRY_CAPABILITY, STEP_RETRY_CAPABILITIES, STEP_SCHEMAS;
62483
+ var AiParseConfigSchema, AiParseOutputSchema, AiExtractConfigSchema, AiExtractOutputSchema, VisionPageRangeSchema, AiVisionConfigSchema, AiVisionOutputSchema, AiSplitConfigSchema, AiSplitSectionSchema, AiSplitOutputSchema, AiSegmentConfigSchema, AiSegmentOutputSchema, AiClassifyConfigSchema, AiClassifyOutputSchema, TransformSetConfigSchema, TransformSetOutputSchema, TransformRemoveConfigSchema, TransformRemoveOutputSchema, TransformCombineConfigSchema, TransformCombineOutputSchema, TransformSplitConfigSchema, TransformSplitOutputSchema, TransformMergeConfigSchema, TransformMergeOutputSchema, TransformTemplateConfigSchema, TransformTemplateOutputSchema, TransformPdfEmbedConfigSchema, TransformPdfEmbedOutputSchema, TransformXlsxToJsonConfigSchema, TransformXlsxToJsonOutputSchema, TransformScriptConfigSchema, TransformScriptOutputSchema, ParsedDocPageSchema, TransformTextChunkerConfigSchema, TransformTextChunkerOutputSchema, RegexNormalizerSchema, RegexFormatSchema, REGEX_FLAGS, RegexFieldSchema, TransformRegexExtractConfigSchema, TransformRegexExtractOutputSchema, ActionHttpConfigSchema, ActionHttpOutputSchema, ActionInvokeWorkflowConfigSchema, ActionInvokeWorkflowOutputSchema, ActionWebsiteReaderConfigSchema, ActionWebsiteReaderOutputSchema, ControlIfConfigSchema, ControlIfOutputSchema, ControlSwitchConfigSchema, ControlSwitchOutputSchema, ControlForeachConfigSchema, ControlForeachOutputSchema, ControlParallelMapConfigSchema, ControlParallelMapOutputSchema, ControlParallelConfigSchema, ControlParallelOutputSchema, ControlWaitConfigSchema, ControlWaitOutputSchema, ControlFailConfigSchema, ControlFailOutputSchema, AI_RETRY_CAPABILITY, DETERMINISTIC_RETRY_CAPABILITY, CONTROL_RETRY_CAPABILITY, FILE_OUTPUT_RETRY_CAPABILITY, STEP_RETRY_CAPABILITIES, STEP_SCHEMAS;
62317
62484
  var init_step_configs = __esm(() => {
62318
62485
  init_zod();
62319
62486
  init_common();
@@ -62330,7 +62497,9 @@ var init_step_configs = __esm(() => {
62330
62497
  prompt: exports_external.string().optional().describe("Custom extraction prompt"),
62331
62498
  languages: exports_external.array(exports_external.string()).optional().describe("OCR language hints"),
62332
62499
  outputFormat: exports_external.enum(["plain", "markdown", "djot", "html"]).default("markdown").optional().describe("Format for extracted text. `markdown` (default) keeps structure and is best for LLM extraction; `plain` is unstyled text; `djot`/`html` preserve more layout. Only the native (Kreuzberg) parser respects this — OCR/VLM always emit markdown."),
62333
- nativeText: exports_external.boolean().default(false).optional().describe("Extract native/embedded text from PDFs without OCR/VLM. Faster and uses no credits. Falls back to OCR/VLM if the PDF has no embedded text.")
62500
+ nativeText: exports_external.boolean().default(false).optional().describe("Extract native/embedded text from PDFs without OCR/VLM. Faster and uses no credits. Falls back to OCR/VLM if the PDF has no embedded text."),
62501
+ describeFigures: exports_external.boolean().optional().describe("Opt-in (default off). After text extraction, detect which pages contain figures with an in-worker layout model, then caption those pages with a vision model and append `<figure>description</figure>` to their text — so image-only pages (property photos, signatures, charts) become findable by text-based steps like ai.split. Note: the layout scan runs over all pages, and the caption step and its vision calls are billed. Skipped for plaintext."),
62502
+ figureInstructions: exports_external.string().optional().describe('Custom instruction for the figure-description pass, e.g. "Describe each figure; label a handwritten signature as `<figure>signature</figure>` and a stamp as `<figure>stamp</figure>`; for property photos note the room or exterior shown." Applied only when describeFigures runs.')
62334
62503
  });
62335
62504
  AiParseOutputSchema = exports_external.object({
62336
62505
  text: exports_external.string().describe("Extracted text content (combined from all pages)"),
@@ -62364,6 +62533,27 @@ var init_step_configs = __esm(() => {
62364
62533
  reviewOn: exports_external.enum(["medium_or_low", "low_only"]).optional().describe("Which grounding confidences set needsReview on a field. Default: low_only (only fields whose value could not be located in the source). Use medium_or_low to also flag approximate and derived matches.")
62365
62534
  });
62366
62535
  AiExtractOutputSchema = exports_external.record(exports_external.string(), exports_external.unknown()).describe("Extracted structured data matching the provided schema. Unless grounding is disabled (grounded: false), the output also carries a reserved `_grounding` map keyed by field name: `_grounding.<field> = { confidence: high|medium|low, needsReview, reason?, source_span: { start, end, text, alignment } | null }`, plus reserved `_degraded: true` / `_reason` markers when the grounding LLM pass could not run.");
62536
+ VisionPageRangeSchema = exports_external.tuple([exports_external.number().int().min(0), exports_external.number().int().min(0)]).describe("Inclusive 0-based [start, end] page range, matching ai.split page_range.");
62537
+ AiVisionConfigSchema = exports_external.object({
62538
+ document: exports_external.string().describe("Template expression resolving to the input file (PDF, image, or Office document)."),
62539
+ pageFrom: exports_external.union([exports_external.number().int().min(0), exports_external.string()]).optional().describe("First page to inspect (0-based, inclusive). Optional. Accepts a template expression. When omitted, starts from the first page."),
62540
+ pageTo: exports_external.union([exports_external.number().int().min(0), exports_external.string()]).optional().describe("Last page to inspect (0-based, inclusive). Optional. Accepts a template expression. When omitted, runs to the last page. When BOTH pageFrom and pageTo are omitted, the whole document is inspected in chunks of maxPages (divide-and-conquer, results merged)."),
62541
+ pages: exports_external.union([exports_external.literal("all"), VisionPageRangeSchema, exports_external.array(VisionPageRangeSchema), exports_external.string()]).optional().describe('DEPRECATED — prefer pageFrom/pageTo. Which pages to inspect: "all", a single [start,end] range, a list of ranges, or a template expression resolving to one of those.'),
62542
+ schema: exports_external.object({
62543
+ type: exports_external.literal("object"),
62544
+ properties: exports_external.record(exports_external.string(), exports_external.unknown()),
62545
+ required: exports_external.array(exports_external.string()).optional()
62546
+ }).refine((schema) => Object.keys(schema.properties).length > 0, {
62547
+ message: "Vision schema must define at least one field"
62548
+ }).describe("JSON Schema defining the structure the vision model should return."),
62549
+ prompt: exports_external.string().optional().describe("Optional instruction refining the extraction. The schema drives it when omitted."),
62550
+ provider: exports_external.string().optional().describe("Provider ID (must support vision)."),
62551
+ model: exports_external.string().optional().describe("Model override (must support vision)."),
62552
+ renderScale: exports_external.number().positive().max(6).optional().describe("PDF render scale (1.0 = 72 DPI). Raise for small text or weak VLM OCR. Capped at 6 to avoid oversized page rasters."),
62553
+ imageQuality: exports_external.number().int().min(1).max(100).optional().describe("JPEG quality for rendered pages (default 85)."),
62554
+ maxPages: exports_external.number().int().positive().max(100).optional().describe(`Chunk size: the maximum pages sent to the vision model in a single call. When the inspected range (or the whole document) is larger, it is split into chunks of this size and the per-chunk results are merged by a reduce pass. The reduce follows each field's DESCRIPTION: a boolean described as "present on any page" is OR-ed, one described as "true for every page" is AND-ed, and list fields are concatenated. The merge is most reliable for boolean/scalar claims; for schemas that AGGREGATE long lists across chunks it can still drop or reorder items, so prefer a bounded page range for large list extraction. Default 20, capped at 100.`)
62555
+ });
62556
+ AiVisionOutputSchema = exports_external.record(exports_external.string(), exports_external.unknown()).describe("Structured data matching the provided schema. The output also carries a reserved `_vision` key recording the inspected source document ref and the page indices that were rendered, so the UI can re-rasterize exactly those pages client-side. `_vision` is excluded from user-schema validation.");
62367
62557
  AiSplitConfigSchema = exports_external.object({
62368
62558
  input: exports_external.string().describe('Template expression resolving to ai.parse output, e.g. "{{ steps.parse.output }}"'),
62369
62559
  sections: exports_external.array(exports_external.object({
@@ -62376,31 +62566,33 @@ var init_step_configs = __esm(() => {
62376
62566
  provider: exports_external.string().optional().describe('Provider ID from eigenpal.config.yaml (e.g. "openai-gpt5.4-mini"). Falls back to the tenant default LLM provider when omitted.'),
62377
62567
  windowTokenBudget: exports_external.number().int().positive().optional().describe("Override the per-window token ceiling for this step. Defaults to env SPLIT_WINDOW_TOKEN_BUDGET or 20000. Smaller windows give sharper anchors on contract-style documents (less competing context for the LLM to mis-anchor on); bump to 50k–100k when sections routinely exceed per-window page count.")
62378
62568
  });
62569
+ AiSplitSectionSchema = exports_external.object({
62570
+ name: exports_external.string().describe("Section name from the config"),
62571
+ page_range: exports_external.tuple([exports_external.number().int(), exports_external.number().int()]).describe("[startIndex, endIndex] inclusive, 0-based page indices"),
62572
+ confidence: exports_external.enum(["low", "medium", "high"]).describe("LLM confidence at the anchor page. Coarse enum (low | medium | high) — numeric scores cluster meaninglessly at 0.85-0.95."),
62573
+ notes: exports_external.string().describe("LLM's justification for the anchor — useful for debugging"),
62574
+ evidence: exports_external.object({
62575
+ start_heading_text: exports_external.string().nullable().optional().describe("Verbatim heading text the LLM cited as the section start"),
62576
+ start_page: exports_external.number().int().nullable().optional().describe("Page where start_heading_text appears")
62577
+ }).optional().describe("Structured start-anchor evidence — parse this instead of regexing over `notes`."),
62578
+ end_evidence: exports_external.object({
62579
+ end_page: exports_external.number().int().describe("LAST page of the section (inclusive)"),
62580
+ confidence: exports_external.enum(["low", "medium", "high"]),
62581
+ notes: exports_external.string().describe("LLM's justification for the end. Pair with start `notes` for reconciliation.")
62582
+ }).optional().describe("Set when the LLM detected an end-of-section cue (matched against the section's `endHints` or an explicit closing marker). Absent when the section was closed by continuity-fill alone."),
62583
+ text: exports_external.string().describe("Joined per-page content for this section, ready for downstream ai.extract"),
62584
+ pages: exports_external.array(exports_external.object({
62585
+ pageIndex: exports_external.number().int(),
62586
+ text: exports_external.string(),
62587
+ pageName: exports_external.string().optional(),
62588
+ source: exports_external.enum(["anchored", "inferred"]).describe("Whether this page is direct LLM evidence (anchored) or continuity-filled (inferred)")
62589
+ })).describe("Raw per-page records covered by this split (in page order). Iterate when downstream needs per-page context (e.g. control.parallel_map over section pages)."),
62590
+ pages_anchored: exports_external.array(exports_external.number().int()).describe("Pages with direct LLM evidence"),
62591
+ pages_inferred: exports_external.array(exports_external.number().int()).describe("Pages assigned by deterministic continuity fill")
62592
+ });
62379
62593
  AiSplitOutputSchema = exports_external.object({
62380
- splits: exports_external.array(exports_external.object({
62381
- name: exports_external.string().describe("Section name from the config"),
62382
- page_range: exports_external.tuple([exports_external.number().int(), exports_external.number().int()]).describe("[startIndex, endIndex] inclusive, 0-based page indices"),
62383
- confidence: exports_external.enum(["low", "medium", "high"]).describe("LLM confidence at the anchor page. Coarse enum (low | medium | high) — numeric scores cluster meaninglessly at 0.85-0.95."),
62384
- notes: exports_external.string().describe("LLM's justification for the anchor — useful for debugging"),
62385
- evidence: exports_external.object({
62386
- start_heading_text: exports_external.string().nullable().optional().describe("Verbatim heading text the LLM cited as the section start"),
62387
- start_page: exports_external.number().int().nullable().optional().describe("Page where start_heading_text appears")
62388
- }).optional().describe("Structured start-anchor evidence — parse this instead of regexing over `notes`."),
62389
- end_evidence: exports_external.object({
62390
- end_page: exports_external.number().int().describe("LAST page of the section (inclusive)"),
62391
- confidence: exports_external.enum(["low", "medium", "high"]),
62392
- notes: exports_external.string().describe("LLM's justification for the end. Pair with start `notes` for reconciliation.")
62393
- }).optional().describe("Set when the LLM detected an end-of-section cue (matched against the section's `endHints` or an explicit closing marker). Absent when the section was closed by continuity-fill alone."),
62394
- text: exports_external.string().describe("Joined per-page content for this section, ready for downstream ai.extract"),
62395
- pages: exports_external.array(exports_external.object({
62396
- pageIndex: exports_external.number().int(),
62397
- text: exports_external.string(),
62398
- pageName: exports_external.string().optional(),
62399
- source: exports_external.enum(["anchored", "inferred"]).describe("Whether this page is direct LLM evidence (anchored) or continuity-filled (inferred)")
62400
- })).describe("Raw per-page records covered by this split (in page order). Iterate when downstream needs per-page context (e.g. control.parallel_map over section pages)."),
62401
- pages_anchored: exports_external.array(exports_external.number().int()).describe("Pages with direct LLM evidence"),
62402
- pages_inferred: exports_external.array(exports_external.number().int()).describe("Pages assigned by deterministic continuity fill")
62403
- })).describe("Sections found in the document, in page order. Absent sections are omitted.")
62594
+ splits: exports_external.array(AiSplitSectionSchema).describe("Sections found in the document, in page order. Absent sections are omitted."),
62595
+ sections: exports_external.record(exports_external.string(), AiSplitSectionSchema).describe("The same sections keyed by config name, so a downstream step can reference one directly: `{{ steps.<split>.output.sections.<name>.page_range }}`. Prefer this over filtering `splits`. On a duplicate name the last wins.")
62404
62596
  });
62405
62597
  AiSegmentConfigSchema = exports_external.object({
62406
62598
  input: exports_external.string().describe('Template expression resolving to ai.parse output, e.g. "{{ steps.parse.output }}"'),
@@ -62799,6 +62991,7 @@ var init_step_configs = __esm(() => {
62799
62991
  "ai.split": AI_RETRY_CAPABILITY,
62800
62992
  "ai.segment": AI_RETRY_CAPABILITY,
62801
62993
  "ai.classify": AI_RETRY_CAPABILITY,
62994
+ "ai.vision": AI_RETRY_CAPABILITY,
62802
62995
  "transform.set": DETERMINISTIC_RETRY_CAPABILITY,
62803
62996
  "transform.remove": DETERMINISTIC_RETRY_CAPABILITY,
62804
62997
  "transform.combine": DETERMINISTIC_RETRY_CAPABILITY,
@@ -62876,6 +63069,15 @@ var init_step_configs = __esm(() => {
62876
63069
  outputSchema: AiClassifyOutputSchema,
62877
63070
  configInWith: true
62878
63071
  },
63072
+ "ai.vision": {
63073
+ type: "ai.vision",
63074
+ category: "ai",
63075
+ name: "Inspect Pages (Vision)",
63076
+ description: "Inspect rendered page images with a vision model and return structured JSON matching a schema. The visual counterpart to Extract Data: use it for conclusions that live in the pixels rather than the text (is the document signed? are the photos usable?). Renders PDF, image, or Office/Word inputs; route to specific pages with an ai.split page range to keep it cheap.",
63077
+ configSchema: AiVisionConfigSchema,
63078
+ outputSchema: AiVisionOutputSchema,
63079
+ configInWith: true
63080
+ },
62879
63081
  "transform.set": {
62880
63082
  type: "transform.set",
62881
63083
  category: "transform",
@@ -66458,10 +66660,256 @@ var init_parsed_document = __esm(() => {
66458
66660
  });
66459
66661
  });
66460
66662
 
66663
+ // ../types/src/ocr/grounding.ts
66664
+ var EXTRACTION_GROUNDING_MODES, ExtractionGroundingModeSchema, EXTRACTION_CITATION_GRANULARITIES, ExtractionCitationGranularitySchema, CitationSourceTypeSchema, ExtractionCitationSchema, ExtractionGroundingFieldSchema, ExtractionGroundingResultSchema;
66665
+ var init_grounding = __esm(() => {
66666
+ init_zod();
66667
+ init_parsed_document();
66668
+ EXTRACTION_GROUNDING_MODES = ["none", "field"];
66669
+ ExtractionGroundingModeSchema = exports_external.enum(EXTRACTION_GROUNDING_MODES);
66670
+ EXTRACTION_CITATION_GRANULARITIES = ["block", "region"];
66671
+ ExtractionCitationGranularitySchema = exports_external.enum(EXTRACTION_CITATION_GRANULARITIES);
66672
+ CitationSourceTypeSchema = exports_external.enum([...PAGE_BLOCK_KINDS, ...REGION_TYPES]);
66673
+ ExtractionCitationSchema = exports_external.object({
66674
+ block_index: exports_external.number().int().min(0),
66675
+ region_id: exports_external.string().min(1).optional(),
66676
+ page_number: exports_external.number().int().min(1),
66677
+ bbox: BoundingBoxSchema,
66678
+ coordinate_width: exports_external.number().int().positive().nullable().optional(),
66679
+ coordinate_height: exports_external.number().int().positive().nullable().optional(),
66680
+ source_type: CitationSourceTypeSchema,
66681
+ granularity: ExtractionCitationGranularitySchema,
66682
+ confidence: exports_external.number().min(0).max(1).optional()
66683
+ }).strict();
66684
+ ExtractionGroundingFieldSchema = exports_external.object({
66685
+ path: exports_external.string().min(1),
66686
+ citations: exports_external.array(ExtractionCitationSchema),
66687
+ dropped_source_ids: exports_external.array(exports_external.string().min(1)).optional()
66688
+ }).strict();
66689
+ ExtractionGroundingResultSchema = exports_external.object({
66690
+ mode: exports_external.literal("field"),
66691
+ fields: exports_external.array(ExtractionGroundingFieldSchema)
66692
+ }).strict();
66693
+ });
66694
+
66695
+ // ../types/src/ocr/llm-models.ts
66696
+ function getDefaultOcrLlmModelId() {
66697
+ const defaults = OCR_LLM_EMERGENCY_CATALOG.filter((entry) => entry.is_default);
66698
+ if (defaults.length !== 1) {
66699
+ throw new Error("OCR_LLM_EMERGENCY_CATALOG must declare exactly one default model");
66700
+ }
66701
+ return defaults[0].id;
66702
+ }
66703
+ function toCustomerRetailCatalogEntry(entry, markup = OCR_LLM_RETAIL_MARKUP) {
66704
+ if (entry.pricing.basis === "customer_retail") {
66705
+ return entry;
66706
+ }
66707
+ if (!Number.isFinite(markup) || markup <= 0) {
66708
+ throw new Error("OCR retail markup must be a positive finite number");
66709
+ }
66710
+ return {
66711
+ ...entry,
66712
+ pricing: {
66713
+ prompt_usd_per_1m: entry.pricing.prompt_usd_per_1m * markup,
66714
+ completion_usd_per_1m: entry.pricing.completion_usd_per_1m * markup,
66715
+ basis: "customer_retail"
66716
+ }
66717
+ };
66718
+ }
66719
+ function toOcrLlmRequestSnapshot(input) {
66720
+ if (input.entry.pricing.basis !== "provider_list") {
66721
+ throw new Error("OCR LLM request snapshot requires provider_list pricing (refuse retail rates to avoid double markup)");
66722
+ }
66723
+ return {
66724
+ catalog_version: input.catalogVersion,
66725
+ model_id: input.entry.id,
66726
+ pricing: {
66727
+ prompt_usd_per_token: input.entry.pricing.prompt_usd_per_1m / 1e6,
66728
+ completion_usd_per_token: input.entry.pricing.completion_usd_per_1m / 1e6,
66729
+ source: "openrouter_provider_list"
66730
+ },
66731
+ reasoning_effort_requested: input.reasoningEffortRequested,
66732
+ reasoning_effort_resolved: input.reasoningEffortResolved
66733
+ };
66734
+ }
66735
+ var OCR_LLM_REASONING_EFFORTS, OcrLlmReasoningEffortSchema, OcrLlmReasoningEffortRequestSchema, OcrLlmRecommendationTierSchema, OcrLlmPublicPricingBasisSchema, OcrLlmProviderListPricingBasisSchema, OcrLlmPricingBasisSchema, OCR_LLM_RETAIL_MARKUP = 2, OcrLlmModelPricingSchema, OcrLlmProviderListPricingSchema, OcrLlmModelReasoningSchema, ocrLlmCatalogEntryFields, OcrLlmModelCatalogEntrySchema, OcrLlmProviderCatalogEntrySchema, OcrLlmModelsListModeSchema, OcrLlmModelsQuerySchema, OcrLlmModelsResponseSchema, OcrLlmRequestSnapshotSchema, OCR_LLM_EMERGENCY_CATALOG, OCR_LLM_CATALOG, OCR_LLM_MODEL_IDS, OCR_LLM_CERTIFIED_MODEL_IDS, OCR_LLM_SUGGESTED_PROVIDERS, OCR_LLM_SUGGESTED_MAX_AGE_DAYS = 90;
66736
+ var init_llm_models = __esm(() => {
66737
+ init_zod();
66738
+ OCR_LLM_REASONING_EFFORTS = [
66739
+ "none",
66740
+ "minimal",
66741
+ "low",
66742
+ "medium",
66743
+ "high",
66744
+ "xhigh",
66745
+ "max"
66746
+ ];
66747
+ OcrLlmReasoningEffortSchema = exports_external.enum(OCR_LLM_REASONING_EFFORTS);
66748
+ OcrLlmReasoningEffortRequestSchema = exports_external.union([
66749
+ exports_external.literal("auto"),
66750
+ OcrLlmReasoningEffortSchema
66751
+ ]);
66752
+ OcrLlmRecommendationTierSchema = exports_external.enum(["suggested", "compatible"]);
66753
+ OcrLlmPublicPricingBasisSchema = exports_external.literal("customer_retail");
66754
+ OcrLlmProviderListPricingBasisSchema = exports_external.literal("provider_list");
66755
+ OcrLlmPricingBasisSchema = exports_external.enum(["customer_retail", "provider_list"]);
66756
+ OcrLlmModelPricingSchema = exports_external.object({
66757
+ prompt_usd_per_1m: exports_external.number().finite().nonnegative(),
66758
+ completion_usd_per_1m: exports_external.number().finite().nonnegative(),
66759
+ basis: OcrLlmPublicPricingBasisSchema
66760
+ }).strict();
66761
+ OcrLlmProviderListPricingSchema = exports_external.object({
66762
+ prompt_usd_per_1m: exports_external.number().finite().nonnegative(),
66763
+ completion_usd_per_1m: exports_external.number().finite().nonnegative(),
66764
+ basis: OcrLlmProviderListPricingBasisSchema
66765
+ }).strict();
66766
+ OcrLlmModelReasoningSchema = exports_external.object({
66767
+ supported_efforts: exports_external.array(OcrLlmReasoningEffortSchema).nullable(),
66768
+ default_effort: OcrLlmReasoningEffortSchema.nullable(),
66769
+ mandatory: exports_external.boolean(),
66770
+ supports_max_tokens: exports_external.boolean()
66771
+ }).strict();
66772
+ ocrLlmCatalogEntryFields = {
66773
+ id: exports_external.string().min(1).max(200),
66774
+ label: exports_external.string().min(1).max(120),
66775
+ provider: exports_external.string().min(1).max(64),
66776
+ created_at: exports_external.string().datetime().nullable(),
66777
+ context_length: exports_external.number().int().positive().nullable(),
66778
+ recommendation: OcrLlmRecommendationTierSchema,
66779
+ is_default: exports_external.boolean(),
66780
+ certified_grounding: exports_external.boolean(),
66781
+ certified_suggest: exports_external.boolean(),
66782
+ supports_grounding: exports_external.boolean(),
66783
+ supports_suggest: exports_external.boolean(),
66784
+ pricing_known: exports_external.literal(true),
66785
+ reasoning: OcrLlmModelReasoningSchema.nullable(),
66786
+ deprecated_at: exports_external.string().datetime().nullable()
66787
+ };
66788
+ OcrLlmModelCatalogEntrySchema = exports_external.object({
66789
+ ...ocrLlmCatalogEntryFields,
66790
+ pricing: OcrLlmModelPricingSchema
66791
+ }).strict();
66792
+ OcrLlmProviderCatalogEntrySchema = exports_external.object({
66793
+ ...ocrLlmCatalogEntryFields,
66794
+ pricing: OcrLlmProviderListPricingSchema
66795
+ }).strict();
66796
+ OcrLlmModelsListModeSchema = exports_external.enum(["suggested", "search"]);
66797
+ OcrLlmModelsQuerySchema = exports_external.object({
66798
+ mode: OcrLlmModelsListModeSchema.default("suggested"),
66799
+ q: exports_external.string().max(200).optional(),
66800
+ page: exports_external.coerce.number().int().min(1).default(1),
66801
+ limit: exports_external.coerce.number().int().min(1).max(100).default(25)
66802
+ }).strict();
66803
+ OcrLlmModelsResponseSchema = exports_external.object({
66804
+ mode: OcrLlmModelsListModeSchema,
66805
+ catalog_version: exports_external.string().min(1),
66806
+ fetched_at: exports_external.string().datetime(),
66807
+ stale: exports_external.boolean(),
66808
+ data: exports_external.array(OcrLlmModelCatalogEntrySchema),
66809
+ page: exports_external.number().int().min(1),
66810
+ limit: exports_external.number().int().min(1).max(100),
66811
+ total: exports_external.number().int().min(0),
66812
+ has_more: exports_external.boolean()
66813
+ }).strict();
66814
+ OcrLlmRequestSnapshotSchema = exports_external.object({
66815
+ catalog_version: exports_external.string().min(1),
66816
+ model_id: exports_external.string().min(1).max(200),
66817
+ pricing: exports_external.object({
66818
+ prompt_usd_per_token: exports_external.number().finite().nonnegative(),
66819
+ completion_usd_per_token: exports_external.number().finite().nonnegative(),
66820
+ source: exports_external.literal("openrouter_provider_list")
66821
+ }).strict(),
66822
+ reasoning_effort_requested: OcrLlmReasoningEffortRequestSchema.nullable(),
66823
+ reasoning_effort_resolved: OcrLlmReasoningEffortSchema.nullable()
66824
+ }).strict();
66825
+ OCR_LLM_EMERGENCY_CATALOG = [
66826
+ {
66827
+ id: "openai/gpt-4.1-mini",
66828
+ label: "GPT-4.1 Mini",
66829
+ provider: "openai",
66830
+ created_at: null,
66831
+ context_length: 1047576,
66832
+ pricing: {
66833
+ prompt_usd_per_1m: 0.4,
66834
+ completion_usd_per_1m: 1.6,
66835
+ basis: "provider_list"
66836
+ },
66837
+ recommendation: "suggested",
66838
+ is_default: true,
66839
+ certified_grounding: true,
66840
+ certified_suggest: true,
66841
+ supports_grounding: true,
66842
+ supports_suggest: true,
66843
+ pricing_known: true,
66844
+ reasoning: null,
66845
+ deprecated_at: null
66846
+ },
66847
+ {
66848
+ id: "openai/gpt-4.1",
66849
+ label: "GPT-4.1",
66850
+ provider: "openai",
66851
+ created_at: null,
66852
+ context_length: 1047576,
66853
+ pricing: {
66854
+ prompt_usd_per_1m: 2,
66855
+ completion_usd_per_1m: 8,
66856
+ basis: "provider_list"
66857
+ },
66858
+ recommendation: "suggested",
66859
+ is_default: false,
66860
+ certified_grounding: true,
66861
+ certified_suggest: true,
66862
+ supports_grounding: true,
66863
+ supports_suggest: true,
66864
+ pricing_known: true,
66865
+ reasoning: null,
66866
+ deprecated_at: null
66867
+ },
66868
+ {
66869
+ id: "anthropic/claude-sonnet-4",
66870
+ label: "Claude Sonnet 4",
66871
+ provider: "anthropic",
66872
+ created_at: null,
66873
+ context_length: 200000,
66874
+ pricing: {
66875
+ prompt_usd_per_1m: 3,
66876
+ completion_usd_per_1m: 15,
66877
+ basis: "provider_list"
66878
+ },
66879
+ recommendation: "suggested",
66880
+ is_default: false,
66881
+ certified_grounding: true,
66882
+ certified_suggest: true,
66883
+ supports_grounding: true,
66884
+ supports_suggest: true,
66885
+ pricing_known: true,
66886
+ reasoning: {
66887
+ supported_efforts: ["low", "medium", "high"],
66888
+ default_effort: "medium",
66889
+ mandatory: false,
66890
+ supports_max_tokens: true
66891
+ },
66892
+ deprecated_at: null
66893
+ }
66894
+ ];
66895
+ OCR_LLM_CATALOG = OCR_LLM_EMERGENCY_CATALOG;
66896
+ OCR_LLM_MODEL_IDS = OCR_LLM_EMERGENCY_CATALOG.map((entry) => entry.id);
66897
+ OCR_LLM_CERTIFIED_MODEL_IDS = OCR_LLM_EMERGENCY_CATALOG.filter((entry) => entry.certified_grounding || entry.certified_suggest).map((entry) => entry.id);
66898
+ OCR_LLM_SUGGESTED_PROVIDERS = [
66899
+ "openai",
66900
+ "anthropic",
66901
+ "google",
66902
+ "x-ai",
66903
+ "moonshotai"
66904
+ ];
66905
+ });
66906
+
66461
66907
  // ../types/src/ocr/extraction.ts
66462
66908
  var EXTRACTION_ATTEMPT_KINDS, ExtractionAttemptKindSchema, EXTRACTION_ATTEMPT_STATUSES, ExtractionAttemptStatusSchema, LlmModelSchema, ExtractionAttemptSchema, ExtractionUsageTotalsSchema, ExtractionTerminalResultSchema;
66463
66909
  var init_extraction = __esm(() => {
66464
66910
  init_zod();
66911
+ init_grounding();
66912
+ init_llm_models();
66465
66913
  init_parsed_document();
66466
66914
  EXTRACTION_ATTEMPT_KINDS = ["primary", "repair"];
66467
66915
  ExtractionAttemptKindSchema = exports_external.enum(EXTRACTION_ATTEMPT_KINDS);
@@ -66486,8 +66934,50 @@ var init_extraction = __esm(() => {
66486
66934
  output: exports_external.unknown(),
66487
66935
  parsed_document: ParsedDocumentSchema,
66488
66936
  llm_model: LlmModelSchema,
66937
+ parse_job_id: exports_external.string().uuid().optional(),
66938
+ reasoning_effort: OcrLlmReasoningEffortSchema.nullable().optional(),
66489
66939
  attempts: exports_external.array(ExtractionAttemptSchema).min(1),
66490
- usage: ExtractionUsageTotalsSchema.optional()
66940
+ usage: ExtractionUsageTotalsSchema.optional(),
66941
+ grounding: ExtractionGroundingResultSchema.optional()
66942
+ }).strict();
66943
+ });
66944
+
66945
+ // ../types/src/ocr/model-options.ts
66946
+ function applyPaddleOcrOptionDefaults(requested) {
66947
+ return {
66948
+ image_block_ocr: requested?.image_block_ocr ?? PADDLE_OCR_OPTION_DEFAULTS.image_block_ocr,
66949
+ chart_recognition: requested?.chart_recognition ?? PADDLE_OCR_OPTION_DEFAULTS.chart_recognition,
66950
+ figure_assets: requested?.figure_assets ?? PADDLE_OCR_OPTION_DEFAULTS.figure_assets
66951
+ };
66952
+ }
66953
+ var OcrFigureAssetsModeSchema, PaddleOcrOptionsRequestSchema, PaddleOcrOptionsEffectiveSchema, PADDLE_OCR_OPTION_DEFAULTS, OcrOptionsRequestSchema, OcrOptionsEffectiveSchema, LlmOptionsRequestSchema, LlmOptionsStoredSchema, OcrModelOptionCapabilitySchema;
66954
+ var init_model_options = __esm(() => {
66955
+ init_zod();
66956
+ init_llm_models();
66957
+ OcrFigureAssetsModeSchema = exports_external.enum(["none", "stored"]);
66958
+ PaddleOcrOptionsRequestSchema = exports_external.object({
66959
+ image_block_ocr: exports_external.boolean().optional(),
66960
+ chart_recognition: exports_external.boolean().optional(),
66961
+ figure_assets: OcrFigureAssetsModeSchema.optional()
66962
+ }).strict();
66963
+ PaddleOcrOptionsEffectiveSchema = exports_external.object({
66964
+ image_block_ocr: exports_external.boolean(),
66965
+ chart_recognition: exports_external.boolean(),
66966
+ figure_assets: OcrFigureAssetsModeSchema
66967
+ }).strict();
66968
+ PADDLE_OCR_OPTION_DEFAULTS = {
66969
+ image_block_ocr: false,
66970
+ chart_recognition: true,
66971
+ figure_assets: "none"
66972
+ };
66973
+ OcrOptionsRequestSchema = PaddleOcrOptionsRequestSchema;
66974
+ OcrOptionsEffectiveSchema = PaddleOcrOptionsEffectiveSchema;
66975
+ LlmOptionsRequestSchema = exports_external.object({ reasoning_effort: OcrLlmReasoningEffortRequestSchema.optional() }).strict();
66976
+ LlmOptionsStoredSchema = exports_external.object({ reasoning_effort: OcrLlmReasoningEffortRequestSchema.nullable() }).strict();
66977
+ OcrModelOptionCapabilitySchema = exports_external.object({
66978
+ image_block_ocr: exports_external.boolean(),
66979
+ chart_recognition: exports_external.boolean(),
66980
+ figure_assets: exports_external.boolean()
66491
66981
  }).strict();
66492
66982
  });
66493
66983
 
@@ -66495,15 +66985,20 @@ var init_extraction = __esm(() => {
66495
66985
  var OCR_OUTPUT_FORMATS, OcrOutputFormatSchema, PaddleRawProfileSchema, RawParseResultSchema;
66496
66986
  var init_raw_result = __esm(() => {
66497
66987
  init_zod();
66988
+ init_model_options();
66498
66989
  OCR_OUTPUT_FORMATS = ["openparser@1", "raw"];
66499
66990
  OcrOutputFormatSchema = exports_external.enum(OCR_OUTPUT_FORMATS);
66500
66991
  PaddleRawProfileSchema = exports_external.object({
66501
66992
  name: exports_external.literal("eigenpal-paddle-layout-v1"),
66502
66993
  options: exports_external.object({
66503
66994
  format_block_content: exports_external.literal(true),
66504
- use_chart_recognition: exports_external.literal(true),
66505
- return_markdown_images: exports_external.literal(false),
66506
- visualize: exports_external.literal(false)
66995
+ use_chart_recognition: exports_external.boolean(),
66996
+ use_ocr_for_image_block: exports_external.boolean(),
66997
+ return_markdown_images: exports_external.boolean(),
66998
+ visualize: exports_external.literal(false),
66999
+ image_block_ocr: exports_external.boolean(),
67000
+ chart_recognition: exports_external.boolean(),
67001
+ figure_assets: OcrFigureAssetsModeSchema
66507
67002
  }).strict()
66508
67003
  }).strict();
66509
67004
  RawParseResultSchema = exports_external.object({
@@ -66515,13 +67010,51 @@ var init_raw_result = __esm(() => {
66515
67010
  }).strict();
66516
67011
  });
66517
67012
 
67013
+ // ../types/src/ocr/suggest-schema.ts
67014
+ function resolveSuggestSchemaLlmModel(requested) {
67015
+ const trimmed = requested?.trim();
67016
+ return trimmed && trimmed.length > 0 ? trimmed : getDefaultOcrLlmModelId();
67017
+ }
67018
+ var SUGGEST_SCHEMA_HINT_MAX_CHARS = 500, SUGGEST_SCHEMA_PREVIEW_MAX_PAGES = 2, SUGGEST_SCHEMA_PREVIEW_MAX_CHARS = 24000, SuggestSchemaHintSchema, SuggestSchemaRequestSchema, SuggestSchemaPreviewMetaSchema, SuggestSchemaTerminalResultSchema;
67019
+ var init_suggest_schema = __esm(() => {
67020
+ init_zod();
67021
+ init_extraction();
67022
+ init_llm_models();
67023
+ init_model_options();
67024
+ SuggestSchemaHintSchema = exports_external.string().min(1).max(SUGGEST_SCHEMA_HINT_MAX_CHARS);
67025
+ SuggestSchemaRequestSchema = exports_external.object({
67026
+ parse_job_id: exports_external.string().uuid(),
67027
+ llm_model: LlmModelSchema.optional(),
67028
+ llm_options: LlmOptionsRequestSchema.optional(),
67029
+ hint: SuggestSchemaHintSchema.optional()
67030
+ }).strict();
67031
+ SuggestSchemaPreviewMetaSchema = exports_external.object({
67032
+ max_pages: exports_external.literal(SUGGEST_SCHEMA_PREVIEW_MAX_PAGES),
67033
+ max_chars: exports_external.literal(SUGGEST_SCHEMA_PREVIEW_MAX_CHARS),
67034
+ truncated: exports_external.boolean(),
67035
+ char_count: exports_external.number().int().min(0).max(SUGGEST_SCHEMA_PREVIEW_MAX_CHARS)
67036
+ }).strict();
67037
+ SuggestSchemaTerminalResultSchema = exports_external.object({
67038
+ name: exports_external.string().min(1).max(200),
67039
+ schema: exports_external.record(exports_external.string(), exports_external.unknown()),
67040
+ parse_job_id: exports_external.string().uuid(),
67041
+ llm_model: LlmModelSchema,
67042
+ reasoning_effort: OcrLlmReasoningEffortSchema.nullable().optional(),
67043
+ hint: SuggestSchemaHintSchema.optional(),
67044
+ preview: SuggestSchemaPreviewMetaSchema,
67045
+ attempts: exports_external.array(ExtractionAttemptSchema).min(1),
67046
+ usage: ExtractionUsageTotalsSchema.optional()
67047
+ }).strict();
67048
+ });
67049
+
66518
67050
  // ../types/src/ocr/jobs.ts
66519
- var OCR_OPENAPI_RELATIVE_PATH = "docs/OCR_API_OPENAPI.yaml", OCR_JOB_STATUSES, JobStatusSchema, OCR_JOB_OPERATIONS, JobOperationSchema, JobIdSchema, JobFailureSchema, JobAcceptedSchema, BatchJobAcceptedSchema, BatchChildSummarySchema, BatchChildPageSchema, BatchSummaryCountsSchema, JobProgressSchema, JobSchema, ErrorBodySchema, ErrorResponseSchema, OCR_SYNC_STATUS_CODES;
67051
+ var OCR_OPENAPI_RELATIVE_PATH = "docs/OCR_API_OPENAPI.yaml", OCR_JOB_STATUSES, JobStatusSchema, OCR_JOB_OPERATIONS, JobOperationSchema, JobIdSchema, JobFailureSchema, JobAcceptedSchema, BatchJobAcceptedSchema, BatchChildSummarySchema, BatchChildPageSchema, BatchSummaryCountsSchema, JobProgressSchema, JobSchema, OCR_JOB_LIST_DEFAULT_LIMIT = 25, OCR_JOB_LIST_MAX_LIMIT = 100, JobSummarySchema, JobListResponseSchema, JobListQuerySchema, ErrorBodySchema, ErrorResponseSchema, OCR_SYNC_STATUS_CODES;
66520
67052
  var init_jobs = __esm(() => {
66521
67053
  init_zod();
66522
67054
  init_extraction();
66523
67055
  init_parsed_document();
66524
67056
  init_raw_result();
67057
+ init_suggest_schema();
66525
67058
  OCR_JOB_STATUSES = [
66526
67059
  "queued",
66527
67060
  "running",
@@ -66530,7 +67063,13 @@ var init_jobs = __esm(() => {
66530
67063
  "indeterminate"
66531
67064
  ];
66532
67065
  JobStatusSchema = exports_external.enum(OCR_JOB_STATUSES);
66533
- OCR_JOB_OPERATIONS = ["parse", "extract", "parse_batch", "extract_batch"];
67066
+ OCR_JOB_OPERATIONS = [
67067
+ "parse",
67068
+ "extract",
67069
+ "suggest_schema",
67070
+ "parse_batch",
67071
+ "extract_batch"
67072
+ ];
66534
67073
  JobOperationSchema = exports_external.enum(OCR_JOB_OPERATIONS);
66535
67074
  JobIdSchema = exports_external.string().uuid();
66536
67075
  JobFailureSchema = exports_external.object({
@@ -66541,7 +67080,7 @@ var init_jobs = __esm(() => {
66541
67080
  }).strict();
66542
67081
  JobAcceptedSchema = exports_external.object({
66543
67082
  id: JobIdSchema,
66544
- operation: exports_external.enum(["parse", "extract"]),
67083
+ operation: exports_external.enum(["parse", "extract", "suggest_schema"]),
66545
67084
  status: JobStatusSchema,
66546
67085
  output_format: OcrOutputFormatSchema,
66547
67086
  created_at: exports_external.string().datetime(),
@@ -66590,10 +67129,39 @@ var init_jobs = __esm(() => {
66590
67129
  updated_at: exports_external.string().datetime(),
66591
67130
  progress: JobProgressSchema.optional(),
66592
67131
  error: JobFailureSchema.optional(),
66593
- result: exports_external.union([ParsedDocumentSchema, RawParseResultSchema, ExtractionTerminalResultSchema]).optional(),
67132
+ result: exports_external.union([
67133
+ ParsedDocumentSchema,
67134
+ RawParseResultSchema,
67135
+ ExtractionTerminalResultSchema,
67136
+ SuggestSchemaTerminalResultSchema
67137
+ ]).optional(),
66594
67138
  summary: BatchSummaryCountsSchema.optional(),
66595
67139
  children: BatchChildPageSchema.optional()
66596
67140
  }).strict();
67141
+ JobSummarySchema = exports_external.object({
67142
+ id: JobIdSchema,
67143
+ operation: JobOperationSchema,
67144
+ status: JobStatusSchema,
67145
+ output_format: OcrOutputFormatSchema,
67146
+ ocr_model: exports_external.string().min(1).nullable().optional(),
67147
+ llm_model: exports_external.string().min(1).nullable().optional(),
67148
+ page_count: exports_external.number().int().min(0),
67149
+ created_at: exports_external.string().datetime(),
67150
+ updated_at: exports_external.string().datetime(),
67151
+ error: JobFailureSchema.optional(),
67152
+ has_result: exports_external.boolean(),
67153
+ url: exports_external.string().min(1)
67154
+ }).strict();
67155
+ JobListResponseSchema = exports_external.object({
67156
+ data: exports_external.array(JobSummarySchema),
67157
+ next_cursor: exports_external.string().nullable()
67158
+ }).strict();
67159
+ JobListQuerySchema = exports_external.object({
67160
+ cursor: exports_external.string().min(1).optional(),
67161
+ limit: exports_external.coerce.number().int().min(1).max(OCR_JOB_LIST_MAX_LIMIT).optional().default(OCR_JOB_LIST_DEFAULT_LIMIT),
67162
+ status: JobStatusSchema.optional(),
67163
+ operation: JobOperationSchema.optional()
67164
+ }).strict();
66597
67165
  ErrorBodySchema = exports_external.object({
66598
67166
  code: exports_external.string().min(1),
66599
67167
  message: exports_external.string().min(1),
@@ -66612,6 +67180,185 @@ var init_jobs = __esm(() => {
66612
67180
  };
66613
67181
  });
66614
67182
 
67183
+ // ../types/src/ocr/ocr-models.ts
67184
+ function getDefaultOcrModelId() {
67185
+ const defaults = OCR_MODEL_CATALOG.filter((entry) => entry.is_default);
67186
+ if (defaults.length !== 1) {
67187
+ throw new Error("OCR_MODEL_CATALOG must declare exactly one default model");
67188
+ }
67189
+ return defaults[0].id;
67190
+ }
67191
+ function getOcrModelUsdPerPage(modelId) {
67192
+ const entry = OCR_MODEL_CATALOG.find((model) => model.id === modelId);
67193
+ const usd = entry?.pricing.usd_per_page;
67194
+ if (usd == null || !Number.isFinite(usd) || usd < 0)
67195
+ return null;
67196
+ return usd;
67197
+ }
67198
+ function requireOcrModelUsdPerPage(modelId) {
67199
+ const usd = getOcrModelUsdPerPage(modelId);
67200
+ if (usd == null) {
67201
+ throw new Error(`OCR model ${modelId} is missing customer retail page pricing`);
67202
+ }
67203
+ return usd;
67204
+ }
67205
+ var OCR_MODELS, OcrModelAvailabilitySchema, OcrModelPricingBasisSchema, OcrModelPricingSchema, PADDLE_OCR_USD_PER_PAGE = 0.001, OcrModelCatalogEntrySchema, OcrModelsResponseSchema, PADDLE_OPTION_CAPABILITIES, OCR_MODEL_CATALOG;
67206
+ var init_ocr_models = __esm(() => {
67207
+ init_zod();
67208
+ init_model_options();
67209
+ OCR_MODELS = ["paddleocr-vl-1.6"];
67210
+ OcrModelAvailabilitySchema = exports_external.enum(["available", "degraded", "unavailable"]);
67211
+ OcrModelPricingBasisSchema = exports_external.literal("customer_retail");
67212
+ OcrModelPricingSchema = exports_external.object({
67213
+ usd_per_page: exports_external.number().finite().nonnegative(),
67214
+ basis: OcrModelPricingBasisSchema
67215
+ }).strict();
67216
+ OcrModelCatalogEntrySchema = exports_external.object({
67217
+ id: exports_external.string().min(1).max(128),
67218
+ label: exports_external.string().min(1).max(120),
67219
+ is_default: exports_external.boolean(),
67220
+ capabilities: exports_external.object({
67221
+ parse: exports_external.boolean(),
67222
+ extract_source: exports_external.boolean(),
67223
+ markdown: exports_external.boolean(),
67224
+ regions: exports_external.boolean(),
67225
+ options: OcrModelOptionCapabilitySchema
67226
+ }).strict(),
67227
+ option_defaults: exports_external.object({
67228
+ image_block_ocr: exports_external.boolean(),
67229
+ chart_recognition: exports_external.boolean(),
67230
+ figure_assets: exports_external.enum(["none", "stored"])
67231
+ }).strict(),
67232
+ pricing: OcrModelPricingSchema,
67233
+ availability: OcrModelAvailabilitySchema
67234
+ }).strict();
67235
+ OcrModelsResponseSchema = exports_external.object({ data: exports_external.array(OcrModelCatalogEntrySchema).min(1) }).strict();
67236
+ PADDLE_OPTION_CAPABILITIES = {
67237
+ image_block_ocr: true,
67238
+ chart_recognition: true,
67239
+ figure_assets: true
67240
+ };
67241
+ OCR_MODEL_CATALOG = [
67242
+ {
67243
+ id: "paddleocr-vl-1.6",
67244
+ label: "PaddleOCR-VL 1.6",
67245
+ is_default: true,
67246
+ capabilities: {
67247
+ parse: true,
67248
+ extract_source: true,
67249
+ markdown: true,
67250
+ regions: true,
67251
+ options: PADDLE_OPTION_CAPABILITIES
67252
+ },
67253
+ option_defaults: { ...PADDLE_OCR_OPTION_DEFAULTS },
67254
+ pricing: {
67255
+ usd_per_page: PADDLE_OCR_USD_PER_PAGE,
67256
+ basis: "customer_retail"
67257
+ },
67258
+ availability: "available"
67259
+ }
67260
+ ];
67261
+ });
67262
+
67263
+ // ../types/src/ocr/pipelines.ts
67264
+ function refineExtractPipelineXor(value, ctx, options) {
67265
+ const hasPipeline = value.pipeline_id !== undefined;
67266
+ const presentInline = EXTRACT_INLINE_CONFIG_KEYS.filter((key) => value[key] !== undefined);
67267
+ const requireOcrModel = options?.requireOcrModel !== false;
67268
+ if (hasPipeline && presentInline.length > 0) {
67269
+ ctx.addIssue({
67270
+ code: "custom",
67271
+ message: "pipeline_inline_conflict",
67272
+ path: ["pipeline_id"]
67273
+ });
67274
+ return;
67275
+ }
67276
+ if (hasPipeline)
67277
+ return;
67278
+ if (requireOcrModel && value.ocr_model === undefined) {
67279
+ ctx.addIssue({ code: "custom", message: "Required", path: ["ocr_model"] });
67280
+ }
67281
+ if (value.llm_model === undefined) {
67282
+ ctx.addIssue({ code: "custom", message: "Required", path: ["llm_model"] });
67283
+ }
67284
+ if (value.schema === undefined) {
67285
+ ctx.addIssue({ code: "custom", message: "Required", path: ["schema"] });
67286
+ }
67287
+ }
67288
+ var ExtractionPipelineIdSchema, ExtractionPipelineNameSchema, ExtractionPipelineSlugSchema, PipelineConfigFields, CreateExtractionPipelineRequestSchema, UpdateExtractionPipelineRequestSchema, ExtractionPipelineSchema, ExtractionPipelineListResponseSchema, DeleteExtractionPipelineResponseSchema, EXTRACT_INLINE_CONFIG_KEYS;
67289
+ var init_pipelines = __esm(() => {
67290
+ init_zod();
67291
+ init_extraction();
67292
+ init_grounding();
67293
+ init_model_options();
67294
+ ExtractionPipelineIdSchema = exports_external.string().regex(/^oep_[A-Za-z0-9_-]+$/, "pipeline_id must be an oep_… id").max(128);
67295
+ ExtractionPipelineNameSchema = exports_external.string().trim().min(1).max(128);
67296
+ ExtractionPipelineSlugSchema = exports_external.string().trim().min(1).max(128).regex(/^[a-z0-9][a-z0-9_-]*$/, "slug must be lowercase alphanumeric with _ or -");
67297
+ PipelineConfigFields = {
67298
+ ocr_model: exports_external.string().min(1).max(128),
67299
+ ocr_options: OcrOptionsRequestSchema.optional(),
67300
+ llm_model: LlmModelSchema,
67301
+ llm_options: LlmOptionsRequestSchema.optional(),
67302
+ schema: exports_external.record(exports_external.string(), exports_external.unknown()),
67303
+ repair_attempts: exports_external.number().int().min(0).max(2).optional(),
67304
+ grounding: ExtractionGroundingModeSchema.optional()
67305
+ };
67306
+ CreateExtractionPipelineRequestSchema = exports_external.object({
67307
+ name: ExtractionPipelineNameSchema,
67308
+ slug: ExtractionPipelineSlugSchema.optional(),
67309
+ ...PipelineConfigFields
67310
+ }).strict();
67311
+ UpdateExtractionPipelineRequestSchema = exports_external.object({
67312
+ name: ExtractionPipelineNameSchema.optional(),
67313
+ slug: ExtractionPipelineSlugSchema.nullable().optional(),
67314
+ ocr_model: PipelineConfigFields.ocr_model.optional(),
67315
+ ocr_options: OcrOptionsRequestSchema.nullable().optional(),
67316
+ llm_model: PipelineConfigFields.llm_model.optional(),
67317
+ llm_options: LlmOptionsRequestSchema.nullable().optional(),
67318
+ schema: PipelineConfigFields.schema.optional(),
67319
+ repair_attempts: exports_external.number().int().min(0).max(2).optional(),
67320
+ grounding: ExtractionGroundingModeSchema.optional()
67321
+ }).strict().superRefine((value, ctx) => {
67322
+ if (Object.keys(value).length === 0) {
67323
+ ctx.addIssue({
67324
+ code: "custom",
67325
+ message: "at least one field is required"
67326
+ });
67327
+ }
67328
+ });
67329
+ ExtractionPipelineSchema = exports_external.object({
67330
+ id: ExtractionPipelineIdSchema,
67331
+ name: ExtractionPipelineNameSchema,
67332
+ slug: ExtractionPipelineSlugSchema.nullable(),
67333
+ version: exports_external.number().int().min(1),
67334
+ ocr_model: exports_external.string().min(1).max(128),
67335
+ ocr_options: OcrOptionsEffectiveSchema,
67336
+ llm_model: LlmModelSchema,
67337
+ llm_options: LlmOptionsStoredSchema,
67338
+ schema: exports_external.record(exports_external.string(), exports_external.unknown()),
67339
+ repair_attempts: exports_external.number().int().min(0).max(2),
67340
+ grounding: ExtractionGroundingModeSchema,
67341
+ created_at: exports_external.string().datetime(),
67342
+ updated_at: exports_external.string().datetime()
67343
+ }).strict();
67344
+ ExtractionPipelineListResponseSchema = exports_external.object({
67345
+ items: exports_external.array(ExtractionPipelineSchema)
67346
+ }).strict();
67347
+ DeleteExtractionPipelineResponseSchema = exports_external.object({
67348
+ deleted: exports_external.literal(true),
67349
+ id: ExtractionPipelineIdSchema
67350
+ }).strict();
67351
+ EXTRACT_INLINE_CONFIG_KEYS = [
67352
+ "ocr_model",
67353
+ "ocr_options",
67354
+ "llm_model",
67355
+ "llm_options",
67356
+ "schema",
67357
+ "repair_attempts",
67358
+ "grounding"
67359
+ ];
67360
+ });
67361
+
66615
67362
  // ../types/src/ocr/contracts.ts
66616
67363
  function requireExactlyOneSource(item, ctx) {
66617
67364
  const hasIndex = item.file_index !== undefined;
@@ -66633,46 +67380,129 @@ function getOpenParserRoute(method, path) {
66633
67380
  return new RegExp(`^${pattern}$`).test(path);
66634
67381
  });
66635
67382
  }
66636
- var OCR_MODELS, OcrModelSchema, OcrFileIdSchema, RepairAttemptsSchema, ExtractionJsonSchemaObjectSchema, ParseRequestSchema, ExtractRequestSchema, ParseBatchItemSchema, ExtractBatchItemSchema, ParseBatchRequestSchema, ExtractBatchRequestSchema, PublicFileSchema, DeleteFileResponseSchema, OpenParserParseResultSchema, OPENPARSER_COMPONENT_SCHEMAS, admissionErrors, OPENPARSER_ROUTE_MANIFEST;
67383
+ var OcrModelSchema, OcrFileIdSchema, RepairAttemptsSchema, ExtractionJsonSchemaObjectSchema, ParseRequestSchema, ExtractRequestSchema, ParseBatchItemSchema, ExtractBatchItemSchema, ParseBatchRequestSchema, ExtractBatchRequestSchema, PublicFileSchema, DeleteFileResponseSchema, OpenParserParseResultSchema, OPENPARSER_COMPONENT_SCHEMAS, admissionErrors, OPENPARSER_ROUTE_MANIFEST;
66637
67384
  var init_contracts = __esm(() => {
66638
67385
  init_zod();
66639
67386
  init_extraction();
67387
+ init_grounding();
66640
67388
  init_jobs();
67389
+ init_llm_models();
67390
+ init_model_options();
67391
+ init_ocr_models();
66641
67392
  init_parsed_document();
67393
+ init_pipelines();
66642
67394
  init_raw_result();
66643
- OCR_MODELS = ["paddleocr-vl-1.6"];
67395
+ init_suggest_schema();
67396
+ init_suggest_schema();
67397
+ init_pipelines();
66644
67398
  OcrModelSchema = exports_external.string().min(1).max(128);
66645
67399
  OcrFileIdSchema = exports_external.string().min(1).max(128).regex(/^[A-Za-z0-9_-]+$/, "file_id must be a valid Eigenpal file id");
66646
67400
  RepairAttemptsSchema = exports_external.number().int().min(0).max(2).default(0);
66647
67401
  ExtractionJsonSchemaObjectSchema = exports_external.record(exports_external.string(), exports_external.unknown());
66648
67402
  ParseRequestSchema = exports_external.object({
66649
67403
  ocr_model: OcrModelSchema,
67404
+ ocr_options: OcrOptionsRequestSchema.optional(),
66650
67405
  file_id: OcrFileIdSchema.optional(),
66651
67406
  output_format: OcrOutputFormatSchema.default("openparser@1")
66652
67407
  }).strict();
66653
67408
  ExtractRequestSchema = exports_external.object({
66654
- ocr_model: OcrModelSchema,
66655
- llm_model: LlmModelSchema,
66656
- schema: ExtractionJsonSchemaObjectSchema,
66657
- repair_attempts: RepairAttemptsSchema,
67409
+ pipeline_id: ExtractionPipelineIdSchema.optional(),
67410
+ ocr_model: OcrModelSchema.optional(),
67411
+ ocr_options: OcrOptionsRequestSchema.optional(),
67412
+ llm_model: LlmModelSchema.optional(),
67413
+ llm_options: LlmOptionsRequestSchema.optional(),
67414
+ schema: ExtractionJsonSchemaObjectSchema.optional(),
67415
+ repair_attempts: exports_external.number().int().min(0).max(2).optional(),
67416
+ grounding: ExtractionGroundingModeSchema.optional(),
66658
67417
  file_id: OcrFileIdSchema.optional(),
67418
+ parse_job_id: exports_external.string().uuid().optional(),
66659
67419
  output_format: OcrOutputFormatSchema.default("openparser@1")
66660
- }).strict();
67420
+ }).strict().superRefine((value, ctx) => {
67421
+ if (value.file_id !== undefined && value.parse_job_id !== undefined) {
67422
+ ctx.addIssue({
67423
+ code: "custom",
67424
+ message: "provide exactly one of file_id or parse_job_id",
67425
+ path: ["parse_job_id"]
67426
+ });
67427
+ }
67428
+ if (value.parse_job_id !== undefined) {
67429
+ if (value.ocr_model !== undefined) {
67430
+ ctx.addIssue({
67431
+ code: "custom",
67432
+ message: "ocr_model is not allowed when parse_job_id is set",
67433
+ path: ["ocr_model"]
67434
+ });
67435
+ }
67436
+ if (value.ocr_options !== undefined) {
67437
+ ctx.addIssue({
67438
+ code: "custom",
67439
+ message: "ocr_options is not allowed when parse_job_id is set",
67440
+ path: ["ocr_options"]
67441
+ });
67442
+ }
67443
+ }
67444
+ refineExtractPipelineXor(value, ctx, { requireOcrModel: value.parse_job_id === undefined });
67445
+ }).transform((value) => {
67446
+ const source = {
67447
+ file_id: value.file_id,
67448
+ parse_job_id: value.parse_job_id,
67449
+ output_format: value.output_format
67450
+ };
67451
+ if (value.pipeline_id !== undefined)
67452
+ return { pipeline_id: value.pipeline_id, ...source };
67453
+ return {
67454
+ ...value.ocr_model !== undefined ? { ocr_model: value.ocr_model } : {},
67455
+ ...value.ocr_options !== undefined ? { ocr_options: value.ocr_options } : {},
67456
+ llm_model: value.llm_model,
67457
+ ...value.llm_options !== undefined ? { llm_options: value.llm_options } : {},
67458
+ schema: value.schema,
67459
+ repair_attempts: value.repair_attempts ?? 0,
67460
+ grounding: value.grounding ?? "none",
67461
+ ...source
67462
+ };
67463
+ });
66661
67464
  ParseBatchItemSchema = exports_external.object({
66662
67465
  client_item_id: exports_external.string().min(1).max(128),
66663
67466
  file_index: exports_external.number().int().min(0).optional(),
66664
67467
  file_id: OcrFileIdSchema.optional(),
66665
- ocr_model: OcrModelSchema
67468
+ ocr_model: OcrModelSchema,
67469
+ ocr_options: OcrOptionsRequestSchema.optional()
66666
67470
  }).strict().superRefine(requireExactlyOneSource);
66667
67471
  ExtractBatchItemSchema = exports_external.object({
66668
67472
  client_item_id: exports_external.string().min(1).max(128),
66669
67473
  file_index: exports_external.number().int().min(0).optional(),
66670
67474
  file_id: OcrFileIdSchema.optional(),
66671
- ocr_model: OcrModelSchema,
66672
- llm_model: LlmModelSchema,
66673
- schema: ExtractionJsonSchemaObjectSchema,
66674
- repair_attempts: RepairAttemptsSchema
66675
- }).strict().superRefine(requireExactlyOneSource);
67475
+ pipeline_id: ExtractionPipelineIdSchema.optional(),
67476
+ ocr_model: OcrModelSchema.optional(),
67477
+ ocr_options: OcrOptionsRequestSchema.optional(),
67478
+ llm_model: LlmModelSchema.optional(),
67479
+ llm_options: LlmOptionsRequestSchema.optional(),
67480
+ schema: ExtractionJsonSchemaObjectSchema.optional(),
67481
+ repair_attempts: exports_external.number().int().min(0).max(2).optional(),
67482
+ grounding: ExtractionGroundingModeSchema.optional()
67483
+ }).strict().superRefine((value, ctx) => {
67484
+ requireExactlyOneSource(value, ctx);
67485
+ refineExtractPipelineXor(value, ctx);
67486
+ }).transform((value) => {
67487
+ const base = {
67488
+ client_item_id: value.client_item_id,
67489
+ file_index: value.file_index,
67490
+ file_id: value.file_id
67491
+ };
67492
+ if (value.pipeline_id !== undefined) {
67493
+ return { ...base, pipeline_id: value.pipeline_id };
67494
+ }
67495
+ return {
67496
+ ...base,
67497
+ ocr_model: value.ocr_model,
67498
+ ...value.ocr_options !== undefined ? { ocr_options: value.ocr_options } : {},
67499
+ llm_model: value.llm_model,
67500
+ ...value.llm_options !== undefined ? { llm_options: value.llm_options } : {},
67501
+ schema: value.schema,
67502
+ repair_attempts: value.repair_attempts ?? 0,
67503
+ grounding: value.grounding ?? "none"
67504
+ };
67505
+ });
66676
67506
  ParseBatchRequestSchema = exports_external.object({
66677
67507
  items: exports_external.array(ParseBatchItemSchema).min(1).max(20),
66678
67508
  output_format: OcrOutputFormatSchema.default("openparser@1")
@@ -66701,6 +67531,13 @@ var init_contracts = __esm(() => {
66701
67531
  FileId: OcrFileIdSchema,
66702
67532
  ParseRequest: ParseRequestSchema,
66703
67533
  ExtractRequest: ExtractRequestSchema,
67534
+ SuggestSchemaRequest: SuggestSchemaRequestSchema,
67535
+ CreateExtractionPipelineRequest: CreateExtractionPipelineRequestSchema,
67536
+ UpdateExtractionPipelineRequest: UpdateExtractionPipelineRequestSchema,
67537
+ ExtractionPipeline: ExtractionPipelineSchema,
67538
+ ExtractionPipelineListResponse: ExtractionPipelineListResponseSchema,
67539
+ DeleteExtractionPipelineResponse: DeleteExtractionPipelineResponseSchema,
67540
+ ExtractionPipelineId: ExtractionPipelineIdSchema,
66704
67541
  ParseBatchItem: ParseBatchItemSchema,
66705
67542
  ExtractBatchItem: ExtractBatchItemSchema,
66706
67543
  ParseBatchRequest: ParseBatchRequestSchema,
@@ -66726,15 +67563,27 @@ var init_contracts = __esm(() => {
66726
67563
  ExtractionAttemptStatus: ExtractionAttemptStatusSchema,
66727
67564
  ExtractionAttempt: ExtractionAttemptSchema,
66728
67565
  ExtractionUsageTotals: ExtractionUsageTotalsSchema,
67566
+ ExtractionGroundingMode: ExtractionGroundingModeSchema,
67567
+ ExtractionCitationGranularity: ExtractionCitationGranularitySchema,
67568
+ ExtractionCitation: ExtractionCitationSchema,
67569
+ ExtractionGroundingField: ExtractionGroundingFieldSchema,
67570
+ ExtractionGroundingResult: ExtractionGroundingResultSchema,
66729
67571
  ExtractionTerminalResult: ExtractionTerminalResultSchema,
67572
+ SuggestSchemaTerminalResult: SuggestSchemaTerminalResultSchema,
66730
67573
  JobFailure: JobFailureSchema,
66731
67574
  BatchChildSummary: BatchChildSummarySchema,
66732
67575
  BatchChildPage: BatchChildPageSchema,
66733
67576
  BatchSummaryCounts: BatchSummaryCountsSchema,
66734
67577
  Job: JobSchema,
67578
+ JobSummary: JobSummarySchema,
67579
+ JobListResponse: JobListResponseSchema,
66735
67580
  ErrorBody: ErrorBodySchema,
66736
67581
  ErrorResponse: ErrorResponseSchema,
66737
- DeleteFileResponse: DeleteFileResponseSchema
67582
+ DeleteFileResponse: DeleteFileResponseSchema,
67583
+ OcrModelCatalogEntry: OcrModelCatalogEntrySchema,
67584
+ OcrModelsResponse: OcrModelsResponseSchema,
67585
+ OcrLlmModelCatalogEntry: OcrLlmModelCatalogEntrySchema,
67586
+ OcrLlmModelsResponse: OcrLlmModelsResponseSchema
66738
67587
  };
66739
67588
  admissionErrors = {
66740
67589
  400: { component: "MalformedRequest" },
@@ -66748,6 +67597,31 @@ var init_contracts = __esm(() => {
66748
67597
  503: { component: "ServiceUnavailable" }
66749
67598
  };
66750
67599
  OPENPARSER_ROUTE_MANIFEST = [
67600
+ {
67601
+ operationId: "listOcrModels",
67602
+ method: "get",
67603
+ path: "/models/ocr",
67604
+ tag: "models",
67605
+ responses: {
67606
+ 200: { schema: "OcrModelsResponse" },
67607
+ 401: { component: "Unauthorized" },
67608
+ 403: { component: "Forbidden" },
67609
+ 429: { component: "RateLimited" }
67610
+ }
67611
+ },
67612
+ {
67613
+ operationId: "listLlmModels",
67614
+ method: "get",
67615
+ path: "/models/llm",
67616
+ tag: "models",
67617
+ parameters: ["LlmModelsMode", "LlmModelsQuery", "LlmModelsPage", "LlmModelsLimit"],
67618
+ responses: {
67619
+ 200: { schema: "OcrLlmModelsResponse" },
67620
+ 401: { component: "Unauthorized" },
67621
+ 403: { component: "Forbidden" },
67622
+ 429: { component: "RateLimited" }
67623
+ }
67624
+ },
66751
67625
  {
66752
67626
  operationId: "parseSync",
66753
67627
  method: "post",
@@ -66830,6 +67704,50 @@ var init_contracts = __esm(() => {
66830
67704
  422: { component: "UnprocessableConfig" }
66831
67705
  }
66832
67706
  },
67707
+ {
67708
+ operationId: "suggestSchemaSync",
67709
+ method: "post",
67710
+ path: "/suggest-schema",
67711
+ tag: "extract",
67712
+ requestBody: "SuggestSchemaRequest",
67713
+ parameters: ["IdempotencyKey"],
67714
+ responses: {
67715
+ 200: { schema: "SuggestSchemaTerminalResult" },
67716
+ 202: { component: "JobAccepted" },
67717
+ ...admissionErrors,
67718
+ 404: { component: "JobNotFound" },
67719
+ 422: { component: "UnprocessableOrSyncFailed" },
67720
+ 504: { component: "SyncTerminalIndeterminate" }
67721
+ }
67722
+ },
67723
+ {
67724
+ operationId: "suggestSchemaAsync",
67725
+ method: "post",
67726
+ path: "/suggest-schema/async",
67727
+ tag: "extract",
67728
+ requestBody: "SuggestSchemaRequest",
67729
+ parameters: ["IdempotencyKey"],
67730
+ responses: {
67731
+ 202: { component: "JobAccepted" },
67732
+ ...admissionErrors,
67733
+ 404: { component: "JobNotFound" },
67734
+ 422: { component: "UnprocessableConfig" }
67735
+ }
67736
+ },
67737
+ {
67738
+ operationId: "listJobs",
67739
+ method: "get",
67740
+ path: "/jobs",
67741
+ tag: "jobs",
67742
+ parameters: ["JobListCursor", "JobListLimit", "JobListStatus", "JobListOperation"],
67743
+ responses: {
67744
+ 200: { schema: "JobListResponse" },
67745
+ 400: { component: "MalformedRequest" },
67746
+ 401: { component: "Unauthorized" },
67747
+ 403: { component: "Forbidden" },
67748
+ 429: { component: "RateLimited" }
67749
+ }
67750
+ },
66833
67751
  {
66834
67752
  operationId: "getJob",
66835
67753
  method: "get",
@@ -66840,7 +67758,8 @@ var init_contracts = __esm(() => {
66840
67758
  200: { schema: "Job" },
66841
67759
  401: { component: "Unauthorized" },
66842
67760
  403: { component: "Forbidden" },
66843
- 404: { component: "JobNotFound" }
67761
+ 404: { component: "JobNotFound" },
67762
+ 429: { component: "RateLimited" }
66844
67763
  }
66845
67764
  },
66846
67765
  {
@@ -66855,7 +67774,8 @@ var init_contracts = __esm(() => {
66855
67774
  401: { component: "Unauthorized" },
66856
67775
  403: { component: "Forbidden" },
66857
67776
  413: { component: "LimitExceeded" },
66858
- 415: { component: "UnsupportedMediaType" }
67777
+ 415: { component: "UnsupportedMediaType" },
67778
+ 429: { component: "RateLimited" }
66859
67779
  }
66860
67780
  },
66861
67781
  {
@@ -66868,7 +67788,8 @@ var init_contracts = __esm(() => {
66868
67788
  200: { schema: "PublicFile" },
66869
67789
  401: { component: "Unauthorized" },
66870
67790
  403: { component: "Forbidden" },
66871
- 404: { component: "FileNotFound" }
67791
+ 404: { component: "FileNotFound" },
67792
+ 429: { component: "RateLimited" }
66872
67793
  }
66873
67794
  },
66874
67795
  {
@@ -66881,7 +67802,8 @@ var init_contracts = __esm(() => {
66881
67802
  200: { schema: "DeleteFileResponse" },
66882
67803
  401: { component: "Unauthorized" },
66883
67804
  403: { component: "Forbidden" },
66884
- 404: { component: "FileNotFound" }
67805
+ 404: { component: "FileNotFound" },
67806
+ 429: { component: "RateLimited" }
66885
67807
  }
66886
67808
  },
66887
67809
  {
@@ -66894,18 +67816,144 @@ var init_contracts = __esm(() => {
66894
67816
  200: { binary: true },
66895
67817
  401: { component: "Unauthorized" },
66896
67818
  403: { component: "Forbidden" },
66897
- 404: { component: "FileNotFound" }
67819
+ 404: { component: "FileNotFound" },
67820
+ 429: { component: "RateLimited" }
67821
+ }
67822
+ },
67823
+ {
67824
+ operationId: "createExtractionPipeline",
67825
+ method: "post",
67826
+ path: "/pipelines",
67827
+ tag: "pipelines",
67828
+ requestBody: "CreateExtractionPipelineRequest",
67829
+ responses: {
67830
+ 200: { schema: "ExtractionPipeline" },
67831
+ 400: { component: "MalformedRequest" },
67832
+ 401: { component: "Unauthorized" },
67833
+ 403: { component: "Forbidden" },
67834
+ 409: { component: "PipelineNameConflict" },
67835
+ 422: { component: "UnprocessableConfig" },
67836
+ 429: { component: "RateLimited" }
67837
+ }
67838
+ },
67839
+ {
67840
+ operationId: "listExtractionPipelines",
67841
+ method: "get",
67842
+ path: "/pipelines",
67843
+ tag: "pipelines",
67844
+ responses: {
67845
+ 200: { schema: "ExtractionPipelineListResponse" },
67846
+ 401: { component: "Unauthorized" },
67847
+ 403: { component: "Forbidden" },
67848
+ 429: { component: "RateLimited" }
67849
+ }
67850
+ },
67851
+ {
67852
+ operationId: "getExtractionPipeline",
67853
+ method: "get",
67854
+ path: "/pipelines/{id}",
67855
+ tag: "pipelines",
67856
+ parameters: ["PipelineId"],
67857
+ responses: {
67858
+ 200: { schema: "ExtractionPipeline" },
67859
+ 401: { component: "Unauthorized" },
67860
+ 403: { component: "Forbidden" },
67861
+ 404: { component: "PipelineNotFound" },
67862
+ 429: { component: "RateLimited" }
67863
+ }
67864
+ },
67865
+ {
67866
+ operationId: "updateExtractionPipeline",
67867
+ method: "patch",
67868
+ path: "/pipelines/{id}",
67869
+ tag: "pipelines",
67870
+ parameters: ["PipelineId"],
67871
+ requestBody: "UpdateExtractionPipelineRequest",
67872
+ responses: {
67873
+ 200: { schema: "ExtractionPipeline" },
67874
+ 400: { component: "MalformedRequest" },
67875
+ 401: { component: "Unauthorized" },
67876
+ 403: { component: "Forbidden" },
67877
+ 404: { component: "PipelineNotFound" },
67878
+ 409: { component: "PipelineNameConflict" },
67879
+ 422: { component: "UnprocessableConfig" },
67880
+ 429: { component: "RateLimited" }
67881
+ }
67882
+ },
67883
+ {
67884
+ operationId: "deleteExtractionPipeline",
67885
+ method: "delete",
67886
+ path: "/pipelines/{id}",
67887
+ tag: "pipelines",
67888
+ parameters: ["PipelineId"],
67889
+ responses: {
67890
+ 200: { schema: "DeleteExtractionPipelineResponse" },
67891
+ 401: { component: "Unauthorized" },
67892
+ 403: { component: "Forbidden" },
67893
+ 404: { component: "PipelineNotFound" },
67894
+ 429: { component: "RateLimited" }
66898
67895
  }
66899
67896
  }
66900
67897
  ];
66901
67898
  });
66902
67899
 
67900
+ // ../types/src/ocr/request-examples.ts
67901
+ function canonicalParseRequestExample() {
67902
+ return {
67903
+ ocr_model: getDefaultOcrModelId(),
67904
+ output_format: OPENPARSER_DEFAULT_OUTPUT_FORMAT
67905
+ };
67906
+ }
67907
+ function shellSingleQuote(value) {
67908
+ return `'${value.replaceAll("'", `'"'"'`)}'`;
67909
+ }
67910
+ function serializeOpenParserMultipartRequest(body) {
67911
+ return `request=${JSON.stringify(body)};type=application/json`;
67912
+ }
67913
+ function buildOpenParserMultipartCurl(input) {
67914
+ const baseUrl = input.baseUrl.replace(/\/$/, "");
67915
+ const filePath = input.filePath ?? "./document.pdf";
67916
+ return [
67917
+ `curl -X POST ${shellSingleQuote(`${baseUrl}${input.path}`)} \\`,
67918
+ ` -H ${shellSingleQuote(`Authorization: Bearer ${OPENPARSER_CURL_API_KEY_PLACEHOLDER}`)} \\`,
67919
+ ` -H "Idempotency-Key: ${OPENPARSER_CURL_IDEMPOTENCY_KEY_EXPR}" \\`,
67920
+ ` -F ${shellSingleQuote(serializeOpenParserMultipartRequest(input.requestBody))} \\`,
67921
+ ` -F ${shellSingleQuote(`file=@${filePath}`)}`
67922
+ ].join(`
67923
+ `);
67924
+ }
67925
+ function buildParseCurl(input) {
67926
+ return buildOpenParserMultipartCurl({
67927
+ baseUrl: input.baseUrl,
67928
+ path: input.path ?? "/parse",
67929
+ requestBody: canonicalParseRequestExample(),
67930
+ filePath: input.filePath
67931
+ });
67932
+ }
67933
+ function buildExtractPipelineCurl(input) {
67934
+ return buildOpenParserMultipartCurl({
67935
+ baseUrl: input.baseUrl,
67936
+ path: "/extract/async",
67937
+ requestBody: { pipeline_id: input.pipelineId },
67938
+ filePath: input.filePath
67939
+ });
67940
+ }
67941
+ var OPENPARSER_DEFAULT_OUTPUT_FORMAT = "openparser@1", OPENPARSER_CURL_API_KEY_PLACEHOLDER = "YOUR_API_KEY", OPENPARSER_CURL_IDEMPOTENCY_KEY_EXPR = "$(uuidgen 2>/dev/null || openssl rand -hex 16)", OPENPARSER_IDEMPOTENCY_KEY_GUIDANCE = "Use a unique Idempotency-Key for each distinct request body. Reuse the same key only when retrying an identical admission.";
67942
+ var init_request_examples = __esm(() => {
67943
+ init_ocr_models();
67944
+ });
67945
+
66903
67946
  // ../types/src/ocr/index.ts
66904
67947
  var init_ocr = __esm(() => {
66905
67948
  init_parsed_document();
66906
67949
  init_contracts();
67950
+ init_llm_models();
67951
+ init_model_options();
67952
+ init_ocr_models();
66907
67953
  init_raw_result();
67954
+ init_request_examples();
66908
67955
  init_extraction();
67956
+ init_grounding();
66909
67957
  init_jobs();
66910
67958
  });
66911
67959
 
@@ -67274,14 +68322,18 @@ __export(exports_src, {
67274
68322
  triggersFromWorkflowDefinition: () => triggersFromWorkflowDefinition,
67275
68323
  triggersFromGitManifest: () => triggersFromGitManifest,
67276
68324
  triggersFromAgentConfig: () => triggersFromAgentConfig,
68325
+ toOcrLlmRequestSnapshot: () => toOcrLlmRequestSnapshot,
67277
68326
  toJsonSchema: () => toJsonSchema,
68327
+ toCustomerRetailCatalogEntry: () => toCustomerRetailCatalogEntry,
67278
68328
  suppressRequiredMissingErrorsForSchemaFileFields: () => suppressRequiredMissingErrorsForSchemaFileFields,
67279
68329
  suggestWorkflowName: () => suggestWorkflowName,
67280
68330
  stripTenantPrefix: () => stripTenantPrefix,
67281
68331
  stripGroundingMetadata: () => stripGroundingMetadata,
67282
68332
  stringToUnitInterval: () => stringToUnitInterval,
67283
68333
  sourceLockfileInputHash: () => sourceLockfileInputHash,
68334
+ shellSingleQuote: () => shellSingleQuote,
67284
68335
  serializeWebhookEvent: () => serializeWebhookEvent,
68336
+ serializeOpenParserMultipartRequest: () => serializeOpenParserMultipartRequest,
67285
68337
  scriptParamTypeAlias: () => scriptParamTypeAlias,
67286
68338
  schemaFileUploadMatchesField: () => schemaFileUploadMatchesField,
67287
68339
  s3PathFilename: () => s3PathFilename,
@@ -67295,10 +68347,13 @@ __export(exports_src, {
67295
68347
  runExpandErrorMessage: () => runExpandErrorMessage,
67296
68348
  rootS3Path: () => rootS3Path,
67297
68349
  resolveWorkflowPassThreshold: () => resolveWorkflowPassThreshold,
68350
+ resolveSuggestSchemaLlmModel: () => resolveSuggestSchemaLlmModel,
67298
68351
  resolveRetryPolicy: () => resolveRetryPolicy,
67299
68352
  resolveEffectiveMimeType: () => resolveEffectiveMimeType,
67300
68353
  resolveAgentOriginalSourceRef: () => resolveAgentOriginalSourceRef,
67301
68354
  requiresSpecializedParser: () => requiresSpecializedParser,
68355
+ requireOcrModelUsdPerPage: () => requireOcrModelUsdPerPage,
68356
+ refineExtractPipelineXor: () => refineExtractPipelineXor,
67302
68357
  redactFileSourceSecrets: () => redactFileSourceSecrets,
67303
68358
  publicExecutionFailure: () => publicExecutionFailure,
67304
68359
  projectAgentInputFiles: () => projectAgentInputFiles,
@@ -67363,8 +68418,11 @@ __export(exports_src, {
67363
68418
  getProcessorSchemas: () => getProcessorSchemas,
67364
68419
  getParserCategory: () => getParserCategory,
67365
68420
  getOpenParserRoute: () => getOpenParserRoute,
68421
+ getOcrModelUsdPerPage: () => getOcrModelUsdPerPage,
67366
68422
  getInvokeWorkflowRef: () => getInvokeWorkflowRef,
67367
68423
  getInvokeExecutionMode: () => getInvokeExecutionMode,
68424
+ getDefaultOcrModelId: () => getDefaultOcrModelId,
68425
+ getDefaultOcrLlmModelId: () => getDefaultOcrLlmModelId,
67368
68426
  getConfigSchema: () => getConfigSchema,
67369
68427
  getConfigFieldMetadata: () => getConfigFieldMetadata,
67370
68428
  getConfigDefaults: () => getConfigDefaults,
@@ -67406,14 +68464,19 @@ __export(exports_src, {
67406
68464
  collectInvokeWorkflowTargetIds: () => collectInvokeWorkflowTargetIds,
67407
68465
  collectFileReferenceSentinels: () => collectFileReferenceSentinels,
67408
68466
  coerceInput: () => coerceInput,
68467
+ canonicalParseRequestExample: () => canonicalParseRequestExample,
67409
68468
  buildWorkflowOutputContractSchema: () => buildWorkflowOutputContractSchema,
67410
68469
  buildWorkflowInputsJsonSchema: () => buildWorkflowInputsJsonSchema,
67411
68470
  buildS3PathSuffix: () => buildS3PathSuffix,
67412
68471
  buildS3Path: () => buildS3Path,
68472
+ buildParseCurl: () => buildParseCurl,
68473
+ buildOpenParserMultipartCurl: () => buildOpenParserMultipartCurl,
68474
+ buildExtractPipelineCurl: () => buildExtractPipelineCurl,
67413
68475
  buildDiscreteJudgeSystemPrompt: () => buildDiscreteJudgeSystemPrompt,
67414
68476
  buildContinuousJudgeSystemPrompt: () => buildContinuousJudgeSystemPrompt,
67415
68477
  boundWebhookEventOutput: () => boundWebhookEventOutput,
67416
68478
  assertS3PathSegment: () => assertS3PathSegment,
68479
+ applyPaddleOcrOptionDefaults: () => applyPaddleOcrOptionDefaults,
67417
68480
  aliasReplyConfigSchema: () => aliasReplyConfigSchema,
67418
68481
  aggregateEvaluatorCompositionScore: () => aggregateEvaluatorCompositionScore,
67419
68482
  addEigenpalContext: () => addEigenpalContext,
@@ -67460,6 +68523,7 @@ __export(exports_src, {
67460
68523
  WEBHOOK_DELIVERY_STATES: () => WEBHOOK_DELIVERY_STATES,
67461
68524
  WEBHOOK_API_VERSION: () => WEBHOOK_API_VERSION,
67462
68525
  UpdateWebhookEndpointSchema: () => UpdateWebhookEndpointSchema,
68526
+ UpdateExtractionPipelineRequestSchema: () => UpdateExtractionPipelineRequestSchema,
67463
68527
  UNSUPPORTED_SOURCE_MANIFEST_FILENAME: () => UNSUPPORTED_SOURCE_MANIFEST_FILENAME,
67464
68528
  TriggerTypeValue: () => TriggerTypeValue,
67465
68529
  TriggerTypeSchema: () => TriggerTypeSchema,
@@ -67494,6 +68558,10 @@ __export(exports_src, {
67494
68558
  TRIGGER_TYPES: () => TRIGGER_TYPES,
67495
68559
  TERMINAL_EXECUTION_STATUSES: () => TERMINAL_EXECUTION_STATUSES,
67496
68560
  SwitchStepSchema: () => SwitchStepSchema,
68561
+ SuggestSchemaTerminalResultSchema: () => SuggestSchemaTerminalResultSchema,
68562
+ SuggestSchemaRequestSchema: () => SuggestSchemaRequestSchema,
68563
+ SuggestSchemaPreviewMetaSchema: () => SuggestSchemaPreviewMetaSchema,
68564
+ SuggestSchemaHintSchema: () => SuggestSchemaHintSchema,
67497
68565
  StoredWorkflowDefinitionSchema: () => StoredWorkflowDefinitionSchema,
67498
68566
  StepTypeValue: () => StepTypeValue,
67499
68567
  StepTypeSchema: () => StepTypeSchema,
@@ -67533,6 +68601,9 @@ __export(exports_src, {
67533
68601
  ScopeStackSchema: () => ScopeStackSchema,
67534
68602
  ScopeEntryTypeSchema: () => ScopeEntryTypeSchema,
67535
68603
  ScopeEntrySchema: () => ScopeEntrySchema,
68604
+ SUGGEST_SCHEMA_PREVIEW_MAX_PAGES: () => SUGGEST_SCHEMA_PREVIEW_MAX_PAGES,
68605
+ SUGGEST_SCHEMA_PREVIEW_MAX_CHARS: () => SUGGEST_SCHEMA_PREVIEW_MAX_CHARS,
68606
+ SUGGEST_SCHEMA_HINT_MAX_CHARS: () => SUGGEST_SCHEMA_HINT_MAX_CHARS,
67536
68607
  STEP_TYPES: () => STEP_TYPES,
67537
68608
  STEP_SCHEMAS: () => STEP_SCHEMAS,
67538
68609
  STEP_RETRY_CAPABILITIES: () => STEP_RETRY_CAPABILITIES,
@@ -67603,26 +68674,69 @@ __export(exports_src, {
67603
68674
  PageBlockSchema: () => PageBlockSchema,
67604
68675
  PageBlockKindSchema: () => PageBlockKindSchema,
67605
68676
  PaddleRawProfileSchema: () => PaddleRawProfileSchema,
68677
+ PaddleOcrOptionsRequestSchema: () => PaddleOcrOptionsRequestSchema,
68678
+ PaddleOcrOptionsEffectiveSchema: () => PaddleOcrOptionsEffectiveSchema,
68679
+ PROVIDER_LOGO_DATA: () => PROVIDER_LOGO_DATA,
67606
68680
  PROCESSOR_SCHEMAS: () => PROCESSOR_SCHEMAS,
67607
68681
  PROCESSOR_IDS: () => PROCESSOR_IDS,
67608
68682
  PENDING_FILE_REF: () => PENDING_FILE_REF,
67609
68683
  PARSER_IDS: () => PARSER_IDS,
67610
68684
  PAGE_BLOCK_KINDS: () => PAGE_BLOCK_KINDS,
68685
+ PADDLE_OCR_USD_PER_PAGE: () => PADDLE_OCR_USD_PER_PAGE,
68686
+ PADDLE_OCR_OPTION_DEFAULTS: () => PADDLE_OCR_OPTION_DEFAULTS,
67611
68687
  OpenParserParseResultSchema: () => OpenParserParseResultSchema,
67612
68688
  OpenInferenceSpanKinds: () => OpenInferenceSpanKinds,
67613
68689
  OpenInference: () => OpenInference,
67614
68690
  OcrOutputFormatSchema: () => OcrOutputFormatSchema,
68691
+ OcrOptionsRequestSchema: () => OcrOptionsRequestSchema,
68692
+ OcrOptionsEffectiveSchema: () => OcrOptionsEffectiveSchema,
68693
+ OcrModelsResponseSchema: () => OcrModelsResponseSchema,
67615
68694
  OcrModelSchema: () => OcrModelSchema,
68695
+ OcrModelPricingSchema: () => OcrModelPricingSchema,
68696
+ OcrModelOptionCapabilitySchema: () => OcrModelOptionCapabilitySchema,
68697
+ OcrModelCatalogEntrySchema: () => OcrModelCatalogEntrySchema,
68698
+ OcrModelAvailabilitySchema: () => OcrModelAvailabilitySchema,
68699
+ OcrLlmRequestSnapshotSchema: () => OcrLlmRequestSnapshotSchema,
68700
+ OcrLlmRecommendationTierSchema: () => OcrLlmRecommendationTierSchema,
68701
+ OcrLlmReasoningEffortSchema: () => OcrLlmReasoningEffortSchema,
68702
+ OcrLlmReasoningEffortRequestSchema: () => OcrLlmReasoningEffortRequestSchema,
68703
+ OcrLlmPublicPricingBasisSchema: () => OcrLlmPublicPricingBasisSchema,
68704
+ OcrLlmProviderListPricingSchema: () => OcrLlmProviderListPricingSchema,
68705
+ OcrLlmProviderListPricingBasisSchema: () => OcrLlmProviderListPricingBasisSchema,
68706
+ OcrLlmProviderCatalogEntrySchema: () => OcrLlmProviderCatalogEntrySchema,
68707
+ OcrLlmPricingBasisSchema: () => OcrLlmPricingBasisSchema,
68708
+ OcrLlmModelsResponseSchema: () => OcrLlmModelsResponseSchema,
68709
+ OcrLlmModelsQuerySchema: () => OcrLlmModelsQuerySchema,
68710
+ OcrLlmModelsListModeSchema: () => OcrLlmModelsListModeSchema,
68711
+ OcrLlmModelReasoningSchema: () => OcrLlmModelReasoningSchema,
68712
+ OcrLlmModelPricingSchema: () => OcrLlmModelPricingSchema,
68713
+ OcrLlmModelCatalogEntrySchema: () => OcrLlmModelCatalogEntrySchema,
67616
68714
  OcrFileIdSchema: () => OcrFileIdSchema,
68715
+ OcrFigureAssetsModeSchema: () => OcrFigureAssetsModeSchema,
67617
68716
  OPENPARSER_ROUTE_MANIFEST: () => OPENPARSER_ROUTE_MANIFEST,
68717
+ OPENPARSER_IDEMPOTENCY_KEY_GUIDANCE: () => OPENPARSER_IDEMPOTENCY_KEY_GUIDANCE,
68718
+ OPENPARSER_DEFAULT_OUTPUT_FORMAT: () => OPENPARSER_DEFAULT_OUTPUT_FORMAT,
68719
+ OPENPARSER_CURL_IDEMPOTENCY_KEY_EXPR: () => OPENPARSER_CURL_IDEMPOTENCY_KEY_EXPR,
68720
+ OPENPARSER_CURL_API_KEY_PLACEHOLDER: () => OPENPARSER_CURL_API_KEY_PLACEHOLDER,
67618
68721
  OPENPARSER_COMPONENT_SCHEMAS: () => OPENPARSER_COMPONENT_SCHEMAS,
67619
68722
  OFFICE_MIME_TYPES: () => OFFICE_MIME_TYPES,
67620
68723
  OCR_SYNC_STATUS_CODES: () => OCR_SYNC_STATUS_CODES,
67621
68724
  OCR_OUTPUT_FORMATS: () => OCR_OUTPUT_FORMATS,
67622
68725
  OCR_OPENAPI_RELATIVE_PATH: () => OCR_OPENAPI_RELATIVE_PATH,
68726
+ OCR_MODEL_CATALOG: () => OCR_MODEL_CATALOG,
67623
68727
  OCR_MODELS: () => OCR_MODELS,
68728
+ OCR_LLM_SUGGESTED_PROVIDERS: () => OCR_LLM_SUGGESTED_PROVIDERS,
68729
+ OCR_LLM_SUGGESTED_MAX_AGE_DAYS: () => OCR_LLM_SUGGESTED_MAX_AGE_DAYS,
68730
+ OCR_LLM_RETAIL_MARKUP: () => OCR_LLM_RETAIL_MARKUP,
68731
+ OCR_LLM_REASONING_EFFORTS: () => OCR_LLM_REASONING_EFFORTS,
68732
+ OCR_LLM_MODEL_IDS: () => OCR_LLM_MODEL_IDS,
68733
+ OCR_LLM_EMERGENCY_CATALOG: () => OCR_LLM_EMERGENCY_CATALOG,
68734
+ OCR_LLM_CERTIFIED_MODEL_IDS: () => OCR_LLM_CERTIFIED_MODEL_IDS,
68735
+ OCR_LLM_CATALOG: () => OCR_LLM_CATALOG,
67624
68736
  OCR_JOB_STATUSES: () => OCR_JOB_STATUSES,
67625
68737
  OCR_JOB_OPERATIONS: () => OCR_JOB_OPERATIONS,
68738
+ OCR_JOB_LIST_MAX_LIMIT: () => OCR_JOB_LIST_MAX_LIMIT,
68739
+ OCR_JOB_LIST_DEFAULT_LIMIT: () => OCR_JOB_LIST_DEFAULT_LIMIT,
67626
68740
  NON_SUCCESS_TERMINAL_EXECUTION_STATUSES: () => NON_SUCCESS_TERMINAL_EXECUTION_STATUSES,
67627
68741
  MergeOutputSchema: () => MergeOutputSchema,
67628
68742
  MergeInputSchema: () => MergeInputSchema,
@@ -67633,6 +68747,8 @@ __export(exports_src, {
67633
68747
  LocalEvaluatorReferenceSchema: () => LocalEvaluatorReferenceSchema,
67634
68748
  LocalEvaluatorCompositionItemSchema: () => LocalEvaluatorCompositionItemSchema,
67635
68749
  LocalAgentResourceDirectorySchema: () => LocalAgentResourceDirectorySchema,
68750
+ LlmOptionsStoredSchema: () => LlmOptionsStoredSchema,
68751
+ LlmOptionsRequestSchema: () => LlmOptionsRequestSchema,
67636
68752
  LlmModelSchema: () => LlmModelSchema,
67637
68753
  LlmJudgeConfigSchema: () => LlmJudgeConfigSchema,
67638
68754
  LegacyFileIdInputSchema: () => LegacyFileIdInputSchema,
@@ -67644,10 +68760,13 @@ __export(exports_src, {
67644
68760
  LEGACY_FILE_REF_COMPATIBILITY: () => LEGACY_FILE_REF_COMPATIBILITY,
67645
68761
  JudgeModeSchema: () => JudgeModeSchema,
67646
68762
  JsonSchemaSchema: () => JsonSchemaSchema,
68763
+ JobSummarySchema: () => JobSummarySchema,
67647
68764
  JobStatusSchema: () => JobStatusSchema,
67648
68765
  JobSchema: () => JobSchema,
67649
68766
  JobProgressSchema: () => JobProgressSchema,
67650
68767
  JobOperationSchema: () => JobOperationSchema,
68768
+ JobListResponseSchema: () => JobListResponseSchema,
68769
+ JobListQuerySchema: () => JobListQuerySchema,
67651
68770
  JobIdSchema: () => JobIdSchema,
67652
68771
  JobFailureSchema: () => JobFailureSchema,
67653
68772
  JobAcceptedSchema: () => JobAcceptedSchema,
@@ -67670,7 +68789,17 @@ __export(exports_src, {
67670
68789
  FailStepSchema: () => FailStepSchema,
67671
68790
  ExtractionUsageTotalsSchema: () => ExtractionUsageTotalsSchema,
67672
68791
  ExtractionTerminalResultSchema: () => ExtractionTerminalResultSchema,
68792
+ ExtractionPipelineSlugSchema: () => ExtractionPipelineSlugSchema,
68793
+ ExtractionPipelineSchema: () => ExtractionPipelineSchema,
68794
+ ExtractionPipelineNameSchema: () => ExtractionPipelineNameSchema,
68795
+ ExtractionPipelineListResponseSchema: () => ExtractionPipelineListResponseSchema,
68796
+ ExtractionPipelineIdSchema: () => ExtractionPipelineIdSchema,
67673
68797
  ExtractionJsonSchemaObjectSchema: () => ExtractionJsonSchemaObjectSchema,
68798
+ ExtractionGroundingResultSchema: () => ExtractionGroundingResultSchema,
68799
+ ExtractionGroundingModeSchema: () => ExtractionGroundingModeSchema,
68800
+ ExtractionGroundingFieldSchema: () => ExtractionGroundingFieldSchema,
68801
+ ExtractionCitationSchema: () => ExtractionCitationSchema,
68802
+ ExtractionCitationGranularitySchema: () => ExtractionCitationGranularitySchema,
67674
68803
  ExtractionChunkSchema: () => ExtractionChunkSchema,
67675
68804
  ExtractionAttemptStatusSchema: () => ExtractionAttemptStatusSchema,
67676
68805
  ExtractionAttemptSchema: () => ExtractionAttemptSchema,
@@ -67715,6 +68844,9 @@ __export(exports_src, {
67715
68844
  EncryptedSecretValueSchema: () => EncryptedSecretValueSchema,
67716
68845
  EmailTriggerMethodSchema: () => EmailTriggerMethodSchema,
67717
68846
  Eigenpal: () => Eigenpal,
68847
+ EXTRACT_INLINE_CONFIG_KEYS: () => EXTRACT_INLINE_CONFIG_KEYS,
68848
+ EXTRACTION_GROUNDING_MODES: () => EXTRACTION_GROUNDING_MODES,
68849
+ EXTRACTION_CITATION_GRANULARITIES: () => EXTRACTION_CITATION_GRANULARITIES,
67718
68850
  EXTRACTION_ATTEMPT_STATUSES: () => EXTRACTION_ATTEMPT_STATUSES,
67719
68851
  EXTRACTION_ATTEMPT_KINDS: () => EXTRACTION_ATTEMPT_KINDS,
67720
68852
  EXECUTION_TYPES: () => EXECUTION_TYPES,
@@ -67740,6 +68872,7 @@ __export(exports_src, {
67740
68872
  DocumentParserConfigSchema: () => DocumentParserConfigSchema,
67741
68873
  DocumentMetadataSchema: () => DocumentMetadataSchema,
67742
68874
  DeleteFileResponseSchema: () => DeleteFileResponseSchema,
68875
+ DeleteExtractionPipelineResponseSchema: () => DeleteExtractionPipelineResponseSchema,
67743
68876
  DbFileRefSchema: () => DbFileRefSchema,
67744
68877
  DatasetNameSchema: () => DatasetNameSchema,
67745
68878
  DatasetMetaSchema: () => DatasetMetaSchema,
@@ -67754,6 +68887,7 @@ __export(exports_src, {
67754
68887
  CreateWorkflowDefinitionSchema: () => CreateWorkflowDefinitionSchema,
67755
68888
  CreateWebhookEndpointSchema: () => CreateWebhookEndpointSchema,
67756
68889
  CreateWebhookEndpointResponseSchema: () => CreateWebhookEndpointResponseSchema,
68890
+ CreateExtractionPipelineRequestSchema: () => CreateExtractionPipelineRequestSchema,
67757
68891
  CoordinateUnitSchema: () => CoordinateUnitSchema,
67758
68892
  ControlWaitOutputSchema: () => ControlWaitOutputSchema,
67759
68893
  ControlWaitConfigSchema: () => ControlWaitConfigSchema,
@@ -67806,6 +68940,7 @@ __export(exports_src, {
67806
68940
  ACTION_TYPES: () => ACTION_TYPES
67807
68941
  });
67808
68942
  var init_src = __esm(() => {
68943
+ init_provider_logo_data_generated();
67809
68944
  init_core3();
67810
68945
  init_legacy_boundary();
67811
68946
  init_runtime_file_ref();
@@ -182541,7 +183676,7 @@ import { fileURLToPath as fileURLToPath9 } from "url";
182541
183676
  // package.json
182542
183677
  var package_default = {
182543
183678
  name: "@eigenpal/cli",
182544
- version: "0.10.26",
183679
+ version: "0.10.28",
182545
183680
  description: "Eigenpal CLI — author and run document workflows from your terminal. Agent-ready.",
182546
183681
  keywords: [
182547
183682
  "eigenpal",