pdfdancer-client-typescript 1.0.14 → 1.0.15

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/.eslintrc.js CHANGED
@@ -1,19 +1,27 @@
1
1
  module.exports = {
2
- parser: '@typescript-eslint/parser',
3
- plugins: ['@typescript-eslint'],
4
- extends: [
5
- 'eslint:recommended',
6
- ],
7
- root: true,
8
- env: {
9
- node: true,
10
- jest: true,
11
- },
12
- ignorePatterns: ['.eslintrc.js', 'dist/', 'node_modules/'],
13
- rules: {
14
- '@typescript-eslint/interface-name-prefix': 'off',
15
- '@typescript-eslint/explicit-function-return-type': 'off',
16
- '@typescript-eslint/explicit-module-boundary-types': 'off',
17
- '@typescript-eslint/no-explicit-any': 'warn',
18
- },
19
- };
2
+ parser: '@typescript-eslint/parser',
3
+ plugins: ['@typescript-eslint'],
4
+ extends: [
5
+ 'eslint:recommended',
6
+ ],
7
+ root: true,
8
+ env: {
9
+ node: true,
10
+ jest: true,
11
+ browser: true,
12
+ },
13
+ ignorePatterns: ['.eslintrc.js', 'dist/', 'node_modules/'],
14
+ overrides: [
15
+ {
16
+ files: ['src/**/*.ts', 'src/**/*.tsx'],
17
+ rules: {
18
+ '@typescript-eslint/interface-name-prefix': 'off',
19
+ '@typescript-eslint/explicit-function-return-type': 'off',
20
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
21
+ '@typescript-eslint/no-explicit-any': 'warn',
22
+ '@typescript-eslint/no-unused-vars': 'warn',
23
+ 'no-dupe-class-members': 'off',
24
+ }
25
+ }
26
+ ]
27
+ };
@@ -8,11 +8,14 @@ on:
8
8
 
9
9
  jobs:
10
10
  test:
11
+ # Run minimal config on non-main branches
12
+ if: github.ref != 'refs/heads/main'
11
13
  runs-on: ubuntu-latest
12
14
 
13
15
  strategy:
16
+ fail-fast: false
14
17
  matrix:
15
- node-version: [ 20.x, 22.x, 24.x ]
18
+ node-version: [ 20.x ]
16
19
 
17
20
  steps:
18
21
  - uses: actions/checkout@v4
@@ -33,5 +36,51 @@ jobs:
33
36
  run: npm run build
34
37
 
35
38
  - name: Run tests
36
- run: PDFDANCER_BASE_URL=https://api-staging.pdfdancer.com PDFDANCER_TOKEN=42 npm run test
39
+ run: |
40
+ PDFDANCER_BASE_URL=https://api-staging.pdfdancer.com \
41
+ PDFDANCER_TOKEN=42 \
42
+ npm run test
43
+
44
+ test-full-matrix:
45
+ # Run full OS + Node version matrix only on main
46
+ if: github.ref == 'refs/heads/main'
47
+ runs-on: ${{ matrix.os }}
48
+
49
+ strategy:
50
+ fail-fast: false
51
+ matrix:
52
+ os: [ ubuntu-latest, windows-latest ]
53
+ node-version: [ 20.x, 22.x, 24.x ]
54
+
55
+ steps:
56
+ - uses: actions/checkout@v4
57
+
58
+ - name: Use Node.js ${{ matrix.node-version }}
59
+ uses: actions/setup-node@v4
60
+ with:
61
+ node-version: ${{ matrix.node-version }}
62
+ cache: 'npm'
63
+
64
+ - name: Install dependencies
65
+ run: npm ci
66
+
67
+ - name: Run linter
68
+ run: npm run lint
69
+
70
+ - name: Build
71
+ run: npm run build
72
+
73
+ - name: Run tests (Unix)
74
+ if: runner.os != 'Windows'
75
+ run: |
76
+ PDFDANCER_BASE_URL=https://api-staging.pdfdancer.com \
77
+ PDFDANCER_TOKEN=42 \
78
+ npm run test
37
79
 
80
+ - name: Run tests (Windows)
81
+ if: runner.os == 'Windows'
82
+ shell: cmd
83
+ run: |
84
+ set PDFDANCER_BASE_URL=https://api-staging.pdfdancer.com
85
+ set PDFDANCER_TOKEN=42
86
+ npm run test
@@ -0,0 +1,54 @@
1
+ name: Daily Tests
2
+
3
+ on:
4
+ schedule:
5
+ # Run daily at 11:00 PM UTC
6
+ - cron: '0 23 * * *'
7
+ workflow_dispatch: # Allow manual trigger
8
+
9
+ jobs:
10
+ daily-test:
11
+ runs-on: ${{ matrix.os }}
12
+
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ os: [ ubuntu-latest, windows-latest ]
17
+ node-version: [ 20.x, 22.x, 24.x ]
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - name: Use Node.js ${{ matrix.node-version }}
23
+ uses: actions/setup-node@v4
24
+ with:
25
+ node-version: ${{ matrix.node-version }}
26
+ cache: 'npm'
27
+
28
+ - name: Install dependencies
29
+ run: npm ci
30
+
31
+ - name: Run linter
32
+ run: npm run lint
33
+
34
+ - name: Build
35
+ run: npm run build
36
+
37
+ - name: Run tests (Unix)
38
+ if: runner.os != 'Windows'
39
+ run: |
40
+ PDFDANCER_BASE_URL=https://api-staging.pdfdancer.com \
41
+ PDFDANCER_TOKEN=42 \
42
+ npm run test
43
+
44
+ - name: Run tests (Windows)
45
+ if: runner.os == 'Windows'
46
+ shell: cmd
47
+ run: |
48
+ set PDFDANCER_BASE_URL=https://api-staging.pdfdancer.com
49
+ set PDFDANCER_TOKEN=42
50
+ npm run test
51
+
52
+ - name: Report failure
53
+ if: failure()
54
+ run: echo "Daily test run failed. Please check the logs for details."
package/README.md CHANGED
@@ -139,7 +139,8 @@ const pdf = await PDFDancer.open(
139
139
  pdfData, // Uint8Array, File, or ArrayBuffer
140
140
  token, // Optional: defaults to process.env.PDFDANCER_TOKEN
141
141
  baseUrl, // Optional: defaults to process.env.PDFDANCER_BASE_URL or https://api.pdfdancer.com
142
- timeout // Optional request timeout in ms (default: 60000)
142
+ timeout, // Optional request timeout in ms (default: 60000)
143
+ retryConfig // Optional retry configuration
143
144
  );
144
145
  ```
145
146
 
@@ -148,6 +149,45 @@ const pdf = await PDFDancer.open(
148
149
  - Tune HTTP read timeouts via the `timeout` argument on `PDFDancer.open()` and `PDFDancer.new()`.
149
150
  - Page indexes start at `0` throughout the API.
150
151
 
152
+ ### Retry Configuration
153
+
154
+ The client includes a configurable retry mechanism for handling transient failures. By default, it retries on specific HTTP status codes (429, 500, 502, 503, 504) and network errors with exponential backoff.
155
+
156
+ ```typescript
157
+ import { PDFDancer, RetryConfig } from 'pdfdancer-client-typescript';
158
+
159
+ // Use default retry configuration (3 retries, exponential backoff)
160
+ const pdf = await PDFDancer.open(pdfData);
161
+
162
+ // Customize retry behavior
163
+ const customRetryConfig: RetryConfig = {
164
+ maxRetries: 5, // Maximum number of retry attempts (default: 3)
165
+ initialDelay: 1000, // Initial delay in ms before first retry (default: 1000)
166
+ maxDelay: 10000, // Maximum delay in ms between retries (default: 10000)
167
+ backoffMultiplier: 2, // Exponential backoff multiplier (default: 2)
168
+ retryableStatusCodes: [429, 500, 502, 503, 504], // HTTP status codes to retry (default)
169
+ retryOnNetworkError: true, // Retry on network errors (default: true)
170
+ useJitter: true // Add random jitter to delays (default: true)
171
+ };
172
+
173
+ const pdf = await PDFDancer.open(pdfData, token, baseUrl, timeout, customRetryConfig);
174
+ ```
175
+
176
+ **Default Retry Behavior:**
177
+ - Retries up to 3 times on transient errors
178
+ - Uses exponential backoff with jitter (1s, 2s, 4s base delays)
179
+ - Retries on HTTP 429 (rate limit), 500, 502, 503, 504 (server errors)
180
+ - Retries on network errors (connection failures, timeouts)
181
+ - Does NOT retry on client errors (4xx except 429)
182
+
183
+ **Disable Retries:**
184
+ ```typescript
185
+ const noRetryConfig: RetryConfig = { maxRetries: 0 };
186
+ const pdf = await PDFDancer.open(pdfData, token, baseUrl, timeout, noRetryConfig);
187
+ ```
188
+
189
+ The retry mechanism applies to all REST API calls including session creation, document operations, and font registration.
190
+
151
191
  ## Working with Pages
152
192
 
153
193
  ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAmBzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAehE;AAiBD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAsBrG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS7D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,UAI3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS5D"}
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAmBzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAehE;AAiBD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAsBrG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS7D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,UAI3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS5D"}
@@ -35,6 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  return result;
36
36
  };
37
37
  })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
38
41
  Object.defineProperty(exports, "__esModule", { value: true });
39
42
  exports.getBaseUrl = getBaseUrl;
40
43
  exports.readToken = readToken;
@@ -47,11 +50,12 @@ exports.getFontPath = getFontPath;
47
50
  exports.readFontFixture = readFontFixture;
48
51
  const fs = __importStar(require("fs"));
49
52
  const path = __importStar(require("path"));
53
+ const os_1 = __importDefault(require("os"));
50
54
  /**
51
55
  * Get the base URL from environment variable or default
52
56
  */
53
57
  function getBaseUrl() {
54
- return process.env.PDFDANCER_BASE_URL || 'http://localhost:8080';
58
+ return (process.env.PDFDANCER_BASE_URL || 'http://localhost:8080').trim();
55
59
  }
56
60
  /**
57
61
  * Read authentication token from environment or token files
@@ -134,7 +138,10 @@ async function requireEnvAndFixture(pdfFilename) {
134
138
  * Helper to open temporary file path (for Node.js environment)
135
139
  */
136
140
  function createTempPath(filename) {
137
- const tmpDir = process.env.TMPDIR || '/tmp';
141
+ const tmpDir = process.env.TMPDIR ||
142
+ process.env.TEMP ||
143
+ process.env.TMP ||
144
+ os_1.default.tmpdir(); // reliable built-in fallback
138
145
  return path.join(tmpDir, filename);
139
146
  }
140
147
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkIH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B1E"}
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+IH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B1E"}
@@ -85,14 +85,25 @@ function getInstallSalt() {
85
85
  * Note: This is limited on the client side and may not always be accurate
86
86
  */
87
87
  async function getClientIP() {
88
- try {
89
- // In browser, we can't reliably get the real IP
90
- // Return a placeholder that will be consistent per session
88
+ // In the browser, just return a placeholder
89
+ if (typeof window !== 'undefined') {
91
90
  return 'client-unknown';
92
91
  }
93
- catch {
94
- return 'client-unknown';
92
+ // --- Running on server side ---
93
+ // Try to find a non-internal IPv4 address from network interfaces
94
+ const interfaces = os.networkInterfaces();
95
+ for (const name of Object.keys(interfaces)) {
96
+ const netList = interfaces[name];
97
+ if (!netList)
98
+ continue;
99
+ for (const net of netList) {
100
+ if (net.family === 'IPv4' && !net.internal) {
101
+ return net.address;
102
+ }
103
+ }
95
104
  }
105
+ // Fallback if nothing found
106
+ return 'server-unknown';
96
107
  }
97
108
  /**
98
109
  * Get the OS type
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqJH,kDA6BC;AAhLD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB;;;GAGG;AACH,SAAS,cAAc;IACnB,MAAM,UAAU,GAAG,wBAAwB,CAAC;IAE5C,0CAA0C;IAC1C,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEpD,uCAAuC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAC1D,CAAC;QAED,yCAAyC;QACzC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,4DAA4D;QAC5D,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,WAAW;IACtB,4CAA4C;IAC5C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,iCAAiC;IACjC,kEAAkE;IAClE,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACzC,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,SAAS;IACd,4BAA4B;IAC5B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QAC9C,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACpD,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;IACjF,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IAChB,sBAAsB;IACtB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC;YACD,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACL,gCAAgC;QACpC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IAChB,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,SAAS;IACd,IAAI,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC,QAAQ,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CAAC,MAAe;IACrD,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,CAAC;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,6BAA6B;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5E,sCAAsC;IACtC,MAAM,eAAe,GACjB,MAAM;QACN,OAAO;QACP,MAAM;QACN,WAAW;QACX,QAAQ;QACR,MAAM;QACN,UAAU;QACV,WAAW,CAAC;IAEhB,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1F,OAAO,eAAe,CAAC;AAC3B,CAAC"}
@@ -8,6 +8,40 @@ import { ParagraphBuilder } from './paragraph-builder';
8
8
  import { PageBuilder } from './page-builder';
9
9
  import { FormFieldObject, FormXObject, ImageObject, ParagraphObject, PathObject, TextLineObject } from "./types";
10
10
  import { ImageBuilder } from "./image-builder";
11
+ /**
12
+ * Configuration for retry mechanism on REST API calls.
13
+ */
14
+ export interface RetryConfig {
15
+ /**
16
+ * Maximum number of retry attempts (default: 3)
17
+ */
18
+ maxRetries?: number;
19
+ /**
20
+ * Initial delay in milliseconds before first retry (default: 1000)
21
+ * Subsequent delays use exponential backoff
22
+ */
23
+ initialDelay?: number;
24
+ /**
25
+ * Maximum delay in milliseconds between retries (default: 10000)
26
+ */
27
+ maxDelay?: number;
28
+ /**
29
+ * HTTP status codes that should trigger a retry (default: [429, 500, 502, 503, 504])
30
+ */
31
+ retryableStatusCodes?: number[];
32
+ /**
33
+ * Whether to retry on network errors (connection failures, timeouts) (default: true)
34
+ */
35
+ retryOnNetworkError?: boolean;
36
+ /**
37
+ * Exponential backoff multiplier (default: 2)
38
+ */
39
+ backoffMultiplier?: number;
40
+ /**
41
+ * Whether to add random jitter to retry delays to prevent thundering herd (default: true)
42
+ */
43
+ useJitter?: boolean;
44
+ }
11
45
  declare class PageClient {
12
46
  private _pageIndex;
13
47
  private _client;
@@ -48,6 +82,23 @@ declare class PageClient {
48
82
  * Optionally filter by object types.
49
83
  */
50
84
  getSnapshot(types?: ObjectType[]): Promise<PageSnapshot>;
85
+ selectPath(): Promise<PathObject | null>;
86
+ selectPathAt(x: number, y: number, tolerance?: number): Promise<PathObject | null>;
87
+ selectImage(): Promise<ImageObject | null>;
88
+ selectImageAt(x: number, y: number, tolerance?: number): Promise<ImageObject | null>;
89
+ selectForm(): Promise<FormXObject | null>;
90
+ selectFormAt(x: number, y: number, tolerance?: number): Promise<FormXObject | null>;
91
+ selectFormField(): Promise<FormFieldObject | null>;
92
+ selectFormFieldAt(x: number, y: number, tolerance?: number): Promise<FormFieldObject | null>;
93
+ selectFormFieldByName(fieldName: string): Promise<FormFieldObject | null>;
94
+ selectParagraph(): Promise<ParagraphObject | null>;
95
+ selectParagraphStartingWith(text: string): Promise<ParagraphObject | null>;
96
+ selectParagraphMatching(pattern: string): Promise<ParagraphObject | null>;
97
+ selectParagraphAt(x: number, y: number, tolerance?: number): Promise<ParagraphObject | null>;
98
+ selectTextLine(): Promise<TextLineObject | null>;
99
+ selectTextLineStartingWith(text: string): Promise<TextLineObject | null>;
100
+ selectTextLineMatching(pattern: string): Promise<TextLineObject | null>;
101
+ selectTextLineAt(x: number, y: number, tolerance?: number): Promise<TextLineObject | null>;
51
102
  }
52
103
  /**
53
104
  * REST API client for interacting with the PDFDancer PDF manipulation service.
@@ -64,6 +115,7 @@ export declare class PDFDancer {
64
115
  private _sessionId;
65
116
  private _userId?;
66
117
  private _fingerprintCache?;
118
+ private _retryConfig;
67
119
  private _documentSnapshotCache;
68
120
  private _pageSnapshotCache;
69
121
  private _pagesCache;
@@ -78,7 +130,7 @@ export declare class PDFDancer {
78
130
  * Must be called after constructor before using the client.
79
131
  */
80
132
  private init;
81
- static open(pdfData: Uint8Array, token?: string, baseUrl?: string, timeout?: number): Promise<PDFDancer>;
133
+ static open(pdfData: Uint8Array, token?: string, baseUrl?: string, timeout?: number, retryConfig?: RetryConfig): Promise<PDFDancer>;
82
134
  /**
83
135
  * Creates a new, blank PDF document with the specified parameters.
84
136
  *
@@ -89,12 +141,13 @@ export declare class PDFDancer {
89
141
  * @param token Authentication token (optional, can use PDFDANCER_TOKEN env var)
90
142
  * @param baseUrl Base URL for the PDFDancer API (optional)
91
143
  * @param timeout Request timeout in milliseconds (default: 60000)
144
+ * @param retryConfig Retry configuration (optional, uses defaults if not specified)
92
145
  */
93
146
  static new(options?: {
94
147
  pageSize?: PageSizeInput;
95
148
  orientation?: Orientation;
96
149
  initialPageCount?: number;
97
- }, token?: string, baseUrl?: string, timeout?: number): Promise<PDFDancer>;
150
+ }, token?: string, baseUrl?: string, timeout?: number, retryConfig?: RetryConfig): Promise<PDFDancer>;
98
151
  private static _obtainAnonymousToken;
99
152
  /**
100
153
  * Process PDF data from various input types with strict validation.
@@ -118,6 +171,11 @@ export declare class PDFDancer {
118
171
  * Get or generate the fingerprint for this client
119
172
  */
120
173
  private _getFingerprint;
174
+ /**
175
+ * Executes a fetch request with retry logic based on the configured retry policy.
176
+ * Implements exponential backoff with optional jitter.
177
+ */
178
+ private _fetchWithRetry;
121
179
  /**
122
180
  * Make HTTP request with session headers and error handling.
123
181
  */
@@ -319,6 +377,15 @@ export declare class PDFDancer {
319
377
  private toTextLineObjects;
320
378
  selectTextLines(): Promise<TextLineObject[]>;
321
379
  selectLines(): Promise<TextLineObject[]>;
380
+ selectImage(): Promise<ImageObject | null>;
381
+ selectPath(): Promise<PathObject | null>;
382
+ selectForm(): Promise<FormXObject | null>;
383
+ selectFormField(): Promise<FormFieldObject | null>;
384
+ selectFieldByName(fieldName: string): Promise<FormFieldObject | null>;
385
+ selectParagraph(): Promise<ParagraphObject | null>;
386
+ selectParagraphMatching(pattern: string): Promise<ParagraphObject | null>;
387
+ selectTextLine(): Promise<TextLineObject | null>;
388
+ selectLine(): Promise<TextLineObject | null>;
322
389
  }
323
390
  export {};
324
391
  //# sourceMappingURL=pdfdancer_v1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdfdancer_v1.d.ts","sourceRoot":"","sources":["../src/pdfdancer_v1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdfdancer_v1.d.ts","sourceRoot":"","sources":["../src/pdfdancer_v1.ts"],"names":[],"mappings":"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"}