@fluxfiles/node 0.1.20 → 0.1.22

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/index.d.mts CHANGED
@@ -105,6 +105,9 @@ interface BaseTokenOptions {
105
105
  * true interactive terminal instead of the built-in command-runner. Free; must be http(s).
106
106
  * Core-standalone only (like `allowTerminal`). */
107
107
  terminalPtyUrl?: string;
108
+ /** Optional self-hosted PDF-tools URL (Stirling-PDF, or any web PDF toolkit). When set, the
109
+ * UI shows a "PDF tools" action that embeds it (merge/split/OCR/convert/…). Free; http(s). */
110
+ pdfToolsUrl?: string;
108
111
  /** Allow the Optimization feature (POST /api/fm/optimize) — recompress images to WebP +
109
112
  * compress PDFs. **Free/core**; default **false** because it replaces/deletes originals, so
110
113
  * it's an opt-in capability. */
@@ -148,6 +151,14 @@ interface BaseTokenOptions {
148
151
  versioningMax?: number;
149
152
  /** Skip versioning files bigger than this many MB. `0`/omitted = default (25). */
150
153
  versioningMaxMb?: number;
154
+ /** Webhooks module: fire a signed HTTP POST on file events. */
155
+ allowWebhooks?: boolean;
156
+ /** Endpoint the signed event is POSTed to (http/s only). */
157
+ webhookUrl?: string;
158
+ /** Only these event names fire the webhook (e.g. `['upload','delete']`). Empty = all. */
159
+ webhookEvents?: string[];
160
+ /** HMAC signing secret for the payload (`X-FluxFiles-Signature`). Empty = server secret. */
161
+ webhookSecret?: string;
151
162
  /** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
152
163
  allowZip?: boolean;
153
164
  /** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
package/dist/index.d.ts CHANGED
@@ -105,6 +105,9 @@ interface BaseTokenOptions {
105
105
  * true interactive terminal instead of the built-in command-runner. Free; must be http(s).
106
106
  * Core-standalone only (like `allowTerminal`). */
107
107
  terminalPtyUrl?: string;
108
+ /** Optional self-hosted PDF-tools URL (Stirling-PDF, or any web PDF toolkit). When set, the
109
+ * UI shows a "PDF tools" action that embeds it (merge/split/OCR/convert/…). Free; http(s). */
110
+ pdfToolsUrl?: string;
108
111
  /** Allow the Optimization feature (POST /api/fm/optimize) — recompress images to WebP +
109
112
  * compress PDFs. **Free/core**; default **false** because it replaces/deletes originals, so
110
113
  * it's an opt-in capability. */
@@ -148,6 +151,14 @@ interface BaseTokenOptions {
148
151
  versioningMax?: number;
149
152
  /** Skip versioning files bigger than this many MB. `0`/omitted = default (25). */
150
153
  versioningMaxMb?: number;
154
+ /** Webhooks module: fire a signed HTTP POST on file events. */
155
+ allowWebhooks?: boolean;
156
+ /** Endpoint the signed event is POSTed to (http/s only). */
157
+ webhookUrl?: string;
158
+ /** Only these event names fire the webhook (e.g. `['upload','delete']`). Empty = all. */
159
+ webhookEvents?: string[];
160
+ /** HMAC signing secret for the payload (`X-FluxFiles-Signature`). Empty = server secret. */
161
+ webhookSecret?: string;
151
162
  /** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
152
163
  allowZip?: boolean;
153
164
  /** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
package/dist/index.js CHANGED
@@ -173,12 +173,17 @@ function applyTenantOverrides(payload, opts) {
173
173
  if (opts.allowCodeEdit !== void 0) payload.allow_code_edit = !!opts.allowCodeEdit;
174
174
  if (opts.allowTerminal !== void 0) payload.allow_terminal = !!opts.allowTerminal;
175
175
  if (opts.terminalPtyUrl) payload.terminal_pty_url = String(opts.terminalPtyUrl);
176
+ if (opts.pdfToolsUrl) payload.pdf_tools_url = String(opts.pdfToolsUrl);
176
177
  if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
177
178
  if (opts.allowShare !== void 0) payload.allow_share = !!opts.allowShare;
178
179
  if (opts.allowIntake !== void 0) payload.allow_intake = !!opts.allowIntake;
179
180
  if (opts.allowVersioning !== void 0) payload.allow_versioning = !!opts.allowVersioning;
180
181
  if (opts.versioningMax && opts.versioningMax > 0) payload.versioning_max = Math.trunc(opts.versioningMax);
181
182
  if (opts.versioningMaxMb && opts.versioningMaxMb > 0) payload.versioning_max_mb = Math.trunc(opts.versioningMaxMb);
183
+ if (opts.allowWebhooks !== void 0) payload.allow_webhooks = !!opts.allowWebhooks;
184
+ if (opts.webhookUrl) payload.webhook_url = String(opts.webhookUrl);
185
+ if (opts.webhookEvents && opts.webhookEvents.length) payload.webhook_events = opts.webhookEvents;
186
+ if (opts.webhookSecret) payload.webhook_secret = String(opts.webhookSecret);
182
187
  if (opts.allowAiVision !== void 0) payload.allow_ai_vision = !!opts.allowAiVision;
183
188
  if (opts.allowOcr !== void 0) payload.allow_ocr = !!opts.allowOcr;
184
189
  if (opts.allowVirusScan !== void 0) payload.allow_virus_scan = !!opts.allowVirusScan;
package/dist/index.mjs CHANGED
@@ -151,12 +151,17 @@ function applyTenantOverrides(payload, opts) {
151
151
  if (opts.allowCodeEdit !== void 0) payload.allow_code_edit = !!opts.allowCodeEdit;
152
152
  if (opts.allowTerminal !== void 0) payload.allow_terminal = !!opts.allowTerminal;
153
153
  if (opts.terminalPtyUrl) payload.terminal_pty_url = String(opts.terminalPtyUrl);
154
+ if (opts.pdfToolsUrl) payload.pdf_tools_url = String(opts.pdfToolsUrl);
154
155
  if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
155
156
  if (opts.allowShare !== void 0) payload.allow_share = !!opts.allowShare;
156
157
  if (opts.allowIntake !== void 0) payload.allow_intake = !!opts.allowIntake;
157
158
  if (opts.allowVersioning !== void 0) payload.allow_versioning = !!opts.allowVersioning;
158
159
  if (opts.versioningMax && opts.versioningMax > 0) payload.versioning_max = Math.trunc(opts.versioningMax);
159
160
  if (opts.versioningMaxMb && opts.versioningMaxMb > 0) payload.versioning_max_mb = Math.trunc(opts.versioningMaxMb);
161
+ if (opts.allowWebhooks !== void 0) payload.allow_webhooks = !!opts.allowWebhooks;
162
+ if (opts.webhookUrl) payload.webhook_url = String(opts.webhookUrl);
163
+ if (opts.webhookEvents && opts.webhookEvents.length) payload.webhook_events = opts.webhookEvents;
164
+ if (opts.webhookSecret) payload.webhook_secret = String(opts.webhookSecret);
160
165
  if (opts.allowAiVision !== void 0) payload.allow_ai_vision = !!opts.allowAiVision;
161
166
  if (opts.allowOcr !== void 0) payload.allow_ocr = !!opts.allowOcr;
162
167
  if (opts.allowVirusScan !== void 0) payload.allow_virus_scan = !!opts.allowVirusScan;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxfiles/node",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "description": "Server-side Node/TypeScript SDK for minting FluxFiles JWTs (plain + BYOB), byte-compatible with the PHP core",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
package/src/token.ts CHANGED
@@ -145,6 +145,7 @@ function applyTenantOverrides(payload: Record<string, unknown>, opts: BaseTokenO
145
145
  // (Node mints for one), not a proxy adapter that doesn't serve /api/fm/terminal.
146
146
  if (opts.allowTerminal !== undefined) payload.allow_terminal = !!opts.allowTerminal;
147
147
  if (opts.terminalPtyUrl) payload.terminal_pty_url = String(opts.terminalPtyUrl);
148
+ if (opts.pdfToolsUrl) payload.pdf_tools_url = String(opts.pdfToolsUrl);
148
149
  if (opts.allowOptimize !== undefined) payload.allow_optimize = !!opts.allowOptimize;
149
150
  // Other paid-module claims (inert unless the module is installed + licensed).
150
151
  if (opts.allowShare !== undefined) payload.allow_share = !!opts.allowShare;
@@ -152,6 +153,10 @@ function applyTenantOverrides(payload: Record<string, unknown>, opts: BaseTokenO
152
153
  if (opts.allowVersioning !== undefined) payload.allow_versioning = !!opts.allowVersioning;
153
154
  if (opts.versioningMax && opts.versioningMax > 0) payload.versioning_max = Math.trunc(opts.versioningMax);
154
155
  if (opts.versioningMaxMb && opts.versioningMaxMb > 0) payload.versioning_max_mb = Math.trunc(opts.versioningMaxMb);
156
+ if (opts.allowWebhooks !== undefined) payload.allow_webhooks = !!opts.allowWebhooks;
157
+ if (opts.webhookUrl) payload.webhook_url = String(opts.webhookUrl);
158
+ if (opts.webhookEvents && opts.webhookEvents.length) payload.webhook_events = opts.webhookEvents;
159
+ if (opts.webhookSecret) payload.webhook_secret = String(opts.webhookSecret);
155
160
  if (opts.allowAiVision !== undefined) payload.allow_ai_vision = !!opts.allowAiVision;
156
161
  if (opts.allowOcr !== undefined) payload.allow_ocr = !!opts.allowOcr;
157
162
  if (opts.allowVirusScan !== undefined) payload.allow_virus_scan = !!opts.allowVirusScan;
package/src/types.ts CHANGED
@@ -109,6 +109,9 @@ export interface BaseTokenOptions {
109
109
  * true interactive terminal instead of the built-in command-runner. Free; must be http(s).
110
110
  * Core-standalone only (like `allowTerminal`). */
111
111
  terminalPtyUrl?: string;
112
+ /** Optional self-hosted PDF-tools URL (Stirling-PDF, or any web PDF toolkit). When set, the
113
+ * UI shows a "PDF tools" action that embeds it (merge/split/OCR/convert/…). Free; http(s). */
114
+ pdfToolsUrl?: string;
112
115
  /** Allow the Optimization feature (POST /api/fm/optimize) — recompress images to WebP +
113
116
  * compress PDFs. **Free/core**; default **false** because it replaces/deletes originals, so
114
117
  * it's an opt-in capability. */
@@ -152,6 +155,14 @@ export interface BaseTokenOptions {
152
155
  versioningMax?: number;
153
156
  /** Skip versioning files bigger than this many MB. `0`/omitted = default (25). */
154
157
  versioningMaxMb?: number;
158
+ /** Webhooks module: fire a signed HTTP POST on file events. */
159
+ allowWebhooks?: boolean;
160
+ /** Endpoint the signed event is POSTed to (http/s only). */
161
+ webhookUrl?: string;
162
+ /** Only these event names fire the webhook (e.g. `['upload','delete']`). Empty = all. */
163
+ webhookEvents?: string[];
164
+ /** HMAC signing secret for the payload (`X-FluxFiles-Signature`). Empty = server secret. */
165
+ webhookSecret?: string;
155
166
  /** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
156
167
  allowZip?: boolean;
157
168
  /** Allow extracting a zip in place (POST /api/fm/extract). Default true. */