@uploadista/client-core 0.0.20-beta.6 → 0.0.20-beta.7
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 +909 -909
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/client/__tests__/flow-inputs.test.ts +43 -11
- package/src/client/create-uploadista-client.ts +27 -13
- package/src/index.ts +2 -2
- package/src/managers/__tests__/upload-manager.test.ts +557 -545
- package/src/testing/index.ts +14 -14
- package/src/testing/mock-service-container.ts +4 -5
- package/src/types/index.ts +2 -2
- package/src/upload/index.ts +1 -1
- package/src/utils/__tests__/flow-inputs-builder.test.ts +5 -8
- package/src/utils/__tests__/input-validation.test.ts +1 -1
- package/src/utils/flow-inputs-builder.ts +2 -1
- package/src/utils/index.ts +1 -1
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +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/flow-inputs.ts","../src/types/multi-flow-upload-options.ts","../src/types/multi-flow-upload-state.ts","../src/types/upload-options.ts","../src/types/upload-metrics.ts","../src/types/upload-result.ts","../src/managers/event-subscription-manager.ts","../src/managers/flow-manager.ts","../src/managers/upload-manager.ts"],"sourcesContent":[],"mappings":";;;;;;;;UAAiB,aAAA;QACT;;;;;;;;;;;;UCOS,iBAAA;EDRA;;;;ECQA,YAAA,EAAA,MAAiB;EA4DrB;;;;EA8EF,aAAA,CAAA,EAAA,MAAA;EAAa;;;;EC9IP,SAAA,CAAA,EAAA,MAAA;AAKjB;AAMA;;;;ACRA;AAOA;AAiBA;AAyBA;;;;;;;AA8BA;AAsBA;AAoBA;AAoBA;AAoBA;;;;;AA8BA;;;;;;;;;;;;ACvLA;AAwBA;AA2CA;;;cHda,WAAA;EI/DD,QAAA,MAAO;EAEF,QAAA,WAAe;EAkDV,QAAI,MAAA;;;;ACzD1B;AAWA;AAoCA;EAOyB,WAAA,CAAA,MAAA,ELyBH,iBKzBG;EAA6B;;;AAuBtD;AAsBA;;;;ACtFA;;;;;;;;;;;;ACLA;;;;EAAmC,GAAA,CAAA,KAAA,EPuGtB,UOvGsB,CAAA,EPuGT,aOvGS,GAAA,IAAA;EAAe;;;;ACFlD;AA2BA;;;;;;;;;;;;;ACrBA;;;;;WTsIW;;;AU7IX;AAuBA;AA6BA;AAuBA;AAoEA;;;;;;;;;ACpJA;;;;ACIA;AAYA;AAUA;EAIkB,WAAA,CAAA,CAAA,EAAA,OAAA;EAAyC;;;AAG3D;;;;ACjCA;;;;ACGA;;;;ACCA;AAOA;AAgBA;;;;IChBiB,UAAA,EAAA,MAAA;IAOA,cAAA,EAAA,OAAkB;;;;ACfnC;;;;;;;;;;;;ACDA;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;UjBPiB,mBAAA;mBACE;;;UAIF,eAAA;EFTA,SAAA,OAAa,EAAA,OAAA;;;;ACQb,UCOA,sBAAA,CDPiB;EA4DrB;;;EA2Ca,MAAA,EAAA,EC5Fd,mBD4Fc;;;;;;;;;KExGd,WAAA,YAAuB,aAAa;;AHPhD;;;;ACQiB,UEMA,WAAA,CFNiB;EA4DrB;EAWS,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAgCT;EAAa,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAmCf;EAAa,OAAA,CAAA,QAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,IAAA,CAAA,EAAA,IAAA;;;;AC9IxB;AAKA;AAMA;;UCgBiB,kBAAA;;EAxBL,MAAA,CAAA,EAAA,MAAW;EAON;EAiBA,OAAA,CAAA,EAKL,MALK,CAAA,MAAkB,EAAA,MAAA,CAAA;EAyBlB;EAQN,IAAA,CAAA,EAAA,OAAA;EAMD;EAGA,MAAA,CAAA,EA/BC,eA+BD;EAGe;EAAR,OAAA,CAAA,EAAA,MAAA;EAAO;EAUP,WAAA,CAAA,EAAA,SAAoB,GAAA,MAAA,GAAA,aAAA;AAsBrC;AAoBA;AAoBA;AAoBA;;;AAAmD,UAhHlC,YAAA,CAgHkC;EAAiB;EA8BnD,MAAA,EAAA,MAAU;EAIM;EAA6B,UAAA,EAAA,MAAA;EAAR;EAKtC,OAAA,EA/IL,WA+IK;EAKQ;EAUb,EAAA,EAAA,OAAA;EAK0B;EAAO,IAAA,EAAA,EA7JlC,OA6JkC,CAAA,OAAA,CAAA;;UA1JlC;;EC1DE,WAAM,EAAA,ED6DD,OC7DC,CD6DO,WC7DP,CAAA;AAwBlB;AA2CA;;;;AC7EA;AAEA;AAkDA;UF6BiB,oBAAA;;;EGtFJ;EAWD,iBAAA,CAAA,EAAA,MAAkB;EAoClB;EAOa,gBAAA,CAAA,EAAA,MAAA;EAA6B;EAAR,WAAA,CAAA,EAAA,OAAA;EAAO;EAuBzC,sBAAA,CAAA,EAAA,OAAyB;AAsBrC;;;;ACtFA;;AAG6B,UJ4FZ,iBAAA,CI5FY;EACT;EAcP,iBAAA,EAAA,MAAA;EACA;EAAR,gBAAA,EAAA,MAAA;EAnBkC;EAAe,SAAA,EAAA,MAAA;;;;ACLtD;;;;;;ULwHiB,gBAAA;;;EM1HL;EA2BC,KAAA,EAAA,MAAA;EAQO;EACI,MAAA,EAAA,MAAA,EAAA;EAWM;EAAR,eAAA,EAAA,MAAA,EAAA;;;;;;;;UN+FL,SAAA;EOxIL;EACR,SAAA,EAAA,OAAA;EACA;EACA,QAAA,EAAA,OAAA;EAAa;;;;ACVjB;AAuBA;AA6BA;AAuBA;AAoEA;;;AAuGuB,URnFN,yBAAA,SAAkC,iBQmF5B,CAAA;EAgCE;EAAgB,MAAA,ERjH/B,gBQiH+B;;;;EC3RxB,SAAA,EAAA,MAAA;;;;ECIL,OAAA,EAAA,MAAW;EAYN;EAUA,eAAA,EAAA,MAAiB;EAIhB;EAAyC,eAAA,EAAA,MAAA;EAAR;EAAO,SAAA,EViK7C,SUjK6C;AAG1D;;;;ACjCA;UXsMiB,UAAA;;;AYnMjB;iCZuMiC,qBAAqB,QAAQ;;;AatM9D;EAOiB,UAAA,EAAA,EboMD,iBaxLM;EAIL;;;wBbyLO;EczMP;AAOjB;;;;ACfA;;EASuC,KAAA,EAAA,EfkN5B,OelN4B,CAAA,IAAA,CAAA;EAKZ;;;EAUK,iBAAA,CAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EfwMK,OexML,CAAA,IAAA,CAAA;;;;;;;;;;;;AlB3BhC;;;;ACQA;AA4DA;;AA2Ca,KGhGD,MAAA,GHgGC;EAAa;;;;;;AC3G1B;EAKiB,IAAA,EAAA,CAAA,OAAA,EAAA,MAAe,EAAA,GAAA,IAAA;EAMf;;;;ACRjB,CAAA;AAOA;AAiBA;AAyBA;;;;;AAoBiB,KCrCL,WAAA,GDqCK,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;AAUjB;AAsBA;AAoBA;AAoBA;AAoBA;;;;;AA8BA;;;;;;;;;;;;ACvLA;AAwBA;AA2CA;;;;AC7EA;AAEA;AAkDA;iBDyBgB,YAAA,2BAEP,cACN;;;;;;;KChFS,OAAA;UAEK,eAAA;;;ALPjB;gEKWgE;;;AJHhE;EA4Da,YAAA,EAAW,CAAA,EAAA,EIpDH,OJoDG,EAAA,GAAA,IAAA;EAWF;;;EAmEX,SAAA,EAAA,GAAA,GAAA,OAAA;EAAa;;;;EC9IP;AAKjB;AAMA;;;;ACRA;EAOiB,WAAA,EAAA,CAAW,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,GAAA,SAAA;EAiBX;AAyBjB;;EAcU,WAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,GAAA,SAAA;EAGA;;;EAGc,WAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,GAAA,SAAA;EAUP;AAsBjB;AAoBA;EAoBiB,mBAAS,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,GAAA,SAAA;AAoB1B;;;;AAAoE,iBE/G9C,IAAA,CF+G8C,eAAA,EE9GjD,eF8GiD,EAAA,EAAA,EAAA,MAAA,CAAA,EE5GjE,OF4GiE,CAAA,IAAA,CAAA;;;cGxKvD,eAAA;;;;;;;;ANAb;KMWY,kBAAA;;YAEA;ELLK;EA4DJ,OAAA,CAAA,EKrDD,MLqDY,CAAA,MAAA,EAAA,MAAA,CAAA;CAWF;;;;;;;;AC3EtB;AAKA;AAMA;;;;ACRA;AAOA;AAiBA;AAyBA;;;;;;;AA8BA;AAsBA;AAoBA;AAoBA;AAoBA;;AAuBa,KGhJD,gBAAA,GHgJC;EAvBsC,IAAA,EAAA,QAAA;EAAiB;AA8BpE;;;;EASgB,cAAA,CAAA,EAAA,GAAA,GGzJS,kBHyJT,GGzJ8B,OHyJ9B,CGzJsC,kBHyJtC,CAAA;CAKQ;;;;;;;ACrMxB;AAwBA;AA2CA;;;;AC7EA;AAEA;AAkDA;;;;ACzDA;AAWA;AAoCY,KA8BA,yBAAA,GA9BgB;EAOH,IAAA,EAAA,kBAAA;EAA6B;;;AAuBtD;EAsBY,aAAU,EAAA,MAAA;;;;ECtFT,QAAA,EAAA,MAAA;CAEO;;;;;;;;;;KDoFR,UAAA,GAAa,mBAAmB;;;;;;;ANnG5C;;;;ACQiB,cMKJ,iBAAA,SAA0B,eAAA,CNLL;EA4DrB,QAAA,MAAW;EAWF,QAAA,eAAA;EAgCT,QAAA,MAAA;EAAa,WAAA,CAAA,MAAA,EMhGN,gBNgGM,EAAA,eAAA,EM/FG,eN+FH,EAAA,MAAA,EM9FN,MN8FM;EAmCf;;;;;AC9IX;AAKA;AAMA;8BKgBa,yBACR,QAAQ;;;AJzBb;EAOiB,QAAA,eAAW;EAiBX;AAyBjB;;;;EAoByB,QAAA,aAAA;;;;;;;;;;cKpEZ,aAAA,SAAsB,eAAA;ERRlB,WAAA,CAAA;;;;ACQjB;AA4DA;;EA2Ca,iBAAA,CAAA,OAAA,CAAA,EO3FA,MP2FA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA,EO1FR,OP0FQ,CO1FA,MP0FA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;EAAa;;;;;;AC3G1B;EAKiB,cAAA,CAAA,CAAA,EAAe,IAAA;AAMhC;;;;;;KOTY,aAAA;;;ETNK;;;;ACQjB;AA4DA;;;;;;;;;AChEA;AAKiB,cOwBJ,0BAAA,SAAmC,eAAA,CPxBhB;EAMf,QAAA,MAAA;;;;ECRL;EAOK,QAAA,WAAW;EAiBX,WAAA,CAAA,MAAA,EMUG,yBNCT,EAAA,UAAe,EMAF,UNAE;EAcT;;;;;;EAoBO,UAAA,CAAA,CAAA,EMvBF,ONuBE,CMvBM,aNuBN,CAAA;EAUP;AAsBjB;AAoBA;AAoBA;AAoBA;;EAuBa,QAAA,eAAA;EAvBsC;;AA8BnD;;EAI8D,QAAA,cAAA;EAAR;;;;;;;;wBMlCzC,yCAER,QAAQ;EL3JD;AAwBZ;AA2CA;;;;EC7EY,UAAO,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAEF;AAkDjB;;;;ECzDa;AAWb;AAoCA;EAOyB,aAAA,CAAA,CAAA,EAAA;IAA6B,cAAA,EAAA,MAAA;IAAR,cAAA,EAAA,OAAA;EAAO,CAAA;AAuBrD;;;;;;KIjEY,WAAA,GACR,oBACA,6BACA;;;;;;;;UCVa,gBAAA;;;AXLjB;;;;ACQA;EA4Da,IAAA,EAAA,MAAA,GAAW,MAAA,GAAA,UAAA,GAAA,SAAA;EAWF;;;;EAmEE,UAAA,EAAA,MAAA;;;;AC9IxB;AAKA;AAMA;;USaiB,cAAA;;ERrBL,YAAA,EAAW,MAAA;EAON;EAiBA,OAAA,EAAA,MAAA;EAyBA;EAQN,WAAA,EAAA,MAAA;EAMD;EAGA,SAAA,EAAA,MAAA;EAGe;EAAR,aAAA,EAAA,MAAA;EAAO;EAUP,UAAA,EAAA,MAAA;EAsBA;EAoBA,SAAA,EAAA,MAAA;AAoBjB;AAoBA;;;;;AA8BA;AAIiC,UQjJhB,YAAA,CRiJgB;EAA6B;EAAR,IAAA,EAAA,MAAA;EAKtC;EAKQ,QAAA,EAAA,MAAA;EAUb;EAK0B,OAAA,EAAA,OAAA;EAAO;;;;ACpN5C;AAwBA;AA2CA;;;;AC7EA;AAEiB,UMyEA,oBAAA,CNrE+C;EA8C1C;;;;ECzDT;EAWD,sBAAkB,CAAA,EAAA,MAAA;EAoClB;EAOa,aAAA,CAAA,EAAA,MAAA;EAA6B;EAAR,aAAA,CAAA,EAAA,MAAA;EAAO;EAuBzC,iBAAA,CAAA,EAAA,MAAA;AAsBZ;;;;ACtFA;;;;;;;;;;;;ACLA;;;;;;;;;ACFA;AA2BA;;;;;;;;;;;;;ACrBA;;;;;;;;ACPA;AAuBA;AA6BiB,cA2FJ,cAAA,CA3FgB;EAuBZ,QAAA,OAAA;EAoEJ,QAAA,MAAA;EAUS,QAAA,eAAA;EAqBF;;;;;uBArBE;;AC9JtB;;;;ACIA;AAYA;AAUA;EAIkB,SAAA,CAAA,MAAA,EFqJE,YErJF,CAAA,EAAA,IAAA;EAAyC;;;AAG3D;;;;ACjCA;;;;ACGA;;;;ACCA;AAOA;AAgBA;;;;AChBA;AAOA;;;;ACfA;;;;EAmBqB,YAAA,CAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAR;;;;;;;ACpBb;AASA;;;;;;;;uBRgPuB;;;;;;;;;;;;;;ASxNvB;;;;;;;;;;;AAyHA;;;;EC5HY,mBAAgB,CAAA,CAAA,EV2PH,gBUrON;;;;ACSnB;AAUA;AAaA;AAiDA;;;;;;;;;EAyCwB,oBAAA,CAAA,CAAA,EAAA,MAAA;EAGT;;;;;;;;;;;;;;;;EAyF8B,KAAA,CAAA,CAAA,EAAA,IAAA;EAQG,QAAA,0BAAA;EAAR,QAAA,aAAA;EAOjB,QAAA,kBAAA;;;;UV3RN,eAAA;wBACO,aAAa;;;;;;;KCGzB,WAAA;;;;;EbJK,IAAA,EAAA,OAAA;SaYJ;;;AZJI,UYQA,UAAA,CZRiB;EA4DrB,KAAA,EAAA,OAAW;EAWF,IAAA,EAAA,MAAA,GAAA,IAAA;EAgCT,IAAA,EAAA,MAAA,GAAA,IAAA;EAAa,IAAA,EAAA,MAAA,GAAA,IAAA;EAmCf,YAAA,EAAA,MAAA,GAAA,IAAA;EAAa,KAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,GY5HiB,OZ4HjB,CY5HyB,WZ4HzB,CAAA;;;UYxHP;EXtBA;AAKjB;AAMA;kBWekB,mCAAiC,QAAQ;;UAG1C,aAAA;EV1BL;AAOZ;AAiBA;EAyBiB,QAAA,CAAA,IAAA,EUnBA,WVmBY,CAAA,EAAA,MAAA;EAQlB;;;EAYc,UAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EUlCG,WVkCH;;;;UW5ER;2BAEP,kCAEL;;;;;;;UCDY,mBAAA;;;;;AfHjB;;;;;;UgBIiB,iBAAA;;;;;AhBJjB;UgBWiB,aAAA;;;EfHA,SAAA,IAAA,EAAA,MAAiB;EA4DrB,SAAA,OAAW,EAAA,MAAA;EAWF,SAAA,MAAA,EAAA,MAAA;EAgCT,MAAA,EAAA,CAAA,GAAA,GAAA,IAAA,CAAA,GAAA,IAAA;EAAa,OAAA,EAAA,CAAA,CAAA,KAAA,EAAA;IAmCf,IAAA,EAAA,MAAA;IAAa,MAAA,EAAA,MAAA;;;;EC9IP,CAAA,EAAA,GAAA,IAAA,CAAA,GAAA,IAAA;EAKA,SAAA,EAAA,CAAA,CAAA,KAAe,EAAA;IAMf,IAAA,EAAA,MAAA;;sBcQK;;AbhBtB;AAOiB,UaaA,gBAAA,CbbW;EAiBX;AAyBjB;;EAcU,MAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EavCa,abuCb;;;;Uc3DO,oBAAA;;;EhBHA,gBAAA,EAAA,MAAiB;EA4DrB,qBAAW,CAAA,EAAA,OAAA;;AA2CX,UgB7FI,kBAAA,ChB6FJ;EAAa,OAAA,CAAA,EAAA,OAAA;EAmCf,iBAAA,CAAA,EAAA,MAAA;EAAa,YAAA,CAAA,EAAA,MAAA;;;;EC9IP,cAAA,CAAA,EAAA,MAAmB;EAKnB,gBAAA,CAAA,EAAe,OAAA;EAMf,sBAAA,CAAA,EAAsB,OAAA;yBead;;;;;;;UCzBR,cAAA;;;;wBAIO;ElBPP;;;uCkBYsB;EjBJtB;AA4DjB;;EA2Ca,UAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EiB9Fc,OjB8Fd,CAAA,IAAA,CAAA;EAAa;;;aiBzFb,QAAQ;;;AhBlBrB;EAKiB,IAAA,CAAA,MAAA,EAAA,MAAe,CAAA,EgBkBR,OhBlBQ,CgBkBA,MhBlBA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAMhC;;;KiBbY,cAAA;;;;;;;EnBFK,kBAAa,CAAA,EAAA,MAAA,EACtB;;;cmBUK,sBAAoB,CAAA,CAAA;ElBHhB,IAAA,eAAA,YAAiB,CAAA;EA4DrB,QAAA,aAAW,YAAA,YAAA,CAAA,SAAA,YAAA,aAAA,cAAA,CAAA,CAAA,CAAA;EAWF,YAAA,aAAA;EAgCT,QAAA,eAAA,YAAA,CAAA;EAAa,kBAAA,eAAA,WAAA,YAAA,CAAA,CAAA;EAmCf,gBAAA,aAAA;CAAa,eAAA,CAAA;;;;;;;;ADlJxB;;;;ACQA;AA4DA;;;;;;;;;AChEA;AAKA;AAMA;;;;ACRA;AAOA;AAiBA;AAyBiB,KiBrBL,aAAA,GjBqBiB;EAQlB;;;;;;AAsBX;EAsBiB,cAAA,EAAA,GAAA,GiBjEO,OjBiEU,CiBjEF,cjBiEE,EAAA,CAAA;EAoBjB;AAoBjB;AAoBA;;;;;AA8BA;;;;;;;;;;;;ACvLA;EAwBY,wBAAW,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,GgB0B8B,OhB1B9B,CgB0BsC,chB1BtC,EAAA,CAAA;EA2CP;;;;AC7EhB;AAEA;AAkDA;;;;ACzDA;AAWA;AAoCA;;EAOsD,YAAA,EAAA,CAAA,gBAAA,EAAA,MAAA,EAAA,Gc2BR,Od3BQ,CAAA,IAAA,CAAA;EAAR;;AAuB9C;AAsBA;;;;ACtFA;;;;;;;;;;;;ACLA;;;;;EAAkD,SAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EYqGtC,cZrGsC,EAAA;IAAA;GAAA,EAAA;gBYsGhB;QAC3B;;AXzGP;AA2BA;;;;;;;;;;;;;ACrBA;;;;;;;;ACPA;AAuBA;AA6BA;AAuBA;AAoEA;;;;;;;;;ACpJA;;;;ACIA;AAYA;AAUA;AAIkB,iBO8HF,mBAAA,CP9HE,cAAA,EO+HA,cP/HA,CAAA,EOgIf,aPhIe;;;;;;;;;;;Ab9BlB;;;;ACQA;AA4DA;;;;;;;;;AChEA;AAKA;AAMA;;;;ACRA;AAOA;AAiBA;AAyBA;AAQW,KkBhCC,gBAAA,GlBgCD;EAMD;EAGA,MAAA,EAAA,MAAA;EAGe;EAAR,SAAA,EAAA,MAAA;EAAO;AAUxB;AAsBA;AAoBA;AAoBA;AAoBA;;EAuBa,YAAA,CAAA,EAAA,MAAA;EAvBsC;;AA8BnD;;;;EASgB,QAAA,CAAA,EkBzJH,MlByJG,CAAA,MAAA,EAAA,MAAA,CAAA;CAKQ;;;;AHpNxB;;;;ACQiB,KqBuDL,wBAAA,GrBvDsB;EA4DrB;EAWS,MAAA,CAAA,EqBdX,UrBcW;EAgCT;EAAa,MAAA,EAAA,MAAA;CAmCf;;;;KqBzEC,8BAAA;EpBrEK;EAKA,MAAA,EAAA,GAAA;AAMjB,CAAA,GAAiB;;;;ACRjB;AAOA;AAiBA;AAyBiB,KmB8BL,YAAA,GnB9BiB;EAQlB;EAMD,MAAA,EAAA,MAAA;EAGA;EAGe,IAAA,EmBcjB,QnBdiB;CAAR;;AAUjB;AAsBA;AAoBA;AAoBA;AAoBA;;;;;AA8BA;;;;;;;;;;;;ACvLA;AAwBA;AA2CA;;;;AC7EA;AAEA;AAkDA;;;;ACzDA;AAWA;AAoCA;;;;;AA8BA;AAsBY,KgBoCA,aAAA,GhBpCU;;;;ACtFtB;;;;EAkBa,SAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,GegHsB,OfhHtB,CegH8B,wBfhH9B,CAAA;EACA;;;;;;;ECxBA,YAAA,EAAA,CAAA,QAAc,EAAA,MAAA,EAAA,GcgJW,OdhJX,CcgJmB,8BdhJnB,CAAA;EAYd;;;;;;;uBc6IU,cAAc,QAAQ;Eb3JjC;AA2BZ;;;;;;;;EAAgD,WAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,IAAA,Ea6ItC,Ub7IsC,GAAA,IAAA,EAAA,OAAA,EAAA;IAAe,eAAA,CAAA,Ea+IvC,mBb/IuC;;QakJxD,QAAQ;;AZvKf;;;;;;+BYgL+B,QAAQ;;AXvLvC;AAuBA;AA6BA;AAuBA;AAoEA;;;;EAuIyB,OAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EWjFb,MXiFa,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GWhFlB,OXgFkB,CAAA;IAAgB,MAAA,EAAA,MAAA;SWhFH;;;AV3MtC;;;;ACIA;AAYA;AAUA;;;;;EAOiB,UAAA,EAAA,CAAA,KAAa,EAAA,MAAA,EAIb,MAAA,EAAA,MAKW,EAAA,OAAA,EAAW,OAAA,EAAA,QAAA,EAAA;;QSsLhC,QAAQ;;ARhOf;;;;ACGA;;;;ACCA;EAOiB,SAAA,EAAA,CAAA,KAAa,EAAA,MAAA,EAAA,GMiOE,ONrNV,CMqNkB,ONrNR,CAAA;EAIf;;;;AChBjB;AAOA;;;;ACfA;;EASuC,UAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GI6ON,OJ7OM,CI6OE,OJ7OF,CAAA;EAKZ;;;;;;;;;ECff,YAAA,EAAA,CAAA,KAAc,EAAA,MAAA,EAAA,GGkQS,OHlQT,CGkQiB,OHlQjB,CAAA;EASb;;;;;;6CGiQgC,QAAQ;;;;;;;wCAQb,QAAQ;;;;;;uBAOzB;;;AFxPvB;;;EA8B6D,oBAAA,EAAA,GAAA,GEiO/B,iBFjO+B;EAAR;;;;;EA8C9C,4BAAA,EAAA,GAAA,GE0L+B,yBF1L/B;EAAO;AA6Cd;;;;AC5HA;;;yCCmRyC;EApP7B;AAUZ;AAaA;AAiDA;;;;;;;EA0BqC,eAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,GA8JK,OA9JL,CA8Ja,qBA9Jb,CAAA;CAa3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiNV;;;;;;;;;;;;;;ACxWA;AA0DA;;;;;;;;;;;;;;AC/BA;;;;;AAuEc,iBFsQE,mBAAA,CEtQF,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,MAAA,EAAA;EAAA,UAAA,EF0QE,cE1QF;EAAA,MAAA;EAAA,WAAA;EAAA;CAAA,EAAA;EAmBH,UAAA,EF4PK,UE5PL;EAmBE,MAAA,CAAA,EF0OA,ME1OA;EAiBM,WAAA,CAAA,EF0ND,WE1NC;EAiBP,gBAAA,EF0MU,gBE1MV;CAmBO,CAAA,EFyLhB,aEzLgB;;;;;;;;;;;AxBpNnB;;;;ACQA;AA4DA;;;;;;;;;AChEA;AAKiB,KqBcL,mBAAA,GrBdoB,2BAAA,GAAA,eAAA,GAAA,6BAAA,GAAA,qBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,kBAAA,GAAA,sBAAA,GAAA,sBAAA,GAAA,kCAAA,GAAA,gCAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,iBAAA,GAAA,qBAAA,GAAA,mBAAA,GAAA,oBAAA,GAAA,uBAAA,GAAA,mBAAA,GAAA,mBAAA,GAAA,cAAA,GAAA,sBAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,uBAAA;AAMhC;;;;ACRA;AAOA;AAiBA;AAyBA;;;;;;;AA8BA;AAsBA;AAoBA;AAoBA;AAoBA;;;;;AA8BA;;;;;;;;AA6B4C,coBlJ/B,eAAA,SAAwB,KAAA,CpBkJO;;;;ECpNhC,IAAA,EmBsEJ,mBnBtEU;EAwBN;AA2CZ;;;;AC7EA;AAEA;EAkDsB,KAAA,EkBsCb,KlBtCiB,GAAA,SACP;;;;EC1DN,MAAA,EAAA,MAAA,GAAA,SAAe;EAWhB;AAoCZ;;;;;AA8BA;AAsBA;;;;;;;EClFoB;UgBoGV;IhBxGG,OAAA,EAAA,MAAA;IAEO,KAAA,CAAA,EgBwGR,KhBxGQ;IACS,MAAA,CAAA,EAAA,MAAA;EACT,CAAA;EAcP;;;;;;;;ACvBb;;;;;;;;;ACFA;;;;;;AREA;AA4DA;;;;;;;;;AChEA;AAKA;AAMA;;;;ACRA;AAOA;AAiBA;AAyBA;;;;;;;AA8BA;AAsBA;AAoBA;AAoBA;AAoBA;;;;;AA8BA;;AAI8D,UqBxJ7C,gBrBwJ6C,CAAA,aAAA,CAAA,CAAA;EAAR;;;;;;;;;AC3LtD;AAwBA;AA2CA;;;;EC7EY,OAAA,EmB6DD,cnB7DQ;EAEF;AAkDjB;;;;ACzDA;AAWA;AAoCA;;;;;AA8BA;AAsBA;;gBkBhBgB;;AjBtEhB;;;;;;;;;;;;ACLA;;;;EAAmC,UAAA,EgB8FrB,UhB9FqB;EAAe;;;;ACFlD;AA2BA;;;;;;;;;;;;cewFc,kBAAkB;Ed7GpB;;;;;;;;ACPZ;AAuBA;AA6BA;AAuBA;AAoEA;;;;;EAuIyC,MAAA,CAAA,Ea/I9B,ab+I8B;;;;AC3RzC;;;;ACIA;AAYA;AAUA;;;;;AAOA;;;aW8Ha;EV/JI;;;;ACGjB;;;;ACCA;AAOA;AAgBA;;;;AChBA;EAOiB,eAAA,EO8JE,sBPpJM;;;;ACzBzB;;;;;;;;;;;;ECDY,QAAA,EK+LA,eL/Lc;EASb;;;;;;;;;;;;;;;;;EAAoB,eAAA,EKyMd,eLzMc;EAAA;;;;ACwBjC;;;;;;;;;;;AAyHA;;;;AC5HA;sBG0MsB,mBAAmB;;;;KCxO7B,cAAA;WACD;;;;;AzBHM,K0BUL,UAAA,G1BVkB,CAAA,QACtB,EAAA,MAAA,EAAU,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;K0BeN,aAAA,WACH;;;UCjBQ,YAAA;;;;;;;;E3BAA,gBAAa,CAAA,EAAA,MAAA;;;;;U4BAb,mBAAA;;;;;;;;E5BAA,CAAA;;;;U6BAA,oBAAA;;;;;;;;E7BAA,QAAA,EAAA,MAAa;;;;ECQb,SAAA,EAAA,MAAA;EA4DJ,OAAA,CAAA,EAAA,MAAW;;;;U6BhEP,mBAAA;;;;;I9BJA,SAAA,EAAA,MAAa;;;;;;AC+ER,K8BtDV,SAAA,G9BsDU;EAgCT,UAAA,CAAA,E8BrFE,U9BqFF;EAAa,eAAA,CAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAmCf,SAAA,CAAA,EAAA,CAAA,OAAA,E8BlHa,U9BkHb,EAAA,GAAA,IAAA;EAAa,OAAA,CAAA,EAAA,CAAA,KAAA,E8BjHJ,K9BiHI,G8BjHI,e9BiHJ,EAAA,GAAA,IAAA;;;;EC9IP,CAAA,EAAA,GAAA,IAAA;EAKA,UAAA,CAAA,EAAA,CAAA,KAAe,EAAA,MAAA,EAAA,GAAA,IAAA;EAMf,aAAA,CAAA,E6BqBC,a7BrBqB;;;;;ADPvC;AA4DA;;;;;AA8EwB,iB+B/EF,KAAA,C/B+EE;EAAA,QAAA;EAAA,kBAAA;EAAA,YAAA;EAAA,eAAA;EAAA,eAAA;EAAA,aAAA;EAAA,eAAA;EAAA,WAAA;EAAA;AE3IxB,CF2IwB,EAAA;;;gB+BlER;E9B5EC,eAAA,EAAA,OAAmB;EAKnB,eAAA,E8ByEE,mB9BzEa;EAMf,aAAA,E8BoEA,a9BpEsB;mB8BqEpB;;iBAEF;A7B/EjB,CAAA,CAAA,E6BgFI,O7BhFQ,CAAA,IAAA,CAAA;;;K8BOA,oBAAA;;;EjCdK,2BAAa,CAAA,EACtB,OAAA;;;;ICOS,eAAA,EAAiB,MAAA;IA4DrB,SAAA,EAAW,MAAA,EAAA;IAWF,QAAA,EAAA,MAAA,EAAA;EAgCT,CAAA,EAAA,GAAA,IAAA;CAAa;;;KiCxGd,eAAA,GAAkB,cAAc;KAEhC,+BAAA,WAA0C;KAE1C,0BAAA;ElCXK,IAAA,EAAA,YAAa;;;;ACQ9B,CAAA,GAAiB;EA4DJ,IAAA,EAAA,YAAW;EAWF,OAAA,EAAA;IAgCT,QAAA,CAAA,EAAA,MAAA;IAAa,KAAA,CAAA,EAAA,MAAA;EAmCf,CAAA;EAAa,SAAA,EAAA,MAAA;;;;EC9IP,IAAA,CAAA,EAAA,MAAA;AAKjB,CAAA,GAAiB;EAMA,IAAA,EAAA,MAAA;;;;ECRL,OAAA,E+BayB,W/Bbd;AAOvB,CAAA,GAAiB;EAiBA,IAAA,EAAA,YAAA;EAyBA,OAAA,E+BnCkB,S/BmCN;CAQlB;;;;AAYM,c+BlDJ,0BAAA,C/BkDI;EAAO,QAAA,aAAA;EAUP,QAAA,MAAA;EAsBA,QAAA,OAAA;EAoBA,QAAA,gBAAgB;EAoBhB,QAAA,cAAS;EAoBT,WAAA,CAAA,aAAA,E+BzIU,a/ByIgB,EAAA,MAAA,E+BxIvB,M/BwIuB,EAAA,OAAA,CAAA,E+BvIrB,+B/BuIqB,GAAA,SAAA;EAEjC;;;EAF0D,mBAAA,CAAA,QAAA,EAAA,MAAA,CAAA,E+BjIrB,O/BiIqB,C+BjIb,a/BiIa,CAAA;EA8BnD;;;EAIqC,iBAAA,CAAA,KAAA,EAAA,MAAA,CAAA,E+BvHZ,O/BuHY,C+BvHJ,a/BuHI,CAAA;EAKtC;;;;EAoB4B,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,E+BrFT,O/BqFS,C+BrFD,a/BqFC,CAAA;;;;ECpNhC,oBAAM,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAwBN;AA2CZ;;;;AC7EA;AAEA;EAkDsB,cAAI,CAAA,EAAA,EACP,MAAA,CAAA,EAAA,IAAA;;;;EC1DN,QAAA,CAAA,CAAA,EAAA,IAAA;EAWD;AAoCZ;;EAOsD,QAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAR;;AAuB9C;EAsBY,kBAAU,CAAA,QAAG,EAAA,MAAA,CAAA,E4BwHe,a5BxHI,GAAA,SAAA;;;;ECtF/B,gBAAA,CAAA,KAAkB,EAAA,MAAA,CAAA,E2BqNI,a3BrNJ,GAAA,SAAA;EAEX;;;EAgBP,iBAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EACA;;;EAnByC,eAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;;;ECLzC,WAAA,CAAA,EAAA,EAAc,MAAA,CAAA,EAAA,OAAA;EAYd;;;EAZsB,kBAAA,CAAA,CAAA,EAAA,MAAA;EAAe;;;;ICFtC,MAAA,EAAA,MAAa;IA2BZ,IAAA,EAAA,MAAA;IAQO,KAAA,EAAA,MAAA;EACI,CAAA;;;;;APtCxB;AAKA;AAMA;;;KiCqDY,uBAAA;EhC7DA;AAOZ;AAiBA;AAyBA;;EAcU,oBAAA,CAAA,EAAA,OAAA;EAGA;;;;EAaO,UAAA,CAAA,EAAA,MAAA;EAsBA;AAoBjB;AAoBA;AAoBA;EAEU,QAAA,CAAA,EgCpFG,MhCoFH,CAAA,MAAA,EAAA,MAAA,CAAA;EAqBG;;;AAOb;;EAI8D,eAAA,CAAA,EAAA,OAAA;EAAR;;;;EAyBjB,iBAAA,CAAA,EAAA,MAAA;CAAO,GgC/HxC,ShC+HwC;;;;ACpN5C;AAwBA;AA2CA;;;;AC7EY,K8B0GA,uB9B1GO,CAAA,aAAA,CAAA,GAAA;EAEF;EAkDK,OAAI,EAAA,MAAA;;;;ECzDb,SAAA,EAAA,MAAA;EAWD;EAoCA,WAAA,CAAA,EAAA,MAAgB,EAAA;EAOH;EAA6B,SAAA,EAAA,MAAA;EAAR;EAAO,eAAA,CAAA,EAAA,MAAA;EAuBzC;EAsBA,iBAAU,CAAA,EAAA,MAAG;;mB6BmCN;;E5BzHN,cAAA,CAAA,E4B4HM,oB5B5HY;EAEX;EACS,aAAA,CAAA,E4B4HX,kB5B5HW;EACT;EAcP,iBAAA,CAAA,E4BgHS,oB5BhHT;EACA;EAAR,aAAA,CAAA,E4BkHa,mB5BlHb;EAnBkC;EAAe,UAAA,E4BwIxC,U5BxIwC;;c4B2IxC;;E3BhJD,aAAA,E2BmJI,a3BnJU;EAYd;EACA,UAAA,E2ByIC,iB3BzID,C2ByImB,a3BzInB,CAAA;EAAR;EAb8B,MAAA,E2ByJzB,M3BzJyB;EAAe;sB2B4J5B,mBAAmB;;;E1B9J7B;EA2BC,gBAAA,E0ByIO,gB1BzIoB;EAQpB;EACI,sBAAA,E0BmIE,sB1BnIF;EAWM;EAAR,eAAA,E0B2HH,e1B3HG;EAmHT;EAEA,OAAA,CAAA,EAAA,CAAA,KAAA,E0BSO,K1BTP,EAAA,GAAA,IAAA;EAAR;EAzI2C,OAAA,CAAA,E0BqJpC,+B1BrJoC;EAAe;;;;ACrB/D;;;;;;;;ACPA;AAuBA;AA6BA;AAuBA;AAoEA;;;;;;;;;ACpJA;;SuBmNS;;AtB/MT;AAYA;AAUA;;;;AAI0D,csB8L7C,8BtB9L6C,EsB8Lb,oBtB9La;AAG1D;;;;ACjCA;;;;ACGA;;;;ACCA;AAOA;AAgBA;;;;AChBA;AAOA;;;;ACfA;;;;;;;;;;;;ACDA;AASA;;;;;;;;;;;;;;;;;;;;;;ACwBA;;;;;;;;;;;AAyHA;;;;AC5HA;;;;AC+BA;AAUA;AAaA;AAiDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwPA;AAIgB,iBarCA,sBbqCA,CAAA,aAAA,CAAA,CAAA;EAAA,OAAA,EapCL,QboCK;EAAA,kBAAA;EAAA,SAAA;EAAA,WAAA;EAAA,SAAA;EAAA,eAAA;EAAA,iBAAA;EAAA,cAAA;EAAA,aAAA;EAAA,iBAAA;EAAA,aAAA;EAAA,eAAA;EAAA,OAAA;EAAA,UAAA;EAAA,UAAA;EAAA,MAAA;EAAA,UAAA;EAAA,kBAAA;EAAA,aAAA;EAAA,2BAAA;EAAA,gBAAA;EAAA,sBAAA;EAAA,eAAA;EAAA;AAAA,CAAA,EaZb,uBbYa,CaZW,abYX,CAAA,CAAA,EAAA;EACZ,MAAA,EAAA,CAAA,IAAA,EauEM,abvEN,EAAA;IAAA,oBAAA;IAAA,UAAA;IAAA,UAAA;IAAA,eAAA;IAAA,SAAA;IAAA,aAAA;IAAA;EAAA,CAAA,CAAA,EagFG,uBbhFH,EAAA,GaiFC,ObjFD,CAAA;IACA,KAAA,EAAA,GAAA,GAAA,IAAA;EACA,CAAA,CAAA;EAEY,cAAA,EAAA,CAAA,IAAA,EakRN,ablRM,EAAA,UAAA,EamRA,gBbnRA,EAAA;IAAA,UAAA;IAAA,eAAA;IAAA,SAAA;IAAA,aAAA;IAAA,UAAA;IAAA;EAAA,CAAA,CAAA,Ea2RT,Ib3RS,Ca4RV,uBb5RU,EAAA,sBAAA,GAAA,YAAA,GAAA,UAAA,CAAA,EAAA,Ga+RX,Ob/RW,CAAA;IACH,KAAA,EAAA,GAAA,Ga+RI,Ob/RJ,CAAA,IAAA,CAAA;IACK,KAAA,EAAA,GAAA,Ga+RD,Ob/RC,CAAA,IAAA,CAAA;IACI,KAAA,EAAA,MAAA;EAEnB,CAAA,CAAA;EAAa,oBAAA,EAAA,CAAA,MAAA,EawYJ,MbxYI,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,UAAA,EayYA,gBbzYA,EAAA;IAAA,UAAA;IAAA,eAAA;IAAA,aAAA;IAAA,UAAA;IAAA,OAAA;IAAA,eAAA;IAAA,eAAA;IAAA;ECtXJ,CAAA,CDsXI,EamZT,IbnZS,CaoZV,uBbpZU,EAAA,sBAAA,GAAA,YAAA,GAAA,UAAA,CAAA,GAAA;;;2Ca8Z6B;EZpxBjC,CAAA,EAAA,GYsxBP,OZtxBO,CAAA;IA0DC,KAAA,EAAA,GAAA,GY6tBI,OZ7tBY,CAAA,IAAA,CAAA;IAIrB,KAAA,EAAA,GAAA,GY0tBS,OZ1tBT,CAAA,IAAA,CAAA;IAUC,KAAA,EAAA,MAAA;EAiBL,CAAA,CAAA;EACA,KAAA,EAAA,CAAA,MAAA,EYg4BgB,UZh4BhB,CAAA,OYg4BkC,KZh4BlC,CAAA,CAAA,CAAA,CAAA,EAAA,GYg4B2C,OZh4B3C,CAAA,IAAA,CAAA;EACA,OAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GYk4B8B,OZl4B9B,CAAA;IACA,MAAA,EAAA,MAAA;IAEM,IAAA,EY43BqC,iBAAA,CAAA,QZ53BrC;EAEE,CAAA,CAAA;EAtCyB,OAAA,EAAA,CAAA;IAAA,MAAA;IAAA,MAAA;IAAA,SAAA;GAAA,EAAA;IAAK,MAAA,EAAA,MAAA;YY86B5B;;QAET;IX/8BY,MAAA,EAAA,MAAA;IAgBN,GAAA,SAAA;EAiBK,CAAA,CAAA;EAmBF,UAAA,EAAA,CAAA;IAAA,KAAA;IAAA,MAAA;IAAA,OAAA;IAAA;EA0EK,CA1EL,EAAA;IAmBkB,KAAA,EAAA,MAAA;IAAlB,MAAA,EAAA,MAAA;IAmBH,OAAA,EAAA,OAAA;IAmBE,WAAA,CAAA,EAAA,kBAAA,GAAA,0BAAA;EAiBM,CAAA,EAAA,GWo2Bd,OXp2Bc,CWo2Bd,OXp2Bc,CAAA;EAiBP,SAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GWy1BuB,OXz1BvB,CWy1BuB,OXz1BvB,CAAA;EAmBO,UAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GW00BiB,OX10BjB,CW00BiB,OX10BjB,CAAA;EAsBsB;;;;;;ACxOzC;;;;ACQA;AAMA;;;;AChBA;;;;ACAA;;;qCOwjCwC;INxjCvB,UAAA,EAAA;;YM8hCmB,iBAAA,CAAA;;IL1hCnB,CAAA,EAAA;;;;ACqBjB;;;;;;;;;;AC0CA;;;;;;;;;;;;;;;;;;;;ACrDA;kDE4lCc,gCDnmCF;;;EAAA,CAAA,EAAA,GCumCL,ODvmCK,CAAA;IAEA,MAAA,EAAA,MAAA;IAEA,GAAA,SAAA;EAeC,CAAA,CAAA;EAKc,YAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GCimCW,ODjmCX,CCimCW,ODjmCX,CAAA;EACP,mBAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,GCqmCsB,ODrmCtB,CCqmCsB,aDrmCtB,CAAA;EACE,iBAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GCsmCe,ODtmCf,CCsmCe,aDtmCf,CAAA;EAMiC,aAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,GCimCzB,ODjmCyB,CCimCzB,aDjmCyB,CAAA;EAAR,cAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EA4CG,kBAAA,EAAA,GAAA,GAAA,IAAA;EAAR,QAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,OAAA;EA2DC,oBAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,GAAA,OAAA;EAAR,2BAAA,EAAA,GAAA,GAAA,MAAA;EA6EK,iCAAA,EAAA,GAAA,GAAA;IAOL,MAAA,EAAA,MAAA;IAAa,IAAA,EAAA,MAAA;;;2BCs6BlB;EApkClB,mBAAA,EAAA,GAAA,mBAgCC;EAWD,mBAAA,EAAA,GAAA,sBAAuB;EAuBhB,aAAA,EAAA,GAAA,GAAA;IAGA,OAAA,SAAA,sBAAA;IAGD,MAAA,gBAAA;IAGI,QAAA,qBAAA;EAGJ,CAAA;EAGJ,oBAAA,EAAA,GAAA,oBAAA;EAGA,4BAAA,EAAA,GAAA,4BAAA;EAGG,iBAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,EAAA,GAggCqB,OAhgCrB,CAAA,IAAA,CAAA;EAGe,4BAAA,EAAA,GAAA,UAAA,CAAA;IAAlB,WAAA,EAAA,OAAA;IAGJ,SAAA,EAAA,MAAA;IAG+B,uBAAA,EAAA,MAAA;IAAnB,kBAAA,EAAA,MAAA;EAMF,CAAA,CAAA;EAGM,YAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAAA;EAGP,qBAAA,EAAA,CAAA,OAAA,EA4/BkB,uBA5/BlB,CA4/B0C,aA5/B1C,CAAA,EAAA,GAAA;IAGC,KAAA,EAAA,OAAA;IAGR,MAAA,EAAA,MAAA,EAAA;IA6BH,QAAA,EAAA,MAAA,EAAA;EAAU,CAAA;EASN,0BAAA,EAAA,CAAA,OAWZ,EA08Bc,uBAr9B8B,CAq9BN,aA18BtC,CAAA,EAAA,GA08BkD,OA18BlD,CAAA;IAuHe,KAAA,EAAA,OAAA;IACL,MAAA,EAAA,MAAA,EAAA;IACT,QAAA,EAAA,MAAA,EAAA;IACA,YAAA,uBAAA;EACA,CAAA,CAAA;EACA,eAAA,EAAA,GAAA,GAoDkC,OApDlC,CAoD0C,qBApD1C,CAAA;CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHG,KAmxBO,gBAAA,GAAmB,UAnxB1B,CAAA,OAmxB4C,sBAnxB5C,CAAA;;;;;;;iBC/cW,4BAAA,CAAA,GAAgC;;;KCJpC,qBAAqB;;SAGpB;;;SAIA;;ErCTI,IAAA,EAAA,WAAa;;;;;;;UsCKb;;QAET;;EtCPS,QAAA,EAAA,MAAa;;;SsCYrB;ErCJQ,MAAA,EqCKP,YrCLO,GAAiB,IAAA;EA4DrB,KAAA,EAAA,MAAA,GAAW,IAAA;;;;UsCjEP,iBAAA;;;;cAIH;;AvCPd;;;;ECQiB;AA4DjB;;;;;;;;;AChEA;EAKiB,eAAA,CAAA,EAAe,CAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAMf;;;;ACRjB;AAOA;AAiBA;AAyBA;;;;;;;AA8BA;AAsBA;AAoBA;AAoBA;AAoBA;EAEU,cAAA,CAAA,EAAA,CAAA,OAAA,EoClHmB,WpCkHnB,EAAA,EAAA,GAAA,IAAA;EAqBG;;;AAOb;;;;;;;;;;;;ACvLA;EAwBY,SAAA,CAAA,EAAA,CAAA,OAAW,EmCmCC,WnCnCD,EAAA,EAAA,GAAA,IAAA;EA2CP;;;oBmCHI;ElC1ER;AAEZ;AAkDA;;;;ACzDA;EAWY,aAAA,CAAA,EAAA,CAAA,KAAkB,EiC8EJ,KjC9EI,EAAA,YAIlB,EAAA,MAAM,EAAA,GAAA,OAAA;AAgClB;;;;;;;;;;;AN/CA;;;;ACQA;AA4DA;;;;;;;;;AChEA;AAKA;AAMA;;;;ACRA;AAOA;AAiBA;AAyBA;;;;;;;AA8BA;AAsBA;AAoBA;AAoBA;AAoBA;;;;;AA8BA;;;;;;;;;;;;ACvLA;AAwBA;AA2CA;;;;AC7EA;AAEA;AAkDA;;;;ACzDA;AAWA;AAoCA;AAOyB,KkCqBb,UAAA,GAAa,MlCrBA,CAAA,MAAA,EAAA,OAAA,CAAA;;;;AAuBzB;AAsBA;;;;ACtFA;;;;;;;;AAAsD,KiCgF1C,eAAA,GjChF0C,OAAA;;;;ACLtD;;;;;;UgCgGiB,kBAAA;cACH;;I/BnGF,IAAA,EAAA,MAAa;IA2BZ,IAAA,CAAA,EAAA,MAAA;EAQO,CAAA,CAAA;EACI,MAAA,EAAA,OAAA;;;;UgCvCP;;;;cAIH;;AzCPd;;;;ACQA;AA4DA;EAWsB,cAAA,CAAA,EAAA,CAAA,IAAA,EwC9DI,cxC8DJ,CwC9DmB,axC8DnB,CAAA,EAAA,GAAA,IAAA;EAgCT;;;EAmCW,aAAA,CAAA,EAAA,CAAA,IAAA,EwC5HC,cxC4HD,CwC5HgB,axC4HhB,CAAA,EAAA,GAAA,IAAA;;;;EC9IP,WAAA,CAAA,EAAA,CAAA,IAAA,EuCuBM,cvCtBJ,CuCsBmB,avCtBnB,CAAA,EAAe,KAAA,EuCsByB,KvCtBzB,EAAA,GAAA,IAAA;EAIjB;AAMjB;;uBuCiBuB,eAAe;;AtCzBtC;AAOA;EAiBiB,aAAA,CAAA,EAAA,CAAA,KAAkB,EsCMT,KtCNS,EAAA,YAWxB,EAAA,MAAA,EAAA,GAAA,OAAe;AAc1B;;;UuCtDiB;SACR,eAAe;;;;;;;;UCDP,aAAA;;;;aAIJ;;;A3CNb;;;;ACQA;EA4Da,UAAA,CAAA,EAAA,MAAW;EAWF;;;;;;;;EC3EL;AAKjB;AAMA;;;;ACRA;EAOiB,eAAW,CAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAiBX;AAyBjB;;;;EAoByB,SAAA,CAAA,EAAA,CAAA,MAAA,EwC3BF,YxC2BE,EAAA,GAAA,IAAA;EAAR;;AAUjB;AAsBA;AAoBA;EAoBiB,OAAA,CAAA,EAAA,CAAA,KAAS,EwC5FN,KxC4FM,EAAA,GAAA,IAAA;EAoBT;;;EAAkC,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAiB;AA8BpE;;;;;;EAwBW,aAAA,CAAA,EAAA,CAAA,KAAA,EwCxJe,KxCwJf,EAAA,YAAA,EAAA,MAAA,EAAA,GAAA,OAAA;;;;;;;;AH9NX;;;;ACQA;AA4DA;;;;;;;;;AChEA;AAKA;AAMA;;;;ACRA;AAOA;AAiBA;AAyBA;;;AAiBU,UyCtCO,aAAA,CzCsCP;EAGe;;;AAUzB;AAsBA;AAoBA;AAoBA;AAoBA;;;;;AA8BA;;;EAIsD,WAAA,EAAA,GAAA,GyCvJjC,mBzCuJiC;EAKtC;;;;;;;;AChMhB;AAwBA;AA2CA;;;;AC7EA;AAEA;AAkDA;;;;ICzDa,OAAA,EsCyEA,OtCzEe,CsCyEP,oBtCzEO,CAAA;IAWhB;IAoCA,MAAA,EsC4BA,YtC5BgB,EAAA;IAOH;IAA6B,QAAA,EsCuBxC,mBtCvBwC;EAAR,CAAA;EAAO;AAuBrD;AAsBA;;;;ACtFA;;;;;;;;;2BqCkF2B;;;ApCvF3B;;;;;;;;;ACFA;AA2BA;;;;EAoBsB,mBAAA,EAAA,GAAA,GmC4DO,gBnC5DP;EAmHT;;;;;;;;AC5Jb;;;;;;;;;;;;;;;;AVZA;;;;ACQA;AA4DA;;;;;;;;;AChEA;AAKA;AAMA;;;;ACRA;AAOA;AAiBA;AAyBA;;;;;;;AA8BA;AAsBA;AAoBA;AAoBA;AAoBiB,K0C7HL,Y1C6HK,CAAA,U0C7HkB,Y1C6HQ,CAAA,GAAA;EAEjC;EAqBG,IAAA,EAAA,SAAA;EAvBsC;EAAiB,KAAA,E0CxHvD,O1CwHuD;AA8BpE,CAAA,GAAiB;EAIgB;EAA6B,IAAA,EAAA,OAAA;EAAR;EAKtC,KAAA,E0CzJH,K1CyJG;CAKQ,GAAA;EAUb;EAK0B,IAAA,EAAA,WAAA;CAAO;;;;;;U2ChO3B,YAAA;;;;;A9CHjB;;K8CWY,6BAA6B,wBAAwB;;A7CHjE;AA4DA;AAWsB,K6C/DV,mBAAA,G7C+DU,GAAA,GAAA,IAAA;;;;AAmEE,U6C7HP,W7C6HO,CAAA,I6C7HS,Y7C6HT,CAAA,CAAA;;;;AC9IxB;EAKiB,SAAA,CAAA,OAAA,E4CiBI,wB5CjBW,C4CiBc,C5CjBd,CAAA,CAAA,E4CiBmB,mB5CjBnB;AAMhC;;;;ACRY,U2CyBK,kBAAA,C3CzBkB;EAOlB;AAiBjB;AAyBA;EAQW,SAAA,CAAA,EAAA,MAAA;EAMD;;;;EAMc,QAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAUP;AAsBjB;AAoBA;AAoBA;EAoBiB,YAAA,CAAA,EAAA,CAAA,KAAA,E2CxHQ,Y3CwHkB,EAAA,GAAA,OAAA;;;;;AA8B3C;;;;;;;;;;;;ACvLA;AAwBA;AA2CA;;;;AC7EA;AAEA;AAkDA;;;;ACzDA;AAWA;AAoCA;;;;;AA8BA;AAsBA;;;;ACtFA;;;;;;;AAAuC,cuC6F1B,wBvC7F0B,CAAA,UuC6FS,YvC7FT,GuC6FwB,YvC7FxB,CAAA,CAAA;EAAe,iBAAA,WAAA;;;;ACLtD;;;EAaK,WAAA,CAAA,WAAA,EsC6FuC,WtC7FvC,CsC6FmD,CtC7FnD,CAAA;EAb8B;;;;;ACFnC;AA2BA;;;;;;;;;;;;qBqCsGa,yBAAyB,aACzB,qBACR;EpC7HO;;;;;;;;ECPK;AAuBjB;AA6BA;AAuBA;AAoEA;EAUsB,oBAAA,CAAA,CAAA,EAAA,MAAA;EAqBF;;;;;;;ACnLpB;;;;ACIA;AAYA;AAUA;;;;;AAOA;;;;ACjCA;;;;ACGA;;;;ACCA;AAOA;AAgBA;;;;AChBA;AAOA;;;;ACfA;;;;EAmBqB,oBAAA,CAAA,WAAA,EAAA,MAAA,GAAA,IAAA,CAAA,EAAA,IAAA;;;;;;;;K6BZT,gBAAA;A/CVZ;;;;ACQiB,U8CcA,eAAA,C9CdiB;EA4DrB;EAWS,MAAA,E8CvDZ,gB9CuDY;EAgCT;EAAa,QAAA,EAAA,MAAA;EAmCf;EAAa,aAAA,EAAA,MAAA;;;;EC9IP,KAAA,E6C4BR,K7C5BQ,GAAA,IAAA;EAKA;EAMA,KAAA,EAAA,MAAA,GAAA,IAAA;;;;ECRL,eAAW,EAAA,MAAA,GAAY,IAAA;EAOlB;EAiBA,eAAA,EAAA,MAAkB,GAAA,IAAA;EAyBlB;;;;;EAoBA,WAAA,E4C9BF,W5C8BE,EAAA,GAAA,IAAA;;AAUjB;AAsBA;AAoBA;AAoBiB,U4ChGA,mBAAA,C5CgGS;EAoBT;EAEP,MAAA,EAAA,MAAA;EAqBG;EAvBsC,IAAA,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA;EAAiB;EA8BnD,MAAA,EAAA,SAAU,GAAA,WAAA,GAAA,UAAA,GAAA,OAAA;EAIM;EAA6B,QAAA,EAAA,MAAA;EAAR;EAKtC,aAAA,EAAA,MAAA;EAKQ;EAUb,UAAA,EAAA,MAAA,GAAA,IAAA;EAK0B;EAAO,KAAA,E4CjKnC,K5CiKmC,GAAA,IAAA;;mB4C/JzB;;A3CrDnB;AAwBA;AA2CA;U2CRiB,oBAAA;;;A1CrEjB;EAEiB,aAAA,EAAA,CAAA,KAAe,E0CuEP,e1CnEuC,EAK3C,GAAA,IAAO;EAyCN;;;;ACzDtB;AAWA;EAoCY,UAAA,CAAA,EAAA,CAAA,QAAgB,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAOH;;;;AAuBzB;AAsBA;;;;ACtFA;;;;;;;;;;;;ACLA;EAYa,cAAA,CAAA,EAAA,CAAA,OAAA,EuCmGgB,WvCnGhB,EAAA,EAAA,GAAA,IAAA;EACA;;;;;;;ACfb;AA2BA;;;;;;;EAyIK,SAAA,CAAA,EAAA,CAAA,OAAA,EsClCmB,WtCkCnB,EAAA,EAAA,GAAA,IAAA;EAzI2C;;;;oBsC6G5B;ErClIR;;;EAGR,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;;;;ACVJ;AAuBA;AA6BA;AAuBA;AAoEA;;;AAuGuB,KoC3FX,eAAA,GpC2FW,OAAA;;;;UoCtFN,UAAA;;EnCrKA,SAAA,EAAA,MAAA;;amCyKJ;;AlCrKb;AAYA;AAUA;AAIkB,UkCiJD,yBAAA,ClCjJC;EAAyC,KAAA,EAAA,GAAA,GAAA,IAAA,GkCkJrC,OlClJqC,CAAA,IAAA,CAAA;EAAR,KAAA,EAAA,GAAA,GAAA,IAAA,GkCmJ7B,OlCnJ6B,CAAA,IAAA,CAAA;;AAGnD;;;;ACjCiB,UiCwLA,yBAAA,CjCxLkB;;;;ECGlB,SAAA,CAAA,EAAA,CAAA,MAAA,EgCiMM,UhCjMa,EAAA,GAAA,IAAA;oBgCkMhB;;0BAEM;A/BnM1B;AAOA;AAgBA;;;;AChBA;AAOA;K8B+LY,4BAA4B,2BAC/B,oBACK,qBACH,8BACN,QAAQ;;;A7BlNb;AAIwB,U6BmNP,mBAAA,C7BnNO;EAKe;;;;;;;;;;ACVvC;AASA;;;;;;;yC4ByOyC;;;;;;;;;;;;;;;A3BjNzC;;;;;;;;;;;AAyHA;;;K2BsHY,4BAAA,YACF,qCACI,qBACH,iDACa,wBACnB,QAAQ;A1BvPb;;;;AC+BA;AAUA;AAaA;AAiDA;;;;;;;;;;;;;;;;;;;;;;AAkHiC,cyB6EpB,WzB7EoB,CAAA,SyB6EC,ezB7ED,CAAA,CAAA;EAWU,iBAAA,YAAA;EAAR,iBAAA,SAAA;EAQkB,iBAAA,OAAA;EAAR,iBAAA,kBAAA;EAQG,QAAA,KAAA;EAAR,QAAA,eAAA;EAOjB,QAAA,WAAA;EAOO;EAOQ,QAAA,wBAAA;EAUG;;;;AA4EzC;;;;EAOI,WAAA,CAAA,YAAA,EyBhD+B,kBzBgD/B,CyBhDkD,MzBgDlD,CAAA,EAAA,SAAA,EyB/C4B,oBzB+C5B,EAAA,OAAA,EyB9C0B,iBzB8C1B,EAAA,kBAAA,CAAA,EyB7CsC,4BzB6CtC,GAAA,SAAA;EAEY;;;EAGM,QAAA,CAAA,CAAA,EyB1CR,ezB0CQ;EAEnB;;;;;ACtXH;AA0DA;EAIQ,eAAA,CAAA,CAAA,EAAA,OAAA;EAUC;;;EAmBL,YAAA,CAAA,CAAA,EAAA,OAAA;EACA;;;EAlCiC,QAAA,CAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAK;;;;EC/BzB;;;;;;EA0FN,eAAA,CAAA,KAAA,EuBqQc,SvBrQd,CAAA,EAAA,IAAA;EAmBE;;;;;;;;;;AC7Jb;;;;ACQA;AAMA;;;;AChBA;;;;ACAA;;;;ACAA;gBkBmkBsB,SAAS;;;AjB/jB/B;;;;ACqBA;EACe,KAAA,CAAA,CAAA,EAAA,IAAA;EAMS;;;EAIN,KAAA,CAAA,CAAA,EAAA,IAAA;EAAa;;;;EC+BT,QAAK,iBAAA;EACzB;;;;;;;;;;;;;;;;;;;ECtDU,WAAA,CAAA,MAAA,EcqyBgB,MdryBI,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EcqyBsB,OdryBtB,CAAA,IAAA,CAAA;;;;ACPhC;EAEY,cAAA,CAAA,CAAA,Eaq8BQ,Wbr8BR,CAAA,MAA+B,Eaq8BH,mBbr8Bc,CAAA;EAE1C;AAeZ;;EAMoB,OAAA,CAAA,CAAA,EAAA,IAAA;;;;;;;Kc1BR,YAAA;;;AhDNZ;UgDgBiB,WAAA;;UAEP;E/CVO;EA4DJ,QAAA,EAAA,MAAW;EAWF;EAgCT,aAAA,EAAA,MAAA;EAAa;EAmCf,UAAA,EAAA,MAAA,GAAA,IAAA;EAAa;S+CxHf;;UAEC;A9CxBV;AAKA;AAMA;;U8CmBiB,sBAAA;;A7C3BjB;AAOA;EAiBiB,aAAA,EAAA,CAAA,KAAkB,E6COV,W7CFb,EAAA,GAAA,IAMD;EAcM;;;;;;EAoBO,UAAA,CAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAUP;AAsBjB;AAoBA;AAoBA;AAoBA;;EAuBa,eAAA,CAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAvBsC;;AA8BnD;;EAI8D,SAAA,CAAA,EAAA,CAAA,MAAA,E6CtIvC,U7CsIuC,EAAA,GAAA,IAAA;EAAR;;;;EAyBjB,OAAA,CAAA,EAAA,CAAA,KAAA,E6CzJjB,K7CyJiB,EAAA,GAAA,IAAA;EAAO;;;;ACpN5C;AAwBA;AA2CA;;K4CGY,WAAA;;A3ChFZ;AAEA;AAkDsB,U2CiCL,qBAAA,C3ChCE;;;;AC1DnB;AAWA;AAoCA;AAOyB,K0C4Cb,c1C5Ca,CAAA,S0C6Cd,W1C7Cc,EAAA,iB0C8CN,a1C9CM,G0C8CU,a1C9CV,CAAA,GAAA,CAAA,KAAA,E0C+Cb,M1C/Ca,EAAA,OAAA,E0C+CI,Q1C/CJ,EAAA,G0C+CiB,O1C/CjB,C0C+CyB,qB1C/CzB,CAAA;;;;AAuBzB;AAsBA;;;;ACtFA;;;;;;;;;;;;ACLa,cwC+HA,axC/Hc,CAAA,SwCgIhB,WxChIgB,EAAA,iBwCiIR,axCjIQ,GwCiIQ,axCjIR,CAAA,CAAA;EAYd,iBAAA,QAAA;EACA,iBAAA,SAAA;EAAR,iBAAA,OAAA;EAb8B,QAAA,KAAA;EAAe,QAAA,eAAA;;;;ACFlD;AA2BA;;;;;EAuIa,WAAA,CAAA,QAAA,EuChBkB,cvCgBlB,CuChBiC,MvCgBjC,EuChByC,QvCgBzC,CAAA,EAAA,SAAA,EuCfmB,sBvCenB,EAAA,OAAA,CAAA,EuCdkB,QvCclB,GAAA,SAAA;EAEA;;;EAzIkD,QAAA,CAAA,CAAA,EuCiIjD,WvCjIiD;;;;ECrBnD,WAAA,CAAA,CAAA,EAAW,OAAA;EACnB;;;EAEa,QAAA,CAAA,CAAA,EAAA,OAAA;;;;ECVA,QAAA,WAAgB;EAuBhB;AA6BjB;AAuBA;AAoEA;;EA+BoB,MAAA,CAAA,KAAA,EqCiBE,MrCjBF,CAAA,EqCiBW,OrCjBX,CAAA,IAAA,CAAA;EAwEG;;;;;;AC3PvB;;;;ACIA;EAYiB,KAAA,CAAA,CAAA,EAAA,IAAU;EAUV;;;EAIkC,OAAA,CAAA,CAAA,EAAA,IAAA"}
|
|
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/managers/event-subscription-manager.ts","../src/types/flow-upload-options.ts","../src/managers/flow-manager.ts","../src/types/upload-options.ts","../src/managers/upload-manager.ts","../src/storage/in-memory-storage-service.ts","../src/types/flow-inputs.ts","../src/types/flow-result.ts","../src/types/flow-upload-item.ts","../src/types/multi-flow-upload-options.ts","../src/types/multi-flow-upload-state.ts","../src/types/upload-metrics.ts","../src/types/upload-result.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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";import{EventType as i}from"@uploadista/core/flow";var a=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}},o=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}},s=class{constructor(e){this.type=e}getType(){return this.type}},c=class extends s{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)}}},l=class extends s{constructor(){super(`no-auth`)}async attachCredentials(e={}){return e}clearToken(e){}clearAllTokens(){}},u=class extends s{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 d=()=>{};function f(e,t=d){return{log:n=>{e&&t(n)},warn:n=>{e&&t(n)},error:n=>{e&&t(n)}}}var p=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 m={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 h=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 g={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}},_={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 v=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;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))}}};const y=/^https?:\/\/.+/i;function b(e){return x(e)?`file`:typeof e==`string`&&y.test(e)?`url`:`data`}function x(e){if(typeof e!=`object`||!e)return!1;if(typeof globalThis<`u`&&(globalThis.File&&e instanceof globalThis.File||globalThis.Blob&&e instanceof globalThis.Blob))return!0;let t=e;return(`name`in t||`type`in t||`size`in t)&&(typeof t.size==`number`||t.size===void 0)}var S=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 C(t){return Object.entries(t).map(([t,n])=>`${t} ${e.encode(String(n))}`).join(`,`)}function w(e,t){return e>=t&&e<t+100}function T(e,{uploadLengthDeferred:t,uploadSize:n}){if(t)return null;if(n!=null)return n;let r=e;if(r==null)throw new S({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 E(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 D({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 v=n+g;if(!r&&h&&v!==t.size)throw new S({name:`WRONG_UPLOAD_SIZE`,message:`upload was configured with a size of ${m} bytes, but the source is done after ${v} bytes`});let y=await s.uploadChunk(e,p,{onProgress:(t,n)=>{a?.(e,t,n)},abortController:i}),b=Date.now()-_,x=y.status>=200&&y.status<300;return o.recordChunkResult(g,b,x),c.log(`Chunk upload ${x?`succeeded`:`failed`}: ${g} bytes in ${b}ms (${d.strategy} strategy)`),y}function O(e,t,n,r,i){return r==null||n>=r.length||!t.isNetworkError()?!1:i?i(t,n):k(e,t)}function k(e,t){let n=t.status??0;return(!w(n,400)||n===409||n===423)&&e.isOnline()}async function A({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 S({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(!w(m,200)||!g){let e=new S({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,v=await n.getJobStatus(g);for(;v.status!==`paused`&&_<60;)await new Promise(e=>i.setTimeout(e,500)),v=await n.getJobStatus(g),_++;if(v.status!==`paused`){let e=new S({name:`FLOW_TIMEOUT`,message:`Flow did not pause after init (status: ${v.status})`});throw s.onError?.(e),e}let y=v.tasks.find(e=>e.nodeId===f)?.result;if(!y?.id){let e=new S({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: ${y.id}`),s.onStart?.({uploadId:y.id,size:e.size??null}),{jobId:g,uploadFile:y,inputNodeId:f}}async function j({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,v=c.getNextChunkSize(g).size,y=Math.min(r+v,i.size??0),b=await i.slice(r,y);if(!b||!b.value)throw new S({name:`NETWORK_ERROR`,message:`Failed to read chunk from file`});let x=b.value,C=Date.now(),w=await l.uploadChunk(t.id,x,{abortController:o}),T=Date.now()-C;if(!w.upload)throw new S({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/v);f.recordChunk({chunkIndex:e,size:v,duration:T,speed:v/(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 S({name:`FLOW_FINALIZE_FAILED`,message:`Failed to finalize flow upload for job ${e}`,cause:t});throw h.onError?.(n),n}return}await j({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(v){if(s!=null)if(r!=null&&_>g&&(a=0),O(p,v instanceof S?v:new S({name:`NETWORK_ERROR`,message:`Network error during flow upload`,cause:v}),a,s,h.onShouldRetry)){let _=s[a];g=r;let v=p.setTimeout(async()=>{await j({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 S({name:`UPLOAD_CHUNK_FAILED`,message:`Failed to upload chunk for job ${e} at offset ${r}`,cause:v})}}async function M(e){let{nodeId:t,jobId:n,source:r,storageId:i,metadata:a={},uploadistaApi:o,logger:s,platformService:c,callbacks:l}=e,u={originalName:r.name??`unknown`,mimeType:r.type??`application/octet-stream`,size:r.size??0,...a};s.log(`Initializing input node ${t} for job ${n}`),await o.resumeFlow(n,t,{operation:`init`,storageId:i,metadata:u},{contentType:`application/json`}),s.log(`Waiting for upload ID from node ${t}`);let d=0,f=await o.getJobStatus(n);for(;d<60;){let e=f.tasks.find(e=>e.nodeId===t);if(e?.status===`paused`&&e.result&&e.result.id){let n=e.result;return s.log(`Upload ID received for node ${t}: ${n.id}`),l?.onStart?.({uploadId:n.id,size:r.size??null}),{uploadFile:n,nodeId:t}}if(e?.status===`failed`){let e=new S({name:`FLOW_INIT_FAILED`,message:`Input node ${t} failed during initialization`});throw l?.onError?.(e),e}await new Promise(e=>c.setTimeout(e,500)),f=await o.getJobStatus(n),d++}let p=new S({name:`FLOW_TIMEOUT`,message:`Input node ${t} did not return upload ID after init`});throw l?.onError?.(p),p}async function N(e){let{nodeId:t,jobId:n,uploadFile:r,source:i,offset:a=0,abortController:o,retryDelays:s,smartChunker:c,uploadistaApi:l,logger:u,smartChunking:d,metrics:f,platformService:p,onRetry:m,callbacks:h}=e,g=e.retryAttempt??0,_=a,v=a;try{let n=i.size?i.size-a:void 0,s=c.getNextChunkSize(n).size,p=Math.min(a+s,i.size??0),m=await i.slice(a,p);if(!m||!m.value)throw new S({name:`NETWORK_ERROR`,message:`Failed to read chunk from file for node ${t}`});let _=m.value,y=Date.now(),b=await l.uploadChunk(r.id,_,{abortController:o}),x=Date.now()-y;if(!b.upload)throw new S({name:`UPLOAD_CHUNK_FAILED`,message:`Upload chunk response missing upload data for node ${t}`});if(v=b.upload.offset,h?.onProgress?.(r.id,v,i.size??0),h?.onChunkComplete?.(v-a,a,i.size??0),d?.enabled!==!1){let e=Math.floor(a/s);f.recordChunk({chunkIndex:e,size:s,duration:x,speed:s/(x/1e3),success:!0,retryCount:g,networkCondition:c.getLastDecision()?.networkCondition?.type,chunkingStrategy:c.getLastDecision()?.strategy});let t=l.getConnectionMetrics();c.updateConnectionMetrics(t)}if(v>=(i.size??0)){if(i.close(),d?.enabled!==!1){let e=f.endSession();e&&u.log(`Upload completed for node ${t}: ${e.totalSize} bytes in ${e.totalDuration}ms, avg speed: ${Math.round(e.averageSpeed/1024)}KB/s`)}return}await N({...e,offset:v,retryAttempt:0})}catch(n){if(s!=null)if(v>_&&(g=0),O(p,n instanceof S?n:new S({name:`NETWORK_ERROR`,message:`Network error during upload for node ${t}`,cause:n}),g,s,h?.onShouldRetry)){let t=s[g];_=a;let n=p.setTimeout(async()=>{await N({...e,offset:a,retryAttempt:g+1})},t);m?.(n)}else throw new S({name:`UPLOAD_CHUNK_FAILED`,message:`Failed to upload chunk for node ${t} at offset ${a}`,cause:n});else throw n}}async function ee(e){let{nodeId:t,jobId:n,uploadId:r,uploadistaApi:i,logger:a,callbacks:o}=e;a.log(`Finalizing input node ${t} for job ${n}`);try{await i.resumeFlow(n,t,{operation:`finalize`,uploadId:r},{contentType:`application/json`}),a.log(`Input node ${t} finalized successfully`)}catch(e){let r=new S({name:`FLOW_FINALIZE_FAILED`,message:`Failed to finalize input node ${t} for job ${n}`,cause:e});throw o?.onError?.(r),r}}async function te(e,t){return e.findUploadsByFingerprint(t)}function ne(e){return{uploadId:e.uploadId??null,parallelUploadUrls:e.parallelUploadUrls,clientStorageKey:e.clientStorageKey}}async function P({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 F(e,t){t&&await e.removeUpload(t)}async function I({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 D({uploadId:e,source:n,offset:t,uploadLengthDeferred:r,onProgress:m.onProgress,abortController:a,smartChunker:s,uploadistaApi:c,logger:l});if(!w(h.status,200)||h.upload==null)throw new S({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 I({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),O(f,_ instanceof S?_:new S({name:`NETWORK_ERROR`,message:`Network error`,cause:_}),i,o,m.onShouldRetry)){let g=o[i];h=t;let _=f.setTimeout(async()=>{await I({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 S({name:`UPLOAD_CHUNK_FAILED`,message:`failed to upload chunk for ${e} at offset ${t}`,cause:_})}}async function L({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 S({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 v={uploadLengthDeferred:r,storageId:t,size:n.size??0,metadata:i?C(i):void 0,fileName:n.name??void 0,type:n.type??``,lastModified:n.lastModified??void 0,checksum:_,checksumAlgorithm:_?m:void 0},{upload:y,status:b}=await a.createUpload(v);if(!w(b,200)||y==null){let e=new S({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while creating upload`});throw g.onError?.(e),e}if(o.log(`Created upload ${y.id}`),d(y.id),y.size===0){g.onSuccess?.(y),n&&n.close(),f(y.id);return}let x=await P({clientStorage:c,fingerprint:e,size:y.size??0,metadata:y.metadata??{},clientStorageKey:null,storeFingerprintForResuming:u,generateId:l});return g.onStart?.({uploadId:y.id,size:y.size??null}),{uploadIdStorageKey:x,uploadId:y.id,offset:y.offset}}async function R({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(!w(g,200)){if(g===423){let e=new S({name:`UPLOAD_LOCKED`,message:`upload is currently locked; retry later`});throw m.onError?.(e),e}return w(g,400)&&await F(u,n),await L({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 S({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while resuming upload`});throw m.onError?.(e),e}if(await P({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 re({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 R({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 L({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 ie({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:v,abortControllerFactory:y,platformService:b,...x}){if(!e.size||e.size===0){x.onError?.(new S({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:`Parallel upload requires a known file size`}));return}let C=E(e.size,i,a);l.log(`Starting parallel upload with ${C.length} segments`);let w={segments:[],totalProgress:0,completed:!1,failed:!1},T=new Map,D=new Map,O=()=>{let e=Array.from(D.values()).reduce((e,t)=>e+t,0),t=Array.from(T.values()).reduce((e,t)=>e+t,0);w.totalProgress=e>0?t/e:0,x.onProgress&&e>0&&x.onProgress(`parallel-upload`,t,e)};try{let i=await Promise.all(C.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 L({fingerprint:`${n}-segment-${i.segmentIndex}`,storageId:t,source:a,uploadLengthDeferred:r,platformService:b,metadata:{parallelUpload:`true`,segmentIndex:i.segmentIndex.toString(),totalSegments:C.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 S({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:y.create(),retryTimeout:null},source:a}}));w.segments=i.map(e=>e.segment),x.onStart?.({uploadId:`parallel-${w.segments.map(e=>e.uploadId).join(`,`)}`,size:e.size});let a=i.map(async({segment:e,source:t})=>{try{await I({uploadId:e.uploadId,offset:e.offset,source:t,uploadLengthDeferred:r,abortController:e.abortController,retryDelays:o,smartChunker:s,uploadistaApi:c,platformService:b,logger:l,smartChunking:d,metrics:f,onProgress:(t,n,r)=>{T.set(e.segmentIndex,n),r&&D.set(e.segmentIndex,r),O()},onChunkComplete:(e,t,n)=>{x.onChunkComplete&&x.onChunkComplete(e,t,n)},onSuccess:t=>{l.log(`Segment ${e.segmentIndex} completed successfully`),T.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 S({name:`PARALLEL_SEGMENT_UPLOAD_FAILED`,message:`Segment ${e.segmentIndex} upload failed`,cause:t})}});if(await Promise.all(a),w.completed=!0,l.log(`All parallel upload segments completed successfully`),x.onSuccess){let r={id:`parallel-${w.segments.map(e=>e.uploadId).join(`,`)}`,offset:e.size,size:e.size,storage:{id:t,type:`parallel-upload`},metadata:{parallelUpload:`true`,totalSegments:C.length.toString(),fingerprint:n}};x.onSuccess(r)}for(let e of i)e.source.close?.();return{parallelState:w,abort:async()=>{await z(w,l,v,_,b)}}}catch(e){throw w.failed=!0,w.error=e,await z(w,l,v,_,b),x.onError?.(e),e}}async function z(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 B(e,t){return new Promise(n=>e.setTimeout(n,t))}async function V(e,t,n,r,i=0){try{if((await t.deleteUpload(e)).status===204)return;throw new S({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while terminating upload`})}catch(a){if(!O(n,a,i,r))throw a;return await B(n,r?.[i]??0),await V(e,t,n,r,i+1)}}async function H({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 V(e,a,o,s),t!=null))return F(c,t)}var U=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 W(e){return new t(e.getCapabilities(),t=>e.validateUploadStrategy(t))}function ae({capabilities:e,fileSize:t,chunkSize:n,parallelUploads:r,uploadLengthDeferred:i,strategyConfig:a,logger:o}){if(a?.enableCapabilityNegotiation!==!1){let i=W(new p(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 G(e,t=m,n){let r=[],i=[],a=W(new p(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 oe(e,t){let n=G(e,m,t);if(!n.valid){let e=`Upload client configuration validation failed: ${n.errors.join(`, `)}`;throw t.log(e),new S({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:e})}}const K=(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 q(e,t,{httpClient:n,logger:r,authManager:i,webSocketFactory:a}){let s=i?new o(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`,p=`${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=K(n.code,`UPLOAD_NOT_FOUND`),i=n.error||n.message||`Upload ${e} not found`;throw new S({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=K(n.code,`DELETE_UPLOAD_FAILED`),i=n.error||n.message||`Failed to delete upload ${e}`;throw new S({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=K(e.code,`CREATE_UPLOAD_FAILED`),r=e.error||e.message||`Failed to create upload`;throw new S({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 S({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 S?e:new S({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=K(n.code,`FLOW_NOT_FOUND`),i=n.error||n.message||`Flow ${e} not found`;throw new S({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=K(t.code,`FLOW_RUN_FAILED`),r=t.error||t.message||`Failed to run flow ${e}`;throw new S({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=K(t.code,`FLOW_RESUMED_FAILED`),r=t.error||t.message||`Failed to resume flow for job ${e}`;throw new S({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=K(n.code,`FLOW_PAUSE_FAILED`),i=n.error||n.message||`Failed to pause flow for job ${e}`;throw new S({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=K(n.code,`FLOW_CANCEL_FAILED`),i=n.error||n.message||`Failed to cancel flow for job ${e}`;throw new S({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=K(n.code,`JOB_NOT_FOUND`),i=n.error||n.message||`Job ${e} not found`;throw new S({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=a.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=`${p}/${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=a.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}`),m)}catch(e){return r?.log(`Failed to fetch server capabilities, using defaults: ${e}`),m}}}}var J=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 Y={maxConnectionsPerHost:8,connectionTimeout:2e4,keepAliveTimeout:9e4,enableHttp2:!0,retryOnConnectionError:!0};function X({baseUrl:e,uploadistaBasePath:t=`uploadista`,storageId:n,retryDelays:r=[1e3,3e3,5e3],chunkSize:i,parallelUploads:a=1,parallelChunkSize:o,uploadStrategy:s,smartChunking:d,networkMonitoring:p,uploadMetrics:g,checksumService:_,onEvent:y,generateId:x,httpClient:S,logger:C=f(!0),fileReader:w,fingerprintService:E,clientStorage:D,storeFingerprintForResuming:O=!0,webSocketFactory:k,abortControllerFactory:P,platformService:F,auth:L}){let R=e.replace(/\/$/,``),z=L?L.mode===`direct`?new c(L,F,C):new u(L,S):new l;L&&C.log(`Authentication enabled in ${L.mode} mode${L.mode===`uploadista-cloud`?` (server: ${L.authServerUrl})`:``}`);let B=q(R,t,{logger:C,httpClient:S,authManager:z,webSocketFactory:k}),W=new h(p),K=new U(g),Y=null,X=async()=>Y||(Y=await B.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 v(W,{enabled:!0,...d,fallbackChunkSize:i,datastoreConstraints:t}),C.log(`Smart chunker initialized with datastore constraints: ${JSON.stringify(t)}`),Z},$=new J(B,C,y);return oe({baseUrl:R,storageId:n,chunkSize:i,parallelUploads:a,parallelChunkSize:o,uploadStrategy:s},C),{upload:async(e,{uploadLengthDeferred:c=!1,uploadSize:l,onProgress:u,onChunkComplete:f,onSuccess:p,onShouldRetry:m,onError:h}={})=>{let g=null,v=null,y=await E.computeFingerprint(e,`${R}/${t}/api/upload`);if(C.log(`fingerprint: ${y}`),!y)throw Error(`unable calculate fingerprint for this input file`);let b=await te(D,y);if(b.length>0&&b[0]!=null){let e=ne(b[0]);v=e.clientStorageKey,g=e.uploadId}let S=await w.openFile(e,i),k=T(S.size,{uploadLengthDeferred:c,uploadSize:l});S.size=k;let A=await Q();d?.enabled!==!1&&K.startSession(y,k||0,!0);let j=ae({capabilities:await X(),fileSize:k,chunkSize:i,parallelUploads:a,uploadLengthDeferred:c,strategyConfig:s,logger:C});if(j.strategy===`parallel`){C.log(`Using parallel upload with ${j.parallelUploads} streams`);let e=await ie({checksumService:_,source:S,storageId:n,fingerprint:y,uploadLengthDeferred:c,parallelUploads:j.parallelUploads,parallelChunkSize:o,retryDelays:r,smartChunker:A,uploadistaApi:B,logger:C,smartChunking:d,metrics:K,clientStorage:D,generateId:x,storeFingerprintForResuming:O,abortControllerFactory:P,platformService:F,openWebSocket:e=>($.openUploadWebSocket(e),null),closeWebSocket:e=>$.closeUploadWebSocket(e),terminate:e=>V(e,B,F,r),onProgress:u,onChunkComplete:f,onSuccess:p,onError:h});if(e)return{abort:async()=>{await e.abort()}};C.log(`Parallel upload failed, falling back to single upload`)}let M=await re({source:S,storageId:n,uploadId:g,platformService:F,uploadIdStorageKey:v,checksumService:_,fingerprint:y,uploadLengthDeferred:c,uploadistaApi:B,logger:C,clientStorage:D,generateId:x,storeFingerprintForResuming:O,openWebSocket:e=>($.openUploadWebSocket(e),null),closeWebSocket:e=>$.closeUploadWebSocket(e),onProgress:u,onChunkComplete:f,onSuccess:p,onError:h});if(M){let e=P.create(),{uploadId:t,uploadIdStorageKey:n,offset:i}=M,a=null;return I({platformService:F,uploadId:t,offset:i,source:S,uploadLengthDeferred:c,retryDelays:r,smartChunker:A,uploadistaApi:B,logger:C,smartChunking:d,metrics:K,abortController:e,onProgress:u,onChunkComplete:f,onSuccess:p,onShouldRetry:m,onRetry:e=>{a=e},onError:h}),{abort:()=>{H({platformService:F,uploadId:t,uploadIdStorageKey:n,retryTimeout:a,shouldTerminate:!0,abortController:e,uploadistaApi:B,retryDelays:r,clientStorage:D})}}}return{abort:()=>{}}},uploadWithFlow:async(e,n,{onProgress:a,onChunkComplete:o,onSuccess:s,onShouldRetry:c,onJobStart:l,onError:u}={})=>{let f=await w.openFile(e,i),p=await Q();if(d?.enabled!==!1){let n=await E.computeFingerprint(e,`${R}/${t}/api/flow`);K.startSession(n||`unknown`,f.size||0,!0)}let m=await A({source:f,flowConfig:n,uploadistaApi:B,logger:C,platformService:F,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()=>{},jobId:``};let{jobId:h,uploadFile:g,inputNodeId:_}=m,v=P.create();await $.openUploadWebSocket(g.id);let y=null;return j({jobId:h,uploadFile:g,inputNodeId:_,offset:g.offset,source:f,retryDelays:r,smartChunker:p,uploadistaApi:B,logger:C,smartChunking:d,metrics:K,platformService:F,abortController:v,onProgress:a,onChunkComplete:o,onSuccess:s,onShouldRetry:c,onRetry:e=>{y=e},onError:u}),{abort:async()=>{try{await B.cancelFlow(h),C.log(`Flow cancelled on server: ${h}`)}catch(e){C.log(`Failed to cancel flow on server: ${e}`)}v.abort(),y&&F.clearTimeout(y),$.closeWebSocket(h),$.closeUploadWebSocket(g.id)},pause:async()=>{await B.pauseFlow(h)},jobId:h}},multiInputFlowUpload:async(e,t,{onProgress:a,onChunkComplete:o,onShouldRetry:s,onJobStart:c,onError:l,onInputProgress:u,onInputComplete:f,onInputError:p}={})=>{let{job:m}=await B.runFlow(t.flowId,t.storageId||n,{}),h=m.id;C.log(`Multi-input flow started: ${h}`),c?.(h),await $.openFlowWebSocket(h);let g=new Map,_=new Map,v=[];try{let c=Object.entries(e).map(async([e,r])=>{let a=b(r);if(a===`file`){let o=r,s=await w.openFile(o,i);return{nodeId:e,uploadFile:(await M({nodeId:e,jobId:h,source:s,storageId:t.storageId||n,metadata:{},uploadistaApi:B,logger:C,platformService:F,callbacks:{onStart:({uploadId:t})=>{_.set(e,t),$.openUploadWebSocket(t)},onError:l}})).uploadFile,source:s,inputType:a}}else if(a===`url`)return await B.resumeFlow(h,e,{operation:`url`,url:r,storageId:t.storageId||n},{contentType:`application/json`}),{nodeId:e,uploadFile:null,source:null,inputType:a};else return await B.resumeFlow(h,e,r,{contentType:`application/json`}),{nodeId:e,uploadFile:null,source:null,inputType:a}}),m=await Promise.all(c),y=await Q(),x=m.filter(e=>e.inputType===`file`&&e.uploadFile&&e.source).map(async({nodeId:e,uploadFile:t,source:n})=>{let i=P.create();g.set(e,i);let c=new U({enableDetailedMetrics:d?.enabled!==!1});if(!t||!n)throw Error(`Missing uploadFile or source for node ${e}`);try{await N({nodeId:e,jobId:h,uploadFile:t,source:n,offset:t.offset,retryAttempt:0,abortController:i,retryDelays:r,smartChunker:y,uploadistaApi:B,logger:C,smartChunking:d,metrics:c,platformService:F,onRetry:e=>{v.push(e)},callbacks:{onProgress:(t,n,r)=>{a?.(t,n,r);let i=r?Math.round(n/r*100):0;u?.(e,i,n,r)},onChunkComplete:o,onShouldRetry:s}}),await ee({nodeId:e,jobId:h,uploadId:t.id,uploadistaApi:B,logger:C,callbacks:{onError:l}}),f?.(e)}catch(t){let n=t instanceof Error?t:Error(String(t));throw p?.(e,n),n}});await Promise.all(x),C.log(`All inputs uploaded for job: ${h}`)}catch(e){let t=e instanceof Error?e:Error(String(e));throw C.log(`Multi-input flow upload failed: ${t.message}`),l?.(t),t}return{abort:async()=>{try{await B.cancelFlow(h),C.log(`Flow cancelled on server: ${h}`)}catch(e){C.log(`Failed to cancel flow on server: ${e}`)}for(let e of g.values())e.abort();for(let e of v)F.clearTimeout(e);$.closeWebSocket(h);for(let e of _.values())$.closeUploadWebSocket(e)},pause:async()=>{await B.pauseFlow(h)},jobId:h}},abort:e=>H(e),getFlow:async e=>{let{status:t,flow:n}=await B.getFlow(e);return{status:t,flow:n}},runFlow:async({flowId:e,inputs:t,storageId:r})=>{let{status:i,job:a}=await B.runFlow(e,r||n,t);return{status:i,job:a}},resumeFlow:async({jobId:e,nodeId:t,newData:n,contentType:r})=>B.resumeFlow(e,t,n,{contentType:r}),pauseFlow:async e=>B.pauseFlow(e),cancelFlow:async e=>B.cancelFlow(e),findInputNode:async e=>{let{flow:t}=await B.getFlow(e),n=t.nodes.filter(e=>e.type===`input`).map(e=>({id:e.id,type:e.type,name:e.name}));return{inputNodes:n,single:n.length===1}},executeFlowWithInputs:async(e,t,r)=>{let{status:i,job:a}=await B.runFlow(e,r?.storageId||n,t);return a?.id&&r?.onJobStart&&r.onJobStart(a.id),{status:i,job:a}},getJobStatus:async e=>B.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:()=>W.getCurrentMetrics(),getNetworkCondition:()=>W.getNetworkCondition(),getChunkingInsights:()=>K.getPerformanceInsights(),exportMetrics:()=>K.exportMetrics(),getConnectionMetrics:()=>B.getConnectionMetrics(),getDetailedConnectionMetrics:()=>B.getDetailedConnectionMetrics(),warmupConnections:e=>B.warmupConnections(e),getConnectionPoolingInsights:async()=>(await Q()).getConnectionPoolingInsights(),resetMetrics:async()=>{W.reset(),(await Q()).reset(),K.reset()},validateConfiguration:e=>G(e,m,C),validateConfigurationAsync:async e=>{let t=[],n=[],r=await B.getCapabilities(e.storageId),i=G(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 Z=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 Q(e){return{findAllUploads:async()=>{let t=await e.find(`uploadista::`);return Object.values(t).map(e=>Z.parse(JSON.parse(e)))},findUploadsByFingerprint:async t=>{let n=await e.find(`uploadista::${t}`);return Object.values(n).map(e=>Z.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 $(){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)))}}}var se=class{constructor(e){this.eventSource=e,this.subscriptions=[]}subscribe(e,t){let n=n=>{this.shouldHandleEvent(n,t)&&e(n)},r=this.eventSource.subscribe(n),i={unsubscribe:r,handler:n,filter:t};return this.subscriptions.push(i),()=>{let e=this.subscriptions.indexOf(i);e!==-1&&this.subscriptions.splice(e,1),r()}}shouldHandleEvent(e,t){if(!t)return!0;if(t.eventType&&e.type!==t.eventType)return!1;if(t.uploadId!==void 0){let n=e.data?.id;if(t.uploadId===null){if(n!==void 0)return!1}else if(n!==t.uploadId)return!1}return t.customFilter?t.customFilter(e):!0}getSubscriptionCount(){return this.subscriptions.length}hasSubscriptions(){return this.subscriptions.length>0}cleanup(){for(let e of this.subscriptions)e.unsubscribe();this.subscriptions=[]}updateUploadIdFilter(e){for(let t of this.subscriptions)t.filter&&t.filter.uploadId!==void 0&&(t.filter.uploadId=e)}};const ce={status:`idle`,progress:0,bytesUploaded:0,totalBytes:null,error:null,jobId:null,flowStarted:!1,currentNodeName:null,currentNodeType:null,flowOutputs:null};var le=class{constructor(e,t,n,r){this.flowUploadFn=e,this.callbacks=t,this.options=n,this.multiInputUploadFn=r,this.abortController=null,this.inputStates=new Map,this.currentSingleInputNodeId=null,this.state={...ce}}getState(){return{...this.state}}isUploading(){return this.state.status===`uploading`||this.state.status===`processing`}isUploadingFile(){return this.state.status===`uploading`}isProcessing(){return this.state.status===`processing`}getJobId(){return this.state.jobId}updateState(e){this.state={...this.state,...e},this.callbacks.onStateChange(this.state)}handleFlowEvent(e){if(e.eventType===i.FlowStart&&!this.state.jobId){this.updateState({jobId:e.jobId,flowStarted:!0,status:`processing`});return}if(!(!this.state.jobId||e.jobId!==this.state.jobId))switch(e.eventType){case i.FlowStart:this.updateState({flowStarted:!0,status:`processing`});break;case i.NodeStart:this.updateState({status:`processing`,currentNodeName:e.nodeName,currentNodeType:e.nodeType});break;case i.NodePause:this.updateState({status:`uploading`,currentNodeName:e.nodeName});break;case i.NodeResume:this.updateState({status:`processing`,currentNodeName:e.nodeName,currentNodeType:e.nodeType});break;case i.NodeEnd:this.updateState({status:this.state.status===`uploading`?`processing`:this.state.status,currentNodeName:null,currentNodeType:null});break;case i.FlowEnd:{let t=e.outputs||null;t&&this.callbacks.onFlowComplete&&this.callbacks.onFlowComplete(t),t&&t.length>0&&this.callbacks.onSuccess&&this.callbacks.onSuccess(t),this.updateState({status:`success`,currentNodeName:null,currentNodeType:null,flowOutputs:t}),this.abortController=null;break}case i.FlowError:{let t=Error(e.error);this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.abortController=null;break}case i.NodeError:{let t=Error(e.error);this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.abortController=null;break}case i.FlowCancel:this.updateState({status:`aborted`}),this.callbacks.onAbort?.(),this.abortController=null;break}}handleUploadProgress(e,t,n){let r=n&&n>0?Math.round(t/n*100):0;if(this.updateState({bytesUploaded:t,totalBytes:n,progress:r}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`uploading`,e.progress=r,e.bytesUploaded=t,e.totalBytes=n)}this.callbacks.onProgress?.(e,t,n)}async upload(e){let t=null;e&&typeof e==`object`&&`size`in e&&typeof e.size==`number`&&(t=e.size),this.updateState({status:`uploading`,progress:0,bytesUploaded:0,totalBytes:t,error:null,jobId:null,flowStarted:!1,currentNodeName:null,currentNodeType:null,flowOutputs:null});try{let t={onJobStart:e=>{this.updateState({jobId:e}),this.options?.onJobStart?.(e)},onProgress:(e,t,n)=>{this.handleUploadProgress(e,t,n),this.options?.onProgress?.(e,t,n)},onChunkComplete:(e,t,n)=>{this.callbacks.onChunkComplete?.(e,t,n),this.options?.onChunkComplete?.(e,t,n)},onSuccess:e=>{if(this.updateState({progress:100}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`complete`,e.progress=100),this.currentSingleInputNodeId=null}},onError:e=>{if(this.updateState({status:`error`,error:e}),this.currentSingleInputNodeId){let t=this.inputStates.get(this.currentSingleInputNodeId);t&&(t.status=`error`,t.error=e),this.currentSingleInputNodeId=null}this.callbacks.onError?.(e),this.options?.onError?.(e),this.abortController=null},onAbort:()=>{if(this.updateState({status:`aborted`}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`error`,e.error=Error(`Upload aborted`)),this.currentSingleInputNodeId=null}this.callbacks.onAbort?.(),this.options?.onAbort?.(),this.abortController=null},onShouldRetry:this.options?.onShouldRetry};this.abortController=await this.flowUploadFn(e,this.options.flowConfig,t)}catch(e){let t=e instanceof Error?e:Error(String(e));if(this.updateState({status:`error`,error:t}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`error`,e.error=t),this.currentSingleInputNodeId=null}this.callbacks.onError?.(t),this.options?.onError?.(t),this.abortController=null}}abort(){this.abortController&&this.abortController.abort()}pause(){this.abortController&&this.abortController.pause()}reset(){this.abortController&&=(this.abortController.abort(),null);for(let e of this.inputStates.values())e.abortController&&e.abortController.abort();this.inputStates.clear(),this.currentSingleInputNodeId=null,this.state={...ce},this.callbacks.onStateChange(this.state)}aggregateProgress(){if(this.inputStates.size===0)return;let e=Array.from(this.inputStates.values()),t=e.reduce((e,t)=>e+t.progress,0),n=Math.round(t/e.length),r=e.reduce((e,t)=>e+(t.totalBytes||0),0),i=e.reduce((e,t)=>e+t.bytesUploaded,0);this.updateState({progress:n,bytesUploaded:i,totalBytes:r>0?r:null})}async executeFlow(e){let t=Object.entries(e);if(t.length===0)throw Error(`No inputs provided to executeFlow`);this.inputStates.clear();for(let[t,n]of Object.entries(e)){let e=b(n);this.inputStates.set(t,{nodeId:t,type:e,status:`pending`,progress:0,bytesUploaded:0,totalBytes:e===`file`&&n&&typeof n==`object`&&`size`in n&&typeof n.size==`number`?n.size:null,error:null,abortController:null})}if(t.length===1){let e=t[0];if(!e)throw Error(`No inputs provided to executeFlow`);let[n,r]=e;this.currentSingleInputNodeId=n,await this.upload(r);return}if(!this.multiInputUploadFn)throw Error(`Multi-input flows require multiInputUploadFn to be provided in FlowManager constructor. Platform packages should implement MultiInputFlowUploadFunction.`);this.updateState({status:`uploading`,progress:0,bytesUploaded:0,totalBytes:null,error:null,jobId:null,flowStarted:!1,currentNodeName:null,currentNodeType:null,flowOutputs:null});try{let t={onJobStart:e=>{this.updateState({jobId:e}),this.options?.onJobStart?.(e)},onProgress:(e,t,n)=>{this.options?.onProgress?.(e,t,n)},onSuccess:e=>{this.updateState({progress:100})},onError:e=>{this.updateState({status:`error`,error:e}),this.callbacks.onError?.(e),this.options?.onError?.(e),this.abortController=null},onAbort:()=>{this.updateState({status:`aborted`}),this.callbacks.onAbort?.(),this.options?.onAbort?.(),this.abortController=null},onShouldRetry:this.options?.onShouldRetry};this.abortController=await this.multiInputUploadFn(e,this.options.flowConfig,t,{onInputProgress:(e,t,n,r)=>{let i=this.inputStates.get(e);i&&(i.status=`uploading`,i.progress=t,i.bytesUploaded=n,i.totalBytes=r),this.aggregateProgress()},onInputComplete:e=>{let t=this.inputStates.get(e);t&&(t.status=`complete`,t.progress=100),this.aggregateProgress()},onInputError:(e,t)=>{let n=this.inputStates.get(e);n&&(n.status=`error`,n.error=t)}})}catch(e){let t=e instanceof Error?e:Error(String(e));this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.options?.onError?.(t),this.abortController=null}}getInputStates(){return this.inputStates}cleanup(){this.abortController&&=(this.abortController.abort(),null);for(let e of this.inputStates.values())e.abortController&&e.abortController.abort();this.inputStates.clear(),this.currentSingleInputNodeId=null}};const ue={status:`idle`,progress:0,bytesUploaded:0,totalBytes:null,error:null,result:null};var de=class{constructor(e,t,n){this.uploadFn=e,this.callbacks=t,this.options=n,this.abortController=null,this.lastInput=null,this.uploadId=null,this.state={...ue}}getState(){return{...this.state}}isUploading(){return this.state.status===`uploading`}canRetry(){return(this.state.status===`error`||this.state.status===`aborted`)&&this.lastInput!==null}updateState(e){this.state={...this.state,...e},this.callbacks.onStateChange(this.state)}async upload(e){let t=null;e&&typeof e==`object`&&`size`in e&&typeof e.size==`number`&&(t=e.size),this.updateState({status:`uploading`,progress:0,bytesUploaded:0,totalBytes:t,error:null,result:null}),this.lastInput=e;try{let t={...this.options,onProgress:(e,t,n)=>{this.uploadId||=e;let r=n?Math.round(t/n*100):0;this.updateState({progress:r,bytesUploaded:t,totalBytes:n}),this.callbacks.onProgress?.(e,t,n),this.options?.onProgress?.(e,t,n)},onChunkComplete:(e,t,n)=>{this.callbacks.onChunkComplete?.(e,t,n),this.options?.onChunkComplete?.(e,t,n)},onSuccess:e=>{this.updateState({status:`success`,result:e,progress:100,bytesUploaded:e.size||0,totalBytes:e.size||null}),this.callbacks.onSuccess?.(e),this.options?.onSuccess?.(e),this.abortController=null},onError:e=>{this.updateState({status:`error`,error:e}),this.callbacks.onError?.(e),this.options?.onError?.(e),this.abortController=null},onAbort:()=>{this.updateState({status:`aborted`}),this.callbacks.onAbort?.(),this.options?.onAbort?.(),this.abortController=null},onShouldRetry:this.options?.onShouldRetry};this.abortController=await this.uploadFn(e,t)}catch(e){let t=e instanceof Error?e:Error(String(e));this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.options?.onError?.(t),this.abortController=null}}abort(){this.abortController&&this.abortController.abort()}reset(){this.abortController&&=(this.abortController.abort(),null),this.state={...ue},this.lastInput=null,this.uploadId=null,this.callbacks.onStateChange(this.state)}retry(){this.canRetry()&&this.lastInput!==null&&this.upload(this.lastInput)}cleanup(){this.abortController&&=(this.abortController.abort(),null),this.uploadId=null}};export{a as ChunkBuffer,se as EventSubscriptionManager,le as FlowManager,h as NetworkMonitor,de as UploadManager,S as UploadistaError,J as UploadistaWebSocketManager,Q as createClientStorage,$ as createInMemoryStorageService,f as createLogger,q as createUploadistaApi,X as createUploadistaClient,Y as defaultConnectionPoolingConfig,Z as previousUploadSchema,B as wait};
|
|
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{EventType as r}from"@uploadista/core/flow";import i from"zod";var a=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}},o=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}},s=class{constructor(e){this.type=e}getType(){return this.type}},c=class extends s{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)}}},l=class extends s{constructor(){super(`no-auth`)}async attachCredentials(e={}){return e}clearToken(e){}clearAllTokens(){}},u=class extends s{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 d=()=>{};function f(e,t=d){return{log:n=>{e&&t(n)},warn:n=>{e&&t(n)},error:n=>{e&&t(n)}}}var p=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 m={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 h=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 g={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}},_={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 v=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;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))}}},y=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 b(t){return Object.entries(t).map(([t,n])=>`${t} ${e.encode(String(n))}`).join(`,`)}function x(e,t){return e>=t&&e<t+100}function S(e,{uploadLengthDeferred:t,uploadSize:n}){if(t)return null;if(n!=null)return n;let r=e;if(r==null)throw new y({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 C(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 w({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 v=n+g;if(!r&&h&&v!==t.size)throw new y({name:`WRONG_UPLOAD_SIZE`,message:`upload was configured with a size of ${m} bytes, but the source is done after ${v} 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 T(e,t,n,r,i){return r==null||n>=r.length||!t.isNetworkError()?!1:i?i(t,n):E(e,t)}function E(e,t){let n=t.status??0;return(!x(n,400)||n===409||n===423)&&e.isOnline()}async function D({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 y({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(!x(m,200)||!g){let e=new y({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,v=await n.getJobStatus(g);for(;v.status!==`paused`&&_<60;)await new Promise(e=>i.setTimeout(e,500)),v=await n.getJobStatus(g),_++;if(v.status!==`paused`){let e=new y({name:`FLOW_TIMEOUT`,message:`Flow did not pause after init (status: ${v.status})`});throw s.onError?.(e),e}let b=v.tasks.find(e=>e.nodeId===f)?.result;if(!b?.id){let e=new y({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: ${b.id}`),s.onStart?.({uploadId:b.id,size:e.size??null}),{jobId:g,uploadFile:b,inputNodeId:f}}async function O({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,v=c.getNextChunkSize(g).size,b=Math.min(r+v,i.size??0),x=await i.slice(r,b);if(!x||!x.value)throw new y({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 y({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/v);f.recordChunk({chunkIndex:e,size:v,duration:T,speed:v/(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 y({name:`FLOW_FINALIZE_FAILED`,message:`Failed to finalize flow upload for job ${e}`,cause:t});throw h.onError?.(n),n}return}await O({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(v){if(s!=null)if(r!=null&&_>g&&(a=0),T(p,v instanceof y?v:new y({name:`NETWORK_ERROR`,message:`Network error during flow upload`,cause:v}),a,s,h.onShouldRetry)){let _=s[a];g=r;let v=p.setTimeout(async()=>{await O({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 y({name:`UPLOAD_CHUNK_FAILED`,message:`Failed to upload chunk for job ${e} at offset ${r}`,cause:v})}}async function k(e){let{nodeId:t,jobId:n,source:r,storageId:i,metadata:a={},uploadistaApi:o,logger:s,platformService:c,callbacks:l}=e,u={originalName:r.name??`unknown`,mimeType:r.type??`application/octet-stream`,size:r.size??0,...a};s.log(`Initializing input node ${t} for job ${n}`),await o.resumeFlow(n,t,{operation:`init`,storageId:i,metadata:u},{contentType:`application/json`}),s.log(`Waiting for upload ID from node ${t}`);let d=0,f=await o.getJobStatus(n);for(;d<60;){let e=f.tasks.find(e=>e.nodeId===t);if(e?.status===`paused`&&e.result&&e.result.id){let n=e.result;return s.log(`Upload ID received for node ${t}: ${n.id}`),l?.onStart?.({uploadId:n.id,size:r.size??null}),{uploadFile:n,nodeId:t}}if(e?.status===`failed`){let e=new y({name:`FLOW_INIT_FAILED`,message:`Input node ${t} failed during initialization`});throw l?.onError?.(e),e}await new Promise(e=>c.setTimeout(e,500)),f=await o.getJobStatus(n),d++}let p=new y({name:`FLOW_TIMEOUT`,message:`Input node ${t} did not return upload ID after init`});throw l?.onError?.(p),p}async function A(e){let{nodeId:t,jobId:n,uploadFile:r,source:i,offset:a=0,abortController:o,retryDelays:s,smartChunker:c,uploadistaApi:l,logger:u,smartChunking:d,metrics:f,platformService:p,onRetry:m,callbacks:h}=e,g=e.retryAttempt??0,_=a,v=a;try{let n=i.size?i.size-a:void 0,s=c.getNextChunkSize(n).size,p=Math.min(a+s,i.size??0),m=await i.slice(a,p);if(!m||!m.value)throw new y({name:`NETWORK_ERROR`,message:`Failed to read chunk from file for node ${t}`});let _=m.value,b=Date.now(),x=await l.uploadChunk(r.id,_,{abortController:o}),S=Date.now()-b;if(!x.upload)throw new y({name:`UPLOAD_CHUNK_FAILED`,message:`Upload chunk response missing upload data for node ${t}`});if(v=x.upload.offset,h?.onProgress?.(r.id,v,i.size??0),h?.onChunkComplete?.(v-a,a,i.size??0),d?.enabled!==!1){let e=Math.floor(a/s);f.recordChunk({chunkIndex:e,size:s,duration:S,speed:s/(S/1e3),success:!0,retryCount:g,networkCondition:c.getLastDecision()?.networkCondition?.type,chunkingStrategy:c.getLastDecision()?.strategy});let t=l.getConnectionMetrics();c.updateConnectionMetrics(t)}if(v>=(i.size??0)){if(i.close(),d?.enabled!==!1){let e=f.endSession();e&&u.log(`Upload completed for node ${t}: ${e.totalSize} bytes in ${e.totalDuration}ms, avg speed: ${Math.round(e.averageSpeed/1024)}KB/s`)}return}await A({...e,offset:v,retryAttempt:0})}catch(n){if(s!=null)if(v>_&&(g=0),T(p,n instanceof y?n:new y({name:`NETWORK_ERROR`,message:`Network error during upload for node ${t}`,cause:n}),g,s,h?.onShouldRetry)){let t=s[g];_=a;let n=p.setTimeout(async()=>{await A({...e,offset:a,retryAttempt:g+1})},t);m?.(n)}else throw new y({name:`UPLOAD_CHUNK_FAILED`,message:`Failed to upload chunk for node ${t} at offset ${a}`,cause:n});else throw n}}async function j(e){let{nodeId:t,jobId:n,uploadId:r,uploadistaApi:i,logger:a,callbacks:o}=e;a.log(`Finalizing input node ${t} for job ${n}`);try{await i.resumeFlow(n,t,{operation:`finalize`,uploadId:r},{contentType:`application/json`}),a.log(`Input node ${t} finalized successfully`)}catch(e){let r=new y({name:`FLOW_FINALIZE_FAILED`,message:`Failed to finalize input node ${t} for job ${n}`,cause:e});throw o?.onError?.(r),r}}async function ee(e,t){return e.findUploadsByFingerprint(t)}function te(e){return{uploadId:e.uploadId??null,parallelUploadUrls:e.parallelUploadUrls,clientStorageKey:e.clientStorageKey}}async function M({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 N(e,t){t&&await e.removeUpload(t)}async function P({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 w({uploadId:e,source:n,offset:t,uploadLengthDeferred:r,onProgress:m.onProgress,abortController:a,smartChunker:s,uploadistaApi:c,logger:l});if(!x(h.status,200)||h.upload==null)throw new y({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 P({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),T(f,_ instanceof y?_:new y({name:`NETWORK_ERROR`,message:`Network error`,cause:_}),i,o,m.onShouldRetry)){let g=o[i];h=t;let _=f.setTimeout(async()=>{await P({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 y({name:`UPLOAD_CHUNK_FAILED`,message:`failed to upload chunk for ${e} at offset ${t}`,cause:_})}}async function F({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 y({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 v={uploadLengthDeferred:r,storageId:t,size:n.size??0,metadata:i?b(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(v);if(!x(C,200)||S==null){let e=new y({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 M({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 I({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(!x(g,200)){if(g===423){let e=new y({name:`UPLOAD_LOCKED`,message:`upload is currently locked; retry later`});throw m.onError?.(e),e}return x(g,400)&&await N(u,n),await F({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 y({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while resuming upload`});throw m.onError?.(e),e}if(await M({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 ne({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 I({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 F({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 re({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:v,abortControllerFactory:b,platformService:x,...S}){if(!e.size||e.size===0){S.onError?.(new y({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:`Parallel upload requires a known file size`}));return}let w=C(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,S.onProgress&&e>0&&S.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 F({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 y({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),S.onStart?.({uploadId:`parallel-${T.segments.map(e=>e.uploadId).join(`,`)}`,size:e.size});let a=i.map(async({segment:e,source:t})=>{try{await P({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)=>{S.onChunkComplete&&S.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 y({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`),S.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}};S.onSuccess(r)}for(let e of i)e.source.close?.();return{parallelState:T,abort:async()=>{await L(T,l,v,_,x)}}}catch(e){throw T.failed=!0,T.error=e,await L(T,l,v,_,x),S.onError?.(e),e}}async function L(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 R(e,t){return new Promise(n=>e.setTimeout(n,t))}async function z(e,t,n,r,i=0){try{if((await t.deleteUpload(e)).status===204)return;throw new y({name:`NETWORK_UNEXPECTED_RESPONSE`,message:`Unexpected response while terminating upload`})}catch(a){if(!T(n,a,i,r))throw a;return await R(n,r?.[i]??0),await z(e,t,n,r,i+1)}}async function B({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 z(e,a,o,s),t!=null))return N(c,t)}var V=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 H(e){return new t(e.getCapabilities(),t=>e.validateUploadStrategy(t))}function ie({capabilities:e,fileSize:t,chunkSize:n,parallelUploads:r,uploadLengthDeferred:i,strategyConfig:a,logger:o}){if(a?.enableCapabilityNegotiation!==!1){let i=H(new p(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 U(e,t=m,n){let r=[],i=[],a=H(new p(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 ae(e,t){let n=U(e,m,t);if(!n.valid){let e=`Upload client configuration validation failed: ${n.errors.join(`, `)}`;throw t.log(e),new y({name:`UPLOAD_SIZE_NOT_SPECIFIED`,message:e})}}const W=/^https?:\/\/.+/i;function G(e){return K(e)?`file`:typeof e==`string`&&W.test(e)?`url`:`data`}function K(e){if(typeof e!=`object`||!e)return!1;if(typeof globalThis<`u`&&(globalThis.File&&e instanceof globalThis.File||globalThis.Blob&&e instanceof globalThis.Blob))return!0;let t=e;return(`name`in t||`type`in t||`size`in t)&&(typeof t.size==`number`||t.size===void 0)}const q=(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 oe(e,t,{httpClient:n,logger:r,authManager:i,webSocketFactory:a}){let s=i?new o(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`,p=`${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=q(n.code,`UPLOAD_NOT_FOUND`),i=n.error||n.message||`Upload ${e} not found`;throw new y({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=q(n.code,`DELETE_UPLOAD_FAILED`),i=n.error||n.message||`Failed to delete upload ${e}`;throw new y({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=q(e.code,`CREATE_UPLOAD_FAILED`),r=e.error||e.message||`Failed to create upload`;throw new y({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 y({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 y?e:new y({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=q(n.code,`FLOW_NOT_FOUND`),i=n.error||n.message||`Flow ${e} not found`;throw new y({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=q(t.code,`FLOW_RUN_FAILED`),r=t.error||t.message||`Failed to run flow ${e}`;throw new y({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=q(t.code,`FLOW_RESUMED_FAILED`),r=t.error||t.message||`Failed to resume flow for job ${e}`;throw new y({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=q(n.code,`FLOW_PAUSE_FAILED`),i=n.error||n.message||`Failed to pause flow for job ${e}`;throw new y({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=q(n.code,`FLOW_CANCEL_FAILED`),i=n.error||n.message||`Failed to cancel flow for job ${e}`;throw new y({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=q(n.code,`JOB_NOT_FOUND`),i=n.error||n.message||`Job ${e} not found`;throw new y({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=a.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=`${p}/${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=a.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}`),m)}catch(e){return r?.log(`Failed to fetch server capabilities, using defaults: ${e}`),m}}}}var se=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 J={maxConnectionsPerHost:8,connectionTimeout:2e4,keepAliveTimeout:9e4,enableHttp2:!0,retryOnConnectionError:!0};function Y({baseUrl:e,uploadistaBasePath:t=`uploadista`,storageId:n,retryDelays:r=[1e3,3e3,5e3],chunkSize:i,parallelUploads:a=1,parallelChunkSize:o,uploadStrategy:s,smartChunking:d,networkMonitoring:p,uploadMetrics:g,checksumService:_,onEvent:y,generateId:b,httpClient:x,logger:C=f(!0),fileReader:w,fingerprintService:T,clientStorage:E,storeFingerprintForResuming:M=!0,webSocketFactory:N,abortControllerFactory:F,platformService:I,auth:L}){let R=e.replace(/\/$/,``),H=L?L.mode===`direct`?new c(L,I,C):new u(L,x):new l;L&&C.log(`Authentication enabled in ${L.mode} mode${L.mode===`uploadista-cloud`?` (server: ${L.authServerUrl})`:``}`);let W=oe(R,t,{logger:C,httpClient:x,authManager:H,webSocketFactory:N}),K=new h(p),q=new V(g),J=null,Y=async()=>J||(J=await W.getCapabilities(n),J),X,Z=async()=>{if(X)return X;let e=await Y(),t=e.minChunkSize&&e.maxChunkSize&&e.optimalChunkSize?{minChunkSize:e.minChunkSize,maxChunkSize:e.maxChunkSize,optimalChunkSize:e.optimalChunkSize,requiresOrderedChunks:e.requiresOrderedChunks}:void 0;return X=new v(K,{enabled:!0,...d,fallbackChunkSize:i,datastoreConstraints:t}),C.log(`Smart chunker initialized with datastore constraints: ${JSON.stringify(t)}`),X},Q=new se(W,C,y);return ae({baseUrl:R,storageId:n,chunkSize:i,parallelUploads:a,parallelChunkSize:o,uploadStrategy:s},C),{upload:async(e,{uploadLengthDeferred:c=!1,uploadSize:l,onProgress:u,onChunkComplete:f,onSuccess:p,onShouldRetry:m,onError:h}={})=>{let g=null,v=null,y=await T.computeFingerprint(e,`${R}/${t}/api/upload`);if(C.log(`fingerprint: ${y}`),!y)throw Error(`unable calculate fingerprint for this input file`);let x=await ee(E,y);if(x.length>0&&x[0]!=null){let e=te(x[0]);v=e.clientStorageKey,g=e.uploadId}let D=await w.openFile(e,i),O=S(D.size,{uploadLengthDeferred:c,uploadSize:l});D.size=O;let k=await Z();d?.enabled!==!1&&q.startSession(y,O||0,!0);let A=ie({capabilities:await Y(),fileSize:O,chunkSize:i,parallelUploads:a,uploadLengthDeferred:c,strategyConfig:s,logger:C});if(A.strategy===`parallel`){C.log(`Using parallel upload with ${A.parallelUploads} streams`);let e=await re({checksumService:_,source:D,storageId:n,fingerprint:y,uploadLengthDeferred:c,parallelUploads:A.parallelUploads,parallelChunkSize:o,retryDelays:r,smartChunker:k,uploadistaApi:W,logger:C,smartChunking:d,metrics:q,clientStorage:E,generateId:b,storeFingerprintForResuming:M,abortControllerFactory:F,platformService:I,openWebSocket:e=>(Q.openUploadWebSocket(e),null),closeWebSocket:e=>Q.closeUploadWebSocket(e),terminate:e=>z(e,W,I,r),onProgress:u,onChunkComplete:f,onSuccess:p,onError:h});if(e)return{abort:async()=>{await e.abort()}};C.log(`Parallel upload failed, falling back to single upload`)}let j=await ne({source:D,storageId:n,uploadId:g,platformService:I,uploadIdStorageKey:v,checksumService:_,fingerprint:y,uploadLengthDeferred:c,uploadistaApi:W,logger:C,clientStorage:E,generateId:b,storeFingerprintForResuming:M,openWebSocket:e=>(Q.openUploadWebSocket(e),null),closeWebSocket:e=>Q.closeUploadWebSocket(e),onProgress:u,onChunkComplete:f,onSuccess:p,onError:h});if(j){let e=F.create(),{uploadId:t,uploadIdStorageKey:n,offset:i}=j,a=null;return P({platformService:I,uploadId:t,offset:i,source:D,uploadLengthDeferred:c,retryDelays:r,smartChunker:k,uploadistaApi:W,logger:C,smartChunking:d,metrics:q,abortController:e,onProgress:u,onChunkComplete:f,onSuccess:p,onShouldRetry:m,onRetry:e=>{a=e},onError:h}),{abort:()=>{B({platformService:I,uploadId:t,uploadIdStorageKey:n,retryTimeout:a,shouldTerminate:!0,abortController:e,uploadistaApi:W,retryDelays:r,clientStorage:E})}}}return{abort:()=>{}}},uploadWithFlow:async(e,n,{onProgress:a,onChunkComplete:o,onSuccess:s,onShouldRetry:c,onJobStart:l,onError:u}={})=>{let f=await w.openFile(e,i),p=await Z();if(d?.enabled!==!1){let n=await T.computeFingerprint(e,`${R}/${t}/api/flow`);q.startSession(n||`unknown`,f.size||0,!0)}let m=await D({source:f,flowConfig:n,uploadistaApi:W,logger:C,platformService:I,openWebSocket:e=>Q.openFlowWebSocket(e),closeWebSocket:e=>Q.closeWebSocket(e),onProgress:a,onChunkComplete:o,onSuccess:s,onJobStart:l,onError:u});if(!m)return{abort:async()=>{},pause:async()=>{},jobId:``};let{jobId:h,uploadFile:g,inputNodeId:_}=m,v=F.create();await Q.openUploadWebSocket(g.id);let y=null;return O({jobId:h,uploadFile:g,inputNodeId:_,offset:g.offset,source:f,retryDelays:r,smartChunker:p,uploadistaApi:W,logger:C,smartChunking:d,metrics:q,platformService:I,abortController:v,onProgress:a,onChunkComplete:o,onSuccess:s,onShouldRetry:c,onRetry:e=>{y=e},onError:u}),{abort:async()=>{try{await W.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),Q.closeWebSocket(h),Q.closeUploadWebSocket(g.id)},pause:async()=>{await W.pauseFlow(h)},jobId:h}},multiInputFlowUpload:async(e,t,{onProgress:a,onChunkComplete:o,onShouldRetry:s,onJobStart:c,onError:l,onInputProgress:u,onInputComplete:f,onInputError:p}={})=>{let{job:m}=await W.runFlow(t.flowId,t.storageId||n,{}),h=m.id;C.log(`Multi-input flow started: ${h}`),c?.(h),await Q.openFlowWebSocket(h);let g=new Map,_=new Map,v=[];try{let c=Object.entries(e).map(async([e,r])=>{let a=G(r);if(a===`file`){let o=r,s=await w.openFile(o,i);return{nodeId:e,uploadFile:(await k({nodeId:e,jobId:h,source:s,storageId:t.storageId||n,metadata:{},uploadistaApi:W,logger:C,platformService:I,callbacks:{onStart:({uploadId:t})=>{_.set(e,t),Q.openUploadWebSocket(t)},onError:l}})).uploadFile,source:s,inputType:a}}else if(a===`url`)return await W.resumeFlow(h,e,{operation:`url`,url:r,storageId:t.storageId||n},{contentType:`application/json`}),{nodeId:e,uploadFile:null,source:null,inputType:a};else return await W.resumeFlow(h,e,r,{contentType:`application/json`}),{nodeId:e,uploadFile:null,source:null,inputType:a}}),m=await Promise.all(c),y=await Z(),b=m.filter(e=>e.inputType===`file`&&e.uploadFile&&e.source).map(async({nodeId:e,uploadFile:t,source:n})=>{let i=F.create();g.set(e,i);let c=new V({enableDetailedMetrics:d?.enabled!==!1});if(!t||!n)throw Error(`Missing uploadFile or source for node ${e}`);try{await A({nodeId:e,jobId:h,uploadFile:t,source:n,offset:t.offset,retryAttempt:0,abortController:i,retryDelays:r,smartChunker:y,uploadistaApi:W,logger:C,smartChunking:d,metrics:c,platformService:I,onRetry:e=>{v.push(e)},callbacks:{onProgress:(t,n,r)=>{a?.(t,n,r);let i=r?Math.round(n/r*100):0;u?.(e,i,n,r)},onChunkComplete:o,onShouldRetry:s}}),await j({nodeId:e,jobId:h,uploadId:t.id,uploadistaApi:W,logger:C,callbacks:{onError:l}}),f?.(e)}catch(t){let n=t instanceof Error?t:Error(String(t));throw p?.(e,n),n}});await Promise.all(b),C.log(`All inputs uploaded for job: ${h}`)}catch(e){let t=e instanceof Error?e:Error(String(e));throw C.log(`Multi-input flow upload failed: ${t.message}`),l?.(t),t}return{abort:async()=>{try{await W.cancelFlow(h),C.log(`Flow cancelled on server: ${h}`)}catch(e){C.log(`Failed to cancel flow on server: ${e}`)}for(let e of g.values())e.abort();for(let e of v)I.clearTimeout(e);Q.closeWebSocket(h);for(let e of _.values())Q.closeUploadWebSocket(e)},pause:async()=>{await W.pauseFlow(h)},jobId:h}},abort:e=>B(e),getFlow:async e=>{let{status:t,flow:n}=await W.getFlow(e);return{status:t,flow:n}},runFlow:async({flowId:e,inputs:t,storageId:r})=>{let{status:i,job:a}=await W.runFlow(e,r||n,t);return{status:i,job:a}},resumeFlow:async({jobId:e,nodeId:t,newData:n,contentType:r})=>W.resumeFlow(e,t,n,{contentType:r}),pauseFlow:async e=>W.pauseFlow(e),cancelFlow:async e=>W.cancelFlow(e),findInputNode:async e=>{let{flow:t}=await W.getFlow(e),n=t.nodes.filter(e=>e.type===`input`).map(e=>({id:e.id,type:e.type,name:e.name}));return{inputNodes:n,single:n.length===1}},executeFlowWithInputs:async(e,t,r)=>{let{status:i,job:a}=await W.runFlow(e,r?.storageId||n,t);return a?.id&&r?.onJobStart&&r.onJobStart(a.id),{status:i,job:a}},getJobStatus:async e=>W.getJobStatus(e),openUploadWebSocket:e=>Q.openUploadWebSocket(e),openFlowWebSocket:e=>Q.openFlowWebSocket(e),openWebSocket:e=>Q.openWebSocket(e),closeWebSocket:e=>Q.closeWebSocket(e),closeAllWebSockets:()=>Q.closeAll(),sendPing:e=>Q.sendPing(e),isWebSocketConnected:e=>Q.isConnected(e),getWebSocketConnectionCount:()=>Q.getConnectionCount(),getWebSocketConnectionCountByType:()=>Q.getConnectionCountByType(),getNetworkMetrics:()=>K.getCurrentMetrics(),getNetworkCondition:()=>K.getNetworkCondition(),getChunkingInsights:()=>q.getPerformanceInsights(),exportMetrics:()=>q.exportMetrics(),getConnectionMetrics:()=>W.getConnectionMetrics(),getDetailedConnectionMetrics:()=>W.getDetailedConnectionMetrics(),warmupConnections:e=>W.warmupConnections(e),getConnectionPoolingInsights:async()=>(await Z()).getConnectionPoolingInsights(),resetMetrics:async()=>{K.reset(),(await Z()).reset(),q.reset()},validateConfiguration:e=>U(e,m,C),validateConfigurationAsync:async e=>{let t=[],n=[],r=await W.getCapabilities(e.storageId),i=U(e,r,C);return t.push(...i.errors),n.push(...i.warnings),{valid:t.length===0,errors:t,warnings:n,capabilities:r}},getCapabilities:Y}}var X=class{constructor(e){this.eventSource=e,this.subscriptions=[]}subscribe(e,t){let n=n=>{this.shouldHandleEvent(n,t)&&e(n)},r=this.eventSource.subscribe(n),i={unsubscribe:r,handler:n,filter:t};return this.subscriptions.push(i),()=>{let e=this.subscriptions.indexOf(i);e!==-1&&this.subscriptions.splice(e,1),r()}}shouldHandleEvent(e,t){if(!t)return!0;if(t.eventType&&e.type!==t.eventType)return!1;if(t.uploadId!==void 0){let n=e.data?.id;if(t.uploadId===null){if(n!==void 0)return!1}else if(n!==t.uploadId)return!1}return t.customFilter?t.customFilter(e):!0}getSubscriptionCount(){return this.subscriptions.length}hasSubscriptions(){return this.subscriptions.length>0}cleanup(){for(let e of this.subscriptions)e.unsubscribe();this.subscriptions=[]}updateUploadIdFilter(e){for(let t of this.subscriptions)t.filter&&t.filter.uploadId!==void 0&&(t.filter.uploadId=e)}};const Z={status:`idle`,progress:0,bytesUploaded:0,totalBytes:null,error:null,jobId:null,flowStarted:!1,currentNodeName:null,currentNodeType:null,flowOutputs:null};var Q=class{constructor(e,t,n,r){this.flowUploadFn=e,this.callbacks=t,this.options=n,this.multiInputUploadFn=r,this.abortController=null,this.inputStates=new Map,this.currentSingleInputNodeId=null,this.state={...Z}}getState(){return{...this.state}}isUploading(){return this.state.status===`uploading`||this.state.status===`processing`}isUploadingFile(){return this.state.status===`uploading`}isProcessing(){return this.state.status===`processing`}getJobId(){return this.state.jobId}updateState(e){this.state={...this.state,...e},this.callbacks.onStateChange(this.state)}handleFlowEvent(e){if(e.eventType===r.FlowStart&&!this.state.jobId){this.updateState({jobId:e.jobId,flowStarted:!0,status:`processing`});return}if(!(!this.state.jobId||e.jobId!==this.state.jobId))switch(e.eventType){case r.FlowStart:this.updateState({flowStarted:!0,status:`processing`});break;case r.NodeStart:this.updateState({status:`processing`,currentNodeName:e.nodeName,currentNodeType:e.nodeType});break;case r.NodePause:this.updateState({status:`uploading`,currentNodeName:e.nodeName});break;case r.NodeResume:this.updateState({status:`processing`,currentNodeName:e.nodeName,currentNodeType:e.nodeType});break;case r.NodeEnd:this.updateState({status:this.state.status===`uploading`?`processing`:this.state.status,currentNodeName:null,currentNodeType:null});break;case r.FlowEnd:{let t=e.outputs||null;t&&this.callbacks.onFlowComplete&&this.callbacks.onFlowComplete(t),t&&t.length>0&&this.callbacks.onSuccess&&this.callbacks.onSuccess(t),this.updateState({status:`success`,currentNodeName:null,currentNodeType:null,flowOutputs:t}),this.abortController=null;break}case r.FlowError:{let t=Error(e.error);this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.abortController=null;break}case r.NodeError:{let t=Error(e.error);this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.abortController=null;break}case r.FlowCancel:this.updateState({status:`aborted`}),this.callbacks.onAbort?.(),this.abortController=null;break}}handleUploadProgress(e,t,n){let r=n&&n>0?Math.round(t/n*100):0;if(this.updateState({bytesUploaded:t,totalBytes:n,progress:r}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`uploading`,e.progress=r,e.bytesUploaded=t,e.totalBytes=n)}this.callbacks.onProgress?.(e,t,n)}async upload(e){let t=null;e&&typeof e==`object`&&`size`in e&&typeof e.size==`number`&&(t=e.size),this.updateState({status:`uploading`,progress:0,bytesUploaded:0,totalBytes:t,error:null,jobId:null,flowStarted:!1,currentNodeName:null,currentNodeType:null,flowOutputs:null});try{let t={onJobStart:e=>{this.updateState({jobId:e}),this.options?.onJobStart?.(e)},onProgress:(e,t,n)=>{this.handleUploadProgress(e,t,n),this.options?.onProgress?.(e,t,n)},onChunkComplete:(e,t,n)=>{this.callbacks.onChunkComplete?.(e,t,n),this.options?.onChunkComplete?.(e,t,n)},onSuccess:e=>{if(this.updateState({progress:100}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`complete`,e.progress=100),this.currentSingleInputNodeId=null}},onError:e=>{if(this.updateState({status:`error`,error:e}),this.currentSingleInputNodeId){let t=this.inputStates.get(this.currentSingleInputNodeId);t&&(t.status=`error`,t.error=e),this.currentSingleInputNodeId=null}this.callbacks.onError?.(e),this.options?.onError?.(e),this.abortController=null},onAbort:()=>{if(this.updateState({status:`aborted`}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`error`,e.error=Error(`Upload aborted`)),this.currentSingleInputNodeId=null}this.callbacks.onAbort?.(),this.options?.onAbort?.(),this.abortController=null},onShouldRetry:this.options?.onShouldRetry};this.abortController=await this.flowUploadFn(e,this.options.flowConfig,t)}catch(e){let t=e instanceof Error?e:Error(String(e));if(this.updateState({status:`error`,error:t}),this.currentSingleInputNodeId){let e=this.inputStates.get(this.currentSingleInputNodeId);e&&(e.status=`error`,e.error=t),this.currentSingleInputNodeId=null}this.callbacks.onError?.(t),this.options?.onError?.(t),this.abortController=null}}abort(){this.abortController&&this.abortController.abort()}pause(){this.abortController&&this.abortController.pause()}reset(){this.abortController&&=(this.abortController.abort(),null);for(let e of this.inputStates.values())e.abortController&&e.abortController.abort();this.inputStates.clear(),this.currentSingleInputNodeId=null,this.state={...Z},this.callbacks.onStateChange(this.state)}aggregateProgress(){if(this.inputStates.size===0)return;let e=Array.from(this.inputStates.values()),t=e.reduce((e,t)=>e+t.progress,0),n=Math.round(t/e.length),r=e.reduce((e,t)=>e+(t.totalBytes||0),0),i=e.reduce((e,t)=>e+t.bytesUploaded,0);this.updateState({progress:n,bytesUploaded:i,totalBytes:r>0?r:null})}async executeFlow(e){let t=Object.entries(e);if(t.length===0)throw Error(`No inputs provided to executeFlow`);this.inputStates.clear();for(let[t,n]of Object.entries(e)){let e=G(n);this.inputStates.set(t,{nodeId:t,type:e,status:`pending`,progress:0,bytesUploaded:0,totalBytes:e===`file`&&n&&typeof n==`object`&&`size`in n&&typeof n.size==`number`?n.size:null,error:null,abortController:null})}if(t.length===1){let e=t[0];if(!e)throw Error(`No inputs provided to executeFlow`);let[n,r]=e;this.currentSingleInputNodeId=n,await this.upload(r);return}if(!this.multiInputUploadFn)throw Error(`Multi-input flows require multiInputUploadFn to be provided in FlowManager constructor. Platform packages should implement MultiInputFlowUploadFunction.`);this.updateState({status:`uploading`,progress:0,bytesUploaded:0,totalBytes:null,error:null,jobId:null,flowStarted:!1,currentNodeName:null,currentNodeType:null,flowOutputs:null});try{let t={onJobStart:e=>{this.updateState({jobId:e}),this.options?.onJobStart?.(e)},onProgress:(e,t,n)=>{this.options?.onProgress?.(e,t,n)},onSuccess:e=>{this.updateState({progress:100})},onError:e=>{this.updateState({status:`error`,error:e}),this.callbacks.onError?.(e),this.options?.onError?.(e),this.abortController=null},onAbort:()=>{this.updateState({status:`aborted`}),this.callbacks.onAbort?.(),this.options?.onAbort?.(),this.abortController=null},onShouldRetry:this.options?.onShouldRetry};this.abortController=await this.multiInputUploadFn(e,this.options.flowConfig,t,{onInputProgress:(e,t,n,r)=>{let i=this.inputStates.get(e);i&&(i.status=`uploading`,i.progress=t,i.bytesUploaded=n,i.totalBytes=r),this.aggregateProgress()},onInputComplete:e=>{let t=this.inputStates.get(e);t&&(t.status=`complete`,t.progress=100),this.aggregateProgress()},onInputError:(e,t)=>{let n=this.inputStates.get(e);n&&(n.status=`error`,n.error=t)}})}catch(e){let t=e instanceof Error?e:Error(String(e));this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.options?.onError?.(t),this.abortController=null}}getInputStates(){return this.inputStates}cleanup(){this.abortController&&=(this.abortController.abort(),null);for(let e of this.inputStates.values())e.abortController&&e.abortController.abort();this.inputStates.clear(),this.currentSingleInputNodeId=null}};const ce={status:`idle`,progress:0,bytesUploaded:0,totalBytes:null,error:null,result:null};var le=class{constructor(e,t,n){this.uploadFn=e,this.callbacks=t,this.options=n,this.abortController=null,this.lastInput=null,this.uploadId=null,this.state={...ce}}getState(){return{...this.state}}isUploading(){return this.state.status===`uploading`}canRetry(){return(this.state.status===`error`||this.state.status===`aborted`)&&this.lastInput!==null}updateState(e){this.state={...this.state,...e},this.callbacks.onStateChange(this.state)}async upload(e){let t=null;e&&typeof e==`object`&&`size`in e&&typeof e.size==`number`&&(t=e.size),this.updateState({status:`uploading`,progress:0,bytesUploaded:0,totalBytes:t,error:null,result:null}),this.lastInput=e;try{let t={...this.options,onProgress:(e,t,n)=>{this.uploadId||=e;let r=n?Math.round(t/n*100):0;this.updateState({progress:r,bytesUploaded:t,totalBytes:n}),this.callbacks.onProgress?.(e,t,n),this.options?.onProgress?.(e,t,n)},onChunkComplete:(e,t,n)=>{this.callbacks.onChunkComplete?.(e,t,n),this.options?.onChunkComplete?.(e,t,n)},onSuccess:e=>{this.updateState({status:`success`,result:e,progress:100,bytesUploaded:e.size||0,totalBytes:e.size||null}),this.callbacks.onSuccess?.(e),this.options?.onSuccess?.(e),this.abortController=null},onError:e=>{this.updateState({status:`error`,error:e}),this.callbacks.onError?.(e),this.options?.onError?.(e),this.abortController=null},onAbort:()=>{this.updateState({status:`aborted`}),this.callbacks.onAbort?.(),this.options?.onAbort?.(),this.abortController=null},onShouldRetry:this.options?.onShouldRetry};this.abortController=await this.uploadFn(e,t)}catch(e){let t=e instanceof Error?e:Error(String(e));this.updateState({status:`error`,error:t}),this.callbacks.onError?.(t),this.options?.onError?.(t),this.abortController=null}}abort(){this.abortController&&this.abortController.abort()}reset(){this.abortController&&=(this.abortController.abort(),null),this.state={...ce},this.lastInput=null,this.uploadId=null,this.callbacks.onStateChange(this.state)}retry(){this.canRetry()&&this.lastInput!==null&&this.upload(this.lastInput)}cleanup(){this.abortController&&=(this.abortController.abort(),null),this.uploadId=null}};const $=i.object({size:i.number().nullable(),metadata:i.record(i.string(),i.union([i.string(),i.number(),i.boolean()])),creationTime:i.string(),uploadId:i.string().optional(),parallelUploadUrls:i.array(i.string()).optional(),clientStorageKey:i.string()});function ue(e){return{findAllUploads:async()=>{let t=await e.find(`uploadista::`);return Object.values(t).map(e=>$.parse(JSON.parse(e)))},findUploadsByFingerprint:async t=>{let n=await e.find(`uploadista::${t}`);return Object.values(n).map(e=>$.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 de(){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{a as ChunkBuffer,X as EventSubscriptionManager,Q as FlowManager,h as NetworkMonitor,le as UploadManager,y as UploadistaError,se as UploadistaWebSocketManager,ue as createClientStorage,de as createInMemoryStorageService,f as createLogger,oe as createUploadistaApi,Y as createUploadistaClient,J as defaultConnectionPoolingConfig,$ as previousUploadSchema,R as wait};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|