@uploadista/client-core 0.0.8 → 0.0.9

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.
@@ -1,9 +1,8 @@
1
1
  import { UploadStrategyNegotiator } from "@uploadista/core/upload";
2
2
  import { DataStoreCapabilities, InputFile, UploadEvent, UploadFile } from "@uploadista/core/types";
3
3
  import z from "zod";
4
- import * as _uploadista_core0 from "@uploadista/core";
4
+ import { FlowData as FlowData$1, FlowEvent, FlowJob } from "@uploadista/core/flow";
5
5
  import { UploadFile as UploadFile$1 } from "@uploadista/core";
6
- import { FlowData, FlowEvent, FlowJob } from "@uploadista/core/flow";
7
6
 
8
7
  //#region src/types/buffered-chunk.d.ts
9
8
  interface BufferedChunk {
@@ -1445,7 +1444,7 @@ type FlowResponse = {
1445
1444
  /** HTTP status code */
1446
1445
  status: number;
1447
1446
  /** Flow configuration and metadata */
1448
- flow: FlowData;
1447
+ flow: FlowData$1;
1449
1448
  };
1450
1449
  /**
1451
1450
  * Unified Uploadista API interface combining upload and flow operations.
@@ -2377,7 +2376,7 @@ declare function createUploadistaClient<UploadInput>({
2377
2376
  abort: (params: Parameters<typeof abort>[0]) => Promise<void>;
2378
2377
  getFlow: (flowId: string) => Promise<{
2379
2378
  status: number;
2380
- flow: _uploadista_core0.FlowData;
2379
+ flow: FlowData;
2381
2380
  }>;
2382
2381
  runFlow: ({
2383
2382
  flowId,
@@ -2693,4 +2692,4 @@ type UploadResult<TOutput = UploadFile$1> = {
2693
2692
  };
2694
2693
  //#endregion
2695
2694
  export { AbortControllerFactory, AbortControllerLike, AbortSignalLike, Base64Service, ChecksumService, ChunkBuffer, ChunkBufferConfig, ChunkMetrics, ClientStorage, ConnectionHealth, ConnectionMetrics, ConnectionPoolConfig, DetailedConnectionMetrics, FileReaderService, FileSource, FingerprintService, FlowResponse, FlowResult, FlowUploadConfig, FlowUploadItem, FlowUploadOptions, HeadersLike, Http2Info, HttpClient, HttpRequestOptions, HttpResponse, IdGenerationService, LogFunction, Logger, MultiFlowUploadOptions, MultiFlowUploadState, NetworkCondition, NetworkMetrics, NetworkMonitor, NetworkMonitorConfig, PerformanceInsights, PlatformService, PreviousUpload, RequestBody, ServiceContainer, SliceResult, StorageService, Timeout, UploadOptions, UploadResponse, UploadResult, UploadSample, UploadSessionMetrics, UploadistaApi, UploadistaClient, UploadistaClientOptions, UploadistaDeleteUploadResponse, UploadistaError, UploadistaErrorName, UploadistaEvent, UploadistaUploadOptions, UploadistaUploadResponse, UploadistaWebSocketEventHandler, UploadistaWebSocketManager, UploadistaWebSocketMessage, WebSocketEventMap, WebSocketFactory, WebSocketLike, createClientStorage, createInMemoryStorageService, createLogger, createUploadistaApi, createUploadistaClient, defaultConnectionPoolingConfig, previousUploadSchema, wait };
2696
- //# sourceMappingURL=index.d.ts.map
2695
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/buffered-chunk.ts","../src/chunk-buffer.ts","../src/services/abort-controller-service.ts","../src/services/http-client.ts","../src/logger.ts","../src/services/platform-service.ts","../src/auth/types.ts","../src/auth/direct-auth.ts","../src/auth/no-auth.ts","../src/auth/uploadista-cloud-auth.ts","../src/auth/auth-http-client.ts","../src/network-monitor.ts","../src/services/checksum-service.ts","../src/services/file-reader-service.ts","../src/services/fingerprint-service.ts","../src/services/id-generation-service.ts","../src/services/websocket-service.ts","../src/smart-chunker.ts","../src/services/storage-service.ts","../src/types/previous-upload.ts","../src/storage/client-storage.ts","../src/types/flow-upload-config.ts","../src/client/uploadista-api.ts","../src/error.ts","../src/services/service-container.ts","../src/types/upload-response.ts","../src/upload/chunk-upload.ts","../src/types/chunk-metrics.ts","../src/types/performance-insights.ts","../src/types/upload-session-metrics.ts","../src/upload/upload-metrics.ts","../src/upload/single-upload.ts","../src/upload/upload-manager.ts","../src/upload/upload-strategy.ts","../src/client/uploadista-websocket-manager.ts","../src/client/create-uploadista-client.ts","../src/storage/in-memory-storage-service.ts","../src/types/flow-result.ts","../src/types/flow-upload-item.ts","../src/types/flow-upload-options.ts","../src/types/multi-flow-upload-options.ts","../src/types/multi-flow-upload-state.ts","../src/types/upload-options.ts","../src/types/upload-result.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import{Base64 as e}from"js-base64";import{UploadStrategyNegotiator as t}from"@uploadista/core/upload";import{webSocketMessageSchema as n}from"@uploadista/core/types";import r from"zod";var i=class{constructor(e){this.buffer=[],this.currentSize=0,this.lastAddTime=0,this.config={minThreshold:e.minThreshold,maxBufferSize:e.maxBufferSize??e.minThreshold*2,timeoutMs:e.timeoutMs??3e4}}add(e){return this.buffer.push(e),this.currentSize+=e.length,this.lastAddTime=Date.now(),this.shouldFlush()?this.flush():null}flush(){if(this.buffer.length===0)return null;let e=new Uint8Array(this.currentSize),t=0;for(let n of this.buffer)e.set(n,t),t+=n.length;let n={data:e,size:this.currentSize,timestamp:this.lastAddTime};return this.reset(),n}shouldFlush(){if(this.currentSize>=this.config.minThreshold||this.currentSize>=this.config.maxBufferSize)return!0;let e=Date.now()-this.lastAddTime;return this.buffer.length>0&&e>this.config.timeoutMs}getBufferInfo(){return{size:this.currentSize,chunkCount:this.buffer.length,isReadyToFlush:this.shouldFlush(),timeSinceLastAdd:Date.now()-this.lastAddTime}}hasPendingData(){return this.buffer.length>0}reset(){this.buffer=[],this.currentSize=0,this.lastAddTime=0}getMinThreshold(){return this.config.minThreshold}},a=class{constructor(e,t){this.httpClient=e,this.authManager=t}async request(e,t={}){try{let n=await this.attachAuthCredentials(t.headers||{},e);return await this.httpClient.request(e,{...t,headers:n,credentials:this.authManager.getType()===`no-auth`||this.authManager.getType()===`uploadista-cloud`?`omit`:t.credentials??`include`})}catch(e){throw e instanceof Error&&e.message.includes(`auth`),e}}async attachAuthCredentials(e,t){if(`attachCredentials`in this.authManager)return await this.authManager.attachCredentials(e);if(`attachToken`in this.authManager){let n=this.extractJobIdFromUrl(t);return await this.authManager.attachToken(e,n)}return e}extractJobIdFromUrl(e){let t=e.match(/\/api\/upload\/([^/?]+)/);if(t)return t[1];let n=e.match(/\/api\/flow\/([^/?]+)/);if(n)return n[1];let r=e.match(/\/api\/jobs\/([^/?]+)/);if(r)return r[1]}getMetrics(){return this.httpClient.getMetrics()}getDetailedMetrics(){return this.httpClient.getDetailedMetrics()}reset(){this.httpClient.reset()}async close(){await this.httpClient.close()}async warmupConnections(e){await this.httpClient.warmupConnections(e)}getAuthManager(){return this.authManager}},o=class{constructor(e){this.type=e}getType(){return this.type}},s=class extends o{constructor(e,t,n){super(`direct`),this.config=e,this.platformService=t,this.logger=n}async attachCredentials(e={}){try{if(!this.config.getCredentials)return e;let t=await Promise.resolve(this.config.getCredentials());if(!t||typeof t!=`object`)throw Error(`getCredentials() must return an object with headers and/or cookies`);let n={...e};return t.headers&&(this.validateHeaders(t.headers),Object.assign(n,t.headers)),t.cookies&&this.attachCookies(n,t.cookies),n}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to attach auth credentials: ${t}`)}}validateHeaders(e){if(typeof e!=`object`||!e)throw Error(`headers must be an object`);for(let[t,n]of Object.entries(e))if(typeof t!=`string`||typeof n!=`string`)throw Error(`Invalid header: key and value must be strings (got ${t}: ${typeof n})`)}attachCookies(e,t){if(this.platformService.isBrowser())this.logger.warn(`DirectAuth: Cookies are automatically handled by the browser. Ensure your server has proper CORS configuration with credentials support.`);else{let n=Object.entries(t).map(([e,t])=>`${e}=${t}`).join(`; `);n&&(e.Cookie=n)}}},c=class extends o{constructor(){super(`no-auth`)}async attachCredentials(e={}){return e}clearToken(e){}clearAllTokens(){}},l=class extends o{constructor(e,t){super(`uploadista-cloud`),this.config=e,this.httpClient=t,this.tokenCache=new Map,this.globalToken=null}async fetchToken(){try{let e=await this.httpClient.request(`${this.config.authServerUrl}/${this.config.clientId}`,{method:`GET`,headers:{"Content-Type":`application/json`}});if(!e.ok){let t=await e.text(),n=`Auth server returned ${e.status}`;try{let e=JSON.parse(t);n=e.error||e.message||n}catch{n=t||e.statusText||n}throw Error(n)}let t=await e.json();if(!t.token||typeof t.token!=`string`)throw Error(`Auth server response missing 'token' field or token is not a string`);return t}catch(e){throw e instanceof Error?Error(`Failed to fetch auth token: ${e.message}`):Error(`Failed to fetch auth token: ${String(e)}`)}}async getOrFetchToken(e){if(e){let t=this.tokenCache.get(e);if(t&&!this.isTokenExpired(t))return t.token}if(!e&&this.globalToken&&!this.isTokenExpired(this.globalToken))return this.globalToken.token;let t=await this.fetchToken(),n=t.expiresIn?Date.now()+t.expiresIn*1e3:void 0,r={token:t.token,expiresAt:n};return e?this.tokenCache.set(e,r):this.globalToken=r,t.token}isTokenExpired(e){return e.expiresAt?Date.now()>e.expiresAt-60*1e3:!1}async attachToken(e={},t){try{let n=await this.getOrFetchToken(t);return{...e,Authorization:`Bearer ${n}`}}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to attach auth token: ${t}`)}}clearToken(e){this.tokenCache.delete(e)}clearAllTokens(){this.tokenCache.clear(),this.globalToken=null}getCacheStats(){return{cachedJobCount:this.tokenCache.size,hasGlobalToken:this.globalToken!==null}}};const u=()=>{};function d(e,t=u){return{log:n=>{e&&t(n)},warn:n=>{e&&t(n)},error:n=>{e&&t(n)}}}var f=class{constructor(e){this.capabilities=e}getCapabilities(){return this.capabilities}validateUploadStrategy(e){switch(e){case`parallel`:return this.capabilities.supportsParallelUploads;case`single`:return!0;default:return!1}}};const p={supportsParallelUploads:!0,supportsConcatenation:!0,supportsDeferredLength:!0,supportsResumableUploads:!0,supportsTransactionalUploads:!1,maxConcurrentUploads:6,minChunkSize:64*1024,maxChunkSize:100*1024*1024,maxParts:1e4,optimalChunkSize:8*1024*1024,requiresOrderedChunks:!1};var m=class{constructor(e={}){this.samples=[],this.config={maxSamples:e.maxSamples??100,smoothingFactor:e.smoothingFactor??.1,minSamplesForCondition:e.minSamplesForCondition??5,slowThreshold:e.slowThreshold??50*1024,fastThreshold:e.fastThreshold??5*1024*1024,unstableThreshold:e.unstableThreshold??.5},this._currentMetrics=this.createEmptyMetrics()}addSample(e){this.samples.push(e),this.samples.length>this.config.maxSamples&&(this.samples=this.samples.slice(-this.config.maxSamples)),this.updateMetrics()}recordUpload(e,t,n,r){this.addSample({size:e,duration:t,success:n,timestamp:Date.now(),latency:r})}getCurrentMetrics(){return{...this._currentMetrics}}getNetworkCondition(){if(this.samples.length<this.config.minSamplesForCondition)return{type:`unknown`,confidence:0};let e=this.getRecentSuccessfulSamples();if(e.length<this.config.minSamplesForCondition)return{type:`unknown`,confidence:.3};let t=e.map(e=>e.size/(e.duration/1e3)),n=t.reduce((e,t)=>e+t,0)/t.length,r=t.reduce((e,t)=>e+(t-n)**2,0)/t.length,i=Math.sqrt(r)/n,a=Math.min(1,this.samples.length/(this.config.minSamplesForCondition*2));return i>this.config.unstableThreshold?{type:`unstable`,confidence:a}:n<this.config.slowThreshold?{type:`slow`,confidence:a}:n>this.config.fastThreshold?{type:`fast`,confidence:a}:{type:`slow`,confidence:a*.7}}getOptimalThroughput(){let e=this.getRecentSuccessfulSamples(10);if(e.length===0)return 0;let t=0,n=0;return e.forEach((e,r)=>{let i=r+1,a=e.size/(e.duration/1e3);n+=a*i,t+=i}),t>0?n/t:0}reset(){this.samples=[],this._currentMetrics=this.createEmptyMetrics()}getRecentSuccessfulSamples(e){let t=this.samples.filter(e=>e.success);return e?t.slice(-e):t}updateMetrics(){let e=this.samples.filter(e=>e.success),t=this.samples.length,n=e.length;if(t===0){this._currentMetrics=this.createEmptyMetrics();return}let r=e.reduce((e,t)=>e+t.size,0),i=e.reduce((e,t)=>e+t.duration,0),a=i>0?r/(i/1e3):0,o=n/t,s=1-o,c=this.samples.filter(e=>e.latency!==void 0);this._currentMetrics={averageSpeed:a,latency:c.length>0?c.reduce((e,t)=>e+(t.latency||0),0)/c.length:0,successRate:o,errorRate:s,totalRequests:t,totalBytes:r,totalTime:i}}createEmptyMetrics(){return{averageSpeed:0,latency:0,successRate:0,errorRate:0,totalRequests:0,totalBytes:0,totalTime:0}}};const h={conservative:{name:`conservative`,minChunkSize:64*1024,maxChunkSize:2*1024*1024,initialChunkSize:256*1024,adaptationRate:.1},balanced:{name:`balanced`,minChunkSize:128*1024,maxChunkSize:8*1024*1024,initialChunkSize:512*1024,adaptationRate:.2},aggressive:{name:`aggressive`,minChunkSize:256*1024,maxChunkSize:32*1024*1024,initialChunkSize:1024*1024,adaptationRate:.3}},g={conservative:{name:`s3-conservative`,minChunkSize:5*1024*1024,maxChunkSize:64*1024*1024,initialChunkSize:8*1024*1024,adaptationRate:.1},balanced:{name:`s3-balanced`,minChunkSize:5*1024*1024,maxChunkSize:128*1024*1024,initialChunkSize:16*1024*1024,adaptationRate:.2},aggressive:{name:`s3-aggressive`,minChunkSize:5*1024*1024,maxChunkSize:256*1024*1024,initialChunkSize:32*1024*1024,adaptationRate:.3}};var _=class{constructor(e,t={}){this.lastDecision=null,this.consecutiveFailures=0,this.consecutiveSuccesses=0,this.connectionMetrics=null,this.networkMonitor=e,this.config={enabled:t.enabled??!0,fallbackChunkSize:t.fallbackChunkSize??1024*1024,minChunkSize:t.minChunkSize??64*1024,maxChunkSize:t.maxChunkSize??32*1024*1024,initialChunkSize:t.initialChunkSize??512*1024,targetUtilization:t.targetUtilization??.85,adaptationRate:t.adaptationRate??.2,conservativeMode:t.conservativeMode??!1,connectionPoolingAware:t.connectionPoolingAware??!0,datastoreConstraints:t.datastoreConstraints},this.currentChunkSize=this.getEffectiveInitialChunkSize()}getEffectiveInitialChunkSize(){return this.config.datastoreConstraints?Math.max(this.config.initialChunkSize,this.config.datastoreConstraints.optimalChunkSize):this.config.initialChunkSize}applyDatastoreConstraints(e){return this.config.datastoreConstraints?Math.max(this.config.datastoreConstraints.minChunkSize,Math.min(this.config.datastoreConstraints.maxChunkSize,e)):e}getNextChunkSize(e){if(!this.config.enabled)return{size:this.config.fallbackChunkSize,strategy:`fixed`,reason:`Smart chunking disabled`,networkCondition:{type:`unknown`,confidence:0}};let t=this.networkMonitor.getNetworkCondition(),n=this.currentChunkSize,r=`adaptive`,i=``;if(t.type===`unknown`)n=this.config.initialChunkSize,r=`initial`,i=`Insufficient network data`;else{let e=this.selectStrategy(t);n=this.calculateOptimalChunkSize(t,e),r=e.name,i=`Network condition: ${t.type} (confidence: ${Math.round(t.confidence*100)}%)`}return e&&e<n&&(n=e,i+=`, limited by remaining bytes (${e})`),n=this.applyDatastoreConstraints(n),n=Math.max(this.config.minChunkSize,Math.min(this.config.maxChunkSize,n)),this.currentChunkSize=n,this.lastDecision={size:n,strategy:r,reason:i,networkCondition:t},this.lastDecision}recordChunkResult(e,t,n){this.networkMonitor.recordUpload(e,t,n),n?(this.consecutiveSuccesses++,this.consecutiveFailures=0):(this.consecutiveFailures++,this.consecutiveSuccesses=0),this.adaptChunkSize(n,t,e)}getCurrentChunkSize(){return this.currentChunkSize}getLastDecision(){return this.lastDecision}reset(){this.currentChunkSize=this.config.initialChunkSize,this.consecutiveFailures=0,this.consecutiveSuccesses=0,this.lastDecision=null,this.connectionMetrics=null}updateConnectionMetrics(e){this.connectionMetrics=e}getConnectionPoolingInsights(){if(!this.connectionMetrics||!this.config.connectionPoolingAware)return{isOptimized:!1,reuseRate:0,recommendedMinChunkSize:this.config.minChunkSize,connectionOverhead:0};let e=this.connectionMetrics.reuseRate,t=this.connectionMetrics.averageConnectionTime,n=(1-e)*t,r=Math.max(this.config.minChunkSize,Math.floor(n*1e4));return{isOptimized:e>.7,reuseRate:e,recommendedMinChunkSize:r,connectionOverhead:n}}selectStrategy(e){let t={name:`fallback`,minChunkSize:128*1024,maxChunkSize:4*1024*1024,initialChunkSize:512*1024,adaptationRate:.2},n=this.config.datastoreConstraints?.minChunkSize===5*1024*1024?g:h;if(this.config.conservativeMode)return n.conservative??t;let r;switch(e.type){case`fast`:r=e.confidence>.7?n.aggressive??t:n.balanced??t;break;case`slow`:r=n.conservative??t;break;case`unstable`:r=n.conservative??t;break;default:r=n.balanced??t}return this.config.connectionPoolingAware&&this.connectionMetrics?this.optimizeStrategyForConnectionPooling(r):r}optimizeStrategyForConnectionPooling(e){if(!this.connectionMetrics)return e;let t=this.getConnectionPoolingInsights(),n=t.reuseRate;return n>.8?{...e,name:`${e.name}-pooled-aggressive`,minChunkSize:Math.max(e.minChunkSize*.5,32*1024),adaptationRate:Math.min(e.adaptationRate*1.3,.5)}:n>.5?{...e,name:`${e.name}-pooled-moderate`,minChunkSize:Math.max(e.minChunkSize*.75,64*1024),adaptationRate:Math.min(e.adaptationRate*1.1,.4)}:{...e,name:`${e.name}-pooled-conservative`,minChunkSize:Math.max(e.minChunkSize*1.5,t.recommendedMinChunkSize),adaptationRate:e.adaptationRate*.8}}calculateOptimalChunkSize(e,t){let n=this.currentChunkSize,r=this.networkMonitor.getOptimalThroughput();if(r>0){let i=r*this.getTargetChunkDuration(e)*this.config.targetUtilization,a=t.adaptationRate;n=this.currentChunkSize*(1-a)+i*a}if(n=Math.max(t.minChunkSize,Math.min(t.maxChunkSize,n)),this.consecutiveFailures>0){let e=Math.min(.5,this.consecutiveFailures*.2);n*=1-e}else if(this.consecutiveSuccesses>2){let e=Math.min(.3,this.consecutiveSuccesses*.05);n*=1+e}return Math.round(n)}getTargetChunkDuration(e){switch(e.type){case`fast`:return 3;case`slow`:return 5;case`unstable`:return 2;default:return 3}}adaptChunkSize(e,t,n){if(!e){this.currentChunkSize=Math.max(this.config.minChunkSize,this.currentChunkSize*.8);return}let r=n/(t/1e3),i=this.networkMonitor.getCurrentMetrics();if(i.averageSpeed>0){let e=r/i.averageSpeed;e<this.config.targetUtilization*.8?this.currentChunkSize=Math.min(this.config.maxChunkSize,this.currentChunkSize*1.1):e>this.config.targetUtilization*1.2&&(this.currentChunkSize=Math.max(this.config.minChunkSize,this.currentChunkSize*.95))}}},v=class extends Error{constructor({name:e,message:t,cause:n,status:r}){super(),this.name=e,this.cause=n,this.message=t,this.status=r}isNetworkError(){return this.name===`NETWORK_ERROR`||this.name===`NETWORK_UNEXPECTED_RESPONSE`}};function y(t){return Object.entries(t).map(([t,n])=>`${t} ${e.encode(String(n))}`).join(`,`)}function b(e,t){return e>=t&&e<t+100}function x(e,{uploadLengthDeferred:t,uploadSize:n}){if(t)return null;if(n!=null)return n;let r=e;if(r==null)throw new v({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:"cannot automatically derive upload's size from input. Specify it manually using the `uploadSize` option or use the `uploadLengthDeferred` option"});return r}function S(e,t,n){if(t<=1)return[{startByte:0,endByte:e,segmentIndex:0}];let r=[];if(n){let t=0,i=0;for(;t<e;){let a=Math.min(t+n,e);r.push({startByte:t,endByte:a,segmentIndex:i}),t=a,i++}}else{let n=Math.ceil(e/t);for(let i=0;i<t;i++){let t=i*n,a=Math.min(t+n,e);t<e&&r.push({startByte:t,endByte:a,segmentIndex:i})}}return r}async function C({uploadId:e,source:t,offset:n,uploadLengthDeferred:r,abortController:i,onProgress:a,smartChunker:o,uploadistaApi:s,logger:c}){let l=n??0,u=t.size?t.size-l:void 0,d=o.getNextChunkSize(u),f=l+d.size;t.size&&(f===1/0||f>t.size)&&!r&&(f=t.size);let{value:p,size:m,done:h}=await t.slice(l,f),g=m??0,_=Date.now();r&&h&&(t.size=n+g);let y=n+g;if(!r&&h&&y!==t.size)throw new v({name:`WRONG_UPLOAD_SIZE`,message:`upload was configured with a size of ${m} bytes, but the source is done after ${y} bytes`});let b=await s.uploadChunk(e,p,{onProgress:(t,n)=>{a?.(e,t,n)},abortController:i}),x=Date.now()-_,S=b.status>=200&&b.status<300;return o.recordChunkResult(g,x,S),c.log(`Chunk upload ${S?`succeeded`:`failed`}: ${g} bytes in ${x}ms (${d.strategy} strategy)`),b}function w(e,t,n,r,i){return r==null||n>=r.length||!t.isNetworkError()?!1:i?i(t,n):T(e,t)}function T(e,t){let n=t.status??0;return(!b(n,400)||n===409||n===423)&&e.isOnline()}async function E({source:e,flowConfig:t,uploadistaApi:n,logger:r,platformService:i,openWebSocket:a,closeWebSocket:o,...s}){let{flowId:c,storageId:l}=t,{flow:u}=await n.getFlow(c),d=u.nodes.find(e=>e.type===`input`);if(!d){let e=new v({name:`FLOW_INCOMPATIBLE`,message:`Flow ${c} does not have a streaming input node. The flow must contain a node with type "input" to support flow uploads.`});throw s.onError?.(e),e}let f=d.id,p={originalName:e.name??`unknown`,mimeType:e.type??`application/octet-stream`,size:e.size??0,...t.metadata};r.log(`Starting flow upload for flow ${c}, node ${f}`);let{status:m,job:h}=await n.runFlow(c,l,{[f]:{operation:`init`,storageId:l,metadata:p}}),g=h.id;if(!b(m,200)||!g){let e=new v({name:`FLOW_INIT_FAILED`,message:`Failed to initialize flow upload`});throw s.onError?.(e),e}s.onJobStart?.(g),r.log(`Flow job ${g} created, opening WebSocket`),a(g),r.log(`Waiting for upload ID from node`);let _=0,y=await n.getJobStatus(g);for(;y.status!==`paused`&&_<60;)await new Promise(e=>i.setTimeout(e,500)),y=await n.getJobStatus(g),_++;if(y.status!==`paused`){let e=new v({name:`FLOW_TIMEOUT`,message:`Flow did not pause after init (status: ${y.status})`});throw s.onError?.(e),e}let x=y.tasks.find(e=>e.nodeId===f)?.result;if(!x?.id){let e=new v({name:`FLOW_NO_UPLOAD_ID`,message:`Flow did not return upload ID after init`});throw s.onError?.(e),e}return r.log(`Upload ID received: ${x.id}`),s.onStart?.({uploadId:x.id,size:e.size??null}),{jobId:g,uploadFile:x,inputNodeId:f}}async function D({jobId:e,uploadFile:t,inputNodeId:n,offset:r,source:i,retryAttempt:a=0,abortController:o,retryDelays:s,smartChunker:c,uploadistaApi:l,logger:u,smartChunking:d,metrics:f,platformService:p,onRetry:m,...h}){let g=r,_=r;try{let g=i.size?i.size-r:void 0,y=c.getNextChunkSize(g).size,b=Math.min(r+y,i.size??0),x=await i.slice(r,b);if(!x||!x.value)throw new v({name:`NETWORK_ERROR`,message:`Failed to read chunk from file`});let S=x.value,C=Date.now(),w=await l.uploadChunk(t.id,S,{abortController:o}),T=Date.now()-C;if(!w.upload)throw new v({name:`UPLOAD_CHUNK_FAILED`,message:`Upload chunk response missing upload data`});if(_=w.upload.offset,h.onProgress?.(t.id,_,i.size??0),h.onChunkComplete?.(_-r,r,i.size??0),d?.enabled!==!1){let e=Math.floor(r/y);f.recordChunk({chunkIndex:e,size:y,duration:T,speed:y/(T/1e3),success:!0,retryCount:a,networkCondition:c.getLastDecision()?.networkCondition?.type,chunkingStrategy:c.getLastDecision()?.strategy});let t=l.getConnectionMetrics();c.updateConnectionMetrics(t)}if(_>=(i.size??0)){if(i&&i.close(),d?.enabled!==!1){let e=f.endSession();e&&u.log(`Flow upload completed: ${e.totalSize} bytes in ${e.totalDuration}ms, avg speed: ${Math.round(e.averageSpeed/1024)}KB/s`)}u.log(`Finalizing flow upload for job ${e}`);try{await l.resumeFlow(e,n,{operation:`finalize`,uploadId:t.id},{contentType:`application/json`})}catch(t){let n=new v({name:`FLOW_FINALIZE_FAILED`,message:`Failed to finalize flow upload for job ${e}`,cause:t});throw h.onError?.(n),n}return}await D({jobId:e,uploadFile:t,inputNodeId:n,offset:_,source:i,platformService:p,retryDelays:s,smartChunker:c,uploadistaApi:l,logger:u,smartChunking:d,metrics:f,onRetry:m,abortController:o,...h})}catch(y){if(s!=null)if(r!=null&&_>g&&(a=0),w(p,y instanceof v?y:new v({name:`NETWORK_ERROR`,message:`Network error during flow upload`,cause:y}),a,s,h.onShouldRetry)){let _=s[a];g=r;let v=p.setTimeout(async()=>{await D({jobId:e,uploadFile:t,inputNodeId:n,offset:r,source:i,retryAttempt:a+1,retryDelays:s,smartChunker:c,uploadistaApi:l,logger:u,smartChunking:d,metrics:f,platformService:p,onRetry:m,abortController:o,...h})},_);m?.(v)}else throw new v({name:`UPLOAD_CHUNK_FAILED`,message:`Failed to upload chunk for job ${e} at offset ${r}`,cause:y})}}async function O(e,t){return e.findUploadsByFingerprint(t)}function k(e){return{uploadId:e.uploadId??null,parallelUploadUrls:e.parallelUploadUrls,clientStorageKey:e.clientStorageKey}}async function A({clientStorage:e,fingerprint:t,size:n,metadata:r,clientStorageKey:i,storeFingerprintForResuming:a,generateId:o}){if(!a||!t||i!=null)return;let s={size:n,metadata:r,creationTime:new Date().toString(),clientStorageKey:t};return await e.addUpload(t,s,{generateId:o})}async function j(e,t){t&&await e.removeUpload(t)}async function M({uploadId:e,offset:t,source:n,uploadLengthDeferred:r,retryAttempt:i=0,abortController:a,retryDelays:o,smartChunker:s,uploadistaApi:c,logger:l,smartChunking:u,metrics:d,platformService:f,onRetry:p,...m}){let h=t,g=t;try{let h=await C({uploadId:e,source:n,offset:t,uploadLengthDeferred:r,onProgress:m.onProgress,abortController:a,smartChunker:s,uploadistaApi:c,logger:l});if(!b(h.status,200)||h.upload==null)throw new v({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while uploading chunk`});if(g=h.upload.offset,m.onProgress?.(e,g,h.upload.size??0),m.onChunkComplete?.(g-t,t,h.upload?.size??0),u?.enabled!==!1){let e=Math.floor(t/(g-t||1)),n=g-t,r=Date.now()-(Date.now()-100),a=s.getLastDecision();d.recordChunk({chunkIndex:e,size:n,duration:r,speed:n/(r/1e3),success:!0,retryCount:i,networkCondition:a?.networkCondition?.type,chunkingStrategy:a?.strategy});let o=c.getConnectionMetrics();s.updateConnectionMetrics(o)}if(g>=(n.size??0)){if(n&&n.close(),u?.enabled!==!1){let e=d.endSession();e&&l.log(`Upload completed: ${e.totalSize} bytes in ${e.totalDuration}ms, avg speed: ${Math.round(e.averageSpeed/1024)}KB/s`)}m.onSuccess?.(h.upload);return}await M({uploadId:e,offset:g,source:n,uploadLengthDeferred:r,retryDelays:o,smartChunker:s,platformService:f,uploadistaApi:c,logger:l,smartChunking:u,metrics:d,onRetry:p,abortController:a,...m})}catch(_){if(o!=null)if(t!=null&&g>h&&(i=0),w(f,_ instanceof v?_:new v({name:`NETWORK_ERROR`,message:`Network error`,cause:_}),i,o,m.onShouldRetry)){let g=o[i];h=t;let _=f.setTimeout(async()=>{await M({uploadId:e,offset:t,source:n,retryAttempt:i+1,uploadLengthDeferred:r,retryDelays:o,smartChunker:s,platformService:f,uploadistaApi:c,logger:l,smartChunking:u,metrics:d,onRetry:p,abortController:a,...m})},g);p?.(_)}else throw new v({name:`UPLOAD_CHUNK_FAILED`,message:`failed to upload chunk for ${e} at offset ${t}`,cause:_})}}async function N({fingerprint:e,storageId:t,source:n,uploadLengthDeferred:r,metadata:i,uploadistaApi:a,logger:o,checksumService:s,clientStorage:c,generateId:l,storeFingerprintForResuming:u,openWebSocket:d,closeWebSocket:f,computeChecksum:p=!0,checksumAlgorithm:m=`sha256`,platformService:h,...g}){if(!r&&n.size==null){let e=new v({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:`expected size to be set`});throw g.onError?.(e),e}let _;if(p&&h.isFileLike(n.input))try{o.log(`Computing file checksum...`),_=await s.computeChecksum(new Uint8Array(n.input)),o.log(`Checksum computed: ${_}`)}catch(e){o.log(`Warning: Failed to compute checksum: ${e instanceof Error?e.message:`Unknown error`}`)}let x={uploadLengthDeferred:r,storageId:t,size:n.size??0,metadata:i?y(i):void 0,fileName:n.name??void 0,type:n.type??``,lastModified:n.lastModified??void 0,checksum:_,checksumAlgorithm:_?m:void 0},{upload:S,status:C}=await a.createUpload(x);if(!b(C,200)||S==null){let e=new v({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while creating upload`});throw g.onError?.(e),e}if(o.log(`Created upload ${S.id}`),d(S.id),S.size===0){g.onSuccess?.(S),n&&n.close(),f(S.id);return}let w=await A({clientStorage:c,fingerprint:e,size:S.size??0,metadata:S.metadata??{},clientStorageKey:null,storeFingerprintForResuming:u,generateId:l});return g.onStart?.({uploadId:S.id,size:S.size??null}),{uploadIdStorageKey:w,uploadId:S.id,offset:S.offset}}async function P({uploadId:e,storageId:t,uploadIdStorageKey:n,fingerprint:r,source:i,uploadLengthDeferred:a,uploadistaApi:o,logger:s,platformService:c,checksumService:l,clientStorage:u,generateId:d,storeFingerprintForResuming:f,openWebSocket:p,...m}){let h=await o.getUpload(e),g=h.status;if(!b(g,200)){if(g===423){let e=new v({name:`UPLOAD_LOCKED`,message:`upload is currently locked; retry later`});throw m.onError?.(e),e}return b(g,400)&&await j(u,n),await N({platformService:c,fingerprint:r,storageId:t,source:i,uploadLengthDeferred:a,metadata:{},uploadistaApi:o,logger:s,checksumService:l,clientStorage:u,generateId:d,storeFingerprintForResuming:f,openWebSocket:p,closeWebSocket:()=>{},...m})}let _=h.upload;if(_==null){let e=new v({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while resuming upload`});throw m.onError?.(e),e}if(await A({clientStorage:u,fingerprint:r,size:_.size??0,metadata:_.metadata??{},clientStorageKey:n,storeFingerprintForResuming:f,generateId:d}),_.offset!==_.size)return p(_.id),{uploadId:e,uploadIdStorageKey:n,offset:_.offset}}async function F({source:e,uploadId:t,uploadIdStorageKey:n,storageId:r,fingerprint:i,platformService:a,uploadLengthDeferred:o,uploadistaApi:s,checksumService:c,logger:l,clientStorage:u,generateId:d,storeFingerprintForResuming:f,openWebSocket:p,closeWebSocket:m,...h}){return t!=null&&n!=null?(l.log(`Resuming upload from previous id: ${t}`),await P({uploadId:t,uploadIdStorageKey:n,storageId:r,fingerprint:i,source:e,checksumService:c,uploadLengthDeferred:o,uploadistaApi:s,logger:l,platformService:a,clientStorage:u,generateId:d,storeFingerprintForResuming:f,openWebSocket:p,...h})):(l.log(`Creating a new upload`),await N({fingerprint:i,storageId:r,source:e,uploadLengthDeferred:o,metadata:{},uploadistaApi:s,logger:l,checksumService:c,platformService:a,clientStorage:u,generateId:d,storeFingerprintForResuming:f,openWebSocket:p,closeWebSocket:m,...h}))}async function ee({source:e,storageId:t,fingerprint:n,uploadLengthDeferred:r,parallelUploads:i,parallelChunkSize:a,retryDelays:o,smartChunker:s,uploadistaApi:c,logger:l,checksumService:u,smartChunking:d,metrics:f,clientStorage:p,generateId:m,storeFingerprintForResuming:h,openWebSocket:g,closeWebSocket:_,terminate:y,abortControllerFactory:b,platformService:x,...C}){if(!e.size||e.size===0){C.onError?.(new v({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:`Parallel upload requires a known file size`}));return}let w=S(e.size,i,a);l.log(`Starting parallel upload with ${w.length} segments`);let T={segments:[],totalProgress:0,completed:!1,failed:!1},E=new Map,D=new Map,O=()=>{let e=Array.from(D.values()).reduce((e,t)=>e+t,0),t=Array.from(E.values()).reduce((e,t)=>e+t,0);T.totalProgress=e>0?t/e:0,C.onProgress&&e>0&&C.onProgress(`parallel-upload`,t,e)};try{let i=await Promise.all(w.map(async i=>{let a={...e,size:i.endByte-i.startByte,async slice(t,n){let r=i.startByte+(t??0),a=Math.min(i.startByte+(n??i.endByte-i.startByte),i.endByte);return await e.slice(r,a)}},o=await N({fingerprint:`${n}-segment-${i.segmentIndex}`,storageId:t,source:a,uploadLengthDeferred:r,platformService:x,metadata:{parallelUpload:`true`,segmentIndex:i.segmentIndex.toString(),totalSegments:w.length.toString(),parentFingerprint:n},checksumService:u,uploadistaApi:c,logger:l,clientStorage:p,generateId:m,storeFingerprintForResuming:h,openWebSocket:g,closeWebSocket:_,onSuccess:()=>{},onError:e=>l.log(`Segment ${i.segmentIndex} creation error: ${e}`),onStart:e=>{D.set(i.segmentIndex,e.size??0),O()}});if(!o)throw new v({name:`PARALLEL_SEGMENT_CREATION_FAILED`,message:`Failed to create upload segment ${i.segmentIndex}`});return{segment:{uploadId:o.uploadId,uploadIdStorageKey:o.uploadIdStorageKey,segmentIndex:i.segmentIndex,startByte:i.startByte,endByte:i.endByte,offset:o.offset,abortController:b.create(),retryTimeout:null},source:a}}));T.segments=i.map(e=>e.segment),C.onStart?.({uploadId:`parallel-${T.segments.map(e=>e.uploadId).join(`,`)}`,size:e.size});let a=i.map(async({segment:e,source:t})=>{try{await M({uploadId:e.uploadId,offset:e.offset,source:t,uploadLengthDeferred:r,abortController:e.abortController,retryDelays:o,smartChunker:s,uploadistaApi:c,platformService:x,logger:l,smartChunking:d,metrics:f,onProgress:(t,n,r)=>{E.set(e.segmentIndex,n),r&&D.set(e.segmentIndex,r),O()},onChunkComplete:(e,t,n)=>{C.onChunkComplete&&C.onChunkComplete(e,t,n)},onSuccess:t=>{l.log(`Segment ${e.segmentIndex} completed successfully`),E.set(e.segmentIndex,D.get(e.segmentIndex)??0),O()},onShouldRetry:(t,n)=>(l.log(`Segment ${e.segmentIndex} retry attempt ${n}: ${t}`),n<(o?.length??0)),onRetry:t=>{e.retryTimeout=t},onError:t=>{throw l.log(`Segment ${e.segmentIndex} failed: ${t}`),t}})}catch(t){throw l.log(`Segment ${e.segmentIndex} upload failed: ${t}`),new v({name:`PARALLEL_SEGMENT_UPLOAD_FAILED`,message:`Segment ${e.segmentIndex} upload failed`,cause:t})}});if(await Promise.all(a),T.completed=!0,l.log(`All parallel upload segments completed successfully`),C.onSuccess){let r={id:`parallel-${T.segments.map(e=>e.uploadId).join(`,`)}`,offset:e.size,size:e.size,storage:{id:t,type:`parallel-upload`},metadata:{parallelUpload:`true`,totalSegments:w.length.toString(),fingerprint:n}};C.onSuccess(r)}for(let e of i)e.source.close?.();return{parallelState:T,abort:async()=>{await I(T,l,y,_,x)}}}catch(e){throw T.failed=!0,T.error=e,await I(T,l,y,_,x),C.onError?.(e),e}}async function I(e,t,n,r,i){t.log(`Aborting parallel upload...`);for(let a of e.segments){a.abortController.abort(),a.retryTimeout&&=(i.clearTimeout(a.retryTimeout),null);try{await n(a.uploadId)}catch(e){t.log(`Failed to terminate segment ${a.segmentIndex}: ${e}`)}r(a.uploadId)}e.completed=!1,e.failed=!0,t.log(`Parallel upload aborted`)}async function L(e,t){return new Promise(n=>e.setTimeout(n,t))}async function R(e,t,n,r,i=0){try{if((await t.deleteUpload(e)).status===204)return;throw new v({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while terminating upload`})}catch(a){if(!w(n,a,i,r))throw a;return await L(n,r?.[i]??0),await R(e,t,n,r,i+1)}}async function z({uploadId:e,uploadIdStorageKey:t,retryTimeout:n,shouldTerminate:r,abortController:i,uploadistaApi:a,platformService:o,retryDelays:s,clientStorage:c}){if(i.abort(),n!=null&&o.clearTimeout(n),!(!r||e==null)&&(await R(e,a,o,s),t!=null))return j(c,t)}var B=class{constructor(e={}){this.chunkHistory=[],this.currentSession={},this.sessionStartTime=0,this.config={maxChunkHistory:e.maxChunkHistory??1e3,enableDetailedMetrics:e.enableDetailedMetrics??!0,performanceThresholds:{slowSpeed:100*1024,fastSpeed:5*1024*1024,highRetryRate:.2,...e.performanceThresholds}}}startSession(e,t,n){this.sessionStartTime=Date.now(),this.currentSession={uploadId:e,totalSize:t,chunksCompleted:0,chunksTotal:Math.ceil(t/(1024*1024)),totalDuration:0,totalRetries:0,adaptiveChunkingEnabled:n,startTime:this.sessionStartTime},this.chunkHistory=[]}recordChunk(e){let t={...e,timestamp:Date.now()};this.chunkHistory.push(t),this.chunkHistory.length>this.config.maxChunkHistory&&(this.chunkHistory=this.chunkHistory.slice(-this.config.maxChunkHistory)),this.currentSession&&t.success&&(this.currentSession.chunksCompleted=(this.currentSession.chunksCompleted||0)+1,this.currentSession.totalDuration=(this.currentSession.totalDuration||0)+t.duration,this.currentSession.totalRetries=(this.currentSession.totalRetries||0)+t.retryCount)}endSession(){if(!this.currentSession.uploadId)return null;let e=Date.now(),t=e-this.sessionStartTime,n=this.chunkHistory.filter(e=>e.success);if(n.length===0)return null;let r=n.map(e=>e.speed),i=r.reduce((e,t)=>e+t,0)/r.length,a=Math.max(...r),o=Math.min(...r),s=n.length/this.chunkHistory.length,c={uploadId:this.currentSession.uploadId||``,totalSize:this.currentSession.totalSize||0,totalDuration:t,chunksCompleted:n.length,chunksTotal:this.chunkHistory.length,averageSpeed:i,peakSpeed:a,minSpeed:o,totalRetries:this.currentSession.totalRetries||0,successRate:s,adaptiveChunkingEnabled:this.currentSession.adaptiveChunkingEnabled||!1,startTime:this.currentSession.startTime||0,endTime:e};return this.currentSession={},c}getCurrentSessionMetrics(){return{...this.currentSession}}getChunkHistory(e){let t=this.chunkHistory.slice();return e?t.slice(-e):t}getPerformanceInsights(){if(this.chunkHistory.length<5)return{overallEfficiency:0,chunkingEffectiveness:0,networkStability:0,recommendations:[`Insufficient data for analysis`],optimalChunkSizeRange:{min:256*1024,max:2*1024*1024}};let e=this.chunkHistory.filter(e=>e.success),t=e.map(e=>e.speed),n=t.length>0?t.reduce((e,t)=>e+t,0)/t.length:0,r=this.calculateVariance(t),i=Math.sqrt(r)/n,a=e.length/this.chunkHistory.length,o=Math.min(1,n/this.config.performanceThresholds.fastSpeed)*.7+a*.3,s=Math.max(0,1-Math.min(1,i));return{overallEfficiency:o,chunkingEffectiveness:this.calculateChunkingEffectiveness(e),networkStability:s,recommendations:this.generateRecommendations(n,a,i),optimalChunkSizeRange:this.calculateOptimalChunkSizeRange(e)}}exportMetrics(){return{session:this.getCurrentSessionMetrics(),chunks:this.getChunkHistory(),insights:this.getPerformanceInsights()}}reset(){this.chunkHistory=[],this.currentSession={},this.sessionStartTime=0}calculateVariance(e){if(e.length===0)return 0;let t=e.reduce((e,t)=>e+t,0)/e.length;return e.map(e=>(e-t)**2).reduce((e,t)=>e+t,0)/e.length}calculateChunkingEffectiveness(e){if(e.length<3)return .5;let t=this.groupChunksBySize(e);if(Object.keys(t).length<2)return .5;let n=Object.values(t).map(e=>{let t=e.map(e=>e.speed),n=t.reduce((e,t)=>e+t,0)/t.length,r=this.calculateVariance(t);return Math.sqrt(r)/n}),r=n.reduce((e,t)=>e+t,0)/n.length;return Math.max(0,1-Math.min(1,r))}groupChunksBySize(e){let t={};return e.forEach(e=>{let n;n=e.size<128*1024?`64KB`:e.size<256*1024?`128KB`:e.size<512*1024?`256KB`:e.size<1024*1024?`512KB`:e.size<2*1024*1024?`1MB`:e.size<4*1024*1024?`2MB`:e.size<8*1024*1024?`4MB`:`8MB+`,t[n]||(t[n]=[]);let r=t[n];r&&r.push(e)}),t}generateRecommendations(e,t,n){let r=[];return e<this.config.performanceThresholds.slowSpeed&&r.push(`Consider using smaller chunk sizes for better performance on slow connections`),e>this.config.performanceThresholds.fastSpeed&&r.push(`Network is fast - larger chunk sizes may improve efficiency`),t<.9&&r.push(`High failure rate detected - consider more conservative chunking strategy`),n>.5&&r.push(`Network appears unstable - smaller, more frequent chunks may be more reliable`),n<.2&&e>this.config.performanceThresholds.slowSpeed&&r.push(`Stable network detected - larger chunks may improve efficiency`),r.length===0&&r.push(`Performance appears optimal with current configuration`),r}calculateOptimalChunkSizeRange(e){if(e.length<5)return{min:256*1024,max:2*1024*1024};let t=e.slice().sort((e,t)=>t.speed-e.speed).slice(0,Math.ceil(e.length*.3)).map(e=>e.size),n=Math.min(...t),r=Math.max(...t);return{min:Math.max(64*1024,n),max:Math.min(32*1024*1024,r)}}};function V(e){return new t(e.getCapabilities(),t=>e.validateUploadStrategy(t))}function te({capabilities:e,fileSize:t,chunkSize:n,parallelUploads:r,uploadLengthDeferred:i,strategyConfig:a,logger:o}){if(a?.enableCapabilityNegotiation!==!1){let i=V(new f(e)),s={fileSize:t||0,preferredStrategy:a?.preferredStrategy===`auto`?void 0:a?.preferredStrategy,preferredChunkSize:n,parallelUploads:r,minChunkSizeForParallel:a?.minFileSizeForParallel||10*1024*1024},c=i.negotiateStrategy(s);o.log(`Upload strategy negotiated: ${c.strategy}`);for(let e of c.reasoning)o.log(` - ${e}`);for(let e of c.warnings)o.log(` Warning: ${e}`);return a?.onStrategySelected?.({chosen:c.strategy,chunkSize:c.chunkSize,parallelUploads:c.parallelUploads,reasoning:c.reasoning,warnings:c.warnings}),c}else{let e=r>1&&t&&t>(a?.minFileSizeForParallel||10*1024*1024)&&!i;return{strategy:e?`parallel`:`single`,chunkSize:n,parallelUploads:e?r:1,reasoning:[`Legacy strategy selection: ${e?`parallel`:`single`}`],warnings:[]}}}function H(e,t=p,n){let r=[],i=[],a=V(new f(t)).validateConfiguration({fileSize:0,preferredStrategy:e.uploadStrategy?.preferredStrategy===`auto`?void 0:e.uploadStrategy?.preferredStrategy,preferredChunkSize:e.chunkSize,parallelUploads:e.parallelUploads});if(a.valid||r.push(...a.errors),e.parallelUploads&&e.parallelUploads<1&&r.push(`parallelUploads must be at least 1`),e.chunkSize&&e.chunkSize<1024&&i.push(`Chunk size below 1KB may impact performance`),e.uploadStrategy?.preferredStrategy===`parallel`&&!e.parallelUploads&&i.push(`Parallel strategy requested but parallelUploads not configured`),r.length>0){n.log(`Configuration validation errors:`);for(let e of r)n.log(` Error: ${e}`)}if(i.length>0){n.log(`Configuration validation warnings:`);for(let e of i)n.log(` Warning: ${e}`)}return{valid:r.length===0,errors:r,warnings:i}}function ne(e,t){let n=H(e,p,t);if(!n.valid){let e=`Upload client configuration validation failed: ${n.errors.join(`, `)}`;throw t.log(e),new v({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:e})}}const U=(e,t)=>e&&{FILE_NOT_FOUND:`UPLOAD_NOT_FOUND`,UPLOAD_ID_NOT_FOUND:`UPLOAD_NOT_FOUND`,FLOW_JOB_NOT_FOUND:`JOB_NOT_FOUND`,FLOW_NODE_ERROR:`FLOW_RUN_FAILED`,FLOW_STRUCTURE_ERROR:`FLOW_RUN_FAILED`,FLOW_CYCLE_ERROR:`FLOW_RUN_FAILED`,FLOW_INPUT_VALIDATION_ERROR:`FLOW_RUN_FAILED`,FLOW_OUTPUT_VALIDATION_ERROR:`FLOW_RUN_FAILED`,VALIDATION_ERROR:`CREATE_UPLOAD_FAILED`,DATASTORE_NOT_FOUND:`FLOW_RUN_FAILED`}[e]||t;function W(e,t,{httpClient:n,logger:r,authManager:i,webSocketFactory:o}){let s=i?new a(n,i):n,c=`${e}/${t}/api/upload`,l=`${e}/${t}/api/flow`,u=`${e}/${t}/api/jobs`,d=e.replace(`http`,`ws`),f=`${d}/uploadista/ws/upload`,m=`${d}/uploadista/ws/flow`,h=async(e,t)=>{if(r?.log(`Getting auth token for WebSocket (jobId: ${t})`),`attachToken`in e){r?.log(`Detected UploadistaCloudAuthManager, calling attachToken`);let n=(await e.attachToken({},t)).Authorization;if(n?.startsWith(`Bearer `))return r?.log(`Successfully extracted Bearer token from UploadistaCloudAuthManager`),n.substring(7);r?.log(`No valid Authorization header from UploadistaCloudAuthManager: ${n}`)}if(`attachCredentials`in e){r?.log(`Detected DirectAuthManager, calling attachCredentials`);let t=(await e.attachCredentials({})).Authorization;if(t)return r?.log(`Successfully extracted Authorization header from DirectAuthManager`),t.startsWith(`Bearer `)?t.substring(7):t;r?.log(`No Authorization header from DirectAuthManager`)}return r?.log(`No auth token could be extracted from auth manager`),null};return{getUpload:async e=>{let t=await s.request(`${c}/${e}`);if(!t.ok){let n=await t.json().catch(()=>({})),r=U(n.code,`UPLOAD_NOT_FOUND`),i=n.error||n.message||`Upload ${e} not found`;throw new v({name:r,message:n.code?`${i} (${n.code})`:i,status:t.status})}let n=await t.json();return{status:t.status,upload:n}},deleteUpload:async e=>{let t=await s.request(`${c}/${e}`,{method:`DELETE`});if(!t.ok){let n=await t.json().catch(()=>({})),r=U(n.code,`DELETE_UPLOAD_FAILED`),i=n.error||n.message||`Failed to delete upload ${e}`;throw new v({name:r,message:n.code?`${i} (${n.code})`:i,status:t.status})}return{status:t.status}},createUpload:async e=>{r?.log(`createUpload ${JSON.stringify(e)}`);let t=await s.request(c,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>({})),n=U(e.code,`CREATE_UPLOAD_FAILED`),r=e.error||e.message||`Failed to create upload`;throw new v({name:n,message:e.code?`${r} (${e.code})`:r,status:t.status})}let n=await t.json();return r?.log(JSON.stringify(n)),{status:t.status,upload:n}},uploadChunk:async(e,t,{abortController:n})=>{try{let r=await s.request(`${c}/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/octet-stream`},body:t,signal:n?.signal});if(!r.ok){let e=await r.json().catch(()=>({}));throw new v({name:`NETWORK_ERROR`,message:e.error||e.message||`Unknown network error`,status:r.status})}let i=await r.json();return{status:r.status,upload:i}}catch(e){throw e instanceof v?e:new v({name:`NETWORK_ERROR`,message:`Network error`,cause:e})}},getFlow:async e=>{let t=await s.request(`${l}/${e}`);if(!t.ok){let n=await t.json().catch(()=>({})),r=U(n.code,`FLOW_NOT_FOUND`),i=n.error||n.message||`Flow ${e} not found`;throw new v({name:r,message:n.code?`${i} (${n.code})`:i,status:t.status})}let n=await t.json();return r?.log(`getFlow: ${e}`),{status:t.status,flow:n}},runFlow:async(e,t,n)=>{r?.log(`runFlow: ${e} with storage: ${t}`);let i=await s.request(`${l}/${e}/${t}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({inputs:n})});if(!i.ok){let t=await i.json().catch(()=>({})),n=U(t.code,`FLOW_RUN_FAILED`),r=t.error||t.message||`Failed to run flow ${e}`;throw new v({name:n,message:t.code?`${r} (${t.code})`:r,status:i.status})}let a=await i.json();return r?.log(`runFlow response: ${JSON.stringify(a)}`),{status:i.status,job:a}},resumeFlow:async(e,t,n,r)=>{let i=r?.contentType||`application/json`,a;a=i===`application/octet-stream`?n:JSON.stringify({newData:n});let o=await s.request(`${u}/${e}/resume/${t}`,{method:`PATCH`,headers:{"Content-Type":i},body:a});if(!o.ok){let t=await o.json().catch(()=>({})),n=U(t.code,`FLOW_RESUMED_FAILED`),r=t.error||t.message||`Failed to resume flow for job ${e}`;throw new v({name:n,message:t.code?`${r} (${t.code})`:r,status:o.status})}return await o.json()},pauseFlow:async e=>{let t=await s.request(`${u}/${e}/pause`,{method:`POST`});if(!t.ok){let n=await t.json().catch(()=>({})),r=U(n.code,`FLOW_PAUSE_FAILED`),i=n.error||n.message||`Failed to pause flow for job ${e}`;throw new v({name:r,message:n.code?`${i} (${n.code})`:i,status:t.status})}let n=await t.json();return r?.log(`Flow paused: ${e}, status: ${n.status}`),n},cancelFlow:async e=>{let t=await s.request(`${u}/${e}/cancel`,{method:`POST`});if(!t.ok){let n=await t.json().catch(()=>({})),r=U(n.code,`FLOW_CANCEL_FAILED`),i=n.error||n.message||`Failed to cancel flow for job ${e}`;throw new v({name:r,message:n.code?`${i} (${n.code})`:i,status:t.status})}let n=await t.json();return r?.log(`Flow cancelled: ${e}, status: ${n.status}`),n},getJobStatus:async e=>{let t=await s.request(`${u}/${e}/status`);if(!t.ok){let n=await t.json().catch(()=>({})),r=U(n.code,`JOB_NOT_FOUND`),i=n.error||n.message||`Job ${e} not found`;throw new v({name:r,message:n.code?`${i} (${n.code})`:i,status:t.status})}return await t.json()},openUploadWebSocket:async e=>{let t=`${f}/${e}`;if(i)try{let n=await h(i,e);n?(t+=`?token=${encodeURIComponent(n)}`,r?.log(`WebSocket token attached for upload: ${e}`)):r?.log(`No token for upload WebSocket (using cookie-based auth): ${e}`)}catch(t){let n=t instanceof Error?t.message:String(t);r?.log(`Error getting auth token for upload WebSocket: ${n}`),r?.log(`Proceeding with cookie-based authentication for upload WebSocket: ${e}`)}let n=o.create(t);return n.onopen=()=>{r?.log(`Upload WebSocket connection opened for: ${e}`)},n.onclose=()=>{r?.log(`Upload WebSocket connection closed for: ${e}`)},n.onerror=t=>{r?.log(`Upload WebSocket error for ${e}: ${t}`)},n},openFlowWebSocket:async e=>{let t=`${m}/${e}`;if(i)try{let n=await h(i,e);n?(t+=`?token=${encodeURIComponent(n)}`,r?.log(`WebSocket token attached for flow job: ${e}`)):r?.log(`No token for flow WebSocket (using cookie-based auth): ${e}`)}catch(t){let n=t instanceof Error?t.message:String(t);r?.log(`Error getting auth token for flow WebSocket: ${n}`),r?.log(`Proceeding with cookie-based authentication for flow WebSocket: ${e}`)}let n=o.create(t);return n.onopen=()=>{r?.log(`Flow WebSocket connection opened for job: ${e}`)},n.onclose=()=>{r?.log(`Flow WebSocket connection closed for job: ${e}`)},n.onerror=t=>{r?.log(`Flow WebSocket error for job ${e}: ${t}`)},n},closeWebSocket:e=>{e.close()},getConnectionMetrics:()=>s.getMetrics(),getDetailedConnectionMetrics:()=>s.getDetailedMetrics(),warmupConnections:async e=>s.warmupConnections(e),getCapabilities:async e=>{let t=`${c}/capabilities?storageId=${encodeURIComponent(e)}`;try{let e=await s.request(t,{method:`GET`,headers:{"Content-Type":`application/json`}});return e.ok?(await e.json()).capabilities:(r?.log(`Failed to fetch capabilities: ${e.status} ${e.statusText}`),p)}catch(e){return r?.log(`Failed to fetch server capabilities, using defaults: ${e}`),p}}}}var G=class{constructor(e,t,n){this.uploadistaApi=e,this.logger=t,this.onEvent=n,this.uploadWebsockets=new Map,this.flowWebsockets=new Map}async openUploadWebSocket(e){this.closeUploadWebSocket(e);let t=await this.uploadistaApi.openUploadWebSocket(e);return this.uploadWebsockets.set(e,t),t.onmessage=e=>{try{let t=n.safeParse(JSON.parse(e.data));t.success?t.data.type===`upload_event`&&this.onEvent?.(t.data.payload):this.logger.error(`Error parsing upload event: ${t.error.message}`)}catch(e){this.logger.error(`Error parsing upload event: ${e}`)}},t.onerror=t=>{this.logger.error(`Upload WebSocket error for ${e}: ${t}`)},t.onclose=t=>{this.logger.log(`Upload WebSocket closed for ${e}, \n code: ${t.code}, reason: ${t.reason}`),this.uploadWebsockets.delete(e)},t}async openFlowWebSocket(e){this.closeFlowWebSocket(e);let t=await this.uploadistaApi.openFlowWebSocket(e);return this.flowWebsockets.set(e,t),t.onmessage=t=>{try{let n=JSON.parse(t.data);switch(n.type){case`connection`:this.logger.log(`Flow WebSocket connected for job: ${n.id}`);break;case`subscribed`:this.logger.log(`Flow WebSocket subscribed for job: ${n.payload.jobId}`);break;case`error`:this.logger.error(`Flow WebSocket error: ${n.message} for job ${e} with code ${n.code}`);break;case`pong`:this.logger.log(`Flow WebSocket pong received for job: ${e}`);break;case`flow_event`:this.onEvent?.(n.payload);break;default:this.logger.warn(`Unknown flow WebSocket message type: ${n.type}`)}}catch(e){this.logger.error(`Error parsing flow WebSocket message:${e}`)}},t.onerror=t=>{this.logger.error(`Flow WebSocket error for job ${e}: ${t}`)},t.onclose=t=>{this.logger.log(`Flow WebSocket closed for job ${e}, \n code: ${t.code}, reason: ${t.reason}`),this.flowWebsockets.delete(e)},t}async openWebSocket(e){return e.startsWith(`upload-`)||e.includes(`upload`)?await this.openUploadWebSocket(e):await this.openFlowWebSocket(e)}closeUploadWebSocket(e){let t=this.uploadWebsockets.get(e);t&&(this.uploadistaApi.closeWebSocket(t),this.uploadWebsockets.delete(e))}closeFlowWebSocket(e){let t=this.flowWebsockets.get(e);t&&(this.uploadistaApi.closeWebSocket(t),this.flowWebsockets.delete(e))}closeWebSocket(e){this.closeUploadWebSocket(e),this.closeFlowWebSocket(e)}closeAll(){for(let[e,t]of this.uploadWebsockets.entries())this.uploadistaApi.closeWebSocket(t),this.uploadWebsockets.delete(e);for(let[e,t]of this.flowWebsockets.entries())this.uploadistaApi.closeWebSocket(t),this.flowWebsockets.delete(e)}sendPing(e){let t=this.flowWebsockets.get(e);return t&&t.readyState===t.OPEN?(t.send(JSON.stringify({type:`ping`,timestamp:new Date().toISOString()})),!0):!1}getUploadWebSocket(e){return this.uploadWebsockets.get(e)}getFlowWebSocket(e){return this.flowWebsockets.get(e)}isUploadConnected(e){let t=this.uploadWebsockets.get(e);return t?.readyState===t?.OPEN}isFlowConnected(e){let t=this.flowWebsockets.get(e);return t?.readyState===t?.OPEN}isConnected(e){return this.isUploadConnected(e)||this.isFlowConnected(e)}getConnectionCount(){return this.uploadWebsockets.size+this.flowWebsockets.size}getConnectionCountByType(){return{upload:this.uploadWebsockets.size,flow:this.flowWebsockets.size,total:this.uploadWebsockets.size+this.flowWebsockets.size}}};const K={maxConnectionsPerHost:8,connectionTimeout:2e4,keepAliveTimeout:9e4,enableHttp2:!0,retryOnConnectionError:!0};function q({baseUrl:e,uploadistaBasePath:t=`uploadista`,storageId:n,retryDelays:r=[1e3,3e3,5e3],chunkSize:i,parallelUploads:a=1,parallelChunkSize:o,uploadStrategy:u,smartChunking:f,networkMonitoring:h,uploadMetrics:g,checksumService:v,onEvent:y,generateId:b,httpClient:S,logger:C=d(!0),fileReader:w,fingerprintService:T,clientStorage:A,storeFingerprintForResuming:j=!0,webSocketFactory:N,abortControllerFactory:P,platformService:I,auth:L}){let V=e.replace(/\/$/,``),U=L?L.mode===`direct`?new s(L,I,C):new l(L,S):new c;L&&C.log(`Authentication enabled in ${L.mode} mode${L.mode===`uploadista-cloud`?` (server: ${L.authServerUrl})`:``}`);let K=W(V,t,{logger:C,httpClient:S,authManager:U,webSocketFactory:N}),q=new m(h),J=new B(g),Y=null,X=async()=>Y||(Y=await K.getCapabilities(n),Y),Z,Q=async()=>{if(Z)return Z;let e=await X(),t=e.minChunkSize&&e.maxChunkSize&&e.optimalChunkSize?{minChunkSize:e.minChunkSize,maxChunkSize:e.maxChunkSize,optimalChunkSize:e.optimalChunkSize,requiresOrderedChunks:e.requiresOrderedChunks}:void 0;return Z=new _(q,{enabled:!0,...f,fallbackChunkSize:i,datastoreConstraints:t}),C.log(`Smart chunker initialized with datastore constraints: ${JSON.stringify(t)}`),Z},$=new G(K,C,y);return ne({baseUrl:V,storageId:n,chunkSize:i,parallelUploads:a,parallelChunkSize:o,uploadStrategy:u},C),{upload:async(e,{uploadLengthDeferred:s=!1,uploadSize:c,onProgress:l,onChunkComplete:d,onSuccess:p,onShouldRetry:m,onError:h}={})=>{let g=null,_=null,y=await T.computeFingerprint(e,`${V}/${t}/api/upload`);if(C.log(`fingerprint: ${y}`),!y)throw Error(`unable calculate fingerprint for this input file`);let S=await O(A,y);if(S.length>0&&S[0]!=null){let e=k(S[0]);_=e.clientStorageKey,g=e.uploadId}let E=await w.openFile(e,i),D=x(E.size,{uploadLengthDeferred:s,uploadSize:c});E.size=D;let N=await Q();f?.enabled!==!1&&J.startSession(y,D||0,!0);let L=te({capabilities:await X(),fileSize:D,chunkSize:i,parallelUploads:a,uploadLengthDeferred:s,strategyConfig:u,logger:C});if(L.strategy===`parallel`){C.log(`Using parallel upload with ${L.parallelUploads} streams`);let e=await ee({checksumService:v,source:E,storageId:n,fingerprint:y,uploadLengthDeferred:s,parallelUploads:L.parallelUploads,parallelChunkSize:o,retryDelays:r,smartChunker:N,uploadistaApi:K,logger:C,smartChunking:f,metrics:J,clientStorage:A,generateId:b,storeFingerprintForResuming:j,abortControllerFactory:P,platformService:I,openWebSocket:e=>($.openUploadWebSocket(e),null),closeWebSocket:e=>$.closeUploadWebSocket(e),terminate:e=>R(e,K,I,r),onProgress:l,onChunkComplete:d,onSuccess:p,onError:h});if(e)return{abort:async()=>{await e.abort()}};C.log(`Parallel upload failed, falling back to single upload`)}let B=await F({source:E,storageId:n,uploadId:g,platformService:I,uploadIdStorageKey:_,checksumService:v,fingerprint:y,uploadLengthDeferred:s,uploadistaApi:K,logger:C,clientStorage:A,generateId:b,storeFingerprintForResuming:j,openWebSocket:e=>($.openUploadWebSocket(e),null),closeWebSocket:e=>$.closeUploadWebSocket(e),onProgress:l,onChunkComplete:d,onSuccess:p,onError:h});if(B){let e=P.create(),{uploadId:t,uploadIdStorageKey:n,offset:i}=B,a=null;return M({platformService:I,uploadId:t,offset:i,source:E,uploadLengthDeferred:s,retryDelays:r,smartChunker:N,uploadistaApi:K,logger:C,smartChunking:f,metrics:J,abortController:e,onProgress:l,onChunkComplete:d,onSuccess:p,onShouldRetry:m,onRetry:e=>{a=e},onError:h}),{abort:()=>{z({platformService:I,uploadId:t,uploadIdStorageKey:n,retryTimeout:a,shouldTerminate:!0,abortController:e,uploadistaApi:K,retryDelays:r,clientStorage:A})}}}return{abort:()=>{}}},uploadWithFlow:async(e,n,{onProgress:a,onChunkComplete:o,onSuccess:s,onShouldRetry:c,onJobStart:l,onError:u}={})=>{let d=await w.openFile(e,i),p=await Q();if(f?.enabled!==!1){let n=await T.computeFingerprint(e,`${V}/${t}/api/flow`);J.startSession(n||`unknown`,d.size||0,!0)}let m=await E({source:d,flowConfig:n,uploadistaApi:K,logger:C,platformService:I,openWebSocket:e=>$.openFlowWebSocket(e),closeWebSocket:e=>$.closeWebSocket(e),onProgress:a,onChunkComplete:o,onSuccess:s,onJobStart:l,onError:u});if(!m)return{abort:async()=>{},pause:async()=>{throw Error(`Flow upload not initialized`)},jobId:``};let{jobId:h,uploadFile:g,inputNodeId:_}=m,v=P.create();await $.openUploadWebSocket(g.id);let y=null;return D({jobId:h,uploadFile:g,inputNodeId:_,offset:g.offset,source:d,retryDelays:r,smartChunker:p,uploadistaApi:K,logger:C,smartChunking:f,metrics:J,platformService:I,abortController:v,onProgress:a,onChunkComplete:o,onSuccess:s,onShouldRetry:c,onRetry:e=>{y=e},onError:u}),{abort:async()=>{try{await K.cancelFlow(h),C.log(`Flow cancelled on server: ${h}`)}catch(e){C.log(`Failed to cancel flow on server: ${e}`)}v.abort(),y&&I.clearTimeout(y),$.closeWebSocket(h),$.closeUploadWebSocket(g.id)},pause:()=>K.pauseFlow(h),jobId:h}},abort:e=>z(e),getFlow:async e=>{let{status:t,flow:n}=await K.getFlow(e);return{status:t,flow:n}},runFlow:async({flowId:e,inputs:t,storageId:r})=>{let{status:i,job:a}=await K.runFlow(e,r||n,t);return{status:i,job:a}},resumeFlow:async({jobId:e,nodeId:t,newData:n,contentType:r})=>K.resumeFlow(e,t,n,{contentType:r}),pauseFlow:async e=>K.pauseFlow(e),cancelFlow:async e=>K.cancelFlow(e),getJobStatus:async e=>K.getJobStatus(e),openUploadWebSocket:e=>$.openUploadWebSocket(e),openFlowWebSocket:e=>$.openFlowWebSocket(e),openWebSocket:e=>$.openWebSocket(e),closeWebSocket:e=>$.closeWebSocket(e),closeAllWebSockets:()=>$.closeAll(),sendPing:e=>$.sendPing(e),isWebSocketConnected:e=>$.isConnected(e),getWebSocketConnectionCount:()=>$.getConnectionCount(),getWebSocketConnectionCountByType:()=>$.getConnectionCountByType(),getNetworkMetrics:()=>q.getCurrentMetrics(),getNetworkCondition:()=>q.getNetworkCondition(),getChunkingInsights:()=>J.getPerformanceInsights(),exportMetrics:()=>J.exportMetrics(),getConnectionMetrics:()=>K.getConnectionMetrics(),getDetailedConnectionMetrics:()=>K.getDetailedConnectionMetrics(),warmupConnections:e=>K.warmupConnections(e),getConnectionPoolingInsights:async()=>(await Q()).getConnectionPoolingInsights(),resetMetrics:async()=>{q.reset(),(await Q()).reset(),J.reset()},validateConfiguration:e=>H(e,p,C),validateConfigurationAsync:async e=>{let t=[],n=[],r=await K.getCapabilities(e.storageId),i=H(e,r,C);return t.push(...i.errors),n.push(...i.warnings),{valid:t.length===0,errors:t,warnings:n,capabilities:r}},getCapabilities:X}}const J=r.object({size:r.number().nullable(),metadata:r.record(r.string(),r.union([r.string(),r.number(),r.boolean()])),creationTime:r.string(),uploadId:r.string().optional(),parallelUploadUrls:r.array(r.string()).optional(),clientStorageKey:r.string()});function Y(e){return{findAllUploads:async()=>{let t=await e.find(`uploadista::`);return Object.values(t).map(e=>J.parse(JSON.parse(e)))},findUploadsByFingerprint:async t=>{let n=await e.find(`uploadista::${t}`);return Object.values(n).map(e=>J.parse(JSON.parse(e)))},removeUpload:t=>e.removeItem(t),addUpload:async(t,n,{generateId:r})=>{let i=`uploadista::${t}::${r.generate()}`;return await e.setItem(i,JSON.stringify(n)),i}}}function X(){let e=new Map;return{async getItem(t){return e.get(t)??null},async setItem(t,n){e.set(t,n)},async removeItem(t){e.delete(t)},async findAll(){return Object.fromEntries(e.entries())},async find(t){return Object.fromEntries(Array.from(e.entries()).filter(([e])=>e.startsWith(t)))}}}export{i as ChunkBuffer,m as NetworkMonitor,v as UploadistaError,G as UploadistaWebSocketManager,Y as createClientStorage,X as createInMemoryStorageService,d as createLogger,W as createUploadistaApi,q as createUploadistaClient,K as defaultConnectionPoolingConfig,J as previousUploadSchema,L as wait};
2
- //# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.mjs.map