docling-serve-client 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +312 -251
- package/dist/client.d.ts +3 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/core/input.d.ts.map +1 -1
- package/dist/core/pdf.d.ts.map +1 -1
- package/dist/core/validate.d.ts.map +1 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/images.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +129 -29
- package/dist/index.js.map +11 -11
- package/dist/options.d.ts +25 -3
- package/dist/options.d.ts.map +1 -1
- package/dist/types.d.ts +52 -14
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/capabilities.ts +1 -1
- package/src/client.ts +126 -20
- package/src/core/http.ts +2 -4
- package/src/core/input.ts +0 -2
- package/src/core/pdf.ts +0 -1
- package/src/core/validate.ts +0 -1
- package/src/document.ts +7 -19
- package/src/images.ts +1 -3
- package/src/index.ts +1 -0
- package/src/options.ts +123 -24
- package/src/response.ts +1 -1
- package/src/types.ts +65 -30
package/dist/options.d.ts
CHANGED
|
@@ -11,9 +11,16 @@ export type ResolvedConfig = {
|
|
|
11
11
|
fetch: typeof fetch;
|
|
12
12
|
/** Time limit per request in ms; unset means no limit. */
|
|
13
13
|
timeoutMs?: number;
|
|
14
|
+
/** Delay between job helper status polls in ms; defaults to `DEFAULT_POLL_MS`. */
|
|
15
|
+
pollMs: number;
|
|
14
16
|
/** Factory defaults merged over `DEFAULT_OPTIONS`. */
|
|
15
17
|
defaults: ResolvedOptions;
|
|
16
18
|
};
|
|
19
|
+
/** Validated poll settings for job helpers. */
|
|
20
|
+
export type PollCall = {
|
|
21
|
+
pollMs: number;
|
|
22
|
+
signal?: AbortSignal;
|
|
23
|
+
};
|
|
17
24
|
/** Validated md call: server options, image handling and signal. */
|
|
18
25
|
export type MarkdownCall = {
|
|
19
26
|
options: ResolvedOptions;
|
|
@@ -37,20 +44,35 @@ export declare const DEFAULT_OPTIONS: Readonly<ResolvedOptions>;
|
|
|
37
44
|
*/
|
|
38
45
|
export declare function resolveConfig(config: unknown): ResolvedConfig;
|
|
39
46
|
/**
|
|
40
|
-
*
|
|
47
|
+
* Merges and validates md call options against factory defaults.
|
|
41
48
|
* @throws `TypeError` on invalid options.
|
|
42
49
|
*/
|
|
43
50
|
export declare function resolveMarkdownCall(defaults: Readonly<ResolvedOptions>, options: unknown): MarkdownCall;
|
|
44
51
|
/**
|
|
45
|
-
*
|
|
52
|
+
* Merges and validates document call options against factory defaults.
|
|
46
53
|
* @throws `TypeError` on invalid options.
|
|
47
54
|
*/
|
|
48
55
|
export declare function resolveDocumentCall(defaults: Readonly<ResolvedOptions>, options: unknown): DocumentCall;
|
|
49
56
|
/**
|
|
50
|
-
*
|
|
57
|
+
* Merges md call options and poll settings; `pollMs` defaults to factory `pollMs`.
|
|
58
|
+
* @throws `TypeError` on invalid options.
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveRunMarkdownCall(defaults: Readonly<ResolvedOptions>, defaultPollMs: number, options: unknown): MarkdownCall & PollCall;
|
|
61
|
+
/**
|
|
62
|
+
* Merges document call options and poll settings; `pollMs` defaults to factory `pollMs`.
|
|
63
|
+
* @throws `TypeError` on invalid options.
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveRunDocumentCall(defaults: Readonly<ResolvedOptions>, defaultPollMs: number, options: unknown): DocumentCall & PollCall;
|
|
66
|
+
/**
|
|
67
|
+
* Checks signal-only call options (`check`, `capabilities`).
|
|
51
68
|
* @throws `TypeError` on invalid options.
|
|
52
69
|
*/
|
|
53
70
|
export declare function resolveCheckOptions(options: unknown): CallOptions;
|
|
71
|
+
/**
|
|
72
|
+
* Checks `waitForJob` options; `pollMs` defaults to factory `pollMs`.
|
|
73
|
+
* @throws `TypeError` on invalid options.
|
|
74
|
+
*/
|
|
75
|
+
export declare function resolvePollOptions(defaultPollMs: number, options: unknown): PollCall;
|
|
54
76
|
/**
|
|
55
77
|
* **Checks a job object against the shape `submitMarkdown()` and `submitDocument()` return**.
|
|
56
78
|
*
|
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EAEb,cAAc,EACd,iBAAiB,EAGjB,MAAM,EAEN,iBAAiB,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EAEb,cAAc,EACd,iBAAiB,EAGjB,MAAM,EAEN,iBAAiB,EAGjB,MAAM,EACT,MAAM,YAAY,CAAC;AAMpB,mFAAmF;AACnF,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,aAAa,EAAE,MAAM,cAAc,CAAC,CAAC;AAEtE,6DAA6D;AAC7D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAE1F,sCAAsC;AACtC,MAAM,MAAM,cAAc,GAAG;IACzB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,QAAQ,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,QAAQ,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,0FAA0F;AAC1F,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAkBF,wDAAwD;AACxD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,eAAe,CAUpD,CAAC;AA0GH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CA2B7D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,CAEvG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,CAEvG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,EACnC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACjB,YAAY,GAAG,QAAQ,CAMzB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,EACnC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACjB,YAAY,GAAG,QAAQ,CAMzB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAEjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAGpF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAmBxD;AAED,sGAAsG;AACtG,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEvD"}
|
package/dist/types.d.ts
CHANGED
|
@@ -88,10 +88,7 @@ export type ServerVersions = Record<string, string>;
|
|
|
88
88
|
* - anything else is `invalid_input`
|
|
89
89
|
*/
|
|
90
90
|
export type ConvertInput = Uint8Array;
|
|
91
|
-
/**
|
|
92
|
-
* Use `ConvertInput`; images are accepted as well.
|
|
93
|
-
* @deprecated
|
|
94
|
-
*/
|
|
91
|
+
/** Deprecated: use `ConvertInput`; images are accepted as well. */
|
|
95
92
|
export type PdfInput = ConvertInput;
|
|
96
93
|
/** Supported conversion pipeline backend. */
|
|
97
94
|
export type Pipeline = 'standard' | 'vlm';
|
|
@@ -127,6 +124,7 @@ export type DoclingOptions = {
|
|
|
127
124
|
/**
|
|
128
125
|
* **OCRs whole PDF pages and drops their text layer**: for PDFs with broken text. Default `false`.
|
|
129
126
|
*
|
|
127
|
+
* - enables OCR even with `ocr: false` (docling skips full-page OCR when `do_ocr=false`)
|
|
130
128
|
* - ignored for image input: it has no text layer, and full-page OCR there merges words (`stepsand`)
|
|
131
129
|
*/
|
|
132
130
|
forceOcr?: boolean;
|
|
@@ -147,6 +145,16 @@ export type CallOptions = {
|
|
|
147
145
|
/** Abort signal to cancel the HTTP request. */
|
|
148
146
|
signal?: AbortSignal;
|
|
149
147
|
};
|
|
148
|
+
/**
|
|
149
|
+
* **Options for job helpers (`runMarkdown`, `runDocument`, `waitForJob`)**.
|
|
150
|
+
*
|
|
151
|
+
* - `signal` covers entire call: submit, status polls, and waits
|
|
152
|
+
* - rejected by `convert*`, `submit*`, and `check`
|
|
153
|
+
*/
|
|
154
|
+
export type PollOptions = CallOptions & {
|
|
155
|
+
/** Delay between status polls in ms (integer `1..2147483647`). Default: factory `pollMs` (`10`). */
|
|
156
|
+
pollMs?: number;
|
|
157
|
+
};
|
|
150
158
|
/**
|
|
151
159
|
* **Images in the md**.
|
|
152
160
|
*
|
|
@@ -318,7 +326,7 @@ export type DoclingSettings = {
|
|
|
318
326
|
documentTimeout: number | null;
|
|
319
327
|
abortOnError: boolean;
|
|
320
328
|
};
|
|
321
|
-
/**
|
|
329
|
+
/** Result of `convert*` and `run*` plus the settings sent with the conversion. */
|
|
322
330
|
export type WithSettings<T> = T & {
|
|
323
331
|
settings: DoclingSettings;
|
|
324
332
|
};
|
|
@@ -416,22 +424,26 @@ export type ServerCapabilities = {
|
|
|
416
424
|
};
|
|
417
425
|
/** Configuration passed to `createDoclingClient`. */
|
|
418
426
|
export type DoclingConfig = {
|
|
419
|
-
/** docling-serve base URL, e.g. `'http://127.0.0.1:5001'`; trailing `/`
|
|
427
|
+
/** docling-serve base URL, e.g. `'http://127.0.0.1:5001'`; trailing `/` removed; no query, fragment, or credentials. */
|
|
420
428
|
baseUrl: string;
|
|
421
429
|
/** Sent as `X-Api-Key` header. */
|
|
422
430
|
apiKey?: string;
|
|
423
|
-
/**
|
|
431
|
+
/** Time limit per request in ms (integer `1..2147483647`, excludes `/version`); resolves to `aborted` on expiry. */
|
|
424
432
|
timeoutMs?: number;
|
|
433
|
+
/** Delay between job helper status polls in ms (integer `1..2147483647`). Default `10`. */
|
|
434
|
+
pollMs?: number;
|
|
425
435
|
/** Custom fetch implementation for mocking or custom dispatchers. */
|
|
426
436
|
fetch?: typeof fetch;
|
|
427
437
|
/** Defaults for every call; call options override them key by key, except the factory-only ones. */
|
|
428
438
|
options?: ClientOptions;
|
|
429
439
|
};
|
|
430
440
|
/**
|
|
431
|
-
* **docling-serve client
|
|
441
|
+
* **docling-serve client**: every call returns a Promise.
|
|
432
442
|
*
|
|
433
|
-
* - `convert
|
|
434
|
-
*
|
|
443
|
+
* - single request (`convert*`): one HTTP request to sync endpoint; answers on `DOCLING_SERVE_SYNC_POLL_INTERVAL`
|
|
444
|
+
* ticks (default 2 s) and returns 504 after `DOCLING_SERVE_MAX_SYNC_WAIT`
|
|
445
|
+
* - job (`submit*` + `check`): async endpoints; caller stores job and polls
|
|
446
|
+
* - job helper (`run*`, `waitForJob`): submits or takes a job and polls every `pollMs` until done
|
|
435
447
|
*/
|
|
436
448
|
export type DoclingClient = {
|
|
437
449
|
/** PDF or image to docling's md; images as placeholders, removed or extracted. */
|
|
@@ -445,14 +457,40 @@ export type DoclingClient = {
|
|
|
445
457
|
/**
|
|
446
458
|
* **Polls a job; fetches its result once done**.
|
|
447
459
|
*
|
|
448
|
-
* - docling-serve deletes
|
|
449
|
-
* fetch: a `check` whose result download failed can be repeated within that
|
|
450
|
-
* `not_found
|
|
451
|
-
* - `done` carries no settings
|
|
460
|
+
* - docling-serve deletes the task `DOCLING_SERVE_RESULT_REMOVAL_DELAY` seconds (default 300) after first
|
|
461
|
+
* result fetch: a `check` whose result download failed can be repeated within that window, later returning
|
|
462
|
+
* `not_found` (`Unknown job id`); persist `done` data, or set `DOCLING_SERVE_SINGLE_USE_RESULTS=false`
|
|
463
|
+
* - `done` carries no settings (stored on the job)
|
|
452
464
|
*/
|
|
453
465
|
check(job: Omit<MarkdownJob, 'settings'>, options?: CallOptions): Promise<Result<JobState<ConvertedMarkdown>>>;
|
|
454
466
|
check(job: Omit<DocumentJob, 'settings'>, options?: CallOptions): Promise<Result<JobState<ConvertedDocument>>>;
|
|
455
467
|
check(job: JobRef, options?: CallOptions): Promise<Result<JobState<ConvertedMarkdown | ConvertedDocument>>>;
|
|
468
|
+
/**
|
|
469
|
+
* **Submits an md job and polls every `pollMs` until done**: same result as `convertMarkdown`.
|
|
470
|
+
*
|
|
471
|
+
* - `signal` covers submit, status polls, and waits; `timeoutMs` limits each HTTP request
|
|
472
|
+
* - first error ends call; job never returned (use `submitMarkdown` + `waitForJob` to keep it)
|
|
473
|
+
* - aborting does not cancel the server-side job
|
|
474
|
+
*/
|
|
475
|
+
runMarkdown(input: ConvertInput, options?: MarkdownOptions & PollOptions): Promise<Result<WithSettings<ConvertedMarkdown>>>;
|
|
476
|
+
/**
|
|
477
|
+
* **Submits a document job and polls every `pollMs` until done**: same result as `convertDocument`.
|
|
478
|
+
*
|
|
479
|
+
* - `signal` covers submit, status polls, and waits; `timeoutMs` limits each HTTP request
|
|
480
|
+
* - first error ends call; job never returned (use `submitDocument` + `waitForJob` to keep it)
|
|
481
|
+
* - aborting does not cancel the server-side job
|
|
482
|
+
*/
|
|
483
|
+
runDocument(input: ConvertInput, options?: DocumentOptions & PollOptions): Promise<Result<WithSettings<ConvertedDocument>>>;
|
|
484
|
+
/**
|
|
485
|
+
* **Polls an existing job every `pollMs` until done**.
|
|
486
|
+
*
|
|
487
|
+
* - first status poll runs immediately; already-finished jobs cost one `check`
|
|
488
|
+
* - resolves to `check`'s `done` data without `status`; first error ends call
|
|
489
|
+
* - repeatable after a failed result download within `DOCLING_SERVE_RESULT_REMOVAL_DELAY` (default 300 s)
|
|
490
|
+
*/
|
|
491
|
+
waitForJob(job: Omit<MarkdownJob, 'settings'>, options?: PollOptions): Promise<Result<ConvertedMarkdown>>;
|
|
492
|
+
waitForJob(job: Omit<DocumentJob, 'settings'>, options?: PollOptions): Promise<Result<ConvertedDocument>>;
|
|
493
|
+
waitForJob(job: JobRef, options?: PollOptions): Promise<Result<ConvertedMarkdown | ConvertedDocument>>;
|
|
456
494
|
/** Installed presets, limits and features of the server; on demand only, never used by conversions. */
|
|
457
495
|
capabilities(options?: CallOptions): Promise<Result<ServerCapabilities>>;
|
|
458
496
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "docling-serve-client",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Typed docling-serve client: PDF to docling Markdown or DoclingDocument JSON,
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Typed docling-serve client: PDF to docling Markdown or DoclingDocument JSON, as single request, job or polling job helper. In-memory, zero-dependency, never throws.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pdf",
|
|
7
7
|
"markdown",
|
package/src/capabilities.ts
CHANGED
|
@@ -52,7 +52,7 @@ export function readCapabilities(body: unknown): Result<ServerCapabilities> {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
// -------------------------------------------------------------------
|
|
55
|
-
// --- 3.
|
|
55
|
+
// --- 3. Private Functions
|
|
56
56
|
// -------------------------------------------------------------------
|
|
57
57
|
|
|
58
58
|
/** Pipeline stage; presets without a string `id` are dropped. */
|
package/src/client.ts
CHANGED
|
@@ -8,12 +8,18 @@ import { findTruncatedXref } from './core/pdf.js';
|
|
|
8
8
|
import { ERR, fail, ok } from './core/result.js';
|
|
9
9
|
import { PAGE_IMAGE_SCALE } from './images.js';
|
|
10
10
|
import {
|
|
11
|
+
type DocumentCall,
|
|
11
12
|
isJobId,
|
|
13
|
+
type MarkdownCall,
|
|
14
|
+
type PollCall,
|
|
12
15
|
type ResolvedOptions,
|
|
13
16
|
resolveCheckOptions,
|
|
14
17
|
resolveConfig,
|
|
15
18
|
resolveDocumentCall,
|
|
16
19
|
resolveMarkdownCall,
|
|
20
|
+
resolvePollOptions,
|
|
21
|
+
resolveRunDocumentCall,
|
|
22
|
+
resolveRunMarkdownCall,
|
|
17
23
|
validateJob,
|
|
18
24
|
} from './options.js';
|
|
19
25
|
import { type DoclingFailureInfo, readDocument, readFailure, readMarkdown, readText } from './response.js';
|
|
@@ -108,13 +114,14 @@ const MAX_SHOWN_ID_LENGTH = 100;
|
|
|
108
114
|
/**
|
|
109
115
|
* **docling-serve client factory**.
|
|
110
116
|
*
|
|
111
|
-
* - validates configuration once; its only state is
|
|
112
|
-
* - returned functions resolve to `Result`; invalid options reject with
|
|
117
|
+
* - validates configuration once; its only state is cached server versions
|
|
118
|
+
* - returned functions resolve to `Result`; invalid options reject with `TypeError` before any request
|
|
113
119
|
* - `timeoutMs` limits every request except `/version`, which has its own limit
|
|
120
|
+
* - `pollMs` sets default delay between job helper status polls, overridable per call
|
|
114
121
|
* @throws `TypeError` on invalid configuration.
|
|
115
122
|
*/
|
|
116
123
|
export function createDoclingClient(config: DoclingConfig): DoclingClient {
|
|
117
|
-
const { baseUrl, apiKey, fetch: fetchFn, timeoutMs, defaults } = resolveConfig(config);
|
|
124
|
+
const { baseUrl, apiKey, fetch: fetchFn, timeoutMs, pollMs, defaults } = resolveConfig(config);
|
|
118
125
|
const headers: Record<string, string> = apiKey === undefined ? {} : { 'X-Api-Key': apiKey };
|
|
119
126
|
/** Pending or resolved `/version` answer shared by all calls of this client. */
|
|
120
127
|
let versionsCache: Promise<ServerVersions | null> | undefined;
|
|
@@ -125,6 +132,9 @@ export function createDoclingClient(config: DoclingConfig): DoclingClient {
|
|
|
125
132
|
submitMarkdown,
|
|
126
133
|
submitDocument,
|
|
127
134
|
check: check as DoclingClient['check'],
|
|
135
|
+
runMarkdown,
|
|
136
|
+
runDocument,
|
|
137
|
+
waitForJob: waitForJob as DoclingClient['waitForJob'],
|
|
128
138
|
capabilities,
|
|
129
139
|
};
|
|
130
140
|
|
|
@@ -165,6 +175,52 @@ export function createDoclingClient(config: DoclingConfig): DoclingClient {
|
|
|
165
175
|
/** Starts an async md conversion; the job carries the image handling for `check` and the sent settings. */
|
|
166
176
|
async function submitMarkdown(input: ConvertInput, options?: unknown): Promise<Result<MarkdownJob>> {
|
|
167
177
|
const call = resolveMarkdownCall(defaults, options);
|
|
178
|
+
return await startMarkdownJob(input, call);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/** Starts an async document conversion; page images need no job field, `check` moves any it finds. */
|
|
182
|
+
async function submitDocument(input: ConvertInput, options?: unknown): Promise<Result<DocumentJob>> {
|
|
183
|
+
const call = resolveDocumentCall(defaults, options);
|
|
184
|
+
return await startDocumentJob(input, call);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/** Submits an md job and polls it until done; resolves like `convertMarkdown`, with the job's settings. */
|
|
188
|
+
async function runMarkdown(
|
|
189
|
+
input: ConvertInput,
|
|
190
|
+
options?: unknown,
|
|
191
|
+
): Promise<Result<WithSettings<ConvertedMarkdown>>> {
|
|
192
|
+
const call = resolveRunMarkdownCall(defaults, pollMs, options);
|
|
193
|
+
const job = await startMarkdownJob(input, call);
|
|
194
|
+
if (!job.ok) {
|
|
195
|
+
return job;
|
|
196
|
+
}
|
|
197
|
+
const done = await pollUntilDone<ConvertedMarkdown>(job.data, call);
|
|
198
|
+
return done.ok ? ok({ ...done.data, settings: job.data.settings }) : done;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/** Submits a document job and polls it until done; resolves like `convertDocument`, with the job's settings. */
|
|
202
|
+
async function runDocument(
|
|
203
|
+
input: ConvertInput,
|
|
204
|
+
options?: unknown,
|
|
205
|
+
): Promise<Result<WithSettings<ConvertedDocument>>> {
|
|
206
|
+
const call = resolveRunDocumentCall(defaults, pollMs, options);
|
|
207
|
+
const job = await startDocumentJob(input, call);
|
|
208
|
+
if (!job.ok) {
|
|
209
|
+
return job;
|
|
210
|
+
}
|
|
211
|
+
const done = await pollUntilDone<ConvertedDocument>(job.data, call);
|
|
212
|
+
return done.ok ? ok({ ...done.data, settings: job.data.settings }) : done;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/** Polls an existing job until done; the job is validated and copied once, so later changes to it have no effect. */
|
|
216
|
+
async function waitForJob(job: JobRef, options?: unknown): Promise<Result<ConvertedMarkdown | ConvertedDocument>> {
|
|
217
|
+
const call = resolvePollOptions(pollMs, options);
|
|
218
|
+
const valid = validateJob(job);
|
|
219
|
+
return valid.ok ? pollUntilDone(valid.data, call) : valid;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/** Posts an md job for a validated call. */
|
|
223
|
+
async function startMarkdownJob(input: ConvertInput, call: MarkdownCall): Promise<Result<MarkdownJob>> {
|
|
168
224
|
const fields: FormatFields = { format: 'md', embedImages: call.output.images === 'extract', pageImages: false };
|
|
169
225
|
const task = await submit(input, call.options, fields, call.signal);
|
|
170
226
|
return task.ok
|
|
@@ -172,9 +228,8 @@ export function createDoclingClient(config: DoclingConfig): DoclingClient {
|
|
|
172
228
|
: task;
|
|
173
229
|
}
|
|
174
230
|
|
|
175
|
-
/**
|
|
176
|
-
async function
|
|
177
|
-
const call = resolveDocumentCall(defaults, options);
|
|
231
|
+
/** Posts a document job for a validated call. */
|
|
232
|
+
async function startDocumentJob(input: ConvertInput, call: DocumentCall): Promise<Result<DocumentJob>> {
|
|
178
233
|
const fields: FormatFields = {
|
|
179
234
|
format: 'json',
|
|
180
235
|
embedImages: call.images === 'embedded',
|
|
@@ -185,22 +240,51 @@ export function createDoclingClient(config: DoclingConfig): DoclingClient {
|
|
|
185
240
|
}
|
|
186
241
|
|
|
187
242
|
/**
|
|
188
|
-
* **Polls a job
|
|
243
|
+
* **Polls a job until done**: waits `pollMs` after each `queued` or `running` status.
|
|
189
244
|
*
|
|
190
|
-
* -
|
|
191
|
-
* -
|
|
192
|
-
*
|
|
245
|
+
* - `job` must be validated: it is polled as is, without a new check per poll
|
|
246
|
+
* - first poll runs immediately; at most one request in flight
|
|
247
|
+
* - resolves to `done` result without `status`, or first error unchanged
|
|
248
|
+
* - abort during wait resolves to `aborted` immediately; abort during request returns request error
|
|
193
249
|
*/
|
|
250
|
+
async function pollUntilDone<T>(job: JobRef, { pollMs: waitMs, signal }: PollCall): Promise<Result<T>> {
|
|
251
|
+
for (;;) {
|
|
252
|
+
const state = await fetchJobState(job, signal);
|
|
253
|
+
if (!state.ok) {
|
|
254
|
+
return state;
|
|
255
|
+
}
|
|
256
|
+
if (state.data.status === 'done') {
|
|
257
|
+
const { status: _done, ...result } = state.data;
|
|
258
|
+
return ok(result as T);
|
|
259
|
+
}
|
|
260
|
+
if (!(await sleep(waitMs, signal))) {
|
|
261
|
+
return fail(ERR.ABORTED(`Aborted while waiting for job ${job.id}`));
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/** Polls a job and fetches its result when done; a malformed job is `invalid_input` without a request. */
|
|
194
267
|
async function check(
|
|
195
268
|
job: JobRef,
|
|
196
269
|
options?: unknown,
|
|
197
270
|
): Promise<Result<JobState<ConvertedMarkdown | ConvertedDocument>>> {
|
|
198
271
|
const { signal } = resolveCheckOptions(options);
|
|
199
272
|
const valid = validateJob(job);
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
273
|
+
return valid.ok ? fetchJobState(valid.data, signal) : valid;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* **Status request for a validated job; result download when done**.
|
|
278
|
+
*
|
|
279
|
+
* - unknown job id: `not_found` with `Unknown job id`; also once docling-serve deleted the task,
|
|
280
|
+
* `DOCLING_SERVE_RESULT_REMOVAL_DELAY` (default 300 s) after the first result fetch
|
|
281
|
+
* - task deleted between the status poll and the result fetch: `not_found` with `Result already fetched or expired`
|
|
282
|
+
*/
|
|
283
|
+
async function fetchJobState(
|
|
284
|
+
job: JobRef,
|
|
285
|
+
signal: AbortSignal | undefined,
|
|
286
|
+
): Promise<Result<JobState<ConvertedMarkdown | ConvertedDocument>>> {
|
|
287
|
+
const { id } = job;
|
|
204
288
|
const res = await get(`/v1/status/poll/${id}`, signal);
|
|
205
289
|
if (!res.ok) {
|
|
206
290
|
const error =
|
|
@@ -227,9 +311,8 @@ export function createDoclingClient(config: DoclingConfig): DoclingClient {
|
|
|
227
311
|
: result.error;
|
|
228
312
|
return failWithVersions(error);
|
|
229
313
|
}
|
|
230
|
-
const checked = valid.data;
|
|
231
314
|
const output =
|
|
232
|
-
|
|
315
|
+
job.kind === 'markdown' ? readMarkdown(result.data, job.output) : readDocument(result.data);
|
|
233
316
|
const done = await withVersions<ConvertedMarkdown | ConvertedDocument>(output);
|
|
234
317
|
return done.ok ? ok({ status: 'done', ...done.data }) : done;
|
|
235
318
|
}
|
|
@@ -372,9 +455,33 @@ export function createDoclingClient(config: DoclingConfig): DoclingClient {
|
|
|
372
455
|
}
|
|
373
456
|
|
|
374
457
|
// -------------------------------------------------------------------
|
|
375
|
-
// --- 4.
|
|
458
|
+
// --- 4. Private Functions
|
|
376
459
|
// -------------------------------------------------------------------
|
|
377
460
|
|
|
461
|
+
/**
|
|
462
|
+
* **Waits `ms` unless `signal` aborts**.
|
|
463
|
+
*
|
|
464
|
+
* - resolves `true` after the wait, `false` at once on abort (also when already aborted)
|
|
465
|
+
* - clears its timer and removes its listener either way
|
|
466
|
+
*/
|
|
467
|
+
function sleep(ms: number, signal: AbortSignal | undefined): Promise<boolean> {
|
|
468
|
+
if (signal?.aborted) {
|
|
469
|
+
return Promise.resolve(false);
|
|
470
|
+
}
|
|
471
|
+
return new Promise((resolve) => {
|
|
472
|
+
const timer = setTimeout(() => {
|
|
473
|
+
signal?.removeEventListener('abort', onAbort);
|
|
474
|
+
resolve(true);
|
|
475
|
+
}, ms);
|
|
476
|
+
/** Ends the wait early. */
|
|
477
|
+
function onAbort() {
|
|
478
|
+
clearTimeout(timer);
|
|
479
|
+
resolve(false);
|
|
480
|
+
}
|
|
481
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
|
|
378
485
|
/** Caller signal combined with a `timeoutMs` limit; either alone when the other is unset. */
|
|
379
486
|
function withTimeout(signal: AbortSignal | undefined, timeoutMs: number | undefined): AbortSignal | undefined {
|
|
380
487
|
if (timeoutMs === undefined) {
|
|
@@ -412,6 +519,7 @@ function readInputFormat(input: unknown): Result<InputFormat> {
|
|
|
412
519
|
* - images: `image_export_mode=embedded` when picture data or page images are requested, else `placeholder`;
|
|
413
520
|
* `include_images` and `include_page_images` pick which data docling sends
|
|
414
521
|
* - `images_scale` fixed at `PAGE_IMAGE_SCALE`; it sets picture and page image resolution only, OCR has its own scale
|
|
522
|
+
* - PDF input: `forceOcr` enables OCR even with `ocr: false` (docling skips `force_ocr` when `do_ocr=false`)
|
|
415
523
|
* - image input: OCR always on and never full-page, whatever `ocr` and `forceOcr` say
|
|
416
524
|
* - model presets pinned; a preset of a disabled stage is not sent
|
|
417
525
|
* - fields docling-serve would default silently are sent with that default
|
|
@@ -421,7 +529,6 @@ function buildSettings(
|
|
|
421
529
|
options: ResolvedOptions,
|
|
422
530
|
{ format, embedImages, pageImages }: FormatFields,
|
|
423
531
|
): DoclingSettings {
|
|
424
|
-
// Image has no text layer: without OCR it yields no text, and full-page OCR merges words.
|
|
425
532
|
const isImage = fromFormat === 'image';
|
|
426
533
|
const isMarkdown = format === 'md';
|
|
427
534
|
return {
|
|
@@ -433,7 +540,7 @@ function buildSettings(
|
|
|
433
540
|
imagesScale: PAGE_IMAGE_SCALE,
|
|
434
541
|
mdCompactTables: isMarkdown ? true : null,
|
|
435
542
|
mdPageBreakPlaceholder: isMarkdown ? '' : null,
|
|
436
|
-
doOcr: isImage || options.ocr,
|
|
543
|
+
doOcr: isImage || options.ocr || options.forceOcr,
|
|
437
544
|
forceOcr: !isImage && options.forceOcr,
|
|
438
545
|
ocrPreset: options.ocrEngine,
|
|
439
546
|
ocrLang: [...(options.ocrLang ?? [])],
|
|
@@ -467,7 +574,6 @@ function buildSettings(
|
|
|
467
574
|
*/
|
|
468
575
|
function buildFormData(input: ConvertInput, { mimeType, fileName }: InputFormat, settings: DoclingSettings): FormData {
|
|
469
576
|
const form = new FormData();
|
|
470
|
-
// Blob does not accept SharedArrayBuffer-backed input: copy only that into a fresh ArrayBuffer.
|
|
471
577
|
const bytes = input.buffer instanceof ArrayBuffer ? (input as Uint8Array<ArrayBuffer>) : new Uint8Array(input);
|
|
472
578
|
form.append('files', new Blob([bytes], { type: mimeType }), fileName);
|
|
473
579
|
for (const [key, value] of Object.entries(settings)) {
|
package/src/core/http.ts
CHANGED
|
@@ -61,7 +61,7 @@ export function errorMessage(e: unknown): string {
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
// -------------------------------------------------------------------
|
|
64
|
-
// --- 3.
|
|
64
|
+
// --- 3. Private Functions
|
|
65
65
|
// -------------------------------------------------------------------
|
|
66
66
|
|
|
67
67
|
/** Checks whether an error indicates body size exceeded memory or maximum string length. */
|
|
@@ -89,8 +89,6 @@ function errorDetail(text: string): string {
|
|
|
89
89
|
const { detail } = body;
|
|
90
90
|
return typeof detail === 'string' ? detail : JSON.stringify(detail);
|
|
91
91
|
}
|
|
92
|
-
} catch {
|
|
93
|
-
// Not JSON: fall back to raw text
|
|
94
|
-
}
|
|
92
|
+
} catch {}
|
|
95
93
|
return text.slice(0, 500) || 'no response body';
|
|
96
94
|
}
|
package/src/core/input.ts
CHANGED
|
@@ -33,10 +33,8 @@ type ImageSignature = {
|
|
|
33
33
|
const IMAGE_SIGNATURES: readonly ImageSignature[] = [
|
|
34
34
|
{ mimeType: 'image/png', extension: 'png', parts: [[0, [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]]] },
|
|
35
35
|
{ mimeType: 'image/jpeg', extension: 'jpg', parts: [[0, [0xff, 0xd8, 0xff]]] },
|
|
36
|
-
// Little-endian `II*\0` and big-endian `MM\0*`.
|
|
37
36
|
{ mimeType: 'image/tiff', extension: 'tiff', parts: [[0, [0x49, 0x49, 0x2a, 0x00]]] },
|
|
38
37
|
{ mimeType: 'image/tiff', extension: 'tiff', parts: [[0, [0x4d, 0x4d, 0x00, 0x2a]]] },
|
|
39
|
-
// `RIFF` <size> `WEBP`.
|
|
40
38
|
{
|
|
41
39
|
mimeType: 'image/webp',
|
|
42
40
|
extension: 'webp',
|
package/src/core/pdf.ts
CHANGED
package/src/core/validate.ts
CHANGED
package/src/document.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// biome-ignore-all lint/style/useNamingConvention: mirrors docling-core's snake_case JSON
|
|
5
5
|
|
|
6
6
|
// -------------------------------------------------------------------
|
|
7
|
-
// --- 1.
|
|
7
|
+
// --- 1. Types
|
|
8
8
|
// -------------------------------------------------------------------
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -54,9 +54,7 @@ export type PageItem = {
|
|
|
54
54
|
page_no: number;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
//
|
|
58
|
-
// --- 2. Shared Parts
|
|
59
|
-
// -------------------------------------------------------------------
|
|
57
|
+
// Shared Parts
|
|
60
58
|
|
|
61
59
|
/** JSON pointer to another item, e.g. `{ $ref: '#/texts/12' }` or `{ $ref: '#/body' }`. */
|
|
62
60
|
export type RefItem = { $ref: string };
|
|
@@ -182,9 +180,7 @@ type FloatingFields = {
|
|
|
182
180
|
image: ImageRef | null;
|
|
183
181
|
};
|
|
184
182
|
|
|
185
|
-
//
|
|
186
|
-
// --- 3. Groups
|
|
187
|
-
// -------------------------------------------------------------------
|
|
183
|
+
// Groups
|
|
188
184
|
|
|
189
185
|
/** Docling's group kinds. */
|
|
190
186
|
export type GroupLabel =
|
|
@@ -214,9 +210,7 @@ export type ListGroup = GroupItem & { label: 'list' };
|
|
|
214
210
|
/** Run of texts that belong to one line or paragraph, e.g. with mixed formatting. */
|
|
215
211
|
export type InlineGroup = GroupItem & { label: 'inline' };
|
|
216
212
|
|
|
217
|
-
//
|
|
218
|
-
// --- 4. Texts
|
|
219
|
-
// -------------------------------------------------------------------
|
|
213
|
+
// Texts
|
|
220
214
|
|
|
221
215
|
/** Labels of plain `TextItem`s; other text labels have their own item type. */
|
|
222
216
|
export type TextLabel =
|
|
@@ -284,9 +278,7 @@ export type AnyTextItem =
|
|
|
284
278
|
| FieldValueItem
|
|
285
279
|
| TextItem;
|
|
286
280
|
|
|
287
|
-
//
|
|
288
|
-
// --- 5. Tables
|
|
289
|
-
// -------------------------------------------------------------------
|
|
281
|
+
// Tables
|
|
290
282
|
|
|
291
283
|
/** Table cell; offsets are 0-based and end-exclusive, spans repeat the cell in `grid`. */
|
|
292
284
|
export type TableCell = {
|
|
@@ -331,9 +323,7 @@ export type TableItem = DocItem &
|
|
|
331
323
|
annotations: (DescriptionAnnotation | MiscAnnotation)[];
|
|
332
324
|
};
|
|
333
325
|
|
|
334
|
-
//
|
|
335
|
-
// --- 6. Pictures
|
|
336
|
-
// -------------------------------------------------------------------
|
|
326
|
+
// Pictures
|
|
337
327
|
|
|
338
328
|
/**
|
|
339
329
|
* **Model output on a picture**: description, classification, molecule or chart data.
|
|
@@ -379,9 +369,7 @@ export type PictureItem = DocItem &
|
|
|
379
369
|
annotations: PictureAnnotation[];
|
|
380
370
|
};
|
|
381
371
|
|
|
382
|
-
//
|
|
383
|
-
// --- 7. Forms and Key-Value Regions
|
|
384
|
-
// -------------------------------------------------------------------
|
|
372
|
+
// Forms and Key-Value Regions
|
|
385
373
|
|
|
386
374
|
/** Cell of a key-value or form graph. */
|
|
387
375
|
export type GraphCell = {
|